Repository: TREX-CoE/trexio (language: python)

Issue:
Write numerical attributes that are not positive or float
So far, numerical attributes have been treated as dimensioning variables and thus could not be negative or float.

This is consistent with the current `trex.json` configuration but may change in the future. So additional flexibility has to be added to the API.


Discussion / hints:

Fix patch:
diff --git a/docs/tutorial_benzene.html b/docs/tutorial_benzene.html
index 7a31a891..19140817 100644
--- a/docs/tutorial_benzene.html
+++ b/docs/tutorial_benzene.html
@@ -1,159 +1,15101 @@
-<h1 id="trexio-tutorial">TREXIO Tutorial</h1>
-<p>This interactive Tutorial covers some basic use cases of the TREXIO library based on the Python API. At this point, it is assumed that the TREXIO Python package has been sucessfully installed on the user machine or in the virtual environment. If this is not the case, feel free to follow the <a href="https://github.com/TREX-CoE/trexio/blob/master/python/README.md">installation guide</a>.</p>
-<h2 id="importing-trexio">Importing TREXIO</h2>
-<p>First of all, let’s import the TREXIO package.</p>
-<div class="sourceCode" id="cb1"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb1-1" title="1"><span class="cf">try</span>:</a>
-<a class="sourceLine" id="cb1-2" title="2">    <span class="im">import</span> trexio</a>
-<a class="sourceLine" id="cb1-3" title="3"><span class="cf">except</span> <span class="pp">ImportError</span>:</a>
-<a class="sourceLine" id="cb1-4" title="4">    <span class="cf">raise</span> <span class="pp">Exception</span>(<span class="st">&quot;Unable to import trexio. Please check that trexio is properly instaled.&quot;</span>)</a></code></pre></div>
-<p>If no error occurs, then it means that the TREXIO package has been sucessfully imported. Within the current import, TREXIO attributes can be accessed using the corresponding <code>trexio.attribute</code> notation. If you prefer to bound a shorter name to the imported module (as commonly done by the NumPy users with <code>import numpy as np</code>), this is also possible. To do so, replace <code>import trexio</code> with <code>import trexio as tr</code> for example. To learn more about importing modules, see the corresponding page of the <a href="https://docs.python.org/3/tutorial/modules.html#more-on-modules">Python documentation</a>.</p>
-<h2 id="creating-a-new-trexio-file">Creating a new TREXIO file</h2>
+<!DOCTYPE html>
+<html>
+<head><meta charset="utf-8" />
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+<title>tutorial_benzene</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
+
+
+
+
+<style type="text/css">
+    pre { line-height: 125%; }
+td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+.highlight .hll { background-color: var(--jp-cell-editor-active-background) }
+.highlight { background: var(--jp-cell-editor-background); color: var(--jp-mirror-editor-variable-color) }
+.highlight .c { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment */
+.highlight .err { color: var(--jp-mirror-editor-error-color) } /* Error */
+.highlight .k { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword */
+.highlight .o { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator */
+.highlight .p { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation */
+.highlight .ch { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Hashbang */
+.highlight .cm { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Preproc */
+.highlight .cpf { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.PreprocFile */
+.highlight .c1 { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Single */
+.highlight .cs { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Special */
+.highlight .kc { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Type */
+.highlight .m { color: var(--jp-mirror-editor-number-color) } /* Literal.Number */
+.highlight .s { color: var(--jp-mirror-editor-string-color) } /* Literal.String */
+.highlight .ow { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator.Word */
+.highlight .w { color: var(--jp-mirror-editor-variable-color) } /* Text.Whitespace */
+.highlight .mb { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Bin */
+.highlight .mf { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Float */
+.highlight .mh { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Hex */
+.highlight .mi { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer */
+.highlight .mo { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Oct */
+.highlight .sa { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Affix */
+.highlight .sb { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Backtick */
+.highlight .sc { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Char */
+.highlight .dl { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Delimiter */
+.highlight .sd { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Doc */
+.highlight .s2 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Double */
+.highlight .se { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Escape */
+.highlight .sh { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Heredoc */
+.highlight .si { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Interpol */
+.highlight .sx { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Other */
+.highlight .sr { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Regex */
+.highlight .s1 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Single */
+.highlight .ss { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Symbol */
+.highlight .il { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer.Long */
+  </style>
+
+
+
+<style type="text/css">
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*
+ * Mozilla scrollbar styling
+ */
+
+/* use standard opaque scrollbars for most nodes */
+[data-jp-theme-scrollbars='true'] {
+  scrollbar-color: rgb(var(--jp-scrollbar-thumb-color))
+    var(--jp-scrollbar-background-color);
+}
+
+/* for code nodes, use a transparent style of scrollbar. These selectors
+ * will match lower in the tree, and so will override the above */
+[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar,
+[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar {
+  scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
+}
+
+/* tiny scrollbar */
+
+.jp-scrollbar-tiny {
+  scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
+  scrollbar-width: thin;
+}
+
+/*
+ * Webkit scrollbar styling
+ */
+
+/* use standard opaque scrollbars for most nodes */
+
+[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar,
+[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-corner {
+  background: var(--jp-scrollbar-background-color);
+}
+
+[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-thumb {
+  background: rgb(var(--jp-scrollbar-thumb-color));
+  border: var(--jp-scrollbar-thumb-margin) solid transparent;
+  background-clip: content-box;
+  border-radius: var(--jp-scrollbar-thumb-radius);
+}
+
+[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-track:horizontal {
+  border-left: var(--jp-scrollbar-endpad) solid
+    var(--jp-scrollbar-background-color);
+  border-right: var(--jp-scrollbar-endpad) solid
+    var(--jp-scrollbar-background-color);
+}
+
+[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-track:vertical {
+  border-top: var(--jp-scrollbar-endpad) solid
+    var(--jp-scrollbar-background-color);
+  border-bottom: var(--jp-scrollbar-endpad) solid
+    var(--jp-scrollbar-background-color);
+}
+
+/* for code nodes, use a transparent style of scrollbar */
+
+[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar::-webkit-scrollbar,
+[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar::-webkit-scrollbar,
+[data-jp-theme-scrollbars='true']
+  .CodeMirror-hscrollbar::-webkit-scrollbar-corner,
+[data-jp-theme-scrollbars='true']
+  .CodeMirror-vscrollbar::-webkit-scrollbar-corner {
+  background-color: transparent;
+}
+
+[data-jp-theme-scrollbars='true']
+  .CodeMirror-hscrollbar::-webkit-scrollbar-thumb,
+[data-jp-theme-scrollbars='true']
+  .CodeMirror-vscrollbar::-webkit-scrollbar-thumb {
+  background: rgba(var(--jp-scrollbar-thumb-color), 0.5);
+  border: var(--jp-scrollbar-thumb-margin) solid transparent;
+  background-clip: content-box;
+  border-radius: var(--jp-scrollbar-thumb-radius);
+}
+
+[data-jp-theme-scrollbars='true']
+  .CodeMirror-hscrollbar::-webkit-scrollbar-track:horizontal {
+  border-left: var(--jp-scrollbar-endpad) solid transparent;
+  border-right: var(--jp-scrollbar-endpad) solid transparent;
+}
+
+[data-jp-theme-scrollbars='true']
+  .CodeMirror-vscrollbar::-webkit-scrollbar-track:vertical {
+  border-top: var(--jp-scrollbar-endpad) solid transparent;
+  border-bottom: var(--jp-scrollbar-endpad) solid transparent;
+}
+
+/* tiny scrollbar */
+
+.jp-scrollbar-tiny::-webkit-scrollbar,
+.jp-scrollbar-tiny::-webkit-scrollbar-corner {
+  background-color: transparent;
+  height: 4px;
+  width: 4px;
+}
+
+.jp-scrollbar-tiny::-webkit-scrollbar-thumb {
+  background: rgba(var(--jp-scrollbar-thumb-color), 0.5);
+}
+
+.jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal {
+  border-left: 0px solid transparent;
+  border-right: 0px solid transparent;
+}
+
+.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical {
+  border-top: 0px solid transparent;
+  border-bottom: 0px solid transparent;
+}
+
+/*
+ * Phosphor
+ */
+
+.lm-ScrollBar[data-orientation='horizontal'] {
+  min-height: 16px;
+  max-height: 16px;
+  min-width: 45px;
+  border-top: 1px solid #a0a0a0;
+}
+
+.lm-ScrollBar[data-orientation='vertical'] {
+  min-width: 16px;
+  max-width: 16px;
+  min-height: 45px;
+  border-left: 1px solid #a0a0a0;
+}
+
+.lm-ScrollBar-button {
+  background-color: #f0f0f0;
+  background-position: center center;
+  min-height: 15px;
+  max-height: 15px;
+  min-width: 15px;
+  max-width: 15px;
+}
+
+.lm-ScrollBar-button:hover {
+  background-color: #dadada;
+}
+
+.lm-ScrollBar-button.lm-mod-active {
+  background-color: #cdcdcd;
+}
+
+.lm-ScrollBar-track {
+  background: #f0f0f0;
+}
+
+.lm-ScrollBar-thumb {
+  background: #cdcdcd;
+}
+
+.lm-ScrollBar-thumb:hover {
+  background: #bababa;
+}
+
+.lm-ScrollBar-thumb.lm-mod-active {
+  background: #a0a0a0;
+}
+
+.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb {
+  height: 100%;
+  min-width: 15px;
+  border-left: 1px solid #a0a0a0;
+  border-right: 1px solid #a0a0a0;
+}
+
+.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb {
+  width: 100%;
+  min-height: 15px;
+  border-top: 1px solid #a0a0a0;
+  border-bottom: 1px solid #a0a0a0;
+}
+
+.lm-ScrollBar[data-orientation='horizontal']
+  .lm-ScrollBar-button[data-action='decrement'] {
+  background-image: var(--jp-icon-caret-left);
+  background-size: 17px;
+}
+
+.lm-ScrollBar[data-orientation='horizontal']
+  .lm-ScrollBar-button[data-action='increment'] {
+  background-image: var(--jp-icon-caret-right);
+  background-size: 17px;
+}
+
+.lm-ScrollBar[data-orientation='vertical']
+  .lm-ScrollBar-button[data-action='decrement'] {
+  background-image: var(--jp-icon-caret-up);
+  background-size: 17px;
+}
+
+.lm-ScrollBar[data-orientation='vertical']
+  .lm-ScrollBar-button[data-action='increment'] {
+  background-image: var(--jp-icon-caret-down);
+  background-size: 17px;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-Widget, /* </DEPRECATED> */
+.lm-Widget {
+  box-sizing: border-box;
+  position: relative;
+  overflow: hidden;
+  cursor: default;
+}
+
+
+/* <DEPRECATED> */ .p-Widget.p-mod-hidden, /* </DEPRECATED> */
+.lm-Widget.lm-mod-hidden {
+  display: none !important;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-CommandPalette, /* </DEPRECATED> */
+.lm-CommandPalette {
+  display: flex;
+  flex-direction: column;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+
+/* <DEPRECATED> */ .p-CommandPalette-search, /* </DEPRECATED> */
+.lm-CommandPalette-search {
+  flex: 0 0 auto;
+}
+
+
+/* <DEPRECATED> */ .p-CommandPalette-content, /* </DEPRECATED> */
+.lm-CommandPalette-content {
+  flex: 1 1 auto;
+  margin: 0;
+  padding: 0;
+  min-height: 0;
+  overflow: auto;
+  list-style-type: none;
+}
+
+
+/* <DEPRECATED> */ .p-CommandPalette-header, /* </DEPRECATED> */
+.lm-CommandPalette-header {
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+
+
+/* <DEPRECATED> */ .p-CommandPalette-item, /* </DEPRECATED> */
+.lm-CommandPalette-item {
+  display: flex;
+  flex-direction: row;
+}
+
+
+/* <DEPRECATED> */ .p-CommandPalette-itemIcon, /* </DEPRECATED> */
+.lm-CommandPalette-itemIcon {
+  flex: 0 0 auto;
+}
+
+
+/* <DEPRECATED> */ .p-CommandPalette-itemContent, /* </DEPRECATED> */
+.lm-CommandPalette-itemContent {
+  flex: 1 1 auto;
+  overflow: hidden;
+}
+
+
+/* <DEPRECATED> */ .p-CommandPalette-itemShortcut, /* </DEPRECATED> */
+.lm-CommandPalette-itemShortcut {
+  flex: 0 0 auto;
+}
+
+
+/* <DEPRECATED> */ .p-CommandPalette-itemLabel, /* </DEPRECATED> */
+.lm-CommandPalette-itemLabel {
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+
+.lm-close-icon {
+	border:1px solid transparent;
+  background-color: transparent;
+  position: absolute;
+	z-index:1;
+	right:3%;
+	top: 0;
+	bottom: 0;
+	margin: auto;
+	padding: 7px 0;
+	display: none;
+	vertical-align: middle;
+  outline: 0;
+  cursor: pointer;
+}
+.lm-close-icon:after {
+	content: "X";
+	display: block;
+	width: 15px;
+	height: 15px;
+	text-align: center;
+	color:#000;
+	font-weight: normal;
+	font-size: 12px;
+	cursor: pointer;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-DockPanel, /* </DEPRECATED> */
+.lm-DockPanel {
+  z-index: 0;
+}
+
+
+/* <DEPRECATED> */ .p-DockPanel-widget, /* </DEPRECATED> */
+.lm-DockPanel-widget {
+  z-index: 0;
+}
+
+
+/* <DEPRECATED> */ .p-DockPanel-tabBar, /* </DEPRECATED> */
+.lm-DockPanel-tabBar {
+  z-index: 1;
+}
+
+
+/* <DEPRECATED> */ .p-DockPanel-handle, /* </DEPRECATED> */
+.lm-DockPanel-handle {
+  z-index: 2;
+}
+
+
+/* <DEPRECATED> */ .p-DockPanel-handle.p-mod-hidden, /* </DEPRECATED> */
+.lm-DockPanel-handle.lm-mod-hidden {
+  display: none !important;
+}
+
+
+/* <DEPRECATED> */ .p-DockPanel-handle:after, /* </DEPRECATED> */
+.lm-DockPanel-handle:after {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  content: '';
+}
+
+
+/* <DEPRECATED> */
+.p-DockPanel-handle[data-orientation='horizontal'],
+/* </DEPRECATED> */
+.lm-DockPanel-handle[data-orientation='horizontal'] {
+  cursor: ew-resize;
+}
+
+
+/* <DEPRECATED> */
+.p-DockPanel-handle[data-orientation='vertical'],
+/* </DEPRECATED> */
+.lm-DockPanel-handle[data-orientation='vertical'] {
+  cursor: ns-resize;
+}
+
+
+/* <DEPRECATED> */
+.p-DockPanel-handle[data-orientation='horizontal']:after,
+/* </DEPRECATED> */
+.lm-DockPanel-handle[data-orientation='horizontal']:after {
+  left: 50%;
+  min-width: 8px;
+  transform: translateX(-50%);
+}
+
+
+/* <DEPRECATED> */
+.p-DockPanel-handle[data-orientation='vertical']:after,
+/* </DEPRECATED> */
+.lm-DockPanel-handle[data-orientation='vertical']:after {
+  top: 50%;
+  min-height: 8px;
+  transform: translateY(-50%);
+}
+
+
+/* <DEPRECATED> */ .p-DockPanel-overlay, /* </DEPRECATED> */
+.lm-DockPanel-overlay {
+  z-index: 3;
+  box-sizing: border-box;
+  pointer-events: none;
+}
+
+
+/* <DEPRECATED> */ .p-DockPanel-overlay.p-mod-hidden, /* </DEPRECATED> */
+.lm-DockPanel-overlay.lm-mod-hidden {
+  display: none !important;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-Menu, /* </DEPRECATED> */
+.lm-Menu {
+  z-index: 10000;
+  position: absolute;
+  white-space: nowrap;
+  overflow-x: hidden;
+  overflow-y: auto;
+  outline: none;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+
+/* <DEPRECATED> */ .p-Menu-content, /* </DEPRECATED> */
+.lm-Menu-content {
+  margin: 0;
+  padding: 0;
+  display: table;
+  list-style-type: none;
+}
+
+
+/* <DEPRECATED> */ .p-Menu-item, /* </DEPRECATED> */
+.lm-Menu-item {
+  display: table-row;
+}
+
+
+/* <DEPRECATED> */
+.p-Menu-item.p-mod-hidden,
+.p-Menu-item.p-mod-collapsed,
+/* </DEPRECATED> */
+.lm-Menu-item.lm-mod-hidden,
+.lm-Menu-item.lm-mod-collapsed {
+  display: none !important;
+}
+
+
+/* <DEPRECATED> */
+.p-Menu-itemIcon,
+.p-Menu-itemSubmenuIcon,
+/* </DEPRECATED> */
+.lm-Menu-itemIcon,
+.lm-Menu-itemSubmenuIcon {
+  display: table-cell;
+  text-align: center;
+}
+
+
+/* <DEPRECATED> */ .p-Menu-itemLabel, /* </DEPRECATED> */
+.lm-Menu-itemLabel {
+  display: table-cell;
+  text-align: left;
+}
+
+
+/* <DEPRECATED> */ .p-Menu-itemShortcut, /* </DEPRECATED> */
+.lm-Menu-itemShortcut {
+  display: table-cell;
+  text-align: right;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-MenuBar, /* </DEPRECATED> */
+.lm-MenuBar {
+  outline: none;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+
+/* <DEPRECATED> */ .p-MenuBar-content, /* </DEPRECATED> */
+.lm-MenuBar-content {
+  margin: 0;
+  padding: 0;
+  display: flex;
+  flex-direction: row;
+  list-style-type: none;
+}
+
+
+/* <DEPRECATED> */ .p--MenuBar-item, /* </DEPRECATED> */
+.lm-MenuBar-item {
+  box-sizing: border-box;
+}
+
+
+/* <DEPRECATED> */
+.p-MenuBar-itemIcon,
+.p-MenuBar-itemLabel,
+/* </DEPRECATED> */
+.lm-MenuBar-itemIcon,
+.lm-MenuBar-itemLabel {
+  display: inline-block;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-ScrollBar, /* </DEPRECATED> */
+.lm-ScrollBar {
+  display: flex;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+
+/* <DEPRECATED> */
+.p-ScrollBar[data-orientation='horizontal'],
+/* </DEPRECATED> */
+.lm-ScrollBar[data-orientation='horizontal'] {
+  flex-direction: row;
+}
+
+
+/* <DEPRECATED> */
+.p-ScrollBar[data-orientation='vertical'],
+/* </DEPRECATED> */
+.lm-ScrollBar[data-orientation='vertical'] {
+  flex-direction: column;
+}
+
+
+/* <DEPRECATED> */ .p-ScrollBar-button, /* </DEPRECATED> */
+.lm-ScrollBar-button {
+  box-sizing: border-box;
+  flex: 0 0 auto;
+}
+
+
+/* <DEPRECATED> */ .p-ScrollBar-track, /* </DEPRECATED> */
+.lm-ScrollBar-track {
+  box-sizing: border-box;
+  position: relative;
+  overflow: hidden;
+  flex: 1 1 auto;
+}
+
+
+/* <DEPRECATED> */ .p-ScrollBar-thumb, /* </DEPRECATED> */
+.lm-ScrollBar-thumb {
+  box-sizing: border-box;
+  position: absolute;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-SplitPanel-child, /* </DEPRECATED> */
+.lm-SplitPanel-child {
+  z-index: 0;
+}
+
+
+/* <DEPRECATED> */ .p-SplitPanel-handle, /* </DEPRECATED> */
+.lm-SplitPanel-handle {
+  z-index: 1;
+}
+
+
+/* <DEPRECATED> */ .p-SplitPanel-handle.p-mod-hidden, /* </DEPRECATED> */
+.lm-SplitPanel-handle.lm-mod-hidden {
+  display: none !important;
+}
+
+
+/* <DEPRECATED> */ .p-SplitPanel-handle:after, /* </DEPRECATED> */
+.lm-SplitPanel-handle:after {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  content: '';
+}
+
+
+/* <DEPRECATED> */
+.p-SplitPanel[data-orientation='horizontal'] > .p-SplitPanel-handle,
+/* </DEPRECATED> */
+.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle {
+  cursor: ew-resize;
+}
+
+
+/* <DEPRECATED> */
+.p-SplitPanel[data-orientation='vertical'] > .p-SplitPanel-handle,
+/* </DEPRECATED> */
+.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle {
+  cursor: ns-resize;
+}
+
+
+/* <DEPRECATED> */
+.p-SplitPanel[data-orientation='horizontal'] > .p-SplitPanel-handle:after,
+/* </DEPRECATED> */
+.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after {
+  left: 50%;
+  min-width: 8px;
+  transform: translateX(-50%);
+}
+
+
+/* <DEPRECATED> */
+.p-SplitPanel[data-orientation='vertical'] > .p-SplitPanel-handle:after,
+/* </DEPRECATED> */
+.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after {
+  top: 50%;
+  min-height: 8px;
+  transform: translateY(-50%);
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-TabBar, /* </DEPRECATED> */
+.lm-TabBar {
+  display: flex;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+
+/* <DEPRECATED> */ .p-TabBar[data-orientation='horizontal'], /* </DEPRECATED> */
+.lm-TabBar[data-orientation='horizontal'] {
+  flex-direction: row;
+}
+
+
+/* <DEPRECATED> */ .p-TabBar[data-orientation='vertical'], /* </DEPRECATED> */
+.lm-TabBar[data-orientation='vertical'] {
+  flex-direction: column;
+}
+
+
+/* <DEPRECATED> */ .p-TabBar-content, /* </DEPRECATED> */
+.lm-TabBar-content {
+  margin: 0;
+  padding: 0;
+  display: flex;
+  flex: 1 1 auto;
+  list-style-type: none;
+}
+
+
+/* <DEPRECATED> */
+.p-TabBar[data-orientation='horizontal'] > .p-TabBar-content,
+/* </DEPRECATED> */
+.lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content {
+  flex-direction: row;
+}
+
+
+/* <DEPRECATED> */
+.p-TabBar[data-orientation='vertical'] > .p-TabBar-content,
+/* </DEPRECATED> */
+.lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content {
+  flex-direction: column;
+}
+
+
+/* <DEPRECATED> */ .p-TabBar-tab, /* </DEPRECATED> */
+.lm-TabBar-tab {
+  display: flex;
+  flex-direction: row;
+  box-sizing: border-box;
+  overflow: hidden;
+}
+
+
+/* <DEPRECATED> */
+.p-TabBar-tabIcon,
+.p-TabBar-tabCloseIcon,
+/* </DEPRECATED> */
+.lm-TabBar-tabIcon,
+.lm-TabBar-tabCloseIcon {
+  flex: 0 0 auto;
+}
+
+
+/* <DEPRECATED> */ .p-TabBar-tabLabel, /* </DEPRECATED> */
+.lm-TabBar-tabLabel {
+  flex: 1 1 auto;
+  overflow: hidden;
+  white-space: nowrap;
+}
+
+
+.lm-TabBar-tabInput {
+  user-select: all;
+  width: 100%;
+  box-sizing : border-box;
+}
+
+
+/* <DEPRECATED> */ .p-TabBar-tab.p-mod-hidden, /* </DEPRECATED> */
+.lm-TabBar-tab.lm-mod-hidden {
+  display: none !important;
+}
+
+
+/* <DEPRECATED> */ .p-TabBar.p-mod-dragging .p-TabBar-tab, /* </DEPRECATED> */
+.lm-TabBar.lm-mod-dragging .lm-TabBar-tab {
+  position: relative;
+}
+
+
+/* <DEPRECATED> */
+.p-TabBar.p-mod-dragging[data-orientation='horizontal'] .p-TabBar-tab,
+/* </DEPRECATED> */
+.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab {
+  left: 0;
+  transition: left 150ms ease;
+}
+
+
+/* <DEPRECATED> */
+.p-TabBar.p-mod-dragging[data-orientation='vertical'] .p-TabBar-tab,
+/* </DEPRECATED> */
+.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab {
+  top: 0;
+  transition: top 150ms ease;
+}
+
+
+/* <DEPRECATED> */
+.p-TabBar.p-mod-dragging .p-TabBar-tab.p-mod-dragging,
+/* </DEPRECATED> */
+.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging {
+  transition: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ .p-TabPanel-tabBar, /* </DEPRECATED> */
+.lm-TabPanel-tabBar {
+  z-index: 1;
+}
+
+
+/* <DEPRECATED> */ .p-TabPanel-stackedPanel, /* </DEPRECATED> */
+.lm-TabPanel-stackedPanel {
+  z-index: 0;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+@charset "UTF-8";
+html{
+  -webkit-box-sizing:border-box;
+          box-sizing:border-box; }
+
+*,
+*::before,
+*::after{
+  -webkit-box-sizing:inherit;
+          box-sizing:inherit; }
+
+body{
+  font-size:14px;
+  font-weight:400;
+  letter-spacing:0;
+  line-height:1.28581;
+  text-transform:none;
+  color:#182026;
+  font-family:-apple-system, "BlinkMacSystemFont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Open Sans", "Helvetica Neue", "Icons16", sans-serif; }
+
+p{
+  margin-bottom:10px;
+  margin-top:0; }
+
+small{
+  font-size:12px; }
+
+strong{
+  font-weight:600; }
+
+::-moz-selection{
+  background:rgba(125, 188, 255, 0.6); }
+
+::selection{
+  background:rgba(125, 188, 255, 0.6); }
+.bp3-heading{
+  color:#182026;
+  font-weight:600;
+  margin:0 0 10px;
+  padding:0; }
+  .bp3-dark .bp3-heading{
+    color:#f5f8fa; }
+
+h1.bp3-heading, .bp3-running-text h1{
+  font-size:36px;
+  line-height:40px; }
+
+h2.bp3-heading, .bp3-running-text h2{
+  font-size:28px;
+  line-height:32px; }
+
+h3.bp3-heading, .bp3-running-text h3{
+  font-size:22px;
+  line-height:25px; }
+
+h4.bp3-heading, .bp3-running-text h4{
+  font-size:18px;
+  line-height:21px; }
+
+h5.bp3-heading, .bp3-running-text h5{
+  font-size:16px;
+  line-height:19px; }
+
+h6.bp3-heading, .bp3-running-text h6{
+  font-size:14px;
+  line-height:16px; }
+.bp3-ui-text{
+  font-size:14px;
+  font-weight:400;
+  letter-spacing:0;
+  line-height:1.28581;
+  text-transform:none; }
+
+.bp3-monospace-text{
+  font-family:monospace;
+  text-transform:none; }
+
+.bp3-text-muted{
+  color:#5c7080; }
+  .bp3-dark .bp3-text-muted{
+    color:#a7b6c2; }
+
+.bp3-text-disabled{
+  color:rgba(92, 112, 128, 0.6); }
+  .bp3-dark .bp3-text-disabled{
+    color:rgba(167, 182, 194, 0.6); }
+
+.bp3-text-overflow-ellipsis{
+  overflow:hidden;
+  text-overflow:ellipsis;
+  white-space:nowrap;
+  word-wrap:normal; }
+.bp3-running-text{
+  font-size:14px;
+  line-height:1.5; }
+  .bp3-running-text h1{
+    color:#182026;
+    font-weight:600;
+    margin-bottom:20px;
+    margin-top:40px; }
+    .bp3-dark .bp3-running-text h1{
+      color:#f5f8fa; }
+  .bp3-running-text h2{
+    color:#182026;
+    font-weight:600;
+    margin-bottom:20px;
+    margin-top:40px; }
+    .bp3-dark .bp3-running-text h2{
+      color:#f5f8fa; }
+  .bp3-running-text h3{
+    color:#182026;
+    font-weight:600;
+    margin-bottom:20px;
+    margin-top:40px; }
+    .bp3-dark .bp3-running-text h3{
+      color:#f5f8fa; }
+  .bp3-running-text h4{
+    color:#182026;
+    font-weight:600;
+    margin-bottom:20px;
+    margin-top:40px; }
+    .bp3-dark .bp3-running-text h4{
+      color:#f5f8fa; }
+  .bp3-running-text h5{
+    color:#182026;
+    font-weight:600;
+    margin-bottom:20px;
+    margin-top:40px; }
+    .bp3-dark .bp3-running-text h5{
+      color:#f5f8fa; }
+  .bp3-running-text h6{
+    color:#182026;
+    font-weight:600;
+    margin-bottom:20px;
+    margin-top:40px; }
+    .bp3-dark .bp3-running-text h6{
+      color:#f5f8fa; }
+  .bp3-running-text hr{
+    border:none;
+    border-bottom:1px solid rgba(16, 22, 26, 0.15);
+    margin:20px 0; }
+    .bp3-dark .bp3-running-text hr{
+      border-color:rgba(255, 255, 255, 0.15); }
+  .bp3-running-text p{
+    margin:0 0 10px;
+    padding:0; }
+
+.bp3-text-large{
+  font-size:16px; }
+
+.bp3-text-small{
+  font-size:12px; }
+a{
+  color:#106ba3;
+  text-decoration:none; }
+  a:hover{
+    color:#106ba3;
+    cursor:pointer;
+    text-decoration:underline; }
+  a .bp3-icon, a .bp3-icon-standard, a .bp3-icon-large{
+    color:inherit; }
+  a code,
+  .bp3-dark a code{
+    color:inherit; }
+  .bp3-dark a,
+  .bp3-dark a:hover{
+    color:#48aff0; }
+    .bp3-dark a .bp3-icon, .bp3-dark a .bp3-icon-standard, .bp3-dark a .bp3-icon-large,
+    .bp3-dark a:hover .bp3-icon,
+    .bp3-dark a:hover .bp3-icon-standard,
+    .bp3-dark a:hover .bp3-icon-large{
+      color:inherit; }
+.bp3-running-text code, .bp3-code{
+  font-family:monospace;
+  text-transform:none;
+  background:rgba(255, 255, 255, 0.7);
+  border-radius:3px;
+  -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2);
+          box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2);
+  color:#5c7080;
+  font-size:smaller;
+  padding:2px 5px; }
+  .bp3-dark .bp3-running-text code, .bp3-running-text .bp3-dark code, .bp3-dark .bp3-code{
+    background:rgba(16, 22, 26, 0.3);
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4);
+    color:#a7b6c2; }
+  .bp3-running-text a > code, a > .bp3-code{
+    color:#137cbd; }
+    .bp3-dark .bp3-running-text a > code, .bp3-running-text .bp3-dark a > code, .bp3-dark a > .bp3-code{
+      color:inherit; }
+
+.bp3-running-text pre, .bp3-code-block{
+  font-family:monospace;
+  text-transform:none;
+  background:rgba(255, 255, 255, 0.7);
+  border-radius:3px;
+  -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15);
+          box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15);
+  color:#182026;
+  display:block;
+  font-size:13px;
+  line-height:1.4;
+  margin:10px 0;
+  padding:13px 15px 12px;
+  word-break:break-all;
+  word-wrap:break-word; }
+  .bp3-dark .bp3-running-text pre, .bp3-running-text .bp3-dark pre, .bp3-dark .bp3-code-block{
+    background:rgba(16, 22, 26, 0.3);
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4);
+    color:#f5f8fa; }
+  .bp3-running-text pre > code, .bp3-code-block > code{
+    background:none;
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:inherit;
+    font-size:inherit;
+    padding:0; }
+
+.bp3-running-text kbd, .bp3-key{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  background:#ffffff;
+  border-radius:3px;
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);
+  color:#5c7080;
+  display:-webkit-inline-box;
+  display:-ms-inline-flexbox;
+  display:inline-flex;
+  font-family:inherit;
+  font-size:12px;
+  height:24px;
+  -webkit-box-pack:center;
+      -ms-flex-pack:center;
+          justify-content:center;
+  line-height:24px;
+  min-width:24px;
+  padding:3px 6px;
+  vertical-align:middle; }
+  .bp3-running-text kbd .bp3-icon, .bp3-key .bp3-icon, .bp3-running-text kbd .bp3-icon-standard, .bp3-key .bp3-icon-standard, .bp3-running-text kbd .bp3-icon-large, .bp3-key .bp3-icon-large{
+    margin-right:5px; }
+  .bp3-dark .bp3-running-text kbd, .bp3-running-text .bp3-dark kbd, .bp3-dark .bp3-key{
+    background:#394b59;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4);
+    color:#a7b6c2; }
+.bp3-running-text blockquote, .bp3-blockquote{
+  border-left:solid 4px rgba(167, 182, 194, 0.5);
+  margin:0 0 10px;
+  padding:0 20px; }
+  .bp3-dark .bp3-running-text blockquote, .bp3-running-text .bp3-dark blockquote, .bp3-dark .bp3-blockquote{
+    border-color:rgba(115, 134, 148, 0.5); }
+.bp3-running-text ul,
+.bp3-running-text ol, .bp3-list{
+  margin:10px 0;
+  padding-left:30px; }
+  .bp3-running-text ul li:not(:last-child), .bp3-running-text ol li:not(:last-child), .bp3-list li:not(:last-child){
+    margin-bottom:5px; }
+  .bp3-running-text ul ol, .bp3-running-text ol ol, .bp3-list ol,
+  .bp3-running-text ul ul,
+  .bp3-running-text ol ul,
+  .bp3-list ul{
+    margin-top:5px; }
+
+.bp3-list-unstyled{
+  list-style:none;
+  margin:0;
+  padding:0; }
+  .bp3-list-unstyled li{
+    padding:0; }
+.bp3-rtl{
+  text-align:right; }
+
+.bp3-dark{
+  color:#f5f8fa; }
+
+:focus{
+  outline:rgba(19, 124, 189, 0.6) auto 2px;
+  outline-offset:2px;
+  -moz-outline-radius:6px; }
+
+.bp3-focus-disabled :focus{
+  outline:none !important; }
+  .bp3-focus-disabled :focus ~ .bp3-control-indicator{
+    outline:none !important; }
+
+.bp3-alert{
+  max-width:400px;
+  padding:20px; }
+
+.bp3-alert-body{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex; }
+  .bp3-alert-body .bp3-icon{
+    font-size:40px;
+    margin-right:20px;
+    margin-top:0; }
+
+.bp3-alert-contents{
+  word-break:break-word; }
+
+.bp3-alert-footer{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:horizontal;
+  -webkit-box-direction:reverse;
+      -ms-flex-direction:row-reverse;
+          flex-direction:row-reverse;
+  margin-top:10px; }
+  .bp3-alert-footer .bp3-button{
+    margin-left:10px; }
+.bp3-breadcrumbs{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  cursor:default;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -ms-flex-wrap:wrap;
+      flex-wrap:wrap;
+  height:30px;
+  list-style:none;
+  margin:0;
+  padding:0; }
+  .bp3-breadcrumbs > li{
+    -webkit-box-align:center;
+        -ms-flex-align:center;
+            align-items:center;
+    display:-webkit-box;
+    display:-ms-flexbox;
+    display:flex; }
+    .bp3-breadcrumbs > li::after{
+      background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.71 7.29l-4-4a1.003 1.003 0 00-1.42 1.42L8.59 8 5.3 11.29c-.19.18-.3.43-.3.71a1.003 1.003 0 001.71.71l4-4c.18-.18.29-.43.29-.71 0-.28-.11-.53-.29-.71z' fill='%235C7080'/%3e%3c/svg%3e");
+      content:"";
+      display:block;
+      height:16px;
+      margin:0 5px;
+      width:16px; }
+    .bp3-breadcrumbs > li:last-of-type::after{
+      display:none; }
+
+.bp3-breadcrumb,
+.bp3-breadcrumb-current,
+.bp3-breadcrumbs-collapsed{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  display:-webkit-inline-box;
+  display:-ms-inline-flexbox;
+  display:inline-flex;
+  font-size:16px; }
+
+.bp3-breadcrumb,
+.bp3-breadcrumbs-collapsed{
+  color:#5c7080; }
+
+.bp3-breadcrumb:hover{
+  text-decoration:none; }
+
+.bp3-breadcrumb.bp3-disabled{
+  color:rgba(92, 112, 128, 0.6);
+  cursor:not-allowed; }
+
+.bp3-breadcrumb .bp3-icon{
+  margin-right:5px; }
+
+.bp3-breadcrumb-current{
+  color:inherit;
+  font-weight:600; }
+  .bp3-breadcrumb-current .bp3-input{
+    font-size:inherit;
+    font-weight:inherit;
+    vertical-align:baseline; }
+
+.bp3-breadcrumbs-collapsed{
+  background:#ced9e0;
+  border:none;
+  border-radius:3px;
+  cursor:pointer;
+  margin-right:2px;
+  padding:1px 5px;
+  vertical-align:text-bottom; }
+  .bp3-breadcrumbs-collapsed::before{
+    background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cg fill='%235C7080'%3e%3ccircle cx='2' cy='8.03' r='2'/%3e%3ccircle cx='14' cy='8.03' r='2'/%3e%3ccircle cx='8' cy='8.03' r='2'/%3e%3c/g%3e%3c/svg%3e") center no-repeat;
+    content:"";
+    display:block;
+    height:16px;
+    width:16px; }
+  .bp3-breadcrumbs-collapsed:hover{
+    background:#bfccd6;
+    color:#182026;
+    text-decoration:none; }
+
+.bp3-dark .bp3-breadcrumb,
+.bp3-dark .bp3-breadcrumbs-collapsed{
+  color:#a7b6c2; }
+
+.bp3-dark .bp3-breadcrumbs > li::after{
+  color:#a7b6c2; }
+
+.bp3-dark .bp3-breadcrumb.bp3-disabled{
+  color:rgba(167, 182, 194, 0.6); }
+
+.bp3-dark .bp3-breadcrumb-current{
+  color:#f5f8fa; }
+
+.bp3-dark .bp3-breadcrumbs-collapsed{
+  background:rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-breadcrumbs-collapsed:hover{
+    background:rgba(16, 22, 26, 0.6);
+    color:#f5f8fa; }
+.bp3-button{
+  display:-webkit-inline-box;
+  display:-ms-inline-flexbox;
+  display:inline-flex;
+  -webkit-box-orient:horizontal;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:row;
+          flex-direction:row;
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  border:none;
+  border-radius:3px;
+  cursor:pointer;
+  font-size:14px;
+  -webkit-box-pack:center;
+      -ms-flex-pack:center;
+          justify-content:center;
+  padding:5px 10px;
+  text-align:left;
+  vertical-align:middle;
+  min-height:30px;
+  min-width:30px; }
+  .bp3-button > *{
+    -webkit-box-flex:0;
+        -ms-flex-positive:0;
+            flex-grow:0;
+    -ms-flex-negative:0;
+        flex-shrink:0; }
+  .bp3-button > .bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1;
+    -ms-flex-negative:1;
+        flex-shrink:1; }
+  .bp3-button::before,
+  .bp3-button > *{
+    margin-right:7px; }
+  .bp3-button:empty::before,
+  .bp3-button > :last-child{
+    margin-right:0; }
+  .bp3-button:empty{
+    padding:0 !important; }
+  .bp3-button:disabled, .bp3-button.bp3-disabled{
+    cursor:not-allowed; }
+  .bp3-button.bp3-fill{
+    display:-webkit-box;
+    display:-ms-flexbox;
+    display:flex;
+    width:100%; }
+  .bp3-button.bp3-align-right,
+  .bp3-align-right .bp3-button{
+    text-align:right; }
+  .bp3-button.bp3-align-left,
+  .bp3-align-left .bp3-button{
+    text-align:left; }
+  .bp3-button:not([class*="bp3-intent-"]){
+    background-color:#f5f8fa;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+    color:#182026; }
+    .bp3-button:not([class*="bp3-intent-"]):hover{
+      background-clip:padding-box;
+      background-color:#ebf1f5;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); }
+    .bp3-button:not([class*="bp3-intent-"]):active, .bp3-button:not([class*="bp3-intent-"]).bp3-active{
+      background-color:#d8e1e8;
+      background-image:none;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-button:not([class*="bp3-intent-"]):disabled, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled{
+      background-color:rgba(206, 217, 224, 0.5);
+      background-image:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(92, 112, 128, 0.6);
+      cursor:not-allowed;
+      outline:none; }
+      .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active, .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active:hover, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active, .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active:hover{
+        background:rgba(206, 217, 224, 0.7); }
+  .bp3-button.bp3-intent-primary{
+    background-color:#137cbd;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+    color:#ffffff; }
+    .bp3-button.bp3-intent-primary:hover, .bp3-button.bp3-intent-primary:active, .bp3-button.bp3-intent-primary.bp3-active{
+      color:#ffffff; }
+    .bp3-button.bp3-intent-primary:hover{
+      background-color:#106ba3;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); }
+    .bp3-button.bp3-intent-primary:active, .bp3-button.bp3-intent-primary.bp3-active{
+      background-color:#0e5a8a;
+      background-image:none;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-button.bp3-intent-primary:disabled, .bp3-button.bp3-intent-primary.bp3-disabled{
+      background-color:rgba(19, 124, 189, 0.5);
+      background-image:none;
+      border-color:transparent;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(255, 255, 255, 0.6); }
+  .bp3-button.bp3-intent-success{
+    background-color:#0f9960;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+    color:#ffffff; }
+    .bp3-button.bp3-intent-success:hover, .bp3-button.bp3-intent-success:active, .bp3-button.bp3-intent-success.bp3-active{
+      color:#ffffff; }
+    .bp3-button.bp3-intent-success:hover{
+      background-color:#0d8050;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); }
+    .bp3-button.bp3-intent-success:active, .bp3-button.bp3-intent-success.bp3-active{
+      background-color:#0a6640;
+      background-image:none;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-button.bp3-intent-success:disabled, .bp3-button.bp3-intent-success.bp3-disabled{
+      background-color:rgba(15, 153, 96, 0.5);
+      background-image:none;
+      border-color:transparent;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(255, 255, 255, 0.6); }
+  .bp3-button.bp3-intent-warning{
+    background-color:#d9822b;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+    color:#ffffff; }
+    .bp3-button.bp3-intent-warning:hover, .bp3-button.bp3-intent-warning:active, .bp3-button.bp3-intent-warning.bp3-active{
+      color:#ffffff; }
+    .bp3-button.bp3-intent-warning:hover{
+      background-color:#bf7326;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); }
+    .bp3-button.bp3-intent-warning:active, .bp3-button.bp3-intent-warning.bp3-active{
+      background-color:#a66321;
+      background-image:none;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-button.bp3-intent-warning:disabled, .bp3-button.bp3-intent-warning.bp3-disabled{
+      background-color:rgba(217, 130, 43, 0.5);
+      background-image:none;
+      border-color:transparent;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(255, 255, 255, 0.6); }
+  .bp3-button.bp3-intent-danger{
+    background-color:#db3737;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+    color:#ffffff; }
+    .bp3-button.bp3-intent-danger:hover, .bp3-button.bp3-intent-danger:active, .bp3-button.bp3-intent-danger.bp3-active{
+      color:#ffffff; }
+    .bp3-button.bp3-intent-danger:hover{
+      background-color:#c23030;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); }
+    .bp3-button.bp3-intent-danger:active, .bp3-button.bp3-intent-danger.bp3-active{
+      background-color:#a82a2a;
+      background-image:none;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-button.bp3-intent-danger:disabled, .bp3-button.bp3-intent-danger.bp3-disabled{
+      background-color:rgba(219, 55, 55, 0.5);
+      background-image:none;
+      border-color:transparent;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(255, 255, 255, 0.6); }
+  .bp3-button[class*="bp3-intent-"] .bp3-button-spinner .bp3-spinner-head{
+    stroke:#ffffff; }
+  .bp3-button.bp3-large,
+  .bp3-large .bp3-button{
+    min-height:40px;
+    min-width:40px;
+    font-size:16px;
+    padding:5px 15px; }
+    .bp3-button.bp3-large::before,
+    .bp3-button.bp3-large > *,
+    .bp3-large .bp3-button::before,
+    .bp3-large .bp3-button > *{
+      margin-right:10px; }
+    .bp3-button.bp3-large:empty::before,
+    .bp3-button.bp3-large > :last-child,
+    .bp3-large .bp3-button:empty::before,
+    .bp3-large .bp3-button > :last-child{
+      margin-right:0; }
+  .bp3-button.bp3-small,
+  .bp3-small .bp3-button{
+    min-height:24px;
+    min-width:24px;
+    padding:0 7px; }
+  .bp3-button.bp3-loading{
+    position:relative; }
+    .bp3-button.bp3-loading[class*="bp3-icon-"]::before{
+      visibility:hidden; }
+    .bp3-button.bp3-loading .bp3-button-spinner{
+      margin:0;
+      position:absolute; }
+    .bp3-button.bp3-loading > :not(.bp3-button-spinner){
+      visibility:hidden; }
+  .bp3-button[class*="bp3-icon-"]::before{
+    font-family:"Icons16", sans-serif;
+    font-size:16px;
+    font-style:normal;
+    font-weight:400;
+    line-height:1;
+    -moz-osx-font-smoothing:grayscale;
+    -webkit-font-smoothing:antialiased;
+    color:#5c7080; }
+  .bp3-button .bp3-icon, .bp3-button .bp3-icon-standard, .bp3-button .bp3-icon-large{
+    color:#5c7080; }
+    .bp3-button .bp3-icon.bp3-align-right, .bp3-button .bp3-icon-standard.bp3-align-right, .bp3-button .bp3-icon-large.bp3-align-right{
+      margin-left:7px; }
+  .bp3-button .bp3-icon:first-child:last-child,
+  .bp3-button .bp3-spinner + .bp3-icon:last-child{
+    margin:0 -7px; }
+  .bp3-dark .bp3-button:not([class*="bp3-intent-"]){
+    background-color:#394b59;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+    color:#f5f8fa; }
+    .bp3-dark .bp3-button:not([class*="bp3-intent-"]):hover, .bp3-dark .bp3-button:not([class*="bp3-intent-"]):active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-active{
+      color:#f5f8fa; }
+    .bp3-dark .bp3-button:not([class*="bp3-intent-"]):hover{
+      background-color:#30404d;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-button:not([class*="bp3-intent-"]):active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-active{
+      background-color:#202b33;
+      background-image:none;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-dark .bp3-button:not([class*="bp3-intent-"]):disabled, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-disabled{
+      background-color:rgba(57, 75, 89, 0.5);
+      background-image:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(167, 182, 194, 0.6); }
+      .bp3-dark .bp3-button:not([class*="bp3-intent-"]):disabled.bp3-active, .bp3-dark .bp3-button:not([class*="bp3-intent-"]).bp3-disabled.bp3-active{
+        background:rgba(57, 75, 89, 0.7); }
+    .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-button-spinner .bp3-spinner-head{
+      background:rgba(16, 22, 26, 0.5);
+      stroke:#8a9ba8; }
+    .bp3-dark .bp3-button:not([class*="bp3-intent-"])[class*="bp3-icon-"]::before{
+      color:#a7b6c2; }
+    .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon, .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon-standard, .bp3-dark .bp3-button:not([class*="bp3-intent-"]) .bp3-icon-large{
+      color:#a7b6c2; }
+  .bp3-dark .bp3-button[class*="bp3-intent-"]{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-button[class*="bp3-intent-"]:hover{
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-button[class*="bp3-intent-"]:active, .bp3-dark .bp3-button[class*="bp3-intent-"].bp3-active{
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-dark .bp3-button[class*="bp3-intent-"]:disabled, .bp3-dark .bp3-button[class*="bp3-intent-"].bp3-disabled{
+      background-image:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(255, 255, 255, 0.3); }
+    .bp3-dark .bp3-button[class*="bp3-intent-"] .bp3-button-spinner .bp3-spinner-head{
+      stroke:#8a9ba8; }
+  .bp3-button:disabled::before,
+  .bp3-button:disabled .bp3-icon, .bp3-button:disabled .bp3-icon-standard, .bp3-button:disabled .bp3-icon-large, .bp3-button.bp3-disabled::before,
+  .bp3-button.bp3-disabled .bp3-icon, .bp3-button.bp3-disabled .bp3-icon-standard, .bp3-button.bp3-disabled .bp3-icon-large, .bp3-button[class*="bp3-intent-"]::before,
+  .bp3-button[class*="bp3-intent-"] .bp3-icon, .bp3-button[class*="bp3-intent-"] .bp3-icon-standard, .bp3-button[class*="bp3-intent-"] .bp3-icon-large{
+    color:inherit !important; }
+  .bp3-button.bp3-minimal{
+    background:none;
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+    .bp3-button.bp3-minimal:hover{
+      background:rgba(167, 182, 194, 0.3);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#182026;
+      text-decoration:none; }
+    .bp3-button.bp3-minimal:active, .bp3-button.bp3-minimal.bp3-active{
+      background:rgba(115, 134, 148, 0.3);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#182026; }
+    .bp3-button.bp3-minimal:disabled, .bp3-button.bp3-minimal:disabled:hover, .bp3-button.bp3-minimal.bp3-disabled, .bp3-button.bp3-minimal.bp3-disabled:hover{
+      background:none;
+      color:rgba(92, 112, 128, 0.6);
+      cursor:not-allowed; }
+      .bp3-button.bp3-minimal:disabled.bp3-active, .bp3-button.bp3-minimal:disabled:hover.bp3-active, .bp3-button.bp3-minimal.bp3-disabled.bp3-active, .bp3-button.bp3-minimal.bp3-disabled:hover.bp3-active{
+        background:rgba(115, 134, 148, 0.3); }
+    .bp3-dark .bp3-button.bp3-minimal{
+      background:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:inherit; }
+      .bp3-dark .bp3-button.bp3-minimal:hover, .bp3-dark .bp3-button.bp3-minimal:active, .bp3-dark .bp3-button.bp3-minimal.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none; }
+      .bp3-dark .bp3-button.bp3-minimal:hover{
+        background:rgba(138, 155, 168, 0.15); }
+      .bp3-dark .bp3-button.bp3-minimal:active, .bp3-dark .bp3-button.bp3-minimal.bp3-active{
+        background:rgba(138, 155, 168, 0.3);
+        color:#f5f8fa; }
+      .bp3-dark .bp3-button.bp3-minimal:disabled, .bp3-dark .bp3-button.bp3-minimal:disabled:hover, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled:hover{
+        background:none;
+        color:rgba(167, 182, 194, 0.6);
+        cursor:not-allowed; }
+        .bp3-dark .bp3-button.bp3-minimal:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal:disabled:hover.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-disabled:hover.bp3-active{
+          background:rgba(138, 155, 168, 0.3); }
+    .bp3-button.bp3-minimal.bp3-intent-primary{
+      color:#106ba3; }
+      .bp3-button.bp3-minimal.bp3-intent-primary:hover, .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#106ba3; }
+      .bp3-button.bp3-minimal.bp3-intent-primary:hover{
+        background:rgba(19, 124, 189, 0.15);
+        color:#106ba3; }
+      .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{
+        background:rgba(19, 124, 189, 0.3);
+        color:#106ba3; }
+      .bp3-button.bp3-minimal.bp3-intent-primary:disabled, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled{
+        background:none;
+        color:rgba(16, 107, 163, 0.5); }
+        .bp3-button.bp3-minimal.bp3-intent-primary:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled.bp3-active{
+          background:rgba(19, 124, 189, 0.3); }
+      .bp3-button.bp3-minimal.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{
+        stroke:#106ba3; }
+      .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary{
+        color:#48aff0; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:hover{
+          background:rgba(19, 124, 189, 0.2);
+          color:#48aff0; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active{
+          background:rgba(19, 124, 189, 0.3);
+          color:#48aff0; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled{
+          background:none;
+          color:rgba(72, 175, 240, 0.5); }
+          .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled.bp3-active{
+            background:rgba(19, 124, 189, 0.3); }
+    .bp3-button.bp3-minimal.bp3-intent-success{
+      color:#0d8050; }
+      .bp3-button.bp3-minimal.bp3-intent-success:hover, .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#0d8050; }
+      .bp3-button.bp3-minimal.bp3-intent-success:hover{
+        background:rgba(15, 153, 96, 0.15);
+        color:#0d8050; }
+      .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{
+        background:rgba(15, 153, 96, 0.3);
+        color:#0d8050; }
+      .bp3-button.bp3-minimal.bp3-intent-success:disabled, .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled{
+        background:none;
+        color:rgba(13, 128, 80, 0.5); }
+        .bp3-button.bp3-minimal.bp3-intent-success:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled.bp3-active{
+          background:rgba(15, 153, 96, 0.3); }
+      .bp3-button.bp3-minimal.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{
+        stroke:#0d8050; }
+      .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success{
+        color:#3dcc91; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:hover{
+          background:rgba(15, 153, 96, 0.2);
+          color:#3dcc91; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-active{
+          background:rgba(15, 153, 96, 0.3);
+          color:#3dcc91; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled{
+          background:none;
+          color:rgba(61, 204, 145, 0.5); }
+          .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled.bp3-active{
+            background:rgba(15, 153, 96, 0.3); }
+    .bp3-button.bp3-minimal.bp3-intent-warning{
+      color:#bf7326; }
+      .bp3-button.bp3-minimal.bp3-intent-warning:hover, .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#bf7326; }
+      .bp3-button.bp3-minimal.bp3-intent-warning:hover{
+        background:rgba(217, 130, 43, 0.15);
+        color:#bf7326; }
+      .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{
+        background:rgba(217, 130, 43, 0.3);
+        color:#bf7326; }
+      .bp3-button.bp3-minimal.bp3-intent-warning:disabled, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled{
+        background:none;
+        color:rgba(191, 115, 38, 0.5); }
+        .bp3-button.bp3-minimal.bp3-intent-warning:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled.bp3-active{
+          background:rgba(217, 130, 43, 0.3); }
+      .bp3-button.bp3-minimal.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{
+        stroke:#bf7326; }
+      .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning{
+        color:#ffb366; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:hover{
+          background:rgba(217, 130, 43, 0.2);
+          color:#ffb366; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active{
+          background:rgba(217, 130, 43, 0.3);
+          color:#ffb366; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled{
+          background:none;
+          color:rgba(255, 179, 102, 0.5); }
+          .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled.bp3-active{
+            background:rgba(217, 130, 43, 0.3); }
+    .bp3-button.bp3-minimal.bp3-intent-danger{
+      color:#c23030; }
+      .bp3-button.bp3-minimal.bp3-intent-danger:hover, .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#c23030; }
+      .bp3-button.bp3-minimal.bp3-intent-danger:hover{
+        background:rgba(219, 55, 55, 0.15);
+        color:#c23030; }
+      .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{
+        background:rgba(219, 55, 55, 0.3);
+        color:#c23030; }
+      .bp3-button.bp3-minimal.bp3-intent-danger:disabled, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled{
+        background:none;
+        color:rgba(194, 48, 48, 0.5); }
+        .bp3-button.bp3-minimal.bp3-intent-danger:disabled.bp3-active, .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled.bp3-active{
+          background:rgba(219, 55, 55, 0.3); }
+      .bp3-button.bp3-minimal.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{
+        stroke:#c23030; }
+      .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger{
+        color:#ff7373; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:hover{
+          background:rgba(219, 55, 55, 0.2);
+          color:#ff7373; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active{
+          background:rgba(219, 55, 55, 0.3);
+          color:#ff7373; }
+        .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled{
+          background:none;
+          color:rgba(255, 115, 115, 0.5); }
+          .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled.bp3-active{
+            background:rgba(219, 55, 55, 0.3); }
+  .bp3-button.bp3-outlined{
+    background:none;
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    border:1px solid rgba(24, 32, 38, 0.2);
+    -webkit-box-sizing:border-box;
+            box-sizing:border-box; }
+    .bp3-button.bp3-outlined:hover{
+      background:rgba(167, 182, 194, 0.3);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#182026;
+      text-decoration:none; }
+    .bp3-button.bp3-outlined:active, .bp3-button.bp3-outlined.bp3-active{
+      background:rgba(115, 134, 148, 0.3);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#182026; }
+    .bp3-button.bp3-outlined:disabled, .bp3-button.bp3-outlined:disabled:hover, .bp3-button.bp3-outlined.bp3-disabled, .bp3-button.bp3-outlined.bp3-disabled:hover{
+      background:none;
+      color:rgba(92, 112, 128, 0.6);
+      cursor:not-allowed; }
+      .bp3-button.bp3-outlined:disabled.bp3-active, .bp3-button.bp3-outlined:disabled:hover.bp3-active, .bp3-button.bp3-outlined.bp3-disabled.bp3-active, .bp3-button.bp3-outlined.bp3-disabled:hover.bp3-active{
+        background:rgba(115, 134, 148, 0.3); }
+    .bp3-dark .bp3-button.bp3-outlined{
+      background:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:inherit; }
+      .bp3-dark .bp3-button.bp3-outlined:hover, .bp3-dark .bp3-button.bp3-outlined:active, .bp3-dark .bp3-button.bp3-outlined.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none; }
+      .bp3-dark .bp3-button.bp3-outlined:hover{
+        background:rgba(138, 155, 168, 0.15); }
+      .bp3-dark .bp3-button.bp3-outlined:active, .bp3-dark .bp3-button.bp3-outlined.bp3-active{
+        background:rgba(138, 155, 168, 0.3);
+        color:#f5f8fa; }
+      .bp3-dark .bp3-button.bp3-outlined:disabled, .bp3-dark .bp3-button.bp3-outlined:disabled:hover, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover{
+        background:none;
+        color:rgba(167, 182, 194, 0.6);
+        cursor:not-allowed; }
+        .bp3-dark .bp3-button.bp3-outlined:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined:disabled:hover.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover.bp3-active{
+          background:rgba(138, 155, 168, 0.3); }
+    .bp3-button.bp3-outlined.bp3-intent-primary{
+      color:#106ba3; }
+      .bp3-button.bp3-outlined.bp3-intent-primary:hover, .bp3-button.bp3-outlined.bp3-intent-primary:active, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#106ba3; }
+      .bp3-button.bp3-outlined.bp3-intent-primary:hover{
+        background:rgba(19, 124, 189, 0.15);
+        color:#106ba3; }
+      .bp3-button.bp3-outlined.bp3-intent-primary:active, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-active{
+        background:rgba(19, 124, 189, 0.3);
+        color:#106ba3; }
+      .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{
+        background:none;
+        color:rgba(16, 107, 163, 0.5); }
+        .bp3-button.bp3-outlined.bp3-intent-primary:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled.bp3-active{
+          background:rgba(19, 124, 189, 0.3); }
+      .bp3-button.bp3-outlined.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{
+        stroke:#106ba3; }
+      .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary{
+        color:#48aff0; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:hover{
+          background:rgba(19, 124, 189, 0.2);
+          color:#48aff0; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-active{
+          background:rgba(19, 124, 189, 0.3);
+          color:#48aff0; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{
+          background:none;
+          color:rgba(72, 175, 240, 0.5); }
+          .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled.bp3-active{
+            background:rgba(19, 124, 189, 0.3); }
+    .bp3-button.bp3-outlined.bp3-intent-success{
+      color:#0d8050; }
+      .bp3-button.bp3-outlined.bp3-intent-success:hover, .bp3-button.bp3-outlined.bp3-intent-success:active, .bp3-button.bp3-outlined.bp3-intent-success.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#0d8050; }
+      .bp3-button.bp3-outlined.bp3-intent-success:hover{
+        background:rgba(15, 153, 96, 0.15);
+        color:#0d8050; }
+      .bp3-button.bp3-outlined.bp3-intent-success:active, .bp3-button.bp3-outlined.bp3-intent-success.bp3-active{
+        background:rgba(15, 153, 96, 0.3);
+        color:#0d8050; }
+      .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{
+        background:none;
+        color:rgba(13, 128, 80, 0.5); }
+        .bp3-button.bp3-outlined.bp3-intent-success:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled.bp3-active{
+          background:rgba(15, 153, 96, 0.3); }
+      .bp3-button.bp3-outlined.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{
+        stroke:#0d8050; }
+      .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success{
+        color:#3dcc91; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:hover{
+          background:rgba(15, 153, 96, 0.2);
+          color:#3dcc91; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-active{
+          background:rgba(15, 153, 96, 0.3);
+          color:#3dcc91; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{
+          background:none;
+          color:rgba(61, 204, 145, 0.5); }
+          .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled.bp3-active{
+            background:rgba(15, 153, 96, 0.3); }
+    .bp3-button.bp3-outlined.bp3-intent-warning{
+      color:#bf7326; }
+      .bp3-button.bp3-outlined.bp3-intent-warning:hover, .bp3-button.bp3-outlined.bp3-intent-warning:active, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#bf7326; }
+      .bp3-button.bp3-outlined.bp3-intent-warning:hover{
+        background:rgba(217, 130, 43, 0.15);
+        color:#bf7326; }
+      .bp3-button.bp3-outlined.bp3-intent-warning:active, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-active{
+        background:rgba(217, 130, 43, 0.3);
+        color:#bf7326; }
+      .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{
+        background:none;
+        color:rgba(191, 115, 38, 0.5); }
+        .bp3-button.bp3-outlined.bp3-intent-warning:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled.bp3-active{
+          background:rgba(217, 130, 43, 0.3); }
+      .bp3-button.bp3-outlined.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{
+        stroke:#bf7326; }
+      .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning{
+        color:#ffb366; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:hover{
+          background:rgba(217, 130, 43, 0.2);
+          color:#ffb366; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-active{
+          background:rgba(217, 130, 43, 0.3);
+          color:#ffb366; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{
+          background:none;
+          color:rgba(255, 179, 102, 0.5); }
+          .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled.bp3-active{
+            background:rgba(217, 130, 43, 0.3); }
+    .bp3-button.bp3-outlined.bp3-intent-danger{
+      color:#c23030; }
+      .bp3-button.bp3-outlined.bp3-intent-danger:hover, .bp3-button.bp3-outlined.bp3-intent-danger:active, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#c23030; }
+      .bp3-button.bp3-outlined.bp3-intent-danger:hover{
+        background:rgba(219, 55, 55, 0.15);
+        color:#c23030; }
+      .bp3-button.bp3-outlined.bp3-intent-danger:active, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-active{
+        background:rgba(219, 55, 55, 0.3);
+        color:#c23030; }
+      .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{
+        background:none;
+        color:rgba(194, 48, 48, 0.5); }
+        .bp3-button.bp3-outlined.bp3-intent-danger:disabled.bp3-active, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled.bp3-active{
+          background:rgba(219, 55, 55, 0.3); }
+      .bp3-button.bp3-outlined.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{
+        stroke:#c23030; }
+      .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger{
+        color:#ff7373; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:hover{
+          background:rgba(219, 55, 55, 0.2);
+          color:#ff7373; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-active{
+          background:rgba(219, 55, 55, 0.3);
+          color:#ff7373; }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{
+          background:none;
+          color:rgba(255, 115, 115, 0.5); }
+          .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled.bp3-active{
+            background:rgba(219, 55, 55, 0.3); }
+    .bp3-button.bp3-outlined:disabled, .bp3-button.bp3-outlined.bp3-disabled, .bp3-button.bp3-outlined:disabled:hover, .bp3-button.bp3-outlined.bp3-disabled:hover{
+      border-color:rgba(92, 112, 128, 0.1); }
+    .bp3-dark .bp3-button.bp3-outlined{
+      border-color:rgba(255, 255, 255, 0.4); }
+      .bp3-dark .bp3-button.bp3-outlined:disabled, .bp3-dark .bp3-button.bp3-outlined:disabled:hover, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover{
+        border-color:rgba(255, 255, 255, 0.2); }
+    .bp3-button.bp3-outlined.bp3-intent-primary{
+      border-color:rgba(16, 107, 163, 0.6); }
+      .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{
+        border-color:rgba(16, 107, 163, 0.2); }
+      .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary{
+        border-color:rgba(72, 175, 240, 0.6); }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled{
+          border-color:rgba(72, 175, 240, 0.2); }
+    .bp3-button.bp3-outlined.bp3-intent-success{
+      border-color:rgba(13, 128, 80, 0.6); }
+      .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{
+        border-color:rgba(13, 128, 80, 0.2); }
+      .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success{
+        border-color:rgba(61, 204, 145, 0.6); }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled{
+          border-color:rgba(61, 204, 145, 0.2); }
+    .bp3-button.bp3-outlined.bp3-intent-warning{
+      border-color:rgba(191, 115, 38, 0.6); }
+      .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{
+        border-color:rgba(191, 115, 38, 0.2); }
+      .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning{
+        border-color:rgba(255, 179, 102, 0.6); }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled{
+          border-color:rgba(255, 179, 102, 0.2); }
+    .bp3-button.bp3-outlined.bp3-intent-danger{
+      border-color:rgba(194, 48, 48, 0.6); }
+      .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{
+        border-color:rgba(194, 48, 48, 0.2); }
+      .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger{
+        border-color:rgba(255, 115, 115, 0.6); }
+        .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled, .bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled{
+          border-color:rgba(255, 115, 115, 0.2); }
+
+a.bp3-button{
+  text-align:center;
+  text-decoration:none;
+  -webkit-transition:none;
+  transition:none; }
+  a.bp3-button, a.bp3-button:hover, a.bp3-button:active{
+    color:#182026; }
+  a.bp3-button.bp3-disabled{
+    color:rgba(92, 112, 128, 0.6); }
+
+.bp3-button-text{
+  -webkit-box-flex:0;
+      -ms-flex:0 1 auto;
+          flex:0 1 auto; }
+
+.bp3-button.bp3-align-left .bp3-button-text, .bp3-button.bp3-align-right .bp3-button-text,
+.bp3-button-group.bp3-align-left .bp3-button-text,
+.bp3-button-group.bp3-align-right .bp3-button-text{
+  -webkit-box-flex:1;
+      -ms-flex:1 1 auto;
+          flex:1 1 auto; }
+.bp3-button-group{
+  display:-webkit-inline-box;
+  display:-ms-inline-flexbox;
+  display:inline-flex; }
+  .bp3-button-group .bp3-button{
+    -webkit-box-flex:0;
+        -ms-flex:0 0 auto;
+            flex:0 0 auto;
+    position:relative;
+    z-index:4; }
+    .bp3-button-group .bp3-button:focus{
+      z-index:5; }
+    .bp3-button-group .bp3-button:hover{
+      z-index:6; }
+    .bp3-button-group .bp3-button:active, .bp3-button-group .bp3-button.bp3-active{
+      z-index:7; }
+    .bp3-button-group .bp3-button:disabled, .bp3-button-group .bp3-button.bp3-disabled{
+      z-index:3; }
+    .bp3-button-group .bp3-button[class*="bp3-intent-"]{
+      z-index:9; }
+      .bp3-button-group .bp3-button[class*="bp3-intent-"]:focus{
+        z-index:10; }
+      .bp3-button-group .bp3-button[class*="bp3-intent-"]:hover{
+        z-index:11; }
+      .bp3-button-group .bp3-button[class*="bp3-intent-"]:active, .bp3-button-group .bp3-button[class*="bp3-intent-"].bp3-active{
+        z-index:12; }
+      .bp3-button-group .bp3-button[class*="bp3-intent-"]:disabled, .bp3-button-group .bp3-button[class*="bp3-intent-"].bp3-disabled{
+        z-index:8; }
+  .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:first-child) .bp3-button,
+  .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:first-child){
+    border-bottom-left-radius:0;
+    border-top-left-radius:0; }
+  .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button,
+  .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:last-child){
+    border-bottom-right-radius:0;
+    border-top-right-radius:0;
+    margin-right:-1px; }
+  .bp3-button-group.bp3-minimal .bp3-button{
+    background:none;
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+    .bp3-button-group.bp3-minimal .bp3-button:hover{
+      background:rgba(167, 182, 194, 0.3);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#182026;
+      text-decoration:none; }
+    .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-active{
+      background:rgba(115, 134, 148, 0.3);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#182026; }
+    .bp3-button-group.bp3-minimal .bp3-button:disabled, .bp3-button-group.bp3-minimal .bp3-button:disabled:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover{
+      background:none;
+      color:rgba(92, 112, 128, 0.6);
+      cursor:not-allowed; }
+      .bp3-button-group.bp3-minimal .bp3-button:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button:disabled:hover.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover.bp3-active{
+        background:rgba(115, 134, 148, 0.3); }
+    .bp3-dark .bp3-button-group.bp3-minimal .bp3-button{
+      background:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:inherit; }
+      .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:hover, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none; }
+      .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:hover{
+        background:rgba(138, 155, 168, 0.15); }
+      .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-active{
+        background:rgba(138, 155, 168, 0.3);
+        color:#f5f8fa; }
+      .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled:hover, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover{
+        background:none;
+        color:rgba(167, 182, 194, 0.6);
+        cursor:not-allowed; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled:hover.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover.bp3-active{
+          background:rgba(138, 155, 168, 0.3); }
+    .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary{
+      color:#106ba3; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#106ba3; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{
+        background:rgba(19, 124, 189, 0.15);
+        color:#106ba3; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{
+        background:rgba(19, 124, 189, 0.3);
+        color:#106ba3; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled{
+        background:none;
+        color:rgba(16, 107, 163, 0.5); }
+        .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled.bp3-active{
+          background:rgba(19, 124, 189, 0.3); }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{
+        stroke:#106ba3; }
+      .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary{
+        color:#48aff0; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{
+          background:rgba(19, 124, 189, 0.2);
+          color:#48aff0; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active{
+          background:rgba(19, 124, 189, 0.3);
+          color:#48aff0; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled{
+          background:none;
+          color:rgba(72, 175, 240, 0.5); }
+          .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled.bp3-active{
+            background:rgba(19, 124, 189, 0.3); }
+    .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success{
+      color:#0d8050; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#0d8050; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{
+        background:rgba(15, 153, 96, 0.15);
+        color:#0d8050; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{
+        background:rgba(15, 153, 96, 0.3);
+        color:#0d8050; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled{
+        background:none;
+        color:rgba(13, 128, 80, 0.5); }
+        .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled.bp3-active{
+          background:rgba(15, 153, 96, 0.3); }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{
+        stroke:#0d8050; }
+      .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success{
+        color:#3dcc91; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{
+          background:rgba(15, 153, 96, 0.2);
+          color:#3dcc91; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active{
+          background:rgba(15, 153, 96, 0.3);
+          color:#3dcc91; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled{
+          background:none;
+          color:rgba(61, 204, 145, 0.5); }
+          .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled.bp3-active{
+            background:rgba(15, 153, 96, 0.3); }
+    .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning{
+      color:#bf7326; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#bf7326; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{
+        background:rgba(217, 130, 43, 0.15);
+        color:#bf7326; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{
+        background:rgba(217, 130, 43, 0.3);
+        color:#bf7326; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled{
+        background:none;
+        color:rgba(191, 115, 38, 0.5); }
+        .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled.bp3-active{
+          background:rgba(217, 130, 43, 0.3); }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{
+        stroke:#bf7326; }
+      .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning{
+        color:#ffb366; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{
+          background:rgba(217, 130, 43, 0.2);
+          color:#ffb366; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active{
+          background:rgba(217, 130, 43, 0.3);
+          color:#ffb366; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled{
+          background:none;
+          color:rgba(255, 179, 102, 0.5); }
+          .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled.bp3-active{
+            background:rgba(217, 130, 43, 0.3); }
+    .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger{
+      color:#c23030; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{
+        background:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:#c23030; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{
+        background:rgba(219, 55, 55, 0.15);
+        color:#c23030; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{
+        background:rgba(219, 55, 55, 0.3);
+        color:#c23030; }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled{
+        background:none;
+        color:rgba(194, 48, 48, 0.5); }
+        .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled.bp3-active, .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled.bp3-active{
+          background:rgba(219, 55, 55, 0.3); }
+      .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{
+        stroke:#c23030; }
+      .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger{
+        color:#ff7373; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{
+          background:rgba(219, 55, 55, 0.2);
+          color:#ff7373; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active{
+          background:rgba(219, 55, 55, 0.3);
+          color:#ff7373; }
+        .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled{
+          background:none;
+          color:rgba(255, 115, 115, 0.5); }
+          .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled.bp3-active{
+            background:rgba(219, 55, 55, 0.3); }
+  .bp3-button-group .bp3-popover-wrapper,
+  .bp3-button-group .bp3-popover-target{
+    display:-webkit-box;
+    display:-ms-flexbox;
+    display:flex;
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto; }
+  .bp3-button-group.bp3-fill{
+    display:-webkit-box;
+    display:-ms-flexbox;
+    display:flex;
+    width:100%; }
+  .bp3-button-group .bp3-button.bp3-fill,
+  .bp3-button-group.bp3-fill .bp3-button:not(.bp3-fixed){
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto; }
+  .bp3-button-group.bp3-vertical{
+    -webkit-box-align:stretch;
+        -ms-flex-align:stretch;
+            align-items:stretch;
+    -webkit-box-orient:vertical;
+    -webkit-box-direction:normal;
+        -ms-flex-direction:column;
+            flex-direction:column;
+    vertical-align:top; }
+    .bp3-button-group.bp3-vertical.bp3-fill{
+      height:100%;
+      width:unset; }
+    .bp3-button-group.bp3-vertical .bp3-button{
+      margin-right:0 !important;
+      width:100%; }
+    .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:first-child .bp3-button,
+    .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:first-child{
+      border-radius:3px 3px 0 0; }
+    .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:last-child .bp3-button,
+    .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:last-child{
+      border-radius:0 0 3px 3px; }
+    .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button,
+    .bp3-button-group.bp3-vertical:not(.bp3-minimal) > .bp3-button:not(:last-child){
+      margin-bottom:-1px; }
+  .bp3-button-group.bp3-align-left .bp3-button{
+    text-align:left; }
+  .bp3-dark .bp3-button-group:not(.bp3-minimal) > .bp3-popover-wrapper:not(:last-child) .bp3-button,
+  .bp3-dark .bp3-button-group:not(.bp3-minimal) > .bp3-button:not(:last-child){
+    margin-right:1px; }
+  .bp3-dark .bp3-button-group.bp3-vertical > .bp3-popover-wrapper:not(:last-child) .bp3-button,
+  .bp3-dark .bp3-button-group.bp3-vertical > .bp3-button:not(:last-child){
+    margin-bottom:1px; }
+.bp3-callout{
+  font-size:14px;
+  line-height:1.5;
+  background-color:rgba(138, 155, 168, 0.15);
+  border-radius:3px;
+  padding:10px 12px 9px;
+  position:relative;
+  width:100%; }
+  .bp3-callout[class*="bp3-icon-"]{
+    padding-left:40px; }
+    .bp3-callout[class*="bp3-icon-"]::before{
+      font-family:"Icons20", sans-serif;
+      font-size:20px;
+      font-style:normal;
+      font-weight:400;
+      line-height:1;
+      -moz-osx-font-smoothing:grayscale;
+      -webkit-font-smoothing:antialiased;
+      color:#5c7080;
+      left:10px;
+      position:absolute;
+      top:10px; }
+  .bp3-callout.bp3-callout-icon{
+    padding-left:40px; }
+    .bp3-callout.bp3-callout-icon > .bp3-icon:first-child{
+      color:#5c7080;
+      left:10px;
+      position:absolute;
+      top:10px; }
+  .bp3-callout .bp3-heading{
+    line-height:20px;
+    margin-bottom:5px;
+    margin-top:0; }
+    .bp3-callout .bp3-heading:last-child{
+      margin-bottom:0; }
+  .bp3-dark .bp3-callout{
+    background-color:rgba(138, 155, 168, 0.2); }
+    .bp3-dark .bp3-callout[class*="bp3-icon-"]::before{
+      color:#a7b6c2; }
+  .bp3-callout.bp3-intent-primary{
+    background-color:rgba(19, 124, 189, 0.15); }
+    .bp3-callout.bp3-intent-primary[class*="bp3-icon-"]::before,
+    .bp3-callout.bp3-intent-primary > .bp3-icon:first-child,
+    .bp3-callout.bp3-intent-primary .bp3-heading{
+      color:#106ba3; }
+    .bp3-dark .bp3-callout.bp3-intent-primary{
+      background-color:rgba(19, 124, 189, 0.25); }
+      .bp3-dark .bp3-callout.bp3-intent-primary[class*="bp3-icon-"]::before,
+      .bp3-dark .bp3-callout.bp3-intent-primary > .bp3-icon:first-child,
+      .bp3-dark .bp3-callout.bp3-intent-primary .bp3-heading{
+        color:#48aff0; }
+  .bp3-callout.bp3-intent-success{
+    background-color:rgba(15, 153, 96, 0.15); }
+    .bp3-callout.bp3-intent-success[class*="bp3-icon-"]::before,
+    .bp3-callout.bp3-intent-success > .bp3-icon:first-child,
+    .bp3-callout.bp3-intent-success .bp3-heading{
+      color:#0d8050; }
+    .bp3-dark .bp3-callout.bp3-intent-success{
+      background-color:rgba(15, 153, 96, 0.25); }
+      .bp3-dark .bp3-callout.bp3-intent-success[class*="bp3-icon-"]::before,
+      .bp3-dark .bp3-callout.bp3-intent-success > .bp3-icon:first-child,
+      .bp3-dark .bp3-callout.bp3-intent-success .bp3-heading{
+        color:#3dcc91; }
+  .bp3-callout.bp3-intent-warning{
+    background-color:rgba(217, 130, 43, 0.15); }
+    .bp3-callout.bp3-intent-warning[class*="bp3-icon-"]::before,
+    .bp3-callout.bp3-intent-warning > .bp3-icon:first-child,
+    .bp3-callout.bp3-intent-warning .bp3-heading{
+      color:#bf7326; }
+    .bp3-dark .bp3-callout.bp3-intent-warning{
+      background-color:rgba(217, 130, 43, 0.25); }
+      .bp3-dark .bp3-callout.bp3-intent-warning[class*="bp3-icon-"]::before,
+      .bp3-dark .bp3-callout.bp3-intent-warning > .bp3-icon:first-child,
+      .bp3-dark .bp3-callout.bp3-intent-warning .bp3-heading{
+        color:#ffb366; }
+  .bp3-callout.bp3-intent-danger{
+    background-color:rgba(219, 55, 55, 0.15); }
+    .bp3-callout.bp3-intent-danger[class*="bp3-icon-"]::before,
+    .bp3-callout.bp3-intent-danger > .bp3-icon:first-child,
+    .bp3-callout.bp3-intent-danger .bp3-heading{
+      color:#c23030; }
+    .bp3-dark .bp3-callout.bp3-intent-danger{
+      background-color:rgba(219, 55, 55, 0.25); }
+      .bp3-dark .bp3-callout.bp3-intent-danger[class*="bp3-icon-"]::before,
+      .bp3-dark .bp3-callout.bp3-intent-danger > .bp3-icon:first-child,
+      .bp3-dark .bp3-callout.bp3-intent-danger .bp3-heading{
+        color:#ff7373; }
+  .bp3-running-text .bp3-callout{
+    margin:20px 0; }
+.bp3-card{
+  background-color:#ffffff;
+  border-radius:3px;
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0);
+  padding:20px;
+  -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-card.bp3-dark,
+  .bp3-dark .bp3-card{
+    background-color:#30404d;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); }
+
+.bp3-elevation-0{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.15), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); }
+  .bp3-elevation-0.bp3-dark,
+  .bp3-dark .bp3-elevation-0{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), 0 0 0 rgba(16, 22, 26, 0), 0 0 0 rgba(16, 22, 26, 0); }
+
+.bp3-elevation-1{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-elevation-1.bp3-dark,
+  .bp3-dark .bp3-elevation-1{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); }
+
+.bp3-elevation-2{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2), 0 2px 6px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2), 0 2px 6px rgba(16, 22, 26, 0.2); }
+  .bp3-elevation-2.bp3-dark,
+  .bp3-dark .bp3-elevation-2{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4), 0 2px 6px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4), 0 2px 6px rgba(16, 22, 26, 0.4); }
+
+.bp3-elevation-3{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); }
+  .bp3-elevation-3.bp3-dark,
+  .bp3-dark .bp3-elevation-3{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); }
+
+.bp3-elevation-4{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); }
+  .bp3-elevation-4.bp3-dark,
+  .bp3-dark .bp3-elevation-4{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); }
+
+.bp3-card.bp3-interactive:hover{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+  cursor:pointer; }
+  .bp3-card.bp3-interactive:hover.bp3-dark,
+  .bp3-dark .bp3-card.bp3-interactive:hover{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); }
+
+.bp3-card.bp3-interactive:active{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);
+  opacity:0.9;
+  -webkit-transition-duration:0;
+          transition-duration:0; }
+  .bp3-card.bp3-interactive:active.bp3-dark,
+  .bp3-dark .bp3-card.bp3-interactive:active{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); }
+
+.bp3-collapse{
+  height:0;
+  overflow-y:hidden;
+  -webkit-transition:height 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:height 200ms cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-collapse .bp3-collapse-body{
+    -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); }
+    .bp3-collapse .bp3-collapse-body[aria-hidden="true"]{
+      display:none; }
+
+.bp3-context-menu .bp3-popover-target{
+  display:block; }
+
+.bp3-context-menu-popover-target{
+  position:fixed; }
+
+.bp3-divider{
+  border-bottom:1px solid rgba(16, 22, 26, 0.15);
+  border-right:1px solid rgba(16, 22, 26, 0.15);
+  margin:5px; }
+  .bp3-dark .bp3-divider{
+    border-color:rgba(16, 22, 26, 0.4); }
+.bp3-dialog-container{
+  opacity:1;
+  -webkit-transform:scale(1);
+          transform:scale(1);
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-pack:center;
+      -ms-flex-pack:center;
+          justify-content:center;
+  min-height:100%;
+  pointer-events:none;
+  -webkit-user-select:none;
+     -moz-user-select:none;
+      -ms-user-select:none;
+          user-select:none;
+  width:100%; }
+  .bp3-dialog-container.bp3-overlay-enter > .bp3-dialog, .bp3-dialog-container.bp3-overlay-appear > .bp3-dialog{
+    opacity:0;
+    -webkit-transform:scale(0.5);
+            transform:scale(0.5); }
+  .bp3-dialog-container.bp3-overlay-enter-active > .bp3-dialog, .bp3-dialog-container.bp3-overlay-appear-active > .bp3-dialog{
+    opacity:1;
+    -webkit-transform:scale(1);
+            transform:scale(1);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:300ms;
+            transition-duration:300ms;
+    -webkit-transition-property:opacity, -webkit-transform;
+    transition-property:opacity, -webkit-transform;
+    transition-property:opacity, transform;
+    transition-property:opacity, transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11);
+            transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); }
+  .bp3-dialog-container.bp3-overlay-exit > .bp3-dialog{
+    opacity:1;
+    -webkit-transform:scale(1);
+            transform:scale(1); }
+  .bp3-dialog-container.bp3-overlay-exit-active > .bp3-dialog{
+    opacity:0;
+    -webkit-transform:scale(0.5);
+            transform:scale(0.5);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:300ms;
+            transition-duration:300ms;
+    -webkit-transition-property:opacity, -webkit-transform;
+    transition-property:opacity, -webkit-transform;
+    transition-property:opacity, transform;
+    transition-property:opacity, transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11);
+            transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); }
+
+.bp3-dialog{
+  background:#ebf1f5;
+  border-radius:6px;
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2);
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:vertical;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:column;
+          flex-direction:column;
+  margin:30px 0;
+  padding-bottom:20px;
+  pointer-events:all;
+  -webkit-user-select:text;
+     -moz-user-select:text;
+      -ms-user-select:text;
+          user-select:text;
+  width:500px; }
+  .bp3-dialog:focus{
+    outline:0; }
+  .bp3-dialog.bp3-dark,
+  .bp3-dark .bp3-dialog{
+    background:#293742;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4);
+    color:#f5f8fa; }
+
+.bp3-dialog-header{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  background:#ffffff;
+  border-radius:6px 6px 0 0;
+  -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.15);
+          box-shadow:0 1px 0 rgba(16, 22, 26, 0.15);
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-flex:0;
+      -ms-flex:0 0 auto;
+          flex:0 0 auto;
+  min-height:40px;
+  padding-left:20px;
+  padding-right:5px; }
+  .bp3-dialog-header .bp3-icon-large,
+  .bp3-dialog-header .bp3-icon{
+    color:#5c7080;
+    -webkit-box-flex:0;
+        -ms-flex:0 0 auto;
+            flex:0 0 auto;
+    margin-right:10px; }
+  .bp3-dialog-header .bp3-heading{
+    overflow:hidden;
+    text-overflow:ellipsis;
+    white-space:nowrap;
+    word-wrap:normal;
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto;
+    line-height:inherit;
+    margin:0; }
+    .bp3-dialog-header .bp3-heading:last-child{
+      margin-right:20px; }
+  .bp3-dark .bp3-dialog-header{
+    background:#30404d;
+    -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.4);
+            box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-dialog-header .bp3-icon-large,
+    .bp3-dark .bp3-dialog-header .bp3-icon{
+      color:#a7b6c2; }
+
+.bp3-dialog-body{
+  -webkit-box-flex:1;
+      -ms-flex:1 1 auto;
+          flex:1 1 auto;
+  line-height:18px;
+  margin:20px; }
+
+.bp3-dialog-footer{
+  -webkit-box-flex:0;
+      -ms-flex:0 0 auto;
+          flex:0 0 auto;
+  margin:0 20px; }
+
+.bp3-dialog-footer-actions{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-pack:end;
+      -ms-flex-pack:end;
+          justify-content:flex-end; }
+  .bp3-dialog-footer-actions .bp3-button{
+    margin-left:10px; }
+.bp3-drawer{
+  background:#ffffff;
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2);
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:vertical;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:column;
+          flex-direction:column;
+  margin:0;
+  padding:0; }
+  .bp3-drawer:focus{
+    outline:0; }
+  .bp3-drawer.bp3-position-top{
+    height:50%;
+    left:0;
+    right:0;
+    top:0; }
+    .bp3-drawer.bp3-position-top.bp3-overlay-enter, .bp3-drawer.bp3-position-top.bp3-overlay-appear{
+      -webkit-transform:translateY(-100%);
+              transform:translateY(-100%); }
+    .bp3-drawer.bp3-position-top.bp3-overlay-enter-active, .bp3-drawer.bp3-position-top.bp3-overlay-appear-active{
+      -webkit-transform:translateY(0);
+              transform:translateY(0);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:200ms;
+              transition-duration:200ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+    .bp3-drawer.bp3-position-top.bp3-overlay-exit{
+      -webkit-transform:translateY(0);
+              transform:translateY(0); }
+    .bp3-drawer.bp3-position-top.bp3-overlay-exit-active{
+      -webkit-transform:translateY(-100%);
+              transform:translateY(-100%);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:100ms;
+              transition-duration:100ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-drawer.bp3-position-bottom{
+    bottom:0;
+    height:50%;
+    left:0;
+    right:0; }
+    .bp3-drawer.bp3-position-bottom.bp3-overlay-enter, .bp3-drawer.bp3-position-bottom.bp3-overlay-appear{
+      -webkit-transform:translateY(100%);
+              transform:translateY(100%); }
+    .bp3-drawer.bp3-position-bottom.bp3-overlay-enter-active, .bp3-drawer.bp3-position-bottom.bp3-overlay-appear-active{
+      -webkit-transform:translateY(0);
+              transform:translateY(0);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:200ms;
+              transition-duration:200ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+    .bp3-drawer.bp3-position-bottom.bp3-overlay-exit{
+      -webkit-transform:translateY(0);
+              transform:translateY(0); }
+    .bp3-drawer.bp3-position-bottom.bp3-overlay-exit-active{
+      -webkit-transform:translateY(100%);
+              transform:translateY(100%);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:100ms;
+              transition-duration:100ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-drawer.bp3-position-left{
+    bottom:0;
+    left:0;
+    top:0;
+    width:50%; }
+    .bp3-drawer.bp3-position-left.bp3-overlay-enter, .bp3-drawer.bp3-position-left.bp3-overlay-appear{
+      -webkit-transform:translateX(-100%);
+              transform:translateX(-100%); }
+    .bp3-drawer.bp3-position-left.bp3-overlay-enter-active, .bp3-drawer.bp3-position-left.bp3-overlay-appear-active{
+      -webkit-transform:translateX(0);
+              transform:translateX(0);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:200ms;
+              transition-duration:200ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+    .bp3-drawer.bp3-position-left.bp3-overlay-exit{
+      -webkit-transform:translateX(0);
+              transform:translateX(0); }
+    .bp3-drawer.bp3-position-left.bp3-overlay-exit-active{
+      -webkit-transform:translateX(-100%);
+              transform:translateX(-100%);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:100ms;
+              transition-duration:100ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-drawer.bp3-position-right{
+    bottom:0;
+    right:0;
+    top:0;
+    width:50%; }
+    .bp3-drawer.bp3-position-right.bp3-overlay-enter, .bp3-drawer.bp3-position-right.bp3-overlay-appear{
+      -webkit-transform:translateX(100%);
+              transform:translateX(100%); }
+    .bp3-drawer.bp3-position-right.bp3-overlay-enter-active, .bp3-drawer.bp3-position-right.bp3-overlay-appear-active{
+      -webkit-transform:translateX(0);
+              transform:translateX(0);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:200ms;
+              transition-duration:200ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+    .bp3-drawer.bp3-position-right.bp3-overlay-exit{
+      -webkit-transform:translateX(0);
+              transform:translateX(0); }
+    .bp3-drawer.bp3-position-right.bp3-overlay-exit-active{
+      -webkit-transform:translateX(100%);
+              transform:translateX(100%);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:100ms;
+              transition-duration:100ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+  .bp3-position-right):not(.bp3-vertical){
+    bottom:0;
+    right:0;
+    top:0;
+    width:50%; }
+    .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right):not(.bp3-vertical).bp3-overlay-enter, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right):not(.bp3-vertical).bp3-overlay-appear{
+      -webkit-transform:translateX(100%);
+              transform:translateX(100%); }
+    .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right):not(.bp3-vertical).bp3-overlay-enter-active, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right):not(.bp3-vertical).bp3-overlay-appear-active{
+      -webkit-transform:translateX(0);
+              transform:translateX(0);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:200ms;
+              transition-duration:200ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+    .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right):not(.bp3-vertical).bp3-overlay-exit{
+      -webkit-transform:translateX(0);
+              transform:translateX(0); }
+    .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right):not(.bp3-vertical).bp3-overlay-exit-active{
+      -webkit-transform:translateX(100%);
+              transform:translateX(100%);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:100ms;
+              transition-duration:100ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+  .bp3-position-right).bp3-vertical{
+    bottom:0;
+    height:50%;
+    left:0;
+    right:0; }
+    .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right).bp3-vertical.bp3-overlay-enter, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right).bp3-vertical.bp3-overlay-appear{
+      -webkit-transform:translateY(100%);
+              transform:translateY(100%); }
+    .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right).bp3-vertical.bp3-overlay-enter-active, .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right).bp3-vertical.bp3-overlay-appear-active{
+      -webkit-transform:translateY(0);
+              transform:translateY(0);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:200ms;
+              transition-duration:200ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+    .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right).bp3-vertical.bp3-overlay-exit{
+      -webkit-transform:translateY(0);
+              transform:translateY(0); }
+    .bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(
+    .bp3-position-right).bp3-vertical.bp3-overlay-exit-active{
+      -webkit-transform:translateY(100%);
+              transform:translateY(100%);
+      -webkit-transition-delay:0;
+              transition-delay:0;
+      -webkit-transition-duration:100ms;
+              transition-duration:100ms;
+      -webkit-transition-property:-webkit-transform;
+      transition-property:-webkit-transform;
+      transition-property:transform;
+      transition-property:transform, -webkit-transform;
+      -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+              transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-drawer.bp3-dark,
+  .bp3-dark .bp3-drawer{
+    background:#30404d;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4);
+    color:#f5f8fa; }
+
+.bp3-drawer-header{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  border-radius:0;
+  -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.15);
+          box-shadow:0 1px 0 rgba(16, 22, 26, 0.15);
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-flex:0;
+      -ms-flex:0 0 auto;
+          flex:0 0 auto;
+  min-height:40px;
+  padding:5px;
+  padding-left:20px;
+  position:relative; }
+  .bp3-drawer-header .bp3-icon-large,
+  .bp3-drawer-header .bp3-icon{
+    color:#5c7080;
+    -webkit-box-flex:0;
+        -ms-flex:0 0 auto;
+            flex:0 0 auto;
+    margin-right:10px; }
+  .bp3-drawer-header .bp3-heading{
+    overflow:hidden;
+    text-overflow:ellipsis;
+    white-space:nowrap;
+    word-wrap:normal;
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto;
+    line-height:inherit;
+    margin:0; }
+    .bp3-drawer-header .bp3-heading:last-child{
+      margin-right:20px; }
+  .bp3-dark .bp3-drawer-header{
+    -webkit-box-shadow:0 1px 0 rgba(16, 22, 26, 0.4);
+            box-shadow:0 1px 0 rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-drawer-header .bp3-icon-large,
+    .bp3-dark .bp3-drawer-header .bp3-icon{
+      color:#a7b6c2; }
+
+.bp3-drawer-body{
+  -webkit-box-flex:1;
+      -ms-flex:1 1 auto;
+          flex:1 1 auto;
+  line-height:18px;
+  overflow:auto; }
+
+.bp3-drawer-footer{
+  -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15);
+          box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15);
+  -webkit-box-flex:0;
+      -ms-flex:0 0 auto;
+          flex:0 0 auto;
+  padding:10px 20px;
+  position:relative; }
+  .bp3-dark .bp3-drawer-footer{
+    -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.4);
+            box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.4); }
+.bp3-editable-text{
+  cursor:text;
+  display:inline-block;
+  max-width:100%;
+  position:relative;
+  vertical-align:top;
+  white-space:nowrap; }
+  .bp3-editable-text::before{
+    bottom:-3px;
+    left:-3px;
+    position:absolute;
+    right:-3px;
+    top:-3px;
+    border-radius:3px;
+    content:"";
+    -webkit-transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-editable-text:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15);
+            box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15); }
+  .bp3-editable-text.bp3-editable-text-editing::before{
+    background-color:#ffffff;
+    -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-editable-text.bp3-disabled::before{
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+  .bp3-editable-text.bp3-intent-primary .bp3-editable-text-input,
+  .bp3-editable-text.bp3-intent-primary .bp3-editable-text-content{
+    color:#137cbd; }
+  .bp3-editable-text.bp3-intent-primary:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(19, 124, 189, 0.4);
+            box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(19, 124, 189, 0.4); }
+  .bp3-editable-text.bp3-intent-primary.bp3-editable-text-editing::before{
+    -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-editable-text.bp3-intent-success .bp3-editable-text-input,
+  .bp3-editable-text.bp3-intent-success .bp3-editable-text-content{
+    color:#0f9960; }
+  .bp3-editable-text.bp3-intent-success:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px rgba(15, 153, 96, 0.4);
+            box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px rgba(15, 153, 96, 0.4); }
+  .bp3-editable-text.bp3-intent-success.bp3-editable-text-editing::before{
+    -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-editable-text.bp3-intent-warning .bp3-editable-text-input,
+  .bp3-editable-text.bp3-intent-warning .bp3-editable-text-content{
+    color:#d9822b; }
+  .bp3-editable-text.bp3-intent-warning:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px rgba(217, 130, 43, 0.4);
+            box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px rgba(217, 130, 43, 0.4); }
+  .bp3-editable-text.bp3-intent-warning.bp3-editable-text-editing::before{
+    -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-editable-text.bp3-intent-danger .bp3-editable-text-input,
+  .bp3-editable-text.bp3-intent-danger .bp3-editable-text-content{
+    color:#db3737; }
+  .bp3-editable-text.bp3-intent-danger:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px rgba(219, 55, 55, 0.4);
+            box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px rgba(219, 55, 55, 0.4); }
+  .bp3-editable-text.bp3-intent-danger.bp3-editable-text-editing::before{
+    -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-dark .bp3-editable-text:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(255, 255, 255, 0.15);
+            box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(255, 255, 255, 0.15); }
+  .bp3-dark .bp3-editable-text.bp3-editable-text-editing::before{
+    background-color:rgba(16, 22, 26, 0.3);
+    -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-editable-text.bp3-disabled::before{
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+  .bp3-dark .bp3-editable-text.bp3-intent-primary .bp3-editable-text-content{
+    color:#48aff0; }
+  .bp3-dark .bp3-editable-text.bp3-intent-primary:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(72, 175, 240, 0), 0 0 0 0 rgba(72, 175, 240, 0), inset 0 0 0 1px rgba(72, 175, 240, 0.4);
+            box-shadow:0 0 0 0 rgba(72, 175, 240, 0), 0 0 0 0 rgba(72, 175, 240, 0), inset 0 0 0 1px rgba(72, 175, 240, 0.4); }
+  .bp3-dark .bp3-editable-text.bp3-intent-primary.bp3-editable-text-editing::before{
+    -webkit-box-shadow:0 0 0 1px #48aff0, 0 0 0 3px rgba(72, 175, 240, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px #48aff0, 0 0 0 3px rgba(72, 175, 240, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-editable-text.bp3-intent-success .bp3-editable-text-content{
+    color:#3dcc91; }
+  .bp3-dark .bp3-editable-text.bp3-intent-success:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(61, 204, 145, 0), 0 0 0 0 rgba(61, 204, 145, 0), inset 0 0 0 1px rgba(61, 204, 145, 0.4);
+            box-shadow:0 0 0 0 rgba(61, 204, 145, 0), 0 0 0 0 rgba(61, 204, 145, 0), inset 0 0 0 1px rgba(61, 204, 145, 0.4); }
+  .bp3-dark .bp3-editable-text.bp3-intent-success.bp3-editable-text-editing::before{
+    -webkit-box-shadow:0 0 0 1px #3dcc91, 0 0 0 3px rgba(61, 204, 145, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px #3dcc91, 0 0 0 3px rgba(61, 204, 145, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-editable-text.bp3-intent-warning .bp3-editable-text-content{
+    color:#ffb366; }
+  .bp3-dark .bp3-editable-text.bp3-intent-warning:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(255, 179, 102, 0), 0 0 0 0 rgba(255, 179, 102, 0), inset 0 0 0 1px rgba(255, 179, 102, 0.4);
+            box-shadow:0 0 0 0 rgba(255, 179, 102, 0), 0 0 0 0 rgba(255, 179, 102, 0), inset 0 0 0 1px rgba(255, 179, 102, 0.4); }
+  .bp3-dark .bp3-editable-text.bp3-intent-warning.bp3-editable-text-editing::before{
+    -webkit-box-shadow:0 0 0 1px #ffb366, 0 0 0 3px rgba(255, 179, 102, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px #ffb366, 0 0 0 3px rgba(255, 179, 102, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-editable-text.bp3-intent-danger .bp3-editable-text-content{
+    color:#ff7373; }
+  .bp3-dark .bp3-editable-text.bp3-intent-danger:hover::before{
+    -webkit-box-shadow:0 0 0 0 rgba(255, 115, 115, 0), 0 0 0 0 rgba(255, 115, 115, 0), inset 0 0 0 1px rgba(255, 115, 115, 0.4);
+            box-shadow:0 0 0 0 rgba(255, 115, 115, 0), 0 0 0 0 rgba(255, 115, 115, 0), inset 0 0 0 1px rgba(255, 115, 115, 0.4); }
+  .bp3-dark .bp3-editable-text.bp3-intent-danger.bp3-editable-text-editing::before{
+    -webkit-box-shadow:0 0 0 1px #ff7373, 0 0 0 3px rgba(255, 115, 115, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px #ff7373, 0 0 0 3px rgba(255, 115, 115, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+
+.bp3-editable-text-input,
+.bp3-editable-text-content{
+  color:inherit;
+  display:inherit;
+  font:inherit;
+  letter-spacing:inherit;
+  max-width:inherit;
+  min-width:inherit;
+  position:relative;
+  resize:none;
+  text-transform:inherit;
+  vertical-align:top; }
+
+.bp3-editable-text-input{
+  background:none;
+  border:none;
+  -webkit-box-shadow:none;
+          box-shadow:none;
+  padding:0;
+  white-space:pre-wrap;
+  width:100%; }
+  .bp3-editable-text-input::-webkit-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-editable-text-input::-moz-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-editable-text-input:-ms-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-editable-text-input::-ms-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-editable-text-input::placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-editable-text-input:focus{
+    outline:none; }
+  .bp3-editable-text-input::-ms-clear{
+    display:none; }
+
+.bp3-editable-text-content{
+  overflow:hidden;
+  padding-right:2px;
+  text-overflow:ellipsis;
+  white-space:pre; }
+  .bp3-editable-text-editing > .bp3-editable-text-content{
+    left:0;
+    position:absolute;
+    visibility:hidden; }
+  .bp3-editable-text-placeholder > .bp3-editable-text-content{
+    color:rgba(92, 112, 128, 0.6); }
+    .bp3-dark .bp3-editable-text-placeholder > .bp3-editable-text-content{
+      color:rgba(167, 182, 194, 0.6); }
+
+.bp3-editable-text.bp3-multiline{
+  display:block; }
+  .bp3-editable-text.bp3-multiline .bp3-editable-text-content{
+    overflow:auto;
+    white-space:pre-wrap;
+    word-wrap:break-word; }
+.bp3-divider{
+  border-bottom:1px solid rgba(16, 22, 26, 0.15);
+  border-right:1px solid rgba(16, 22, 26, 0.15);
+  margin:5px; }
+  .bp3-dark .bp3-divider{
+    border-color:rgba(16, 22, 26, 0.4); }
+.bp3-control-group{
+  -webkit-transform:translateZ(0);
+          transform:translateZ(0);
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:horizontal;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:row;
+          flex-direction:row;
+  -webkit-box-align:stretch;
+      -ms-flex-align:stretch;
+          align-items:stretch; }
+  .bp3-control-group > *{
+    -webkit-box-flex:0;
+        -ms-flex-positive:0;
+            flex-grow:0;
+    -ms-flex-negative:0;
+        flex-shrink:0; }
+  .bp3-control-group > .bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1;
+    -ms-flex-negative:1;
+        flex-shrink:1; }
+  .bp3-control-group .bp3-button,
+  .bp3-control-group .bp3-html-select,
+  .bp3-control-group .bp3-input,
+  .bp3-control-group .bp3-select{
+    position:relative; }
+  .bp3-control-group .bp3-input{
+    border-radius:inherit;
+    z-index:2; }
+    .bp3-control-group .bp3-input:focus{
+      border-radius:3px;
+      z-index:14; }
+    .bp3-control-group .bp3-input[class*="bp3-intent"]{
+      z-index:13; }
+      .bp3-control-group .bp3-input[class*="bp3-intent"]:focus{
+        z-index:15; }
+    .bp3-control-group .bp3-input[readonly], .bp3-control-group .bp3-input:disabled, .bp3-control-group .bp3-input.bp3-disabled{
+      z-index:1; }
+  .bp3-control-group .bp3-input-group[class*="bp3-intent"] .bp3-input{
+    z-index:13; }
+    .bp3-control-group .bp3-input-group[class*="bp3-intent"] .bp3-input:focus{
+      z-index:15; }
+  .bp3-control-group .bp3-button,
+  .bp3-control-group .bp3-html-select select,
+  .bp3-control-group .bp3-select select{
+    -webkit-transform:translateZ(0);
+            transform:translateZ(0);
+    border-radius:inherit;
+    z-index:4; }
+    .bp3-control-group .bp3-button:focus,
+    .bp3-control-group .bp3-html-select select:focus,
+    .bp3-control-group .bp3-select select:focus{
+      z-index:5; }
+    .bp3-control-group .bp3-button:hover,
+    .bp3-control-group .bp3-html-select select:hover,
+    .bp3-control-group .bp3-select select:hover{
+      z-index:6; }
+    .bp3-control-group .bp3-button:active,
+    .bp3-control-group .bp3-html-select select:active,
+    .bp3-control-group .bp3-select select:active{
+      z-index:7; }
+    .bp3-control-group .bp3-button[readonly], .bp3-control-group .bp3-button:disabled, .bp3-control-group .bp3-button.bp3-disabled,
+    .bp3-control-group .bp3-html-select select[readonly],
+    .bp3-control-group .bp3-html-select select:disabled,
+    .bp3-control-group .bp3-html-select select.bp3-disabled,
+    .bp3-control-group .bp3-select select[readonly],
+    .bp3-control-group .bp3-select select:disabled,
+    .bp3-control-group .bp3-select select.bp3-disabled{
+      z-index:3; }
+    .bp3-control-group .bp3-button[class*="bp3-intent"],
+    .bp3-control-group .bp3-html-select select[class*="bp3-intent"],
+    .bp3-control-group .bp3-select select[class*="bp3-intent"]{
+      z-index:9; }
+      .bp3-control-group .bp3-button[class*="bp3-intent"]:focus,
+      .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:focus,
+      .bp3-control-group .bp3-select select[class*="bp3-intent"]:focus{
+        z-index:10; }
+      .bp3-control-group .bp3-button[class*="bp3-intent"]:hover,
+      .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:hover,
+      .bp3-control-group .bp3-select select[class*="bp3-intent"]:hover{
+        z-index:11; }
+      .bp3-control-group .bp3-button[class*="bp3-intent"]:active,
+      .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:active,
+      .bp3-control-group .bp3-select select[class*="bp3-intent"]:active{
+        z-index:12; }
+      .bp3-control-group .bp3-button[class*="bp3-intent"][readonly], .bp3-control-group .bp3-button[class*="bp3-intent"]:disabled, .bp3-control-group .bp3-button[class*="bp3-intent"].bp3-disabled,
+      .bp3-control-group .bp3-html-select select[class*="bp3-intent"][readonly],
+      .bp3-control-group .bp3-html-select select[class*="bp3-intent"]:disabled,
+      .bp3-control-group .bp3-html-select select[class*="bp3-intent"].bp3-disabled,
+      .bp3-control-group .bp3-select select[class*="bp3-intent"][readonly],
+      .bp3-control-group .bp3-select select[class*="bp3-intent"]:disabled,
+      .bp3-control-group .bp3-select select[class*="bp3-intent"].bp3-disabled{
+        z-index:8; }
+  .bp3-control-group .bp3-input-group > .bp3-icon,
+  .bp3-control-group .bp3-input-group > .bp3-button,
+  .bp3-control-group .bp3-input-group > .bp3-input-action{
+    z-index:16; }
+  .bp3-control-group .bp3-select::after,
+  .bp3-control-group .bp3-html-select::after,
+  .bp3-control-group .bp3-select > .bp3-icon,
+  .bp3-control-group .bp3-html-select > .bp3-icon{
+    z-index:17; }
+  .bp3-control-group .bp3-select:focus-within{
+    z-index:5; }
+  .bp3-control-group:not(.bp3-vertical) > *:not(.bp3-divider){
+    margin-right:-1px; }
+  .bp3-control-group:not(.bp3-vertical) > .bp3-divider:not(:first-child){
+    margin-left:6px; }
+  .bp3-dark .bp3-control-group:not(.bp3-vertical) > *:not(.bp3-divider){
+    margin-right:0; }
+  .bp3-dark .bp3-control-group:not(.bp3-vertical) > .bp3-button + .bp3-button{
+    margin-left:1px; }
+  .bp3-control-group .bp3-popover-wrapper,
+  .bp3-control-group .bp3-popover-target{
+    border-radius:inherit; }
+  .bp3-control-group > :first-child{
+    border-radius:3px 0 0 3px; }
+  .bp3-control-group > :last-child{
+    border-radius:0 3px 3px 0;
+    margin-right:0; }
+  .bp3-control-group > :only-child{
+    border-radius:3px;
+    margin-right:0; }
+  .bp3-control-group .bp3-input-group .bp3-button{
+    border-radius:3px; }
+  .bp3-control-group .bp3-numeric-input:not(:first-child) .bp3-input-group{
+    border-bottom-left-radius:0;
+    border-top-left-radius:0; }
+  .bp3-control-group.bp3-fill{
+    width:100%; }
+  .bp3-control-group > .bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto; }
+  .bp3-control-group.bp3-fill > *:not(.bp3-fixed){
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto; }
+  .bp3-control-group.bp3-vertical{
+    -webkit-box-orient:vertical;
+    -webkit-box-direction:normal;
+        -ms-flex-direction:column;
+            flex-direction:column; }
+    .bp3-control-group.bp3-vertical > *{
+      margin-top:-1px; }
+    .bp3-control-group.bp3-vertical > :first-child{
+      border-radius:3px 3px 0 0;
+      margin-top:0; }
+    .bp3-control-group.bp3-vertical > :last-child{
+      border-radius:0 0 3px 3px; }
+.bp3-control{
+  cursor:pointer;
+  display:block;
+  margin-bottom:10px;
+  position:relative;
+  text-transform:none; }
+  .bp3-control input:checked ~ .bp3-control-indicator{
+    background-color:#137cbd;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+    color:#ffffff; }
+  .bp3-control:hover input:checked ~ .bp3-control-indicator{
+    background-color:#106ba3;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); }
+  .bp3-control input:not(:disabled):active:checked ~ .bp3-control-indicator{
+    background:#0e5a8a;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-control input:disabled:checked ~ .bp3-control-indicator{
+    background:rgba(19, 124, 189, 0.5);
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+  .bp3-dark .bp3-control input:checked ~ .bp3-control-indicator{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-control:hover input:checked ~ .bp3-control-indicator{
+    background-color:#106ba3;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-control input:not(:disabled):active:checked ~ .bp3-control-indicator{
+    background-color:#0e5a8a;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-dark .bp3-control input:disabled:checked ~ .bp3-control-indicator{
+    background:rgba(14, 90, 138, 0.5);
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+  .bp3-control:not(.bp3-align-right){
+    padding-left:26px; }
+    .bp3-control:not(.bp3-align-right) .bp3-control-indicator{
+      margin-left:-26px; }
+  .bp3-control.bp3-align-right{
+    padding-right:26px; }
+    .bp3-control.bp3-align-right .bp3-control-indicator{
+      margin-right:-26px; }
+  .bp3-control.bp3-disabled{
+    color:rgba(92, 112, 128, 0.6);
+    cursor:not-allowed; }
+  .bp3-control.bp3-inline{
+    display:inline-block;
+    margin-right:20px; }
+  .bp3-control input{
+    left:0;
+    opacity:0;
+    position:absolute;
+    top:0;
+    z-index:-1; }
+  .bp3-control .bp3-control-indicator{
+    background-clip:padding-box;
+    background-color:#f5f8fa;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
+    border:none;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+    cursor:pointer;
+    display:inline-block;
+    font-size:16px;
+    height:1em;
+    margin-right:10px;
+    margin-top:-3px;
+    position:relative;
+    -webkit-user-select:none;
+       -moz-user-select:none;
+        -ms-user-select:none;
+            user-select:none;
+    vertical-align:middle;
+    width:1em; }
+    .bp3-control .bp3-control-indicator::before{
+      content:"";
+      display:block;
+      height:1em;
+      width:1em; }
+  .bp3-control:hover .bp3-control-indicator{
+    background-color:#ebf1f5; }
+  .bp3-control input:not(:disabled):active ~ .bp3-control-indicator{
+    background:#d8e1e8;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-control input:disabled ~ .bp3-control-indicator{
+    background:rgba(206, 217, 224, 0.5);
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    cursor:not-allowed; }
+  .bp3-control input:focus ~ .bp3-control-indicator{
+    outline:rgba(19, 124, 189, 0.6) auto 2px;
+    outline-offset:2px;
+    -moz-outline-radius:6px; }
+  .bp3-control.bp3-align-right .bp3-control-indicator{
+    float:right;
+    margin-left:10px;
+    margin-top:1px; }
+  .bp3-control.bp3-large{
+    font-size:16px; }
+    .bp3-control.bp3-large:not(.bp3-align-right){
+      padding-left:30px; }
+      .bp3-control.bp3-large:not(.bp3-align-right) .bp3-control-indicator{
+        margin-left:-30px; }
+    .bp3-control.bp3-large.bp3-align-right{
+      padding-right:30px; }
+      .bp3-control.bp3-large.bp3-align-right .bp3-control-indicator{
+        margin-right:-30px; }
+    .bp3-control.bp3-large .bp3-control-indicator{
+      font-size:20px; }
+    .bp3-control.bp3-large.bp3-align-right .bp3-control-indicator{
+      margin-top:0; }
+  .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator{
+    background-color:#137cbd;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+    color:#ffffff; }
+  .bp3-control.bp3-checkbox:hover input:indeterminate ~ .bp3-control-indicator{
+    background-color:#106ba3;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 -1px 0 rgba(16, 22, 26, 0.2); }
+  .bp3-control.bp3-checkbox input:not(:disabled):active:indeterminate ~ .bp3-control-indicator{
+    background:#0e5a8a;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{
+    background:rgba(19, 124, 189, 0.5);
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+  .bp3-dark .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-control.bp3-checkbox:hover input:indeterminate ~ .bp3-control-indicator{
+    background-color:#106ba3;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-control.bp3-checkbox input:not(:disabled):active:indeterminate ~ .bp3-control-indicator{
+    background-color:#0e5a8a;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-dark .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{
+    background:rgba(14, 90, 138, 0.5);
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+  .bp3-control.bp3-checkbox .bp3-control-indicator{
+    border-radius:3px; }
+  .bp3-control.bp3-checkbox input:checked ~ .bp3-control-indicator::before{
+    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 5c-.28 0-.53.11-.71.29L7 9.59l-2.29-2.3a1.003 1.003 0 00-1.42 1.42l3 3c.18.18.43.29.71.29s.53-.11.71-.29l5-5A1.003 1.003 0 0012 5z' fill='white'/%3e%3c/svg%3e"); }
+  .bp3-control.bp3-checkbox input:indeterminate ~ .bp3-control-indicator::before{
+    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 7H5c-.55 0-1 .45-1 1s.45 1 1 1h6c.55 0 1-.45 1-1s-.45-1-1-1z' fill='white'/%3e%3c/svg%3e"); }
+  .bp3-control.bp3-radio .bp3-control-indicator{
+    border-radius:50%; }
+  .bp3-control.bp3-radio input:checked ~ .bp3-control-indicator::before{
+    background-image:radial-gradient(#ffffff, #ffffff 28%, transparent 32%); }
+  .bp3-control.bp3-radio input:checked:disabled ~ .bp3-control-indicator::before{
+    opacity:0.5; }
+  .bp3-control.bp3-radio input:focus ~ .bp3-control-indicator{
+    -moz-outline-radius:16px; }
+  .bp3-control.bp3-switch input ~ .bp3-control-indicator{
+    background:rgba(167, 182, 194, 0.5); }
+  .bp3-control.bp3-switch:hover input ~ .bp3-control-indicator{
+    background:rgba(115, 134, 148, 0.5); }
+  .bp3-control.bp3-switch input:not(:disabled):active ~ .bp3-control-indicator{
+    background:rgba(92, 112, 128, 0.5); }
+  .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator{
+    background:rgba(206, 217, 224, 0.5); }
+    .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator::before{
+      background:rgba(255, 255, 255, 0.8); }
+  .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator{
+    background:#137cbd; }
+  .bp3-control.bp3-switch:hover input:checked ~ .bp3-control-indicator{
+    background:#106ba3; }
+  .bp3-control.bp3-switch input:checked:not(:disabled):active ~ .bp3-control-indicator{
+    background:#0e5a8a; }
+  .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator{
+    background:rgba(19, 124, 189, 0.5); }
+    .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator::before{
+      background:rgba(255, 255, 255, 0.8); }
+  .bp3-control.bp3-switch:not(.bp3-align-right){
+    padding-left:38px; }
+    .bp3-control.bp3-switch:not(.bp3-align-right) .bp3-control-indicator{
+      margin-left:-38px; }
+  .bp3-control.bp3-switch.bp3-align-right{
+    padding-right:38px; }
+    .bp3-control.bp3-switch.bp3-align-right .bp3-control-indicator{
+      margin-right:-38px; }
+  .bp3-control.bp3-switch .bp3-control-indicator{
+    border:none;
+    border-radius:1.75em;
+    -webkit-box-shadow:none !important;
+            box-shadow:none !important;
+    min-width:1.75em;
+    -webkit-transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    width:auto; }
+    .bp3-control.bp3-switch .bp3-control-indicator::before{
+      background:#ffffff;
+      border-radius:50%;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2);
+      height:calc(1em - 4px);
+      left:0;
+      margin:2px;
+      position:absolute;
+      -webkit-transition:left 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+      transition:left 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+      width:calc(1em - 4px); }
+  .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator::before{
+    left:calc(100% - 1em); }
+  .bp3-control.bp3-switch.bp3-large:not(.bp3-align-right){
+    padding-left:45px; }
+    .bp3-control.bp3-switch.bp3-large:not(.bp3-align-right) .bp3-control-indicator{
+      margin-left:-45px; }
+  .bp3-control.bp3-switch.bp3-large.bp3-align-right{
+    padding-right:45px; }
+    .bp3-control.bp3-switch.bp3-large.bp3-align-right .bp3-control-indicator{
+      margin-right:-45px; }
+  .bp3-dark .bp3-control.bp3-switch input ~ .bp3-control-indicator{
+    background:rgba(16, 22, 26, 0.5); }
+  .bp3-dark .bp3-control.bp3-switch:hover input ~ .bp3-control-indicator{
+    background:rgba(16, 22, 26, 0.7); }
+  .bp3-dark .bp3-control.bp3-switch input:not(:disabled):active ~ .bp3-control-indicator{
+    background:rgba(16, 22, 26, 0.9); }
+  .bp3-dark .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator{
+    background:rgba(57, 75, 89, 0.5); }
+    .bp3-dark .bp3-control.bp3-switch input:disabled ~ .bp3-control-indicator::before{
+      background:rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator{
+    background:#137cbd; }
+  .bp3-dark .bp3-control.bp3-switch:hover input:checked ~ .bp3-control-indicator{
+    background:#106ba3; }
+  .bp3-dark .bp3-control.bp3-switch input:checked:not(:disabled):active ~ .bp3-control-indicator{
+    background:#0e5a8a; }
+  .bp3-dark .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator{
+    background:rgba(14, 90, 138, 0.5); }
+    .bp3-dark .bp3-control.bp3-switch input:checked:disabled ~ .bp3-control-indicator::before{
+      background:rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-control.bp3-switch .bp3-control-indicator::before{
+    background:#394b59;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator::before{
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); }
+  .bp3-control.bp3-switch .bp3-switch-inner-text{
+    font-size:0.7em;
+    text-align:center; }
+  .bp3-control.bp3-switch .bp3-control-indicator-child:first-child{
+    line-height:0;
+    margin-left:0.5em;
+    margin-right:1.2em;
+    visibility:hidden; }
+  .bp3-control.bp3-switch .bp3-control-indicator-child:last-child{
+    line-height:1em;
+    margin-left:1.2em;
+    margin-right:0.5em;
+    visibility:visible; }
+  .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator .bp3-control-indicator-child:first-child{
+    line-height:1em;
+    visibility:visible; }
+  .bp3-control.bp3-switch input:checked ~ .bp3-control-indicator .bp3-control-indicator-child:last-child{
+    line-height:0;
+    visibility:hidden; }
+  .bp3-dark .bp3-control{
+    color:#f5f8fa; }
+    .bp3-dark .bp3-control.bp3-disabled{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-control .bp3-control-indicator{
+      background-color:#394b59;
+      background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
+      background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-control:hover .bp3-control-indicator{
+      background-color:#30404d; }
+    .bp3-dark .bp3-control input:not(:disabled):active ~ .bp3-control-indicator{
+      background:#202b33;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-dark .bp3-control input:disabled ~ .bp3-control-indicator{
+      background:rgba(57, 75, 89, 0.5);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      cursor:not-allowed; }
+    .bp3-dark .bp3-control.bp3-checkbox input:disabled:checked ~ .bp3-control-indicator, .bp3-dark .bp3-control.bp3-checkbox input:disabled:indeterminate ~ .bp3-control-indicator{
+      color:rgba(167, 182, 194, 0.6); }
+.bp3-file-input{
+  cursor:pointer;
+  display:inline-block;
+  height:30px;
+  position:relative; }
+  .bp3-file-input input{
+    margin:0;
+    min-width:200px;
+    opacity:0; }
+    .bp3-file-input input:disabled + .bp3-file-upload-input,
+    .bp3-file-input input.bp3-disabled + .bp3-file-upload-input{
+      background:rgba(206, 217, 224, 0.5);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(92, 112, 128, 0.6);
+      cursor:not-allowed;
+      resize:none; }
+      .bp3-file-input input:disabled + .bp3-file-upload-input::after,
+      .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after{
+        background-color:rgba(206, 217, 224, 0.5);
+        background-image:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:rgba(92, 112, 128, 0.6);
+        cursor:not-allowed;
+        outline:none; }
+        .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active, .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active:hover,
+        .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active,
+        .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active:hover{
+          background:rgba(206, 217, 224, 0.7); }
+      .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input, .bp3-dark
+      .bp3-file-input input.bp3-disabled + .bp3-file-upload-input{
+        background:rgba(57, 75, 89, 0.5);
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:rgba(167, 182, 194, 0.6); }
+        .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input::after, .bp3-dark
+        .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after{
+          background-color:rgba(57, 75, 89, 0.5);
+          background-image:none;
+          -webkit-box-shadow:none;
+                  box-shadow:none;
+          color:rgba(167, 182, 194, 0.6); }
+          .bp3-dark .bp3-file-input input:disabled + .bp3-file-upload-input::after.bp3-active, .bp3-dark
+          .bp3-file-input input.bp3-disabled + .bp3-file-upload-input::after.bp3-active{
+            background:rgba(57, 75, 89, 0.7); }
+  .bp3-file-input.bp3-file-input-has-selection .bp3-file-upload-input{
+    color:#182026; }
+  .bp3-dark .bp3-file-input.bp3-file-input-has-selection .bp3-file-upload-input{
+    color:#f5f8fa; }
+  .bp3-file-input.bp3-fill{
+    width:100%; }
+  .bp3-file-input.bp3-large,
+  .bp3-large .bp3-file-input{
+    height:40px; }
+  .bp3-file-input .bp3-file-upload-input-custom-text::after{
+    content:attr(bp3-button-text); }
+
+.bp3-file-upload-input{
+  -webkit-appearance:none;
+     -moz-appearance:none;
+          appearance:none;
+  background:#ffffff;
+  border:none;
+  border-radius:3px;
+  -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+  color:#182026;
+  font-size:14px;
+  font-weight:400;
+  height:30px;
+  line-height:30px;
+  outline:none;
+  padding:0 10px;
+  -webkit-transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  vertical-align:middle;
+  overflow:hidden;
+  text-overflow:ellipsis;
+  white-space:nowrap;
+  word-wrap:normal;
+  color:rgba(92, 112, 128, 0.6);
+  left:0;
+  padding-right:80px;
+  position:absolute;
+  right:0;
+  top:0;
+  -webkit-user-select:none;
+     -moz-user-select:none;
+      -ms-user-select:none;
+          user-select:none; }
+  .bp3-file-upload-input::-webkit-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-file-upload-input::-moz-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-file-upload-input:-ms-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-file-upload-input::-ms-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-file-upload-input::placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-file-upload-input:focus, .bp3-file-upload-input.bp3-active{
+    -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-file-upload-input[type="search"], .bp3-file-upload-input.bp3-round{
+    border-radius:30px;
+    -webkit-box-sizing:border-box;
+            box-sizing:border-box;
+    padding-left:10px; }
+  .bp3-file-upload-input[readonly]{
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); }
+  .bp3-file-upload-input:disabled, .bp3-file-upload-input.bp3-disabled{
+    background:rgba(206, 217, 224, 0.5);
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:rgba(92, 112, 128, 0.6);
+    cursor:not-allowed;
+    resize:none; }
+  .bp3-file-upload-input::after{
+    background-color:#f5f8fa;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+    color:#182026;
+    min-height:24px;
+    min-width:24px;
+    overflow:hidden;
+    text-overflow:ellipsis;
+    white-space:nowrap;
+    word-wrap:normal;
+    border-radius:3px;
+    content:"Browse";
+    line-height:24px;
+    margin:3px;
+    position:absolute;
+    right:0;
+    text-align:center;
+    top:0;
+    width:70px; }
+    .bp3-file-upload-input::after:hover{
+      background-clip:padding-box;
+      background-color:#ebf1f5;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); }
+    .bp3-file-upload-input::after:active, .bp3-file-upload-input::after.bp3-active{
+      background-color:#d8e1e8;
+      background-image:none;
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-file-upload-input::after:disabled, .bp3-file-upload-input::after.bp3-disabled{
+      background-color:rgba(206, 217, 224, 0.5);
+      background-image:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(92, 112, 128, 0.6);
+      cursor:not-allowed;
+      outline:none; }
+      .bp3-file-upload-input::after:disabled.bp3-active, .bp3-file-upload-input::after:disabled.bp3-active:hover, .bp3-file-upload-input::after.bp3-disabled.bp3-active, .bp3-file-upload-input::after.bp3-disabled.bp3-active:hover{
+        background:rgba(206, 217, 224, 0.7); }
+  .bp3-file-upload-input:hover::after{
+    background-clip:padding-box;
+    background-color:#ebf1f5;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); }
+  .bp3-file-upload-input:active::after{
+    background-color:#d8e1e8;
+    background-image:none;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-large .bp3-file-upload-input{
+    font-size:16px;
+    height:40px;
+    line-height:40px;
+    padding-right:95px; }
+    .bp3-large .bp3-file-upload-input[type="search"], .bp3-large .bp3-file-upload-input.bp3-round{
+      padding:0 15px; }
+    .bp3-large .bp3-file-upload-input::after{
+      min-height:30px;
+      min-width:30px;
+      line-height:30px;
+      margin:5px;
+      width:85px; }
+  .bp3-dark .bp3-file-upload-input{
+    background:rgba(16, 22, 26, 0.3);
+    -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+    color:#f5f8fa;
+    color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-file-upload-input::-webkit-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-file-upload-input::-moz-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-file-upload-input:-ms-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-file-upload-input::-ms-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-file-upload-input::placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-file-upload-input:focus{
+      -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-file-upload-input[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-file-upload-input:disabled, .bp3-dark .bp3-file-upload-input.bp3-disabled{
+      background:rgba(57, 75, 89, 0.5);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-file-upload-input::after{
+      background-color:#394b59;
+      background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
+      background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+      color:#f5f8fa; }
+      .bp3-dark .bp3-file-upload-input::after:hover, .bp3-dark .bp3-file-upload-input::after:active, .bp3-dark .bp3-file-upload-input::after.bp3-active{
+        color:#f5f8fa; }
+      .bp3-dark .bp3-file-upload-input::after:hover{
+        background-color:#30404d;
+        -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+                box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-file-upload-input::after:active, .bp3-dark .bp3-file-upload-input::after.bp3-active{
+        background-color:#202b33;
+        background-image:none;
+        -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+                box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+      .bp3-dark .bp3-file-upload-input::after:disabled, .bp3-dark .bp3-file-upload-input::after.bp3-disabled{
+        background-color:rgba(57, 75, 89, 0.5);
+        background-image:none;
+        -webkit-box-shadow:none;
+                box-shadow:none;
+        color:rgba(167, 182, 194, 0.6); }
+        .bp3-dark .bp3-file-upload-input::after:disabled.bp3-active, .bp3-dark .bp3-file-upload-input::after.bp3-disabled.bp3-active{
+          background:rgba(57, 75, 89, 0.7); }
+      .bp3-dark .bp3-file-upload-input::after .bp3-button-spinner .bp3-spinner-head{
+        background:rgba(16, 22, 26, 0.5);
+        stroke:#8a9ba8; }
+    .bp3-dark .bp3-file-upload-input:hover::after{
+      background-color:#30404d;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-file-upload-input:active::after{
+      background-color:#202b33;
+      background-image:none;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+.bp3-file-upload-input::after{
+  -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+          box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); }
+.bp3-form-group{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:vertical;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:column;
+          flex-direction:column;
+  margin:0 0 15px; }
+  .bp3-form-group label.bp3-label{
+    margin-bottom:5px; }
+  .bp3-form-group .bp3-control{
+    margin-top:7px; }
+  .bp3-form-group .bp3-form-helper-text{
+    color:#5c7080;
+    font-size:12px;
+    margin-top:5px; }
+  .bp3-form-group.bp3-intent-primary .bp3-form-helper-text{
+    color:#106ba3; }
+  .bp3-form-group.bp3-intent-success .bp3-form-helper-text{
+    color:#0d8050; }
+  .bp3-form-group.bp3-intent-warning .bp3-form-helper-text{
+    color:#bf7326; }
+  .bp3-form-group.bp3-intent-danger .bp3-form-helper-text{
+    color:#c23030; }
+  .bp3-form-group.bp3-inline{
+    -webkit-box-align:start;
+        -ms-flex-align:start;
+            align-items:flex-start;
+    -webkit-box-orient:horizontal;
+    -webkit-box-direction:normal;
+        -ms-flex-direction:row;
+            flex-direction:row; }
+    .bp3-form-group.bp3-inline.bp3-large label.bp3-label{
+      line-height:40px;
+      margin:0 10px 0 0; }
+    .bp3-form-group.bp3-inline label.bp3-label{
+      line-height:30px;
+      margin:0 10px 0 0; }
+  .bp3-form-group.bp3-disabled .bp3-label,
+  .bp3-form-group.bp3-disabled .bp3-text-muted,
+  .bp3-form-group.bp3-disabled .bp3-form-helper-text{
+    color:rgba(92, 112, 128, 0.6) !important; }
+  .bp3-dark .bp3-form-group.bp3-intent-primary .bp3-form-helper-text{
+    color:#48aff0; }
+  .bp3-dark .bp3-form-group.bp3-intent-success .bp3-form-helper-text{
+    color:#3dcc91; }
+  .bp3-dark .bp3-form-group.bp3-intent-warning .bp3-form-helper-text{
+    color:#ffb366; }
+  .bp3-dark .bp3-form-group.bp3-intent-danger .bp3-form-helper-text{
+    color:#ff7373; }
+  .bp3-dark .bp3-form-group .bp3-form-helper-text{
+    color:#a7b6c2; }
+  .bp3-dark .bp3-form-group.bp3-disabled .bp3-label,
+  .bp3-dark .bp3-form-group.bp3-disabled .bp3-text-muted,
+  .bp3-dark .bp3-form-group.bp3-disabled .bp3-form-helper-text{
+    color:rgba(167, 182, 194, 0.6) !important; }
+.bp3-input-group{
+  display:block;
+  position:relative; }
+  .bp3-input-group .bp3-input{
+    position:relative;
+    width:100%; }
+    .bp3-input-group .bp3-input:not(:first-child){
+      padding-left:30px; }
+    .bp3-input-group .bp3-input:not(:last-child){
+      padding-right:30px; }
+  .bp3-input-group .bp3-input-action,
+  .bp3-input-group > .bp3-input-left-container,
+  .bp3-input-group > .bp3-button,
+  .bp3-input-group > .bp3-icon{
+    position:absolute;
+    top:0; }
+    .bp3-input-group .bp3-input-action:first-child,
+    .bp3-input-group > .bp3-input-left-container:first-child,
+    .bp3-input-group > .bp3-button:first-child,
+    .bp3-input-group > .bp3-icon:first-child{
+      left:0; }
+    .bp3-input-group .bp3-input-action:last-child,
+    .bp3-input-group > .bp3-input-left-container:last-child,
+    .bp3-input-group > .bp3-button:last-child,
+    .bp3-input-group > .bp3-icon:last-child{
+      right:0; }
+  .bp3-input-group .bp3-button{
+    min-height:24px;
+    min-width:24px;
+    margin:3px;
+    padding:0 7px; }
+    .bp3-input-group .bp3-button:empty{
+      padding:0; }
+  .bp3-input-group > .bp3-input-left-container,
+  .bp3-input-group > .bp3-icon{
+    z-index:1; }
+  .bp3-input-group > .bp3-input-left-container > .bp3-icon,
+  .bp3-input-group > .bp3-icon{
+    color:#5c7080; }
+    .bp3-input-group > .bp3-input-left-container > .bp3-icon:empty,
+    .bp3-input-group > .bp3-icon:empty{
+      font-family:"Icons16", sans-serif;
+      font-size:16px;
+      font-style:normal;
+      font-weight:400;
+      line-height:1;
+      -moz-osx-font-smoothing:grayscale;
+      -webkit-font-smoothing:antialiased; }
+  .bp3-input-group > .bp3-input-left-container > .bp3-icon,
+  .bp3-input-group > .bp3-icon,
+  .bp3-input-group .bp3-input-action > .bp3-spinner{
+    margin:7px; }
+  .bp3-input-group .bp3-tag{
+    margin:5px; }
+  .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus),
+  .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus){
+    color:#5c7080; }
+    .bp3-dark .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus), .bp3-dark
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus){
+      color:#a7b6c2; }
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-standard, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-large,
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon,
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-standard,
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-large{
+      color:#5c7080; }
+  .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled,
+  .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled{
+    color:rgba(92, 112, 128, 0.6) !important; }
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon-standard, .bp3-input-group .bp3-input:not(:focus) + .bp3-button.bp3-minimal:disabled .bp3-icon-large,
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon,
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon-standard,
+    .bp3-input-group .bp3-input:not(:focus) + .bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon-large{
+      color:rgba(92, 112, 128, 0.6) !important; }
+  .bp3-input-group.bp3-disabled{
+    cursor:not-allowed; }
+    .bp3-input-group.bp3-disabled .bp3-icon{
+      color:rgba(92, 112, 128, 0.6); }
+  .bp3-input-group.bp3-large .bp3-button{
+    min-height:30px;
+    min-width:30px;
+    margin:5px; }
+  .bp3-input-group.bp3-large > .bp3-input-left-container > .bp3-icon,
+  .bp3-input-group.bp3-large > .bp3-icon,
+  .bp3-input-group.bp3-large .bp3-input-action > .bp3-spinner{
+    margin:12px; }
+  .bp3-input-group.bp3-large .bp3-input{
+    font-size:16px;
+    height:40px;
+    line-height:40px; }
+    .bp3-input-group.bp3-large .bp3-input[type="search"], .bp3-input-group.bp3-large .bp3-input.bp3-round{
+      padding:0 15px; }
+    .bp3-input-group.bp3-large .bp3-input:not(:first-child){
+      padding-left:40px; }
+    .bp3-input-group.bp3-large .bp3-input:not(:last-child){
+      padding-right:40px; }
+  .bp3-input-group.bp3-small .bp3-button{
+    min-height:20px;
+    min-width:20px;
+    margin:2px; }
+  .bp3-input-group.bp3-small .bp3-tag{
+    min-height:20px;
+    min-width:20px;
+    margin:2px; }
+  .bp3-input-group.bp3-small > .bp3-input-left-container > .bp3-icon,
+  .bp3-input-group.bp3-small > .bp3-icon,
+  .bp3-input-group.bp3-small .bp3-input-action > .bp3-spinner{
+    margin:4px; }
+  .bp3-input-group.bp3-small .bp3-input{
+    font-size:12px;
+    height:24px;
+    line-height:24px;
+    padding-left:8px;
+    padding-right:8px; }
+    .bp3-input-group.bp3-small .bp3-input[type="search"], .bp3-input-group.bp3-small .bp3-input.bp3-round{
+      padding:0 12px; }
+    .bp3-input-group.bp3-small .bp3-input:not(:first-child){
+      padding-left:24px; }
+    .bp3-input-group.bp3-small .bp3-input:not(:last-child){
+      padding-right:24px; }
+  .bp3-input-group.bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto;
+    width:100%; }
+  .bp3-input-group.bp3-round .bp3-button,
+  .bp3-input-group.bp3-round .bp3-input,
+  .bp3-input-group.bp3-round .bp3-tag{
+    border-radius:30px; }
+  .bp3-dark .bp3-input-group .bp3-icon{
+    color:#a7b6c2; }
+  .bp3-dark .bp3-input-group.bp3-disabled .bp3-icon{
+    color:rgba(167, 182, 194, 0.6); }
+  .bp3-input-group.bp3-intent-primary .bp3-input{
+    -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input-group.bp3-intent-primary .bp3-input:focus{
+      -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input-group.bp3-intent-primary .bp3-input[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px #137cbd;
+              box-shadow:inset 0 0 0 1px #137cbd; }
+    .bp3-input-group.bp3-intent-primary .bp3-input:disabled, .bp3-input-group.bp3-intent-primary .bp3-input.bp3-disabled{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+  .bp3-input-group.bp3-intent-primary > .bp3-icon{
+    color:#106ba3; }
+    .bp3-dark .bp3-input-group.bp3-intent-primary > .bp3-icon{
+      color:#48aff0; }
+  .bp3-input-group.bp3-intent-success .bp3-input{
+    -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input-group.bp3-intent-success .bp3-input:focus{
+      -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input-group.bp3-intent-success .bp3-input[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px #0f9960;
+              box-shadow:inset 0 0 0 1px #0f9960; }
+    .bp3-input-group.bp3-intent-success .bp3-input:disabled, .bp3-input-group.bp3-intent-success .bp3-input.bp3-disabled{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+  .bp3-input-group.bp3-intent-success > .bp3-icon{
+    color:#0d8050; }
+    .bp3-dark .bp3-input-group.bp3-intent-success > .bp3-icon{
+      color:#3dcc91; }
+  .bp3-input-group.bp3-intent-warning .bp3-input{
+    -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input-group.bp3-intent-warning .bp3-input:focus{
+      -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input-group.bp3-intent-warning .bp3-input[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px #d9822b;
+              box-shadow:inset 0 0 0 1px #d9822b; }
+    .bp3-input-group.bp3-intent-warning .bp3-input:disabled, .bp3-input-group.bp3-intent-warning .bp3-input.bp3-disabled{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+  .bp3-input-group.bp3-intent-warning > .bp3-icon{
+    color:#bf7326; }
+    .bp3-dark .bp3-input-group.bp3-intent-warning > .bp3-icon{
+      color:#ffb366; }
+  .bp3-input-group.bp3-intent-danger .bp3-input{
+    -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input-group.bp3-intent-danger .bp3-input:focus{
+      -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input-group.bp3-intent-danger .bp3-input[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px #db3737;
+              box-shadow:inset 0 0 0 1px #db3737; }
+    .bp3-input-group.bp3-intent-danger .bp3-input:disabled, .bp3-input-group.bp3-intent-danger .bp3-input.bp3-disabled{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+  .bp3-input-group.bp3-intent-danger > .bp3-icon{
+    color:#c23030; }
+    .bp3-dark .bp3-input-group.bp3-intent-danger > .bp3-icon{
+      color:#ff7373; }
+.bp3-input{
+  -webkit-appearance:none;
+     -moz-appearance:none;
+          appearance:none;
+  background:#ffffff;
+  border:none;
+  border-radius:3px;
+  -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+  color:#182026;
+  font-size:14px;
+  font-weight:400;
+  height:30px;
+  line-height:30px;
+  outline:none;
+  padding:0 10px;
+  -webkit-transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:-webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  vertical-align:middle; }
+  .bp3-input::-webkit-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input::-moz-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input:-ms-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input::-ms-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input::placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input:focus, .bp3-input.bp3-active{
+    -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-input[type="search"], .bp3-input.bp3-round{
+    border-radius:30px;
+    -webkit-box-sizing:border-box;
+            box-sizing:border-box;
+    padding-left:10px; }
+  .bp3-input[readonly]{
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.15); }
+  .bp3-input:disabled, .bp3-input.bp3-disabled{
+    background:rgba(206, 217, 224, 0.5);
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:rgba(92, 112, 128, 0.6);
+    cursor:not-allowed;
+    resize:none; }
+  .bp3-input.bp3-large{
+    font-size:16px;
+    height:40px;
+    line-height:40px; }
+    .bp3-input.bp3-large[type="search"], .bp3-input.bp3-large.bp3-round{
+      padding:0 15px; }
+  .bp3-input.bp3-small{
+    font-size:12px;
+    height:24px;
+    line-height:24px;
+    padding-left:8px;
+    padding-right:8px; }
+    .bp3-input.bp3-small[type="search"], .bp3-input.bp3-small.bp3-round{
+      padding:0 12px; }
+  .bp3-input.bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto;
+    width:100%; }
+  .bp3-dark .bp3-input{
+    background:rgba(16, 22, 26, 0.3);
+    -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+    color:#f5f8fa; }
+    .bp3-dark .bp3-input::-webkit-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-input::-moz-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-input:-ms-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-input::-ms-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-input::placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-input:focus{
+      -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-input[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-input:disabled, .bp3-dark .bp3-input.bp3-disabled{
+      background:rgba(57, 75, 89, 0.5);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(167, 182, 194, 0.6); }
+  .bp3-input.bp3-intent-primary{
+    -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input.bp3-intent-primary:focus{
+      -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input.bp3-intent-primary[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px #137cbd;
+              box-shadow:inset 0 0 0 1px #137cbd; }
+    .bp3-input.bp3-intent-primary:disabled, .bp3-input.bp3-intent-primary.bp3-disabled{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+    .bp3-dark .bp3-input.bp3-intent-primary{
+      -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-input.bp3-intent-primary:focus{
+        -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+                box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-input.bp3-intent-primary[readonly]{
+        -webkit-box-shadow:inset 0 0 0 1px #137cbd;
+                box-shadow:inset 0 0 0 1px #137cbd; }
+      .bp3-dark .bp3-input.bp3-intent-primary:disabled, .bp3-dark .bp3-input.bp3-intent-primary.bp3-disabled{
+        -webkit-box-shadow:none;
+                box-shadow:none; }
+  .bp3-input.bp3-intent-success{
+    -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input.bp3-intent-success:focus{
+      -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input.bp3-intent-success[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px #0f9960;
+              box-shadow:inset 0 0 0 1px #0f9960; }
+    .bp3-input.bp3-intent-success:disabled, .bp3-input.bp3-intent-success.bp3-disabled{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+    .bp3-dark .bp3-input.bp3-intent-success{
+      -webkit-box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-input.bp3-intent-success:focus{
+        -webkit-box-shadow:0 0 0 1px #0f9960, 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+                box-shadow:0 0 0 1px #0f9960, 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-input.bp3-intent-success[readonly]{
+        -webkit-box-shadow:inset 0 0 0 1px #0f9960;
+                box-shadow:inset 0 0 0 1px #0f9960; }
+      .bp3-dark .bp3-input.bp3-intent-success:disabled, .bp3-dark .bp3-input.bp3-intent-success.bp3-disabled{
+        -webkit-box-shadow:none;
+                box-shadow:none; }
+  .bp3-input.bp3-intent-warning{
+    -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input.bp3-intent-warning:focus{
+      -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input.bp3-intent-warning[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px #d9822b;
+              box-shadow:inset 0 0 0 1px #d9822b; }
+    .bp3-input.bp3-intent-warning:disabled, .bp3-input.bp3-intent-warning.bp3-disabled{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+    .bp3-dark .bp3-input.bp3-intent-warning{
+      -webkit-box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-input.bp3-intent-warning:focus{
+        -webkit-box-shadow:0 0 0 1px #d9822b, 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+                box-shadow:0 0 0 1px #d9822b, 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-input.bp3-intent-warning[readonly]{
+        -webkit-box-shadow:inset 0 0 0 1px #d9822b;
+                box-shadow:inset 0 0 0 1px #d9822b; }
+      .bp3-dark .bp3-input.bp3-intent-warning:disabled, .bp3-dark .bp3-input.bp3-intent-warning.bp3-disabled{
+        -webkit-box-shadow:none;
+                box-shadow:none; }
+  .bp3-input.bp3-intent-danger{
+    -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input.bp3-intent-danger:focus{
+      -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-input.bp3-intent-danger[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px #db3737;
+              box-shadow:inset 0 0 0 1px #db3737; }
+    .bp3-input.bp3-intent-danger:disabled, .bp3-input.bp3-intent-danger.bp3-disabled{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+    .bp3-dark .bp3-input.bp3-intent-danger{
+      -webkit-box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-input.bp3-intent-danger:focus{
+        -webkit-box-shadow:0 0 0 1px #db3737, 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+                box-shadow:0 0 0 1px #db3737, 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+      .bp3-dark .bp3-input.bp3-intent-danger[readonly]{
+        -webkit-box-shadow:inset 0 0 0 1px #db3737;
+                box-shadow:inset 0 0 0 1px #db3737; }
+      .bp3-dark .bp3-input.bp3-intent-danger:disabled, .bp3-dark .bp3-input.bp3-intent-danger.bp3-disabled{
+        -webkit-box-shadow:none;
+                box-shadow:none; }
+  .bp3-input::-ms-clear{
+    display:none; }
+textarea.bp3-input{
+  max-width:100%;
+  padding:10px; }
+  textarea.bp3-input, textarea.bp3-input.bp3-large, textarea.bp3-input.bp3-small{
+    height:auto;
+    line-height:inherit; }
+  textarea.bp3-input.bp3-small{
+    padding:8px; }
+  .bp3-dark textarea.bp3-input{
+    background:rgba(16, 22, 26, 0.3);
+    -webkit-box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+    color:#f5f8fa; }
+    .bp3-dark textarea.bp3-input::-webkit-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark textarea.bp3-input::-moz-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark textarea.bp3-input:-ms-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark textarea.bp3-input::-ms-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark textarea.bp3-input::placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark textarea.bp3-input:focus{
+      -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark textarea.bp3-input[readonly]{
+      -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark textarea.bp3-input:disabled, .bp3-dark textarea.bp3-input.bp3-disabled{
+      background:rgba(57, 75, 89, 0.5);
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(167, 182, 194, 0.6); }
+label.bp3-label{
+  display:block;
+  margin-bottom:15px;
+  margin-top:0; }
+  label.bp3-label .bp3-html-select,
+  label.bp3-label .bp3-input,
+  label.bp3-label .bp3-select,
+  label.bp3-label .bp3-slider,
+  label.bp3-label .bp3-popover-wrapper{
+    display:block;
+    margin-top:5px;
+    text-transform:none; }
+  label.bp3-label .bp3-button-group{
+    margin-top:5px; }
+  label.bp3-label .bp3-select select,
+  label.bp3-label .bp3-html-select select{
+    font-weight:400;
+    vertical-align:top;
+    width:100%; }
+  label.bp3-label.bp3-disabled,
+  label.bp3-label.bp3-disabled .bp3-text-muted{
+    color:rgba(92, 112, 128, 0.6); }
+  label.bp3-label.bp3-inline{
+    line-height:30px; }
+    label.bp3-label.bp3-inline .bp3-html-select,
+    label.bp3-label.bp3-inline .bp3-input,
+    label.bp3-label.bp3-inline .bp3-input-group,
+    label.bp3-label.bp3-inline .bp3-select,
+    label.bp3-label.bp3-inline .bp3-popover-wrapper{
+      display:inline-block;
+      margin:0 0 0 5px;
+      vertical-align:top; }
+    label.bp3-label.bp3-inline .bp3-button-group{
+      margin:0 0 0 5px; }
+    label.bp3-label.bp3-inline .bp3-input-group .bp3-input{
+      margin-left:0; }
+    label.bp3-label.bp3-inline.bp3-large{
+      line-height:40px; }
+  label.bp3-label:not(.bp3-inline) .bp3-popover-target{
+    display:block; }
+  .bp3-dark label.bp3-label{
+    color:#f5f8fa; }
+    .bp3-dark label.bp3-label.bp3-disabled,
+    .bp3-dark label.bp3-label.bp3-disabled .bp3-text-muted{
+      color:rgba(167, 182, 194, 0.6); }
+.bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button{
+  -webkit-box-flex:1;
+      -ms-flex:1 1 14px;
+          flex:1 1 14px;
+  min-height:0;
+  padding:0;
+  width:30px; }
+  .bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button:first-child{
+    border-radius:0 3px 0 0; }
+  .bp3-numeric-input .bp3-button-group.bp3-vertical > .bp3-button:last-child{
+    border-radius:0 0 3px 0; }
+
+.bp3-numeric-input .bp3-button-group.bp3-vertical:first-child > .bp3-button:first-child{
+  border-radius:3px 0 0 0; }
+
+.bp3-numeric-input .bp3-button-group.bp3-vertical:first-child > .bp3-button:last-child{
+  border-radius:0 0 0 3px; }
+
+.bp3-numeric-input.bp3-large .bp3-button-group.bp3-vertical > .bp3-button{
+  width:40px; }
+
+form{
+  display:block; }
+.bp3-html-select select,
+.bp3-select select{
+  display:-webkit-inline-box;
+  display:-ms-inline-flexbox;
+  display:inline-flex;
+  -webkit-box-orient:horizontal;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:row;
+          flex-direction:row;
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  border:none;
+  border-radius:3px;
+  cursor:pointer;
+  font-size:14px;
+  -webkit-box-pack:center;
+      -ms-flex-pack:center;
+          justify-content:center;
+  padding:5px 10px;
+  text-align:left;
+  vertical-align:middle;
+  background-color:#f5f8fa;
+  background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0)));
+  background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
+  -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+          box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+  color:#182026;
+  -moz-appearance:none;
+  -webkit-appearance:none;
+  border-radius:3px;
+  height:30px;
+  padding:0 25px 0 10px;
+  width:100%; }
+  .bp3-html-select select > *, .bp3-select select > *{
+    -webkit-box-flex:0;
+        -ms-flex-positive:0;
+            flex-grow:0;
+    -ms-flex-negative:0;
+        flex-shrink:0; }
+  .bp3-html-select select > .bp3-fill, .bp3-select select > .bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1;
+    -ms-flex-negative:1;
+        flex-shrink:1; }
+  .bp3-html-select select::before,
+  .bp3-select select::before, .bp3-html-select select > *, .bp3-select select > *{
+    margin-right:7px; }
+  .bp3-html-select select:empty::before,
+  .bp3-select select:empty::before,
+  .bp3-html-select select > :last-child,
+  .bp3-select select > :last-child{
+    margin-right:0; }
+  .bp3-html-select select:hover,
+  .bp3-select select:hover{
+    background-clip:padding-box;
+    background-color:#ebf1f5;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); }
+  .bp3-html-select select:active,
+  .bp3-select select:active, .bp3-html-select select.bp3-active,
+  .bp3-select select.bp3-active{
+    background-color:#d8e1e8;
+    background-image:none;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-html-select select:disabled,
+  .bp3-select select:disabled, .bp3-html-select select.bp3-disabled,
+  .bp3-select select.bp3-disabled{
+    background-color:rgba(206, 217, 224, 0.5);
+    background-image:none;
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:rgba(92, 112, 128, 0.6);
+    cursor:not-allowed;
+    outline:none; }
+    .bp3-html-select select:disabled.bp3-active,
+    .bp3-select select:disabled.bp3-active, .bp3-html-select select:disabled.bp3-active:hover,
+    .bp3-select select:disabled.bp3-active:hover, .bp3-html-select select.bp3-disabled.bp3-active,
+    .bp3-select select.bp3-disabled.bp3-active, .bp3-html-select select.bp3-disabled.bp3-active:hover,
+    .bp3-select select.bp3-disabled.bp3-active:hover{
+      background:rgba(206, 217, 224, 0.7); }
+
+.bp3-html-select.bp3-minimal select,
+.bp3-select.bp3-minimal select{
+  background:none;
+  -webkit-box-shadow:none;
+          box-shadow:none; }
+  .bp3-html-select.bp3-minimal select:hover,
+  .bp3-select.bp3-minimal select:hover{
+    background:rgba(167, 182, 194, 0.3);
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:#182026;
+    text-decoration:none; }
+  .bp3-html-select.bp3-minimal select:active,
+  .bp3-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal select.bp3-active,
+  .bp3-select.bp3-minimal select.bp3-active{
+    background:rgba(115, 134, 148, 0.3);
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:#182026; }
+  .bp3-html-select.bp3-minimal select:disabled,
+  .bp3-select.bp3-minimal select:disabled, .bp3-html-select.bp3-minimal select:disabled:hover,
+  .bp3-select.bp3-minimal select:disabled:hover, .bp3-html-select.bp3-minimal select.bp3-disabled,
+  .bp3-select.bp3-minimal select.bp3-disabled, .bp3-html-select.bp3-minimal select.bp3-disabled:hover,
+  .bp3-select.bp3-minimal select.bp3-disabled:hover{
+    background:none;
+    color:rgba(92, 112, 128, 0.6);
+    cursor:not-allowed; }
+    .bp3-html-select.bp3-minimal select:disabled.bp3-active,
+    .bp3-select.bp3-minimal select:disabled.bp3-active, .bp3-html-select.bp3-minimal select:disabled:hover.bp3-active,
+    .bp3-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-html-select.bp3-minimal select.bp3-disabled.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-disabled:hover.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-disabled:hover.bp3-active{
+      background:rgba(115, 134, 148, 0.3); }
+  .bp3-dark .bp3-html-select.bp3-minimal select, .bp3-html-select.bp3-minimal .bp3-dark select,
+  .bp3-dark .bp3-select.bp3-minimal select, .bp3-select.bp3-minimal .bp3-dark select{
+    background:none;
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:inherit; }
+    .bp3-dark .bp3-html-select.bp3-minimal select:hover, .bp3-html-select.bp3-minimal .bp3-dark select:hover,
+    .bp3-dark .bp3-select.bp3-minimal select:hover, .bp3-select.bp3-minimal .bp3-dark select:hover, .bp3-dark .bp3-html-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal .bp3-dark select:active,
+    .bp3-dark .bp3-select.bp3-minimal select:active, .bp3-select.bp3-minimal .bp3-dark select:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-active,
+    .bp3-dark .bp3-select.bp3-minimal select.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-active{
+      background:none;
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+    .bp3-dark .bp3-html-select.bp3-minimal select:hover, .bp3-html-select.bp3-minimal .bp3-dark select:hover,
+    .bp3-dark .bp3-select.bp3-minimal select:hover, .bp3-select.bp3-minimal .bp3-dark select:hover{
+      background:rgba(138, 155, 168, 0.15); }
+    .bp3-dark .bp3-html-select.bp3-minimal select:active, .bp3-html-select.bp3-minimal .bp3-dark select:active,
+    .bp3-dark .bp3-select.bp3-minimal select:active, .bp3-select.bp3-minimal .bp3-dark select:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-active,
+    .bp3-dark .bp3-select.bp3-minimal select.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-active{
+      background:rgba(138, 155, 168, 0.3);
+      color:#f5f8fa; }
+    .bp3-dark .bp3-html-select.bp3-minimal select:disabled, .bp3-html-select.bp3-minimal .bp3-dark select:disabled,
+    .bp3-dark .bp3-select.bp3-minimal select:disabled, .bp3-select.bp3-minimal .bp3-dark select:disabled, .bp3-dark .bp3-html-select.bp3-minimal select:disabled:hover, .bp3-html-select.bp3-minimal .bp3-dark select:disabled:hover,
+    .bp3-dark .bp3-select.bp3-minimal select:disabled:hover, .bp3-select.bp3-minimal .bp3-dark select:disabled:hover, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled,
+    .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled:hover,
+    .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled:hover{
+      background:none;
+      color:rgba(167, 182, 194, 0.6);
+      cursor:not-allowed; }
+      .bp3-dark .bp3-html-select.bp3-minimal select:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select:disabled.bp3-active,
+      .bp3-dark .bp3-select.bp3-minimal select:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select:disabled:hover.bp3-active,
+      .bp3-dark .bp3-select.bp3-minimal select:disabled:hover.bp3-active, .bp3-select.bp3-minimal .bp3-dark select:disabled:hover.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled.bp3-active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled:hover.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled:hover.bp3-active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-disabled:hover.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-disabled:hover.bp3-active{
+        background:rgba(138, 155, 168, 0.3); }
+  .bp3-html-select.bp3-minimal select.bp3-intent-primary,
+  .bp3-select.bp3-minimal select.bp3-intent-primary{
+    color:#106ba3; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover,
+    .bp3-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-html-select.bp3-minimal select.bp3-intent-primary:active,
+    .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active{
+      background:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#106ba3; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover,
+    .bp3-select.bp3-minimal select.bp3-intent-primary:hover{
+      background:rgba(19, 124, 189, 0.15);
+      color:#106ba3; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-primary:active,
+    .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active{
+      background:rgba(19, 124, 189, 0.3);
+      color:#106ba3; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled,
+    .bp3-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled,
+    .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled{
+      background:none;
+      color:rgba(16, 107, 163, 0.5); }
+      .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active,
+      .bp3-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active,
+      .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active{
+        background:rgba(19, 124, 189, 0.3); }
+    .bp3-html-select.bp3-minimal select.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{
+      stroke:#106ba3; }
+    .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary,
+    .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary{
+      color:#48aff0; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:hover,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:hover{
+        background:rgba(19, 124, 189, 0.2);
+        color:#48aff0; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-active{
+        background:rgba(19, 124, 189, 0.3);
+        color:#48aff0; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled{
+        background:none;
+        color:rgba(72, 175, 240, 0.5); }
+        .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled.bp3-active,
+        .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled.bp3-active,
+        .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled.bp3-active{
+          background:rgba(19, 124, 189, 0.3); }
+  .bp3-html-select.bp3-minimal select.bp3-intent-success,
+  .bp3-select.bp3-minimal select.bp3-intent-success{
+    color:#0d8050; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-success:hover,
+    .bp3-select.bp3-minimal select.bp3-intent-success:hover, .bp3-html-select.bp3-minimal select.bp3-intent-success:active,
+    .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active{
+      background:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#0d8050; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-success:hover,
+    .bp3-select.bp3-minimal select.bp3-intent-success:hover{
+      background:rgba(15, 153, 96, 0.15);
+      color:#0d8050; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-success:active,
+    .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active{
+      background:rgba(15, 153, 96, 0.3);
+      color:#0d8050; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled,
+    .bp3-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled,
+    .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled{
+      background:none;
+      color:rgba(13, 128, 80, 0.5); }
+      .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active,
+      .bp3-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active,
+      .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active{
+        background:rgba(15, 153, 96, 0.3); }
+    .bp3-html-select.bp3-minimal select.bp3-intent-success .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{
+      stroke:#0d8050; }
+    .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success,
+    .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success{
+      color:#3dcc91; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:hover,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:hover{
+        background:rgba(15, 153, 96, 0.2);
+        color:#3dcc91; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-active{
+        background:rgba(15, 153, 96, 0.3);
+        color:#3dcc91; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled{
+        background:none;
+        color:rgba(61, 204, 145, 0.5); }
+        .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled.bp3-active,
+        .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled.bp3-active,
+        .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled.bp3-active{
+          background:rgba(15, 153, 96, 0.3); }
+  .bp3-html-select.bp3-minimal select.bp3-intent-warning,
+  .bp3-select.bp3-minimal select.bp3-intent-warning{
+    color:#bf7326; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover,
+    .bp3-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-html-select.bp3-minimal select.bp3-intent-warning:active,
+    .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active{
+      background:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#bf7326; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover,
+    .bp3-select.bp3-minimal select.bp3-intent-warning:hover{
+      background:rgba(217, 130, 43, 0.15);
+      color:#bf7326; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-warning:active,
+    .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active{
+      background:rgba(217, 130, 43, 0.3);
+      color:#bf7326; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled,
+    .bp3-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled,
+    .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled{
+      background:none;
+      color:rgba(191, 115, 38, 0.5); }
+      .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active,
+      .bp3-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active,
+      .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active{
+        background:rgba(217, 130, 43, 0.3); }
+    .bp3-html-select.bp3-minimal select.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{
+      stroke:#bf7326; }
+    .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning,
+    .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning{
+      color:#ffb366; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:hover,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:hover{
+        background:rgba(217, 130, 43, 0.2);
+        color:#ffb366; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-active{
+        background:rgba(217, 130, 43, 0.3);
+        color:#ffb366; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled{
+        background:none;
+        color:rgba(255, 179, 102, 0.5); }
+        .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled.bp3-active,
+        .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled.bp3-active,
+        .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled.bp3-active{
+          background:rgba(217, 130, 43, 0.3); }
+  .bp3-html-select.bp3-minimal select.bp3-intent-danger,
+  .bp3-select.bp3-minimal select.bp3-intent-danger{
+    color:#c23030; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover,
+    .bp3-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-html-select.bp3-minimal select.bp3-intent-danger:active,
+    .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active{
+      background:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:#c23030; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover,
+    .bp3-select.bp3-minimal select.bp3-intent-danger:hover{
+      background:rgba(219, 55, 55, 0.15);
+      color:#c23030; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-danger:active,
+    .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active,
+    .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active{
+      background:rgba(219, 55, 55, 0.3);
+      color:#c23030; }
+    .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled,
+    .bp3-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled,
+    .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled{
+      background:none;
+      color:rgba(194, 48, 48, 0.5); }
+      .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active,
+      .bp3-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active,
+      .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active{
+        background:rgba(219, 55, 55, 0.3); }
+    .bp3-html-select.bp3-minimal select.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head, .bp3-select.bp3-minimal select.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{
+      stroke:#c23030; }
+    .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger,
+    .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger{
+      color:#ff7373; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:hover,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:hover, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:hover{
+        background:rgba(219, 55, 55, 0.2);
+        color:#ff7373; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-active,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-active{
+        background:rgba(219, 55, 55, 0.3);
+        color:#ff7373; }
+      .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled,
+      .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled{
+        background:none;
+        color:rgba(255, 115, 115, 0.5); }
+        .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled.bp3-active,
+        .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled.bp3-active, .bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, .bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled.bp3-active,
+        .bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active, .bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled.bp3-active{
+          background:rgba(219, 55, 55, 0.3); }
+
+.bp3-html-select.bp3-large select,
+.bp3-select.bp3-large select{
+  font-size:16px;
+  height:40px;
+  padding-right:35px; }
+
+.bp3-dark .bp3-html-select select, .bp3-dark .bp3-select select{
+  background-color:#394b59;
+  background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
+  background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+  color:#f5f8fa; }
+  .bp3-dark .bp3-html-select select:hover, .bp3-dark .bp3-select select:hover, .bp3-dark .bp3-html-select select:active, .bp3-dark .bp3-select select:active, .bp3-dark .bp3-html-select select.bp3-active, .bp3-dark .bp3-select select.bp3-active{
+    color:#f5f8fa; }
+  .bp3-dark .bp3-html-select select:hover, .bp3-dark .bp3-select select:hover{
+    background-color:#30404d;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-html-select select:active, .bp3-dark .bp3-select select:active, .bp3-dark .bp3-html-select select.bp3-active, .bp3-dark .bp3-select select.bp3-active{
+    background-color:#202b33;
+    background-image:none;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-dark .bp3-html-select select:disabled, .bp3-dark .bp3-select select:disabled, .bp3-dark .bp3-html-select select.bp3-disabled, .bp3-dark .bp3-select select.bp3-disabled{
+    background-color:rgba(57, 75, 89, 0.5);
+    background-image:none;
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-html-select select:disabled.bp3-active, .bp3-dark .bp3-select select:disabled.bp3-active, .bp3-dark .bp3-html-select select.bp3-disabled.bp3-active, .bp3-dark .bp3-select select.bp3-disabled.bp3-active{
+      background:rgba(57, 75, 89, 0.7); }
+  .bp3-dark .bp3-html-select select .bp3-button-spinner .bp3-spinner-head, .bp3-dark .bp3-select select .bp3-button-spinner .bp3-spinner-head{
+    background:rgba(16, 22, 26, 0.5);
+    stroke:#8a9ba8; }
+
+.bp3-html-select select:disabled,
+.bp3-select select:disabled{
+  background-color:rgba(206, 217, 224, 0.5);
+  -webkit-box-shadow:none;
+          box-shadow:none;
+  color:rgba(92, 112, 128, 0.6);
+  cursor:not-allowed; }
+
+.bp3-html-select .bp3-icon,
+.bp3-select .bp3-icon, .bp3-select::after{
+  color:#5c7080;
+  pointer-events:none;
+  position:absolute;
+  right:7px;
+  top:7px; }
+  .bp3-html-select .bp3-disabled.bp3-icon,
+  .bp3-select .bp3-disabled.bp3-icon, .bp3-disabled.bp3-select::after{
+    color:rgba(92, 112, 128, 0.6); }
+.bp3-html-select,
+.bp3-select{
+  display:inline-block;
+  letter-spacing:normal;
+  position:relative;
+  vertical-align:middle; }
+  .bp3-html-select select::-ms-expand,
+  .bp3-select select::-ms-expand{
+    display:none; }
+  .bp3-html-select .bp3-icon,
+  .bp3-select .bp3-icon{
+    color:#5c7080; }
+    .bp3-html-select .bp3-icon:hover,
+    .bp3-select .bp3-icon:hover{
+      color:#182026; }
+    .bp3-dark .bp3-html-select .bp3-icon, .bp3-dark
+    .bp3-select .bp3-icon{
+      color:#a7b6c2; }
+      .bp3-dark .bp3-html-select .bp3-icon:hover, .bp3-dark
+      .bp3-select .bp3-icon:hover{
+        color:#f5f8fa; }
+  .bp3-html-select.bp3-large::after,
+  .bp3-html-select.bp3-large .bp3-icon,
+  .bp3-select.bp3-large::after,
+  .bp3-select.bp3-large .bp3-icon{
+    right:12px;
+    top:12px; }
+  .bp3-html-select.bp3-fill,
+  .bp3-html-select.bp3-fill select,
+  .bp3-select.bp3-fill,
+  .bp3-select.bp3-fill select{
+    width:100%; }
+  .bp3-dark .bp3-html-select option, .bp3-dark
+  .bp3-select option{
+    background-color:#30404d;
+    color:#f5f8fa; }
+  .bp3-dark .bp3-html-select option:disabled, .bp3-dark
+  .bp3-select option:disabled{
+    color:rgba(167, 182, 194, 0.6); }
+  .bp3-dark .bp3-html-select::after, .bp3-dark
+  .bp3-select::after{
+    color:#a7b6c2; }
+
+.bp3-select::after{
+  font-family:"Icons16", sans-serif;
+  font-size:16px;
+  font-style:normal;
+  font-weight:400;
+  line-height:1;
+  -moz-osx-font-smoothing:grayscale;
+  -webkit-font-smoothing:antialiased;
+  content:""; }
+.bp3-running-text table, table.bp3-html-table{
+  border-spacing:0;
+  font-size:14px; }
+  .bp3-running-text table th, table.bp3-html-table th,
+  .bp3-running-text table td,
+  table.bp3-html-table td{
+    padding:11px;
+    text-align:left;
+    vertical-align:top; }
+  .bp3-running-text table th, table.bp3-html-table th{
+    color:#182026;
+    font-weight:600; }
+  
+  .bp3-running-text table td,
+  table.bp3-html-table td{
+    color:#182026; }
+  .bp3-running-text table tbody tr:first-child th, table.bp3-html-table tbody tr:first-child th,
+  .bp3-running-text table tbody tr:first-child td,
+  table.bp3-html-table tbody tr:first-child td{
+    -webkit-box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15);
+            box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); }
+  .bp3-dark .bp3-running-text table th, .bp3-running-text .bp3-dark table th, .bp3-dark table.bp3-html-table th{
+    color:#f5f8fa; }
+  .bp3-dark .bp3-running-text table td, .bp3-running-text .bp3-dark table td, .bp3-dark table.bp3-html-table td{
+    color:#f5f8fa; }
+  .bp3-dark .bp3-running-text table tbody tr:first-child th, .bp3-running-text .bp3-dark table tbody tr:first-child th, .bp3-dark table.bp3-html-table tbody tr:first-child th,
+  .bp3-dark .bp3-running-text table tbody tr:first-child td,
+  .bp3-running-text .bp3-dark table tbody tr:first-child td,
+  .bp3-dark table.bp3-html-table tbody tr:first-child td{
+    -webkit-box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15);
+            box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); }
+
+table.bp3-html-table.bp3-html-table-condensed th,
+table.bp3-html-table.bp3-html-table-condensed td, table.bp3-html-table.bp3-small th,
+table.bp3-html-table.bp3-small td{
+  padding-bottom:6px;
+  padding-top:6px; }
+
+table.bp3-html-table.bp3-html-table-striped tbody tr:nth-child(odd) td{
+  background:rgba(191, 204, 214, 0.15); }
+
+table.bp3-html-table.bp3-html-table-bordered th:not(:first-child){
+  -webkit-box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15);
+          box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); }
+
+table.bp3-html-table.bp3-html-table-bordered tbody tr td{
+  -webkit-box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15);
+          box-shadow:inset 0 1px 0 0 rgba(16, 22, 26, 0.15); }
+  table.bp3-html-table.bp3-html-table-bordered tbody tr td:not(:first-child){
+    -webkit-box-shadow:inset 1px 1px 0 0 rgba(16, 22, 26, 0.15);
+            box-shadow:inset 1px 1px 0 0 rgba(16, 22, 26, 0.15); }
+
+table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td{
+  -webkit-box-shadow:none;
+          box-shadow:none; }
+  table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td:not(:first-child){
+    -webkit-box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15);
+            box-shadow:inset 1px 0 0 0 rgba(16, 22, 26, 0.15); }
+
+table.bp3-html-table.bp3-interactive tbody tr:hover td{
+  background-color:rgba(191, 204, 214, 0.3);
+  cursor:pointer; }
+
+table.bp3-html-table.bp3-interactive tbody tr:active td{
+  background-color:rgba(191, 204, 214, 0.4); }
+
+.bp3-dark table.bp3-html-table{ }
+  .bp3-dark table.bp3-html-table.bp3-html-table-striped tbody tr:nth-child(odd) td{
+    background:rgba(92, 112, 128, 0.15); }
+  .bp3-dark table.bp3-html-table.bp3-html-table-bordered th:not(:first-child){
+    -webkit-box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15);
+            box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); }
+  .bp3-dark table.bp3-html-table.bp3-html-table-bordered tbody tr td{
+    -webkit-box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15);
+            box-shadow:inset 0 1px 0 0 rgba(255, 255, 255, 0.15); }
+    .bp3-dark table.bp3-html-table.bp3-html-table-bordered tbody tr td:not(:first-child){
+      -webkit-box-shadow:inset 1px 1px 0 0 rgba(255, 255, 255, 0.15);
+              box-shadow:inset 1px 1px 0 0 rgba(255, 255, 255, 0.15); }
+  .bp3-dark table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td{
+    -webkit-box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15);
+            box-shadow:inset 1px 0 0 0 rgba(255, 255, 255, 0.15); }
+    .bp3-dark table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td:first-child{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+  .bp3-dark table.bp3-html-table.bp3-interactive tbody tr:hover td{
+    background-color:rgba(92, 112, 128, 0.3);
+    cursor:pointer; }
+  .bp3-dark table.bp3-html-table.bp3-interactive tbody tr:active td{
+    background-color:rgba(92, 112, 128, 0.4); }
+
+.bp3-key-combo{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:horizontal;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:row;
+          flex-direction:row;
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center; }
+  .bp3-key-combo > *{
+    -webkit-box-flex:0;
+        -ms-flex-positive:0;
+            flex-grow:0;
+    -ms-flex-negative:0;
+        flex-shrink:0; }
+  .bp3-key-combo > .bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1;
+    -ms-flex-negative:1;
+        flex-shrink:1; }
+  .bp3-key-combo::before,
+  .bp3-key-combo > *{
+    margin-right:5px; }
+  .bp3-key-combo:empty::before,
+  .bp3-key-combo > :last-child{
+    margin-right:0; }
+
+.bp3-hotkey-dialog{
+  padding-bottom:0;
+  top:40px; }
+  .bp3-hotkey-dialog .bp3-dialog-body{
+    margin:0;
+    padding:0; }
+  .bp3-hotkey-dialog .bp3-hotkey-label{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1; }
+
+.bp3-hotkey-column{
+  margin:auto;
+  max-height:80vh;
+  overflow-y:auto;
+  padding:30px; }
+  .bp3-hotkey-column .bp3-heading{
+    margin-bottom:20px; }
+    .bp3-hotkey-column .bp3-heading:not(:first-child){
+      margin-top:40px; }
+
+.bp3-hotkey{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-pack:justify;
+      -ms-flex-pack:justify;
+          justify-content:space-between;
+  margin-left:0;
+  margin-right:0; }
+  .bp3-hotkey:not(:last-child){
+    margin-bottom:10px; }
+.bp3-icon{
+  display:inline-block;
+  -webkit-box-flex:0;
+      -ms-flex:0 0 auto;
+          flex:0 0 auto;
+  vertical-align:text-bottom; }
+  .bp3-icon:not(:empty)::before{
+    content:"" !important;
+    content:unset !important; }
+  .bp3-icon > svg{
+    display:block; }
+    .bp3-icon > svg:not([fill]){
+      fill:currentColor; }
+
+.bp3-icon.bp3-intent-primary, .bp3-icon-standard.bp3-intent-primary, .bp3-icon-large.bp3-intent-primary{
+  color:#106ba3; }
+  .bp3-dark .bp3-icon.bp3-intent-primary, .bp3-dark .bp3-icon-standard.bp3-intent-primary, .bp3-dark .bp3-icon-large.bp3-intent-primary{
+    color:#48aff0; }
+
+.bp3-icon.bp3-intent-success, .bp3-icon-standard.bp3-intent-success, .bp3-icon-large.bp3-intent-success{
+  color:#0d8050; }
+  .bp3-dark .bp3-icon.bp3-intent-success, .bp3-dark .bp3-icon-standard.bp3-intent-success, .bp3-dark .bp3-icon-large.bp3-intent-success{
+    color:#3dcc91; }
+
+.bp3-icon.bp3-intent-warning, .bp3-icon-standard.bp3-intent-warning, .bp3-icon-large.bp3-intent-warning{
+  color:#bf7326; }
+  .bp3-dark .bp3-icon.bp3-intent-warning, .bp3-dark .bp3-icon-standard.bp3-intent-warning, .bp3-dark .bp3-icon-large.bp3-intent-warning{
+    color:#ffb366; }
+
+.bp3-icon.bp3-intent-danger, .bp3-icon-standard.bp3-intent-danger, .bp3-icon-large.bp3-intent-danger{
+  color:#c23030; }
+  .bp3-dark .bp3-icon.bp3-intent-danger, .bp3-dark .bp3-icon-standard.bp3-intent-danger, .bp3-dark .bp3-icon-large.bp3-intent-danger{
+    color:#ff7373; }
+
+span.bp3-icon-standard{
+  font-family:"Icons16", sans-serif;
+  font-size:16px;
+  font-style:normal;
+  font-weight:400;
+  line-height:1;
+  -moz-osx-font-smoothing:grayscale;
+  -webkit-font-smoothing:antialiased;
+  display:inline-block; }
+
+span.bp3-icon-large{
+  font-family:"Icons20", sans-serif;
+  font-size:20px;
+  font-style:normal;
+  font-weight:400;
+  line-height:1;
+  -moz-osx-font-smoothing:grayscale;
+  -webkit-font-smoothing:antialiased;
+  display:inline-block; }
+
+span.bp3-icon:empty{
+  font-family:"Icons20";
+  font-size:inherit;
+  font-style:normal;
+  font-weight:400;
+  line-height:1; }
+  span.bp3-icon:empty::before{
+    -moz-osx-font-smoothing:grayscale;
+    -webkit-font-smoothing:antialiased; }
+
+.bp3-icon-add::before{
+  content:""; }
+
+.bp3-icon-add-column-left::before{
+  content:""; }
+
+.bp3-icon-add-column-right::before{
+  content:""; }
+
+.bp3-icon-add-row-bottom::before{
+  content:""; }
+
+.bp3-icon-add-row-top::before{
+  content:""; }
+
+.bp3-icon-add-to-artifact::before{
+  content:""; }
+
+.bp3-icon-add-to-folder::before{
+  content:""; }
+
+.bp3-icon-airplane::before{
+  content:""; }
+
+.bp3-icon-align-center::before{
+  content:""; }
+
+.bp3-icon-align-justify::before{
+  content:""; }
+
+.bp3-icon-align-left::before{
+  content:""; }
+
+.bp3-icon-align-right::before{
+  content:""; }
+
+.bp3-icon-alignment-bottom::before{
+  content:""; }
+
+.bp3-icon-alignment-horizontal-center::before{
+  content:""; }
+
+.bp3-icon-alignment-left::before{
+  content:""; }
+
+.bp3-icon-alignment-right::before{
+  content:""; }
+
+.bp3-icon-alignment-top::before{
+  content:""; }
+
+.bp3-icon-alignment-vertical-center::before{
+  content:""; }
+
+.bp3-icon-annotation::before{
+  content:""; }
+
+.bp3-icon-application::before{
+  content:""; }
+
+.bp3-icon-applications::before{
+  content:""; }
+
+.bp3-icon-archive::before{
+  content:""; }
+
+.bp3-icon-arrow-bottom-left::before{
+  content:"↙"; }
+
+.bp3-icon-arrow-bottom-right::before{
+  content:"↘"; }
+
+.bp3-icon-arrow-down::before{
+  content:"↓"; }
+
+.bp3-icon-arrow-left::before{
+  content:"←"; }
+
+.bp3-icon-arrow-right::before{
+  content:"→"; }
+
+.bp3-icon-arrow-top-left::before{
+  content:"↖"; }
+
+.bp3-icon-arrow-top-right::before{
+  content:"↗"; }
+
+.bp3-icon-arrow-up::before{
+  content:"↑"; }
+
+.bp3-icon-arrows-horizontal::before{
+  content:"↔"; }
+
+.bp3-icon-arrows-vertical::before{
+  content:"↕"; }
+
+.bp3-icon-asterisk::before{
+  content:"*"; }
+
+.bp3-icon-automatic-updates::before{
+  content:""; }
+
+.bp3-icon-badge::before{
+  content:""; }
+
+.bp3-icon-ban-circle::before{
+  content:""; }
+
+.bp3-icon-bank-account::before{
+  content:""; }
+
+.bp3-icon-barcode::before{
+  content:""; }
+
+.bp3-icon-blank::before{
+  content:""; }
+
+.bp3-icon-blocked-person::before{
+  content:""; }
+
+.bp3-icon-bold::before{
+  content:""; }
+
+.bp3-icon-book::before{
+  content:""; }
+
+.bp3-icon-bookmark::before{
+  content:""; }
+
+.bp3-icon-box::before{
+  content:""; }
+
+.bp3-icon-briefcase::before{
+  content:""; }
+
+.bp3-icon-bring-data::before{
+  content:""; }
+
+.bp3-icon-build::before{
+  content:""; }
+
+.bp3-icon-calculator::before{
+  content:""; }
+
+.bp3-icon-calendar::before{
+  content:""; }
+
+.bp3-icon-camera::before{
+  content:""; }
+
+.bp3-icon-caret-down::before{
+  content:"⌄"; }
+
+.bp3-icon-caret-left::before{
+  content:"〈"; }
+
+.bp3-icon-caret-right::before{
+  content:"〉"; }
+
+.bp3-icon-caret-up::before{
+  content:"⌃"; }
+
+.bp3-icon-cell-tower::before{
+  content:""; }
+
+.bp3-icon-changes::before{
+  content:""; }
+
+.bp3-icon-chart::before{
+  content:""; }
+
+.bp3-icon-chat::before{
+  content:""; }
+
+.bp3-icon-chevron-backward::before{
+  content:""; }
+
+.bp3-icon-chevron-down::before{
+  content:""; }
+
+.bp3-icon-chevron-forward::before{
+  content:""; }
+
+.bp3-icon-chevron-left::before{
+  content:""; }
+
+.bp3-icon-chevron-right::before{
+  content:""; }
+
+.bp3-icon-chevron-up::before{
+  content:""; }
+
+.bp3-icon-circle::before{
+  content:""; }
+
+.bp3-icon-circle-arrow-down::before{
+  content:""; }
+
+.bp3-icon-circle-arrow-left::before{
+  content:""; }
+
+.bp3-icon-circle-arrow-right::before{
+  content:""; }
+
+.bp3-icon-circle-arrow-up::before{
+  content:""; }
+
+.bp3-icon-citation::before{
+  content:""; }
+
+.bp3-icon-clean::before{
+  content:""; }
+
+.bp3-icon-clipboard::before{
+  content:""; }
+
+.bp3-icon-cloud::before{
+  content:"☁"; }
+
+.bp3-icon-cloud-download::before{
+  content:""; }
+
+.bp3-icon-cloud-upload::before{
+  content:""; }
+
+.bp3-icon-code::before{
+  content:""; }
+
+.bp3-icon-code-block::before{
+  content:""; }
+
+.bp3-icon-cog::before{
+  content:""; }
+
+.bp3-icon-collapse-all::before{
+  content:""; }
+
+.bp3-icon-column-layout::before{
+  content:""; }
+
+.bp3-icon-comment::before{
+  content:""; }
+
+.bp3-icon-comparison::before{
+  content:""; }
+
+.bp3-icon-compass::before{
+  content:""; }
+
+.bp3-icon-compressed::before{
+  content:""; }
+
+.bp3-icon-confirm::before{
+  content:""; }
+
+.bp3-icon-console::before{
+  content:""; }
+
+.bp3-icon-contrast::before{
+  content:""; }
+
+.bp3-icon-control::before{
+  content:""; }
+
+.bp3-icon-credit-card::before{
+  content:""; }
+
+.bp3-icon-cross::before{
+  content:"✗"; }
+
+.bp3-icon-crown::before{
+  content:""; }
+
+.bp3-icon-cube::before{
+  content:""; }
+
+.bp3-icon-cube-add::before{
+  content:""; }
+
+.bp3-icon-cube-remove::before{
+  content:""; }
+
+.bp3-icon-curved-range-chart::before{
+  content:""; }
+
+.bp3-icon-cut::before{
+  content:""; }
+
+.bp3-icon-dashboard::before{
+  content:""; }
+
+.bp3-icon-data-lineage::before{
+  content:""; }
+
+.bp3-icon-database::before{
+  content:""; }
+
+.bp3-icon-delete::before{
+  content:""; }
+
+.bp3-icon-delta::before{
+  content:"Δ"; }
+
+.bp3-icon-derive-column::before{
+  content:""; }
+
+.bp3-icon-desktop::before{
+  content:""; }
+
+.bp3-icon-diagnosis::before{
+  content:""; }
+
+.bp3-icon-diagram-tree::before{
+  content:""; }
+
+.bp3-icon-direction-left::before{
+  content:""; }
+
+.bp3-icon-direction-right::before{
+  content:""; }
+
+.bp3-icon-disable::before{
+  content:""; }
+
+.bp3-icon-document::before{
+  content:""; }
+
+.bp3-icon-document-open::before{
+  content:""; }
+
+.bp3-icon-document-share::before{
+  content:""; }
+
+.bp3-icon-dollar::before{
+  content:"$"; }
+
+.bp3-icon-dot::before{
+  content:"•"; }
+
+.bp3-icon-double-caret-horizontal::before{
+  content:""; }
+
+.bp3-icon-double-caret-vertical::before{
+  content:""; }
+
+.bp3-icon-double-chevron-down::before{
+  content:""; }
+
+.bp3-icon-double-chevron-left::before{
+  content:""; }
+
+.bp3-icon-double-chevron-right::before{
+  content:""; }
+
+.bp3-icon-double-chevron-up::before{
+  content:""; }
+
+.bp3-icon-doughnut-chart::before{
+  content:""; }
+
+.bp3-icon-download::before{
+  content:""; }
+
+.bp3-icon-drag-handle-horizontal::before{
+  content:""; }
+
+.bp3-icon-drag-handle-vertical::before{
+  content:""; }
+
+.bp3-icon-draw::before{
+  content:""; }
+
+.bp3-icon-drive-time::before{
+  content:""; }
+
+.bp3-icon-duplicate::before{
+  content:""; }
+
+.bp3-icon-edit::before{
+  content:"✎"; }
+
+.bp3-icon-eject::before{
+  content:"⏏"; }
+
+.bp3-icon-endorsed::before{
+  content:""; }
+
+.bp3-icon-envelope::before{
+  content:"✉"; }
+
+.bp3-icon-equals::before{
+  content:""; }
+
+.bp3-icon-eraser::before{
+  content:""; }
+
+.bp3-icon-error::before{
+  content:""; }
+
+.bp3-icon-euro::before{
+  content:"€"; }
+
+.bp3-icon-exchange::before{
+  content:""; }
+
+.bp3-icon-exclude-row::before{
+  content:""; }
+
+.bp3-icon-expand-all::before{
+  content:""; }
+
+.bp3-icon-export::before{
+  content:""; }
+
+.bp3-icon-eye-off::before{
+  content:""; }
+
+.bp3-icon-eye-on::before{
+  content:""; }
+
+.bp3-icon-eye-open::before{
+  content:""; }
+
+.bp3-icon-fast-backward::before{
+  content:""; }
+
+.bp3-icon-fast-forward::before{
+  content:""; }
+
+.bp3-icon-feed::before{
+  content:""; }
+
+.bp3-icon-feed-subscribed::before{
+  content:""; }
+
+.bp3-icon-film::before{
+  content:""; }
+
+.bp3-icon-filter::before{
+  content:""; }
+
+.bp3-icon-filter-keep::before{
+  content:""; }
+
+.bp3-icon-filter-list::before{
+  content:""; }
+
+.bp3-icon-filter-open::before{
+  content:""; }
+
+.bp3-icon-filter-remove::before{
+  content:""; }
+
+.bp3-icon-flag::before{
+  content:"⚑"; }
+
+.bp3-icon-flame::before{
+  content:""; }
+
+.bp3-icon-flash::before{
+  content:""; }
+
+.bp3-icon-floppy-disk::before{
+  content:""; }
+
+.bp3-icon-flow-branch::before{
+  content:""; }
+
+.bp3-icon-flow-end::before{
+  content:""; }
+
+.bp3-icon-flow-linear::before{
+  content:""; }
+
+.bp3-icon-flow-review::before{
+  content:""; }
+
+.bp3-icon-flow-review-branch::before{
+  content:""; }
+
+.bp3-icon-flows::before{
+  content:""; }
+
+.bp3-icon-folder-close::before{
+  content:""; }
+
+.bp3-icon-folder-new::before{
+  content:""; }
+
+.bp3-icon-folder-open::before{
+  content:""; }
+
+.bp3-icon-folder-shared::before{
+  content:""; }
+
+.bp3-icon-folder-shared-open::before{
+  content:""; }
+
+.bp3-icon-follower::before{
+  content:""; }
+
+.bp3-icon-following::before{
+  content:""; }
+
+.bp3-icon-font::before{
+  content:""; }
+
+.bp3-icon-fork::before{
+  content:""; }
+
+.bp3-icon-form::before{
+  content:""; }
+
+.bp3-icon-full-circle::before{
+  content:""; }
+
+.bp3-icon-full-stacked-chart::before{
+  content:""; }
+
+.bp3-icon-fullscreen::before{
+  content:""; }
+
+.bp3-icon-function::before{
+  content:""; }
+
+.bp3-icon-gantt-chart::before{
+  content:""; }
+
+.bp3-icon-geolocation::before{
+  content:""; }
+
+.bp3-icon-geosearch::before{
+  content:""; }
+
+.bp3-icon-git-branch::before{
+  content:""; }
+
+.bp3-icon-git-commit::before{
+  content:""; }
+
+.bp3-icon-git-merge::before{
+  content:""; }
+
+.bp3-icon-git-new-branch::before{
+  content:""; }
+
+.bp3-icon-git-pull::before{
+  content:""; }
+
+.bp3-icon-git-push::before{
+  content:""; }
+
+.bp3-icon-git-repo::before{
+  content:""; }
+
+.bp3-icon-glass::before{
+  content:""; }
+
+.bp3-icon-globe::before{
+  content:""; }
+
+.bp3-icon-globe-network::before{
+  content:""; }
+
+.bp3-icon-graph::before{
+  content:""; }
+
+.bp3-icon-graph-remove::before{
+  content:""; }
+
+.bp3-icon-greater-than::before{
+  content:""; }
+
+.bp3-icon-greater-than-or-equal-to::before{
+  content:""; }
+
+.bp3-icon-grid::before{
+  content:""; }
+
+.bp3-icon-grid-view::before{
+  content:""; }
+
+.bp3-icon-group-objects::before{
+  content:""; }
+
+.bp3-icon-grouped-bar-chart::before{
+  content:""; }
+
+.bp3-icon-hand::before{
+  content:""; }
+
+.bp3-icon-hand-down::before{
+  content:""; }
+
+.bp3-icon-hand-left::before{
+  content:""; }
+
+.bp3-icon-hand-right::before{
+  content:""; }
+
+.bp3-icon-hand-up::before{
+  content:""; }
+
+.bp3-icon-header::before{
+  content:""; }
+
+.bp3-icon-header-one::before{
+  content:""; }
+
+.bp3-icon-header-two::before{
+  content:""; }
+
+.bp3-icon-headset::before{
+  content:""; }
+
+.bp3-icon-heart::before{
+  content:"♥"; }
+
+.bp3-icon-heart-broken::before{
+  content:""; }
+
+.bp3-icon-heat-grid::before{
+  content:""; }
+
+.bp3-icon-heatmap::before{
+  content:""; }
+
+.bp3-icon-help::before{
+  content:"?"; }
+
+.bp3-icon-helper-management::before{
+  content:""; }
+
+.bp3-icon-highlight::before{
+  content:""; }
+
+.bp3-icon-history::before{
+  content:""; }
+
+.bp3-icon-home::before{
+  content:"⌂"; }
+
+.bp3-icon-horizontal-bar-chart::before{
+  content:""; }
+
+.bp3-icon-horizontal-bar-chart-asc::before{
+  content:""; }
+
+.bp3-icon-horizontal-bar-chart-desc::before{
+  content:""; }
+
+.bp3-icon-horizontal-distribution::before{
+  content:""; }
+
+.bp3-icon-id-number::before{
+  content:""; }
+
+.bp3-icon-image-rotate-left::before{
+  content:""; }
+
+.bp3-icon-image-rotate-right::before{
+  content:""; }
+
+.bp3-icon-import::before{
+  content:""; }
+
+.bp3-icon-inbox::before{
+  content:""; }
+
+.bp3-icon-inbox-filtered::before{
+  content:""; }
+
+.bp3-icon-inbox-geo::before{
+  content:""; }
+
+.bp3-icon-inbox-search::before{
+  content:""; }
+
+.bp3-icon-inbox-update::before{
+  content:""; }
+
+.bp3-icon-info-sign::before{
+  content:"ℹ"; }
+
+.bp3-icon-inheritance::before{
+  content:""; }
+
+.bp3-icon-inner-join::before{
+  content:""; }
+
+.bp3-icon-insert::before{
+  content:""; }
+
+.bp3-icon-intersection::before{
+  content:""; }
+
+.bp3-icon-ip-address::before{
+  content:""; }
+
+.bp3-icon-issue::before{
+  content:""; }
+
+.bp3-icon-issue-closed::before{
+  content:""; }
+
+.bp3-icon-issue-new::before{
+  content:""; }
+
+.bp3-icon-italic::before{
+  content:""; }
+
+.bp3-icon-join-table::before{
+  content:""; }
+
+.bp3-icon-key::before{
+  content:""; }
+
+.bp3-icon-key-backspace::before{
+  content:""; }
+
+.bp3-icon-key-command::before{
+  content:""; }
+
+.bp3-icon-key-control::before{
+  content:""; }
+
+.bp3-icon-key-delete::before{
+  content:""; }
+
+.bp3-icon-key-enter::before{
+  content:""; }
+
+.bp3-icon-key-escape::before{
+  content:""; }
+
+.bp3-icon-key-option::before{
+  content:""; }
+
+.bp3-icon-key-shift::before{
+  content:""; }
+
+.bp3-icon-key-tab::before{
+  content:""; }
+
+.bp3-icon-known-vehicle::before{
+  content:""; }
+
+.bp3-icon-lab-test::before{
+  content:""; }
+
+.bp3-icon-label::before{
+  content:""; }
+
+.bp3-icon-layer::before{
+  content:""; }
+
+.bp3-icon-layers::before{
+  content:""; }
+
+.bp3-icon-layout::before{
+  content:""; }
+
+.bp3-icon-layout-auto::before{
+  content:""; }
+
+.bp3-icon-layout-balloon::before{
+  content:""; }
+
+.bp3-icon-layout-circle::before{
+  content:""; }
+
+.bp3-icon-layout-grid::before{
+  content:""; }
+
+.bp3-icon-layout-group-by::before{
+  content:""; }
+
+.bp3-icon-layout-hierarchy::before{
+  content:""; }
+
+.bp3-icon-layout-linear::before{
+  content:""; }
+
+.bp3-icon-layout-skew-grid::before{
+  content:""; }
+
+.bp3-icon-layout-sorted-clusters::before{
+  content:""; }
+
+.bp3-icon-learning::before{
+  content:""; }
+
+.bp3-icon-left-join::before{
+  content:""; }
+
+.bp3-icon-less-than::before{
+  content:""; }
+
+.bp3-icon-less-than-or-equal-to::before{
+  content:""; }
+
+.bp3-icon-lifesaver::before{
+  content:""; }
+
+.bp3-icon-lightbulb::before{
+  content:""; }
+
+.bp3-icon-link::before{
+  content:""; }
+
+.bp3-icon-list::before{
+  content:"☰"; }
+
+.bp3-icon-list-columns::before{
+  content:""; }
+
+.bp3-icon-list-detail-view::before{
+  content:""; }
+
+.bp3-icon-locate::before{
+  content:""; }
+
+.bp3-icon-lock::before{
+  content:""; }
+
+.bp3-icon-log-in::before{
+  content:""; }
+
+.bp3-icon-log-out::before{
+  content:""; }
+
+.bp3-icon-manual::before{
+  content:""; }
+
+.bp3-icon-manually-entered-data::before{
+  content:""; }
+
+.bp3-icon-map::before{
+  content:""; }
+
+.bp3-icon-map-create::before{
+  content:""; }
+
+.bp3-icon-map-marker::before{
+  content:""; }
+
+.bp3-icon-maximize::before{
+  content:""; }
+
+.bp3-icon-media::before{
+  content:""; }
+
+.bp3-icon-menu::before{
+  content:""; }
+
+.bp3-icon-menu-closed::before{
+  content:""; }
+
+.bp3-icon-menu-open::before{
+  content:""; }
+
+.bp3-icon-merge-columns::before{
+  content:""; }
+
+.bp3-icon-merge-links::before{
+  content:""; }
+
+.bp3-icon-minimize::before{
+  content:""; }
+
+.bp3-icon-minus::before{
+  content:"−"; }
+
+.bp3-icon-mobile-phone::before{
+  content:""; }
+
+.bp3-icon-mobile-video::before{
+  content:""; }
+
+.bp3-icon-moon::before{
+  content:""; }
+
+.bp3-icon-more::before{
+  content:""; }
+
+.bp3-icon-mountain::before{
+  content:""; }
+
+.bp3-icon-move::before{
+  content:""; }
+
+.bp3-icon-mugshot::before{
+  content:""; }
+
+.bp3-icon-multi-select::before{
+  content:""; }
+
+.bp3-icon-music::before{
+  content:""; }
+
+.bp3-icon-new-drawing::before{
+  content:""; }
+
+.bp3-icon-new-grid-item::before{
+  content:""; }
+
+.bp3-icon-new-layer::before{
+  content:""; }
+
+.bp3-icon-new-layers::before{
+  content:""; }
+
+.bp3-icon-new-link::before{
+  content:""; }
+
+.bp3-icon-new-object::before{
+  content:""; }
+
+.bp3-icon-new-person::before{
+  content:""; }
+
+.bp3-icon-new-prescription::before{
+  content:""; }
+
+.bp3-icon-new-text-box::before{
+  content:""; }
+
+.bp3-icon-ninja::before{
+  content:""; }
+
+.bp3-icon-not-equal-to::before{
+  content:""; }
+
+.bp3-icon-notifications::before{
+  content:""; }
+
+.bp3-icon-notifications-updated::before{
+  content:""; }
+
+.bp3-icon-numbered-list::before{
+  content:""; }
+
+.bp3-icon-numerical::before{
+  content:""; }
+
+.bp3-icon-office::before{
+  content:""; }
+
+.bp3-icon-offline::before{
+  content:""; }
+
+.bp3-icon-oil-field::before{
+  content:""; }
+
+.bp3-icon-one-column::before{
+  content:""; }
+
+.bp3-icon-outdated::before{
+  content:""; }
+
+.bp3-icon-page-layout::before{
+  content:""; }
+
+.bp3-icon-panel-stats::before{
+  content:""; }
+
+.bp3-icon-panel-table::before{
+  content:""; }
+
+.bp3-icon-paperclip::before{
+  content:""; }
+
+.bp3-icon-paragraph::before{
+  content:""; }
+
+.bp3-icon-path::before{
+  content:""; }
+
+.bp3-icon-path-search::before{
+  content:""; }
+
+.bp3-icon-pause::before{
+  content:""; }
+
+.bp3-icon-people::before{
+  content:""; }
+
+.bp3-icon-percentage::before{
+  content:""; }
+
+.bp3-icon-person::before{
+  content:""; }
+
+.bp3-icon-phone::before{
+  content:"☎"; }
+
+.bp3-icon-pie-chart::before{
+  content:""; }
+
+.bp3-icon-pin::before{
+  content:""; }
+
+.bp3-icon-pivot::before{
+  content:""; }
+
+.bp3-icon-pivot-table::before{
+  content:""; }
+
+.bp3-icon-play::before{
+  content:""; }
+
+.bp3-icon-plus::before{
+  content:"+"; }
+
+.bp3-icon-polygon-filter::before{
+  content:""; }
+
+.bp3-icon-power::before{
+  content:""; }
+
+.bp3-icon-predictive-analysis::before{
+  content:""; }
+
+.bp3-icon-prescription::before{
+  content:""; }
+
+.bp3-icon-presentation::before{
+  content:""; }
+
+.bp3-icon-print::before{
+  content:"⎙"; }
+
+.bp3-icon-projects::before{
+  content:""; }
+
+.bp3-icon-properties::before{
+  content:""; }
+
+.bp3-icon-property::before{
+  content:""; }
+
+.bp3-icon-publish-function::before{
+  content:""; }
+
+.bp3-icon-pulse::before{
+  content:""; }
+
+.bp3-icon-random::before{
+  content:""; }
+
+.bp3-icon-record::before{
+  content:""; }
+
+.bp3-icon-redo::before{
+  content:""; }
+
+.bp3-icon-refresh::before{
+  content:""; }
+
+.bp3-icon-regression-chart::before{
+  content:""; }
+
+.bp3-icon-remove::before{
+  content:""; }
+
+.bp3-icon-remove-column::before{
+  content:""; }
+
+.bp3-icon-remove-column-left::before{
+  content:""; }
+
+.bp3-icon-remove-column-right::before{
+  content:""; }
+
+.bp3-icon-remove-row-bottom::before{
+  content:""; }
+
+.bp3-icon-remove-row-top::before{
+  content:""; }
+
+.bp3-icon-repeat::before{
+  content:""; }
+
+.bp3-icon-reset::before{
+  content:""; }
+
+.bp3-icon-resolve::before{
+  content:""; }
+
+.bp3-icon-rig::before{
+  content:""; }
+
+.bp3-icon-right-join::before{
+  content:""; }
+
+.bp3-icon-ring::before{
+  content:""; }
+
+.bp3-icon-rotate-document::before{
+  content:""; }
+
+.bp3-icon-rotate-page::before{
+  content:""; }
+
+.bp3-icon-satellite::before{
+  content:""; }
+
+.bp3-icon-saved::before{
+  content:""; }
+
+.bp3-icon-scatter-plot::before{
+  content:""; }
+
+.bp3-icon-search::before{
+  content:""; }
+
+.bp3-icon-search-around::before{
+  content:""; }
+
+.bp3-icon-search-template::before{
+  content:""; }
+
+.bp3-icon-search-text::before{
+  content:""; }
+
+.bp3-icon-segmented-control::before{
+  content:""; }
+
+.bp3-icon-select::before{
+  content:""; }
+
+.bp3-icon-selection::before{
+  content:"⦿"; }
+
+.bp3-icon-send-to::before{
+  content:""; }
+
+.bp3-icon-send-to-graph::before{
+  content:""; }
+
+.bp3-icon-send-to-map::before{
+  content:""; }
+
+.bp3-icon-series-add::before{
+  content:""; }
+
+.bp3-icon-series-configuration::before{
+  content:""; }
+
+.bp3-icon-series-derived::before{
+  content:""; }
+
+.bp3-icon-series-filtered::before{
+  content:""; }
+
+.bp3-icon-series-search::before{
+  content:""; }
+
+.bp3-icon-settings::before{
+  content:""; }
+
+.bp3-icon-share::before{
+  content:""; }
+
+.bp3-icon-shield::before{
+  content:""; }
+
+.bp3-icon-shop::before{
+  content:""; }
+
+.bp3-icon-shopping-cart::before{
+  content:""; }
+
+.bp3-icon-signal-search::before{
+  content:""; }
+
+.bp3-icon-sim-card::before{
+  content:""; }
+
+.bp3-icon-slash::before{
+  content:""; }
+
+.bp3-icon-small-cross::before{
+  content:""; }
+
+.bp3-icon-small-minus::before{
+  content:""; }
+
+.bp3-icon-small-plus::before{
+  content:""; }
+
+.bp3-icon-small-tick::before{
+  content:""; }
+
+.bp3-icon-snowflake::before{
+  content:""; }
+
+.bp3-icon-social-media::before{
+  content:""; }
+
+.bp3-icon-sort::before{
+  content:""; }
+
+.bp3-icon-sort-alphabetical::before{
+  content:""; }
+
+.bp3-icon-sort-alphabetical-desc::before{
+  content:""; }
+
+.bp3-icon-sort-asc::before{
+  content:""; }
+
+.bp3-icon-sort-desc::before{
+  content:""; }
+
+.bp3-icon-sort-numerical::before{
+  content:""; }
+
+.bp3-icon-sort-numerical-desc::before{
+  content:""; }
+
+.bp3-icon-split-columns::before{
+  content:""; }
+
+.bp3-icon-square::before{
+  content:""; }
+
+.bp3-icon-stacked-chart::before{
+  content:""; }
+
+.bp3-icon-star::before{
+  content:"★"; }
+
+.bp3-icon-star-empty::before{
+  content:"☆"; }
+
+.bp3-icon-step-backward::before{
+  content:""; }
+
+.bp3-icon-step-chart::before{
+  content:""; }
+
+.bp3-icon-step-forward::before{
+  content:""; }
+
+.bp3-icon-stop::before{
+  content:""; }
+
+.bp3-icon-stopwatch::before{
+  content:""; }
+
+.bp3-icon-strikethrough::before{
+  content:""; }
+
+.bp3-icon-style::before{
+  content:""; }
+
+.bp3-icon-swap-horizontal::before{
+  content:""; }
+
+.bp3-icon-swap-vertical::before{
+  content:""; }
+
+.bp3-icon-symbol-circle::before{
+  content:""; }
+
+.bp3-icon-symbol-cross::before{
+  content:""; }
+
+.bp3-icon-symbol-diamond::before{
+  content:""; }
+
+.bp3-icon-symbol-square::before{
+  content:""; }
+
+.bp3-icon-symbol-triangle-down::before{
+  content:""; }
+
+.bp3-icon-symbol-triangle-up::before{
+  content:""; }
+
+.bp3-icon-tag::before{
+  content:""; }
+
+.bp3-icon-take-action::before{
+  content:""; }
+
+.bp3-icon-taxi::before{
+  content:""; }
+
+.bp3-icon-text-highlight::before{
+  content:""; }
+
+.bp3-icon-th::before{
+  content:""; }
+
+.bp3-icon-th-derived::before{
+  content:""; }
+
+.bp3-icon-th-disconnect::before{
+  content:""; }
+
+.bp3-icon-th-filtered::before{
+  content:""; }
+
+.bp3-icon-th-list::before{
+  content:""; }
+
+.bp3-icon-thumbs-down::before{
+  content:""; }
+
+.bp3-icon-thumbs-up::before{
+  content:""; }
+
+.bp3-icon-tick::before{
+  content:"✓"; }
+
+.bp3-icon-tick-circle::before{
+  content:""; }
+
+.bp3-icon-time::before{
+  content:"⏲"; }
+
+.bp3-icon-timeline-area-chart::before{
+  content:""; }
+
+.bp3-icon-timeline-bar-chart::before{
+  content:""; }
+
+.bp3-icon-timeline-events::before{
+  content:""; }
+
+.bp3-icon-timeline-line-chart::before{
+  content:""; }
+
+.bp3-icon-tint::before{
+  content:""; }
+
+.bp3-icon-torch::before{
+  content:""; }
+
+.bp3-icon-tractor::before{
+  content:""; }
+
+.bp3-icon-train::before{
+  content:""; }
+
+.bp3-icon-translate::before{
+  content:""; }
+
+.bp3-icon-trash::before{
+  content:""; }
+
+.bp3-icon-tree::before{
+  content:""; }
+
+.bp3-icon-trending-down::before{
+  content:""; }
+
+.bp3-icon-trending-up::before{
+  content:""; }
+
+.bp3-icon-truck::before{
+  content:""; }
+
+.bp3-icon-two-columns::before{
+  content:""; }
+
+.bp3-icon-unarchive::before{
+  content:""; }
+
+.bp3-icon-underline::before{
+  content:"⎁"; }
+
+.bp3-icon-undo::before{
+  content:"⎌"; }
+
+.bp3-icon-ungroup-objects::before{
+  content:""; }
+
+.bp3-icon-unknown-vehicle::before{
+  content:""; }
+
+.bp3-icon-unlock::before{
+  content:""; }
+
+.bp3-icon-unpin::before{
+  content:""; }
+
+.bp3-icon-unresolve::before{
+  content:""; }
+
+.bp3-icon-updated::before{
+  content:""; }
+
+.bp3-icon-upload::before{
+  content:""; }
+
+.bp3-icon-user::before{
+  content:""; }
+
+.bp3-icon-variable::before{
+  content:""; }
+
+.bp3-icon-vertical-bar-chart-asc::before{
+  content:""; }
+
+.bp3-icon-vertical-bar-chart-desc::before{
+  content:""; }
+
+.bp3-icon-vertical-distribution::before{
+  content:""; }
+
+.bp3-icon-video::before{
+  content:""; }
+
+.bp3-icon-volume-down::before{
+  content:""; }
+
+.bp3-icon-volume-off::before{
+  content:""; }
+
+.bp3-icon-volume-up::before{
+  content:""; }
+
+.bp3-icon-walk::before{
+  content:""; }
+
+.bp3-icon-warning-sign::before{
+  content:""; }
+
+.bp3-icon-waterfall-chart::before{
+  content:""; }
+
+.bp3-icon-widget::before{
+  content:""; }
+
+.bp3-icon-widget-button::before{
+  content:""; }
+
+.bp3-icon-widget-footer::before{
+  content:""; }
+
+.bp3-icon-widget-header::before{
+  content:""; }
+
+.bp3-icon-wrench::before{
+  content:""; }
+
+.bp3-icon-zoom-in::before{
+  content:""; }
+
+.bp3-icon-zoom-out::before{
+  content:""; }
+
+.bp3-icon-zoom-to-fit::before{
+  content:""; }
+.bp3-submenu > .bp3-popover-wrapper{
+  display:block; }
+
+.bp3-submenu .bp3-popover-target{
+  display:block; }
+  .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{ }
+
+.bp3-submenu.bp3-popover{
+  -webkit-box-shadow:none;
+          box-shadow:none;
+  padding:0 5px; }
+  .bp3-submenu.bp3-popover > .bp3-popover-content{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); }
+  .bp3-dark .bp3-submenu.bp3-popover, .bp3-submenu.bp3-popover.bp3-dark{
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+    .bp3-dark .bp3-submenu.bp3-popover > .bp3-popover-content, .bp3-submenu.bp3-popover.bp3-dark > .bp3-popover-content{
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); }
+.bp3-menu{
+  background:#ffffff;
+  border-radius:3px;
+  color:#182026;
+  list-style:none;
+  margin:0;
+  min-width:180px;
+  padding:5px;
+  text-align:left; }
+
+.bp3-menu-divider{
+  border-top:1px solid rgba(16, 22, 26, 0.15);
+  display:block;
+  margin:5px; }
+  .bp3-dark .bp3-menu-divider{
+    border-top-color:rgba(255, 255, 255, 0.15); }
+
+.bp3-menu-item{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:horizontal;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:row;
+          flex-direction:row;
+  -webkit-box-align:start;
+      -ms-flex-align:start;
+          align-items:flex-start;
+  border-radius:2px;
+  color:inherit;
+  line-height:20px;
+  padding:5px 7px;
+  text-decoration:none;
+  -webkit-user-select:none;
+     -moz-user-select:none;
+      -ms-user-select:none;
+          user-select:none; }
+  .bp3-menu-item > *{
+    -webkit-box-flex:0;
+        -ms-flex-positive:0;
+            flex-grow:0;
+    -ms-flex-negative:0;
+        flex-shrink:0; }
+  .bp3-menu-item > .bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1;
+    -ms-flex-negative:1;
+        flex-shrink:1; }
+  .bp3-menu-item::before,
+  .bp3-menu-item > *{
+    margin-right:7px; }
+  .bp3-menu-item:empty::before,
+  .bp3-menu-item > :last-child{
+    margin-right:0; }
+  .bp3-menu-item > .bp3-fill{
+    word-break:break-word; }
+  .bp3-menu-item:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{
+    background-color:rgba(167, 182, 194, 0.3);
+    cursor:pointer;
+    text-decoration:none; }
+  .bp3-menu-item.bp3-disabled{
+    background-color:inherit;
+    color:rgba(92, 112, 128, 0.6);
+    cursor:not-allowed; }
+  .bp3-dark .bp3-menu-item{
+    color:inherit; }
+    .bp3-dark .bp3-menu-item:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-menu-item{
+      background-color:rgba(138, 155, 168, 0.15);
+      color:inherit; }
+    .bp3-dark .bp3-menu-item.bp3-disabled{
+      background-color:inherit;
+      color:rgba(167, 182, 194, 0.6); }
+  .bp3-menu-item.bp3-intent-primary{
+    color:#106ba3; }
+    .bp3-menu-item.bp3-intent-primary .bp3-icon{
+      color:inherit; }
+    .bp3-menu-item.bp3-intent-primary::before, .bp3-menu-item.bp3-intent-primary::after,
+    .bp3-menu-item.bp3-intent-primary .bp3-menu-item-label{
+      color:#106ba3; }
+    .bp3-menu-item.bp3-intent-primary:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-menu-item.bp3-intent-primary.bp3-active{
+      background-color:#137cbd; }
+    .bp3-menu-item.bp3-intent-primary:active{
+      background-color:#106ba3; }
+    .bp3-menu-item.bp3-intent-primary:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-menu-item.bp3-intent-primary:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-menu-item.bp3-intent-primary:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after,
+    .bp3-menu-item.bp3-intent-primary:hover .bp3-menu-item-label,
+    .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-primary:active, .bp3-menu-item.bp3-intent-primary:active::before, .bp3-menu-item.bp3-intent-primary:active::after,
+    .bp3-menu-item.bp3-intent-primary:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-primary.bp3-active, .bp3-menu-item.bp3-intent-primary.bp3-active::before, .bp3-menu-item.bp3-intent-primary.bp3-active::after,
+    .bp3-menu-item.bp3-intent-primary.bp3-active .bp3-menu-item-label{
+      color:#ffffff; }
+  .bp3-menu-item.bp3-intent-success{
+    color:#0d8050; }
+    .bp3-menu-item.bp3-intent-success .bp3-icon{
+      color:inherit; }
+    .bp3-menu-item.bp3-intent-success::before, .bp3-menu-item.bp3-intent-success::after,
+    .bp3-menu-item.bp3-intent-success .bp3-menu-item-label{
+      color:#0d8050; }
+    .bp3-menu-item.bp3-intent-success:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-menu-item.bp3-intent-success.bp3-active{
+      background-color:#0f9960; }
+    .bp3-menu-item.bp3-intent-success:active{
+      background-color:#0d8050; }
+    .bp3-menu-item.bp3-intent-success:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-menu-item.bp3-intent-success:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-menu-item.bp3-intent-success:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after,
+    .bp3-menu-item.bp3-intent-success:hover .bp3-menu-item-label,
+    .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-success:active, .bp3-menu-item.bp3-intent-success:active::before, .bp3-menu-item.bp3-intent-success:active::after,
+    .bp3-menu-item.bp3-intent-success:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-success.bp3-active, .bp3-menu-item.bp3-intent-success.bp3-active::before, .bp3-menu-item.bp3-intent-success.bp3-active::after,
+    .bp3-menu-item.bp3-intent-success.bp3-active .bp3-menu-item-label{
+      color:#ffffff; }
+  .bp3-menu-item.bp3-intent-warning{
+    color:#bf7326; }
+    .bp3-menu-item.bp3-intent-warning .bp3-icon{
+      color:inherit; }
+    .bp3-menu-item.bp3-intent-warning::before, .bp3-menu-item.bp3-intent-warning::after,
+    .bp3-menu-item.bp3-intent-warning .bp3-menu-item-label{
+      color:#bf7326; }
+    .bp3-menu-item.bp3-intent-warning:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-menu-item.bp3-intent-warning.bp3-active{
+      background-color:#d9822b; }
+    .bp3-menu-item.bp3-intent-warning:active{
+      background-color:#bf7326; }
+    .bp3-menu-item.bp3-intent-warning:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-menu-item.bp3-intent-warning:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-menu-item.bp3-intent-warning:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after,
+    .bp3-menu-item.bp3-intent-warning:hover .bp3-menu-item-label,
+    .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-warning:active, .bp3-menu-item.bp3-intent-warning:active::before, .bp3-menu-item.bp3-intent-warning:active::after,
+    .bp3-menu-item.bp3-intent-warning:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-warning.bp3-active, .bp3-menu-item.bp3-intent-warning.bp3-active::before, .bp3-menu-item.bp3-intent-warning.bp3-active::after,
+    .bp3-menu-item.bp3-intent-warning.bp3-active .bp3-menu-item-label{
+      color:#ffffff; }
+  .bp3-menu-item.bp3-intent-danger{
+    color:#c23030; }
+    .bp3-menu-item.bp3-intent-danger .bp3-icon{
+      color:inherit; }
+    .bp3-menu-item.bp3-intent-danger::before, .bp3-menu-item.bp3-intent-danger::after,
+    .bp3-menu-item.bp3-intent-danger .bp3-menu-item-label{
+      color:#c23030; }
+    .bp3-menu-item.bp3-intent-danger:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-menu-item.bp3-intent-danger.bp3-active{
+      background-color:#db3737; }
+    .bp3-menu-item.bp3-intent-danger:active{
+      background-color:#c23030; }
+    .bp3-menu-item.bp3-intent-danger:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-menu-item.bp3-intent-danger:hover::before, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-menu-item.bp3-intent-danger:hover::after, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after,
+    .bp3-menu-item.bp3-intent-danger:hover .bp3-menu-item-label,
+    .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, .bp3-menu-item.bp3-intent-danger:active, .bp3-menu-item.bp3-intent-danger:active::before, .bp3-menu-item.bp3-intent-danger:active::after,
+    .bp3-menu-item.bp3-intent-danger:active .bp3-menu-item-label, .bp3-menu-item.bp3-intent-danger.bp3-active, .bp3-menu-item.bp3-intent-danger.bp3-active::before, .bp3-menu-item.bp3-intent-danger.bp3-active::after,
+    .bp3-menu-item.bp3-intent-danger.bp3-active .bp3-menu-item-label{
+      color:#ffffff; }
+  .bp3-menu-item::before{
+    font-family:"Icons16", sans-serif;
+    font-size:16px;
+    font-style:normal;
+    font-weight:400;
+    line-height:1;
+    -moz-osx-font-smoothing:grayscale;
+    -webkit-font-smoothing:antialiased;
+    margin-right:7px; }
+  .bp3-menu-item::before,
+  .bp3-menu-item > .bp3-icon{
+    color:#5c7080;
+    margin-top:2px; }
+  .bp3-menu-item .bp3-menu-item-label{
+    color:#5c7080; }
+  .bp3-menu-item:hover, .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-menu-item{
+    color:inherit; }
+  .bp3-menu-item.bp3-active, .bp3-menu-item:active{
+    background-color:rgba(115, 134, 148, 0.3); }
+  .bp3-menu-item.bp3-disabled{
+    background-color:inherit !important;
+    color:rgba(92, 112, 128, 0.6) !important;
+    cursor:not-allowed !important;
+    outline:none !important; }
+    .bp3-menu-item.bp3-disabled::before,
+    .bp3-menu-item.bp3-disabled > .bp3-icon,
+    .bp3-menu-item.bp3-disabled .bp3-menu-item-label{
+      color:rgba(92, 112, 128, 0.6) !important; }
+  .bp3-large .bp3-menu-item{
+    font-size:16px;
+    line-height:22px;
+    padding:9px 7px; }
+    .bp3-large .bp3-menu-item .bp3-icon{
+      margin-top:3px; }
+    .bp3-large .bp3-menu-item::before{
+      font-family:"Icons20", sans-serif;
+      font-size:20px;
+      font-style:normal;
+      font-weight:400;
+      line-height:1;
+      -moz-osx-font-smoothing:grayscale;
+      -webkit-font-smoothing:antialiased;
+      margin-right:10px;
+      margin-top:1px; }
+
+button.bp3-menu-item{
+  background:none;
+  border:none;
+  text-align:left;
+  width:100%; }
+.bp3-menu-header{
+  border-top:1px solid rgba(16, 22, 26, 0.15);
+  display:block;
+  margin:5px;
+  cursor:default;
+  padding-left:2px; }
+  .bp3-dark .bp3-menu-header{
+    border-top-color:rgba(255, 255, 255, 0.15); }
+  .bp3-menu-header:first-of-type{
+    border-top:none; }
+  .bp3-menu-header > h6{
+    color:#182026;
+    font-weight:600;
+    overflow:hidden;
+    text-overflow:ellipsis;
+    white-space:nowrap;
+    word-wrap:normal;
+    line-height:17px;
+    margin:0;
+    padding:10px 7px 0 1px; }
+    .bp3-dark .bp3-menu-header > h6{
+      color:#f5f8fa; }
+  .bp3-menu-header:first-of-type > h6{
+    padding-top:0; }
+  .bp3-large .bp3-menu-header > h6{
+    font-size:18px;
+    padding-bottom:5px;
+    padding-top:15px; }
+  .bp3-large .bp3-menu-header:first-of-type > h6{
+    padding-top:0; }
+
+.bp3-dark .bp3-menu{
+  background:#30404d;
+  color:#f5f8fa; }
+
+.bp3-dark .bp3-menu-item{ }
+  .bp3-dark .bp3-menu-item.bp3-intent-primary{
+    color:#48aff0; }
+    .bp3-dark .bp3-menu-item.bp3-intent-primary .bp3-icon{
+      color:inherit; }
+    .bp3-dark .bp3-menu-item.bp3-intent-primary::before, .bp3-dark .bp3-menu-item.bp3-intent-primary::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-primary .bp3-menu-item-label{
+      color:#48aff0; }
+    .bp3-dark .bp3-menu-item.bp3-intent-primary:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active{
+      background-color:#137cbd; }
+    .bp3-dark .bp3-menu-item.bp3-intent-primary:active{
+      background-color:#106ba3; }
+    .bp3-dark .bp3-menu-item.bp3-intent-primary:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-primary:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-primary:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-primary:hover .bp3-menu-item-label,
+    .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label,
+    .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-primary.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-primary:active, .bp3-dark .bp3-menu-item.bp3-intent-primary:active::before, .bp3-dark .bp3-menu-item.bp3-intent-primary:active::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-primary:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active .bp3-menu-item-label{
+      color:#ffffff; }
+  .bp3-dark .bp3-menu-item.bp3-intent-success{
+    color:#3dcc91; }
+    .bp3-dark .bp3-menu-item.bp3-intent-success .bp3-icon{
+      color:inherit; }
+    .bp3-dark .bp3-menu-item.bp3-intent-success::before, .bp3-dark .bp3-menu-item.bp3-intent-success::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-success .bp3-menu-item-label{
+      color:#3dcc91; }
+    .bp3-dark .bp3-menu-item.bp3-intent-success:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active{
+      background-color:#0f9960; }
+    .bp3-dark .bp3-menu-item.bp3-intent-success:active{
+      background-color:#0d8050; }
+    .bp3-dark .bp3-menu-item.bp3-intent-success:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-success:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-success:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-success:hover .bp3-menu-item-label,
+    .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label,
+    .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-success.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-success:active, .bp3-dark .bp3-menu-item.bp3-intent-success:active::before, .bp3-dark .bp3-menu-item.bp3-intent-success:active::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-success:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active .bp3-menu-item-label{
+      color:#ffffff; }
+  .bp3-dark .bp3-menu-item.bp3-intent-warning{
+    color:#ffb366; }
+    .bp3-dark .bp3-menu-item.bp3-intent-warning .bp3-icon{
+      color:inherit; }
+    .bp3-dark .bp3-menu-item.bp3-intent-warning::before, .bp3-dark .bp3-menu-item.bp3-intent-warning::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-warning .bp3-menu-item-label{
+      color:#ffb366; }
+    .bp3-dark .bp3-menu-item.bp3-intent-warning:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active{
+      background-color:#d9822b; }
+    .bp3-dark .bp3-menu-item.bp3-intent-warning:active{
+      background-color:#bf7326; }
+    .bp3-dark .bp3-menu-item.bp3-intent-warning:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-warning:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-warning:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-warning:hover .bp3-menu-item-label,
+    .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label,
+    .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-warning.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-warning:active, .bp3-dark .bp3-menu-item.bp3-intent-warning:active::before, .bp3-dark .bp3-menu-item.bp3-intent-warning:active::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-warning:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active .bp3-menu-item-label{
+      color:#ffffff; }
+  .bp3-dark .bp3-menu-item.bp3-intent-danger{
+    color:#ff7373; }
+    .bp3-dark .bp3-menu-item.bp3-intent-danger .bp3-icon{
+      color:inherit; }
+    .bp3-dark .bp3-menu-item.bp3-intent-danger::before, .bp3-dark .bp3-menu-item.bp3-intent-danger::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-danger .bp3-menu-item-label{
+      color:#ff7373; }
+    .bp3-dark .bp3-menu-item.bp3-intent-danger:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active{
+      background-color:#db3737; }
+    .bp3-dark .bp3-menu-item.bp3-intent-danger:active{
+      background-color:#c23030; }
+    .bp3-dark .bp3-menu-item.bp3-intent-danger:hover, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item, .bp3-dark .bp3-menu-item.bp3-intent-danger:hover::before, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::before, .bp3-dark .bp3-menu-item.bp3-intent-danger:hover::after, .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after, .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-danger:hover .bp3-menu-item-label,
+    .bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label,
+    .bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open > .bp3-intent-danger.bp3-menu-item .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-danger:active, .bp3-dark .bp3-menu-item.bp3-intent-danger:active::before, .bp3-dark .bp3-menu-item.bp3-intent-danger:active::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-danger:active .bp3-menu-item-label, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active::before, .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active::after,
+    .bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active .bp3-menu-item-label{
+      color:#ffffff; }
+  .bp3-dark .bp3-menu-item::before,
+  .bp3-dark .bp3-menu-item > .bp3-icon{
+    color:#a7b6c2; }
+  .bp3-dark .bp3-menu-item .bp3-menu-item-label{
+    color:#a7b6c2; }
+  .bp3-dark .bp3-menu-item.bp3-active, .bp3-dark .bp3-menu-item:active{
+    background-color:rgba(138, 155, 168, 0.3); }
+  .bp3-dark .bp3-menu-item.bp3-disabled{
+    color:rgba(167, 182, 194, 0.6) !important; }
+    .bp3-dark .bp3-menu-item.bp3-disabled::before,
+    .bp3-dark .bp3-menu-item.bp3-disabled > .bp3-icon,
+    .bp3-dark .bp3-menu-item.bp3-disabled .bp3-menu-item-label{
+      color:rgba(167, 182, 194, 0.6) !important; }
+
+.bp3-dark .bp3-menu-divider,
+.bp3-dark .bp3-menu-header{
+  border-color:rgba(255, 255, 255, 0.15); }
+
+.bp3-dark .bp3-menu-header > h6{
+  color:#f5f8fa; }
+
+.bp3-label .bp3-menu{
+  margin-top:5px; }
+.bp3-navbar{
+  background-color:#ffffff;
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2);
+  height:50px;
+  padding:0 15px;
+  position:relative;
+  width:100%;
+  z-index:10; }
+  .bp3-navbar.bp3-dark,
+  .bp3-dark .bp3-navbar{
+    background-color:#394b59; }
+  .bp3-navbar.bp3-dark{
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); }
+  .bp3-dark .bp3-navbar{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.4); }
+  .bp3-navbar.bp3-fixed-top{
+    left:0;
+    position:fixed;
+    right:0;
+    top:0; }
+
+.bp3-navbar-heading{
+  font-size:16px;
+  margin-right:15px; }
+
+.bp3-navbar-group{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  height:50px; }
+  .bp3-navbar-group.bp3-align-left{
+    float:left; }
+  .bp3-navbar-group.bp3-align-right{
+    float:right; }
+
+.bp3-navbar-divider{
+  border-left:1px solid rgba(16, 22, 26, 0.15);
+  height:20px;
+  margin:0 10px; }
+  .bp3-dark .bp3-navbar-divider{
+    border-left-color:rgba(255, 255, 255, 0.15); }
+.bp3-non-ideal-state{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:vertical;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:column;
+          flex-direction:column;
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  height:100%;
+  -webkit-box-pack:center;
+      -ms-flex-pack:center;
+          justify-content:center;
+  text-align:center;
+  width:100%; }
+  .bp3-non-ideal-state > *{
+    -webkit-box-flex:0;
+        -ms-flex-positive:0;
+            flex-grow:0;
+    -ms-flex-negative:0;
+        flex-shrink:0; }
+  .bp3-non-ideal-state > .bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1;
+    -ms-flex-negative:1;
+        flex-shrink:1; }
+  .bp3-non-ideal-state::before,
+  .bp3-non-ideal-state > *{
+    margin-bottom:20px; }
+  .bp3-non-ideal-state:empty::before,
+  .bp3-non-ideal-state > :last-child{
+    margin-bottom:0; }
+  .bp3-non-ideal-state > *{
+    max-width:400px; }
+
+.bp3-non-ideal-state-visual{
+  color:rgba(92, 112, 128, 0.6);
+  font-size:60px; }
+  .bp3-dark .bp3-non-ideal-state-visual{
+    color:rgba(167, 182, 194, 0.6); }
+
+.bp3-overflow-list{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -ms-flex-wrap:nowrap;
+      flex-wrap:nowrap;
+  min-width:0; }
+
+.bp3-overflow-list-spacer{
+  -ms-flex-negative:1;
+      flex-shrink:1;
+  width:1px; }
+
+body.bp3-overlay-open{
+  overflow:hidden; }
+
+.bp3-overlay{
+  bottom:0;
+  left:0;
+  position:static;
+  right:0;
+  top:0;
+  z-index:20; }
+  .bp3-overlay:not(.bp3-overlay-open){
+    pointer-events:none; }
+  .bp3-overlay.bp3-overlay-container{
+    overflow:hidden;
+    position:fixed; }
+    .bp3-overlay.bp3-overlay-container.bp3-overlay-inline{
+      position:absolute; }
+  .bp3-overlay.bp3-overlay-scroll-container{
+    overflow:auto;
+    position:fixed; }
+    .bp3-overlay.bp3-overlay-scroll-container.bp3-overlay-inline{
+      position:absolute; }
+  .bp3-overlay.bp3-overlay-inline{
+    display:inline;
+    overflow:visible; }
+
+.bp3-overlay-content{
+  position:fixed;
+  z-index:20; }
+  .bp3-overlay-inline .bp3-overlay-content,
+  .bp3-overlay-scroll-container .bp3-overlay-content{
+    position:absolute; }
+
+.bp3-overlay-backdrop{
+  bottom:0;
+  left:0;
+  position:fixed;
+  right:0;
+  top:0;
+  opacity:1;
+  background-color:rgba(16, 22, 26, 0.7);
+  overflow:auto;
+  -webkit-user-select:none;
+     -moz-user-select:none;
+      -ms-user-select:none;
+          user-select:none;
+  z-index:20; }
+  .bp3-overlay-backdrop.bp3-overlay-enter, .bp3-overlay-backdrop.bp3-overlay-appear{
+    opacity:0; }
+  .bp3-overlay-backdrop.bp3-overlay-enter-active, .bp3-overlay-backdrop.bp3-overlay-appear-active{
+    opacity:1;
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:200ms;
+            transition-duration:200ms;
+    -webkit-transition-property:opacity;
+    transition-property:opacity;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-overlay-backdrop.bp3-overlay-exit{
+    opacity:1; }
+  .bp3-overlay-backdrop.bp3-overlay-exit-active{
+    opacity:0;
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:200ms;
+            transition-duration:200ms;
+    -webkit-transition-property:opacity;
+    transition-property:opacity;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-overlay-backdrop:focus{
+    outline:none; }
+  .bp3-overlay-inline .bp3-overlay-backdrop{
+    position:absolute; }
+.bp3-panel-stack{
+  overflow:hidden;
+  position:relative; }
+
+.bp3-panel-stack-header{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  -webkit-box-shadow:0 1px rgba(16, 22, 26, 0.15);
+          box-shadow:0 1px rgba(16, 22, 26, 0.15);
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -ms-flex-negative:0;
+      flex-shrink:0;
+  height:30px;
+  z-index:1; }
+  .bp3-dark .bp3-panel-stack-header{
+    -webkit-box-shadow:0 1px rgba(255, 255, 255, 0.15);
+            box-shadow:0 1px rgba(255, 255, 255, 0.15); }
+  .bp3-panel-stack-header > span{
+    -webkit-box-align:stretch;
+        -ms-flex-align:stretch;
+            align-items:stretch;
+    display:-webkit-box;
+    display:-ms-flexbox;
+    display:flex;
+    -webkit-box-flex:1;
+        -ms-flex:1;
+            flex:1; }
+  .bp3-panel-stack-header .bp3-heading{
+    margin:0 5px; }
+
+.bp3-button.bp3-panel-stack-header-back{
+  margin-left:5px;
+  padding-left:0;
+  white-space:nowrap; }
+  .bp3-button.bp3-panel-stack-header-back .bp3-icon{
+    margin:0 2px; }
+
+.bp3-panel-stack-view{
+  bottom:0;
+  left:0;
+  position:absolute;
+  right:0;
+  top:0;
+  background-color:#ffffff;
+  border-right:1px solid rgba(16, 22, 26, 0.15);
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:vertical;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:column;
+          flex-direction:column;
+  margin-right:-1px;
+  overflow-y:auto;
+  z-index:1; }
+  .bp3-dark .bp3-panel-stack-view{
+    background-color:#30404d; }
+  .bp3-panel-stack-view:nth-last-child(n + 4){
+    display:none; }
+
+.bp3-panel-stack-push .bp3-panel-stack-enter, .bp3-panel-stack-push .bp3-panel-stack-appear{
+  -webkit-transform:translateX(100%);
+          transform:translateX(100%);
+  opacity:0; }
+
+.bp3-panel-stack-push .bp3-panel-stack-enter-active, .bp3-panel-stack-push .bp3-panel-stack-appear-active{
+  -webkit-transform:translate(0%);
+          transform:translate(0%);
+  opacity:1;
+  -webkit-transition-delay:0;
+          transition-delay:0;
+  -webkit-transition-duration:400ms;
+          transition-duration:400ms;
+  -webkit-transition-property:opacity, -webkit-transform;
+  transition-property:opacity, -webkit-transform;
+  transition-property:transform, opacity;
+  transition-property:transform, opacity, -webkit-transform;
+  -webkit-transition-timing-function:ease;
+          transition-timing-function:ease; }
+
+.bp3-panel-stack-push .bp3-panel-stack-exit{
+  -webkit-transform:translate(0%);
+          transform:translate(0%);
+  opacity:1; }
+
+.bp3-panel-stack-push .bp3-panel-stack-exit-active{
+  -webkit-transform:translateX(-50%);
+          transform:translateX(-50%);
+  opacity:0;
+  -webkit-transition-delay:0;
+          transition-delay:0;
+  -webkit-transition-duration:400ms;
+          transition-duration:400ms;
+  -webkit-transition-property:opacity, -webkit-transform;
+  transition-property:opacity, -webkit-transform;
+  transition-property:transform, opacity;
+  transition-property:transform, opacity, -webkit-transform;
+  -webkit-transition-timing-function:ease;
+          transition-timing-function:ease; }
+
+.bp3-panel-stack-pop .bp3-panel-stack-enter, .bp3-panel-stack-pop .bp3-panel-stack-appear{
+  -webkit-transform:translateX(-50%);
+          transform:translateX(-50%);
+  opacity:0; }
+
+.bp3-panel-stack-pop .bp3-panel-stack-enter-active, .bp3-panel-stack-pop .bp3-panel-stack-appear-active{
+  -webkit-transform:translate(0%);
+          transform:translate(0%);
+  opacity:1;
+  -webkit-transition-delay:0;
+          transition-delay:0;
+  -webkit-transition-duration:400ms;
+          transition-duration:400ms;
+  -webkit-transition-property:opacity, -webkit-transform;
+  transition-property:opacity, -webkit-transform;
+  transition-property:transform, opacity;
+  transition-property:transform, opacity, -webkit-transform;
+  -webkit-transition-timing-function:ease;
+          transition-timing-function:ease; }
+
+.bp3-panel-stack-pop .bp3-panel-stack-exit{
+  -webkit-transform:translate(0%);
+          transform:translate(0%);
+  opacity:1; }
+
+.bp3-panel-stack-pop .bp3-panel-stack-exit-active{
+  -webkit-transform:translateX(100%);
+          transform:translateX(100%);
+  opacity:0;
+  -webkit-transition-delay:0;
+          transition-delay:0;
+  -webkit-transition-duration:400ms;
+          transition-duration:400ms;
+  -webkit-transition-property:opacity, -webkit-transform;
+  transition-property:opacity, -webkit-transform;
+  transition-property:transform, opacity;
+  transition-property:transform, opacity, -webkit-transform;
+  -webkit-transition-timing-function:ease;
+          transition-timing-function:ease; }
+.bp3-popover{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+  -webkit-transform:scale(1);
+          transform:scale(1);
+  border-radius:3px;
+  display:inline-block;
+  z-index:20; }
+  .bp3-popover .bp3-popover-arrow{
+    height:30px;
+    position:absolute;
+    width:30px; }
+    .bp3-popover .bp3-popover-arrow::before{
+      height:20px;
+      margin:5px;
+      width:20px; }
+  .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover{
+    margin-bottom:17px;
+    margin-top:-17px; }
+    .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow{
+      bottom:-11px; }
+      .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow svg{
+        -webkit-transform:rotate(-90deg);
+                transform:rotate(-90deg); }
+  .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover{
+    margin-left:17px; }
+    .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow{
+      left:-11px; }
+      .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow svg{
+        -webkit-transform:rotate(0);
+                transform:rotate(0); }
+  .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover{
+    margin-top:17px; }
+    .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow{
+      top:-11px; }
+      .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow svg{
+        -webkit-transform:rotate(90deg);
+                transform:rotate(90deg); }
+  .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover{
+    margin-left:-17px;
+    margin-right:17px; }
+    .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow{
+      right:-11px; }
+      .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow svg{
+        -webkit-transform:rotate(180deg);
+                transform:rotate(180deg); }
+  .bp3-tether-element-attached-middle > .bp3-popover > .bp3-popover-arrow{
+    top:50%;
+    -webkit-transform:translateY(-50%);
+            transform:translateY(-50%); }
+  .bp3-tether-element-attached-center > .bp3-popover > .bp3-popover-arrow{
+    right:50%;
+    -webkit-transform:translateX(50%);
+            transform:translateX(50%); }
+  .bp3-tether-element-attached-top.bp3-tether-target-attached-top > .bp3-popover > .bp3-popover-arrow{
+    top:-0.3934px; }
+  .bp3-tether-element-attached-right.bp3-tether-target-attached-right > .bp3-popover > .bp3-popover-arrow{
+    right:-0.3934px; }
+  .bp3-tether-element-attached-left.bp3-tether-target-attached-left > .bp3-popover > .bp3-popover-arrow{
+    left:-0.3934px; }
+  .bp3-tether-element-attached-bottom.bp3-tether-target-attached-bottom > .bp3-popover > .bp3-popover-arrow{
+    bottom:-0.3934px; }
+  .bp3-tether-element-attached-top.bp3-tether-element-attached-left > .bp3-popover{
+    -webkit-transform-origin:top left;
+            transform-origin:top left; }
+  .bp3-tether-element-attached-top.bp3-tether-element-attached-center > .bp3-popover{
+    -webkit-transform-origin:top center;
+            transform-origin:top center; }
+  .bp3-tether-element-attached-top.bp3-tether-element-attached-right > .bp3-popover{
+    -webkit-transform-origin:top right;
+            transform-origin:top right; }
+  .bp3-tether-element-attached-middle.bp3-tether-element-attached-left > .bp3-popover{
+    -webkit-transform-origin:center left;
+            transform-origin:center left; }
+  .bp3-tether-element-attached-middle.bp3-tether-element-attached-center > .bp3-popover{
+    -webkit-transform-origin:center center;
+            transform-origin:center center; }
+  .bp3-tether-element-attached-middle.bp3-tether-element-attached-right > .bp3-popover{
+    -webkit-transform-origin:center right;
+            transform-origin:center right; }
+  .bp3-tether-element-attached-bottom.bp3-tether-element-attached-left > .bp3-popover{
+    -webkit-transform-origin:bottom left;
+            transform-origin:bottom left; }
+  .bp3-tether-element-attached-bottom.bp3-tether-element-attached-center > .bp3-popover{
+    -webkit-transform-origin:bottom center;
+            transform-origin:bottom center; }
+  .bp3-tether-element-attached-bottom.bp3-tether-element-attached-right > .bp3-popover{
+    -webkit-transform-origin:bottom right;
+            transform-origin:bottom right; }
+  .bp3-popover .bp3-popover-content{
+    background:#ffffff;
+    color:inherit; }
+  .bp3-popover .bp3-popover-arrow::before{
+    -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2);
+            box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); }
+  .bp3-popover .bp3-popover-arrow-border{
+    fill:#10161a;
+    fill-opacity:0.1; }
+  .bp3-popover .bp3-popover-arrow-fill{
+    fill:#ffffff; }
+  .bp3-popover-enter > .bp3-popover, .bp3-popover-appear > .bp3-popover{
+    -webkit-transform:scale(0.3);
+            transform:scale(0.3); }
+  .bp3-popover-enter-active > .bp3-popover, .bp3-popover-appear-active > .bp3-popover{
+    -webkit-transform:scale(1);
+            transform:scale(1);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:300ms;
+            transition-duration:300ms;
+    -webkit-transition-property:-webkit-transform;
+    transition-property:-webkit-transform;
+    transition-property:transform;
+    transition-property:transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11);
+            transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); }
+  .bp3-popover-exit > .bp3-popover{
+    -webkit-transform:scale(1);
+            transform:scale(1); }
+  .bp3-popover-exit-active > .bp3-popover{
+    -webkit-transform:scale(0.3);
+            transform:scale(0.3);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:300ms;
+            transition-duration:300ms;
+    -webkit-transition-property:-webkit-transform;
+    transition-property:-webkit-transform;
+    transition-property:transform;
+    transition-property:transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11);
+            transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); }
+  .bp3-popover .bp3-popover-content{
+    border-radius:3px;
+    position:relative; }
+  .bp3-popover.bp3-popover-content-sizing .bp3-popover-content{
+    max-width:350px;
+    padding:20px; }
+  .bp3-popover-target + .bp3-overlay .bp3-popover.bp3-popover-content-sizing{
+    width:350px; }
+  .bp3-popover.bp3-minimal{
+    margin:0 !important; }
+    .bp3-popover.bp3-minimal .bp3-popover-arrow{
+      display:none; }
+    .bp3-popover.bp3-minimal.bp3-popover{
+      -webkit-transform:scale(1);
+              transform:scale(1); }
+      .bp3-popover-enter > .bp3-popover.bp3-minimal.bp3-popover, .bp3-popover-appear > .bp3-popover.bp3-minimal.bp3-popover{
+        -webkit-transform:scale(1);
+                transform:scale(1); }
+      .bp3-popover-enter-active > .bp3-popover.bp3-minimal.bp3-popover, .bp3-popover-appear-active > .bp3-popover.bp3-minimal.bp3-popover{
+        -webkit-transform:scale(1);
+                transform:scale(1);
+        -webkit-transition-delay:0;
+                transition-delay:0;
+        -webkit-transition-duration:100ms;
+                transition-duration:100ms;
+        -webkit-transition-property:-webkit-transform;
+        transition-property:-webkit-transform;
+        transition-property:transform;
+        transition-property:transform, -webkit-transform;
+        -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+                transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+      .bp3-popover-exit > .bp3-popover.bp3-minimal.bp3-popover{
+        -webkit-transform:scale(1);
+                transform:scale(1); }
+      .bp3-popover-exit-active > .bp3-popover.bp3-minimal.bp3-popover{
+        -webkit-transform:scale(1);
+                transform:scale(1);
+        -webkit-transition-delay:0;
+                transition-delay:0;
+        -webkit-transition-duration:100ms;
+                transition-duration:100ms;
+        -webkit-transition-property:-webkit-transform;
+        transition-property:-webkit-transform;
+        transition-property:transform;
+        transition-property:transform, -webkit-transform;
+        -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+                transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-popover.bp3-dark,
+  .bp3-dark .bp3-popover{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); }
+    .bp3-popover.bp3-dark .bp3-popover-content,
+    .bp3-dark .bp3-popover .bp3-popover-content{
+      background:#30404d;
+      color:inherit; }
+    .bp3-popover.bp3-dark .bp3-popover-arrow::before,
+    .bp3-dark .bp3-popover .bp3-popover-arrow::before{
+      -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4);
+              box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); }
+    .bp3-popover.bp3-dark .bp3-popover-arrow-border,
+    .bp3-dark .bp3-popover .bp3-popover-arrow-border{
+      fill:#10161a;
+      fill-opacity:0.2; }
+    .bp3-popover.bp3-dark .bp3-popover-arrow-fill,
+    .bp3-dark .bp3-popover .bp3-popover-arrow-fill{
+      fill:#30404d; }
+
+.bp3-popover-arrow::before{
+  border-radius:2px;
+  content:"";
+  display:block;
+  position:absolute;
+  -webkit-transform:rotate(45deg);
+          transform:rotate(45deg); }
+
+.bp3-tether-pinned .bp3-popover-arrow{
+  display:none; }
+
+.bp3-popover-backdrop{
+  background:rgba(255, 255, 255, 0); }
+
+.bp3-transition-container{
+  opacity:1;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  z-index:20; }
+  .bp3-transition-container.bp3-popover-enter, .bp3-transition-container.bp3-popover-appear{
+    opacity:0; }
+  .bp3-transition-container.bp3-popover-enter-active, .bp3-transition-container.bp3-popover-appear-active{
+    opacity:1;
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:100ms;
+            transition-duration:100ms;
+    -webkit-transition-property:opacity;
+    transition-property:opacity;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-transition-container.bp3-popover-exit{
+    opacity:1; }
+  .bp3-transition-container.bp3-popover-exit-active{
+    opacity:0;
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:100ms;
+            transition-duration:100ms;
+    -webkit-transition-property:opacity;
+    transition-property:opacity;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-transition-container:focus{
+    outline:none; }
+  .bp3-transition-container.bp3-popover-leave .bp3-popover-content{
+    pointer-events:none; }
+  .bp3-transition-container[data-x-out-of-boundaries]{
+    display:none; }
+
+span.bp3-popover-target{
+  display:inline-block; }
+
+.bp3-popover-wrapper.bp3-fill{
+  width:100%; }
+
+.bp3-portal{
+  left:0;
+  position:absolute;
+  right:0;
+  top:0; }
+@-webkit-keyframes linear-progress-bar-stripes{
+  from{
+    background-position:0 0; }
+  to{
+    background-position:30px 0; } }
+@keyframes linear-progress-bar-stripes{
+  from{
+    background-position:0 0; }
+  to{
+    background-position:30px 0; } }
+
+.bp3-progress-bar{
+  background:rgba(92, 112, 128, 0.2);
+  border-radius:40px;
+  display:block;
+  height:8px;
+  overflow:hidden;
+  position:relative;
+  width:100%; }
+  .bp3-progress-bar .bp3-progress-meter{
+    background:linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%);
+    background-color:rgba(92, 112, 128, 0.8);
+    background-size:30px 30px;
+    border-radius:40px;
+    height:100%;
+    position:absolute;
+    -webkit-transition:width 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:width 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    width:100%; }
+  .bp3-progress-bar:not(.bp3-no-animation):not(.bp3-no-stripes) .bp3-progress-meter{
+    animation:linear-progress-bar-stripes 300ms linear infinite reverse; }
+  .bp3-progress-bar.bp3-no-stripes .bp3-progress-meter{
+    background-image:none; }
+
+.bp3-dark .bp3-progress-bar{
+  background:rgba(16, 22, 26, 0.5); }
+  .bp3-dark .bp3-progress-bar .bp3-progress-meter{
+    background-color:#8a9ba8; }
+
+.bp3-progress-bar.bp3-intent-primary .bp3-progress-meter{
+  background-color:#137cbd; }
+
+.bp3-progress-bar.bp3-intent-success .bp3-progress-meter{
+  background-color:#0f9960; }
+
+.bp3-progress-bar.bp3-intent-warning .bp3-progress-meter{
+  background-color:#d9822b; }
+
+.bp3-progress-bar.bp3-intent-danger .bp3-progress-meter{
+  background-color:#db3737; }
+@-webkit-keyframes skeleton-glow{
+  from{
+    background:rgba(206, 217, 224, 0.2);
+    border-color:rgba(206, 217, 224, 0.2); }
+  to{
+    background:rgba(92, 112, 128, 0.2);
+    border-color:rgba(92, 112, 128, 0.2); } }
+@keyframes skeleton-glow{
+  from{
+    background:rgba(206, 217, 224, 0.2);
+    border-color:rgba(206, 217, 224, 0.2); }
+  to{
+    background:rgba(92, 112, 128, 0.2);
+    border-color:rgba(92, 112, 128, 0.2); } }
+.bp3-skeleton{
+  -webkit-animation:1000ms linear infinite alternate skeleton-glow;
+          animation:1000ms linear infinite alternate skeleton-glow;
+  background:rgba(206, 217, 224, 0.2);
+  background-clip:padding-box !important;
+  border-color:rgba(206, 217, 224, 0.2) !important;
+  border-radius:2px;
+  -webkit-box-shadow:none !important;
+          box-shadow:none !important;
+  color:transparent !important;
+  cursor:default;
+  pointer-events:none;
+  -webkit-user-select:none;
+     -moz-user-select:none;
+      -ms-user-select:none;
+          user-select:none; }
+  .bp3-skeleton::before, .bp3-skeleton::after,
+  .bp3-skeleton *{
+    visibility:hidden !important; }
+.bp3-slider{
+  height:40px;
+  min-width:150px;
+  width:100%;
+  cursor:default;
+  outline:none;
+  position:relative;
+  -webkit-user-select:none;
+     -moz-user-select:none;
+      -ms-user-select:none;
+          user-select:none; }
+  .bp3-slider:hover{
+    cursor:pointer; }
+  .bp3-slider:active{
+    cursor:-webkit-grabbing;
+    cursor:grabbing; }
+  .bp3-slider.bp3-disabled{
+    cursor:not-allowed;
+    opacity:0.5; }
+  .bp3-slider.bp3-slider-unlabeled{
+    height:16px; }
+
+.bp3-slider-track,
+.bp3-slider-progress{
+  height:6px;
+  left:0;
+  right:0;
+  top:5px;
+  position:absolute; }
+
+.bp3-slider-track{
+  border-radius:3px;
+  overflow:hidden; }
+
+.bp3-slider-progress{
+  background:rgba(92, 112, 128, 0.2); }
+  .bp3-dark .bp3-slider-progress{
+    background:rgba(16, 22, 26, 0.5); }
+  .bp3-slider-progress.bp3-intent-primary{
+    background-color:#137cbd; }
+  .bp3-slider-progress.bp3-intent-success{
+    background-color:#0f9960; }
+  .bp3-slider-progress.bp3-intent-warning{
+    background-color:#d9822b; }
+  .bp3-slider-progress.bp3-intent-danger{
+    background-color:#db3737; }
+
+.bp3-slider-handle{
+  background-color:#f5f8fa;
+  background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0)));
+  background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
+  -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+          box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+  color:#182026;
+  border-radius:3px;
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2);
+  cursor:pointer;
+  height:16px;
+  left:0;
+  position:absolute;
+  top:0;
+  width:16px; }
+  .bp3-slider-handle:hover{
+    background-clip:padding-box;
+    background-color:#ebf1f5;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1); }
+  .bp3-slider-handle:active, .bp3-slider-handle.bp3-active{
+    background-color:#d8e1e8;
+    background-image:none;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+  .bp3-slider-handle:disabled, .bp3-slider-handle.bp3-disabled{
+    background-color:rgba(206, 217, 224, 0.5);
+    background-image:none;
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    color:rgba(92, 112, 128, 0.6);
+    cursor:not-allowed;
+    outline:none; }
+    .bp3-slider-handle:disabled.bp3-active, .bp3-slider-handle:disabled.bp3-active:hover, .bp3-slider-handle.bp3-disabled.bp3-active, .bp3-slider-handle.bp3-disabled.bp3-active:hover{
+      background:rgba(206, 217, 224, 0.7); }
+  .bp3-slider-handle:focus{
+    z-index:1; }
+  .bp3-slider-handle:hover{
+    background-clip:padding-box;
+    background-color:#ebf1f5;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 -1px 0 rgba(16, 22, 26, 0.1);
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2);
+    cursor:-webkit-grab;
+    cursor:grab;
+    z-index:2; }
+  .bp3-slider-handle.bp3-active{
+    background-color:#d8e1e8;
+    background-image:none;
+    -webkit-box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+            box-shadow:inset 0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 1px rgba(16, 22, 26, 0.1);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), inset 0 1px 1px rgba(16, 22, 26, 0.1);
+    cursor:-webkit-grabbing;
+    cursor:grabbing; }
+  .bp3-disabled .bp3-slider-handle{
+    background:#bfccd6;
+    -webkit-box-shadow:none;
+            box-shadow:none;
+    pointer-events:none; }
+  .bp3-dark .bp3-slider-handle{
+    background-color:#394b59;
+    background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
+    background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+    color:#f5f8fa; }
+    .bp3-dark .bp3-slider-handle:hover, .bp3-dark .bp3-slider-handle:active, .bp3-dark .bp3-slider-handle.bp3-active{
+      color:#f5f8fa; }
+    .bp3-dark .bp3-slider-handle:hover{
+      background-color:#30404d;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-slider-handle:active, .bp3-dark .bp3-slider-handle.bp3-active{
+      background-color:#202b33;
+      background-image:none;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.6), inset 0 1px 2px rgba(16, 22, 26, 0.2); }
+    .bp3-dark .bp3-slider-handle:disabled, .bp3-dark .bp3-slider-handle.bp3-disabled{
+      background-color:rgba(57, 75, 89, 0.5);
+      background-image:none;
+      -webkit-box-shadow:none;
+              box-shadow:none;
+      color:rgba(167, 182, 194, 0.6); }
+      .bp3-dark .bp3-slider-handle:disabled.bp3-active, .bp3-dark .bp3-slider-handle.bp3-disabled.bp3-active{
+        background:rgba(57, 75, 89, 0.7); }
+    .bp3-dark .bp3-slider-handle .bp3-button-spinner .bp3-spinner-head{
+      background:rgba(16, 22, 26, 0.5);
+      stroke:#8a9ba8; }
+    .bp3-dark .bp3-slider-handle, .bp3-dark .bp3-slider-handle:hover{
+      background-color:#394b59; }
+    .bp3-dark .bp3-slider-handle.bp3-active{
+      background-color:#293742; }
+  .bp3-dark .bp3-disabled .bp3-slider-handle{
+    background:#5c7080;
+    border-color:#5c7080;
+    -webkit-box-shadow:none;
+            box-shadow:none; }
+  .bp3-slider-handle .bp3-slider-label{
+    background:#394b59;
+    border-radius:3px;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+    color:#f5f8fa;
+    margin-left:8px; }
+    .bp3-dark .bp3-slider-handle .bp3-slider-label{
+      background:#e1e8ed;
+      -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4);
+      color:#394b59; }
+    .bp3-disabled .bp3-slider-handle .bp3-slider-label{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+  .bp3-slider-handle.bp3-start, .bp3-slider-handle.bp3-end{
+    width:8px; }
+  .bp3-slider-handle.bp3-start{
+    border-bottom-right-radius:0;
+    border-top-right-radius:0; }
+  .bp3-slider-handle.bp3-end{
+    border-bottom-left-radius:0;
+    border-top-left-radius:0;
+    margin-left:8px; }
+    .bp3-slider-handle.bp3-end .bp3-slider-label{
+      margin-left:0; }
+
+.bp3-slider-label{
+  -webkit-transform:translate(-50%, 20px);
+          transform:translate(-50%, 20px);
+  display:inline-block;
+  font-size:12px;
+  line-height:1;
+  padding:2px 5px;
+  position:absolute;
+  vertical-align:top; }
+
+.bp3-slider.bp3-vertical{
+  height:150px;
+  min-width:40px;
+  width:40px; }
+  .bp3-slider.bp3-vertical .bp3-slider-track,
+  .bp3-slider.bp3-vertical .bp3-slider-progress{
+    bottom:0;
+    height:auto;
+    left:5px;
+    top:0;
+    width:6px; }
+  .bp3-slider.bp3-vertical .bp3-slider-progress{
+    top:auto; }
+  .bp3-slider.bp3-vertical .bp3-slider-label{
+    -webkit-transform:translate(20px, 50%);
+            transform:translate(20px, 50%); }
+  .bp3-slider.bp3-vertical .bp3-slider-handle{
+    top:auto; }
+    .bp3-slider.bp3-vertical .bp3-slider-handle .bp3-slider-label{
+      margin-left:0;
+      margin-top:-8px; }
+    .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-end, .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start{
+      height:8px;
+      margin-left:0;
+      width:16px; }
+    .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start{
+      border-bottom-right-radius:3px;
+      border-top-left-radius:0; }
+      .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start .bp3-slider-label{
+        -webkit-transform:translate(20px);
+                transform:translate(20px); }
+    .bp3-slider.bp3-vertical .bp3-slider-handle.bp3-end{
+      border-bottom-left-radius:0;
+      border-bottom-right-radius:0;
+      border-top-left-radius:3px;
+      margin-bottom:8px; }
+
+@-webkit-keyframes pt-spinner-animation{
+  from{
+    -webkit-transform:rotate(0deg);
+            transform:rotate(0deg); }
+  to{
+    -webkit-transform:rotate(360deg);
+            transform:rotate(360deg); } }
+
+@keyframes pt-spinner-animation{
+  from{
+    -webkit-transform:rotate(0deg);
+            transform:rotate(0deg); }
+  to{
+    -webkit-transform:rotate(360deg);
+            transform:rotate(360deg); } }
+
+.bp3-spinner{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-pack:center;
+      -ms-flex-pack:center;
+          justify-content:center;
+  overflow:visible;
+  vertical-align:middle; }
+  .bp3-spinner svg{
+    display:block; }
+  .bp3-spinner path{
+    fill-opacity:0; }
+  .bp3-spinner .bp3-spinner-head{
+    stroke:rgba(92, 112, 128, 0.8);
+    stroke-linecap:round;
+    -webkit-transform-origin:center;
+            transform-origin:center;
+    -webkit-transition:stroke-dashoffset 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+    transition:stroke-dashoffset 200ms cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-spinner .bp3-spinner-track{
+    stroke:rgba(92, 112, 128, 0.2); }
+
+.bp3-spinner-animation{
+  -webkit-animation:pt-spinner-animation 500ms linear infinite;
+          animation:pt-spinner-animation 500ms linear infinite; }
+  .bp3-no-spin > .bp3-spinner-animation{
+    -webkit-animation:none;
+            animation:none; }
+
+.bp3-dark .bp3-spinner .bp3-spinner-head{
+  stroke:#8a9ba8; }
+
+.bp3-dark .bp3-spinner .bp3-spinner-track{
+  stroke:rgba(16, 22, 26, 0.5); }
+
+.bp3-spinner.bp3-intent-primary .bp3-spinner-head{
+  stroke:#137cbd; }
+
+.bp3-spinner.bp3-intent-success .bp3-spinner-head{
+  stroke:#0f9960; }
+
+.bp3-spinner.bp3-intent-warning .bp3-spinner-head{
+  stroke:#d9822b; }
+
+.bp3-spinner.bp3-intent-danger .bp3-spinner-head{
+  stroke:#db3737; }
+.bp3-tabs.bp3-vertical{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex; }
+  .bp3-tabs.bp3-vertical > .bp3-tab-list{
+    -webkit-box-align:start;
+        -ms-flex-align:start;
+            align-items:flex-start;
+    -webkit-box-orient:vertical;
+    -webkit-box-direction:normal;
+        -ms-flex-direction:column;
+            flex-direction:column; }
+    .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab{
+      border-radius:3px;
+      padding:0 10px;
+      width:100%; }
+      .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab[aria-selected="true"]{
+        background-color:rgba(19, 124, 189, 0.2);
+        -webkit-box-shadow:none;
+                box-shadow:none; }
+    .bp3-tabs.bp3-vertical > .bp3-tab-list .bp3-tab-indicator-wrapper .bp3-tab-indicator{
+      background-color:rgba(19, 124, 189, 0.2);
+      border-radius:3px;
+      bottom:0;
+      height:auto;
+      left:0;
+      right:0;
+      top:0; }
+  .bp3-tabs.bp3-vertical > .bp3-tab-panel{
+    margin-top:0;
+    padding-left:20px; }
+
+.bp3-tab-list{
+  -webkit-box-align:end;
+      -ms-flex-align:end;
+          align-items:flex-end;
+  border:none;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-flex:0;
+      -ms-flex:0 0 auto;
+          flex:0 0 auto;
+  list-style:none;
+  margin:0;
+  padding:0;
+  position:relative; }
+  .bp3-tab-list > *:not(:last-child){
+    margin-right:20px; }
+
+.bp3-tab{
+  overflow:hidden;
+  text-overflow:ellipsis;
+  white-space:nowrap;
+  word-wrap:normal;
+  color:#182026;
+  cursor:pointer;
+  -webkit-box-flex:0;
+      -ms-flex:0 0 auto;
+          flex:0 0 auto;
+  font-size:14px;
+  line-height:30px;
+  max-width:100%;
+  position:relative;
+  vertical-align:top; }
+  .bp3-tab a{
+    color:inherit;
+    display:block;
+    text-decoration:none; }
+  .bp3-tab-indicator-wrapper ~ .bp3-tab{
+    background-color:transparent !important;
+    -webkit-box-shadow:none !important;
+            box-shadow:none !important; }
+  .bp3-tab[aria-disabled="true"]{
+    color:rgba(92, 112, 128, 0.6);
+    cursor:not-allowed; }
+  .bp3-tab[aria-selected="true"]{
+    border-radius:0;
+    -webkit-box-shadow:inset 0 -3px 0 #106ba3;
+            box-shadow:inset 0 -3px 0 #106ba3; }
+  .bp3-tab[aria-selected="true"], .bp3-tab:not([aria-disabled="true"]):hover{
+    color:#106ba3; }
+  .bp3-tab:focus{
+    -moz-outline-radius:0; }
+  .bp3-large > .bp3-tab{
+    font-size:16px;
+    line-height:40px; }
+
+.bp3-tab-panel{
+  margin-top:20px; }
+  .bp3-tab-panel[aria-hidden="true"]{
+    display:none; }
+
+.bp3-tab-indicator-wrapper{
+  left:0;
+  pointer-events:none;
+  position:absolute;
+  top:0;
+  -webkit-transform:translateX(0), translateY(0);
+          transform:translateX(0), translateY(0);
+  -webkit-transition:height, width, -webkit-transform;
+  transition:height, width, -webkit-transform;
+  transition:height, transform, width;
+  transition:height, transform, width, -webkit-transform;
+  -webkit-transition-duration:200ms;
+          transition-duration:200ms;
+  -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+          transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-tab-indicator-wrapper .bp3-tab-indicator{
+    background-color:#106ba3;
+    bottom:0;
+    height:3px;
+    left:0;
+    position:absolute;
+    right:0; }
+  .bp3-tab-indicator-wrapper.bp3-no-animation{
+    -webkit-transition:none;
+    transition:none; }
+
+.bp3-dark .bp3-tab{
+  color:#f5f8fa; }
+  .bp3-dark .bp3-tab[aria-disabled="true"]{
+    color:rgba(167, 182, 194, 0.6); }
+  .bp3-dark .bp3-tab[aria-selected="true"]{
+    -webkit-box-shadow:inset 0 -3px 0 #48aff0;
+            box-shadow:inset 0 -3px 0 #48aff0; }
+  .bp3-dark .bp3-tab[aria-selected="true"], .bp3-dark .bp3-tab:not([aria-disabled="true"]):hover{
+    color:#48aff0; }
+
+.bp3-dark .bp3-tab-indicator{
+  background-color:#48aff0; }
+
+.bp3-flex-expander{
+  -webkit-box-flex:1;
+      -ms-flex:1 1;
+          flex:1 1; }
+.bp3-tag{
+  display:-webkit-inline-box;
+  display:-ms-inline-flexbox;
+  display:inline-flex;
+  -webkit-box-orient:horizontal;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:row;
+          flex-direction:row;
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  background-color:#5c7080;
+  border:none;
+  border-radius:3px;
+  -webkit-box-shadow:none;
+          box-shadow:none;
+  color:#f5f8fa;
+  font-size:12px;
+  line-height:16px;
+  max-width:100%;
+  min-height:20px;
+  min-width:20px;
+  padding:2px 6px;
+  position:relative; }
+  .bp3-tag.bp3-interactive{
+    cursor:pointer; }
+    .bp3-tag.bp3-interactive:hover{
+      background-color:rgba(92, 112, 128, 0.85); }
+    .bp3-tag.bp3-interactive.bp3-active, .bp3-tag.bp3-interactive:active{
+      background-color:rgba(92, 112, 128, 0.7); }
+  .bp3-tag > *{
+    -webkit-box-flex:0;
+        -ms-flex-positive:0;
+            flex-grow:0;
+    -ms-flex-negative:0;
+        flex-shrink:0; }
+  .bp3-tag > .bp3-fill{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1;
+    -ms-flex-negative:1;
+        flex-shrink:1; }
+  .bp3-tag::before,
+  .bp3-tag > *{
+    margin-right:4px; }
+  .bp3-tag:empty::before,
+  .bp3-tag > :last-child{
+    margin-right:0; }
+  .bp3-tag:focus{
+    outline:rgba(19, 124, 189, 0.6) auto 2px;
+    outline-offset:0;
+    -moz-outline-radius:6px; }
+  .bp3-tag.bp3-round{
+    border-radius:30px;
+    padding-left:8px;
+    padding-right:8px; }
+  .bp3-dark .bp3-tag{
+    background-color:#bfccd6;
+    color:#182026; }
+    .bp3-dark .bp3-tag.bp3-interactive{
+      cursor:pointer; }
+      .bp3-dark .bp3-tag.bp3-interactive:hover{
+        background-color:rgba(191, 204, 214, 0.85); }
+      .bp3-dark .bp3-tag.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-interactive:active{
+        background-color:rgba(191, 204, 214, 0.7); }
+    .bp3-dark .bp3-tag > .bp3-icon, .bp3-dark .bp3-tag .bp3-icon-standard, .bp3-dark .bp3-tag .bp3-icon-large{
+      fill:currentColor; }
+  .bp3-tag > .bp3-icon, .bp3-tag .bp3-icon-standard, .bp3-tag .bp3-icon-large{
+    fill:#ffffff; }
+  .bp3-tag.bp3-large,
+  .bp3-large .bp3-tag{
+    font-size:14px;
+    line-height:20px;
+    min-height:30px;
+    min-width:30px;
+    padding:5px 10px; }
+    .bp3-tag.bp3-large::before,
+    .bp3-tag.bp3-large > *,
+    .bp3-large .bp3-tag::before,
+    .bp3-large .bp3-tag > *{
+      margin-right:7px; }
+    .bp3-tag.bp3-large:empty::before,
+    .bp3-tag.bp3-large > :last-child,
+    .bp3-large .bp3-tag:empty::before,
+    .bp3-large .bp3-tag > :last-child{
+      margin-right:0; }
+    .bp3-tag.bp3-large.bp3-round,
+    .bp3-large .bp3-tag.bp3-round{
+      padding-left:12px;
+      padding-right:12px; }
+  .bp3-tag.bp3-intent-primary{
+    background:#137cbd;
+    color:#ffffff; }
+    .bp3-tag.bp3-intent-primary.bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-intent-primary.bp3-interactive:hover{
+        background-color:rgba(19, 124, 189, 0.85); }
+      .bp3-tag.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-primary.bp3-interactive:active{
+        background-color:rgba(19, 124, 189, 0.7); }
+  .bp3-tag.bp3-intent-success{
+    background:#0f9960;
+    color:#ffffff; }
+    .bp3-tag.bp3-intent-success.bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-intent-success.bp3-interactive:hover{
+        background-color:rgba(15, 153, 96, 0.85); }
+      .bp3-tag.bp3-intent-success.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-success.bp3-interactive:active{
+        background-color:rgba(15, 153, 96, 0.7); }
+  .bp3-tag.bp3-intent-warning{
+    background:#d9822b;
+    color:#ffffff; }
+    .bp3-tag.bp3-intent-warning.bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-intent-warning.bp3-interactive:hover{
+        background-color:rgba(217, 130, 43, 0.85); }
+      .bp3-tag.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-warning.bp3-interactive:active{
+        background-color:rgba(217, 130, 43, 0.7); }
+  .bp3-tag.bp3-intent-danger{
+    background:#db3737;
+    color:#ffffff; }
+    .bp3-tag.bp3-intent-danger.bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-intent-danger.bp3-interactive:hover{
+        background-color:rgba(219, 55, 55, 0.85); }
+      .bp3-tag.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-tag.bp3-intent-danger.bp3-interactive:active{
+        background-color:rgba(219, 55, 55, 0.7); }
+  .bp3-tag.bp3-fill{
+    display:-webkit-box;
+    display:-ms-flexbox;
+    display:flex;
+    width:100%; }
+  .bp3-tag.bp3-minimal > .bp3-icon, .bp3-tag.bp3-minimal .bp3-icon-standard, .bp3-tag.bp3-minimal .bp3-icon-large{
+    fill:#5c7080; }
+  .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]){
+    background-color:rgba(138, 155, 168, 0.2);
+    color:#182026; }
+    .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:hover{
+        background-color:rgba(92, 112, 128, 0.3); }
+      .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive.bp3-active, .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:active{
+        background-color:rgba(92, 112, 128, 0.4); }
+    .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]){
+      color:#f5f8fa; }
+      .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive{
+        cursor:pointer; }
+        .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:hover{
+          background-color:rgba(191, 204, 214, 0.3); }
+        .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]).bp3-interactive:active{
+          background-color:rgba(191, 204, 214, 0.4); }
+      .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) > .bp3-icon, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) .bp3-icon-standard, .bp3-dark .bp3-tag.bp3-minimal:not([class*="bp3-intent-"]) .bp3-icon-large{
+        fill:#a7b6c2; }
+  .bp3-tag.bp3-minimal.bp3-intent-primary{
+    background-color:rgba(19, 124, 189, 0.15);
+    color:#106ba3; }
+    .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:hover{
+        background-color:rgba(19, 124, 189, 0.25); }
+      .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:active{
+        background-color:rgba(19, 124, 189, 0.35); }
+    .bp3-tag.bp3-minimal.bp3-intent-primary > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-primary .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-primary .bp3-icon-large{
+      fill:#137cbd; }
+    .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary{
+      background-color:rgba(19, 124, 189, 0.25);
+      color:#48aff0; }
+      .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive{
+        cursor:pointer; }
+        .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:hover{
+          background-color:rgba(19, 124, 189, 0.35); }
+        .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:active{
+          background-color:rgba(19, 124, 189, 0.45); }
+  .bp3-tag.bp3-minimal.bp3-intent-success{
+    background-color:rgba(15, 153, 96, 0.15);
+    color:#0d8050; }
+    .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:hover{
+        background-color:rgba(15, 153, 96, 0.25); }
+      .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:active{
+        background-color:rgba(15, 153, 96, 0.35); }
+    .bp3-tag.bp3-minimal.bp3-intent-success > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-success .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-success .bp3-icon-large{
+      fill:#0f9960; }
+    .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success{
+      background-color:rgba(15, 153, 96, 0.25);
+      color:#3dcc91; }
+      .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive{
+        cursor:pointer; }
+        .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:hover{
+          background-color:rgba(15, 153, 96, 0.35); }
+        .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:active{
+          background-color:rgba(15, 153, 96, 0.45); }
+  .bp3-tag.bp3-minimal.bp3-intent-warning{
+    background-color:rgba(217, 130, 43, 0.15);
+    color:#bf7326; }
+    .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:hover{
+        background-color:rgba(217, 130, 43, 0.25); }
+      .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:active{
+        background-color:rgba(217, 130, 43, 0.35); }
+    .bp3-tag.bp3-minimal.bp3-intent-warning > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-warning .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-warning .bp3-icon-large{
+      fill:#d9822b; }
+    .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning{
+      background-color:rgba(217, 130, 43, 0.25);
+      color:#ffb366; }
+      .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive{
+        cursor:pointer; }
+        .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:hover{
+          background-color:rgba(217, 130, 43, 0.35); }
+        .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:active{
+          background-color:rgba(217, 130, 43, 0.45); }
+  .bp3-tag.bp3-minimal.bp3-intent-danger{
+    background-color:rgba(219, 55, 55, 0.15);
+    color:#c23030; }
+    .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive{
+      cursor:pointer; }
+      .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:hover{
+        background-color:rgba(219, 55, 55, 0.25); }
+      .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:active{
+        background-color:rgba(219, 55, 55, 0.35); }
+    .bp3-tag.bp3-minimal.bp3-intent-danger > .bp3-icon, .bp3-tag.bp3-minimal.bp3-intent-danger .bp3-icon-standard, .bp3-tag.bp3-minimal.bp3-intent-danger .bp3-icon-large{
+      fill:#db3737; }
+    .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger{
+      background-color:rgba(219, 55, 55, 0.25);
+      color:#ff7373; }
+      .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive{
+        cursor:pointer; }
+        .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:hover{
+          background-color:rgba(219, 55, 55, 0.35); }
+        .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive.bp3-active, .bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:active{
+          background-color:rgba(219, 55, 55, 0.45); }
+
+.bp3-tag-remove{
+  background:none;
+  border:none;
+  color:inherit;
+  cursor:pointer;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  margin-bottom:-2px;
+  margin-right:-6px !important;
+  margin-top:-2px;
+  opacity:0.5;
+  padding:2px;
+  padding-left:0; }
+  .bp3-tag-remove:hover{
+    background:none;
+    opacity:0.8;
+    text-decoration:none; }
+  .bp3-tag-remove:active{
+    opacity:1; }
+  .bp3-tag-remove:empty::before{
+    font-family:"Icons16", sans-serif;
+    font-size:16px;
+    font-style:normal;
+    font-weight:400;
+    line-height:1;
+    -moz-osx-font-smoothing:grayscale;
+    -webkit-font-smoothing:antialiased;
+    content:""; }
+  .bp3-large .bp3-tag-remove{
+    margin-right:-10px !important;
+    padding:0 5px 0 0; }
+    .bp3-large .bp3-tag-remove:empty::before{
+      font-family:"Icons20", sans-serif;
+      font-size:20px;
+      font-style:normal;
+      font-weight:400;
+      line-height:1; }
+.bp3-tag-input{
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  -webkit-box-orient:horizontal;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:row;
+          flex-direction:row;
+  -webkit-box-align:start;
+      -ms-flex-align:start;
+          align-items:flex-start;
+  cursor:text;
+  height:auto;
+  line-height:inherit;
+  min-height:30px;
+  padding-left:5px;
+  padding-right:0; }
+  .bp3-tag-input > *{
+    -webkit-box-flex:0;
+        -ms-flex-positive:0;
+            flex-grow:0;
+    -ms-flex-negative:0;
+        flex-shrink:0; }
+  .bp3-tag-input > .bp3-tag-input-values{
+    -webkit-box-flex:1;
+        -ms-flex-positive:1;
+            flex-grow:1;
+    -ms-flex-negative:1;
+        flex-shrink:1; }
+  .bp3-tag-input .bp3-tag-input-icon{
+    color:#5c7080;
+    margin-left:2px;
+    margin-right:7px;
+    margin-top:7px; }
+  .bp3-tag-input .bp3-tag-input-values{
+    display:-webkit-box;
+    display:-ms-flexbox;
+    display:flex;
+    -webkit-box-orient:horizontal;
+    -webkit-box-direction:normal;
+        -ms-flex-direction:row;
+            flex-direction:row;
+    -webkit-box-align:center;
+        -ms-flex-align:center;
+            align-items:center;
+    -ms-flex-item-align:stretch;
+        align-self:stretch;
+    -ms-flex-wrap:wrap;
+        flex-wrap:wrap;
+    margin-right:7px;
+    margin-top:5px;
+    min-width:0; }
+    .bp3-tag-input .bp3-tag-input-values > *{
+      -webkit-box-flex:0;
+          -ms-flex-positive:0;
+              flex-grow:0;
+      -ms-flex-negative:0;
+          flex-shrink:0; }
+    .bp3-tag-input .bp3-tag-input-values > .bp3-fill{
+      -webkit-box-flex:1;
+          -ms-flex-positive:1;
+              flex-grow:1;
+      -ms-flex-negative:1;
+          flex-shrink:1; }
+    .bp3-tag-input .bp3-tag-input-values::before,
+    .bp3-tag-input .bp3-tag-input-values > *{
+      margin-right:5px; }
+    .bp3-tag-input .bp3-tag-input-values:empty::before,
+    .bp3-tag-input .bp3-tag-input-values > :last-child{
+      margin-right:0; }
+    .bp3-tag-input .bp3-tag-input-values:first-child .bp3-input-ghost:first-child{
+      padding-left:5px; }
+    .bp3-tag-input .bp3-tag-input-values > *{
+      margin-bottom:5px; }
+  .bp3-tag-input .bp3-tag{
+    overflow-wrap:break-word; }
+    .bp3-tag-input .bp3-tag.bp3-active{
+      outline:rgba(19, 124, 189, 0.6) auto 2px;
+      outline-offset:0;
+      -moz-outline-radius:6px; }
+  .bp3-tag-input .bp3-input-ghost{
+    -webkit-box-flex:1;
+        -ms-flex:1 1 auto;
+            flex:1 1 auto;
+    line-height:20px;
+    width:80px; }
+    .bp3-tag-input .bp3-input-ghost:disabled, .bp3-tag-input .bp3-input-ghost.bp3-disabled{
+      cursor:not-allowed; }
+  .bp3-tag-input .bp3-button,
+  .bp3-tag-input .bp3-spinner{
+    margin:3px;
+    margin-left:0; }
+  .bp3-tag-input .bp3-button{
+    min-height:24px;
+    min-width:24px;
+    padding:0 7px; }
+  .bp3-tag-input.bp3-large{
+    height:auto;
+    min-height:40px; }
+    .bp3-tag-input.bp3-large::before,
+    .bp3-tag-input.bp3-large > *{
+      margin-right:10px; }
+    .bp3-tag-input.bp3-large:empty::before,
+    .bp3-tag-input.bp3-large > :last-child{
+      margin-right:0; }
+    .bp3-tag-input.bp3-large .bp3-tag-input-icon{
+      margin-left:5px;
+      margin-top:10px; }
+    .bp3-tag-input.bp3-large .bp3-input-ghost{
+      line-height:30px; }
+    .bp3-tag-input.bp3-large .bp3-button{
+      min-height:30px;
+      min-width:30px;
+      padding:5px 10px;
+      margin:5px;
+      margin-left:0; }
+    .bp3-tag-input.bp3-large .bp3-spinner{
+      margin:8px;
+      margin-left:0; }
+  .bp3-tag-input.bp3-active{
+    background-color:#ffffff;
+    -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+            box-shadow:0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-tag-input.bp3-active.bp3-intent-primary{
+      -webkit-box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-tag-input.bp3-active.bp3-intent-success{
+      -webkit-box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-tag-input.bp3-active.bp3-intent-warning{
+      -webkit-box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+    .bp3-tag-input.bp3-active.bp3-intent-danger{
+      -webkit-box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2);
+              box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); }
+  .bp3-dark .bp3-tag-input .bp3-tag-input-icon, .bp3-tag-input.bp3-dark .bp3-tag-input-icon{
+    color:#a7b6c2; }
+  .bp3-dark .bp3-tag-input .bp3-input-ghost, .bp3-tag-input.bp3-dark .bp3-input-ghost{
+    color:#f5f8fa; }
+    .bp3-dark .bp3-tag-input .bp3-input-ghost::-webkit-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-webkit-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-tag-input .bp3-input-ghost::-moz-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-moz-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-tag-input .bp3-input-ghost:-ms-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost:-ms-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-tag-input .bp3-input-ghost::-ms-input-placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::-ms-input-placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+    .bp3-dark .bp3-tag-input .bp3-input-ghost::placeholder, .bp3-tag-input.bp3-dark .bp3-input-ghost::placeholder{
+      color:rgba(167, 182, 194, 0.6); }
+  .bp3-dark .bp3-tag-input.bp3-active, .bp3-tag-input.bp3-dark.bp3-active{
+    background-color:rgba(16, 22, 26, 0.3);
+    -webkit-box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-primary, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-primary{
+      -webkit-box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px #106ba3, 0 0 0 3px rgba(16, 107, 163, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-success, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-success{
+      -webkit-box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px #0d8050, 0 0 0 3px rgba(13, 128, 80, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-warning, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-warning{
+      -webkit-box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px #bf7326, 0 0 0 3px rgba(191, 115, 38, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+    .bp3-dark .bp3-tag-input.bp3-active.bp3-intent-danger, .bp3-tag-input.bp3-dark.bp3-active.bp3-intent-danger{
+      -webkit-box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4);
+              box-shadow:0 0 0 1px #c23030, 0 0 0 3px rgba(194, 48, 48, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); }
+
+.bp3-input-ghost{
+  background:none;
+  border:none;
+  -webkit-box-shadow:none;
+          box-shadow:none;
+  padding:0; }
+  .bp3-input-ghost::-webkit-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input-ghost::-moz-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input-ghost:-ms-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input-ghost::-ms-input-placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input-ghost::placeholder{
+    color:rgba(92, 112, 128, 0.6);
+    opacity:1; }
+  .bp3-input-ghost:focus{
+    outline:none !important; }
+.bp3-toast{
+  -webkit-box-align:start;
+      -ms-flex-align:start;
+          align-items:flex-start;
+  background-color:#ffffff;
+  border-radius:3px;
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  margin:20px 0 0;
+  max-width:500px;
+  min-width:300px;
+  pointer-events:all;
+  position:relative !important; }
+  .bp3-toast.bp3-toast-enter, .bp3-toast.bp3-toast-appear{
+    -webkit-transform:translateY(-40px);
+            transform:translateY(-40px); }
+  .bp3-toast.bp3-toast-enter-active, .bp3-toast.bp3-toast-appear-active{
+    -webkit-transform:translateY(0);
+            transform:translateY(0);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:300ms;
+            transition-duration:300ms;
+    -webkit-transition-property:-webkit-transform;
+    transition-property:-webkit-transform;
+    transition-property:transform;
+    transition-property:transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11);
+            transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); }
+  .bp3-toast.bp3-toast-enter ~ .bp3-toast, .bp3-toast.bp3-toast-appear ~ .bp3-toast{
+    -webkit-transform:translateY(-40px);
+            transform:translateY(-40px); }
+  .bp3-toast.bp3-toast-enter-active ~ .bp3-toast, .bp3-toast.bp3-toast-appear-active ~ .bp3-toast{
+    -webkit-transform:translateY(0);
+            transform:translateY(0);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:300ms;
+            transition-duration:300ms;
+    -webkit-transition-property:-webkit-transform;
+    transition-property:-webkit-transform;
+    transition-property:transform;
+    transition-property:transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11);
+            transition-timing-function:cubic-bezier(0.54, 1.12, 0.38, 1.11); }
+  .bp3-toast.bp3-toast-exit{
+    opacity:1;
+    -webkit-filter:blur(0);
+            filter:blur(0); }
+  .bp3-toast.bp3-toast-exit-active{
+    opacity:0;
+    -webkit-filter:blur(10px);
+            filter:blur(10px);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:300ms;
+            transition-duration:300ms;
+    -webkit-transition-property:opacity, -webkit-filter;
+    transition-property:opacity, -webkit-filter;
+    transition-property:opacity, filter;
+    transition-property:opacity, filter, -webkit-filter;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-toast.bp3-toast-exit ~ .bp3-toast{
+    -webkit-transform:translateY(0);
+            transform:translateY(0); }
+  .bp3-toast.bp3-toast-exit-active ~ .bp3-toast{
+    -webkit-transform:translateY(-40px);
+            transform:translateY(-40px);
+    -webkit-transition-delay:50ms;
+            transition-delay:50ms;
+    -webkit-transition-duration:100ms;
+            transition-duration:100ms;
+    -webkit-transition-property:-webkit-transform;
+    transition-property:-webkit-transform;
+    transition-property:transform;
+    transition-property:transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-toast .bp3-button-group{
+    -webkit-box-flex:0;
+        -ms-flex:0 0 auto;
+            flex:0 0 auto;
+    padding:5px;
+    padding-left:0; }
+  .bp3-toast > .bp3-icon{
+    color:#5c7080;
+    margin:12px;
+    margin-right:0; }
+  .bp3-toast.bp3-dark,
+  .bp3-dark .bp3-toast{
+    background-color:#394b59;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); }
+    .bp3-toast.bp3-dark > .bp3-icon,
+    .bp3-dark .bp3-toast > .bp3-icon{
+      color:#a7b6c2; }
+  .bp3-toast[class*="bp3-intent-"] a{
+    color:rgba(255, 255, 255, 0.7); }
+    .bp3-toast[class*="bp3-intent-"] a:hover{
+      color:#ffffff; }
+  .bp3-toast[class*="bp3-intent-"] > .bp3-icon{
+    color:#ffffff; }
+  .bp3-toast[class*="bp3-intent-"] .bp3-button, .bp3-toast[class*="bp3-intent-"] .bp3-button::before,
+  .bp3-toast[class*="bp3-intent-"] .bp3-button .bp3-icon, .bp3-toast[class*="bp3-intent-"] .bp3-button:active{
+    color:rgba(255, 255, 255, 0.7) !important; }
+  .bp3-toast[class*="bp3-intent-"] .bp3-button:focus{
+    outline-color:rgba(255, 255, 255, 0.5); }
+  .bp3-toast[class*="bp3-intent-"] .bp3-button:hover{
+    background-color:rgba(255, 255, 255, 0.15) !important;
+    color:#ffffff !important; }
+  .bp3-toast[class*="bp3-intent-"] .bp3-button:active{
+    background-color:rgba(255, 255, 255, 0.3) !important;
+    color:#ffffff !important; }
+  .bp3-toast[class*="bp3-intent-"] .bp3-button::after{
+    background:rgba(255, 255, 255, 0.3) !important; }
+  .bp3-toast.bp3-intent-primary{
+    background-color:#137cbd;
+    color:#ffffff; }
+  .bp3-toast.bp3-intent-success{
+    background-color:#0f9960;
+    color:#ffffff; }
+  .bp3-toast.bp3-intent-warning{
+    background-color:#d9822b;
+    color:#ffffff; }
+  .bp3-toast.bp3-intent-danger{
+    background-color:#db3737;
+    color:#ffffff; }
+
+.bp3-toast-message{
+  -webkit-box-flex:1;
+      -ms-flex:1 1 auto;
+          flex:1 1 auto;
+  padding:11px;
+  word-break:break-word; }
+
+.bp3-toast-container{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  display:-webkit-box !important;
+  display:-ms-flexbox !important;
+  display:flex !important;
+  -webkit-box-orient:vertical;
+  -webkit-box-direction:normal;
+      -ms-flex-direction:column;
+          flex-direction:column;
+  left:0;
+  overflow:hidden;
+  padding:0 20px 20px;
+  pointer-events:none;
+  position:fixed;
+  right:0;
+  z-index:40; }
+  .bp3-toast-container.bp3-toast-container-top{
+    top:0; }
+  .bp3-toast-container.bp3-toast-container-bottom{
+    bottom:0;
+    -webkit-box-orient:vertical;
+    -webkit-box-direction:reverse;
+        -ms-flex-direction:column-reverse;
+            flex-direction:column-reverse;
+    top:auto; }
+  .bp3-toast-container.bp3-toast-container-left{
+    -webkit-box-align:start;
+        -ms-flex-align:start;
+            align-items:flex-start; }
+  .bp3-toast-container.bp3-toast-container-right{
+    -webkit-box-align:end;
+        -ms-flex-align:end;
+            align-items:flex-end; }
+
+.bp3-toast-container-bottom .bp3-toast.bp3-toast-enter:not(.bp3-toast-enter-active),
+.bp3-toast-container-bottom .bp3-toast.bp3-toast-enter:not(.bp3-toast-enter-active) ~ .bp3-toast, .bp3-toast-container-bottom .bp3-toast.bp3-toast-appear:not(.bp3-toast-appear-active),
+.bp3-toast-container-bottom .bp3-toast.bp3-toast-appear:not(.bp3-toast-appear-active) ~ .bp3-toast,
+.bp3-toast-container-bottom .bp3-toast.bp3-toast-exit-active ~ .bp3-toast,
+.bp3-toast-container-bottom .bp3-toast.bp3-toast-leave-active ~ .bp3-toast{
+  -webkit-transform:translateY(60px);
+          transform:translateY(60px); }
+.bp3-tooltip{
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2);
+  -webkit-transform:scale(1);
+          transform:scale(1); }
+  .bp3-tooltip .bp3-popover-arrow{
+    height:22px;
+    position:absolute;
+    width:22px; }
+    .bp3-tooltip .bp3-popover-arrow::before{
+      height:14px;
+      margin:4px;
+      width:14px; }
+  .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip{
+    margin-bottom:11px;
+    margin-top:-11px; }
+    .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow{
+      bottom:-8px; }
+      .bp3-tether-element-attached-bottom.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow svg{
+        -webkit-transform:rotate(-90deg);
+                transform:rotate(-90deg); }
+  .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip{
+    margin-left:11px; }
+    .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow{
+      left:-8px; }
+      .bp3-tether-element-attached-left.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow svg{
+        -webkit-transform:rotate(0);
+                transform:rotate(0); }
+  .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip{
+    margin-top:11px; }
+    .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow{
+      top:-8px; }
+      .bp3-tether-element-attached-top.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow svg{
+        -webkit-transform:rotate(90deg);
+                transform:rotate(90deg); }
+  .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip{
+    margin-left:-11px;
+    margin-right:11px; }
+    .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow{
+      right:-8px; }
+      .bp3-tether-element-attached-right.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow svg{
+        -webkit-transform:rotate(180deg);
+                transform:rotate(180deg); }
+  .bp3-tether-element-attached-middle > .bp3-tooltip > .bp3-popover-arrow{
+    top:50%;
+    -webkit-transform:translateY(-50%);
+            transform:translateY(-50%); }
+  .bp3-tether-element-attached-center > .bp3-tooltip > .bp3-popover-arrow{
+    right:50%;
+    -webkit-transform:translateX(50%);
+            transform:translateX(50%); }
+  .bp3-tether-element-attached-top.bp3-tether-target-attached-top > .bp3-tooltip > .bp3-popover-arrow{
+    top:-0.22183px; }
+  .bp3-tether-element-attached-right.bp3-tether-target-attached-right > .bp3-tooltip > .bp3-popover-arrow{
+    right:-0.22183px; }
+  .bp3-tether-element-attached-left.bp3-tether-target-attached-left > .bp3-tooltip > .bp3-popover-arrow{
+    left:-0.22183px; }
+  .bp3-tether-element-attached-bottom.bp3-tether-target-attached-bottom > .bp3-tooltip > .bp3-popover-arrow{
+    bottom:-0.22183px; }
+  .bp3-tether-element-attached-top.bp3-tether-element-attached-left > .bp3-tooltip{
+    -webkit-transform-origin:top left;
+            transform-origin:top left; }
+  .bp3-tether-element-attached-top.bp3-tether-element-attached-center > .bp3-tooltip{
+    -webkit-transform-origin:top center;
+            transform-origin:top center; }
+  .bp3-tether-element-attached-top.bp3-tether-element-attached-right > .bp3-tooltip{
+    -webkit-transform-origin:top right;
+            transform-origin:top right; }
+  .bp3-tether-element-attached-middle.bp3-tether-element-attached-left > .bp3-tooltip{
+    -webkit-transform-origin:center left;
+            transform-origin:center left; }
+  .bp3-tether-element-attached-middle.bp3-tether-element-attached-center > .bp3-tooltip{
+    -webkit-transform-origin:center center;
+            transform-origin:center center; }
+  .bp3-tether-element-attached-middle.bp3-tether-element-attached-right > .bp3-tooltip{
+    -webkit-transform-origin:center right;
+            transform-origin:center right; }
+  .bp3-tether-element-attached-bottom.bp3-tether-element-attached-left > .bp3-tooltip{
+    -webkit-transform-origin:bottom left;
+            transform-origin:bottom left; }
+  .bp3-tether-element-attached-bottom.bp3-tether-element-attached-center > .bp3-tooltip{
+    -webkit-transform-origin:bottom center;
+            transform-origin:bottom center; }
+  .bp3-tether-element-attached-bottom.bp3-tether-element-attached-right > .bp3-tooltip{
+    -webkit-transform-origin:bottom right;
+            transform-origin:bottom right; }
+  .bp3-tooltip .bp3-popover-content{
+    background:#394b59;
+    color:#f5f8fa; }
+  .bp3-tooltip .bp3-popover-arrow::before{
+    -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2);
+            box-shadow:1px 1px 6px rgba(16, 22, 26, 0.2); }
+  .bp3-tooltip .bp3-popover-arrow-border{
+    fill:#10161a;
+    fill-opacity:0.1; }
+  .bp3-tooltip .bp3-popover-arrow-fill{
+    fill:#394b59; }
+  .bp3-popover-enter > .bp3-tooltip, .bp3-popover-appear > .bp3-tooltip{
+    -webkit-transform:scale(0.8);
+            transform:scale(0.8); }
+  .bp3-popover-enter-active > .bp3-tooltip, .bp3-popover-appear-active > .bp3-tooltip{
+    -webkit-transform:scale(1);
+            transform:scale(1);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:100ms;
+            transition-duration:100ms;
+    -webkit-transition-property:-webkit-transform;
+    transition-property:-webkit-transform;
+    transition-property:transform;
+    transition-property:transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-popover-exit > .bp3-tooltip{
+    -webkit-transform:scale(1);
+            transform:scale(1); }
+  .bp3-popover-exit-active > .bp3-tooltip{
+    -webkit-transform:scale(0.8);
+            transform:scale(0.8);
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:100ms;
+            transition-duration:100ms;
+    -webkit-transition-property:-webkit-transform;
+    transition-property:-webkit-transform;
+    transition-property:transform;
+    transition-property:transform, -webkit-transform;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-tooltip .bp3-popover-content{
+    padding:10px 12px; }
+  .bp3-tooltip.bp3-dark,
+  .bp3-dark .bp3-tooltip{
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); }
+    .bp3-tooltip.bp3-dark .bp3-popover-content,
+    .bp3-dark .bp3-tooltip .bp3-popover-content{
+      background:#e1e8ed;
+      color:#394b59; }
+    .bp3-tooltip.bp3-dark .bp3-popover-arrow::before,
+    .bp3-dark .bp3-tooltip .bp3-popover-arrow::before{
+      -webkit-box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4);
+              box-shadow:1px 1px 6px rgba(16, 22, 26, 0.4); }
+    .bp3-tooltip.bp3-dark .bp3-popover-arrow-border,
+    .bp3-dark .bp3-tooltip .bp3-popover-arrow-border{
+      fill:#10161a;
+      fill-opacity:0.2; }
+    .bp3-tooltip.bp3-dark .bp3-popover-arrow-fill,
+    .bp3-dark .bp3-tooltip .bp3-popover-arrow-fill{
+      fill:#e1e8ed; }
+  .bp3-tooltip.bp3-intent-primary .bp3-popover-content{
+    background:#137cbd;
+    color:#ffffff; }
+  .bp3-tooltip.bp3-intent-primary .bp3-popover-arrow-fill{
+    fill:#137cbd; }
+  .bp3-tooltip.bp3-intent-success .bp3-popover-content{
+    background:#0f9960;
+    color:#ffffff; }
+  .bp3-tooltip.bp3-intent-success .bp3-popover-arrow-fill{
+    fill:#0f9960; }
+  .bp3-tooltip.bp3-intent-warning .bp3-popover-content{
+    background:#d9822b;
+    color:#ffffff; }
+  .bp3-tooltip.bp3-intent-warning .bp3-popover-arrow-fill{
+    fill:#d9822b; }
+  .bp3-tooltip.bp3-intent-danger .bp3-popover-content{
+    background:#db3737;
+    color:#ffffff; }
+  .bp3-tooltip.bp3-intent-danger .bp3-popover-arrow-fill{
+    fill:#db3737; }
+
+.bp3-tooltip-indicator{
+  border-bottom:dotted 1px;
+  cursor:help; }
+.bp3-tree .bp3-icon, .bp3-tree .bp3-icon-standard, .bp3-tree .bp3-icon-large{
+  color:#5c7080; }
+  .bp3-tree .bp3-icon.bp3-intent-primary, .bp3-tree .bp3-icon-standard.bp3-intent-primary, .bp3-tree .bp3-icon-large.bp3-intent-primary{
+    color:#137cbd; }
+  .bp3-tree .bp3-icon.bp3-intent-success, .bp3-tree .bp3-icon-standard.bp3-intent-success, .bp3-tree .bp3-icon-large.bp3-intent-success{
+    color:#0f9960; }
+  .bp3-tree .bp3-icon.bp3-intent-warning, .bp3-tree .bp3-icon-standard.bp3-intent-warning, .bp3-tree .bp3-icon-large.bp3-intent-warning{
+    color:#d9822b; }
+  .bp3-tree .bp3-icon.bp3-intent-danger, .bp3-tree .bp3-icon-standard.bp3-intent-danger, .bp3-tree .bp3-icon-large.bp3-intent-danger{
+    color:#db3737; }
+
+.bp3-tree-node-list{
+  list-style:none;
+  margin:0;
+  padding-left:0; }
+
+.bp3-tree-root{
+  background-color:transparent;
+  cursor:default;
+  padding-left:0;
+  position:relative; }
+
+.bp3-tree-node-content-0{
+  padding-left:0px; }
+
+.bp3-tree-node-content-1{
+  padding-left:23px; }
+
+.bp3-tree-node-content-2{
+  padding-left:46px; }
+
+.bp3-tree-node-content-3{
+  padding-left:69px; }
+
+.bp3-tree-node-content-4{
+  padding-left:92px; }
+
+.bp3-tree-node-content-5{
+  padding-left:115px; }
+
+.bp3-tree-node-content-6{
+  padding-left:138px; }
+
+.bp3-tree-node-content-7{
+  padding-left:161px; }
+
+.bp3-tree-node-content-8{
+  padding-left:184px; }
+
+.bp3-tree-node-content-9{
+  padding-left:207px; }
+
+.bp3-tree-node-content-10{
+  padding-left:230px; }
+
+.bp3-tree-node-content-11{
+  padding-left:253px; }
+
+.bp3-tree-node-content-12{
+  padding-left:276px; }
+
+.bp3-tree-node-content-13{
+  padding-left:299px; }
+
+.bp3-tree-node-content-14{
+  padding-left:322px; }
+
+.bp3-tree-node-content-15{
+  padding-left:345px; }
+
+.bp3-tree-node-content-16{
+  padding-left:368px; }
+
+.bp3-tree-node-content-17{
+  padding-left:391px; }
+
+.bp3-tree-node-content-18{
+  padding-left:414px; }
+
+.bp3-tree-node-content-19{
+  padding-left:437px; }
+
+.bp3-tree-node-content-20{
+  padding-left:460px; }
+
+.bp3-tree-node-content{
+  -webkit-box-align:center;
+      -ms-flex-align:center;
+          align-items:center;
+  display:-webkit-box;
+  display:-ms-flexbox;
+  display:flex;
+  height:30px;
+  padding-right:5px;
+  width:100%; }
+  .bp3-tree-node-content:hover{
+    background-color:rgba(191, 204, 214, 0.4); }
+
+.bp3-tree-node-caret,
+.bp3-tree-node-caret-none{
+  min-width:30px; }
+
+.bp3-tree-node-caret{
+  color:#5c7080;
+  cursor:pointer;
+  padding:7px;
+  -webkit-transform:rotate(0deg);
+          transform:rotate(0deg);
+  -webkit-transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:-webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9);
+  transition:transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-tree-node-caret:hover{
+    color:#182026; }
+  .bp3-dark .bp3-tree-node-caret{
+    color:#a7b6c2; }
+    .bp3-dark .bp3-tree-node-caret:hover{
+      color:#f5f8fa; }
+  .bp3-tree-node-caret.bp3-tree-node-caret-open{
+    -webkit-transform:rotate(90deg);
+            transform:rotate(90deg); }
+  .bp3-tree-node-caret.bp3-icon-standard::before{
+    content:""; }
+
+.bp3-tree-node-icon{
+  margin-right:7px;
+  position:relative; }
+
+.bp3-tree-node-label{
+  overflow:hidden;
+  text-overflow:ellipsis;
+  white-space:nowrap;
+  word-wrap:normal;
+  -webkit-box-flex:1;
+      -ms-flex:1 1 auto;
+          flex:1 1 auto;
+  position:relative;
+  -webkit-user-select:none;
+     -moz-user-select:none;
+      -ms-user-select:none;
+          user-select:none; }
+  .bp3-tree-node-label span{
+    display:inline; }
+
+.bp3-tree-node-secondary-label{
+  padding:0 5px;
+  -webkit-user-select:none;
+     -moz-user-select:none;
+      -ms-user-select:none;
+          user-select:none; }
+  .bp3-tree-node-secondary-label .bp3-popover-wrapper,
+  .bp3-tree-node-secondary-label .bp3-popover-target{
+    -webkit-box-align:center;
+        -ms-flex-align:center;
+            align-items:center;
+    display:-webkit-box;
+    display:-ms-flexbox;
+    display:flex; }
+
+.bp3-tree-node.bp3-disabled .bp3-tree-node-content{
+  background-color:inherit;
+  color:rgba(92, 112, 128, 0.6);
+  cursor:not-allowed; }
+
+.bp3-tree-node.bp3-disabled .bp3-tree-node-caret,
+.bp3-tree-node.bp3-disabled .bp3-tree-node-icon{
+  color:rgba(92, 112, 128, 0.6);
+  cursor:not-allowed; }
+
+.bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content{
+  background-color:#137cbd; }
+  .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content,
+  .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon, .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon-standard, .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-icon-large{
+    color:#ffffff; }
+  .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-tree-node-caret::before{
+    color:rgba(255, 255, 255, 0.7); }
+  .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content .bp3-tree-node-caret:hover::before{
+    color:#ffffff; }
+
+.bp3-dark .bp3-tree-node-content:hover{
+  background-color:rgba(92, 112, 128, 0.3); }
+
+.bp3-dark .bp3-tree .bp3-icon, .bp3-dark .bp3-tree .bp3-icon-standard, .bp3-dark .bp3-tree .bp3-icon-large{
+  color:#a7b6c2; }
+  .bp3-dark .bp3-tree .bp3-icon.bp3-intent-primary, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-primary, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-primary{
+    color:#137cbd; }
+  .bp3-dark .bp3-tree .bp3-icon.bp3-intent-success, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-success, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-success{
+    color:#0f9960; }
+  .bp3-dark .bp3-tree .bp3-icon.bp3-intent-warning, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-warning, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-warning{
+    color:#d9822b; }
+  .bp3-dark .bp3-tree .bp3-icon.bp3-intent-danger, .bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-danger, .bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-danger{
+    color:#db3737; }
+
+.bp3-dark .bp3-tree-node.bp3-tree-node-selected > .bp3-tree-node-content{
+  background-color:#137cbd; }
+.bp3-omnibar{
+  -webkit-filter:blur(0);
+          filter:blur(0);
+  opacity:1;
+  background-color:#ffffff;
+  border-radius:3px;
+  -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2);
+          box-shadow:0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2);
+  left:calc(50% - 250px);
+  top:20vh;
+  width:500px;
+  z-index:21; }
+  .bp3-omnibar.bp3-overlay-enter, .bp3-omnibar.bp3-overlay-appear{
+    -webkit-filter:blur(20px);
+            filter:blur(20px);
+    opacity:0.2; }
+  .bp3-omnibar.bp3-overlay-enter-active, .bp3-omnibar.bp3-overlay-appear-active{
+    -webkit-filter:blur(0);
+            filter:blur(0);
+    opacity:1;
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:200ms;
+            transition-duration:200ms;
+    -webkit-transition-property:opacity, -webkit-filter;
+    transition-property:opacity, -webkit-filter;
+    transition-property:filter, opacity;
+    transition-property:filter, opacity, -webkit-filter;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-omnibar.bp3-overlay-exit{
+    -webkit-filter:blur(0);
+            filter:blur(0);
+    opacity:1; }
+  .bp3-omnibar.bp3-overlay-exit-active{
+    -webkit-filter:blur(20px);
+            filter:blur(20px);
+    opacity:0.2;
+    -webkit-transition-delay:0;
+            transition-delay:0;
+    -webkit-transition-duration:200ms;
+            transition-duration:200ms;
+    -webkit-transition-property:opacity, -webkit-filter;
+    transition-property:opacity, -webkit-filter;
+    transition-property:filter, opacity;
+    transition-property:filter, opacity, -webkit-filter;
+    -webkit-transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9);
+            transition-timing-function:cubic-bezier(0.4, 1, 0.75, 0.9); }
+  .bp3-omnibar .bp3-input{
+    background-color:transparent;
+    border-radius:0; }
+    .bp3-omnibar .bp3-input, .bp3-omnibar .bp3-input:focus{
+      -webkit-box-shadow:none;
+              box-shadow:none; }
+  .bp3-omnibar .bp3-menu{
+    background-color:transparent;
+    border-radius:0;
+    -webkit-box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15);
+            box-shadow:inset 0 1px 0 rgba(16, 22, 26, 0.15);
+    max-height:calc(60vh - 40px);
+    overflow:auto; }
+    .bp3-omnibar .bp3-menu:empty{
+      display:none; }
+  .bp3-dark .bp3-omnibar, .bp3-omnibar.bp3-dark{
+    background-color:#30404d;
+    -webkit-box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4);
+            box-shadow:0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); }
+
+.bp3-omnibar-overlay .bp3-overlay-backdrop{
+  background-color:rgba(16, 22, 26, 0.2); }
+
+.bp3-select-popover .bp3-popover-content{
+  padding:5px; }
+
+.bp3-select-popover .bp3-input-group{
+  margin-bottom:0; }
+
+.bp3-select-popover .bp3-menu{
+  max-height:300px;
+  max-width:400px;
+  overflow:auto;
+  padding:0; }
+  .bp3-select-popover .bp3-menu:not(:first-child){
+    padding-top:5px; }
+
+.bp3-multi-select{
+  min-width:150px; }
+
+.bp3-multi-select-popover .bp3-menu{
+  max-height:300px;
+  max-width:400px;
+  overflow:auto; }
+
+.bp3-select-popover .bp3-popover-content{
+  padding:5px; }
+
+.bp3-select-popover .bp3-input-group{
+  margin-bottom:0; }
+
+.bp3-select-popover .bp3-menu{
+  max-height:300px;
+  max-width:400px;
+  overflow:auto;
+  padding:0; }
+  .bp3-select-popover .bp3-menu:not(:first-child){
+    padding-top:5px; }
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/* This file was auto-generated by ensureUiComponents() in @jupyterlab/buildutils */
+
+/**
+ * (DEPRECATED) Support for consuming icons as CSS background images
+ */
+
+/* Icons urls */
+
+:root {
+  --jp-icon-add: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-bug: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwIDhoLTIuODFjLS40NS0uNzgtMS4wNy0xLjQ1LTEuODItMS45NkwxNyA0LjQxIDE1LjU5IDNsLTIuMTcgMi4xN0MxMi45NiA1LjA2IDEyLjQ5IDUgMTIgNWMtLjQ5IDAtLjk2LjA2LTEuNDEuMTdMOC40MSAzIDcgNC40MWwxLjYyIDEuNjNDNy44OCA2LjU1IDcuMjYgNy4yMiA2LjgxIDhINHYyaDIuMDljLS4wNS4zMy0uMDkuNjYtLjA5IDF2MUg0djJoMnYxYzAgLjM0LjA0LjY3LjA5IDFINHYyaDIuODFjMS4wNCAxLjc5IDIuOTcgMyA1LjE5IDNzNC4xNS0xLjIxIDUuMTktM0gyMHYtMmgtMi4wOWMuMDUtLjMzLjA5LS42Ni4wOS0xdi0xaDJ2LTJoLTJ2LTFjMC0uMzQtLjA0LS42Ny0uMDktMUgyMFY4em0tNiA4aC00di0yaDR2MnptMC00aC00di0yaDR2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-build: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE0LjkgMTcuNDVDMTYuMjUgMTcuNDUgMTcuMzUgMTYuMzUgMTcuMzUgMTVDMTcuMzUgMTMuNjUgMTYuMjUgMTIuNTUgMTQuOSAxMi41NUMxMy41NCAxMi41NSAxMi40NSAxMy42NSAxMi40NSAxNUMxMi40NSAxNi4zNSAxMy41NCAxNy40NSAxNC45IDE3LjQ1Wk0yMC4xIDE1LjY4TDIxLjU4IDE2Ljg0QzIxLjcxIDE2Ljk1IDIxLjc1IDE3LjEzIDIxLjY2IDE3LjI5TDIwLjI2IDE5LjcxQzIwLjE3IDE5Ljg2IDIwIDE5LjkyIDE5LjgzIDE5Ljg2TDE4LjA5IDE5LjE2QzE3LjczIDE5LjQ0IDE3LjMzIDE5LjY3IDE2LjkxIDE5Ljg1TDE2LjY0IDIxLjdDMTYuNjIgMjEuODcgMTYuNDcgMjIgMTYuMyAyMkgxMy41QzEzLjMyIDIyIDEzLjE4IDIxLjg3IDEzLjE1IDIxLjdMMTIuODkgMTkuODVDMTIuNDYgMTkuNjcgMTIuMDcgMTkuNDQgMTEuNzEgMTkuMTZMOS45NjAwMiAxOS44NkM5LjgxMDAyIDE5LjkyIDkuNjIwMDIgMTkuODYgOS41NDAwMiAxOS43MUw4LjE0MDAyIDE3LjI5QzguMDUwMDIgMTcuMTMgOC4wOTAwMiAxNi45NSA4LjIyMDAyIDE2Ljg0TDkuNzAwMDIgMTUuNjhMOS42NTAwMSAxNUw5LjcwMDAyIDE0LjMxTDguMjIwMDIgMTMuMTZDOC4wOTAwMiAxMy4wNSA4LjA1MDAyIDEyLjg2IDguMTQwMDIgMTIuNzFMOS41NDAwMiAxMC4yOUM5LjYyMDAyIDEwLjEzIDkuODEwMDIgMTAuMDcgOS45NjAwMiAxMC4xM0wxMS43MSAxMC44NEMxMi4wNyAxMC41NiAxMi40NiAxMC4zMiAxMi44OSAxMC4xNUwxMy4xNSA4LjI4OTk4QzEzLjE4IDguMTI5OTggMTMuMzIgNy45OTk5OCAxMy41IDcuOTk5OThIMTYuM0MxNi40NyA3Ljk5OTk4IDE2LjYyIDguMTI5OTggMTYuNjQgOC4yODk5OEwxNi45MSAxMC4xNUMxNy4zMyAxMC4zMiAxNy43MyAxMC41NiAxOC4wOSAxMC44NEwxOS44MyAxMC4xM0MyMCAxMC4wNyAyMC4xNyAxMC4xMyAyMC4yNiAxMC4yOUwyMS42NiAxMi43MUMyMS43NSAxMi44NiAyMS43MSAxMy4wNSAyMS41OCAxMy4xNkwyMC4xIDE0LjMxTDIwLjE1IDE1TDIwLjEgMTUuNjhaIi8+CiAgICA8cGF0aCBkPSJNNy4zMjk2NiA3LjQ0NDU0QzguMDgzMSA3LjAwOTU0IDguMzM5MzIgNi4wNTMzMiA3LjkwNDMyIDUuMjk5ODhDNy40NjkzMiA0LjU0NjQzIDYuNTA4MSA0LjI4MTU2IDUuNzU0NjYgNC43MTY1NkM1LjM5MTc2IDQuOTI2MDggNS4xMjY5NSA1LjI3MTE4IDUuMDE4NDkgNS42NzU5NEM0LjkxMDA0IDYuMDgwNzEgNC45NjY4MiA2LjUxMTk4IDUuMTc2MzQgNi44NzQ4OEM1LjYxMTM0IDcuNjI4MzIgNi41NzYyMiA3Ljg3OTU0IDcuMzI5NjYgNy40NDQ1NFpNOS42NTcxOCA0Ljc5NTkzTDEwLjg2NzIgNC45NTE3OUMxMC45NjI4IDQuOTc3NDEgMTEuMDQwMiA1LjA3MTMzIDExLjAzODIgNS4xODc5M0wxMS4wMzg4IDYuOTg4OTNDMTEuMDQ1NSA3LjEwMDU0IDEwLjk2MTYgNy4xOTUxOCAxMC44NTUgNy4yMTA1NEw5LjY2MDAxIDcuMzgwODNMOS4yMzkxNSA4LjEzMTg4TDkuNjY5NjEgOS4yNTc0NUM5LjcwNzI5IDkuMzYyNzEgOS42NjkzNCA5LjQ3Njk5IDkuNTc0MDggOS41MzE5OUw4LjAxNTIzIDEwLjQzMkM3LjkxMTMxIDEwLjQ5MiA3Ljc5MzM3IDEwLjQ2NzcgNy43MjEwNSAxMC4zODI0TDYuOTg3NDggOS40MzE4OEw2LjEwOTMxIDkuNDMwODNMNS4zNDcwNCAxMC4zOTA1QzUuMjg5MDkgMTAuNDcwMiA1LjE3MzgzIDEwLjQ5MDUgNS4wNzE4NyAxMC40MzM5TDMuNTEyNDUgOS41MzI5M0MzLjQxMDQ5IDkuNDc2MzMgMy4zNzY0NyA5LjM1NzQxIDMuNDEwNzUgOS4yNTY3OUwzLjg2MzQ3IDguMTQwOTNMMy42MTc0OSA3Ljc3NDg4TDMuNDIzNDcgNy4zNzg4M0wyLjIzMDc1IDcuMjEyOTdDMi4xMjY0NyA3LjE5MjM1IDIuMDQwNDkgNy4xMDM0MiAyLjA0MjQ1IDYuOTg2ODJMMi4wNDE4NyA1LjE4NTgyQzIuMDQzODMgNS4wNjkyMiAyLjExOTA5IDQuOTc5NTggMi4yMTcwNCA0Ljk2OTIyTDMuNDIwNjUgNC43OTM5M0wzLjg2NzQ5IDQuMDI3ODhMMy40MTEwNSAyLjkxNzMxQzMuMzczMzcgMi44MTIwNCAzLjQxMTMxIDIuNjk3NzYgMy41MTUyMyAyLjYzNzc2TDUuMDc0MDggMS43Mzc3NkM1LjE2OTM0IDEuNjgyNzYgNS4yODcyOSAxLjcwNzA0IDUuMzU5NjEgMS43OTIzMUw2LjExOTE1IDIuNzI3ODhMNi45ODAwMSAyLjczODkzTDcuNzI0OTYgMS43ODkyMkM3Ljc5MTU2IDEuNzA0NTggNy45MTU0OCAxLjY3OTIyIDguMDA4NzkgMS43NDA4Mkw5LjU2ODIxIDIuNjQxODJDOS42NzAxNyAyLjY5ODQyIDkuNzEyODUgMi44MTIzNCA5LjY4NzIzIDIuOTA3OTdMOS4yMTcxOCA0LjAzMzgzTDkuNDYzMTYgNC4zOTk4OEw5LjY1NzE4IDQuNzk1OTNaIi8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-caret-down-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iOS45LDEzLjYgMy42LDcuNCA0LjQsNi42IDkuOSwxMi4yIDE1LjQsNi43IDE2LjEsNy40ICIvPgoJPC9nPgo8L3N2Zz4K);
+  --jp-icon-caret-down-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNS45TDksOS43bDMuOC0zLjhsMS4yLDEuMmwtNC45LDVsLTQuOS01TDUuMiw1Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-caret-down: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNy41TDksMTEuMmwzLjgtMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-caret-left: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik0xMC44LDEyLjhMNy4xLDlsMy44LTMuOGwwLDcuNkgxMC44eiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-caret-right: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik03LjIsNS4yTDEwLjksOWwtMy44LDMuOFY1LjJINy4yeiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-caret-up-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iMTUuNCwxMy4zIDkuOSw3LjcgNC40LDEzLjIgMy42LDEyLjUgOS45LDYuMyAxNi4xLDEyLjYgIi8+Cgk8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-caret-up: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik01LjIsMTAuNUw5LDYuOGwzLjgsMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-case-sensitive: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWFjY2VudDIiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTcuNiw4aDAuOWwzLjUsOGgtMS4xTDEwLDE0SDZsLTAuOSwySDRMNy42LDh6IE04LDkuMUw2LjQsMTNoMy4yTDgsOS4xeiIvPgogICAgPHBhdGggZD0iTTE2LjYsOS44Yy0wLjIsMC4xLTAuNCwwLjEtMC43LDAuMWMtMC4yLDAtMC40LTAuMS0wLjYtMC4yYy0wLjEtMC4xLTAuMi0wLjQtMC4yLTAuNyBjLTAuMywwLjMtMC42LDAuNS0wLjksMC43Yy0wLjMsMC4xLTAuNywwLjItMS4xLDAuMmMtMC4zLDAtMC41LDAtMC43LTAuMWMtMC4yLTAuMS0wLjQtMC4yLTAuNi0wLjNjLTAuMi0wLjEtMC4zLTAuMy0wLjQtMC41IGMtMC4xLTAuMi0wLjEtMC40LTAuMS0wLjdjMC0wLjMsMC4xLTAuNiwwLjItMC44YzAuMS0wLjIsMC4zLTAuNCwwLjQtMC41QzEyLDcsMTIuMiw2LjksMTIuNSw2LjhjMC4yLTAuMSwwLjUtMC4xLDAuNy0wLjIgYzAuMy0wLjEsMC41LTAuMSwwLjctMC4xYzAuMiwwLDAuNC0wLjEsMC42LTAuMWMwLjIsMCwwLjMtMC4xLDAuNC0wLjJjMC4xLTAuMSwwLjItMC4yLDAuMi0wLjRjMC0xLTEuMS0xLTEuMy0xIGMtMC40LDAtMS40LDAtMS40LDEuMmgtMC45YzAtMC40LDAuMS0wLjcsMC4yLTFjMC4xLTAuMiwwLjMtMC40LDAuNS0wLjZjMC4yLTAuMiwwLjUtMC4zLDAuOC0wLjNDMTMuMyw0LDEzLjYsNCwxMy45LDQgYzAuMywwLDAuNSwwLDAuOCwwLjFjMC4zLDAsMC41LDAuMSwwLjcsMC4yYzAuMiwwLjEsMC40LDAuMywwLjUsMC41QzE2LDUsMTYsNS4yLDE2LDUuNnYyLjljMCwwLjIsMCwwLjQsMCwwLjUgYzAsMC4xLDAuMSwwLjIsMC4zLDAuMmMwLjEsMCwwLjIsMCwwLjMsMFY5Ljh6IE0xNS4yLDYuOWMtMS4yLDAuNi0zLjEsMC4yLTMuMSwxLjRjMCwxLjQsMy4xLDEsMy4xLTAuNVY2Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkgMTYuMTdMNC44MyAxMmwtMS40MiAxLjQxTDkgMTkgMjEgN2wtMS40MS0xLjQxeiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-circle-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-circle: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjgiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-clear: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8bWFzayBpZD0iZG9udXRIb2xlIj4KICAgIDxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiIC8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4IiBmaWxsPSJibGFjayIvPgogIDwvbWFzaz4KCiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxyZWN0IGhlaWdodD0iMTgiIHdpZHRoPSIyIiB4PSIxMSIgeT0iMyIgdHJhbnNmb3JtPSJyb3RhdGUoMzE1LCAxMiwgMTIpIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgbWFzaz0idXJsKCNkb251dEhvbGUpIi8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-close: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1ub25lIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIGpwLWljb24zLWhvdmVyIiBmaWxsPSJub25lIj4KICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjExIi8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIGpwLWljb24tYWNjZW50Mi1ob3ZlciIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIvPgogIDwvZz4KCiAgPGcgY2xhc3M9ImpwLWljb24tbm9uZSBqcC1pY29uLWJ1c3kiIGZpbGw9Im5vbmUiPgogICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNyIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-code: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTExLjQgMTguNkw2LjggMTRMMTEuNCA5LjRMMTAgOEw0IDE0TDEwIDIwTDExLjQgMTguNlpNMTYuNiAxOC42TDIxLjIgMTRMMTYuNiA5LjRMMTggOEwyNCAxNEwxOCAyMEwxNi42IDE4LjZWMTguNloiLz4KCTwvZz4KPC9zdmc+Cg==);
+  --jp-icon-console: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwMCAyMDAiPgogIDxnIGNsYXNzPSJqcC1pY29uLWJyYW5kMSBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMjg4RDEiPgogICAgPHBhdGggZD0iTTIwIDE5LjhoMTYwdjE1OS45SDIweiIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNmZmYiPgogICAgPHBhdGggZD0iTTEwNSAxMjcuM2g0MHYxMi44aC00MHpNNTEuMSA3N0w3NCA5OS45bC0yMy4zIDIzLjMgMTAuNSAxMC41IDIzLjMtMjMuM0w5NSA5OS45IDg0LjUgODkuNCA2MS42IDY2LjV6Ii8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-copy: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTExLjksMUgzLjJDMi40LDEsMS43LDEuNywxLjcsMi41djEwLjJoMS41VjIuNWg4LjdWMXogTTE0LjEsMy45aC04Yy0wLjgsMC0xLjUsMC43LTEuNSwxLjV2MTAuMmMwLDAuOCwwLjcsMS41LDEuNSwxLjVoOCBjMC44LDAsMS41LTAuNywxLjUtMS41VjUuNEMxNS41LDQuNiwxNC45LDMuOSwxNC4xLDMuOXogTTE0LjEsMTUuNWgtOFY1LjRoOFYxNS41eiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-cut: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkuNjQgNy42NGMuMjMtLjUuMzYtMS4wNS4zNi0xLjY0IDAtMi4yMS0xLjc5LTQtNC00UzIgMy43OSAyIDZzMS43OSA0IDQgNGMuNTkgMCAxLjE0LS4xMyAxLjY0LS4zNkwxMCAxMmwtMi4zNiAyLjM2QzcuMTQgMTQuMTMgNi41OSAxNCA2IDE0Yy0yLjIxIDAtNCAxLjc5LTQgNHMxLjc5IDQgNCA0IDQtMS43OSA0LTRjMC0uNTktLjEzLTEuMTQtLjM2LTEuNjRMMTIgMTRsNyA3aDN2LTFMOS42NCA3LjY0ek02IDhjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTAgMTJjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTYtNy41Yy0uMjggMC0uNS0uMjItLjUtLjVzLjIyLS41LjUtLjUuNS4yMi41LjUtLjIyLjUtLjUuNXpNMTkgM2wtNiA2IDIgMiA3LTdWM3oiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-download: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDloLTRWM0g5djZINWw3IDcgNy03ek01IDE4djJoMTR2LTJINXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-edit: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3oiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-ellipses: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iNSIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjEyIiByPSIyIi8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-extension: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwLjUgMTFIMTlWN2MwLTEuMS0uOS0yLTItMmgtNFYzLjVDMTMgMi4xMiAxMS44OCAxIDEwLjUgMVM4IDIuMTIgOCAzLjVWNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAydjMuOEgzLjVjMS40OSAwIDIuNyAxLjIxIDIuNyAyLjdzLTEuMjEgMi43LTIuNyAyLjdIMlYyMGMwIDEuMS45IDIgMiAyaDMuOHYtMS41YzAtMS40OSAxLjIxLTIuNyAyLjctMi43IDEuNDkgMCAyLjcgMS4yMSAyLjcgMi43VjIySDE3YzEuMSAwIDItLjkgMi0ydi00aDEuNWMxLjM4IDAgMi41LTEuMTIgMi41LTIuNVMyMS44OCAxMSAyMC41IDExeiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-fast-forward: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTQgMThsOC41LTZMNCA2djEyem05LTEydjEybDguNS02TDEzIDZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-file-upload: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkgMTZoNnYtNmg0bC03LTctNyA3aDR6bS00IDJoMTR2Mkg1eiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-file: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuMyA4LjJsLTUuNS01LjVjLS4zLS4zLS43LS41LTEuMi0uNUgzLjljLS44LjEtMS42LjktMS42IDEuOHYxNC4xYzAgLjkuNyAxLjYgMS42IDEuNmgxNC4yYy45IDAgMS42LS43IDEuNi0xLjZWOS40Yy4xLS41LS4xLS45LS40LTEuMnptLTUuOC0zLjNsMy40IDMuNmgtMy40VjQuOXptMy45IDEyLjdINC43Yy0uMSAwLS4yIDAtLjItLjJWNC43YzAtLjIuMS0uMy4yLS4zaDcuMnY0LjRzMCAuOC4zIDEuMWMuMy4zIDEuMS4zIDEuMS4zaDQuM3Y3LjJzLS4xLjItLjIuMnoiLz4KPC9zdmc+Cg==);
+  --jp-icon-filter-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEwIDE4aDR2LTJoLTR2MnpNMyA2djJoMThWNkgzem0zIDdoMTJ2LTJINnYyeiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yaC04bC0yLTJ6Ii8+Cjwvc3ZnPgo=);
+  --jp-icon-html5: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uMCBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMDAiIGQ9Ik0xMDguNCAwaDIzdjIyLjhoMjEuMlYwaDIzdjY5aC0yM1Y0NmgtMjF2MjNoLTIzLjJNMjA2IDIzaC0yMC4zVjBoNjMuN3YyM0gyMjl2NDZoLTIzbTUzLjUtNjloMjQuMWwxNC44IDI0LjNMMzEzLjIgMGgyNC4xdjY5aC0yM1YzNC44bC0xNi4xIDI0LjgtMTYuMS0yNC44VjY5aC0yMi42bTg5LjItNjloMjN2NDYuMmgzMi42VjY5aC01NS42Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2U0NGQyNiIgZD0iTTEwNy42IDQ3MWwtMzMtMzcwLjRoMzYyLjhsLTMzIDM3MC4yTDI1NS43IDUxMiIvPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNmMTY1MjkiIGQ9Ik0yNTYgNDgwLjVWMTMxaDE0OC4zTDM3NiA0NDciLz4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNlYmViZWIiIGQ9Ik0xNDIgMTc2LjNoMTE0djQ1LjRoLTY0LjJsNC4yIDQ2LjVoNjB2NDUuM0gxNTQuNG0yIDIyLjhIMjAybDMuMiAzNi4zIDUwLjggMTMuNnY0Ny40bC05My4yLTI2Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIiBkPSJNMzY5LjYgMTc2LjNIMjU1Ljh2NDUuNGgxMDkuNm0tNC4xIDQ2LjVIMjU1Ljh2NDUuNGg1NmwtNS4zIDU5LTUwLjcgMTMuNnY0Ny4ybDkzLTI1LjgiLz4KPC9zdmc+Cg==);
+  --jp-icon-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1icmFuZDQganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNGRkYiIGQ9Ik0yLjIgMi4yaDE3LjV2MTcuNUgyLjJ6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzNGNTFCNSIgZD0iTTIuMiAyLjJ2MTcuNWgxNy41bC4xLTE3LjVIMi4yem0xMi4xIDIuMmMxLjIgMCAyLjIgMSAyLjIgMi4ycy0xIDIuMi0yLjIgMi4yLTIuMi0xLTIuMi0yLjIgMS0yLjIgMi4yLTIuMnpNNC40IDE3LjZsMy4zLTguOCAzLjMgNi42IDIuMi0zLjIgNC40IDUuNEg0LjR6Ii8+Cjwvc3ZnPgo=);
+  --jp-icon-inspector: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0tNSAxNEg0di00aDExdjR6bTAtNUg0VjloMTF2NHptNSA1aC00VjloNHY5eiIvPgo8L3N2Zz4K);
+  --jp-icon-json: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMSBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNGOUE4MjUiPgogICAgPHBhdGggZD0iTTIwLjIgMTEuOGMtMS42IDAtMS43LjUtMS43IDEgMCAuNC4xLjkuMSAxLjMuMS41LjEuOS4xIDEuMyAwIDEuNy0xLjQgMi4zLTMuNSAyLjNoLS45di0xLjloLjVjMS4xIDAgMS40IDAgMS40LS44IDAtLjMgMC0uNi0uMS0xIDAtLjQtLjEtLjgtLjEtMS4yIDAtMS4zIDAtMS44IDEuMy0yLTEuMy0uMi0xLjMtLjctMS4zLTIgMC0uNC4xLS44LjEtMS4yLjEtLjQuMS0uNy4xLTEgMC0uOC0uNC0uNy0xLjQtLjhoLS41VjQuMWguOWMyLjIgMCAzLjUuNyAzLjUgMi4zIDAgLjQtLjEuOS0uMSAxLjMtLjEuNS0uMS45LS4xIDEuMyAwIC41LjIgMSAxLjcgMXYxLjh6TTEuOCAxMC4xYzEuNiAwIDEuNy0uNSAxLjctMSAwLS40LS4xLS45LS4xLTEuMy0uMS0uNS0uMS0uOS0uMS0xLjMgMC0xLjYgMS40LTIuMyAzLjUtMi4zaC45djEuOWgtLjVjLTEgMC0xLjQgMC0xLjQuOCAwIC4zIDAgLjYuMSAxIDAgLjIuMS42LjEgMSAwIDEuMyAwIDEuOC0xLjMgMkM2IDExLjIgNiAxMS43IDYgMTNjMCAuNC0uMS44LS4xIDEuMi0uMS4zLS4xLjctLjEgMSAwIC44LjMuOCAxLjQuOGguNXYxLjloLS45Yy0yLjEgMC0zLjUtLjYtMy41LTIuMyAwLS40LjEtLjkuMS0xLjMuMS0uNS4xLS45LjEtMS4zIDAtLjUtLjItMS0xLjctMXYtMS45eiIvPgogICAgPGNpcmNsZSBjeD0iMTEiIGN5PSIxMy44IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY3g9IjExIiBjeT0iOC4yIiByPSIyLjEiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-jupyter-favicon: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUyIiBoZWlnaHQ9IjE2NSIgdmlld0JveD0iMCAwIDE1MiAxNjUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA3ODk0NywgMTEwLjU4MjkyNykiIGQ9Ik03NS45NDIyODQyLDI5LjU4MDQ1NjEgQzQzLjMwMjM5NDcsMjkuNTgwNDU2MSAxNC43OTY3ODMyLDE3LjY1MzQ2MzQgMCwwIEM1LjUxMDgzMjExLDE1Ljg0MDY4MjkgMTUuNzgxNTM4OSwyOS41NjY3NzMyIDI5LjM5MDQ5NDcsMzkuMjc4NDE3MSBDNDIuOTk5Nyw0OC45ODk4NTM3IDU5LjI3MzcsNTQuMjA2NzgwNSA3NS45NjA1Nzg5LDU0LjIwNjc4MDUgQzkyLjY0NzQ1NzksNTQuMjA2NzgwNSAxMDguOTIxNDU4LDQ4Ljk4OTg1MzcgMTIyLjUzMDY2MywzOS4yNzg0MTcxIEMxMzYuMTM5NDUzLDI5LjU2Njc3MzIgMTQ2LjQxMDI4NCwxNS44NDA2ODI5IDE1MS45MjExNTgsMCBDMTM3LjA4Nzg2OCwxNy42NTM0NjM0IDEwOC41ODI1ODksMjkuNTgwNDU2MSA3NS45NDIyODQyLDI5LjU4MDQ1NjEgTDc1Ljk0MjI4NDIsMjkuNTgwNDU2MSBaIiAvPgogICAgPHBhdGggdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMzczNjgsIDAuNzA0ODc4KSIgZD0iTTc1Ljk3ODQ1NzksMjQuNjI2NDA3MyBDMTA4LjYxODc2MywyNC42MjY0MDczIDEzNy4xMjQ0NTgsMzYuNTUzNDQxNSAxNTEuOTIxMTU4LDU0LjIwNjc4MDUgQzE0Ni40MTAyODQsMzguMzY2MjIyIDEzNi4xMzk0NTMsMjQuNjQwMTMxNyAxMjIuNTMwNjYzLDE0LjkyODQ4NzggQzEwOC45MjE0NTgsNS4yMTY4NDM5IDkyLjY0NzQ1NzksMCA3NS45NjA1Nzg5LDAgQzU5LjI3MzcsMCA0Mi45OTk3LDUuMjE2ODQzOSAyOS4zOTA0OTQ3LDE0LjkyODQ4NzggQzE1Ljc4MTUzODksMjQuNjQwMTMxNyA1LjUxMDgzMjExLDM4LjM2NjIyMiAwLDU0LjIwNjc4MDUgQzE0LjgzMzA4MTYsMzYuNTg5OTI5MyA0My4zMzg1Njg0LDI0LjYyNjQwNzMgNzUuOTc4NDU3OSwyNC42MjY0MDczIEw3NS45Nzg0NTc5LDI0LjYyNjQwNzMgWiIgLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-jupyter: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzkiIGhlaWdodD0iNTEiIHZpZXdCb3g9IjAgMCAzOSA1MSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTYzOCAtMjI4MSkiPgogICAgPGcgY2xhc3M9ImpwLWljb24td2FybjAiIGZpbGw9IiNGMzc3MjYiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5Ljc0IDIzMTEuOTgpIiBkPSJNIDE4LjI2NDYgNy4xMzQxMUMgMTAuNDE0NSA3LjEzNDExIDMuNTU4NzIgNC4yNTc2IDAgMEMgMS4zMjUzOSAzLjgyMDQgMy43OTU1NiA3LjEzMDgxIDcuMDY4NiA5LjQ3MzAzQyAxMC4zNDE3IDExLjgxNTIgMTQuMjU1NyAxMy4wNzM0IDE4LjI2OSAxMy4wNzM0QyAyMi4yODIzIDEzLjA3MzQgMjYuMTk2MyAxMS44MTUyIDI5LjQ2OTQgOS40NzMwM0MgMzIuNzQyNCA3LjEzMDgxIDM1LjIxMjYgMy44MjA0IDM2LjUzOCAwQyAzMi45NzA1IDQuMjU3NiAyNi4xMTQ4IDcuMTM0MTEgMTguMjY0NiA3LjEzNDExWiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5LjczIDIyODUuNDgpIiBkPSJNIDE4LjI3MzMgNS45MzkzMUMgMjYuMTIzNSA1LjkzOTMxIDMyLjk3OTMgOC44MTU4MyAzNi41MzggMTMuMDczNEMgMzUuMjEyNiA5LjI1MzAzIDMyLjc0MjQgNS45NDI2MiAyOS40Njk0IDMuNjAwNEMgMjYuMTk2MyAxLjI1ODE4IDIyLjI4MjMgMCAxOC4yNjkgMEMgMTQuMjU1NyAwIDEwLjM0MTcgMS4yNTgxOCA3LjA2ODYgMy42MDA0QyAzLjc5NTU2IDUuOTQyNjIgMS4zMjUzOSA5LjI1MzAzIDAgMTMuMDczNEMgMy41Njc0NSA4LjgyNDYzIDEwLjQyMzIgNS45MzkzMSAxOC4yNzMzIDUuOTM5MzFaIi8+CiAgICA8L2c+CiAgICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjY5LjMgMjI4MS4zMSkiIGQ9Ik0gNS44OTM1MyAyLjg0NEMgNS45MTg4OSAzLjQzMTY1IDUuNzcwODUgNC4wMTM2NyA1LjQ2ODE1IDQuNTE2NDVDIDUuMTY1NDUgNS4wMTkyMiA0LjcyMTY4IDUuNDIwMTUgNC4xOTI5OSA1LjY2ODUxQyAzLjY2NDMgNS45MTY4OCAzLjA3NDQ0IDYuMDAxNTEgMi40OTgwNSA1LjkxMTcxQyAxLjkyMTY2IDUuODIxOSAxLjM4NDYzIDUuNTYxNyAwLjk1NDg5OCA1LjE2NDAxQyAwLjUyNTE3IDQuNzY2MzMgMC4yMjIwNTYgNC4yNDkwMyAwLjA4MzkwMzcgMy42Nzc1N0MgLTAuMDU0MjQ4MyAzLjEwNjExIC0wLjAyMTIzIDIuNTA2MTcgMC4xNzg3ODEgMS45NTM2NEMgMC4zNzg3OTMgMS40MDExIDAuNzM2ODA5IDAuOTIwODE3IDEuMjA3NTQgMC41NzM1MzhDIDEuNjc4MjYgMC4yMjYyNTkgMi4yNDA1NSAwLjAyNzU5MTkgMi44MjMyNiAwLjAwMjY3MjI5QyAzLjYwMzg5IC0wLjAzMDcxMTUgNC4zNjU3MyAwLjI0OTc4OSA0Ljk0MTQyIDAuNzgyNTUxQyA1LjUxNzExIDEuMzE1MzEgNS44NTk1NiAyLjA1Njc2IDUuODkzNTMgMi44NDRaIi8+CiAgICAgIDxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2MzkuOCAyMzIzLjgxKSIgZD0iTSA3LjQyNzg5IDMuNTgzMzhDIDcuNDYwMDggNC4zMjQzIDcuMjczNTUgNS4wNTgxOSA2Ljg5MTkzIDUuNjkyMTNDIDYuNTEwMzEgNi4zMjYwNyA1Ljk1MDc1IDYuODMxNTYgNS4yODQxMSA3LjE0NDZDIDQuNjE3NDcgNy40NTc2MyAzLjg3MzcxIDcuNTY0MTQgMy4xNDcwMiA3LjQ1MDYzQyAyLjQyMDMyIDcuMzM3MTIgMS43NDMzNiA3LjAwODcgMS4yMDE4NCA2LjUwNjk1QyAwLjY2MDMyOCA2LjAwNTIgMC4yNzg2MSA1LjM1MjY4IDAuMTA1MDE3IDQuNjMyMDJDIC0wLjA2ODU3NTcgMy45MTEzNSAtMC4wMjYyMzYxIDMuMTU0OTQgMC4yMjY2NzUgMi40NTg1NkMgMC40Nzk1ODcgMS43NjIxNyAwLjkzMTY5NyAxLjE1NzEzIDEuNTI1NzYgMC43MjAwMzNDIDIuMTE5ODMgMC4yODI5MzUgMi44MjkxNCAwLjAzMzQzOTUgMy41NjM4OSAwLjAwMzEzMzQ0QyA0LjU0NjY3IC0wLjAzNzQwMzMgNS41MDUyOSAwLjMxNjcwNiA2LjIyOTYxIDAuOTg3ODM1QyA2Ljk1MzkzIDEuNjU4OTYgNy4zODQ4NCAyLjU5MjM1IDcuNDI3ODkgMy41ODMzOEwgNy40Mjc4OSAzLjU4MzM4WiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM4LjM2IDIyODYuMDYpIiBkPSJNIDIuMjc0NzEgNC4zOTYyOUMgMS44NDM2MyA0LjQxNTA4IDEuNDE2NzEgNC4zMDQ0NSAxLjA0Nzk5IDQuMDc4NDNDIDAuNjc5MjY4IDMuODUyNCAwLjM4NTMyOCAzLjUyMTE0IDAuMjAzMzcxIDMuMTI2NTZDIDAuMDIxNDEzNiAyLjczMTk4IC0wLjA0MDM3OTggMi4yOTE4MyAwLjAyNTgxMTYgMS44NjE4MUMgMC4wOTIwMDMxIDEuNDMxOCAwLjI4MzIwNCAxLjAzMTI2IDAuNTc1MjEzIDAuNzEwODgzQyAwLjg2NzIyMiAwLjM5MDUxIDEuMjQ2OTEgMC4xNjQ3MDggMS42NjYyMiAwLjA2MjA1OTJDIDIuMDg1NTMgLTAuMDQwNTg5NyAyLjUyNTYxIC0wLjAxNTQ3MTQgMi45MzA3NiAwLjEzNDIzNUMgMy4zMzU5MSAwLjI4Mzk0MSAzLjY4NzkyIDAuNTUxNTA1IDMuOTQyMjIgMC45MDMwNkMgNC4xOTY1MiAxLjI1NDYyIDQuMzQxNjkgMS42NzQzNiA0LjM1OTM1IDIuMTA5MTZDIDQuMzgyOTkgMi42OTEwNyA0LjE3Njc4IDMuMjU4NjkgMy43ODU5NyAzLjY4NzQ2QyAzLjM5NTE2IDQuMTE2MjQgMi44NTE2NiA0LjM3MTE2IDIuMjc0NzEgNC4zOTYyOUwgMi4yNzQ3MSA0LjM5NjI5WiIvPgogICAgPC9nPgogIDwvZz4+Cjwvc3ZnPgo=);
+  --jp-icon-jupyterlab-wordmark: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIHZpZXdCb3g9IjAgMCAxODYwLjggNDc1Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0RTRFNEUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4MC4xMzY0MDEsIDY0LjI3MTQ5MykiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDU4Ljg3NTU2NikiPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA4NzYwMywgMC4xNDAyOTQpIj4KICAgICAgICA8cGF0aCBkPSJNLTQyNi45LDE2OS44YzAsNDguNy0zLjcsNjQuNy0xMy42LDc2LjRjLTEwLjgsMTAtMjUsMTUuNS0zOS43LDE1LjVsMy43LDI5IGMyMi44LDAuMyw0NC44LTcuOSw2MS45LTIzLjFjMTcuOC0xOC41LDI0LTQ0LjEsMjQtODMuM1YwSC00Mjd2MTcwLjFMLTQyNi45LDE2OS44TC00MjYuOSwxNjkuOHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU1LjA0NTI5NiwgNTYuODM3MTA0KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuNTYyNDUzLCAxLjc5OTg0MikiPgogICAgICAgIDxwYXRoIGQ9Ik0tMzEyLDE0OGMwLDIxLDAsMzkuNSwxLjcsNTUuNGgtMzEuOGwtMi4xLTMzLjNoLTAuOGMtNi43LDExLjYtMTYuNCwyMS4zLTI4LDI3LjkgYy0xMS42LDYuNi0yNC44LDEwLTM4LjIsOS44Yy0zMS40LDAtNjktMTcuNy02OS04OVYwaDM2LjR2MTEyLjdjMCwzOC43LDExLjYsNjQuNyw0NC42LDY0LjdjMTAuMy0wLjIsMjAuNC0zLjUsMjguOS05LjQgYzguNS01LjksMTUuMS0xNC4zLDE4LjktMjMuOWMyLjItNi4xLDMuMy0xMi41LDMuMy0xOC45VjAuMmgzNi40VjE0OEgtMzEyTC0zMTIsMTQ4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTAuMDEzMzIyLCA1My40Nzk2MzgpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS43MDY0NTgsIDAuMjMxNDI1KSI+CiAgICAgICAgPHBhdGggZD0iTS00NzguNiw3MS40YzAtMjYtMC44LTQ3LTEuNy02Ni43aDMyLjdsMS43LDM0LjhoMC44YzcuMS0xMi41LDE3LjUtMjIuOCwzMC4xLTI5LjcgYzEyLjUtNywyNi43LTEwLjMsNDEtOS44YzQ4LjMsMCw4NC43LDQxLjcsODQuNywxMDMuM2MwLDczLjEtNDMuNywxMDkuMi05MSwxMDkuMmMtMTIuMSwwLjUtMjQuMi0yLjItMzUtNy44IGMtMTAuOC01LjYtMTkuOS0xMy45LTI2LjYtMjQuMmgtMC44VjI5MWgtMzZ2LTIyMEwtNDc4LjYsNzEuNEwtNDc4LjYsNzEuNHogTS00NDIuNiwxMjUuNmMwLjEsNS4xLDAuNiwxMC4xLDEuNywxNS4xIGMzLDEyLjMsOS45LDIzLjMsMTkuOCwzMS4xYzkuOSw3LjgsMjIuMSwxMi4xLDM0LjcsMTIuMWMzOC41LDAsNjAuNy0zMS45LDYwLjctNzguNWMwLTQwLjctMjEuMS03NS42LTU5LjUtNzUuNiBjLTEyLjksMC40LTI1LjMsNS4xLTM1LjMsMTMuNGMtOS45LDguMy0xNi45LDE5LjctMTkuNiwzMi40Yy0xLjUsNC45LTIuMywxMC0yLjUsMTUuMVYxMjUuNkwtNDQyLjYsMTI1LjZMLTQ0Mi42LDEyNS42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDYuNzQwNzI2LCA1Ni44MzcxMDQpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC43NTEyMjYsIDEuOTg5Mjk5KSI+CiAgICAgICAgPHBhdGggZD0iTS00NDAuOCwwbDQzLjcsMTIwLjFjNC41LDEzLjQsOS41LDI5LjQsMTIuOCw0MS43aDAuOGMzLjctMTIuMiw3LjktMjcuNywxMi44LTQyLjQgbDM5LjctMTE5LjJoMzguNUwtMzQ2LjksMTQ1Yy0yNiw2OS43LTQzLjcsMTA1LjQtNjguNiwxMjcuMmMtMTIuNSwxMS43LTI3LjksMjAtNDQuNiwyMy45bC05LjEtMzEuMSBjMTEuNy0zLjksMjIuNS0xMC4xLDMxLjgtMTguMWMxMy4yLTExLjEsMjMuNy0yNS4yLDMwLjYtNDEuMmMxLjUtMi44LDIuNS01LjcsMi45LTguOGMtMC4zLTMuMy0xLjItNi42LTIuNS05LjdMLTQ4MC4yLDAuMSBoMzkuN0wtNDQwLjgsMEwtNDQwLjgsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODIyLjc0ODEwNCwgMC4wMDAwMDApIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS40NjQwNTAsIDAuMzc4OTE0KSI+CiAgICAgICAgPHBhdGggZD0iTS00MTMuNywwdjU4LjNoNTJ2MjguMmgtNTJWMTk2YzAsMjUsNywzOS41LDI3LjMsMzkuNWM3LjEsMC4xLDE0LjItMC43LDIxLjEtMi41IGwxLjcsMjcuN2MtMTAuMywzLjctMjEuMyw1LjQtMzIuMiw1Yy03LjMsMC40LTE0LjYtMC43LTIxLjMtMy40Yy02LjgtMi43LTEyLjktNi44LTE3LjktMTIuMWMtMTAuMy0xMC45LTE0LjEtMjktMTQuMS01Mi45IFY4Ni41aC0zMVY1OC4zaDMxVjkuNkwtNDEzLjcsMEwtNDEzLjcsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTc0LjQzMzI4NiwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuOTkwMDM0LCAwLjYxMDMzOSkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDQ1LjgsMTEzYzAuOCw1MCwzMi4yLDcwLjYsNjguNiw3MC42YzE5LDAuNiwzNy45LTMsNTUuMy0xMC41bDYuMiwyNi40IGMtMjAuOSw4LjktNDMuNSwxMy4xLTY2LjIsMTIuNmMtNjEuNSwwLTk4LjMtNDEuMi05OC4zLTEwMi41Qy00ODAuMiw0OC4yLTQ0NC43LDAtMzg2LjUsMGM2NS4yLDAsODIuNyw1OC4zLDgyLjcsOTUuNyBjLTAuMSw1LjgtMC41LDExLjUtMS4yLDE3LjJoLTE0MC42SC00NDUuOEwtNDQ1LjgsMTEzeiBNLTMzOS4yLDg2LjZjMC40LTIzLjUtOS41LTYwLjEtNTAuNC02MC4xIGMtMzYuOCwwLTUyLjgsMzQuNC01NS43LDYwLjFILTMzOS4yTC0zMzkuMiw4Ni42TC0zMzkuMiw4Ni42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAxLjk2MTA1OCwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuMTc5NjQwLCAwLjcwNTA2OCkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDc4LjYsNjhjMC0yMy45LTAuNC00NC41LTEuNy02My40aDMxLjhsMS4yLDM5LjloMS43YzkuMS0yNy4zLDMxLTQ0LjUsNTUuMy00NC41IGMzLjUtMC4xLDcsMC40LDEwLjMsMS4ydjM0LjhjLTQuMS0wLjktOC4yLTEuMy0xMi40LTEuMmMtMjUuNiwwLTQzLjcsMTkuNy00OC43LDQ3LjRjLTEsNS43LTEuNiwxMS41LTEuNywxNy4ydjEwOC4zaC0zNlY2OCBMLTQ3OC42LDY4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCBkPSJNMTM1Mi4zLDMyNi4yaDM3VjI4aC0zN1YzMjYuMnogTTE2MDQuOCwzMjYuMmMtMi41LTEzLjktMy40LTMxLjEtMy40LTQ4Ljd2LTc2IGMwLTQwLjctMTUuMS04My4xLTc3LjMtODMuMWMtMjUuNiwwLTUwLDcuMS02Ni44LDE4LjFsOC40LDI0LjRjMTQuMy05LjIsMzQtMTUuMSw1My0xNS4xYzQxLjYsMCw0Ni4yLDMwLjIsNDYuMiw0N3Y0LjIgYy03OC42LTAuNC0xMjIuMywyNi41LTEyMi4zLDc1LjZjMCwyOS40LDIxLDU4LjQsNjIuMiw1OC40YzI5LDAsNTAuOS0xNC4zLDYyLjItMzAuMmgxLjNsMi45LDI1LjZIMTYwNC44eiBNMTU2NS43LDI1Ny43IGMwLDMuOC0wLjgsOC0yLjEsMTEuOGMtNS45LDE3LjItMjIuNywzNC00OS4yLDM0Yy0xOC45LDAtMzQuOS0xMS4zLTM0LjktMzUuM2MwLTM5LjUsNDUuOC00Ni42LDg2LjItNDUuOFYyNTcuN3ogTTE2OTguNSwzMjYuMiBsMS43LTMzLjZoMS4zYzE1LjEsMjYuOSwzOC43LDM4LjIsNjguMSwzOC4yYzQ1LjQsMCw5MS4yLTM2LjEsOTEuMi0xMDguOGMwLjQtNjEuNy0zNS4zLTEwMy43LTg1LjctMTAzLjcgYy0zMi44LDAtNTYuMywxNC43LTY5LjMsMzcuNGgtMC44VjI4aC0zNi42djI0NS43YzAsMTguMS0wLjgsMzguNi0xLjcsNTIuNUgxNjk4LjV6IE0xNzA0LjgsMjA4LjJjMC01LjksMS4zLTEwLjksMi4xLTE1LjEgYzcuNi0yOC4xLDMxLjEtNDUuNCw1Ni4zLTQ1LjRjMzkuNSwwLDYwLjUsMzQuOSw2MC41LDc1LjZjMCw0Ni42LTIzLjEsNzguMS02MS44LDc4LjFjLTI2LjksMC00OC4zLTE3LjYtNTUuNS00My4zIGMtMC44LTQuMi0xLjctOC44LTEuNy0xMy40VjIwOC4yeiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzYxNjE2MSIgZD0iTTE1IDlIOXY2aDZWOXptLTIgNGgtMnYtMmgydjJ6bTgtMlY5aC0yVjdjMC0xLjEtLjktMi0yLTJoLTJWM2gtMnYyaC0yVjNIOXYySDdjLTEuMSAwLTIgLjktMiAydjJIM3YyaDJ2MkgzdjJoMnYyYzAgMS4xLjkgMiAyIDJoMnYyaDJ2LTJoMnYyaDJ2LTJoMmMxLjEgMCAyLS45IDItMnYtMmgydi0yaC0ydi0yaDJ6bS00IDZIN1Y3aDEwdjEweiIvPgo8L3N2Zz4K);
+  --jp-icon-keyboard: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMTdjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yem0tOSAzaDJ2MmgtMlY4em0wIDNoMnYyaC0ydi0yek04IDhoMnYySDhWOHptMCAzaDJ2Mkg4di0yem0tMSAySDV2LTJoMnYyem0wLTNINVY4aDJ2MnptOSA3SDh2LTJoOHYyem0wLTRoLTJ2LTJoMnYyem0wLTNoLTJWOGgydjJ6bTMgM2gtMnYtMmgydjJ6bTAtM2gtMlY4aDJ2MnoiLz4KPC9zdmc+Cg==);
+  --jp-icon-launcher: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkgMTlINVY1aDdWM0g1YTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiLz4KPC9zdmc+Cg==);
+  --jp-icon-line-form: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNNS44OCA0LjEyTDEzLjc2IDEybC03Ljg4IDcuODhMOCAyMmwxMC0xMEw4IDJ6Ii8+Cjwvc3ZnPgo=);
+  --jp-icon-link: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TTggMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01eiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xOSA1djE0SDVWNWgxNG0xLjEtMkgzLjljLS41IDAtLjkuNC0uOS45djE2LjJjMCAuNC40LjkuOS45aDE2LjJjLjQgMCAuOS0uNS45LS45VjMuOWMwLS41LS41LS45LS45LS45ek0xMSA3aDZ2MmgtNlY3em0wIDRoNnYyaC02di0yem0wIDRoNnYyaC02ek03IDdoMnYySDd6bTAgNGgydjJIN3ptMCA0aDJ2Mkg3eiIvPgo8L3N2Zz4=);
+  --jp-icon-listings-info: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNTAuOTc4IDUwLjk3OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTAuOTc4IDUwLjk3ODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPGc+DQoJCTxnPg0KCQkJPHBhdGggc3R5bGU9ImZpbGw6IzAxMDAwMjsiIGQ9Ik00My41Miw3LjQ1OEMzOC43MTEsMi42NDgsMzIuMzA3LDAsMjUuNDg5LDBDMTguNjcsMCwxMi4yNjYsMi42NDgsNy40NTgsNy40NTgNCgkJCQljLTkuOTQzLDkuOTQxLTkuOTQzLDI2LjExOSwwLDM2LjA2MmM0LjgwOSw0LjgwOSwxMS4yMTIsNy40NTYsMTguMDMxLDcuNDU4YzAsMCwwLjAwMSwwLDAuMDAyLDANCgkJCQljNi44MTYsMCwxMy4yMjEtMi42NDgsMTguMDI5LTcuNDU4YzQuODA5LTQuODA5LDcuNDU3LTExLjIxMiw3LjQ1Ny0xOC4wM0M1MC45NzcsMTguNjcsNDguMzI4LDEyLjI2Niw0My41Miw3LjQ1OHoNCgkJCQkgTTQyLjEwNiw0Mi4xMDVjLTQuNDMyLDQuNDMxLTEwLjMzMiw2Ljg3Mi0xNi42MTUsNi44NzJoLTAuMDAyYy02LjI4NS0wLjAwMS0xMi4xODctMi40NDEtMTYuNjE3LTYuODcyDQoJCQkJYy05LjE2Mi05LjE2My05LjE2Mi0yNC4wNzEsMC0zMy4yMzNDMTMuMzAzLDQuNDQsMTkuMjA0LDIsMjUuNDg5LDJjNi4yODQsMCwxMi4xODYsMi40NCwxNi42MTcsNi44NzINCgkJCQljNC40MzEsNC40MzEsNi44NzEsMTAuMzMyLDYuODcxLDE2LjYxN0M0OC45NzcsMzEuNzcyLDQ2LjUzNiwzNy42NzUsNDIuMTA2LDQyLjEwNXoiLz4NCgkJPC9nPg0KCQk8Zz4NCgkJCTxwYXRoIHN0eWxlPSJmaWxsOiMwMTAwMDI7IiBkPSJNMjMuNTc4LDMyLjIxOGMtMC4wMjMtMS43MzQsMC4xNDMtMy4wNTksMC40OTYtMy45NzJjMC4zNTMtMC45MTMsMS4xMS0xLjk5NywyLjI3Mi0zLjI1Mw0KCQkJCWMwLjQ2OC0wLjUzNiwwLjkyMy0xLjA2MiwxLjM2Ny0xLjU3NWMwLjYyNi0wLjc1MywxLjEwNC0xLjQ3OCwxLjQzNi0yLjE3NWMwLjMzMS0wLjcwNywwLjQ5NS0xLjU0MSwwLjQ5NS0yLjUNCgkJCQljMC0xLjA5Ni0wLjI2LTIuMDg4LTAuNzc5LTIuOTc5Yy0wLjU2NS0wLjg3OS0xLjUwMS0xLjMzNi0yLjgwNi0xLjM2OWMtMS44MDIsMC4wNTctMi45ODUsMC42NjctMy41NSwxLjgzMg0KCQkJCWMtMC4zMDEsMC41MzUtMC41MDMsMS4xNDEtMC42MDcsMS44MTRjLTAuMTM5LDAuNzA3LTAuMjA3LDEuNDMyLTAuMjA3LDIuMTc0aC0yLjkzN2MtMC4wOTEtMi4yMDgsMC40MDctNC4xMTQsMS40OTMtNS43MTkNCgkJCQljMS4wNjItMS42NCwyLjg1NS0yLjQ4MSw1LjM3OC0yLjUyN2MyLjE2LDAuMDIzLDMuODc0LDAuNjA4LDUuMTQxLDEuNzU4YzEuMjc4LDEuMTYsMS45MjksMi43NjQsMS45NSw0LjgxMQ0KCQkJCWMwLDEuMTQyLTAuMTM3LDIuMTExLTAuNDEsMi45MTFjLTAuMzA5LDAuODQ1LTAuNzMxLDEuNTkzLTEuMjY4LDIuMjQzYy0wLjQ5MiwwLjY1LTEuMDY4LDEuMzE4LTEuNzMsMi4wMDINCgkJCQljLTAuNjUsMC42OTctMS4zMTMsMS40NzktMS45ODcsMi4zNDZjLTAuMjM5LDAuMzc3LTAuNDI5LDAuNzc3LTAuNTY1LDEuMTk5Yy0wLjE2LDAuOTU5LTAuMjE3LDEuOTUxLTAuMTcxLDIuOTc5DQoJCQkJQzI2LjU4OSwzMi4yMTgsMjMuNTc4LDMyLjIxOCwyMy41NzgsMzIuMjE4eiBNMjMuNTc4LDM4LjIydi0zLjQ4NGgzLjA3NnYzLjQ4NEgyMy41Nzh6Ii8+DQoJCTwvZz4NCgk8L2c+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==);
+  --jp-icon-markdown: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjN0IxRkEyIiBkPSJNNSAxNC45aDEybC02LjEgNnptOS40LTYuOGMwLTEuMy0uMS0yLjktLjEtNC41LS40IDEuNC0uOSAyLjktMS4zIDQuM2wtMS4zIDQuM2gtMkw4LjUgNy45Yy0uNC0xLjMtLjctMi45LTEtNC4zLS4xIDEuNi0uMSAzLjItLjIgNC42TDcgMTIuNEg0LjhsLjctMTFoMy4zTDEwIDVjLjQgMS4yLjcgMi43IDEgMy45LjMtMS4yLjctMi42IDEtMy45bDEuMi0zLjdoMy4zbC42IDExaC0yLjRsLS4zLTQuMnoiLz4KPC9zdmc+Cg==);
+  --jp-icon-new-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwIDZoLThsLTItMkg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOGMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS0xIDhoLTN2M2gtMnYtM2gtM3YtMmgzVjloMnYzaDN2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-not-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI1IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMTkgMTcuMTg0NCAyLjk2OTY4IDE0LjMwMzIgMS44NjA5NCAxMS40NDA5WiIvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24yIiBzdHJva2U9IiMzMzMzMzMiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS4zMTU5MiA5LjMyMDMxKSIgZD0iTTcuMzY4NDIgMEwwIDcuMzY0NzkiLz4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMzE1OTIgMTYuNjgzNikgc2NhbGUoMSAtMSkiIGQ9Ik03LjM2ODQyIDBMMCA3LjM2NDc5Ii8+Cjwvc3ZnPgo=);
+  --jp-icon-notebook: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNFRjZDMDAiPgogICAgPHBhdGggZD0iTTE4LjcgMy4zdjE1LjRIMy4zVjMuM2gxNS40bTEuNS0xLjVIMS44djE4LjNoMTguM2wuMS0xOC4zeiIvPgogICAgPHBhdGggZD0iTTE2LjUgMTYuNWwtNS40LTQuMy01LjYgNC4zdi0xMWgxMXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-numbering: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTQgMTlINlYxOS41SDVWMjAuNUg2VjIxSDRWMjJIN1YxOEg0VjE5Wk01IDEwSDZWNkg0VjdINVYxMFpNNCAxM0g1LjhMNCAxNS4xVjE2SDdWMTVINS4yTDcgMTIuOVYxMkg0VjEzWk05IDdWOUgyM1Y3SDlaTTkgMjFIMjNWMTlIOVYyMVpNOSAxNUgyM1YxM0g5VjE1WiIvPgoJPC9nPgo8L3N2Zz4K);
+  --jp-icon-offline-bolt: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDIuMDJjLTUuNTEgMC05Ljk4IDQuNDctOS45OCA5Ljk4czQuNDcgOS45OCA5Ljk4IDkuOTggOS45OC00LjQ3IDkuOTgtOS45OFMxNy41MSAyLjAyIDEyIDIuMDJ6TTExLjQ4IDIwdi02LjI2SDhMMTMgNHY2LjI2aDMuMzVMMTEuNDggMjB6Ii8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-palette: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE4IDEzVjIwSDRWNkg5LjAyQzkuMDcgNS4yOSA5LjI0IDQuNjIgOS41IDRINEMyLjkgNCAyIDQuOSAyIDZWMjBDMiAyMS4xIDIuOSAyMiA0IDIySDE4QzE5LjEgMjIgMjAgMjEuMSAyMCAyMFYxNUwxOCAxM1pNMTkuMyA4Ljg5QzE5Ljc0IDguMTkgMjAgNy4zOCAyMCA2LjVDMjAgNC4wMSAxNy45OSAyIDE1LjUgMkMxMy4wMSAyIDExIDQuMDEgMTEgNi41QzExIDguOTkgMTMuMDEgMTEgMTUuNDkgMTFDMTYuMzcgMTEgMTcuMTkgMTAuNzQgMTcuODggMTAuM0wyMSAxMy40MkwyMi40MiAxMkwxOS4zIDguODlaTTE1LjUgOUMxNC4xMiA5IDEzIDcuODggMTMgNi41QzEzIDUuMTIgMTQuMTIgNCAxNS41IDRDMTYuODggNCAxOCA1LjEyIDE4IDYuNUMxOCA3Ljg4IDE2Ljg4IDkgMTUuNSA5WiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDZIOS4wMTg5NEM5LjAwNjM5IDYuMTY1MDIgOSA2LjMzMTc2IDkgNi41QzkgOC44MTU3NyAxMC4yMTEgMTAuODQ4NyAxMi4wMzQzIDEySDlWMTRIMTZWMTIuOTgxMUMxNi41NzAzIDEyLjkzNzcgMTcuMTIgMTIuODIwNyAxNy42Mzk2IDEyLjYzOTZMMTggMTNWMjBINFY2Wk04IDhINlYxMEg4VjhaTTYgMTJIOFYxNEg2VjEyWk04IDE2SDZWMThIOFYxNlpNOSAxNkgxNlYxOEg5VjE2WiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-paste: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE5IDJoLTQuMThDMTQuNC44NCAxMy4zIDAgMTIgMGMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptNyAxOEg1VjRoMnYzaDEwVjRoMnYxNnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-pdf: url(data:image/svg+xml;base64,PHN2ZwogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAyMiIgd2lkdGg9IjE2Ij4KICAgIDxwYXRoIHRyYW5zZm9ybT0icm90YXRlKDQ1KSIgY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0ZGMkEyQSIKICAgICAgIGQ9Im0gMjIuMzQ0MzY5LC0zLjAxNjM2NDIgaCA1LjYzODYwNCB2IDEuNTc5MjQzMyBoIC0zLjU0OTIyNyB2IDEuNTA4NjkyOTkgaCAzLjMzNzU3NiBWIDEuNjUwODE1NCBoIC0zLjMzNzU3NiB2IDMuNDM1MjYxMyBoIC0yLjA4OTM3NyB6IG0gLTcuMTM2NDQ0LDEuNTc5MjQzMyB2IDQuOTQzOTU0MyBoIDAuNzQ4OTIgcSAxLjI4MDc2MSwwIDEuOTUzNzAzLC0wLjYzNDk1MzUgMC42NzgzNjksLTAuNjM0OTUzNSAwLjY3ODM2OSwtMS44NDUxNjQxIDAsLTEuMjA0NzgzNTUgLTAuNjcyOTQyLC0xLjgzNDMxMDExIC0wLjY3Mjk0MiwtMC42Mjk1MjY1OSAtMS45NTkxMywtMC42Mjk1MjY1OSB6IG0gLTIuMDg5Mzc3LC0xLjU3OTI0MzMgaCAyLjIwMzM0MyBxIDEuODQ1MTY0LDAgMi43NDYwMzksMC4yNjU5MjA3IDAuOTA2MzAxLDAuMjYwNDkzNyAxLjU1MjEwOCwwLjg5MDAyMDMgMC41Njk4MywwLjU0ODEyMjMgMC44NDY2MDUsMS4yNjQ0ODAwNiAwLjI3Njc3NCwwLjcxNjM1NzgxIDAuMjc2Nzc0LDEuNjIyNjU4OTQgMCwwLjkxNzE1NTEgLTAuMjc2Nzc0LDEuNjM4OTM5OSAtMC4yNzY3NzUsMC43MTYzNTc4IC0wLjg0NjYwNSwxLjI2NDQ4IC0wLjY1MTIzNCwwLjYyOTUyNjYgLTEuNTYyOTYyLDAuODk1NDQ3MyAtMC45MTE3MjgsMC4yNjA0OTM3IC0yLjczNTE4NSwwLjI2MDQ5MzcgaCAtMi4yMDMzNDMgeiBtIC04LjE0NTg1NjUsMCBoIDMuNDY3ODIzIHEgMS41NDY2ODE2LDAgMi4zNzE1Nzg1LDAuNjg5MjIzIDAuODMwMzI0LDAuNjgzNzk2MSAwLjgzMDMyNCwxLjk1MzcwMzE0IDAsMS4yNzUzMzM5NyAtMC44MzAzMjQsMS45NjQ1NTcwNiBRIDkuOTg3MTk2MSwyLjI3NDkxNSA4LjQ0MDUxNDUsMi4yNzQ5MTUgSCA3LjA2MjA2ODQgViA1LjA4NjA3NjcgSCA0Ljk3MjY5MTUgWiBtIDIuMDg5Mzc2OSwxLjUxNDExOTkgdiAyLjI2MzAzOTQzIGggMS4xNTU5NDEgcSAwLjYwNzgxODgsMCAwLjkzODg2MjksLTAuMjkzMDU1NDcgMC4zMzEwNDQxLC0wLjI5ODQ4MjQxIDAuMzMxMDQ0MSwtMC44NDExNzc3MiAwLC0wLjU0MjY5NTMxIC0wLjMzMTA0NDEsLTAuODM1NzUwNzQgLTAuMzMxMDQ0MSwtMC4yOTMwNTU1IC0wLjkzODg2MjksLTAuMjkzMDU1NSB6IgovPgo8L3N2Zz4K);
+  --jp-icon-python: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1icmFuZDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMEQ0N0ExIj4KICAgIDxwYXRoIGQ9Ik0xMS4xIDYuOVY1LjhINi45YzAtLjUgMC0xLjMuMi0xLjYuNC0uNy44LTEuMSAxLjctMS40IDEuNy0uMyAyLjUtLjMgMy45LS4xIDEgLjEgMS45LjkgMS45IDEuOXY0LjJjMCAuNS0uOSAxLjYtMiAxLjZIOC44Yy0xLjUgMC0yLjQgMS40LTIuNCAyLjh2Mi4ySDQuN0MzLjUgMTUuMSAzIDE0IDMgMTMuMVY5Yy0uMS0xIC42LTIgMS44LTIgMS41LS4xIDYuMy0uMSA2LjMtLjF6Ii8+CiAgICA8cGF0aCBkPSJNMTAuOSAxNS4xdjEuMWg0LjJjMCAuNSAwIDEuMy0uMiAxLjYtLjQuNy0uOCAxLjEtMS43IDEuNC0xLjcuMy0yLjUuMy0zLjkuMS0xLS4xLTEuOS0uOS0xLjktMS45di00LjJjMC0uNS45LTEuNiAyLTEuNmgzLjhjMS41IDAgMi40LTEuNCAyLjQtMi44VjYuNmgxLjdDMTguNSA2LjkgMTkgOCAxOSA4LjlWMTNjMCAxLS43IDIuMS0xLjkgMi4xaC02LjJ6Ii8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-r-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjE5NkYzIiBkPSJNNC40IDIuNWMxLjItLjEgMi45LS4zIDQuOS0uMyAyLjUgMCA0LjEuNCA1LjIgMS4zIDEgLjcgMS41IDEuOSAxLjUgMy41IDAgMi0xLjQgMy41LTIuOSA0LjEgMS4yLjQgMS43IDEuNiAyLjIgMyAuNiAxLjkgMSAzLjkgMS4zIDQuNmgtMy44Yy0uMy0uNC0uOC0xLjctMS4yLTMuN3MtMS4yLTIuNi0yLjYtMi42aC0uOXY2LjRINC40VjIuNXptMy43IDYuOWgxLjRjMS45IDAgMi45LS45IDIuOS0yLjNzLTEtMi4zLTIuOC0yLjNjLS43IDAtMS4zIDAtMS42LjJ2NC41aC4xdi0uMXoiLz4KPC9zdmc+Cg==);
+  --jp-icon-react: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMTUwIDE1MCA1NDEuOSAyOTUuMyI+CiAgPGcgY2xhc3M9ImpwLWljb24tYnJhbmQyIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxREFGQiI+CiAgICA8cGF0aCBkPSJNNjY2LjMgMjk2LjVjMC0zMi41LTQwLjctNjMuMy0xMDMuMS04Mi40IDE0LjQtNjMuNiA4LTExNC4yLTIwLjItMTMwLjQtNi41LTMuOC0xNC4xLTUuNi0yMi40LTUuNnYyMi4zYzQuNiAwIDguMy45IDExLjQgMi42IDEzLjYgNy44IDE5LjUgMzcuNSAxNC45IDc1LjctMS4xIDkuNC0yLjkgMTkuMy01LjEgMjkuNC0xOS42LTQuOC00MS04LjUtNjMuNS0xMC45LTEzLjUtMTguNS0yNy41LTM1LjMtNDEuNi01MCAzMi42LTMwLjMgNjMuMi00Ni45IDg0LTQ2LjlWNzhjLTI3LjUgMC02My41IDE5LjYtOTkuOSA1My42LTM2LjQtMzMuOC03Mi40LTUzLjItOTkuOS01My4ydjIyLjNjMjAuNyAwIDUxLjQgMTYuNSA4NCA0Ni42LTE0IDE0LjctMjggMzEuNC00MS4zIDQ5LjktMjIuNiAyLjQtNDQgNi4xLTYzLjYgMTEtMi4zLTEwLTQtMTkuNy01LjItMjktNC43LTM4LjIgMS4xLTY3LjkgMTQuNi03NS44IDMtMS44IDYuOS0yLjYgMTEuNS0yLjZWNzguNWMtOC40IDAtMTYgMS44LTIyLjYgNS42LTI4LjEgMTYuMi0zNC40IDY2LjctMTkuOSAxMzAuMS02Mi4yIDE5LjItMTAyLjcgNDkuOS0xMDIuNyA4Mi4zIDAgMzIuNSA0MC43IDYzLjMgMTAzLjEgODIuNC0xNC40IDYzLjYtOCAxMTQuMiAyMC4yIDEzMC40IDYuNSAzLjggMTQuMSA1LjYgMjIuNSA1LjYgMjcuNSAwIDYzLjUtMTkuNiA5OS45LTUzLjYgMzYuNCAzMy44IDcyLjQgNTMuMiA5OS45IDUzLjIgOC40IDAgMTYtMS44IDIyLjYtNS42IDI4LjEtMTYuMiAzNC40LTY2LjcgMTkuOS0xMzAuMSA2Mi0xOS4xIDEwMi41LTQ5LjkgMTAyLjUtODIuM3ptLTEzMC4yLTY2LjdjLTMuNyAxMi45LTguMyAyNi4yLTEzLjUgMzkuNS00LjEtOC04LjQtMTYtMTMuMS0yNC00LjYtOC05LjUtMTUuOC0xNC40LTIzLjQgMTQuMiAyLjEgMjcuOSA0LjcgNDEgNy45em0tNDUuOCAxMDYuNWMtNy44IDEzLjUtMTUuOCAyNi4zLTI0LjEgMzguMi0xNC45IDEuMy0zMCAyLTQ1LjIgMi0xNS4xIDAtMzAuMi0uNy00NS0xLjktOC4zLTExLjktMTYuNC0yNC42LTI0LjItMzgtNy42LTEzLjEtMTQuNS0yNi40LTIwLjgtMzkuOCA2LjItMTMuNCAxMy4yLTI2LjggMjAuNy0zOS45IDcuOC0xMy41IDE1LjgtMjYuMyAyNC4xLTM4LjIgMTQuOS0xLjMgMzAtMiA0NS4yLTIgMTUuMSAwIDMwLjIuNyA0NSAxLjkgOC4zIDExLjkgMTYuNCAyNC42IDI0LjIgMzggNy42IDEzLjEgMTQuNSAyNi40IDIwLjggMzkuOC02LjMgMTMuNC0xMy4yIDI2LjgtMjAuNyAzOS45em0zMi4zLTEzYzUuNCAxMy40IDEwIDI2LjggMTMuOCAzOS44LTEzLjEgMy4yLTI2LjkgNS45LTQxLjIgOCA0LjktNy43IDkuOC0xNS42IDE0LjQtMjMuNyA0LjYtOCA4LjktMTYuMSAxMy0yNC4xek00MjEuMiA0MzBjLTkuMy05LjYtMTguNi0yMC4zLTI3LjgtMzIgOSAuNCAxOC4yLjcgMjcuNS43IDkuNCAwIDE4LjctLjIgMjcuOC0uNy05IDExLjctMTguMyAyMi40LTI3LjUgMzJ6bS03NC40LTU4LjljLTE0LjItMi4xLTI3LjktNC43LTQxLTcuOSAzLjctMTIuOSA4LjMtMjYuMiAxMy41LTM5LjUgNC4xIDggOC40IDE2IDEzLjEgMjQgNC43IDggOS41IDE1LjggMTQuNCAyMy40ek00MjAuNyAxNjNjOS4zIDkuNiAxOC42IDIwLjMgMjcuOCAzMi05LS40LTE4LjItLjctMjcuNS0uNy05LjQgMC0xOC43LjItMjcuOC43IDktMTEuNyAxOC4zLTIyLjQgMjcuNS0zMnptLTc0IDU4LjljLTQuOSA3LjctOS44IDE1LjYtMTQuNCAyMy43LTQuNiA4LTguOSAxNi0xMyAyNC01LjQtMTMuNC0xMC0yNi44LTEzLjgtMzkuOCAxMy4xLTMuMSAyNi45LTUuOCA0MS4yLTcuOXptLTkwLjUgMTI1LjJjLTM1LjQtMTUuMS01OC4zLTM0LjktNTguMy01MC42IDAtMTUuNyAyMi45LTM1LjYgNTguMy01MC42IDguNi0zLjcgMTgtNyAyNy43LTEwLjEgNS43IDE5LjYgMTMuMiA0MCAyMi41IDYwLjktOS4yIDIwLjgtMTYuNiA0MS4xLTIyLjIgNjAuNi05LjktMy4xLTE5LjMtNi41LTI4LTEwLjJ6TTMxMCA0OTBjLTEzLjYtNy44LTE5LjUtMzcuNS0xNC45LTc1LjcgMS4xLTkuNCAyLjktMTkuMyA1LjEtMjkuNCAxOS42IDQuOCA0MSA4LjUgNjMuNSAxMC45IDEzLjUgMTguNSAyNy41IDM1LjMgNDEuNiA1MC0zMi42IDMwLjMtNjMuMiA0Ni45LTg0IDQ2LjktNC41LS4xLTguMy0xLTExLjMtMi43em0yMzcuMi03Ni4yYzQuNyAzOC4yLTEuMSA2Ny45LTE0LjYgNzUuOC0zIDEuOC02LjkgMi42LTExLjUgMi42LTIwLjcgMC01MS40LTE2LjUtODQtNDYuNiAxNC0xNC43IDI4LTMxLjQgNDEuMy00OS45IDIyLjYtMi40IDQ0LTYuMSA2My42LTExIDIuMyAxMC4xIDQuMSAxOS44IDUuMiAyOS4xem0zOC41LTY2LjdjLTguNiAzLjctMTggNy0yNy43IDEwLjEtNS43LTE5LjYtMTMuMi00MC0yMi41LTYwLjkgOS4yLTIwLjggMTYuNi00MS4xIDIyLjItNjAuNiA5LjkgMy4xIDE5LjMgNi41IDI4LjEgMTAuMiAzNS40IDE1LjEgNTguMyAzNC45IDU4LjMgNTAuNi0uMSAxNS43LTIzIDM1LjYtNTguNCA1MC42ek0zMjAuOCA3OC40eiIvPgogICAgPGNpcmNsZSBjeD0iNDIwLjkiIGN5PSIyOTYuNSIgcj0iNDUuNyIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-redo: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE4LjQgMTAuNkMxNi41NSA4Ljk5IDE0LjE1IDggMTEuNSA4Yy00LjY1IDAtOC41OCAzLjAzLTkuOTYgNy4yMkwzLjkgMTZjMS4wNS0zLjE5IDQuMDUtNS41IDcuNi01LjUgMS45NSAwIDMuNzMuNzIgNS4xMiAxLjg4TDEzIDE2aDlWN2wtMy42IDMuNnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-refresh: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTkgMTMuNWMtMi40OSAwLTQuNS0yLjAxLTQuNS00LjVTNi41MSA0LjUgOSA0LjVjMS4yNCAwIDIuMzYuNTIgMy4xNyAxLjMzTDEwIDhoNVYzbC0xLjc2IDEuNzZDMTIuMTUgMy42OCAxMC42NiAzIDkgMyA1LjY5IDMgMy4wMSA1LjY5IDMuMDEgOVM1LjY5IDE1IDkgMTVjMi45NyAwIDUuNDMtMi4xNiA1LjktNWgtMS41MmMtLjQ2IDItMi4yNCAzLjUtNC4zOCAzLjV6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);
+  --jp-icon-regex: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiBmaWxsPSIjRkZGIj4KICAgIDxjaXJjbGUgY2xhc3M9InN0MiIgY3g9IjUuNSIgY3k9IjE0LjUiIHI9IjEuNSIvPgogICAgPHJlY3QgeD0iMTIiIHk9IjQiIGNsYXNzPSJzdDIiIHdpZHRoPSIxIiBoZWlnaHQ9IjgiLz4KICAgIDxyZWN0IHg9IjguNSIgeT0iNy41IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjg2NiAtMC41IDAuNSAwLjg2NiAtMi4zMjU1IDcuMzIxOSkiIGNsYXNzPSJzdDIiIHdpZHRoPSI4IiBoZWlnaHQ9IjEiLz4KICAgIDxyZWN0IHg9IjEyIiB5PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjUgLTAuODY2IDAuODY2IDAuNSAtMC42Nzc5IDE0LjgyNTIpIiBjbGFzcz0ic3QyIiB3aWR0aD0iMSIgaGVpZ2h0PSI4Ii8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-run: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTggNXYxNGwxMS03eiIvPgogICAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-running: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptOTYgMzI4YzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2aDE2MGM4LjggMCAxNiA3LjIgMTYgMTZ2MTYweiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-save: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE3IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdsLTQtNHptLTUgMTZjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzem0zLTEwSDVWNWgxMHY0eiIvPgogICAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-search: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjEsMTAuOWgtMC43bC0wLjItMC4yYzAuOC0wLjksMS4zLTIuMiwxLjMtMy41YzAtMy0yLjQtNS40LTUuNC01LjRTMS44LDQuMiwxLjgsNy4xczIuNCw1LjQsNS40LDUuNCBjMS4zLDAsMi41LTAuNSwzLjUtMS4zbDAuMiwwLjJ2MC43bDQuMSw0LjFsMS4yLTEuMkwxMi4xLDEwLjl6IE03LjEsMTAuOWMtMi4xLDAtMy43LTEuNy0zLjctMy43czEuNy0zLjcsMy43LTMuN3MzLjcsMS43LDMuNywzLjcgUzkuMiwxMC45LDcuMSwxMC45eiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-settings: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuNDMgMTIuOThjLjA0LS4zMi4wNy0uNjQuMDctLjk4cy0uMDMtLjY2LS4wNy0uOThsMi4xMS0xLjY1Yy4xOS0uMTUuMjQtLjQyLjEyLS42NGwtMi0zLjQ2Yy0uMTItLjIyLS4zOS0uMy0uNjEtLjIybC0yLjQ5IDFjLS41Mi0uNC0xLjA4LS43My0xLjY5LS45OGwtLjM4LTIuNjVBLjQ4OC40ODggMCAwMDE0IDJoLTRjLS4yNSAwLS40Ni4xOC0uNDkuNDJsLS4zOCAyLjY1Yy0uNjEuMjUtMS4xNy41OS0xLjY5Ljk4bC0yLjQ5LTFjLS4yMy0uMDktLjQ5IDAtLjYxLjIybC0yIDMuNDZjLS4xMy4yMi0uMDcuNDkuMTIuNjRsMi4xMSAxLjY1Yy0uMDQuMzItLjA3LjY1LS4wNy45OHMuMDMuNjYuMDcuOThsLTIuMTEgMS42NWMtLjE5LjE1LS4yNC40Mi0uMTIuNjRsMiAzLjQ2Yy4xMi4yMi4zOS4zLjYxLjIybDIuNDktMWMuNTIuNCAxLjA4LjczIDEuNjkuOThsLjM4IDIuNjVjLjAzLjI0LjI0LjQyLjQ5LjQyaDRjLjI1IDAgLjQ2LS4xOC40OS0uNDJsLjM4LTIuNjVjLjYxLS4yNSAxLjE3LS41OSAxLjY5LS45OGwyLjQ5IDFjLjIzLjA5LjQ5IDAgLjYxLS4yMmwyLTMuNDZjLjEyLS4yMi4wNy0uNDktLjEyLS42NGwtMi4xMS0xLjY1ek0xMiAxNS41Yy0xLjkzIDAtMy41LTEuNTctMy41LTMuNXMxLjU3LTMuNSAzLjUtMy41IDMuNSAxLjU3IDMuNSAzLjUtMS41NyAzLjUtMy41IDMuNXoiLz4KPC9zdmc+Cg==);
+  --jp-icon-spreadsheet: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNENBRjUwIiBkPSJNMi4yIDIuMnYxNy42aDE3LjZWMi4ySDIuMnptMTUuNCA3LjdoLTUuNVY0LjRoNS41djUuNXpNOS45IDQuNHY1LjVINC40VjQuNGg1LjV6bS01LjUgNy43aDUuNXY1LjVINC40di01LjV6bTcuNyA1LjV2LTUuNWg1LjV2NS41aC01LjV6Ii8+Cjwvc3ZnPgo=);
+  --jp-icon-stop: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik02IDZoMTJ2MTJINnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-tab: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIxIDNIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDNWNWgxMHY0aDh2MTB6Ii8+CiAgPC9nPgo8L3N2Zz4K);
+  --jp-icon-table-rows: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMSw4SDNWNGgxOFY4eiBNMjEsMTBIM3Y0aDE4VjEweiBNMjEsMTZIM3Y0aDE4VjE2eiIvPgogICAgPC9nPgo8L3N2Zz4=);
+  --jp-icon-tag: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCA0MyAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTI4LjgzMzIgMTIuMzM0TDMyLjk5OTggMTYuNTAwN0wzNy4xNjY1IDEyLjMzNEgyOC44MzMyWiIvPgoJCTxwYXRoIGQ9Ik0xNi4yMDk1IDIxLjYxMDRDMTUuNjg3MyAyMi4xMjk5IDE0Ljg0NDMgMjIuMTI5OSAxNC4zMjQ4IDIxLjYxMDRMNi45ODI5IDE0LjcyNDVDNi41NzI0IDE0LjMzOTQgNi4wODMxMyAxMy42MDk4IDYuMDQ3ODYgMTMuMDQ4MkM1Ljk1MzQ3IDExLjUyODggNi4wMjAwMiA4LjYxOTQ0IDYuMDY2MjEgNy4wNzY5NUM2LjA4MjgxIDYuNTE0NzcgNi41NTU0OCA2LjA0MzQ3IDcuMTE4MDQgNi4wMzA1NUM5LjA4ODYzIDUuOTg0NzMgMTMuMjYzOCA1LjkzNTc5IDEzLjY1MTggNi4zMjQyNUwyMS43MzY5IDEzLjYzOUMyMi4yNTYgMTQuMTU4NSAyMS43ODUxIDE1LjQ3MjQgMjEuMjYyIDE1Ljk5NDZMMTYuMjA5NSAyMS42MTA0Wk05Ljc3NTg1IDguMjY1QzkuMzM1NTEgNy44MjU2NiA4LjYyMzUxIDcuODI1NjYgOC4xODI4IDguMjY1QzcuNzQzNDYgOC43MDU3MSA3Ljc0MzQ2IDkuNDE3MzMgOC4xODI4IDkuODU2NjdDOC42MjM4MiAxMC4yOTY0IDkuMzM1ODIgMTAuMjk2NCA5Ljc3NTg1IDkuODU2NjdDMTAuMjE1NiA5LjQxNzMzIDEwLjIxNTYgOC43MDUzMyA5Ljc3NTg1IDguMjY1WiIvPgoJPC9nPgo8L3N2Zz4K);
+  --jp-icon-terminal: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiA+CiAgICA8cmVjdCBjbGFzcz0ianAtaWNvbjIganAtaWNvbi1zZWxlY3RhYmxlIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikiIGZpbGw9IiMzMzMzMzMiLz4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uLWFjY2VudDIganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGQ9Ik01LjA1NjY0IDguNzYxNzJDNS4wNTY2NCA4LjU5NzY2IDUuMDMxMjUgOC40NTMxMiA0Ljk4MDQ3IDguMzI4MTJDNC45MzM1OSA4LjE5OTIyIDQuODU1NDcgOC4wODIwMyA0Ljc0NjA5IDcuOTc2NTZDNC42NDA2MiA3Ljg3MTA5IDQuNSA3Ljc3NTM5IDQuMzI0MjIgNy42ODk0NUM0LjE1MjM0IDcuNTk5NjEgMy45NDMzNiA3LjUxMTcyIDMuNjk3MjcgNy40MjU3OEMzLjMwMjczIDcuMjg1MTYgMi45NDMzNiA3LjEzNjcyIDIuNjE5MTQgNi45ODA0N0MyLjI5NDkyIDYuODI0MjIgMi4wMTc1OCA2LjY0MjU4IDEuNzg3MTEgNi40MzU1NUMxLjU2MDU1IDYuMjI4NTIgMS4zODQ3NyA1Ljk4ODI4IDEuMjU5NzcgNS43MTQ4NEMxLjEzNDc3IDUuNDM3NSAxLjA3MjI3IDUuMTA5MzggMS4wNzIyNyA0LjczMDQ3QzEuMDcyMjcgNC4zOTg0NCAxLjEyODkxIDQuMDk1NyAxLjI0MjE5IDMuODIyMjdDMS4zNTU0NyAzLjU0NDkyIDEuNTE1NjIgMy4zMDQ2OSAxLjcyMjY2IDMuMTAxNTZDMS45Mjk2OSAyLjg5ODQ0IDIuMTc5NjkgMi43MzQzNyAyLjQ3MjY2IDIuNjA5MzhDMi43NjU2MiAyLjQ4NDM4IDMuMDkxOCAyLjQwNDMgMy40NTExNyAyLjM2OTE0VjEuMTA5MzhINC4zODg2N1YyLjM4MDg2QzQuNzQwMjMgMi40Mjc3MyA1LjA1NjY0IDIuNTIzNDQgNS4zMzc4OSAyLjY2Nzk3QzUuNjE5MTQgMi44MTI1IDUuODU3NDIgMy4wMDE5NSA2LjA1MjczIDMuMjM2MzNDNi4yNTE5NSAzLjQ2NjggNi40MDQzIDMuNzQwMjMgNi41MDk3NyA0LjA1NjY0QzYuNjE5MTQgNC4zNjkxNCA2LjY3MzgzIDQuNzIwNyA2LjY3MzgzIDUuMTExMzNINS4wNDQ5MkM1LjA0NDkyIDQuNjM4NjcgNC45Mzc1IDQuMjgxMjUgNC43MjI2NiA0LjAzOTA2QzQuNTA3ODEgMy43OTI5NyA0LjIxNjggMy42Njk5MiAzLjg0OTYxIDMuNjY5OTJDMy42NTAzOSAzLjY2OTkyIDMuNDc2NTYgMy42OTcyNyAzLjMyODEyIDMuNzUxOTVDMy4xODM1OSAzLjgwMjczIDMuMDY0NDUgMy44NzY5NSAyLjk3MDcgMy45NzQ2MUMyLjg3Njk1IDQuMDY4MzYgMi44MDY2NCA0LjE3OTY5IDIuNzU5NzcgNC4zMDg1OUMyLjcxNjggNC40Mzc1IDIuNjk1MzEgNC41NzgxMiAyLjY5NTMxIDQuNzMwNDdDMi42OTUzMSA0Ljg4MjgxIDIuNzE2OCA1LjAxOTUzIDIuNzU5NzcgNS4xNDA2MkMyLjgwNjY0IDUuMjU3ODEgMi44ODI4MSA1LjM2NzE5IDIuOTg4MjggNS40Njg3NUMzLjA5NzY2IDUuNTcwMzEgMy4yNDAyMyA1LjY2Nzk3IDMuNDE2MDIgNS43NjE3MkMzLjU5MTggNS44NTE1NiAzLjgxMDU1IDUuOTQzMzYgNC4wNzIyNyA2LjAzNzExQzQuNDY2OCA2LjE4NTU1IDQuODI0MjIgNi4zMzk4NCA1LjE0NDUzIDYuNUM1LjQ2NDg0IDYuNjU2MjUgNS43MzgyOCA2LjgzOTg0IDUuOTY0ODQgNy4wNTA3OEM2LjE5NTMxIDcuMjU3ODEgNi4zNzEwOSA3LjUgNi40OTIxOSA3Ljc3NzM0QzYuNjE3MTkgOC4wNTA3OCA2LjY3OTY5IDguMzc1IDYuNjc5NjkgOC43NUM2LjY3OTY5IDkuMDkzNzUgNi42MjMwNSA5LjQwNDMgNi41MDk3NyA5LjY4MTY0QzYuMzk2NDggOS45NTUwOCA2LjIzNDM4IDEwLjE5MTQgNi4wMjM0NCAxMC4zOTA2QzUuODEyNSAxMC41ODk4IDUuNTU4NTkgMTAuNzUgNS4yNjE3MiAxMC44NzExQzQuOTY0ODQgMTAuOTg4MyA0LjYzMjgxIDExLjA2NDUgNC4yNjU2MiAxMS4wOTk2VjEyLjI0OEgzLjMzMzk4VjExLjA5OTZDMy4wMDE5NSAxMS4wNjg0IDIuNjc5NjkgMTAuOTk2MSAyLjM2NzE5IDEwLjg4MjhDMi4wNTQ2OSAxMC43NjU2IDEuNzc3MzQgMTAuNTk3NyAxLjUzNTE2IDEwLjM3ODlDMS4yOTY4OCAxMC4xNjAyIDEuMTA1NDcgOS44ODQ3NyAwLjk2MDkzOCA5LjU1MjczQzAuODE2NDA2IDkuMjE2OCAwLjc0NDE0MSA4LjgxNDQ1IDAuNzQ0MTQxIDguMzQ1N0gyLjM3ODkxQzIuMzc4OTEgOC42MjY5NSAyLjQxOTkyIDguODYzMjggMi41MDE5NSA5LjA1NDY5QzIuNTgzOTggOS4yNDIxOSAyLjY4OTQ1IDkuMzkyNTggMi44MTgzNiA5LjUwNTg2QzIuOTUxMTcgOS42MTUyMyAzLjEwMTU2IDkuNjkzMzYgMy4yNjk1MyA5Ljc0MDIzQzMuNDM3NSA5Ljc4NzExIDMuNjA5MzggOS44MTA1NSAzLjc4NTE2IDkuODEwNTVDNC4yMDMxMiA5LjgxMDU1IDQuNTE5NTMgOS43MTI4OSA0LjczNDM4IDkuNTE3NThDNC45NDkyMiA5LjMyMjI3IDUuMDU2NjQgOS4wNzAzMSA1LjA1NjY0IDguNzYxNzJaTTEzLjQxOCAxMi4yNzE1SDguMDc0MjJWMTFIMTMuNDE4VjEyLjI3MTVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjk1MjY0IDYpIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K);
+  --jp-icon-text-editor: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTUgMTVIM3YyaDEydi0yem0wLThIM3YyaDEyVjd6TTMgMTNoMTh2LTJIM3Yyem0wIDhoMTh2LTJIM3Yyek0zIDN2MmgxOFYzSDN6Ii8+Cjwvc3ZnPgo=);
+  --jp-icon-toc: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgoJPHBhdGggZD0iTTcsNUgyMVY3SDdWNU03LDEzVjExSDIxVjEzSDdNNCw0LjVBMS41LDEuNSAwIDAsMSA1LjUsNkExLjUsMS41IDAgMCwxIDQsNy41QTEuNSwxLjUgMCAwLDEgMi41LDZBMS41LDEuNSAwIDAsMSA0LDQuNU00LDEwLjVBMS41LDEuNSAwIDAsMSA1LjUsMTJBMS41LDEuNSAwIDAsMSA0LDEzLjVBMS41LDEuNSAwIDAsMSAyLjUsMTJBMS41LDEuNSAwIDAsMSA0LDEwLjVNNywxOVYxN0gyMVYxOUg3TTQsMTYuNUExLjUsMS41IDAgMCwxIDUuNSwxOEExLjUsMS41IDAgMCwxIDQsMTkuNUExLjUsMS41IDAgMCwxIDIuNSwxOEExLjUsMS41IDAgMCwxIDQsMTYuNVoiIC8+Cjwvc3ZnPgo=);
+  --jp-icon-tree-view: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMiAxMVYzaC03djNIOVYzSDJ2OGg3VjhoMnYxMGg0djNoN3YtOGgtN3YzaC0yVjhoMnYzeiIvPgogICAgPC9nPgo8L3N2Zz4=);
+  --jp-icon-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMiAxNy4xODQ0IDIuOTY5NjggMTQuMzAzMiAxLjg2MDk0IDExLjQ0MDlaIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiMzMzMzMzMiIHN0cm9rZT0iIzMzMzMzMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA5Ljg2NzE5KSIgZD0iTTIuODYwMTUgNC44NjUzNUwwLjcyNjU0OSAyLjk5OTU5TDAgMy42MzA0NUwyLjg2MDE1IDYuMTMxNTdMOCAwLjYzMDg3Mkw3LjI3ODU3IDBMMi44NjAxNSA0Ljg2NTM1WiIvPgo8L3N2Zz4K);
+  --jp-icon-undo: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjUgOGMtMi42NSAwLTUuMDUuOTktNi45IDIuNkwyIDd2OWg5bC0zLjYyLTMuNjJjMS4zOS0xLjE2IDMuMTYtMS44OCA1LjEyLTEuODggMy41NCAwIDYuNTUgMi4zMSA3LjYgNS41bDIuMzctLjc4QzIxLjA4IDExLjAzIDE3LjE1IDggMTIuNSA4eiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-vega: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbjEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjEyMTIxIj4KICAgIDxwYXRoIGQ9Ik0xMC42IDUuNGwyLjItMy4ySDIuMnY3LjNsNC02LjZ6Ii8+CiAgICA8cGF0aCBkPSJNMTUuOCAyLjJsLTQuNCA2LjZMNyA2LjNsLTQuOCA4djUuNWgxNy42VjIuMmgtNHptLTcgMTUuNEg1LjV2LTQuNGgzLjN2NC40em00LjQgMEg5LjhWOS44aDMuNHY3Ljh6bTQuNCAwaC0zLjRWNi41aDMuNHYxMS4xeiIvPgogIDwvZz4KPC9zdmc+Cg==);
+  --jp-icon-yaml: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1jb250cmFzdDIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjRDgxQjYwIj4KICAgIDxwYXRoIGQ9Ik03LjIgMTguNnYtNS40TDMgNS42aDMuM2wxLjQgMy4xYy4zLjkuNiAxLjYgMSAyLjUuMy0uOC42LTEuNiAxLTIuNWwxLjQtMy4xaDMuNGwtNC40IDcuNnY1LjVsLTIuOS0uMXoiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxNi41IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxMSIgcj0iMi4xIi8+CiAgPC9nPgo8L3N2Zz4K);
+}
+
+/* Icon CSS class declarations */
+
+.jp-AddIcon {
+  background-image: var(--jp-icon-add);
+}
+.jp-BugIcon {
+  background-image: var(--jp-icon-bug);
+}
+.jp-BuildIcon {
+  background-image: var(--jp-icon-build);
+}
+.jp-CaretDownEmptyIcon {
+  background-image: var(--jp-icon-caret-down-empty);
+}
+.jp-CaretDownEmptyThinIcon {
+  background-image: var(--jp-icon-caret-down-empty-thin);
+}
+.jp-CaretDownIcon {
+  background-image: var(--jp-icon-caret-down);
+}
+.jp-CaretLeftIcon {
+  background-image: var(--jp-icon-caret-left);
+}
+.jp-CaretRightIcon {
+  background-image: var(--jp-icon-caret-right);
+}
+.jp-CaretUpEmptyThinIcon {
+  background-image: var(--jp-icon-caret-up-empty-thin);
+}
+.jp-CaretUpIcon {
+  background-image: var(--jp-icon-caret-up);
+}
+.jp-CaseSensitiveIcon {
+  background-image: var(--jp-icon-case-sensitive);
+}
+.jp-CheckIcon {
+  background-image: var(--jp-icon-check);
+}
+.jp-CircleEmptyIcon {
+  background-image: var(--jp-icon-circle-empty);
+}
+.jp-CircleIcon {
+  background-image: var(--jp-icon-circle);
+}
+.jp-ClearIcon {
+  background-image: var(--jp-icon-clear);
+}
+.jp-CloseIcon {
+  background-image: var(--jp-icon-close);
+}
+.jp-CodeIcon {
+  background-image: var(--jp-icon-code);
+}
+.jp-ConsoleIcon {
+  background-image: var(--jp-icon-console);
+}
+.jp-CopyIcon {
+  background-image: var(--jp-icon-copy);
+}
+.jp-CutIcon {
+  background-image: var(--jp-icon-cut);
+}
+.jp-DownloadIcon {
+  background-image: var(--jp-icon-download);
+}
+.jp-EditIcon {
+  background-image: var(--jp-icon-edit);
+}
+.jp-EllipsesIcon {
+  background-image: var(--jp-icon-ellipses);
+}
+.jp-ExtensionIcon {
+  background-image: var(--jp-icon-extension);
+}
+.jp-FastForwardIcon {
+  background-image: var(--jp-icon-fast-forward);
+}
+.jp-FileIcon {
+  background-image: var(--jp-icon-file);
+}
+.jp-FileUploadIcon {
+  background-image: var(--jp-icon-file-upload);
+}
+.jp-FilterListIcon {
+  background-image: var(--jp-icon-filter-list);
+}
+.jp-FolderIcon {
+  background-image: var(--jp-icon-folder);
+}
+.jp-Html5Icon {
+  background-image: var(--jp-icon-html5);
+}
+.jp-ImageIcon {
+  background-image: var(--jp-icon-image);
+}
+.jp-InspectorIcon {
+  background-image: var(--jp-icon-inspector);
+}
+.jp-JsonIcon {
+  background-image: var(--jp-icon-json);
+}
+.jp-JupyterFaviconIcon {
+  background-image: var(--jp-icon-jupyter-favicon);
+}
+.jp-JupyterIcon {
+  background-image: var(--jp-icon-jupyter);
+}
+.jp-JupyterlabWordmarkIcon {
+  background-image: var(--jp-icon-jupyterlab-wordmark);
+}
+.jp-KernelIcon {
+  background-image: var(--jp-icon-kernel);
+}
+.jp-KeyboardIcon {
+  background-image: var(--jp-icon-keyboard);
+}
+.jp-LauncherIcon {
+  background-image: var(--jp-icon-launcher);
+}
+.jp-LineFormIcon {
+  background-image: var(--jp-icon-line-form);
+}
+.jp-LinkIcon {
+  background-image: var(--jp-icon-link);
+}
+.jp-ListIcon {
+  background-image: var(--jp-icon-list);
+}
+.jp-ListingsInfoIcon {
+  background-image: var(--jp-icon-listings-info);
+}
+.jp-MarkdownIcon {
+  background-image: var(--jp-icon-markdown);
+}
+.jp-NewFolderIcon {
+  background-image: var(--jp-icon-new-folder);
+}
+.jp-NotTrustedIcon {
+  background-image: var(--jp-icon-not-trusted);
+}
+.jp-NotebookIcon {
+  background-image: var(--jp-icon-notebook);
+}
+.jp-NumberingIcon {
+  background-image: var(--jp-icon-numbering);
+}
+.jp-OfflineBoltIcon {
+  background-image: var(--jp-icon-offline-bolt);
+}
+.jp-PaletteIcon {
+  background-image: var(--jp-icon-palette);
+}
+.jp-PasteIcon {
+  background-image: var(--jp-icon-paste);
+}
+.jp-PdfIcon {
+  background-image: var(--jp-icon-pdf);
+}
+.jp-PythonIcon {
+  background-image: var(--jp-icon-python);
+}
+.jp-RKernelIcon {
+  background-image: var(--jp-icon-r-kernel);
+}
+.jp-ReactIcon {
+  background-image: var(--jp-icon-react);
+}
+.jp-RedoIcon {
+  background-image: var(--jp-icon-redo);
+}
+.jp-RefreshIcon {
+  background-image: var(--jp-icon-refresh);
+}
+.jp-RegexIcon {
+  background-image: var(--jp-icon-regex);
+}
+.jp-RunIcon {
+  background-image: var(--jp-icon-run);
+}
+.jp-RunningIcon {
+  background-image: var(--jp-icon-running);
+}
+.jp-SaveIcon {
+  background-image: var(--jp-icon-save);
+}
+.jp-SearchIcon {
+  background-image: var(--jp-icon-search);
+}
+.jp-SettingsIcon {
+  background-image: var(--jp-icon-settings);
+}
+.jp-SpreadsheetIcon {
+  background-image: var(--jp-icon-spreadsheet);
+}
+.jp-StopIcon {
+  background-image: var(--jp-icon-stop);
+}
+.jp-TabIcon {
+  background-image: var(--jp-icon-tab);
+}
+.jp-TableRowsIcon {
+  background-image: var(--jp-icon-table-rows);
+}
+.jp-TagIcon {
+  background-image: var(--jp-icon-tag);
+}
+.jp-TerminalIcon {
+  background-image: var(--jp-icon-terminal);
+}
+.jp-TextEditorIcon {
+  background-image: var(--jp-icon-text-editor);
+}
+.jp-TocIcon {
+  background-image: var(--jp-icon-toc);
+}
+.jp-TreeViewIcon {
+  background-image: var(--jp-icon-tree-view);
+}
+.jp-TrustedIcon {
+  background-image: var(--jp-icon-trusted);
+}
+.jp-UndoIcon {
+  background-image: var(--jp-icon-undo);
+}
+.jp-VegaIcon {
+  background-image: var(--jp-icon-vega);
+}
+.jp-YamlIcon {
+  background-image: var(--jp-icon-yaml);
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/**
+ * (DEPRECATED) Support for consuming icons as CSS background images
+ */
+
+:root {
+  --jp-icon-search-white: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjEsMTAuOWgtMC43bC0wLjItMC4yYzAuOC0wLjksMS4zLTIuMiwxLjMtMy41YzAtMy0yLjQtNS40LTUuNC01LjRTMS44LDQuMiwxLjgsNy4xczIuNCw1LjQsNS40LDUuNCBjMS4zLDAsMi41LTAuNSwzLjUtMS4zbDAuMiwwLjJ2MC43bDQuMSw0LjFsMS4yLTEuMkwxMi4xLDEwLjl6IE03LjEsMTAuOWMtMi4xLDAtMy43LTEuNy0zLjctMy43czEuNy0zLjcsMy43LTMuN3MzLjcsMS43LDMuNywzLjcgUzkuMiwxMC45LDcuMSwxMC45eiIvPgogIDwvZz4KPC9zdmc+Cg==);
+}
+
+.jp-Icon,
+.jp-MaterialIcon {
+  background-position: center;
+  background-repeat: no-repeat;
+  background-size: 16px;
+  min-width: 16px;
+  min-height: 16px;
+}
+
+.jp-Icon-cover {
+  background-position: center;
+  background-repeat: no-repeat;
+  background-size: cover;
+}
+
+/**
+ * (DEPRECATED) Support for specific CSS icon sizes
+ */
+
+.jp-Icon-16 {
+  background-size: 16px;
+  min-width: 16px;
+  min-height: 16px;
+}
+
+.jp-Icon-18 {
+  background-size: 18px;
+  min-width: 18px;
+  min-height: 18px;
+}
+
+.jp-Icon-20 {
+  background-size: 20px;
+  min-width: 20px;
+  min-height: 20px;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/**
+ * Support for icons as inline SVG HTMLElements
+ */
+
+/* recolor the primary elements of an icon */
+.jp-icon0[fill] {
+  fill: var(--jp-inverse-layout-color0);
+}
+.jp-icon1[fill] {
+  fill: var(--jp-inverse-layout-color1);
+}
+.jp-icon2[fill] {
+  fill: var(--jp-inverse-layout-color2);
+}
+.jp-icon3[fill] {
+  fill: var(--jp-inverse-layout-color3);
+}
+.jp-icon4[fill] {
+  fill: var(--jp-inverse-layout-color4);
+}
+
+.jp-icon0[stroke] {
+  stroke: var(--jp-inverse-layout-color0);
+}
+.jp-icon1[stroke] {
+  stroke: var(--jp-inverse-layout-color1);
+}
+.jp-icon2[stroke] {
+  stroke: var(--jp-inverse-layout-color2);
+}
+.jp-icon3[stroke] {
+  stroke: var(--jp-inverse-layout-color3);
+}
+.jp-icon4[stroke] {
+  stroke: var(--jp-inverse-layout-color4);
+}
+/* recolor the accent elements of an icon */
+.jp-icon-accent0[fill] {
+  fill: var(--jp-layout-color0);
+}
+.jp-icon-accent1[fill] {
+  fill: var(--jp-layout-color1);
+}
+.jp-icon-accent2[fill] {
+  fill: var(--jp-layout-color2);
+}
+.jp-icon-accent3[fill] {
+  fill: var(--jp-layout-color3);
+}
+.jp-icon-accent4[fill] {
+  fill: var(--jp-layout-color4);
+}
+
+.jp-icon-accent0[stroke] {
+  stroke: var(--jp-layout-color0);
+}
+.jp-icon-accent1[stroke] {
+  stroke: var(--jp-layout-color1);
+}
+.jp-icon-accent2[stroke] {
+  stroke: var(--jp-layout-color2);
+}
+.jp-icon-accent3[stroke] {
+  stroke: var(--jp-layout-color3);
+}
+.jp-icon-accent4[stroke] {
+  stroke: var(--jp-layout-color4);
+}
+/* set the color of an icon to transparent */
+.jp-icon-none[fill] {
+  fill: none;
+}
+
+.jp-icon-none[stroke] {
+  stroke: none;
+}
+/* brand icon colors. Same for light and dark */
+.jp-icon-brand0[fill] {
+  fill: var(--jp-brand-color0);
+}
+.jp-icon-brand1[fill] {
+  fill: var(--jp-brand-color1);
+}
+.jp-icon-brand2[fill] {
+  fill: var(--jp-brand-color2);
+}
+.jp-icon-brand3[fill] {
+  fill: var(--jp-brand-color3);
+}
+.jp-icon-brand4[fill] {
+  fill: var(--jp-brand-color4);
+}
+
+.jp-icon-brand0[stroke] {
+  stroke: var(--jp-brand-color0);
+}
+.jp-icon-brand1[stroke] {
+  stroke: var(--jp-brand-color1);
+}
+.jp-icon-brand2[stroke] {
+  stroke: var(--jp-brand-color2);
+}
+.jp-icon-brand3[stroke] {
+  stroke: var(--jp-brand-color3);
+}
+.jp-icon-brand4[stroke] {
+  stroke: var(--jp-brand-color4);
+}
+/* warn icon colors. Same for light and dark */
+.jp-icon-warn0[fill] {
+  fill: var(--jp-warn-color0);
+}
+.jp-icon-warn1[fill] {
+  fill: var(--jp-warn-color1);
+}
+.jp-icon-warn2[fill] {
+  fill: var(--jp-warn-color2);
+}
+.jp-icon-warn3[fill] {
+  fill: var(--jp-warn-color3);
+}
+
+.jp-icon-warn0[stroke] {
+  stroke: var(--jp-warn-color0);
+}
+.jp-icon-warn1[stroke] {
+  stroke: var(--jp-warn-color1);
+}
+.jp-icon-warn2[stroke] {
+  stroke: var(--jp-warn-color2);
+}
+.jp-icon-warn3[stroke] {
+  stroke: var(--jp-warn-color3);
+}
+/* icon colors that contrast well with each other and most backgrounds */
+.jp-icon-contrast0[fill] {
+  fill: var(--jp-icon-contrast-color0);
+}
+.jp-icon-contrast1[fill] {
+  fill: var(--jp-icon-contrast-color1);
+}
+.jp-icon-contrast2[fill] {
+  fill: var(--jp-icon-contrast-color2);
+}
+.jp-icon-contrast3[fill] {
+  fill: var(--jp-icon-contrast-color3);
+}
+
+.jp-icon-contrast0[stroke] {
+  stroke: var(--jp-icon-contrast-color0);
+}
+.jp-icon-contrast1[stroke] {
+  stroke: var(--jp-icon-contrast-color1);
+}
+.jp-icon-contrast2[stroke] {
+  stroke: var(--jp-icon-contrast-color2);
+}
+.jp-icon-contrast3[stroke] {
+  stroke: var(--jp-icon-contrast-color3);
+}
+
+/* CSS for icons in selected items in the settings editor */
+#setting-editor .jp-PluginList .jp-mod-selected .jp-icon-selectable[fill] {
+  fill: #fff;
+}
+#setting-editor
+  .jp-PluginList
+  .jp-mod-selected
+  .jp-icon-selectable-inverse[fill] {
+  fill: var(--jp-brand-color1);
+}
+
+/* CSS for icons in selected filebrowser listing items */
+.jp-DirListing-item.jp-mod-selected .jp-icon-selectable[fill] {
+  fill: #fff;
+}
+.jp-DirListing-item.jp-mod-selected .jp-icon-selectable-inverse[fill] {
+  fill: var(--jp-brand-color1);
+}
+
+/* CSS for icons in selected tabs in the sidebar tab manager */
+#tab-manager .lm-TabBar-tab.jp-mod-active .jp-icon-selectable[fill] {
+  fill: #fff;
+}
+
+#tab-manager .lm-TabBar-tab.jp-mod-active .jp-icon-selectable-inverse[fill] {
+  fill: var(--jp-brand-color1);
+}
+#tab-manager
+  .lm-TabBar-tab.jp-mod-active
+  .jp-icon-hover
+  :hover
+  .jp-icon-selectable[fill] {
+  fill: var(--jp-brand-color1);
+}
+
+#tab-manager
+  .lm-TabBar-tab.jp-mod-active
+  .jp-icon-hover
+  :hover
+  .jp-icon-selectable-inverse[fill] {
+  fill: #fff;
+}
+
+/**
+ * TODO: come up with non css-hack solution for showing the busy icon on top
+ *  of the close icon
+ * CSS for complex behavior of close icon of tabs in the sidebar tab manager
+ */
+#tab-manager
+  .lm-TabBar-tab.jp-mod-dirty
+  > .lm-TabBar-tabCloseIcon
+  > :not(:hover)
+  > .jp-icon3[fill] {
+  fill: none;
+}
+#tab-manager
+  .lm-TabBar-tab.jp-mod-dirty
+  > .lm-TabBar-tabCloseIcon
+  > :not(:hover)
+  > .jp-icon-busy[fill] {
+  fill: var(--jp-inverse-layout-color3);
+}
+
+#tab-manager
+  .lm-TabBar-tab.jp-mod-dirty.jp-mod-active
+  > .lm-TabBar-tabCloseIcon
+  > :not(:hover)
+  > .jp-icon-busy[fill] {
+  fill: #fff;
+}
+
+/**
+* TODO: come up with non css-hack solution for showing the busy icon on top
+*  of the close icon
+* CSS for complex behavior of close icon of tabs in the main area tabbar
+*/
+.lm-DockPanel-tabBar
+  .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
+  > .lm-TabBar-tabCloseIcon
+  > :not(:hover)
+  > .jp-icon3[fill] {
+  fill: none;
+}
+.lm-DockPanel-tabBar
+  .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
+  > .lm-TabBar-tabCloseIcon
+  > :not(:hover)
+  > .jp-icon-busy[fill] {
+  fill: var(--jp-inverse-layout-color3);
+}
+
+/* CSS for icons in status bar */
+#jp-main-statusbar .jp-mod-selected .jp-icon-selectable[fill] {
+  fill: #fff;
+}
+
+#jp-main-statusbar .jp-mod-selected .jp-icon-selectable-inverse[fill] {
+  fill: var(--jp-brand-color1);
+}
+/* special handling for splash icon CSS. While the theme CSS reloads during
+   splash, the splash icon can loose theming. To prevent that, we set a
+   default for its color variable */
+:root {
+  --jp-warn-color0: var(--md-orange-700);
+}
+
+/* not sure what to do with this one, used in filebrowser listing */
+.jp-DragIcon {
+  margin-right: 4px;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/**
+ * Support for alt colors for icons as inline SVG HTMLElements
+ */
+
+/* alt recolor the primary elements of an icon */
+.jp-icon-alt .jp-icon0[fill] {
+  fill: var(--jp-layout-color0);
+}
+.jp-icon-alt .jp-icon1[fill] {
+  fill: var(--jp-layout-color1);
+}
+.jp-icon-alt .jp-icon2[fill] {
+  fill: var(--jp-layout-color2);
+}
+.jp-icon-alt .jp-icon3[fill] {
+  fill: var(--jp-layout-color3);
+}
+.jp-icon-alt .jp-icon4[fill] {
+  fill: var(--jp-layout-color4);
+}
+
+.jp-icon-alt .jp-icon0[stroke] {
+  stroke: var(--jp-layout-color0);
+}
+.jp-icon-alt .jp-icon1[stroke] {
+  stroke: var(--jp-layout-color1);
+}
+.jp-icon-alt .jp-icon2[stroke] {
+  stroke: var(--jp-layout-color2);
+}
+.jp-icon-alt .jp-icon3[stroke] {
+  stroke: var(--jp-layout-color3);
+}
+.jp-icon-alt .jp-icon4[stroke] {
+  stroke: var(--jp-layout-color4);
+}
+
+/* alt recolor the accent elements of an icon */
+.jp-icon-alt .jp-icon-accent0[fill] {
+  fill: var(--jp-inverse-layout-color0);
+}
+.jp-icon-alt .jp-icon-accent1[fill] {
+  fill: var(--jp-inverse-layout-color1);
+}
+.jp-icon-alt .jp-icon-accent2[fill] {
+  fill: var(--jp-inverse-layout-color2);
+}
+.jp-icon-alt .jp-icon-accent3[fill] {
+  fill: var(--jp-inverse-layout-color3);
+}
+.jp-icon-alt .jp-icon-accent4[fill] {
+  fill: var(--jp-inverse-layout-color4);
+}
+
+.jp-icon-alt .jp-icon-accent0[stroke] {
+  stroke: var(--jp-inverse-layout-color0);
+}
+.jp-icon-alt .jp-icon-accent1[stroke] {
+  stroke: var(--jp-inverse-layout-color1);
+}
+.jp-icon-alt .jp-icon-accent2[stroke] {
+  stroke: var(--jp-inverse-layout-color2);
+}
+.jp-icon-alt .jp-icon-accent3[stroke] {
+  stroke: var(--jp-inverse-layout-color3);
+}
+.jp-icon-alt .jp-icon-accent4[stroke] {
+  stroke: var(--jp-inverse-layout-color4);
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-icon-hoverShow:not(:hover) svg {
+  display: none !important;
+}
+
+/**
+ * Support for hover colors for icons as inline SVG HTMLElements
+ */
+
+/**
+ * regular colors
+ */
+
+/* recolor the primary elements of an icon */
+.jp-icon-hover :hover .jp-icon0-hover[fill] {
+  fill: var(--jp-inverse-layout-color0);
+}
+.jp-icon-hover :hover .jp-icon1-hover[fill] {
+  fill: var(--jp-inverse-layout-color1);
+}
+.jp-icon-hover :hover .jp-icon2-hover[fill] {
+  fill: var(--jp-inverse-layout-color2);
+}
+.jp-icon-hover :hover .jp-icon3-hover[fill] {
+  fill: var(--jp-inverse-layout-color3);
+}
+.jp-icon-hover :hover .jp-icon4-hover[fill] {
+  fill: var(--jp-inverse-layout-color4);
+}
+
+.jp-icon-hover :hover .jp-icon0-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color0);
+}
+.jp-icon-hover :hover .jp-icon1-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color1);
+}
+.jp-icon-hover :hover .jp-icon2-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color2);
+}
+.jp-icon-hover :hover .jp-icon3-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color3);
+}
+.jp-icon-hover :hover .jp-icon4-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color4);
+}
+
+/* recolor the accent elements of an icon */
+.jp-icon-hover :hover .jp-icon-accent0-hover[fill] {
+  fill: var(--jp-layout-color0);
+}
+.jp-icon-hover :hover .jp-icon-accent1-hover[fill] {
+  fill: var(--jp-layout-color1);
+}
+.jp-icon-hover :hover .jp-icon-accent2-hover[fill] {
+  fill: var(--jp-layout-color2);
+}
+.jp-icon-hover :hover .jp-icon-accent3-hover[fill] {
+  fill: var(--jp-layout-color3);
+}
+.jp-icon-hover :hover .jp-icon-accent4-hover[fill] {
+  fill: var(--jp-layout-color4);
+}
+
+.jp-icon-hover :hover .jp-icon-accent0-hover[stroke] {
+  stroke: var(--jp-layout-color0);
+}
+.jp-icon-hover :hover .jp-icon-accent1-hover[stroke] {
+  stroke: var(--jp-layout-color1);
+}
+.jp-icon-hover :hover .jp-icon-accent2-hover[stroke] {
+  stroke: var(--jp-layout-color2);
+}
+.jp-icon-hover :hover .jp-icon-accent3-hover[stroke] {
+  stroke: var(--jp-layout-color3);
+}
+.jp-icon-hover :hover .jp-icon-accent4-hover[stroke] {
+  stroke: var(--jp-layout-color4);
+}
+
+/* set the color of an icon to transparent */
+.jp-icon-hover :hover .jp-icon-none-hover[fill] {
+  fill: none;
+}
+
+.jp-icon-hover :hover .jp-icon-none-hover[stroke] {
+  stroke: none;
+}
+
+/**
+ * inverse colors
+ */
+
+/* inverse recolor the primary elements of an icon */
+.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[fill] {
+  fill: var(--jp-layout-color0);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[fill] {
+  fill: var(--jp-layout-color1);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[fill] {
+  fill: var(--jp-layout-color2);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[fill] {
+  fill: var(--jp-layout-color3);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[fill] {
+  fill: var(--jp-layout-color4);
+}
+
+.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[stroke] {
+  stroke: var(--jp-layout-color0);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[stroke] {
+  stroke: var(--jp-layout-color1);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[stroke] {
+  stroke: var(--jp-layout-color2);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[stroke] {
+  stroke: var(--jp-layout-color3);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[stroke] {
+  stroke: var(--jp-layout-color4);
+}
+
+/* inverse recolor the accent elements of an icon */
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[fill] {
+  fill: var(--jp-inverse-layout-color0);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[fill] {
+  fill: var(--jp-inverse-layout-color1);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[fill] {
+  fill: var(--jp-inverse-layout-color2);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[fill] {
+  fill: var(--jp-inverse-layout-color3);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[fill] {
+  fill: var(--jp-inverse-layout-color4);
+}
+
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color0);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color1);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color2);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color3);
+}
+.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[stroke] {
+  stroke: var(--jp-inverse-layout-color4);
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-switch {
+  display: flex;
+  align-items: center;
+  padding-left: 4px;
+  padding-right: 4px;
+  font-size: var(--jp-ui-font-size1);
+  background-color: transparent;
+  color: var(--jp-ui-font-color1);
+  border: none;
+  height: 20px;
+}
+
+.jp-switch:hover {
+  background-color: var(--jp-layout-color2);
+}
+
+.jp-switch-label {
+  margin-right: 5px;
+}
+
+.jp-switch-track {
+  cursor: pointer;
+  background-color: var(--jp-border-color1);
+  -webkit-transition: 0.4s;
+  transition: 0.4s;
+  border-radius: 34px;
+  height: 16px;
+  width: 35px;
+  position: relative;
+}
+
+.jp-switch-track::before {
+  content: '';
+  position: absolute;
+  height: 10px;
+  width: 10px;
+  margin: 3px;
+  left: 0px;
+  background-color: var(--jp-ui-inverse-font-color1);
+  -webkit-transition: 0.4s;
+  transition: 0.4s;
+  border-radius: 50%;
+}
+
+.jp-switch[aria-checked='true'] .jp-switch-track {
+  background-color: var(--jp-warn-color0);
+}
+
+.jp-switch[aria-checked='true'] .jp-switch-track::before {
+  /* track width (35) - margins (3 + 3) - thumb width (10) */
+  left: 19px;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/* Sibling imports */
+
+/* Override Blueprint's _reset.scss styles */
+html {
+  box-sizing: unset;
+}
+
+*,
+*::before,
+*::after {
+  box-sizing: unset;
+}
+
+body {
+  color: unset;
+  font-family: var(--jp-ui-font-family);
+}
+
+p {
+  margin-top: unset;
+  margin-bottom: unset;
+}
+
+small {
+  font-size: unset;
+}
+
+strong {
+  font-weight: unset;
+}
+
+/* Override Blueprint's _typography.scss styles */
+a {
+  text-decoration: unset;
+  color: unset;
+}
+a:hover {
+  text-decoration: unset;
+  color: unset;
+}
+
+/* Override Blueprint's _accessibility.scss styles */
+:focus {
+  outline: unset;
+  outline-offset: unset;
+  -moz-outline-radius: unset;
+}
+
+/* Styles for ui-components */
+.jp-Button {
+  border-radius: var(--jp-border-radius);
+  padding: 0px 12px;
+  font-size: var(--jp-ui-font-size1);
+}
+
+/* Use our own theme for hover styles */
+button.jp-Button.bp3-button.bp3-minimal:hover {
+  background-color: var(--jp-layout-color2);
+}
+.jp-Button.minimal {
+  color: unset !important;
+}
+
+.jp-Button.jp-ToolbarButtonComponent {
+  text-transform: none;
+}
+
+.jp-InputGroup input {
+  box-sizing: border-box;
+  border-radius: 0;
+  background-color: transparent;
+  color: var(--jp-ui-font-color0);
+  box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
+}
+
+.jp-InputGroup input:focus {
+  box-shadow: inset 0 0 0 var(--jp-border-width)
+      var(--jp-input-active-box-shadow-color),
+    inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
+}
+
+.jp-InputGroup input::placeholder,
+input::placeholder {
+  color: var(--jp-ui-font-color3);
+}
+
+.jp-BPIcon {
+  display: inline-block;
+  vertical-align: middle;
+  margin: auto;
+}
+
+/* Stop blueprint futzing with our icon fills */
+.bp3-icon.jp-BPIcon > svg:not([fill]) {
+  fill: var(--jp-inverse-layout-color3);
+}
+
+.jp-InputGroupAction {
+  padding: 6px;
+}
+
+.jp-HTMLSelect.jp-DefaultStyle select {
+  background-color: initial;
+  border: none;
+  border-radius: 0;
+  box-shadow: none;
+  color: var(--jp-ui-font-color0);
+  display: block;
+  font-size: var(--jp-ui-font-size1);
+  height: 24px;
+  line-height: 14px;
+  padding: 0 25px 0 10px;
+  text-align: left;
+  -moz-appearance: none;
+  -webkit-appearance: none;
+}
+
+/* Use our own theme for hover and option styles */
+.jp-HTMLSelect.jp-DefaultStyle select:hover,
+.jp-HTMLSelect.jp-DefaultStyle select > option {
+  background-color: var(--jp-layout-color2);
+  color: var(--jp-ui-font-color0);
+}
+select {
+  box-sizing: border-box;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-Collapse {
+  display: flex;
+  flex-direction: column;
+  align-items: stretch;
+  border-top: 1px solid var(--jp-border-color2);
+  border-bottom: 1px solid var(--jp-border-color2);
+}
+
+.jp-Collapse-header {
+  padding: 1px 12px;
+  color: var(--jp-ui-font-color1);
+  background-color: var(--jp-layout-color1);
+  font-size: var(--jp-ui-font-size2);
+}
+
+.jp-Collapse-header:hover {
+  background-color: var(--jp-layout-color2);
+}
+
+.jp-Collapse-contents {
+  padding: 0px 12px 0px 12px;
+  background-color: var(--jp-layout-color1);
+  color: var(--jp-ui-font-color1);
+  overflow: auto;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Variables
+|----------------------------------------------------------------------------*/
+
+:root {
+  --jp-private-commandpalette-search-height: 28px;
+}
+
+/*-----------------------------------------------------------------------------
+| Overall styles
+|----------------------------------------------------------------------------*/
+
+.lm-CommandPalette {
+  padding-bottom: 0px;
+  color: var(--jp-ui-font-color1);
+  background: var(--jp-layout-color1);
+  /* This is needed so that all font sizing of children done in ems is
+   * relative to this base size */
+  font-size: var(--jp-ui-font-size1);
+}
+
+/*-----------------------------------------------------------------------------
+| Modal variant
+|----------------------------------------------------------------------------*/
+
+.jp-ModalCommandPalette {
+  position: absolute;
+  z-index: 10000;
+  top: 38px;
+  left: 30%;
+  margin: 0;
+  padding: 4px;
+  width: 40%;
+  box-shadow: var(--jp-elevation-z4);
+  border-radius: 4px;
+  background: var(--jp-layout-color0);
+}
+
+.jp-ModalCommandPalette .lm-CommandPalette {
+  max-height: 40vh;
+}
+
+.jp-ModalCommandPalette .lm-CommandPalette .lm-close-icon::after {
+  display: none;
+}
+
+.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-header {
+  display: none;
+}
+
+.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-item {
+  margin-left: 4px;
+  margin-right: 4px;
+}
+
+.jp-ModalCommandPalette
+  .lm-CommandPalette
+  .lm-CommandPalette-item.lm-mod-disabled {
+  display: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Search
+|----------------------------------------------------------------------------*/
+
+.lm-CommandPalette-search {
+  padding: 4px;
+  background-color: var(--jp-layout-color1);
+  z-index: 2;
+}
+
+.lm-CommandPalette-wrapper {
+  overflow: overlay;
+  padding: 0px 9px;
+  background-color: var(--jp-input-active-background);
+  height: 30px;
+  box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
+}
+
+.lm-CommandPalette.lm-mod-focused .lm-CommandPalette-wrapper {
+  box-shadow: inset 0 0 0 1px var(--jp-input-active-box-shadow-color),
+    inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
+}
+
+.lm-CommandPalette-wrapper::after {
+  content: ' ';
+  color: white;
+  background-color: var(--jp-brand-color1);
+  position: absolute;
+  top: 4px;
+  right: 4px;
+  height: 30px;
+  width: 10px;
+  padding: 0px 10px;
+  background-image: var(--jp-icon-search-white);
+  background-size: 20px;
+  background-repeat: no-repeat;
+  background-position: center;
+}
+
+.lm-CommandPalette-input {
+  background: transparent;
+  width: calc(100% - 18px);
+  float: left;
+  border: none;
+  outline: none;
+  font-size: var(--jp-ui-font-size1);
+  color: var(--jp-ui-font-color0);
+  line-height: var(--jp-private-commandpalette-search-height);
+}
+
+.lm-CommandPalette-input::-webkit-input-placeholder,
+.lm-CommandPalette-input::-moz-placeholder,
+.lm-CommandPalette-input:-ms-input-placeholder {
+  color: var(--jp-ui-font-color3);
+  font-size: var(--jp-ui-font-size1);
+}
+
+/*-----------------------------------------------------------------------------
+| Results
+|----------------------------------------------------------------------------*/
+
+.lm-CommandPalette-header:first-child {
+  margin-top: 0px;
+}
+
+.lm-CommandPalette-header {
+  border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
+  color: var(--jp-ui-font-color1);
+  cursor: pointer;
+  display: flex;
+  font-size: var(--jp-ui-font-size0);
+  font-weight: 600;
+  letter-spacing: 1px;
+  margin-top: 8px;
+  padding: 8px 0 8px 12px;
+  text-transform: uppercase;
+}
+
+.lm-CommandPalette-header.lm-mod-active {
+  background: var(--jp-layout-color2);
+}
+
+.lm-CommandPalette-header > mark {
+  background-color: transparent;
+  font-weight: bold;
+  color: var(--jp-ui-font-color1);
+}
+
+.lm-CommandPalette-item {
+  padding: 4px 12px 4px 4px;
+  color: var(--jp-ui-font-color1);
+  font-size: var(--jp-ui-font-size1);
+  font-weight: 400;
+  display: flex;
+}
+
+.lm-CommandPalette-item.lm-mod-disabled {
+  color: var(--jp-ui-font-color3);
+}
+
+.lm-CommandPalette-item.lm-mod-active {
+  background: var(--jp-layout-color3);
+}
+
+.lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) {
+  background: var(--jp-layout-color4);
+}
+
+.lm-CommandPalette-item:hover:not(.lm-mod-active):not(.lm-mod-disabled) {
+  background: var(--jp-layout-color2);
+}
+
+.lm-CommandPalette-itemContent {
+  overflow: hidden;
+}
+
+.lm-CommandPalette-itemLabel > mark {
+  color: var(--jp-ui-font-color0);
+  background-color: transparent;
+  font-weight: bold;
+}
+
+.lm-CommandPalette-item.lm-mod-disabled mark {
+  color: var(--jp-ui-font-color3);
+}
+
+.lm-CommandPalette-item .lm-CommandPalette-itemIcon {
+  margin: 0 4px 0 0;
+  position: relative;
+  width: 16px;
+  top: 2px;
+  flex: 0 0 auto;
+}
+
+.lm-CommandPalette-item.lm-mod-disabled .lm-CommandPalette-itemIcon {
+  opacity: 0.4;
+}
+
+.lm-CommandPalette-item .lm-CommandPalette-itemShortcut {
+  flex: 0 0 auto;
+}
+
+.lm-CommandPalette-itemCaption {
+  display: none;
+}
+
+.lm-CommandPalette-content {
+  background-color: var(--jp-layout-color1);
+}
+
+.lm-CommandPalette-content:empty:after {
+  content: 'No results';
+  margin: auto;
+  margin-top: 20px;
+  width: 100px;
+  display: block;
+  font-size: var(--jp-ui-font-size2);
+  font-family: var(--jp-ui-font-family);
+  font-weight: lighter;
+}
+
+.lm-CommandPalette-emptyMessage {
+  text-align: center;
+  margin-top: 24px;
+  line-height: 1.32;
+  padding: 0px 8px;
+  color: var(--jp-content-font-color3);
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) 2014-2017, Jupyter Development Team.
+|
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-Dialog {
+  position: absolute;
+  z-index: 10000;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  top: 0px;
+  left: 0px;
+  margin: 0;
+  padding: 0;
+  width: 100%;
+  height: 100%;
+  background: var(--jp-dialog-background);
+}
+
+.jp-Dialog-content {
+  display: flex;
+  flex-direction: column;
+  margin-left: auto;
+  margin-right: auto;
+  background: var(--jp-layout-color1);
+  padding: 24px;
+  padding-bottom: 12px;
+  min-width: 300px;
+  min-height: 150px;
+  max-width: 1000px;
+  max-height: 500px;
+  box-sizing: border-box;
+  box-shadow: var(--jp-elevation-z20);
+  word-wrap: break-word;
+  border-radius: var(--jp-border-radius);
+  /* This is needed so that all font sizing of children done in ems is
+   * relative to this base size */
+  font-size: var(--jp-ui-font-size1);
+  color: var(--jp-ui-font-color1);
+  resize: both;
+}
+
+.jp-Dialog-button {
+  overflow: visible;
+}
+
+button.jp-Dialog-button:focus {
+  outline: 1px solid var(--jp-brand-color1);
+  outline-offset: 4px;
+  -moz-outline-radius: 0px;
+}
+
+button.jp-Dialog-button:focus::-moz-focus-inner {
+  border: 0;
+}
+
+button.jp-Dialog-close-button {
+  padding: 0;
+  height: 100%;
+  min-width: unset;
+  min-height: unset;
+}
+
+.jp-Dialog-header {
+  display: flex;
+  justify-content: space-between;
+  flex: 0 0 auto;
+  padding-bottom: 12px;
+  font-size: var(--jp-ui-font-size3);
+  font-weight: 400;
+  color: var(--jp-ui-font-color0);
+}
+
+.jp-Dialog-body {
+  display: flex;
+  flex-direction: column;
+  flex: 1 1 auto;
+  font-size: var(--jp-ui-font-size1);
+  background: var(--jp-layout-color1);
+  overflow: auto;
+}
+
+.jp-Dialog-footer {
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-end;
+  flex: 0 0 auto;
+  margin-left: -12px;
+  margin-right: -12px;
+  padding: 12px;
+}
+
+.jp-Dialog-title {
+  overflow: hidden;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+}
+
+.jp-Dialog-body > .jp-select-wrapper {
+  width: 100%;
+}
+
+.jp-Dialog-body > button {
+  padding: 0px 16px;
+}
+
+.jp-Dialog-body > label {
+  line-height: 1.4;
+  color: var(--jp-ui-font-color0);
+}
+
+.jp-Dialog-button.jp-mod-styled:not(:last-child) {
+  margin-right: 12px;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) 2014-2016, Jupyter Development Team.
+|
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-HoverBox {
+  position: fixed;
+}
+
+.jp-HoverBox.jp-mod-outofview {
+  display: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-IFrame {
+  width: 100%;
+  height: 100%;
+}
+
+.jp-IFrame > iframe {
+  border: none;
+}
+
+/*
+When drag events occur, `p-mod-override-cursor` is added to the body.
+Because iframes steal all cursor events, the following two rules are necessary
+to suppress pointer events while resize drags are occurring. There may be a
+better solution to this problem.
+*/
+body.lm-mod-override-cursor .jp-IFrame {
+  position: relative;
+}
+
+body.lm-mod-override-cursor .jp-IFrame:before {
+  content: '';
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background: transparent;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) 2014-2016, Jupyter Development Team.
+|
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-MainAreaWidget > :focus {
+  outline: none;
+}
+
+/**
+ * google-material-color v1.2.6
+ * https://github.com/danlevan/google-material-color
+ */
+:root {
+  --md-red-50: #ffebee;
+  --md-red-100: #ffcdd2;
+  --md-red-200: #ef9a9a;
+  --md-red-300: #e57373;
+  --md-red-400: #ef5350;
+  --md-red-500: #f44336;
+  --md-red-600: #e53935;
+  --md-red-700: #d32f2f;
+  --md-red-800: #c62828;
+  --md-red-900: #b71c1c;
+  --md-red-A100: #ff8a80;
+  --md-red-A200: #ff5252;
+  --md-red-A400: #ff1744;
+  --md-red-A700: #d50000;
+
+  --md-pink-50: #fce4ec;
+  --md-pink-100: #f8bbd0;
+  --md-pink-200: #f48fb1;
+  --md-pink-300: #f06292;
+  --md-pink-400: #ec407a;
+  --md-pink-500: #e91e63;
+  --md-pink-600: #d81b60;
+  --md-pink-700: #c2185b;
+  --md-pink-800: #ad1457;
+  --md-pink-900: #880e4f;
+  --md-pink-A100: #ff80ab;
+  --md-pink-A200: #ff4081;
+  --md-pink-A400: #f50057;
+  --md-pink-A700: #c51162;
+
+  --md-purple-50: #f3e5f5;
+  --md-purple-100: #e1bee7;
+  --md-purple-200: #ce93d8;
+  --md-purple-300: #ba68c8;
+  --md-purple-400: #ab47bc;
+  --md-purple-500: #9c27b0;
+  --md-purple-600: #8e24aa;
+  --md-purple-700: #7b1fa2;
+  --md-purple-800: #6a1b9a;
+  --md-purple-900: #4a148c;
+  --md-purple-A100: #ea80fc;
+  --md-purple-A200: #e040fb;
+  --md-purple-A400: #d500f9;
+  --md-purple-A700: #aa00ff;
+
+  --md-deep-purple-50: #ede7f6;
+  --md-deep-purple-100: #d1c4e9;
+  --md-deep-purple-200: #b39ddb;
+  --md-deep-purple-300: #9575cd;
+  --md-deep-purple-400: #7e57c2;
+  --md-deep-purple-500: #673ab7;
+  --md-deep-purple-600: #5e35b1;
+  --md-deep-purple-700: #512da8;
+  --md-deep-purple-800: #4527a0;
+  --md-deep-purple-900: #311b92;
+  --md-deep-purple-A100: #b388ff;
+  --md-deep-purple-A200: #7c4dff;
+  --md-deep-purple-A400: #651fff;
+  --md-deep-purple-A700: #6200ea;
+
+  --md-indigo-50: #e8eaf6;
+  --md-indigo-100: #c5cae9;
+  --md-indigo-200: #9fa8da;
+  --md-indigo-300: #7986cb;
+  --md-indigo-400: #5c6bc0;
+  --md-indigo-500: #3f51b5;
+  --md-indigo-600: #3949ab;
+  --md-indigo-700: #303f9f;
+  --md-indigo-800: #283593;
+  --md-indigo-900: #1a237e;
+  --md-indigo-A100: #8c9eff;
+  --md-indigo-A200: #536dfe;
+  --md-indigo-A400: #3d5afe;
+  --md-indigo-A700: #304ffe;
+
+  --md-blue-50: #e3f2fd;
+  --md-blue-100: #bbdefb;
+  --md-blue-200: #90caf9;
+  --md-blue-300: #64b5f6;
+  --md-blue-400: #42a5f5;
+  --md-blue-500: #2196f3;
+  --md-blue-600: #1e88e5;
+  --md-blue-700: #1976d2;
+  --md-blue-800: #1565c0;
+  --md-blue-900: #0d47a1;
+  --md-blue-A100: #82b1ff;
+  --md-blue-A200: #448aff;
+  --md-blue-A400: #2979ff;
+  --md-blue-A700: #2962ff;
+
+  --md-light-blue-50: #e1f5fe;
+  --md-light-blue-100: #b3e5fc;
+  --md-light-blue-200: #81d4fa;
+  --md-light-blue-300: #4fc3f7;
+  --md-light-blue-400: #29b6f6;
+  --md-light-blue-500: #03a9f4;
+  --md-light-blue-600: #039be5;
+  --md-light-blue-700: #0288d1;
+  --md-light-blue-800: #0277bd;
+  --md-light-blue-900: #01579b;
+  --md-light-blue-A100: #80d8ff;
+  --md-light-blue-A200: #40c4ff;
+  --md-light-blue-A400: #00b0ff;
+  --md-light-blue-A700: #0091ea;
+
+  --md-cyan-50: #e0f7fa;
+  --md-cyan-100: #b2ebf2;
+  --md-cyan-200: #80deea;
+  --md-cyan-300: #4dd0e1;
+  --md-cyan-400: #26c6da;
+  --md-cyan-500: #00bcd4;
+  --md-cyan-600: #00acc1;
+  --md-cyan-700: #0097a7;
+  --md-cyan-800: #00838f;
+  --md-cyan-900: #006064;
+  --md-cyan-A100: #84ffff;
+  --md-cyan-A200: #18ffff;
+  --md-cyan-A400: #00e5ff;
+  --md-cyan-A700: #00b8d4;
+
+  --md-teal-50: #e0f2f1;
+  --md-teal-100: #b2dfdb;
+  --md-teal-200: #80cbc4;
+  --md-teal-300: #4db6ac;
+  --md-teal-400: #26a69a;
+  --md-teal-500: #009688;
+  --md-teal-600: #00897b;
+  --md-teal-700: #00796b;
+  --md-teal-800: #00695c;
+  --md-teal-900: #004d40;
+  --md-teal-A100: #a7ffeb;
+  --md-teal-A200: #64ffda;
+  --md-teal-A400: #1de9b6;
+  --md-teal-A700: #00bfa5;
+
+  --md-green-50: #e8f5e9;
+  --md-green-100: #c8e6c9;
+  --md-green-200: #a5d6a7;
+  --md-green-300: #81c784;
+  --md-green-400: #66bb6a;
+  --md-green-500: #4caf50;
+  --md-green-600: #43a047;
+  --md-green-700: #388e3c;
+  --md-green-800: #2e7d32;
+  --md-green-900: #1b5e20;
+  --md-green-A100: #b9f6ca;
+  --md-green-A200: #69f0ae;
+  --md-green-A400: #00e676;
+  --md-green-A700: #00c853;
+
+  --md-light-green-50: #f1f8e9;
+  --md-light-green-100: #dcedc8;
+  --md-light-green-200: #c5e1a5;
+  --md-light-green-300: #aed581;
+  --md-light-green-400: #9ccc65;
+  --md-light-green-500: #8bc34a;
+  --md-light-green-600: #7cb342;
+  --md-light-green-700: #689f38;
+  --md-light-green-800: #558b2f;
+  --md-light-green-900: #33691e;
+  --md-light-green-A100: #ccff90;
+  --md-light-green-A200: #b2ff59;
+  --md-light-green-A400: #76ff03;
+  --md-light-green-A700: #64dd17;
+
+  --md-lime-50: #f9fbe7;
+  --md-lime-100: #f0f4c3;
+  --md-lime-200: #e6ee9c;
+  --md-lime-300: #dce775;
+  --md-lime-400: #d4e157;
+  --md-lime-500: #cddc39;
+  --md-lime-600: #c0ca33;
+  --md-lime-700: #afb42b;
+  --md-lime-800: #9e9d24;
+  --md-lime-900: #827717;
+  --md-lime-A100: #f4ff81;
+  --md-lime-A200: #eeff41;
+  --md-lime-A400: #c6ff00;
+  --md-lime-A700: #aeea00;
+
+  --md-yellow-50: #fffde7;
+  --md-yellow-100: #fff9c4;
+  --md-yellow-200: #fff59d;
+  --md-yellow-300: #fff176;
+  --md-yellow-400: #ffee58;
+  --md-yellow-500: #ffeb3b;
+  --md-yellow-600: #fdd835;
+  --md-yellow-700: #fbc02d;
+  --md-yellow-800: #f9a825;
+  --md-yellow-900: #f57f17;
+  --md-yellow-A100: #ffff8d;
+  --md-yellow-A200: #ffff00;
+  --md-yellow-A400: #ffea00;
+  --md-yellow-A700: #ffd600;
+
+  --md-amber-50: #fff8e1;
+  --md-amber-100: #ffecb3;
+  --md-amber-200: #ffe082;
+  --md-amber-300: #ffd54f;
+  --md-amber-400: #ffca28;
+  --md-amber-500: #ffc107;
+  --md-amber-600: #ffb300;
+  --md-amber-700: #ffa000;
+  --md-amber-800: #ff8f00;
+  --md-amber-900: #ff6f00;
+  --md-amber-A100: #ffe57f;
+  --md-amber-A200: #ffd740;
+  --md-amber-A400: #ffc400;
+  --md-amber-A700: #ffab00;
+
+  --md-orange-50: #fff3e0;
+  --md-orange-100: #ffe0b2;
+  --md-orange-200: #ffcc80;
+  --md-orange-300: #ffb74d;
+  --md-orange-400: #ffa726;
+  --md-orange-500: #ff9800;
+  --md-orange-600: #fb8c00;
+  --md-orange-700: #f57c00;
+  --md-orange-800: #ef6c00;
+  --md-orange-900: #e65100;
+  --md-orange-A100: #ffd180;
+  --md-orange-A200: #ffab40;
+  --md-orange-A400: #ff9100;
+  --md-orange-A700: #ff6d00;
+
+  --md-deep-orange-50: #fbe9e7;
+  --md-deep-orange-100: #ffccbc;
+  --md-deep-orange-200: #ffab91;
+  --md-deep-orange-300: #ff8a65;
+  --md-deep-orange-400: #ff7043;
+  --md-deep-orange-500: #ff5722;
+  --md-deep-orange-600: #f4511e;
+  --md-deep-orange-700: #e64a19;
+  --md-deep-orange-800: #d84315;
+  --md-deep-orange-900: #bf360c;
+  --md-deep-orange-A100: #ff9e80;
+  --md-deep-orange-A200: #ff6e40;
+  --md-deep-orange-A400: #ff3d00;
+  --md-deep-orange-A700: #dd2c00;
+
+  --md-brown-50: #efebe9;
+  --md-brown-100: #d7ccc8;
+  --md-brown-200: #bcaaa4;
+  --md-brown-300: #a1887f;
+  --md-brown-400: #8d6e63;
+  --md-brown-500: #795548;
+  --md-brown-600: #6d4c41;
+  --md-brown-700: #5d4037;
+  --md-brown-800: #4e342e;
+  --md-brown-900: #3e2723;
+
+  --md-grey-50: #fafafa;
+  --md-grey-100: #f5f5f5;
+  --md-grey-200: #eeeeee;
+  --md-grey-300: #e0e0e0;
+  --md-grey-400: #bdbdbd;
+  --md-grey-500: #9e9e9e;
+  --md-grey-600: #757575;
+  --md-grey-700: #616161;
+  --md-grey-800: #424242;
+  --md-grey-900: #212121;
+
+  --md-blue-grey-50: #eceff1;
+  --md-blue-grey-100: #cfd8dc;
+  --md-blue-grey-200: #b0bec5;
+  --md-blue-grey-300: #90a4ae;
+  --md-blue-grey-400: #78909c;
+  --md-blue-grey-500: #607d8b;
+  --md-blue-grey-600: #546e7a;
+  --md-blue-grey-700: #455a64;
+  --md-blue-grey-800: #37474f;
+  --md-blue-grey-900: #263238;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) 2017, Jupyter Development Team.
+|
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-Spinner {
+  position: absolute;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  z-index: 10;
+  left: 0;
+  top: 0;
+  width: 100%;
+  height: 100%;
+  background: var(--jp-layout-color0);
+  outline: none;
+}
+
+.jp-SpinnerContent {
+  font-size: 10px;
+  margin: 50px auto;
+  text-indent: -9999em;
+  width: 3em;
+  height: 3em;
+  border-radius: 50%;
+  background: var(--jp-brand-color3);
+  background: linear-gradient(
+    to right,
+    #f37626 10%,
+    rgba(255, 255, 255, 0) 42%
+  );
+  position: relative;
+  animation: load3 1s infinite linear, fadeIn 1s;
+}
+
+.jp-SpinnerContent:before {
+  width: 50%;
+  height: 50%;
+  background: #f37626;
+  border-radius: 100% 0 0 0;
+  position: absolute;
+  top: 0;
+  left: 0;
+  content: '';
+}
+
+.jp-SpinnerContent:after {
+  background: var(--jp-layout-color0);
+  width: 75%;
+  height: 75%;
+  border-radius: 50%;
+  content: '';
+  margin: auto;
+  position: absolute;
+  top: 0;
+  left: 0;
+  bottom: 0;
+  right: 0;
+}
+
+@keyframes fadeIn {
+  0% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+
+@keyframes load3 {
+  0% {
+    transform: rotate(0deg);
+  }
+  100% {
+    transform: rotate(360deg);
+  }
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) 2014-2017, Jupyter Development Team.
+|
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+button.jp-mod-styled {
+  font-size: var(--jp-ui-font-size1);
+  color: var(--jp-ui-font-color0);
+  border: none;
+  box-sizing: border-box;
+  text-align: center;
+  line-height: 32px;
+  height: 32px;
+  padding: 0px 12px;
+  letter-spacing: 0.8px;
+  outline: none;
+  appearance: none;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+}
+
+input.jp-mod-styled {
+  background: var(--jp-input-background);
+  height: 28px;
+  box-sizing: border-box;
+  border: var(--jp-border-width) solid var(--jp-border-color1);
+  padding-left: 7px;
+  padding-right: 7px;
+  font-size: var(--jp-ui-font-size2);
+  color: var(--jp-ui-font-color0);
+  outline: none;
+  appearance: none;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+}
+
+input.jp-mod-styled:focus {
+  border: var(--jp-border-width) solid var(--md-blue-500);
+  box-shadow: inset 0 0 4px var(--md-blue-300);
+}
+
+.jp-select-wrapper {
+  display: flex;
+  position: relative;
+  flex-direction: column;
+  padding: 1px;
+  background-color: var(--jp-layout-color1);
+  height: 28px;
+  box-sizing: border-box;
+  margin-bottom: 12px;
+}
+
+.jp-select-wrapper.jp-mod-focused select.jp-mod-styled {
+  border: var(--jp-border-width) solid var(--jp-input-active-border-color);
+  box-shadow: var(--jp-input-box-shadow);
+  background-color: var(--jp-input-active-background);
+}
+
+select.jp-mod-styled:hover {
+  background-color: var(--jp-layout-color1);
+  cursor: pointer;
+  color: var(--jp-ui-font-color0);
+  background-color: var(--jp-input-hover-background);
+  box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.5);
+}
+
+select.jp-mod-styled {
+  flex: 1 1 auto;
+  height: 32px;
+  width: 100%;
+  font-size: var(--jp-ui-font-size2);
+  background: var(--jp-input-background);
+  color: var(--jp-ui-font-color0);
+  padding: 0 25px 0 8px;
+  border: var(--jp-border-width) solid var(--jp-input-border-color);
+  border-radius: 0px;
+  outline: none;
+  appearance: none;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) 2014-2016, Jupyter Development Team.
+|
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+:root {
+  --jp-private-toolbar-height: calc(
+    28px + var(--jp-border-width)
+  ); /* leave 28px for content */
+}
+
+.jp-Toolbar {
+  color: var(--jp-ui-font-color1);
+  flex: 0 0 auto;
+  display: flex;
+  flex-direction: row;
+  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
+  box-shadow: var(--jp-toolbar-box-shadow);
+  background: var(--jp-toolbar-background);
+  min-height: var(--jp-toolbar-micro-height);
+  padding: 2px;
+  z-index: 1;
+  overflow-x: hidden;
+}
+
+.jp-Toolbar:hover {
+  overflow-x: auto;
+}
+
+/* Toolbar items */
+
+.jp-Toolbar > .jp-Toolbar-item.jp-Toolbar-spacer {
+  flex-grow: 1;
+  flex-shrink: 1;
+}
+
+.jp-Toolbar-item.jp-Toolbar-kernelStatus {
+  display: inline-block;
+  width: 32px;
+  background-repeat: no-repeat;
+  background-position: center;
+  background-size: 16px;
+}
+
+.jp-Toolbar > .jp-Toolbar-item {
+  flex: 0 0 auto;
+  display: flex;
+  padding-left: 1px;
+  padding-right: 1px;
+  font-size: var(--jp-ui-font-size1);
+  line-height: var(--jp-private-toolbar-height);
+  height: 100%;
+}
+
+/* Toolbar buttons */
+
+/* This is the div we use to wrap the react component into a Widget */
+div.jp-ToolbarButton {
+  color: transparent;
+  border: none;
+  box-sizing: border-box;
+  outline: none;
+  appearance: none;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  padding: 0px;
+  margin: 0px;
+}
+
+button.jp-ToolbarButtonComponent {
+  background: var(--jp-layout-color1);
+  border: none;
+  box-sizing: border-box;
+  outline: none;
+  appearance: none;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  padding: 0px 6px;
+  margin: 0px;
+  height: 24px;
+  border-radius: var(--jp-border-radius);
+  display: flex;
+  align-items: center;
+  text-align: center;
+  font-size: 14px;
+  min-width: unset;
+  min-height: unset;
+}
+
+button.jp-ToolbarButtonComponent:disabled {
+  opacity: 0.4;
+}
+
+button.jp-ToolbarButtonComponent span {
+  padding: 0px;
+  flex: 0 0 auto;
+}
+
+button.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label {
+  font-size: var(--jp-ui-font-size1);
+  line-height: 100%;
+  padding-left: 2px;
+  color: var(--jp-ui-font-color1);
+}
+
+#jp-main-dock-panel[data-mode='single-document']
+  .jp-MainAreaWidget
+  > .jp-Toolbar.jp-Toolbar-micro {
+  padding: 0;
+  min-height: 0;
+}
+
+#jp-main-dock-panel[data-mode='single-document']
+  .jp-MainAreaWidget
+  > .jp-Toolbar {
+  border: none;
+  box-shadow: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) 2014-2017, Jupyter Development Team.
+|
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Copyright (c) 2014-2017, PhosphorJS Contributors
+|
+| Distributed under the terms of the BSD 3-Clause License.
+|
+| The full license is in the file LICENSE, distributed with this software.
+|----------------------------------------------------------------------------*/
+
+
+/* <DEPRECATED> */ body.p-mod-override-cursor *, /* </DEPRECATED> */
+body.lm-mod-override-cursor * {
+  cursor: inherit !important;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) 2014-2016, Jupyter Development Team.
+|
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-JSONEditor {
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+}
+
+.jp-JSONEditor-host {
+  flex: 1 1 auto;
+  border: var(--jp-border-width) solid var(--jp-input-border-color);
+  border-radius: 0px;
+  background: var(--jp-layout-color0);
+  min-height: 50px;
+  padding: 1px;
+}
+
+.jp-JSONEditor.jp-mod-error .jp-JSONEditor-host {
+  border-color: red;
+  outline-color: red;
+}
+
+.jp-JSONEditor-header {
+  display: flex;
+  flex: 1 0 auto;
+  padding: 0 0 0 12px;
+}
+
+.jp-JSONEditor-header label {
+  flex: 0 0 auto;
+}
+
+.jp-JSONEditor-commitButton {
+  height: 16px;
+  width: 16px;
+  background-size: 18px;
+  background-repeat: no-repeat;
+  background-position: center;
+}
+
+.jp-JSONEditor-host.jp-mod-focused {
+  background-color: var(--jp-input-active-background);
+  border: 1px solid var(--jp-input-active-border-color);
+  box-shadow: var(--jp-input-box-shadow);
+}
+
+.jp-Editor.jp-mod-dropTarget {
+  border: var(--jp-border-width) solid var(--jp-input-active-border-color);
+  box-shadow: var(--jp-input-box-shadow);
+}
+
+/* BASICS */
+
+.CodeMirror {
+  /* Set height, width, borders, and global font properties here */
+  font-family: monospace;
+  height: 300px;
+  color: black;
+  direction: ltr;
+}
+
+/* PADDING */
+
+.CodeMirror-lines {
+  padding: 4px 0; /* Vertical padding around content */
+}
+.CodeMirror pre.CodeMirror-line,
+.CodeMirror pre.CodeMirror-line-like {
+  padding: 0 4px; /* Horizontal padding of content */
+}
+
+.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
+  background-color: white; /* The little square between H and V scrollbars */
+}
+
+/* GUTTER */
+
+.CodeMirror-gutters {
+  border-right: 1px solid #ddd;
+  background-color: #f7f7f7;
+  white-space: nowrap;
+}
+.CodeMirror-linenumbers {}
+.CodeMirror-linenumber {
+  padding: 0 3px 0 5px;
+  min-width: 20px;
+  text-align: right;
+  color: #999;
+  white-space: nowrap;
+}
+
+.CodeMirror-guttermarker { color: black; }
+.CodeMirror-guttermarker-subtle { color: #999; }
+
+/* CURSOR */
+
+.CodeMirror-cursor {
+  border-left: 1px solid black;
+  border-right: none;
+  width: 0;
+}
+/* Shown when moving in bi-directional text */
+.CodeMirror div.CodeMirror-secondarycursor {
+  border-left: 1px solid silver;
+}
+.cm-fat-cursor .CodeMirror-cursor {
+  width: auto;
+  border: 0 !important;
+  background: #7e7;
+}
+.cm-fat-cursor div.CodeMirror-cursors {
+  z-index: 1;
+}
+.cm-fat-cursor-mark {
+  background-color: rgba(20, 255, 20, 0.5);
+  -webkit-animation: blink 1.06s steps(1) infinite;
+  -moz-animation: blink 1.06s steps(1) infinite;
+  animation: blink 1.06s steps(1) infinite;
+}
+.cm-animate-fat-cursor {
+  width: auto;
+  border: 0;
+  -webkit-animation: blink 1.06s steps(1) infinite;
+  -moz-animation: blink 1.06s steps(1) infinite;
+  animation: blink 1.06s steps(1) infinite;
+  background-color: #7e7;
+}
+@-moz-keyframes blink {
+  0% {}
+  50% { background-color: transparent; }
+  100% {}
+}
+@-webkit-keyframes blink {
+  0% {}
+  50% { background-color: transparent; }
+  100% {}
+}
+@keyframes blink {
+  0% {}
+  50% { background-color: transparent; }
+  100% {}
+}
+
+/* Can style cursor different in overwrite (non-insert) mode */
+.CodeMirror-overwrite .CodeMirror-cursor {}
+
+.cm-tab { display: inline-block; text-decoration: inherit; }
+
+.CodeMirror-rulers {
+  position: absolute;
+  left: 0; right: 0; top: -50px; bottom: 0;
+  overflow: hidden;
+}
+.CodeMirror-ruler {
+  border-left: 1px solid #ccc;
+  top: 0; bottom: 0;
+  position: absolute;
+}
+
+/* DEFAULT THEME */
+
+.cm-s-default .cm-header {color: blue;}
+.cm-s-default .cm-quote {color: #090;}
+.cm-negative {color: #d44;}
+.cm-positive {color: #292;}
+.cm-header, .cm-strong {font-weight: bold;}
+.cm-em {font-style: italic;}
+.cm-link {text-decoration: underline;}
+.cm-strikethrough {text-decoration: line-through;}
+
+.cm-s-default .cm-keyword {color: #708;}
+.cm-s-default .cm-atom {color: #219;}
+.cm-s-default .cm-number {color: #164;}
+.cm-s-default .cm-def {color: #00f;}
+.cm-s-default .cm-variable,
+.cm-s-default .cm-punctuation,
+.cm-s-default .cm-property,
+.cm-s-default .cm-operator {}
+.cm-s-default .cm-variable-2 {color: #05a;}
+.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}
+.cm-s-default .cm-comment {color: #a50;}
+.cm-s-default .cm-string {color: #a11;}
+.cm-s-default .cm-string-2 {color: #f50;}
+.cm-s-default .cm-meta {color: #555;}
+.cm-s-default .cm-qualifier {color: #555;}
+.cm-s-default .cm-builtin {color: #30a;}
+.cm-s-default .cm-bracket {color: #997;}
+.cm-s-default .cm-tag {color: #170;}
+.cm-s-default .cm-attribute {color: #00c;}
+.cm-s-default .cm-hr {color: #999;}
+.cm-s-default .cm-link {color: #00c;}
+
+.cm-s-default .cm-error {color: #f00;}
+.cm-invalidchar {color: #f00;}
+
+.CodeMirror-composing { border-bottom: 2px solid; }
+
+/* Default styles for common addons */
+
+div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}
+div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
+.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
+.CodeMirror-activeline-background {background: #e8f2ff;}
+
+/* STOP */
+
+/* The rest of this file contains styles related to the mechanics of
+   the editor. You probably shouldn't touch them. */
+
+.CodeMirror {
+  position: relative;
+  overflow: hidden;
+  background: white;
+}
+
+.CodeMirror-scroll {
+  overflow: scroll !important; /* Things will break if this is overridden */
+  /* 50px is the magic margin used to hide the element's real scrollbars */
+  /* See overflow: hidden in .CodeMirror */
+  margin-bottom: -50px; margin-right: -50px;
+  padding-bottom: 50px;
+  height: 100%;
+  outline: none; /* Prevent dragging from highlighting the element */
+  position: relative;
+}
+.CodeMirror-sizer {
+  position: relative;
+  border-right: 50px solid transparent;
+}
+
+/* The fake, visible scrollbars. Used to force redraw during scrolling
+   before actual scrolling happens, thus preventing shaking and
+   flickering artifacts. */
+.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
+  position: absolute;
+  z-index: 6;
+  display: none;
+}
+.CodeMirror-vscrollbar {
+  right: 0; top: 0;
+  overflow-x: hidden;
+  overflow-y: scroll;
+}
+.CodeMirror-hscrollbar {
+  bottom: 0; left: 0;
+  overflow-y: hidden;
+  overflow-x: scroll;
+}
+.CodeMirror-scrollbar-filler {
+  right: 0; bottom: 0;
+}
+.CodeMirror-gutter-filler {
+  left: 0; bottom: 0;
+}
+
+.CodeMirror-gutters {
+  position: absolute; left: 0; top: 0;
+  min-height: 100%;
+  z-index: 3;
+}
+.CodeMirror-gutter {
+  white-space: normal;
+  height: 100%;
+  display: inline-block;
+  vertical-align: top;
+  margin-bottom: -50px;
+}
+.CodeMirror-gutter-wrapper {
+  position: absolute;
+  z-index: 4;
+  background: none !important;
+  border: none !important;
+}
+.CodeMirror-gutter-background {
+  position: absolute;
+  top: 0; bottom: 0;
+  z-index: 4;
+}
+.CodeMirror-gutter-elt {
+  position: absolute;
+  cursor: default;
+  z-index: 4;
+}
+.CodeMirror-gutter-wrapper ::selection { background-color: transparent }
+.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }
+
+.CodeMirror-lines {
+  cursor: text;
+  min-height: 1px; /* prevents collapsing before first draw */
+}
+.CodeMirror pre.CodeMirror-line,
+.CodeMirror pre.CodeMirror-line-like {
+  /* Reset some styles that the rest of the page might have set */
+  -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
+  border-width: 0;
+  background: transparent;
+  font-family: inherit;
+  font-size: inherit;
+  margin: 0;
+  white-space: pre;
+  word-wrap: normal;
+  line-height: inherit;
+  color: inherit;
+  z-index: 2;
+  position: relative;
+  overflow: visible;
+  -webkit-tap-highlight-color: transparent;
+  -webkit-font-variant-ligatures: contextual;
+  font-variant-ligatures: contextual;
+}
+.CodeMirror-wrap pre.CodeMirror-line,
+.CodeMirror-wrap pre.CodeMirror-line-like {
+  word-wrap: break-word;
+  white-space: pre-wrap;
+  word-break: normal;
+}
+
+.CodeMirror-linebackground {
+  position: absolute;
+  left: 0; right: 0; top: 0; bottom: 0;
+  z-index: 0;
+}
+
+.CodeMirror-linewidget {
+  position: relative;
+  z-index: 2;
+  padding: 0.1px; /* Force widget margins to stay inside of the container */
+}
+
+.CodeMirror-widget {}
+
+.CodeMirror-rtl pre { direction: rtl; }
+
+.CodeMirror-code {
+  outline: none;
+}
+
+/* Force content-box sizing for the elements where we expect it */
+.CodeMirror-scroll,
+.CodeMirror-sizer,
+.CodeMirror-gutter,
+.CodeMirror-gutters,
+.CodeMirror-linenumber {
+  -moz-box-sizing: content-box;
+  box-sizing: content-box;
+}
+
+.CodeMirror-measure {
+  position: absolute;
+  width: 100%;
+  height: 0;
+  overflow: hidden;
+  visibility: hidden;
+}
+
+.CodeMirror-cursor {
+  position: absolute;
+  pointer-events: none;
+}
+.CodeMirror-measure pre { position: static; }
+
+div.CodeMirror-cursors {
+  visibility: hidden;
+  position: relative;
+  z-index: 3;
+}
+div.CodeMirror-dragcursors {
+  visibility: visible;
+}
+
+.CodeMirror-focused div.CodeMirror-cursors {
+  visibility: visible;
+}
+
+.CodeMirror-selected { background: #d9d9d9; }
+.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
+.CodeMirror-crosshair { cursor: crosshair; }
+.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }
+.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }
+
+.cm-searching {
+  background-color: #ffa;
+  background-color: rgba(255, 255, 0, .4);
+}
+
+/* Used to force a border model for a node */
+.cm-force-border { padding-right: .1px; }
+
+@media print {
+  /* Hide the cursor when printing */
+  .CodeMirror div.CodeMirror-cursors {
+    visibility: hidden;
+  }
+}
+
+/* See issue #2901 */
+.cm-tab-wrap-hack:after { content: ''; }
+
+/* Help users use markselection to safely style text background */
+span.CodeMirror-selectedtext { background: none; }
+
+.CodeMirror-dialog {
+  position: absolute;
+  left: 0; right: 0;
+  background: inherit;
+  z-index: 15;
+  padding: .1em .8em;
+  overflow: hidden;
+  color: inherit;
+}
+
+.CodeMirror-dialog-top {
+  border-bottom: 1px solid #eee;
+  top: 0;
+}
+
+.CodeMirror-dialog-bottom {
+  border-top: 1px solid #eee;
+  bottom: 0;
+}
+
+.CodeMirror-dialog input {
+  border: none;
+  outline: none;
+  background: transparent;
+  width: 20em;
+  color: inherit;
+  font-family: monospace;
+}
+
+.CodeMirror-dialog button {
+  font-size: 70%;
+}
+
+.CodeMirror-foldmarker {
+  color: blue;
+  text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px;
+  font-family: arial;
+  line-height: .3;
+  cursor: pointer;
+}
+.CodeMirror-foldgutter {
+  width: .7em;
+}
+.CodeMirror-foldgutter-open,
+.CodeMirror-foldgutter-folded {
+  cursor: pointer;
+}
+.CodeMirror-foldgutter-open:after {
+  content: "\25BE";
+}
+.CodeMirror-foldgutter-folded:after {
+  content: "\25B8";
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.CodeMirror {
+  line-height: var(--jp-code-line-height);
+  font-size: var(--jp-code-font-size);
+  font-family: var(--jp-code-font-family);
+  border: 0;
+  border-radius: 0;
+  height: auto;
+  /* Changed to auto to autogrow */
+}
+
+.CodeMirror pre {
+  padding: 0 var(--jp-code-padding);
+}
+
+.jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-dialog {
+  background-color: var(--jp-layout-color0);
+  color: var(--jp-content-font-color1);
+}
+
+/* This causes https://github.com/jupyter/jupyterlab/issues/522 */
+/* May not cause it not because we changed it! */
+.CodeMirror-lines {
+  padding: var(--jp-code-padding) 0;
+}
+
+.CodeMirror-linenumber {
+  padding: 0 8px;
+}
+
+.jp-CodeMirrorEditor {
+  cursor: text;
+}
+
+.jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor {
+  border-left: var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color);
+}
+
+/* When zoomed out 67% and 33% on a screen of 1440 width x 900 height */
+@media screen and (min-width: 2138px) and (max-width: 4319px) {
+  .jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor {
+    border-left: var(--jp-code-cursor-width1) solid
+      var(--jp-editor-cursor-color);
+  }
+}
+
+/* When zoomed out less than 33% */
+@media screen and (min-width: 4320px) {
+  .jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor {
+    border-left: var(--jp-code-cursor-width2) solid
+      var(--jp-editor-cursor-color);
+  }
+}
+
+.CodeMirror.jp-mod-readOnly .CodeMirror-cursor {
+  display: none;
+}
+
+.CodeMirror-gutters {
+  border-right: 1px solid var(--jp-border-color2);
+  background-color: var(--jp-layout-color0);
+}
+
+.jp-CollaboratorCursor {
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-top: none;
+  border-bottom: 3px solid;
+  background-clip: content-box;
+  margin-left: -5px;
+  margin-right: -5px;
+}
+
+.CodeMirror-selectedtext.cm-searching {
+  background-color: var(--jp-search-selected-match-background-color) !important;
+  color: var(--jp-search-selected-match-color) !important;
+}
+
+.cm-searching {
+  background-color: var(
+    --jp-search-unselected-match-background-color
+  ) !important;
+  color: var(--jp-search-unselected-match-color) !important;
+}
+
+.CodeMirror-focused .CodeMirror-selected {
+  background-color: var(--jp-editor-selected-focused-background);
+}
+
+.CodeMirror-selected {
+  background-color: var(--jp-editor-selected-background);
+}
+
+.jp-CollaboratorCursor-hover {
+  position: absolute;
+  z-index: 1;
+  transform: translateX(-50%);
+  color: white;
+  border-radius: 3px;
+  padding-left: 4px;
+  padding-right: 4px;
+  padding-top: 1px;
+  padding-bottom: 1px;
+  text-align: center;
+  font-size: var(--jp-ui-font-size1);
+  white-space: nowrap;
+}
+
+.jp-CodeMirror-ruler {
+  border-left: 1px dashed var(--jp-border-color2);
+}
+
+/**
+ * Here is our jupyter theme for CodeMirror syntax highlighting
+ * This is used in our marked.js syntax highlighting and CodeMirror itself
+ * The string "jupyter" is set in ../codemirror/widget.DEFAULT_CODEMIRROR_THEME
+ * This came from the classic notebook, which came form highlight.js/GitHub
+ */
+
+/**
+ * CodeMirror themes are handling the background/color in this way. This works
+ * fine for CodeMirror editors outside the notebook, but the notebook styles
+ * these things differently.
+ */
+.CodeMirror.cm-s-jupyter {
+  background: var(--jp-layout-color0);
+  color: var(--jp-content-font-color1);
+}
+
+/* In the notebook, we want this styling to be handled by its container */
+.jp-CodeConsole .CodeMirror.cm-s-jupyter,
+.jp-Notebook .CodeMirror.cm-s-jupyter {
+  background: transparent;
+}
+
+.cm-s-jupyter .CodeMirror-cursor {
+  border-left: var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color);
+}
+.cm-s-jupyter span.cm-keyword {
+  color: var(--jp-mirror-editor-keyword-color);
+  font-weight: bold;
+}
+.cm-s-jupyter span.cm-atom {
+  color: var(--jp-mirror-editor-atom-color);
+}
+.cm-s-jupyter span.cm-number {
+  color: var(--jp-mirror-editor-number-color);
+}
+.cm-s-jupyter span.cm-def {
+  color: var(--jp-mirror-editor-def-color);
+}
+.cm-s-jupyter span.cm-variable {
+  color: var(--jp-mirror-editor-variable-color);
+}
+.cm-s-jupyter span.cm-variable-2 {
+  color: var(--jp-mirror-editor-variable-2-color);
+}
+.cm-s-jupyter span.cm-variable-3 {
+  color: var(--jp-mirror-editor-variable-3-color);
+}
+.cm-s-jupyter span.cm-punctuation {
+  color: var(--jp-mirror-editor-punctuation-color);
+}
+.cm-s-jupyter span.cm-property {
+  color: var(--jp-mirror-editor-property-color);
+}
+.cm-s-jupyter span.cm-operator {
+  color: var(--jp-mirror-editor-operator-color);
+  font-weight: bold;
+}
+.cm-s-jupyter span.cm-comment {
+  color: var(--jp-mirror-editor-comment-color);
+  font-style: italic;
+}
+.cm-s-jupyter span.cm-string {
+  color: var(--jp-mirror-editor-string-color);
+}
+.cm-s-jupyter span.cm-string-2 {
+  color: var(--jp-mirror-editor-string-2-color);
+}
+.cm-s-jupyter span.cm-meta {
+  color: var(--jp-mirror-editor-meta-color);
+}
+.cm-s-jupyter span.cm-qualifier {
+  color: var(--jp-mirror-editor-qualifier-color);
+}
+.cm-s-jupyter span.cm-builtin {
+  color: var(--jp-mirror-editor-builtin-color);
+}
+.cm-s-jupyter span.cm-bracket {
+  color: var(--jp-mirror-editor-bracket-color);
+}
+.cm-s-jupyter span.cm-tag {
+  color: var(--jp-mirror-editor-tag-color);
+}
+.cm-s-jupyter span.cm-attribute {
+  color: var(--jp-mirror-editor-attribute-color);
+}
+.cm-s-jupyter span.cm-header {
+  color: var(--jp-mirror-editor-header-color);
+}
+.cm-s-jupyter span.cm-quote {
+  color: var(--jp-mirror-editor-quote-color);
+}
+.cm-s-jupyter span.cm-link {
+  color: var(--jp-mirror-editor-link-color);
+}
+.cm-s-jupyter span.cm-error {
+  color: var(--jp-mirror-editor-error-color);
+}
+.cm-s-jupyter span.cm-hr {
+  color: #999;
+}
+
+.cm-s-jupyter span.cm-tab {
+  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);
+  background-position: right;
+  background-repeat: no-repeat;
+}
+
+.cm-s-jupyter .CodeMirror-activeline-background,
+.cm-s-jupyter .CodeMirror-gutter {
+  background-color: var(--jp-layout-color2);
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| RenderedText
+|----------------------------------------------------------------------------*/
+
+:root {
+  /* This is the padding value to fill the gaps between lines containing spans with background color. */
+  --jp-private-code-span-padding: calc(
+    (var(--jp-code-line-height) - 1) * var(--jp-code-font-size) / 2
+  );
+}
+
+.jp-RenderedText {
+  text-align: left;
+  padding-left: var(--jp-code-padding);
+  line-height: var(--jp-code-line-height);
+  font-family: var(--jp-code-font-family);
+}
+
+.jp-RenderedText pre,
+.jp-RenderedJavaScript pre,
+.jp-RenderedHTMLCommon pre {
+  color: var(--jp-content-font-color1);
+  font-size: var(--jp-code-font-size);
+  border: none;
+  margin: 0px;
+  padding: 0px;
+}
+
+.jp-RenderedText pre a:link {
+  text-decoration: none;
+  color: var(--jp-content-link-color);
+}
+.jp-RenderedText pre a:hover {
+  text-decoration: underline;
+  color: var(--jp-content-link-color);
+}
+.jp-RenderedText pre a:visited {
+  text-decoration: none;
+  color: var(--jp-content-link-color);
+}
+
+/* console foregrounds and backgrounds */
+.jp-RenderedText pre .ansi-black-fg {
+  color: #3e424d;
+}
+.jp-RenderedText pre .ansi-red-fg {
+  color: #e75c58;
+}
+.jp-RenderedText pre .ansi-green-fg {
+  color: #00a250;
+}
+.jp-RenderedText pre .ansi-yellow-fg {
+  color: #ddb62b;
+}
+.jp-RenderedText pre .ansi-blue-fg {
+  color: #208ffb;
+}
+.jp-RenderedText pre .ansi-magenta-fg {
+  color: #d160c4;
+}
+.jp-RenderedText pre .ansi-cyan-fg {
+  color: #60c6c8;
+}
+.jp-RenderedText pre .ansi-white-fg {
+  color: #c5c1b4;
+}
+
+.jp-RenderedText pre .ansi-black-bg {
+  background-color: #3e424d;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-red-bg {
+  background-color: #e75c58;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-green-bg {
+  background-color: #00a250;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-yellow-bg {
+  background-color: #ddb62b;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-blue-bg {
+  background-color: #208ffb;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-magenta-bg {
+  background-color: #d160c4;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-cyan-bg {
+  background-color: #60c6c8;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-white-bg {
+  background-color: #c5c1b4;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+
+.jp-RenderedText pre .ansi-black-intense-fg {
+  color: #282c36;
+}
+.jp-RenderedText pre .ansi-red-intense-fg {
+  color: #b22b31;
+}
+.jp-RenderedText pre .ansi-green-intense-fg {
+  color: #007427;
+}
+.jp-RenderedText pre .ansi-yellow-intense-fg {
+  color: #b27d12;
+}
+.jp-RenderedText pre .ansi-blue-intense-fg {
+  color: #0065ca;
+}
+.jp-RenderedText pre .ansi-magenta-intense-fg {
+  color: #a03196;
+}
+.jp-RenderedText pre .ansi-cyan-intense-fg {
+  color: #258f8f;
+}
+.jp-RenderedText pre .ansi-white-intense-fg {
+  color: #a1a6b2;
+}
+
+.jp-RenderedText pre .ansi-black-intense-bg {
+  background-color: #282c36;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-red-intense-bg {
+  background-color: #b22b31;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-green-intense-bg {
+  background-color: #007427;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-yellow-intense-bg {
+  background-color: #b27d12;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-blue-intense-bg {
+  background-color: #0065ca;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-magenta-intense-bg {
+  background-color: #a03196;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-cyan-intense-bg {
+  background-color: #258f8f;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+.jp-RenderedText pre .ansi-white-intense-bg {
+  background-color: #a1a6b2;
+  padding: var(--jp-private-code-span-padding) 0;
+}
+
+.jp-RenderedText pre .ansi-default-inverse-fg {
+  color: var(--jp-ui-inverse-font-color0);
+}
+.jp-RenderedText pre .ansi-default-inverse-bg {
+  background-color: var(--jp-inverse-layout-color0);
+  padding: var(--jp-private-code-span-padding) 0;
+}
+
+.jp-RenderedText pre .ansi-bold {
+  font-weight: bold;
+}
+.jp-RenderedText pre .ansi-underline {
+  text-decoration: underline;
+}
+
+.jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] {
+  background: var(--jp-rendermime-error-background);
+  padding-top: var(--jp-code-padding);
+}
+
+/*-----------------------------------------------------------------------------
+| RenderedLatex
+|----------------------------------------------------------------------------*/
+
+.jp-RenderedLatex {
+  color: var(--jp-content-font-color1);
+  font-size: var(--jp-content-font-size1);
+  line-height: var(--jp-content-line-height);
+}
+
+/* Left-justify outputs.*/
+.jp-OutputArea-output.jp-RenderedLatex {
+  padding: var(--jp-code-padding);
+  text-align: left;
+}
+
+/*-----------------------------------------------------------------------------
+| RenderedHTML
+|----------------------------------------------------------------------------*/
+
+.jp-RenderedHTMLCommon {
+  color: var(--jp-content-font-color1);
+  font-family: var(--jp-content-font-family);
+  font-size: var(--jp-content-font-size1);
+  line-height: var(--jp-content-line-height);
+  /* Give a bit more R padding on Markdown text to keep line lengths reasonable */
+  padding-right: 20px;
+}
+
+.jp-RenderedHTMLCommon em {
+  font-style: italic;
+}
+
+.jp-RenderedHTMLCommon strong {
+  font-weight: bold;
+}
+
+.jp-RenderedHTMLCommon u {
+  text-decoration: underline;
+}
+
+.jp-RenderedHTMLCommon a:link {
+  text-decoration: none;
+  color: var(--jp-content-link-color);
+}
+
+.jp-RenderedHTMLCommon a:hover {
+  text-decoration: underline;
+  color: var(--jp-content-link-color);
+}
+
+.jp-RenderedHTMLCommon a:visited {
+  text-decoration: none;
+  color: var(--jp-content-link-color);
+}
+
+/* Headings */
+
+.jp-RenderedHTMLCommon h1,
+.jp-RenderedHTMLCommon h2,
+.jp-RenderedHTMLCommon h3,
+.jp-RenderedHTMLCommon h4,
+.jp-RenderedHTMLCommon h5,
+.jp-RenderedHTMLCommon h6 {
+  line-height: var(--jp-content-heading-line-height);
+  font-weight: var(--jp-content-heading-font-weight);
+  font-style: normal;
+  margin: var(--jp-content-heading-margin-top) 0
+    var(--jp-content-heading-margin-bottom) 0;
+}
+
+.jp-RenderedHTMLCommon h1:first-child,
+.jp-RenderedHTMLCommon h2:first-child,
+.jp-RenderedHTMLCommon h3:first-child,
+.jp-RenderedHTMLCommon h4:first-child,
+.jp-RenderedHTMLCommon h5:first-child,
+.jp-RenderedHTMLCommon h6:first-child {
+  margin-top: calc(0.5 * var(--jp-content-heading-margin-top));
+}
+
+.jp-RenderedHTMLCommon h1:last-child,
+.jp-RenderedHTMLCommon h2:last-child,
+.jp-RenderedHTMLCommon h3:last-child,
+.jp-RenderedHTMLCommon h4:last-child,
+.jp-RenderedHTMLCommon h5:last-child,
+.jp-RenderedHTMLCommon h6:last-child {
+  margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom));
+}
+
+.jp-RenderedHTMLCommon h1 {
+  font-size: var(--jp-content-font-size5);
+}
+
+.jp-RenderedHTMLCommon h2 {
+  font-size: var(--jp-content-font-size4);
+}
+
+.jp-RenderedHTMLCommon h3 {
+  font-size: var(--jp-content-font-size3);
+}
+
+.jp-RenderedHTMLCommon h4 {
+  font-size: var(--jp-content-font-size2);
+}
+
+.jp-RenderedHTMLCommon h5 {
+  font-size: var(--jp-content-font-size1);
+}
+
+.jp-RenderedHTMLCommon h6 {
+  font-size: var(--jp-content-font-size0);
+}
+
+/* Lists */
+
+.jp-RenderedHTMLCommon ul:not(.list-inline),
+.jp-RenderedHTMLCommon ol:not(.list-inline) {
+  padding-left: 2em;
+}
+
+.jp-RenderedHTMLCommon ul {
+  list-style: disc;
+}
+
+.jp-RenderedHTMLCommon ul ul {
+  list-style: square;
+}
+
+.jp-RenderedHTMLCommon ul ul ul {
+  list-style: circle;
+}
+
+.jp-RenderedHTMLCommon ol {
+  list-style: decimal;
+}
+
+.jp-RenderedHTMLCommon ol ol {
+  list-style: upper-alpha;
+}
+
+.jp-RenderedHTMLCommon ol ol ol {
+  list-style: lower-alpha;
+}
+
+.jp-RenderedHTMLCommon ol ol ol ol {
+  list-style: lower-roman;
+}
+
+.jp-RenderedHTMLCommon ol ol ol ol ol {
+  list-style: decimal;
+}
+
+.jp-RenderedHTMLCommon ol,
+.jp-RenderedHTMLCommon ul {
+  margin-bottom: 1em;
+}
+
+.jp-RenderedHTMLCommon ul ul,
+.jp-RenderedHTMLCommon ul ol,
+.jp-RenderedHTMLCommon ol ul,
+.jp-RenderedHTMLCommon ol ol {
+  margin-bottom: 0em;
+}
+
+.jp-RenderedHTMLCommon hr {
+  color: var(--jp-border-color2);
+  background-color: var(--jp-border-color1);
+  margin-top: 1em;
+  margin-bottom: 1em;
+}
+
+.jp-RenderedHTMLCommon > pre {
+  margin: 1.5em 2em;
+}
+
+.jp-RenderedHTMLCommon pre,
+.jp-RenderedHTMLCommon code {
+  border: 0;
+  background-color: var(--jp-layout-color0);
+  color: var(--jp-content-font-color1);
+  font-family: var(--jp-code-font-family);
+  font-size: inherit;
+  line-height: var(--jp-code-line-height);
+  padding: 0;
+  white-space: pre-wrap;
+}
+
+.jp-RenderedHTMLCommon :not(pre) > code {
+  background-color: var(--jp-layout-color2);
+  padding: 1px 5px;
+}
+
+/* Tables */
+
+.jp-RenderedHTMLCommon table {
+  border-collapse: collapse;
+  border-spacing: 0;
+  border: none;
+  color: var(--jp-ui-font-color1);
+  font-size: 12px;
+  table-layout: fixed;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.jp-RenderedHTMLCommon thead {
+  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
+  vertical-align: bottom;
+}
+
+.jp-RenderedHTMLCommon td,
+.jp-RenderedHTMLCommon th,
+.jp-RenderedHTMLCommon tr {
+  vertical-align: middle;
+  padding: 0.5em 0.5em;
+  line-height: normal;
+  white-space: normal;
+  max-width: none;
+  border: none;
+}
+
+.jp-RenderedMarkdown.jp-RenderedHTMLCommon td,
+.jp-RenderedMarkdown.jp-RenderedHTMLCommon th {
+  max-width: none;
+}
+
+:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td,
+:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th,
+:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr {
+  text-align: right;
+}
+
+.jp-RenderedHTMLCommon th {
+  font-weight: bold;
+}
+
+.jp-RenderedHTMLCommon tbody tr:nth-child(odd) {
+  background: var(--jp-layout-color0);
+}
+
+.jp-RenderedHTMLCommon tbody tr:nth-child(even) {
+  background: var(--jp-rendermime-table-row-background);
+}
+
+.jp-RenderedHTMLCommon tbody tr:hover {
+  background: var(--jp-rendermime-table-row-hover-background);
+}
+
+.jp-RenderedHTMLCommon table {
+  margin-bottom: 1em;
+}
+
+.jp-RenderedHTMLCommon p {
+  text-align: left;
+  margin: 0px;
+}
+
+.jp-RenderedHTMLCommon p {
+  margin-bottom: 1em;
+}
+
+.jp-RenderedHTMLCommon img {
+  -moz-force-broken-image-icon: 1;
+}
+
+/* Restrict to direct children as other images could be nested in other content. */
+.jp-RenderedHTMLCommon > img {
+  display: block;
+  margin-left: 0;
+  margin-right: 0;
+  margin-bottom: 1em;
+}
+
+/* Change color behind transparent images if they need it... */
+[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background {
+  background-color: var(--jp-inverse-layout-color1);
+}
+[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background {
+  background-color: var(--jp-inverse-layout-color1);
+}
+/* ...or leave it untouched if they don't */
+[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-dark-background {
+}
+[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-light-background {
+}
+
+.jp-RenderedHTMLCommon img,
+.jp-RenderedImage img,
+.jp-RenderedHTMLCommon svg,
+.jp-RenderedSVG svg {
+  max-width: 100%;
+  height: auto;
+}
+
+.jp-RenderedHTMLCommon img.jp-mod-unconfined,
+.jp-RenderedImage img.jp-mod-unconfined,
+.jp-RenderedHTMLCommon svg.jp-mod-unconfined,
+.jp-RenderedSVG svg.jp-mod-unconfined {
+  max-width: none;
+}
+
+.jp-RenderedHTMLCommon .alert {
+  padding: var(--jp-notebook-padding);
+  border: var(--jp-border-width) solid transparent;
+  border-radius: var(--jp-border-radius);
+  margin-bottom: 1em;
+}
+
+.jp-RenderedHTMLCommon .alert-info {
+  color: var(--jp-info-color0);
+  background-color: var(--jp-info-color3);
+  border-color: var(--jp-info-color2);
+}
+.jp-RenderedHTMLCommon .alert-info hr {
+  border-color: var(--jp-info-color3);
+}
+.jp-RenderedHTMLCommon .alert-info > p:last-child,
+.jp-RenderedHTMLCommon .alert-info > ul:last-child {
+  margin-bottom: 0;
+}
+
+.jp-RenderedHTMLCommon .alert-warning {
+  color: var(--jp-warn-color0);
+  background-color: var(--jp-warn-color3);
+  border-color: var(--jp-warn-color2);
+}
+.jp-RenderedHTMLCommon .alert-warning hr {
+  border-color: var(--jp-warn-color3);
+}
+.jp-RenderedHTMLCommon .alert-warning > p:last-child,
+.jp-RenderedHTMLCommon .alert-warning > ul:last-child {
+  margin-bottom: 0;
+}
+
+.jp-RenderedHTMLCommon .alert-success {
+  color: var(--jp-success-color0);
+  background-color: var(--jp-success-color3);
+  border-color: var(--jp-success-color2);
+}
+.jp-RenderedHTMLCommon .alert-success hr {
+  border-color: var(--jp-success-color3);
+}
+.jp-RenderedHTMLCommon .alert-success > p:last-child,
+.jp-RenderedHTMLCommon .alert-success > ul:last-child {
+  margin-bottom: 0;
+}
+
+.jp-RenderedHTMLCommon .alert-danger {
+  color: var(--jp-error-color0);
+  background-color: var(--jp-error-color3);
+  border-color: var(--jp-error-color2);
+}
+.jp-RenderedHTMLCommon .alert-danger hr {
+  border-color: var(--jp-error-color3);
+}
+.jp-RenderedHTMLCommon .alert-danger > p:last-child,
+.jp-RenderedHTMLCommon .alert-danger > ul:last-child {
+  margin-bottom: 0;
+}
+
+.jp-RenderedHTMLCommon blockquote {
+  margin: 1em 2em;
+  padding: 0 1em;
+  border-left: 5px solid var(--jp-border-color2);
+}
+
+a.jp-InternalAnchorLink {
+  visibility: hidden;
+  margin-left: 8px;
+  color: var(--md-blue-800);
+}
+
+h1:hover .jp-InternalAnchorLink,
+h2:hover .jp-InternalAnchorLink,
+h3:hover .jp-InternalAnchorLink,
+h4:hover .jp-InternalAnchorLink,
+h5:hover .jp-InternalAnchorLink,
+h6:hover .jp-InternalAnchorLink {
+  visibility: visible;
+}
+
+.jp-RenderedHTMLCommon kbd {
+  background-color: var(--jp-rendermime-table-row-background);
+  border: 1px solid var(--jp-border-color0);
+  border-bottom-color: var(--jp-border-color2);
+  border-radius: 3px;
+  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
+  display: inline-block;
+  font-size: 0.8em;
+  line-height: 1em;
+  padding: 0.2em 0.5em;
+}
+
+/* Most direct children of .jp-RenderedHTMLCommon have a margin-bottom of 1.0.
+ * At the bottom of cells this is a bit too much as there is also spacing
+ * between cells. Going all the way to 0 gets too tight between markdown and
+ * code cells.
+ */
+.jp-RenderedHTMLCommon > *:last-child {
+  margin-bottom: 0.5em;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-MimeDocument {
+  outline: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Variables
+|----------------------------------------------------------------------------*/
+
+:root {
+  --jp-private-filebrowser-button-height: 28px;
+  --jp-private-filebrowser-button-width: 48px;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-FileBrowser {
+  display: flex;
+  flex-direction: column;
+  color: var(--jp-ui-font-color1);
+  background: var(--jp-layout-color1);
+  /* This is needed so that all font sizing of children done in ems is
+   * relative to this base size */
+  font-size: var(--jp-ui-font-size1);
+}
+
+.jp-FileBrowser-toolbar.jp-Toolbar {
+  border-bottom: none;
+  height: auto;
+  margin: var(--jp-toolbar-header-margin);
+  box-shadow: none;
+}
+
+.jp-BreadCrumbs {
+  flex: 0 0 auto;
+  margin: 8px 12px 8px 12px;
+}
+
+.jp-BreadCrumbs-item {
+  margin: 0px 2px;
+  padding: 0px 2px;
+  border-radius: var(--jp-border-radius);
+  cursor: pointer;
+}
+
+.jp-BreadCrumbs-item:hover {
+  background-color: var(--jp-layout-color2);
+}
+
+.jp-BreadCrumbs-item:first-child {
+  margin-left: 0px;
+}
+
+.jp-BreadCrumbs-item.jp-mod-dropTarget {
+  background-color: var(--jp-brand-color2);
+  opacity: 0.7;
+}
+
+/*-----------------------------------------------------------------------------
+| Buttons
+|----------------------------------------------------------------------------*/
+
+.jp-FileBrowser-toolbar.jp-Toolbar {
+  padding: 0px;
+  margin: 8px 12px 0px 12px;
+}
+
+.jp-FileBrowser-toolbar.jp-Toolbar {
+  justify-content: flex-start;
+}
+
+.jp-FileBrowser-toolbar.jp-Toolbar .jp-Toolbar-item {
+  flex: 0 0 auto;
+  padding-left: 0px;
+  padding-right: 2px;
+}
+
+.jp-FileBrowser-toolbar.jp-Toolbar .jp-ToolbarButtonComponent {
+  width: 40px;
+}
+
+.jp-FileBrowser-toolbar.jp-Toolbar
+  .jp-Toolbar-item:first-child
+  .jp-ToolbarButtonComponent {
+  width: 72px;
+  background: var(--jp-brand-color1);
+}
+
+.jp-FileBrowser-toolbar.jp-Toolbar
+  .jp-Toolbar-item:first-child
+  .jp-ToolbarButtonComponent
+  .jp-icon3 {
+  fill: white;
+}
+
+/*-----------------------------------------------------------------------------
+| Other styles
+|----------------------------------------------------------------------------*/
+
+.jp-FileDialog.jp-mod-conflict input {
+  color: red;
+}
+
+.jp-FileDialog .jp-new-name-title {
+  margin-top: 12px;
+}
+
+.jp-LastModified-hidden {
+  display: none;
+}
+
+.jp-FileBrowser-filterBox {
+  padding: 0px;
+  flex: 0 0 auto;
+  margin: 8px 12px 0px 12px;
+}
+
+/*-----------------------------------------------------------------------------
+| DirListing
+|----------------------------------------------------------------------------*/
+
+.jp-DirListing {
+  flex: 1 1 auto;
+  display: flex;
+  flex-direction: column;
+  outline: 0;
+}
+
+.jp-DirListing-header {
+  flex: 0 0 auto;
+  display: flex;
+  flex-direction: row;
+  overflow: hidden;
+  border-top: var(--jp-border-width) solid var(--jp-border-color2);
+  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
+  box-shadow: var(--jp-toolbar-box-shadow);
+  z-index: 2;
+}
+
+.jp-DirListing-headerItem {
+  padding: 4px 12px 2px 12px;
+  font-weight: 500;
+}
+
+.jp-DirListing-headerItem:hover {
+  background: var(--jp-layout-color2);
+}
+
+.jp-DirListing-headerItem.jp-id-name {
+  flex: 1 0 84px;
+}
+
+.jp-DirListing-headerItem.jp-id-modified {
+  flex: 0 0 112px;
+  border-left: var(--jp-border-width) solid var(--jp-border-color2);
+  text-align: right;
+}
+
+.jp-id-narrow {
+  display: none;
+  flex: 0 0 5px;
+  padding: 4px 4px;
+  border-left: var(--jp-border-width) solid var(--jp-border-color2);
+  text-align: right;
+  color: var(--jp-border-color2);
+}
+
+.jp-DirListing-narrow .jp-id-narrow {
+  display: block;
+}
+
+.jp-DirListing-narrow .jp-id-modified,
+.jp-DirListing-narrow .jp-DirListing-itemModified {
+  display: none;
+}
+
+.jp-DirListing-headerItem.jp-mod-selected {
+  font-weight: 600;
+}
+
+/* increase specificity to override bundled default */
+.jp-DirListing-content {
+  flex: 1 1 auto;
+  margin: 0;
+  padding: 0;
+  list-style-type: none;
+  overflow: auto;
+  background-color: var(--jp-layout-color1);
+}
+
+.jp-DirListing-content mark {
+  color: var(--jp-ui-font-color0);
+  background-color: transparent;
+  font-weight: bold;
+}
+
+/* Style the directory listing content when a user drops a file to upload */
+.jp-DirListing.jp-mod-native-drop .jp-DirListing-content {
+  outline: 5px dashed rgba(128, 128, 128, 0.5);
+  outline-offset: -10px;
+  cursor: copy;
+}
+
+.jp-DirListing-item {
+  display: flex;
+  flex-direction: row;
+  padding: 4px 12px;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+.jp-DirListing-item[data-is-dot] {
+  opacity: 75%;
+}
+
+.jp-DirListing-item.jp-mod-selected {
+  color: white;
+  background: var(--jp-brand-color1);
+}
+
+.jp-DirListing-item.jp-mod-dropTarget {
+  background: var(--jp-brand-color3);
+}
+
+.jp-DirListing-item:hover:not(.jp-mod-selected) {
+  background: var(--jp-layout-color2);
+}
+
+.jp-DirListing-itemIcon {
+  flex: 0 0 20px;
+  margin-right: 4px;
+}
+
+.jp-DirListing-itemText {
+  flex: 1 0 64px;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  user-select: none;
+}
+
+.jp-DirListing-itemModified {
+  flex: 0 0 125px;
+  text-align: right;
+}
+
+.jp-DirListing-editor {
+  flex: 1 0 64px;
+  outline: none;
+  border: none;
+}
+
+.jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon:before {
+  color: limegreen;
+  content: '\25CF';
+  font-size: 8px;
+  position: absolute;
+  left: -8px;
+}
+
+.jp-DirListing-item.lm-mod-drag-image,
+.jp-DirListing-item.jp-mod-selected.lm-mod-drag-image {
+  font-size: var(--jp-ui-font-size1);
+  padding-left: 4px;
+  margin-left: 4px;
+  width: 160px;
+  background-color: var(--jp-ui-inverse-font-color2);
+  box-shadow: var(--jp-elevation-z2);
+  border-radius: 0px;
+  color: var(--jp-ui-font-color1);
+  transform: translateX(-40%) translateY(-58%);
+}
+
+.jp-DirListing-deadSpace {
+  flex: 1 1 auto;
+  margin: 0;
+  padding: 0;
+  list-style-type: none;
+  overflow: auto;
+  background-color: var(--jp-layout-color1);
+}
+
+.jp-Document {
+  min-width: 120px;
+  min-height: 120px;
+  outline: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Private CSS variables
+|----------------------------------------------------------------------------*/
+
+:root {
+}
+
+/*-----------------------------------------------------------------------------
+| Main OutputArea
+| OutputArea has a list of Outputs
+|----------------------------------------------------------------------------*/
+
+.jp-OutputArea {
+  overflow-y: auto;
+}
+
+.jp-OutputArea-child {
+  display: flex;
+  flex-direction: row;
+}
+
+.jp-OutputPrompt {
+  flex: 0 0 var(--jp-cell-prompt-width);
+  color: var(--jp-cell-outprompt-font-color);
+  font-family: var(--jp-cell-prompt-font-family);
+  padding: var(--jp-code-padding);
+  letter-spacing: var(--jp-cell-prompt-letter-spacing);
+  line-height: var(--jp-code-line-height);
+  font-size: var(--jp-code-font-size);
+  border: var(--jp-border-width) solid transparent;
+  opacity: var(--jp-cell-prompt-opacity);
+  /* Right align prompt text, don't wrap to handle large prompt numbers */
+  text-align: right;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  /* Disable text selection */
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+.jp-OutputArea-output {
+  height: auto;
+  overflow: auto;
+  user-select: text;
+  -moz-user-select: text;
+  -webkit-user-select: text;
+  -ms-user-select: text;
+}
+
+.jp-OutputArea-child .jp-OutputArea-output {
+  flex-grow: 1;
+  flex-shrink: 1;
+}
+
+/**
+ * Isolated output.
+ */
+.jp-OutputArea-output.jp-mod-isolated {
+  width: 100%;
+  display: block;
+}
+
+/*
+When drag events occur, `p-mod-override-cursor` is added to the body.
+Because iframes steal all cursor events, the following two rules are necessary
+to suppress pointer events while resize drags are occurring. There may be a
+better solution to this problem.
+*/
+body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated {
+  position: relative;
+}
+
+body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated:before {
+  content: '';
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background: transparent;
+}
+
+/* pre */
+
+.jp-OutputArea-output pre {
+  border: none;
+  margin: 0px;
+  padding: 0px;
+  overflow-x: auto;
+  overflow-y: auto;
+  word-break: break-all;
+  word-wrap: break-word;
+  white-space: pre-wrap;
+}
+
+/* tables */
+
+.jp-OutputArea-output.jp-RenderedHTMLCommon table {
+  margin-left: 0;
+  margin-right: 0;
+}
+
+/* description lists */
+
+.jp-OutputArea-output dl,
+.jp-OutputArea-output dt,
+.jp-OutputArea-output dd {
+  display: block;
+}
+
+.jp-OutputArea-output dl {
+  width: 100%;
+  overflow: hidden;
+  padding: 0;
+  margin: 0;
+}
+
+.jp-OutputArea-output dt {
+  font-weight: bold;
+  float: left;
+  width: 20%;
+  padding: 0;
+  margin: 0;
+}
+
+.jp-OutputArea-output dd {
+  float: left;
+  width: 80%;
+  padding: 0;
+  margin: 0;
+}
+
+/* Hide the gutter in case of
+ *  - nested output areas (e.g. in the case of output widgets)
+ *  - mirrored output areas
+ */
+.jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt {
+  display: none;
+}
+
+/*-----------------------------------------------------------------------------
+| executeResult is added to any Output-result for the display of the object
+| returned by a cell
+|----------------------------------------------------------------------------*/
+
+.jp-OutputArea-output.jp-OutputArea-executeResult {
+  margin-left: 0px;
+  flex: 1 1 auto;
+}
+
+/* Text output with the Out[] prompt needs a top padding to match the
+ * alignment of the Out[] prompt itself.
+ */
+.jp-OutputArea-executeResult .jp-RenderedText.jp-OutputArea-output {
+  padding-top: var(--jp-code-padding);
+  border-top: var(--jp-border-width) solid transparent;
+}
+
+/*-----------------------------------------------------------------------------
+| The Stdin output
+|----------------------------------------------------------------------------*/
+
+.jp-OutputArea-stdin {
+  line-height: var(--jp-code-line-height);
+  padding-top: var(--jp-code-padding);
+  display: flex;
+}
+
+.jp-Stdin-prompt {
+  color: var(--jp-content-font-color0);
+  padding-right: var(--jp-code-padding);
+  vertical-align: baseline;
+  flex: 0 0 auto;
+}
+
+.jp-Stdin-input {
+  font-family: var(--jp-code-font-family);
+  font-size: inherit;
+  color: inherit;
+  background-color: inherit;
+  width: 42%;
+  min-width: 200px;
+  /* make sure input baseline aligns with prompt */
+  vertical-align: baseline;
+  /* padding + margin = 0.5em between prompt and cursor */
+  padding: 0em 0.25em;
+  margin: 0em 0.25em;
+  flex: 0 0 70%;
+}
+
+.jp-Stdin-input:focus {
+  box-shadow: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Output Area View
+|----------------------------------------------------------------------------*/
+
+.jp-LinkedOutputView .jp-OutputArea {
+  height: 100%;
+  display: block;
+}
+
+.jp-LinkedOutputView .jp-OutputArea-output:only-child {
+  height: 100%;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+.jp-Collapser {
+  flex: 0 0 var(--jp-cell-collapser-width);
+  padding: 0px;
+  margin: 0px;
+  border: none;
+  outline: none;
+  background: transparent;
+  border-radius: var(--jp-border-radius);
+  opacity: 1;
+}
+
+.jp-Collapser-child {
+  display: block;
+  width: 100%;
+  box-sizing: border-box;
+  /* height: 100% doesn't work because the height of its parent is computed from content */
+  position: absolute;
+  top: 0px;
+  bottom: 0px;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Header/Footer
+|----------------------------------------------------------------------------*/
+
+/* Hidden by zero height by default */
+.jp-CellHeader,
+.jp-CellFooter {
+  height: 0px;
+  width: 100%;
+  padding: 0px;
+  margin: 0px;
+  border: none;
+  outline: none;
+  background: transparent;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Input
+|----------------------------------------------------------------------------*/
+
+/* All input areas */
+.jp-InputArea {
+  display: flex;
+  flex-direction: row;
+  overflow: hidden;
+}
+
+.jp-InputArea-editor {
+  flex: 1 1 auto;
+  overflow: hidden;
+}
+
+.jp-InputArea-editor {
+  /* This is the non-active, default styling */
+  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
+  border-radius: 0px;
+  background: var(--jp-cell-editor-background);
+}
+
+.jp-InputPrompt {
+  flex: 0 0 var(--jp-cell-prompt-width);
+  color: var(--jp-cell-inprompt-font-color);
+  font-family: var(--jp-cell-prompt-font-family);
+  padding: var(--jp-code-padding);
+  letter-spacing: var(--jp-cell-prompt-letter-spacing);
+  opacity: var(--jp-cell-prompt-opacity);
+  line-height: var(--jp-code-line-height);
+  font-size: var(--jp-code-font-size);
+  border: var(--jp-border-width) solid transparent;
+  opacity: var(--jp-cell-prompt-opacity);
+  /* Right align prompt text, don't wrap to handle large prompt numbers */
+  text-align: right;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  /* Disable text selection */
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Placeholder
+|----------------------------------------------------------------------------*/
+
+.jp-Placeholder {
+  display: flex;
+  flex-direction: row;
+  flex: 1 1 auto;
+}
+
+.jp-Placeholder-prompt {
+  box-sizing: border-box;
+}
+
+.jp-Placeholder-content {
+  flex: 1 1 auto;
+  border: none;
+  background: transparent;
+  height: 20px;
+  box-sizing: border-box;
+}
+
+.jp-Placeholder-content .jp-MoreHorizIcon {
+  width: 32px;
+  height: 16px;
+  border: 1px solid transparent;
+  border-radius: var(--jp-border-radius);
+}
+
+.jp-Placeholder-content .jp-MoreHorizIcon:hover {
+  border: 1px solid var(--jp-border-color1);
+  box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.25);
+  background-color: var(--jp-layout-color0);
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Private CSS variables
+|----------------------------------------------------------------------------*/
+
+:root {
+  --jp-private-cell-scrolling-output-offset: 5px;
+}
+
+/*-----------------------------------------------------------------------------
+| Cell
+|----------------------------------------------------------------------------*/
+
+.jp-Cell {
+  padding: var(--jp-cell-padding);
+  margin: 0px;
+  border: none;
+  outline: none;
+  background: transparent;
+}
+
+/*-----------------------------------------------------------------------------
+| Common input/output
+|----------------------------------------------------------------------------*/
+
+.jp-Cell-inputWrapper,
+.jp-Cell-outputWrapper {
+  display: flex;
+  flex-direction: row;
+  padding: 0px;
+  margin: 0px;
+  /* Added to reveal the box-shadow on the input and output collapsers. */
+  overflow: visible;
+}
+
+/* Only input/output areas inside cells */
+.jp-Cell-inputArea,
+.jp-Cell-outputArea {
+  flex: 1 1 auto;
+}
+
+/*-----------------------------------------------------------------------------
+| Collapser
+|----------------------------------------------------------------------------*/
+
+/* Make the output collapser disappear when there is not output, but do so
+ * in a manner that leaves it in the layout and preserves its width.
+ */
+.jp-Cell.jp-mod-noOutputs .jp-Cell-outputCollapser {
+  border: none !important;
+  background: transparent !important;
+}
+
+.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputCollapser {
+  min-height: var(--jp-cell-collapser-min-height);
+}
+
+/*-----------------------------------------------------------------------------
+| Output
+|----------------------------------------------------------------------------*/
+
+/* Put a space between input and output when there IS output */
+.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper {
+  margin-top: 5px;
+}
+
+.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea {
+  overflow-y: auto;
+  max-height: 200px;
+  box-shadow: inset 0 0 6px 2px rgba(0, 0, 0, 0.3);
+  margin-left: var(--jp-private-cell-scrolling-output-offset);
+}
+
+.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt {
+  flex: 0 0
+    calc(
+      var(--jp-cell-prompt-width) -
+        var(--jp-private-cell-scrolling-output-offset)
+    );
+}
+
+/*-----------------------------------------------------------------------------
+| CodeCell
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| MarkdownCell
+|----------------------------------------------------------------------------*/
+
+.jp-MarkdownOutput {
+  flex: 1 1 auto;
+  margin-top: 0;
+  margin-bottom: 0;
+  padding-left: var(--jp-code-padding);
+}
+
+.jp-MarkdownOutput.jp-RenderedHTMLCommon {
+  overflow: auto;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Variables
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+
+/*-----------------------------------------------------------------------------
+| Styles
+|----------------------------------------------------------------------------*/
+
+.jp-NotebookPanel-toolbar {
+  padding: 2px;
+}
+
+.jp-Toolbar-item.jp-Notebook-toolbarCellType .jp-select-wrapper.jp-mod-focused {
+  border: none;
+  box-shadow: none;
+}
+
+.jp-Notebook-toolbarCellTypeDropdown select {
+  height: 24px;
+  font-size: var(--jp-ui-font-size1);
+  line-height: 14px;
+  border-radius: 0;
+  display: block;
+}
+
+.jp-Notebook-toolbarCellTypeDropdown span {
+  top: 5px !important;
+}
+
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Private CSS variables
+|----------------------------------------------------------------------------*/
+
+:root {
+  --jp-private-notebook-dragImage-width: 304px;
+  --jp-private-notebook-dragImage-height: 36px;
+  --jp-private-notebook-selected-color: var(--md-blue-400);
+  --jp-private-notebook-active-color: var(--md-green-400);
+}
+
+/*-----------------------------------------------------------------------------
+| Imports
+|----------------------------------------------------------------------------*/
+
+/*-----------------------------------------------------------------------------
+| Notebook
+|----------------------------------------------------------------------------*/
+
+.jp-NotebookPanel {
+  display: block;
+  height: 100%;
+}
+
+.jp-NotebookPanel.jp-Document {
+  min-width: 240px;
+  min-height: 120px;
+}
+
+.jp-Notebook {
+  padding: var(--jp-notebook-padding);
+  outline: none;
+  overflow: auto;
+  background: var(--jp-layout-color0);
+}
+
+.jp-Notebook.jp-mod-scrollPastEnd::after {
+  display: block;
+  content: '';
+  min-height: var(--jp-notebook-scroll-padding);
+}
+
+.jp-Notebook .jp-Cell {
+  overflow: visible;
+}
+
+.jp-Notebook .jp-Cell .jp-InputPrompt {
+  cursor: move;
+}
+
+/*-----------------------------------------------------------------------------
+| Notebook state related styling
+|
+| The notebook and cells each have states, here are the possibilities:
+|
+| - Notebook
+|   - Command
+|   - Edit
+| - Cell
+|   - None
+|   - Active (only one can be active)
+|   - Selected (the cells actions are applied to)
+|   - Multiselected (when multiple selected, the cursor)
+|   - No outputs
+|----------------------------------------------------------------------------*/
+
+/* Command or edit modes */
+
+.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt {
+  opacity: var(--jp-cell-prompt-not-active-opacity);
+  color: var(--jp-cell-prompt-not-active-font-color);
+}
+
+.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt {
+  opacity: var(--jp-cell-prompt-not-active-opacity);
+  color: var(--jp-cell-prompt-not-active-font-color);
+}
+
+/* cell is active */
+.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser {
+  background: var(--jp-brand-color1);
+}
+
+/* collapser is hovered */
+.jp-Notebook .jp-Cell .jp-Collapser:hover {
+  box-shadow: var(--jp-elevation-z2);
+  background: var(--jp-brand-color1);
+  opacity: var(--jp-cell-collapser-not-active-hover-opacity);
+}
+
+/* cell is active and collapser is hovered */
+.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser:hover {
+  background: var(--jp-brand-color0);
+  opacity: 1;
+}
+
+/* Command mode */
+
+.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-selected {
+  background: var(--jp-notebook-multiselected-color);
+}
+
+.jp-Notebook.jp-mod-commandMode
+  .jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) {
+  background: transparent;
+}
+
+/* Edit mode */
+
+.jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor {
+  border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
+  box-shadow: var(--jp-input-box-shadow);
+  background-color: var(--jp-cell-editor-active-background);
+}
+
+/*-----------------------------------------------------------------------------
+| Notebook drag and drop
+|----------------------------------------------------------------------------*/
+
+.jp-Notebook-cell.jp-mod-dropSource {
+  opacity: 0.5;
+}
+
+.jp-Notebook-cell.jp-mod-dropTarget,
+.jp-Notebook.jp-mod-commandMode
+  .jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget {
+  border-top-color: var(--jp-private-notebook-selected-color);
+  border-top-style: solid;
+  border-top-width: 2px;
+}
+
+.jp-dragImage {
+  display: flex;
+  flex-direction: row;
+  width: var(--jp-private-notebook-dragImage-width);
+  height: var(--jp-private-notebook-dragImage-height);
+  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
+  background: var(--jp-cell-editor-background);
+  overflow: visible;
+}
+
+.jp-dragImage-singlePrompt {
+  box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.12);
+}
+
+.jp-dragImage .jp-dragImage-content {
+  flex: 1 1 auto;
+  z-index: 2;
+  font-size: var(--jp-code-font-size);
+  font-family: var(--jp-code-font-family);
+  line-height: var(--jp-code-line-height);
+  padding: var(--jp-code-padding);
+  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
+  background: var(--jp-cell-editor-background-color);
+  color: var(--jp-content-font-color3);
+  text-align: left;
+  margin: 4px 4px 4px 0px;
+}
+
+.jp-dragImage .jp-dragImage-prompt {
+  flex: 0 0 auto;
+  min-width: 36px;
+  color: var(--jp-cell-inprompt-font-color);
+  padding: var(--jp-code-padding);
+  padding-left: 12px;
+  font-family: var(--jp-cell-prompt-font-family);
+  letter-spacing: var(--jp-cell-prompt-letter-spacing);
+  line-height: 1.9;
+  font-size: var(--jp-code-font-size);
+  border: var(--jp-border-width) solid transparent;
+}
+
+.jp-dragImage-multipleBack {
+  z-index: -1;
+  position: absolute;
+  height: 32px;
+  width: 300px;
+  top: 8px;
+  left: 8px;
+  background: var(--jp-layout-color2);
+  border: var(--jp-border-width) solid var(--jp-input-border-color);
+  box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.12);
+}
+
+/*-----------------------------------------------------------------------------
+| Cell toolbar
+|----------------------------------------------------------------------------*/
+
+.jp-NotebookTools {
+  display: block;
+  min-width: var(--jp-sidebar-min-width);
+  color: var(--jp-ui-font-color1);
+  background: var(--jp-layout-color1);
+  /* This is needed so that all font sizing of children done in ems is
+    * relative to this base size */
+  font-size: var(--jp-ui-font-size1);
+  overflow: auto;
+}
+
+.jp-NotebookTools-tool {
+  padding: 0px 12px 0 12px;
+}
+
+.jp-ActiveCellTool {
+  padding: 12px;
+  background-color: var(--jp-layout-color1);
+  border-top: none !important;
+}
+
+.jp-ActiveCellTool .jp-InputArea-prompt {
+  flex: 0 0 auto;
+  padding-left: 0px;
+}
+
+.jp-ActiveCellTool .jp-InputArea-editor {
+  flex: 1 1 auto;
+  background: var(--jp-cell-editor-background);
+  border-color: var(--jp-cell-editor-border-color);
+}
+
+.jp-ActiveCellTool .jp-InputArea-editor .CodeMirror {
+  background: transparent;
+}
+
+.jp-MetadataEditorTool {
+  flex-direction: column;
+  padding: 12px 0px 12px 0px;
+}
+
+.jp-RankedPanel > :not(:first-child) {
+  margin-top: 12px;
+}
+
+.jp-KeySelector select.jp-mod-styled {
+  font-size: var(--jp-ui-font-size1);
+  color: var(--jp-ui-font-color0);
+  border: var(--jp-border-width) solid var(--jp-border-color1);
+}
+
+.jp-KeySelector label,
+.jp-MetadataEditorTool label {
+  line-height: 1.4;
+}
+
+.jp-NotebookTools .jp-select-wrapper {
+  margin-top: 4px;
+  margin-bottom: 0px;
+}
+
+.jp-NotebookTools .jp-Collapse {
+  margin-top: 16px;
+}
+
+/*-----------------------------------------------------------------------------
+| Presentation Mode (.jp-mod-presentationMode)
+|----------------------------------------------------------------------------*/
+
+.jp-mod-presentationMode .jp-Notebook {
+  --jp-content-font-size1: var(--jp-content-presentation-font-size1);
+  --jp-code-font-size: var(--jp-code-presentation-font-size);
+}
+
+.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt,
+.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt {
+  flex: 0 0 110px;
+}
+
+</style>
+
+    <style type="text/css">
+/*-----------------------------------------------------------------------------
+| Copyright (c) Jupyter Development Team.
+| Distributed under the terms of the Modified BSD License.
+|----------------------------------------------------------------------------*/
+
+/*
+The following CSS variables define the main, public API for styling JupyterLab.
+These variables should be used by all plugins wherever possible. In other
+words, plugins should not define custom colors, sizes, etc unless absolutely
+necessary. This enables users to change the visual theme of JupyterLab
+by changing these variables.
+
+Many variables appear in an ordered sequence (0,1,2,3). These sequences
+are designed to work well together, so for example, `--jp-border-color1` should
+be used with `--jp-layout-color1`. The numbers have the following meanings:
+
+* 0: super-primary, reserved for special emphasis
+* 1: primary, most important under normal situations
+* 2: secondary, next most important under normal situations
+* 3: tertiary, next most important under normal situations
+
+Throughout JupyterLab, we are mostly following principles from Google's
+Material Design when selecting colors. We are not, however, following
+all of MD as it is not optimized for dense, information rich UIs.
+*/
+
+:root {
+  /* Elevation
+   *
+   * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here:
+   *
+   * https://github.com/material-components/material-components-web
+   * https://material-components-web.appspot.com/elevation.html
+   */
+
+  --jp-shadow-base-lightness: 0;
+  --jp-shadow-umbra-color: rgba(
+    var(--jp-shadow-base-lightness),
+    var(--jp-shadow-base-lightness),
+    var(--jp-shadow-base-lightness),
+    0.2
+  );
+  --jp-shadow-penumbra-color: rgba(
+    var(--jp-shadow-base-lightness),
+    var(--jp-shadow-base-lightness),
+    var(--jp-shadow-base-lightness),
+    0.14
+  );
+  --jp-shadow-ambient-color: rgba(
+    var(--jp-shadow-base-lightness),
+    var(--jp-shadow-base-lightness),
+    var(--jp-shadow-base-lightness),
+    0.12
+  );
+  --jp-elevation-z0: none;
+  --jp-elevation-z1: 0px 2px 1px -1px var(--jp-shadow-umbra-color),
+    0px 1px 1px 0px var(--jp-shadow-penumbra-color),
+    0px 1px 3px 0px var(--jp-shadow-ambient-color);
+  --jp-elevation-z2: 0px 3px 1px -2px var(--jp-shadow-umbra-color),
+    0px 2px 2px 0px var(--jp-shadow-penumbra-color),
+    0px 1px 5px 0px var(--jp-shadow-ambient-color);
+  --jp-elevation-z4: 0px 2px 4px -1px var(--jp-shadow-umbra-color),
+    0px 4px 5px 0px var(--jp-shadow-penumbra-color),
+    0px 1px 10px 0px var(--jp-shadow-ambient-color);
+  --jp-elevation-z6: 0px 3px 5px -1px var(--jp-shadow-umbra-color),
+    0px 6px 10px 0px var(--jp-shadow-penumbra-color),
+    0px 1px 18px 0px var(--jp-shadow-ambient-color);
+  --jp-elevation-z8: 0px 5px 5px -3px var(--jp-shadow-umbra-color),
+    0px 8px 10px 1px var(--jp-shadow-penumbra-color),
+    0px 3px 14px 2px var(--jp-shadow-ambient-color);
+  --jp-elevation-z12: 0px 7px 8px -4px var(--jp-shadow-umbra-color),
+    0px 12px 17px 2px var(--jp-shadow-penumbra-color),
+    0px 5px 22px 4px var(--jp-shadow-ambient-color);
+  --jp-elevation-z16: 0px 8px 10px -5px var(--jp-shadow-umbra-color),
+    0px 16px 24px 2px var(--jp-shadow-penumbra-color),
+    0px 6px 30px 5px var(--jp-shadow-ambient-color);
+  --jp-elevation-z20: 0px 10px 13px -6px var(--jp-shadow-umbra-color),
+    0px 20px 31px 3px var(--jp-shadow-penumbra-color),
+    0px 8px 38px 7px var(--jp-shadow-ambient-color);
+  --jp-elevation-z24: 0px 11px 15px -7px var(--jp-shadow-umbra-color),
+    0px 24px 38px 3px var(--jp-shadow-penumbra-color),
+    0px 9px 46px 8px var(--jp-shadow-ambient-color);
+
+  /* Borders
+   *
+   * The following variables, specify the visual styling of borders in JupyterLab.
+   */
+
+  --jp-border-width: 1px;
+  --jp-border-color0: var(--md-grey-400);
+  --jp-border-color1: var(--md-grey-400);
+  --jp-border-color2: var(--md-grey-300);
+  --jp-border-color3: var(--md-grey-200);
+  --jp-border-radius: 2px;
+
+  /* UI Fonts
+   *
+   * The UI font CSS variables are used for the typography all of the JupyterLab
+   * user interface elements that are not directly user generated content.
+   *
+   * The font sizing here is done assuming that the body font size of --jp-ui-font-size1
+   * is applied to a parent element. When children elements, such as headings, are sized
+   * in em all things will be computed relative to that body size.
+   */
+
+  --jp-ui-font-scale-factor: 1.2;
+  --jp-ui-font-size0: 0.83333em;
+  --jp-ui-font-size1: 13px; /* Base font size */
+  --jp-ui-font-size2: 1.2em;
+  --jp-ui-font-size3: 1.44em;
+
+  --jp-ui-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica,
+    Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
+
+  /*
+   * Use these font colors against the corresponding main layout colors.
+   * In a light theme, these go from dark to light.
+   */
+
+  /* Defaults use Material Design specification */
+  --jp-ui-font-color0: rgba(0, 0, 0, 1);
+  --jp-ui-font-color1: rgba(0, 0, 0, 0.87);
+  --jp-ui-font-color2: rgba(0, 0, 0, 0.54);
+  --jp-ui-font-color3: rgba(0, 0, 0, 0.38);
+
+  /*
+   * Use these against the brand/accent/warn/error colors.
+   * These will typically go from light to darker, in both a dark and light theme.
+   */
+
+  --jp-ui-inverse-font-color0: rgba(255, 255, 255, 1);
+  --jp-ui-inverse-font-color1: rgba(255, 255, 255, 1);
+  --jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7);
+  --jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5);
+
+  /* Content Fonts
+   *
+   * Content font variables are used for typography of user generated content.
+   *
+   * The font sizing here is done assuming that the body font size of --jp-content-font-size1
+   * is applied to a parent element. When children elements, such as headings, are sized
+   * in em all things will be computed relative to that body size.
+   */
+
+  --jp-content-line-height: 1.6;
+  --jp-content-font-scale-factor: 1.2;
+  --jp-content-font-size0: 0.83333em;
+  --jp-content-font-size1: 14px; /* Base font size */
+  --jp-content-font-size2: 1.2em;
+  --jp-content-font-size3: 1.44em;
+  --jp-content-font-size4: 1.728em;
+  --jp-content-font-size5: 2.0736em;
+
+  /* This gives a magnification of about 125% in presentation mode over normal. */
+  --jp-content-presentation-font-size1: 17px;
+
+  --jp-content-heading-line-height: 1;
+  --jp-content-heading-margin-top: 1.2em;
+  --jp-content-heading-margin-bottom: 0.8em;
+  --jp-content-heading-font-weight: 500;
+
+  /* Defaults use Material Design specification */
+  --jp-content-font-color0: rgba(0, 0, 0, 1);
+  --jp-content-font-color1: rgba(0, 0, 0, 0.87);
+  --jp-content-font-color2: rgba(0, 0, 0, 0.54);
+  --jp-content-font-color3: rgba(0, 0, 0, 0.38);
+
+  --jp-content-link-color: var(--md-blue-700);
+
+  --jp-content-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI',
+    Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
+    'Segoe UI Symbol';
+
+  /*
+   * Code Fonts
+   *
+   * Code font variables are used for typography of code and other monospaces content.
+   */
+
+  --jp-code-font-size: 13px;
+  --jp-code-line-height: 1.3077; /* 17px for 13px base */
+  --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */
+  --jp-code-font-family-default: Menlo, Consolas, 'DejaVu Sans Mono', monospace;
+  --jp-code-font-family: var(--jp-code-font-family-default);
+
+  /* This gives a magnification of about 125% in presentation mode over normal. */
+  --jp-code-presentation-font-size: 16px;
+
+  /* may need to tweak cursor width if you change font size */
+  --jp-code-cursor-width0: 1.4px;
+  --jp-code-cursor-width1: 2px;
+  --jp-code-cursor-width2: 4px;
+
+  /* Layout
+   *
+   * The following are the main layout colors use in JupyterLab. In a light
+   * theme these would go from light to dark.
+   */
+
+  --jp-layout-color0: white;
+  --jp-layout-color1: white;
+  --jp-layout-color2: var(--md-grey-200);
+  --jp-layout-color3: var(--md-grey-400);
+  --jp-layout-color4: var(--md-grey-600);
+
+  /* Inverse Layout
+   *
+   * The following are the inverse layout colors use in JupyterLab. In a light
+   * theme these would go from dark to light.
+   */
+
+  --jp-inverse-layout-color0: #111111;
+  --jp-inverse-layout-color1: var(--md-grey-900);
+  --jp-inverse-layout-color2: var(--md-grey-800);
+  --jp-inverse-layout-color3: var(--md-grey-700);
+  --jp-inverse-layout-color4: var(--md-grey-600);
+
+  /* Brand/accent */
+
+  --jp-brand-color0: var(--md-blue-700);
+  --jp-brand-color1: var(--md-blue-500);
+  --jp-brand-color2: var(--md-blue-300);
+  --jp-brand-color3: var(--md-blue-100);
+  --jp-brand-color4: var(--md-blue-50);
+
+  --jp-accent-color0: var(--md-green-700);
+  --jp-accent-color1: var(--md-green-500);
+  --jp-accent-color2: var(--md-green-300);
+  --jp-accent-color3: var(--md-green-100);
+
+  /* State colors (warn, error, success, info) */
+
+  --jp-warn-color0: var(--md-orange-700);
+  --jp-warn-color1: var(--md-orange-500);
+  --jp-warn-color2: var(--md-orange-300);
+  --jp-warn-color3: var(--md-orange-100);
+
+  --jp-error-color0: var(--md-red-700);
+  --jp-error-color1: var(--md-red-500);
+  --jp-error-color2: var(--md-red-300);
+  --jp-error-color3: var(--md-red-100);
+
+  --jp-success-color0: var(--md-green-700);
+  --jp-success-color1: var(--md-green-500);
+  --jp-success-color2: var(--md-green-300);
+  --jp-success-color3: var(--md-green-100);
+
+  --jp-info-color0: var(--md-cyan-700);
+  --jp-info-color1: var(--md-cyan-500);
+  --jp-info-color2: var(--md-cyan-300);
+  --jp-info-color3: var(--md-cyan-100);
+
+  /* Cell specific styles */
+
+  --jp-cell-padding: 5px;
+
+  --jp-cell-collapser-width: 8px;
+  --jp-cell-collapser-min-height: 20px;
+  --jp-cell-collapser-not-active-hover-opacity: 0.6;
+
+  --jp-cell-editor-background: var(--md-grey-100);
+  --jp-cell-editor-border-color: var(--md-grey-300);
+  --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300);
+  --jp-cell-editor-active-background: var(--jp-layout-color0);
+  --jp-cell-editor-active-border-color: var(--jp-brand-color1);
+
+  --jp-cell-prompt-width: 64px;
+  --jp-cell-prompt-font-family: var(--jp-code-font-family-default);
+  --jp-cell-prompt-letter-spacing: 0px;
+  --jp-cell-prompt-opacity: 1;
+  --jp-cell-prompt-not-active-opacity: 0.5;
+  --jp-cell-prompt-not-active-font-color: var(--md-grey-700);
+  /* A custom blend of MD grey and blue 600
+   * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */
+  --jp-cell-inprompt-font-color: #307fc1;
+  /* A custom blend of MD grey and orange 600
+   * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */
+  --jp-cell-outprompt-font-color: #bf5b3d;
+
+  /* Notebook specific styles */
+
+  --jp-notebook-padding: 10px;
+  --jp-notebook-select-background: var(--jp-layout-color1);
+  --jp-notebook-multiselected-color: var(--md-blue-50);
+
+  /* The scroll padding is calculated to fill enough space at the bottom of the
+  notebook to show one single-line cell (with appropriate padding) at the top
+  when the notebook is scrolled all the way to the bottom. We also subtract one
+  pixel so that no scrollbar appears if we have just one single-line cell in the
+  notebook. This padding is to enable a 'scroll past end' feature in a notebook.
+  */
+  --jp-notebook-scroll-padding: calc(
+    100% - var(--jp-code-font-size) * var(--jp-code-line-height) -
+      var(--jp-code-padding) - var(--jp-cell-padding) - 1px
+  );
+
+  /* Rendermime styles */
+
+  --jp-rendermime-error-background: #fdd;
+  --jp-rendermime-table-row-background: var(--md-grey-100);
+  --jp-rendermime-table-row-hover-background: var(--md-light-blue-50);
+
+  /* Dialog specific styles */
+
+  --jp-dialog-background: rgba(0, 0, 0, 0.25);
+
+  /* Console specific styles */
+
+  --jp-console-padding: 10px;
+
+  /* Toolbar specific styles */
+
+  --jp-toolbar-border-color: var(--jp-border-color1);
+  --jp-toolbar-micro-height: 8px;
+  --jp-toolbar-background: var(--jp-layout-color1);
+  --jp-toolbar-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.24);
+  --jp-toolbar-header-margin: 4px 4px 0px 4px;
+  --jp-toolbar-active-background: var(--md-grey-300);
+
+  /* Input field styles */
+
+  --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300);
+  --jp-input-active-background: var(--jp-layout-color1);
+  --jp-input-hover-background: var(--jp-layout-color1);
+  --jp-input-background: var(--md-grey-100);
+  --jp-input-border-color: var(--jp-border-color1);
+  --jp-input-active-border-color: var(--jp-brand-color1);
+  --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3);
+
+  /* General editor styles */
+
+  --jp-editor-selected-background: #d9d9d9;
+  --jp-editor-selected-focused-background: #d7d4f0;
+  --jp-editor-cursor-color: var(--jp-ui-font-color0);
+
+  /* Code mirror specific styles */
+
+  --jp-mirror-editor-keyword-color: #008000;
+  --jp-mirror-editor-atom-color: #88f;
+  --jp-mirror-editor-number-color: #080;
+  --jp-mirror-editor-def-color: #00f;
+  --jp-mirror-editor-variable-color: var(--md-grey-900);
+  --jp-mirror-editor-variable-2-color: #05a;
+  --jp-mirror-editor-variable-3-color: #085;
+  --jp-mirror-editor-punctuation-color: #05a;
+  --jp-mirror-editor-property-color: #05a;
+  --jp-mirror-editor-operator-color: #aa22ff;
+  --jp-mirror-editor-comment-color: #408080;
+  --jp-mirror-editor-string-color: #ba2121;
+  --jp-mirror-editor-string-2-color: #708;
+  --jp-mirror-editor-meta-color: #aa22ff;
+  --jp-mirror-editor-qualifier-color: #555;
+  --jp-mirror-editor-builtin-color: #008000;
+  --jp-mirror-editor-bracket-color: #997;
+  --jp-mirror-editor-tag-color: #170;
+  --jp-mirror-editor-attribute-color: #00c;
+  --jp-mirror-editor-header-color: blue;
+  --jp-mirror-editor-quote-color: #090;
+  --jp-mirror-editor-link-color: #00c;
+  --jp-mirror-editor-error-color: #f00;
+  --jp-mirror-editor-hr-color: #999;
+
+  /* Vega extension styles */
+
+  --jp-vega-background: white;
+
+  /* Sidebar-related styles */
+
+  --jp-sidebar-min-width: 250px;
+
+  /* Search-related styles */
+
+  --jp-search-toggle-off-opacity: 0.5;
+  --jp-search-toggle-hover-opacity: 0.8;
+  --jp-search-toggle-on-opacity: 1;
+  --jp-search-selected-match-background-color: rgb(245, 200, 0);
+  --jp-search-selected-match-color: black;
+  --jp-search-unselected-match-background-color: var(
+    --jp-inverse-layout-color0
+  );
+  --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0);
+
+  /* Icon colors that work well with light or dark backgrounds */
+  --jp-icon-contrast-color0: var(--md-purple-600);
+  --jp-icon-contrast-color1: var(--md-green-600);
+  --jp-icon-contrast-color2: var(--md-pink-600);
+  --jp-icon-contrast-color3: var(--md-blue-600);
+}
+</style>
+
+<style type="text/css">
+a.anchor-link {
+   display: none;
+}
+.highlight  {
+    margin: 0.4em;
+}
+
+/* Input area styling */
+.jp-InputArea {
+    overflow: hidden;
+}
+
+.jp-InputArea-editor {
+    overflow: hidden;
+}
+
+@media print {
+  body {
+    margin: 0;
+  }
+}
+</style>
+
+<!-- Load mathjax -->
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-MML-AM_CHTML-full,Safe"> </script>
+    <!-- MathJax configuration -->
+    <script type="text/x-mathjax-config">
+    init_mathjax = function() {
+        if (window.MathJax) {
+        // MathJax loaded
+            MathJax.Hub.Config({
+                TeX: {
+                    equationNumbers: {
+                    autoNumber: "AMS",
+                    useLabelIds: true
+                    }
+                },
+                tex2jax: {
+                    inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+                    displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
+                    processEscapes: true,
+                    processEnvironments: true
+                },
+                displayAlign: 'center',
+                CommonHTML: {
+                    linebreaks: { 
+                    automatic: true 
+                    }
+                },
+                "HTML-CSS": {
+                    linebreaks: { 
+                    automatic: true 
+                    }
+                }
+            });
+        
+            MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
+        }
+    }
+    init_mathjax();
+    </script>
+    <!-- End of mathjax configuration --></head>
+<body class="jp-Notebook" data-jp-theme-light="true" data-jp-theme-name="JupyterLab Light">
+
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<h1 id="TREXIO-Tutorial">TREXIO Tutorial<a class="anchor-link" href="#TREXIO-Tutorial">&#182;</a></h1>
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>This tutorial covers some basic use cases of the TREXIO library based on the Python API. At this point, it is assumed that the TREXIO Python package has been successfully installed on the user machine or in the virtual environment. If this is not the case, feel free to follow the <a href="https://github.com/TREX-CoE/trexio/blob/master/python/README.md">installation guide</a>.</p>
+
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<h2 id="Importing-TREXIO">Importing TREXIO<a class="anchor-link" href="#Importing-TREXIO">&#182;</a></h2>
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>First of all, let's import the TREXIO package.</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[1]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="k">try</span><span class="p">:</span>
+    <span class="kn">import</span> <span class="nn">trexio</span>
+<span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
+    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unable to import trexio. Please check that trexio is properly installed.&quot;</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>If no error occurs, then it means that the TREXIO package has been successfully imported. Within the current import, TREXIO attributes can be accessed using the corresponding <code>trexio.attribute</code> notation. If you prefer to bound a shorter name to the imported module (as commonly done by the NumPy users with <code>import numpy as np</code>), this is also possible. To do so, replace <code>import trexio</code> with <code>import trexio as tr</code> for example. To learn more about importing modules, see the corresponding page of the <a href="https://docs.python.org/3/tutorial/modules.html#more-on-modules">Python documentation</a>.</p>
+
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<h2 id="Creating-a-new-TREXIO-file">Creating a new TREXIO file<a class="anchor-link" href="#Creating-a-new-TREXIO-file">&#182;</a></h2>
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>TREXIO currently supports two back ends for file I/O:</p>
-<ol type="1">
-<li><p><code>TREXIO_HDF5</code>, which relies on extensive use of the <a href="https://portal.hdfgroup.org/display/HDF5/HDF5">HDF5 library</a> and the associated binary file format. This back end is optimized for high performance but it requires HDF5 to be installed on the user machine.</p></li>
-<li><p><code>TREXIO_TEXT</code>, which relies on basic I/O operations that are available in the standard C library. This back end is not optimized for performance but it is supposed to work “out-of-the-box” since there are no external dependencies.</p></li>
+<ol>
+<li><p><code>TREXIO_HDF5</code>, which relies on extensive use of the <a href="https://portal.hdfgroup.org/display/HDF5/HDF5">HDF5 library</a> and the associated binary file format. This back end is optimized for high performance but it requires HDF5 to be installed on the user machine.</p>
+</li>
+<li><p><code>TREXIO_TEXT</code>, which relies on basic I/O operations that are available in the standard C library. This back end is not optimized for performance but it is supposed to work "out-of-the-box" since there are no external dependencies.</p>
+</li>
 </ol>
-<p>Armed with these new definitions, let’s proceed with the tutorial. The first task is to create a TREXIO file called <code>benzene_demo.h5</code>. But first we have to remove the file if it exists in the current directory</p>
-<div class="sourceCode" id="cb2"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb2-1" title="1">filename <span class="op">=</span> <span class="st">&#39;benzene_demo.h5&#39;</span></a>
-<a class="sourceLine" id="cb2-2" title="2"></a>
-<a class="sourceLine" id="cb2-3" title="3"><span class="im">import</span> os</a>
-<a class="sourceLine" id="cb2-4" title="4"><span class="cf">try</span>:</a>
-<a class="sourceLine" id="cb2-5" title="5">    os.remove(filename)</a>
-<a class="sourceLine" id="cb2-6" title="6"><span class="cf">except</span>:</a>
-<a class="sourceLine" id="cb2-7" title="7">    <span class="bu">print</span>(<span class="ss">f&quot;File </span><span class="sc">{</span>filename<span class="sc">}</span><span class="ss"> does not exist.&quot;</span>)</a></code></pre></div>
-<pre><code>File benzene_demo.h5 does not exist.</code></pre>
+<p>Armed with these new definitions, let's proceed with the tutorial. The first task is to create a TREXIO file called <code>benzene_demo.h5</code>. But first we have to remove the file if it exists in the current directory</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[2]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">filename</span> <span class="o">=</span> <span class="s1">&#39;benzene_demo.h5&#39;</span>
+
+<span class="kn">import</span> <span class="nn">os</span>
+<span class="k">try</span><span class="p">:</span>
+    <span class="n">os</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span>
+<span class="k">except</span><span class="p">:</span>
+    <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;File </span><span class="si">{</span><span class="n">filename</span><span class="si">}</span><span class="s2"> does not exist.&quot;</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>File benzene_demo.h5 does not exist.
+</pre>
+</div>
+</div>
+
+</div>
+
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>We are now ready to create a new TREXIO file:</p>
-<div class="sourceCode" id="cb4"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb4-1" title="1">demo_file <span class="op">=</span> trexio.File(filename, mode<span class="op">=</span><span class="st">&#39;w&#39;</span>, back_end<span class="op">=</span>trexio.TREXIO_HDF5)</a></code></pre></div>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[3]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">demo_file</span> <span class="o">=</span> <span class="n">trexio</span><span class="o">.</span><span class="n">File</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">mode</span><span class="o">=</span><span class="s1">&#39;w&#39;</span><span class="p">,</span> <span class="n">back_end</span><span class="o">=</span><span class="n">trexio</span><span class="o">.</span><span class="n">TREXIO_HDF5</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>This creates an instance of the <code>trexio.File</code> class, which we refer to as <code>demo_file</code> in this tutorial. You can check that the corresponding file called <code>benzene_demo.h5</code> exists in the root directory. It is now open for writing as indicated by the user-supplied argument <code>mode='w'</code>. The file has been initiated using <code>TREXIO_HDF5</code> back end and will be accessed accordingly from now on. The information about back end is stored internally by TREXIO, which means that there is no need to specify it every time the I/O operation is performed. If the file named <code>benzene_demo.h5</code> already exists, then it is re-opened for writing (and not truncated to prevent data loss).</p>
-<h2 id="writing-data-in-the-trexio-file">Writing data in the TREXIO file</h2>
+
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<h2 id="Writing-data-in-the-TREXIO-file">Writing data in the TREXIO file<a class="anchor-link" href="#Writing-data-in-the-TREXIO-file">&#182;</a></h2>
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>Prior to any work with TREXIO library, we highly recommend users to read about <a href="https://trex-coe.github.io/trexio/trex.html">TREXIO internal configuration</a>, which explains the structure of the wavefunction file. The reason is that TREXIO API has a naming convention, which is based on the groups and variables names that are pre-defined by the developers. In this Tutorial, we will only cover contents of the <code>nucleus</code> group. Note that custom groups and variables can be added to the TREXIO API.</p>
-<p>In this Tutorial, we consider benzene molecule (C6H6) as an example. Since benzene has 12 atoms, let’s specify it in the previously created <code>demo_file</code>. In order to do so, one has to call <code>trexio.write_nucleus_num</code> function, which accepts an instance of the <code>trexio.File</code> class as a first argument and an <code>int</code> value corresponding to the number of nuclei as a second argument.</p>
-<div class="sourceCode" id="cb5"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb5-1" title="1">nucleus_num <span class="op">=</span> <span class="dv">12</span></a></code></pre></div>
-<div class="sourceCode" id="cb6"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb6-1" title="1">trexio.write_nucleus_num(demo_file, nucleus_num)</a></code></pre></div>
-<p>In fact, all API functions that contain <code>write_</code> prefix can be used in a similar way. Variables that contain <code>_num</code> suffix are important part of the TREXIO file because some of them define dimensions of arrays. For example, <code>nucleus_num</code> variable corresponds to the number of atoms, which will be internally used to write/read the <code>nucleus_coord</code> array of nuclear coordinates. In order for TREXIO files to be self-consistent, overwriting num-suffixed variables is currently disabled.</p>
-<p>The number of atoms is not sufficient to define a molecule. Let’s first create a list of nuclear charges, which correspond to benzene.</p>
-<div class="sourceCode" id="cb7"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb7-1" title="1">charges <span class="op">=</span> [<span class="fl">6.</span>, <span class="fl">6.</span>, <span class="fl">6.</span>, <span class="fl">6.</span>, <span class="fl">6.</span>, <span class="fl">6.</span>, <span class="fl">1.</span>, <span class="fl">1.</span>, <span class="fl">1.</span>, <span class="fl">1.</span>, <span class="fl">1.</span>, <span class="fl">1.</span>]</a></code></pre></div>
+
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>In this tutorial, we consider benzene molecule (C6H6) as an example. Since benzene has 12 atoms, let's specify it in the previously created <code>demo_file</code>. In order to do so, one has to call <code>trexio.write_nucleus_num</code> function, which accepts an instance of the <code>trexio.File</code> class as a first argument and an <code>int</code> value corresponding to the number of nuclei as a second argument.</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[4]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">nucleus_num</span> <span class="o">=</span> <span class="mi">12</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[5]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">trexio</span><span class="o">.</span><span class="n">write_nucleus_num</span><span class="p">(</span><span class="n">demo_file</span><span class="p">,</span> <span class="n">nucleus_num</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>In fact, all API functions that contain <code>write_</code> prefix can be used in a similar way. 
+Variables that contain <code>_num</code> suffix (or <code>dim</code> type) are important part of the TREXIO file because some of them define dimensions of arrays. For example, <code>nucleus_num</code> variable corresponds to the number of atoms, which will be internally used to write/read the <code>nucleus_coord</code> array of nuclear coordinates. In order for TREXIO files to be self-consistent, the data in the file cannot be overwritten.</p>
+
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>The number of atoms is not sufficient to define a molecule. Let's first create a list of nuclear charges, which correspond to benzene.</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[6]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">charges</span> <span class="o">=</span> <span class="p">[</span><span class="mf">6.</span><span class="p">,</span> <span class="mf">6.</span><span class="p">,</span> <span class="mf">6.</span><span class="p">,</span> <span class="mf">6.</span><span class="p">,</span> <span class="mf">6.</span><span class="p">,</span> <span class="mf">6.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">]</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>According to the TREX configuration file, there is a <code>charge</code> attribute of the <code>nucleus</code> group, which has <code>float</code> type and <code>[nucleus_num]</code> dimension. The <code>charges</code> list defined above fits nicely in the description and can be written as follows</p>
-<div class="sourceCode" id="cb8"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb8-1" title="1">trexio.write_nucleus_charge(demo_file, charges)</a></code></pre></div>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[7]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">trexio</span><span class="o">.</span><span class="n">write_nucleus_charge</span><span class="p">(</span><span class="n">demo_file</span><span class="p">,</span> <span class="n">charges</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p><strong>Note: TREXIO function names only contain parts in singular form.</strong> This means that, both <code>write_nucleus_charges</code> and <code>write_nuclear_charges</code> are invalid API calls. These functions simply do not exist in the <code>trexio</code> Python package and the corresponding error message should appear.</p>
-<p>Alternatively, one can provide a list of nuclear labels (chemical elements from the periodic table) that correspond to the aforementioned charges. There is a <code>label</code> attribute of the <code>nucleus</code> group, which has <code>str</code> type and <code>[nucleus_num]</code> dimension. Let’s create a list of 12 strings, which correspond to 6 carbon and 6 hydrogen atoms:</p>
-<div class="sourceCode" id="cb9"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb9-1" title="1">labels <span class="op">=</span> [</a>
-<a class="sourceLine" id="cb9-2" title="2">    <span class="st">&#39;C&#39;</span>,</a>
-<a class="sourceLine" id="cb9-3" title="3">    <span class="st">&#39;C&#39;</span>,</a>
-<a class="sourceLine" id="cb9-4" title="4">    <span class="st">&#39;C&#39;</span>,</a>
-<a class="sourceLine" id="cb9-5" title="5">    <span class="st">&#39;C&#39;</span>,</a>
-<a class="sourceLine" id="cb9-6" title="6">    <span class="st">&#39;C&#39;</span>,</a>
-<a class="sourceLine" id="cb9-7" title="7">    <span class="st">&#39;C&#39;</span>,</a>
-<a class="sourceLine" id="cb9-8" title="8">    <span class="st">&#39;H&#39;</span>,</a>
-<a class="sourceLine" id="cb9-9" title="9">    <span class="st">&#39;H&#39;</span>,</a>
-<a class="sourceLine" id="cb9-10" title="10">    <span class="st">&#39;H&#39;</span>,</a>
-<a class="sourceLine" id="cb9-11" title="11">    <span class="st">&#39;H&#39;</span>,</a>
-<a class="sourceLine" id="cb9-12" title="12">    <span class="st">&#39;H&#39;</span>,</a>
-<a class="sourceLine" id="cb9-13" title="13">    <span class="st">&#39;H&#39;</span>]</a></code></pre></div>
+
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>Alternatively, one can provide a list of nuclear labels (chemical elements from the periodic table) that correspond to the aforementioned charges. There is a <code>label</code> attribute of the <code>nucleus</code> group, which has <code>str</code> type and <code>[nucleus_num]</code> dimension. Let's create a list of 12 strings, which correspond to 6 carbon and 6 hydrogen atoms:</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[8]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">labels</span> <span class="o">=</span> <span class="p">[</span>
+    <span class="s1">&#39;C&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;C&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;C&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;C&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;C&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;C&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;H&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;H&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;H&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;H&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;H&#39;</span><span class="p">,</span>
+    <span class="s1">&#39;H&#39;</span><span class="p">]</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>This can now be written using the corresponding <code>trexio.write_nucleus_label</code> function:</p>
-<div class="sourceCode" id="cb10"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb10-1" title="1">trexio.write_nucleus_label(demo_file, labels)</a></code></pre></div>
-<p>Two examples above demonstrate how to write arrays of numbers or strings in the file. TREXIO also supports I/O operations on single numerical or string attributes. In fact, in this Tutorial you have already written one numerical attribute: <code>nucleus_num</code>. Let’s now write a string <code>'D6h'</code>, which indicates a point group of benzene molecule. According to the TREX configuration file, <code>point_group</code> is a <code>str</code> attribute of the <code>nucleus</code> group, thus it can be written in the <code>demo_file</code> as follows</p>
-<div class="sourceCode" id="cb11"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb11-1" title="1">point_group <span class="op">=</span> <span class="st">&#39;D6h&#39;</span></a></code></pre></div>
-<div class="sourceCode" id="cb12"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb12-1" title="1">trexio.write_nucleus_point_group(demo_file, point_group)</a></code></pre></div>
-<h3 id="writing-numpy-arrays-float-or-int-types">Writing NumPy arrays (float or int types)</h3>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[9]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">trexio</span><span class="o">.</span><span class="n">write_nucleus_label</span><span class="p">(</span><span class="n">demo_file</span><span class="p">,</span> <span class="n">labels</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>Two examples above demonstrate how to write arrays of numbers or strings in the file. TREXIO also supports I/O operations on single numerical or string attributes. In fact, in this Tutorial you have already written one numerical attribute: <code>nucleus_num</code>. Let's now write a string <code>'D6h'</code>, which indicates a point group of benzene molecule. According to the TREX configuration file, <code>point_group</code> is a <code>str</code> attribute of the <code>nucleus</code> group, thus it can be written in the <code>demo_file</code> as follows</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[10]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">point_group</span> <span class="o">=</span> <span class="s1">&#39;D6h&#39;</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[11]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">trexio</span><span class="o">.</span><span class="n">write_nucleus_point_group</span><span class="p">(</span><span class="n">demo_file</span><span class="p">,</span> <span class="n">point_group</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<h3 id="Writing-NumPy-arrays-(float-or-int-types)">Writing NumPy arrays (float or int types)<a class="anchor-link" href="#Writing-NumPy-arrays-(float-or-int-types)">&#182;</a></h3>
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>The aforementioned examples cover the majority of the currently implemented functionality related to writing data in the file. It is worth mentioning that I/O of numerical arrays in TREXIO Python API relies on extensive use of the <a href="https://numpy.org/">NumPy package</a>. This will be discussed in more details in the <a href="#Reading-data-from-the-TREXIO-file">section about reading data</a>. However, TREXIO <code>write_</code> functions that work with numerical arrays also accept <code>numpy.ndarray</code> objects. For example, consider a <code>coords</code> list of nuclear coordinates that correspond to benzene molecule</p>
-<div class="sourceCode" id="cb13"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb13-1" title="1">coords <span class="op">=</span> [</a>
-<a class="sourceLine" id="cb13-2" title="2">    [<span class="fl">0.00000000</span>  ,  <span class="fl">1.39250319</span> ,  <span class="fl">0.00000000</span> ],</a>
-<a class="sourceLine" id="cb13-3" title="3">    [<span class="op">-</span><span class="fl">1.20594314</span> ,  <span class="fl">0.69625160</span> ,  <span class="fl">0.00000000</span> ],</a>
-<a class="sourceLine" id="cb13-4" title="4">    [<span class="op">-</span><span class="fl">1.20594314</span> , <span class="fl">-0.69625160</span> ,  <span class="fl">0.00000000</span> ],</a>
-<a class="sourceLine" id="cb13-5" title="5">    [<span class="fl">0.00000000</span>  , <span class="fl">-1.39250319</span> ,  <span class="fl">0.00000000</span> ],</a>
-<a class="sourceLine" id="cb13-6" title="6">    [<span class="fl">1.20594314</span>  , <span class="fl">-0.69625160</span> ,  <span class="fl">0.00000000</span> ],</a>
-<a class="sourceLine" id="cb13-7" title="7">    [<span class="fl">1.20594314</span>  ,  <span class="fl">0.69625160</span> ,  <span class="fl">0.00000000</span> ],</a>
-<a class="sourceLine" id="cb13-8" title="8">    [<span class="op">-</span><span class="fl">2.14171677</span> ,  <span class="fl">1.23652075</span> ,  <span class="fl">0.00000000</span> ],</a>
-<a class="sourceLine" id="cb13-9" title="9">    [<span class="op">-</span><span class="fl">2.14171677</span> , <span class="fl">-1.23652075</span> ,  <span class="fl">0.00000000</span> ],</a>
-<a class="sourceLine" id="cb13-10" title="10">    [<span class="fl">0.00000000</span>  , <span class="fl">-2.47304151</span> ,  <span class="fl">0.00000000</span> ],</a>
-<a class="sourceLine" id="cb13-11" title="11">    [<span class="fl">2.14171677</span>  , <span class="fl">-1.23652075</span> ,  <span class="fl">0.00000000</span> ],</a>
-<a class="sourceLine" id="cb13-12" title="12">    [<span class="fl">2.14171677</span>  ,  <span class="fl">1.23652075</span> ,  <span class="fl">0.00000000</span> ],</a>
-<a class="sourceLine" id="cb13-13" title="13">    [<span class="fl">0.00000000</span>  ,  <span class="fl">2.47304151</span> ,  <span class="fl">0.00000000</span> ],</a>
-<a class="sourceLine" id="cb13-14" title="14">    ]</a></code></pre></div>
-<p>Let’s take advantage of using NumPy arrays with fixed precision for floating point numbers. But first, try to import the <code>numpy</code> package</p>
-<div class="sourceCode" id="cb14"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb14-1" title="1"><span class="cf">try</span>:</a>
-<a class="sourceLine" id="cb14-2" title="2">    <span class="im">import</span> numpy <span class="im">as</span> np</a>
-<a class="sourceLine" id="cb14-3" title="3"><span class="cf">except</span> <span class="pp">ImportError</span>:</a>
-<a class="sourceLine" id="cb14-4" title="4">    <span class="cf">raise</span> <span class="pp">Exception</span>(<span class="st">&quot;Unable to import numpy. Please check that numpy is properly instaled.&quot;</span>)</a></code></pre></div>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[12]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">coords</span> <span class="o">=</span> <span class="p">[</span>
+    <span class="p">[</span><span class="mf">0.00000000</span>  <span class="p">,</span>  <span class="mf">1.39250319</span> <span class="p">,</span>  <span class="mf">0.00000000</span> <span class="p">],</span>
+    <span class="p">[</span><span class="o">-</span><span class="mf">1.20594314</span> <span class="p">,</span>  <span class="mf">0.69625160</span> <span class="p">,</span>  <span class="mf">0.00000000</span> <span class="p">],</span>
+    <span class="p">[</span><span class="o">-</span><span class="mf">1.20594314</span> <span class="p">,</span> <span class="o">-</span><span class="mf">0.69625160</span> <span class="p">,</span>  <span class="mf">0.00000000</span> <span class="p">],</span>
+    <span class="p">[</span><span class="mf">0.00000000</span>  <span class="p">,</span> <span class="o">-</span><span class="mf">1.39250319</span> <span class="p">,</span>  <span class="mf">0.00000000</span> <span class="p">],</span>
+    <span class="p">[</span><span class="mf">1.20594314</span>  <span class="p">,</span> <span class="o">-</span><span class="mf">0.69625160</span> <span class="p">,</span>  <span class="mf">0.00000000</span> <span class="p">],</span>
+    <span class="p">[</span><span class="mf">1.20594314</span>  <span class="p">,</span>  <span class="mf">0.69625160</span> <span class="p">,</span>  <span class="mf">0.00000000</span> <span class="p">],</span>
+    <span class="p">[</span><span class="o">-</span><span class="mf">2.14171677</span> <span class="p">,</span>  <span class="mf">1.23652075</span> <span class="p">,</span>  <span class="mf">0.00000000</span> <span class="p">],</span>
+    <span class="p">[</span><span class="o">-</span><span class="mf">2.14171677</span> <span class="p">,</span> <span class="o">-</span><span class="mf">1.23652075</span> <span class="p">,</span>  <span class="mf">0.00000000</span> <span class="p">],</span>
+    <span class="p">[</span><span class="mf">0.00000000</span>  <span class="p">,</span> <span class="o">-</span><span class="mf">2.47304151</span> <span class="p">,</span>  <span class="mf">0.00000000</span> <span class="p">],</span>
+    <span class="p">[</span><span class="mf">2.14171677</span>  <span class="p">,</span> <span class="o">-</span><span class="mf">1.23652075</span> <span class="p">,</span>  <span class="mf">0.00000000</span> <span class="p">],</span>
+    <span class="p">[</span><span class="mf">2.14171677</span>  <span class="p">,</span>  <span class="mf">1.23652075</span> <span class="p">,</span>  <span class="mf">0.00000000</span> <span class="p">],</span>
+    <span class="p">[</span><span class="mf">0.00000000</span>  <span class="p">,</span>  <span class="mf">2.47304151</span> <span class="p">,</span>  <span class="mf">0.00000000</span> <span class="p">],</span>
+    <span class="p">]</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>Let's take advantage of using NumPy arrays with fixed precision for floating point numbers. But first, try to import the <code>numpy</code> package</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[13]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="k">try</span><span class="p">:</span>
+    <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
+<span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
+    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unable to import numpy. Please check that numpy is properly installed.&quot;</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>You can now convert the previously defined <code>coords</code> list into a numpy array with fixed <code>float64</code> type as follows</p>
-<div class="sourceCode" id="cb15"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb15-1" title="1">coords_np <span class="op">=</span> np.array(coords, dtype<span class="op">=</span>np.float64)</a></code></pre></div>
-<p>TREXIO functions that write numerical arrays accept both lists and numpy arrays as a second argument. That is, both <code>trexio.write_nucleus_coord(demo_file, coords)</code> and <code>trexio.write_nucleus_coord(demo_file, coords_np)</code> are valid API calls. Let’s use the latter and see if it works</p>
-<div class="sourceCode" id="cb16"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb16-1" title="1">trexio.write_nucleus_coord(demo_file, coords_np)</a></code></pre></div>
-<p>Congratulations, you have just completed the <code>nucleus</code> section of the TREXIO file for benzene molecule! Note that TREXIO API is rather permissive and do not impose any strict ordering on the I/O operations. The only requirement is that dimensioning (<code>_num</code> suffixed) variables have to be written in the file <strong>before</strong> writing arrays that depend on these variables. For example, attempting to write <code>nucleus_charge</code> or <code>nucleus_coord</code> fails if <code>nucleus_num</code> has not been written.</p>
-<h3 id="trexio-error-handling">TREXIO error handling</h3>
-<p>TREXIO Python API provides the <code>trexio.Error</code> class which simplifies exception handling in the Python scripts. This class wraps up TREXIO return codes and propagates them all the way from the C back end to the Python front end. Let’s try to write a negative number of basis set shells <code>basis_num</code> in the TREXIO file.</p>
-<div class="sourceCode" id="cb17"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb17-1" title="1"><span class="cf">try</span>:</a>
-<a class="sourceLine" id="cb17-2" title="2">    trexio.write_basis_num(demo_file, <span class="dv">-256</span>)</a>
-<a class="sourceLine" id="cb17-3" title="3"><span class="cf">except</span> trexio.Error <span class="im">as</span> e:</a>
-<a class="sourceLine" id="cb17-4" title="4">    <span class="bu">print</span>(<span class="ss">f&quot;TREXIO error message: </span><span class="sc">{e.</span>message<span class="sc">}</span><span class="ss">&quot;</span>)</a></code></pre></div>
-<pre><code>TREXIO error message: Invalid argument 2</code></pre>
-<p>The error message says <strong>Invalid argument 2</strong>, which indicates that the user-provided value <code>-256</code> is not valid.</p>
-<p>As mentioned before, <code>_num</code>-suffixed variables cannot be overwritten in the file. But what happens if you accidentally attempt to do so? Let’s have a look at the <code>write_nucleus_num</code> function as an example:</p>
-<div class="sourceCode" id="cb19"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb19-1" title="1"><span class="cf">try</span>:</a>
-<a class="sourceLine" id="cb19-2" title="2">    trexio.write_nucleus_num(demo_file, <span class="dv">24</span>)</a>
-<a class="sourceLine" id="cb19-3" title="3"><span class="cf">except</span> trexio.Error <span class="im">as</span> e:</a>
-<a class="sourceLine" id="cb19-4" title="4">    <span class="bu">print</span>(<span class="ss">f&quot;TREXIO error message: </span><span class="sc">{e.</span>message<span class="sc">}</span><span class="ss">&quot;</span>)</a></code></pre></div>
-<pre><code>TREXIO error message: Attribute already exists</code></pre>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[14]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">coords_np</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">coords</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>TREXIO functions that write numerical arrays accept both lists and numpy arrays as a second argument. That is, both <code>trexio.write_nucleus_coord(demo_file, coords)</code> and <code>trexio.write_nucleus_coord(demo_file, coords_np)</code> are valid API calls. Let's use the latter and see if it works</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[15]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">trexio</span><span class="o">.</span><span class="n">write_nucleus_coord</span><span class="p">(</span><span class="n">demo_file</span><span class="p">,</span> <span class="n">coords_np</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>Congratulations, you have just completed the <code>nucleus</code> section of the TREXIO file for benzene molecule! Note that TREXIO API is rather permissive and do not impose any strict ordering on the I/O operations. The only requirement is that dimensioning (see <code>dim</code> type) attributes have to be written in the file <strong>before</strong> writing arrays that depend on these variables. For example, attempting to write <code>nucleus_charge</code> or <code>nucleus_coord</code> fails if <code>nucleus_num</code> has not been written.</p>
+
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<h3 id="TREXIO-error-handling">TREXIO error handling<a class="anchor-link" href="#TREXIO-error-handling">&#182;</a></h3>
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>TREXIO Python API provides the <code>trexio.Error</code> class which simplifies exception handling in the Python scripts. This class wraps up TREXIO return codes and propagates them all the way from the C back end to the Python front end. Let's try to write a negative number of basis set shells <code>basis_num</code> in the TREXIO file.</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[16]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="k">try</span><span class="p">:</span>
+    <span class="n">trexio</span><span class="o">.</span><span class="n">write_basis_num</span><span class="p">(</span><span class="n">demo_file</span><span class="p">,</span> <span class="o">-</span><span class="mi">256</span><span class="p">)</span>
+<span class="k">except</span> <span class="n">trexio</span><span class="o">.</span><span class="n">Error</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+    <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;TREXIO error message: </span><span class="si">{</span><span class="n">e</span><span class="o">.</span><span class="n">message</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>TREXIO error message: Invalid (negative or 0) dimension
+</pre>
+</div>
+</div>
+
+</div>
+
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>The error message says <strong>Invalid (negative or 0) dimension</strong>, which indicates that the user-provided value <code>-256</code> is not valid.</p>
+
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>As mentioned before, the data in the TREXIO file cannot be overwritten. But what happens if you accidentally attempt to do so? Let's have a look at the <code>write_nucleus_num</code> function as an example:</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[17]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="k">try</span><span class="p">:</span>
+    <span class="n">trexio</span><span class="o">.</span><span class="n">write_nucleus_num</span><span class="p">(</span><span class="n">demo_file</span><span class="p">,</span> <span class="mi">24</span><span class="p">)</span>
+<span class="k">except</span> <span class="n">trexio</span><span class="o">.</span><span class="n">Error</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+    <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;TREXIO error message: </span><span class="si">{</span><span class="n">e</span><span class="o">.</span><span class="n">message</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>TREXIO error message: Attribute already exists
+</pre>
+</div>
+</div>
+
+</div>
+
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>The API rightfully complains that the target attribute already exists and cannot be overwritten.</p>
+
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>Alternatively, the aforementioned case can be handled using <code>trexio.has_nucleus_num</code> function as follows</p>
-<div class="sourceCode" id="cb21"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb21-1" title="1"><span class="cf">if</span> <span class="kw">not</span> trexio.has_nucleus_num:</a>
-<a class="sourceLine" id="cb21-2" title="2">    trexio.write_nucleus_num(demo_file, <span class="dv">24</span>)</a></code></pre></div>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[18]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="k">if</span> <span class="ow">not</span> <span class="n">trexio</span><span class="o">.</span><span class="n">has_nucleus_num</span><span class="p">:</span>
+    <span class="n">trexio</span><span class="o">.</span><span class="n">write_nucleus_num</span><span class="p">(</span><span class="n">demo_file</span><span class="p">,</span> <span class="mi">24</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>TREXIO functions with <code>has_</code> prefix return <code>True</code> if the corresponding variable exists and <code>False</code> otherwise.</p>
-<p>What about writing arrays? Let’s try to write an list of 48 nuclear indices instead of 12</p>
-<div class="sourceCode" id="cb22"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb22-1" title="1">indices <span class="op">=</span> [i <span class="cf">for</span> i <span class="kw">in</span> <span class="bu">range</span>(nucleus_num<span class="op">*</span><span class="dv">4</span>)]</a></code></pre></div>
-<div class="sourceCode" id="cb23"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb23-1" title="1"><span class="cf">try</span>:</a>
-<a class="sourceLine" id="cb23-2" title="2">    trexio.write_basis_nucleus_index(demo_file, indices)</a>
-<a class="sourceLine" id="cb23-3" title="3"><span class="cf">except</span> trexio.Error <span class="im">as</span> e:</a>
-<a class="sourceLine" id="cb23-4" title="4">    <span class="bu">print</span>(<span class="ss">f&quot;TREXIO error message: </span><span class="sc">{e.</span>message<span class="sc">}</span><span class="ss">&quot;</span>)</a></code></pre></div>
-<pre><code>TREXIO error message: Access to memory beyond allocated</code></pre>
+
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>What about writing arrays? Let's try to write an list of 48 nuclear indices instead of 12</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[19]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">indices</span> <span class="o">=</span> <span class="p">[</span><span class="n">i</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nucleus_num</span><span class="o">*</span><span class="mi">4</span><span class="p">)]</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[20]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="k">try</span><span class="p">:</span>
+    <span class="n">trexio</span><span class="o">.</span><span class="n">write_basis_nucleus_index</span><span class="p">(</span><span class="n">demo_file</span><span class="p">,</span> <span class="n">indices</span><span class="p">)</span>
+<span class="k">except</span> <span class="n">trexio</span><span class="o">.</span><span class="n">Error</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
+    <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;TREXIO error message: </span><span class="si">{</span><span class="n">e</span><span class="o">.</span><span class="n">message</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>TREXIO error message: Access to memory beyond allocated
+</pre>
+</div>
+</div>
+
+</div>
+
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>According to the TREX configuration file, <code>nucleus_index</code> attribute of a <code>basis</code> group is supposed to have <code>[nucleus_num]</code> elements. In the example above, we have tried to write 4 times more elements, which might lead to memory and/or file corruption. Luckily, TREXIO internally checks the array dimensions and returns an error in case of inconsistency.</p>
-<h2 id="closing-the-trexio-file">Closing the TREXIO file</h2>
+
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<h2 id="Closing-the-TREXIO-file">Closing the TREXIO file<a class="anchor-link" href="#Closing-the-TREXIO-file">&#182;</a></h2>
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>It is good practice to close the TREXIO file at the end of the session. In fact, <code>trexio.File</code> class has a destructor, which normally takes care of that. However, if you intend to re-open the TREXIO file, it has to be closed explicitly before. This can be done using the <code>close</code> method, i.e.</p>
-<div class="sourceCode" id="cb25"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb25-1" title="1">demo_file.close()</a></code></pre></div>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[21]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">demo_file</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>Good! You are now ready to inspect the contents of the <code>benzene_demo.h5</code> file using the reading functionality of TREXIO.</p>
-<h2 id="reading-data-from-the-trexio-file">Reading data from the TREXIO file</h2>
-<p>First, let’s try to open an existing TREXIO file in read-only mode. This can be done by creating a new instance of the <code>trexio.File</code> class but this time with <code>mode='r'</code> argument. Back end has to be specified as well.</p>
-<div class="sourceCode" id="cb26"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb26-1" title="1">demo_file_r <span class="op">=</span> trexio.File(filename, mode<span class="op">=</span><span class="st">&#39;r&#39;</span>, back_end<span class="op">=</span>trexio.TREXIO_HDF5)</a></code></pre></div>
+
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<h2 id="Reading-data-from-the-TREXIO-file">Reading data from the TREXIO file<a class="anchor-link" href="#Reading-data-from-the-TREXIO-file">&#182;</a></h2>
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>First, let's try to open an existing TREXIO file in read-only mode. This can be done by creating a new instance of the <code>trexio.File</code> class but this time with <code>mode='r'</code> argument. Back end has to be specified as well.</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[22]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">demo_file_r</span> <span class="o">=</span> <span class="n">trexio</span><span class="o">.</span><span class="n">File</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">mode</span><span class="o">=</span><span class="s1">&#39;r&#39;</span><span class="p">,</span> <span class="n">back_end</span><span class="o">=</span><span class="n">trexio</span><span class="o">.</span><span class="n">TREXIO_HDF5</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>When reading data from the TREXIO file, the only required argument is a previously created instance of <code>trexio.File</code> class. In our case, it is <code>demo_file_r</code>. TREXIO functions with <code>read_</code> prefix return the desired variable as an output. For example, <code>nucleus_num</code> value can be read from the file as follows</p>
-<div class="sourceCode" id="cb27"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb27-1" title="1">nucleus_num_r <span class="op">=</span> trexio.read_nucleus_num(demo_file_r)</a></code></pre></div>
-<div class="sourceCode" id="cb28"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb28-1" title="1"><span class="bu">print</span>(<span class="ss">f&quot;nucleus_num from </span><span class="sc">{</span>filename<span class="sc">}</span><span class="ss"> file ---&gt; </span><span class="sc">{</span>nucleus_num_r<span class="sc">}</span><span class="ss">&quot;</span>)</a></code></pre></div>
-<pre><code>nucleus_num from benzene_demo.h5 file ---&gt; 12</code></pre>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[23]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">nucleus_num_r</span> <span class="o">=</span> <span class="n">trexio</span><span class="o">.</span><span class="n">read_nucleus_num</span><span class="p">(</span><span class="n">demo_file_r</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[24]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;nucleus_num from </span><span class="si">{</span><span class="n">filename</span><span class="si">}</span><span class="s2"> file ---&gt; </span><span class="si">{</span><span class="n">nucleus_num_r</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>nucleus_num from benzene_demo.h5 file ---&gt; 12
+</pre>
+</div>
+</div>
+
+</div>
+
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>The function call assigns <code>nucleus_num_r</code> to 12, which is consistent with the number of atoms in benzene that we wrote in the previous section.</p>
+
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>All calls to functions that read data can be done in a very similar way. The key point here is a function name, which in turn defines the output format. Hopefully by now you got used to the TREXIO naming convention and the contents of the <code>nucleus</code> group. Which function would you call to read a <code>point_group</code> attribute of the <code>nucleus</code> group? What type does it return? See the answer below:</p>
-<div class="sourceCode" id="cb30"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb30-1" title="1">point_group_r <span class="op">=</span> trexio.read_nucleus_point_group(demo_file_r)</a></code></pre></div>
-<div class="sourceCode" id="cb31"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb31-1" title="1"><span class="bu">print</span>(<span class="ss">f&quot;nucleus_point_group from </span><span class="sc">{</span>filename<span class="sc">}</span><span class="ss"> TREXIO file ---&gt; </span><span class="sc">{</span>point_group_r<span class="sc">}</span><span class="ch">\n</span><span class="ss">&quot;</span>)</a>
-<a class="sourceLine" id="cb31-2" title="2"><span class="bu">print</span>(<span class="ss">f&quot;Is return type of read_nucleus_point_group a string? ---&gt; </span><span class="sc">{</span><span class="bu">isinstance</span>(point_group_r, <span class="bu">str</span>)<span class="sc">}</span><span class="ss">&quot;</span>)</a></code></pre></div>
-<pre><code>nucleus_point_group from benzene_demo.h5 TREXIO file ---&gt; D6h
-
-Is return type of read_nucleus_point_group a string? ---&gt; True</code></pre>
-<p>The <code>trexio.read_nucleus_point_group</code> function call returns a string <code>D6h</code>, which is exactly what we provided in the previous section. Now, let’s read nuclear charges and labels.</p>
-<div class="sourceCode" id="cb33"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb33-1" title="1">labels_r <span class="op">=</span> trexio.read_nucleus_label(demo_file_r)</a></code></pre></div>
-<div class="sourceCode" id="cb34"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb34-1" title="1"><span class="bu">print</span>(<span class="ss">f&quot;nucleus_label from </span><span class="sc">{</span>filename<span class="sc">}</span><span class="ss"> file </span><span class="ch">\n</span><span class="ss">---&gt; </span><span class="sc">{</span>labels_r<span class="sc">}</span><span class="ss">&quot;</span>)</a></code></pre></div>
-<pre><code>nucleus_label from benzene_demo.h5 file 
----&gt; [&#39;C&#39;, &#39;C&#39;, &#39;C&#39;, &#39;C&#39;, &#39;C&#39;, &#39;C&#39;, &#39;H&#39;, &#39;H&#39;, &#39;H&#39;, &#39;H&#39;, &#39;H&#39;, &#39;H&#39;]</code></pre>
-<div class="sourceCode" id="cb36"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb36-1" title="1">charges_r <span class="op">=</span> trexio.read_nucleus_charge(demo_file_r)</a></code></pre></div>
-<div class="sourceCode" id="cb37"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb37-1" title="1"><span class="bu">print</span>(<span class="ss">f&quot;nucleus_charge from </span><span class="sc">{</span>filename<span class="sc">}</span><span class="ss"> file </span><span class="ch">\n</span><span class="ss">---&gt; </span><span class="sc">{</span>charges_r<span class="sc">}</span><span class="ss">&quot;</span>)</a></code></pre></div>
-<pre><code>nucleus_charge from benzene_demo.h5 file 
----&gt; [6. 6. 6. 6. 6. 6. 1. 1. 1. 1. 1. 1.]</code></pre>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[25]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">point_group_r</span> <span class="o">=</span> <span class="n">trexio</span><span class="o">.</span><span class="n">read_nucleus_point_group</span><span class="p">(</span><span class="n">demo_file_r</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[26]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;nucleus_point_group from </span><span class="si">{</span><span class="n">filename</span><span class="si">}</span><span class="s2"> TREXIO file ---&gt; </span><span class="si">{</span><span class="n">point_group_r</span><span class="si">}</span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">)</span>
+<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Is return type of read_nucleus_point_group a string? ---&gt; </span><span class="si">{</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">point_group_r</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>nucleus_point_group from benzene_demo.h5 TREXIO file ---&gt; D6h
+
+Is return type of read_nucleus_point_group a string? ---&gt; True
+</pre>
+</div>
+</div>
+
+</div>
+
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>The <code>trexio.read_nucleus_point_group</code> function call returns a string <code>D6h</code>, which is exactly what we provided in the previous section. Now, let's read nuclear charges and labels.</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[27]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">labels_r</span> <span class="o">=</span> <span class="n">trexio</span><span class="o">.</span><span class="n">read_nucleus_label</span><span class="p">(</span><span class="n">demo_file_r</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[28]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;nucleus_label from </span><span class="si">{</span><span class="n">filename</span><span class="si">}</span><span class="s2"> file </span><span class="se">\n</span><span class="s2">---&gt; </span><span class="si">{</span><span class="n">labels_r</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>nucleus_label from benzene_demo.h5 file 
+---&gt; [&#39;C&#39;, &#39;C&#39;, &#39;C&#39;, &#39;C&#39;, &#39;C&#39;, &#39;C&#39;, &#39;H&#39;, &#39;H&#39;, &#39;H&#39;, &#39;H&#39;, &#39;H&#39;, &#39;H&#39;]
+</pre>
+</div>
+</div>
+
+</div>
+
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[29]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">charges_r</span> <span class="o">=</span> <span class="n">trexio</span><span class="o">.</span><span class="n">read_nucleus_charge</span><span class="p">(</span><span class="n">demo_file_r</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[30]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;nucleus_charge from </span><span class="si">{</span><span class="n">filename</span><span class="si">}</span><span class="s2"> file </span><span class="se">\n</span><span class="s2">---&gt; </span><span class="si">{</span><span class="n">charges_r</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>nucleus_charge from benzene_demo.h5 file 
+---&gt; [6. 6. 6. 6. 6. 6. 1. 1. 1. 1. 1. 1.]
+</pre>
+</div>
+</div>
+
+</div>
+
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>The values are consistent with each other and with the previously written data. Not bad. What about the format of the output?</p>
-<div class="sourceCode" id="cb39"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb39-1" title="1"><span class="bu">print</span>(<span class="ss">f&quot;nucleus_label return type: </span><span class="sc">{</span><span class="bu">type</span>(labels_r)<span class="sc">}</span><span class="ss">&quot;</span>)</a></code></pre></div>
-<pre><code>nucleus_label return type: &lt;class &#39;list&#39;&gt;</code></pre>
-<p>This makes sense, isn’t it? We have written a <code>list</code> of nuclear labels and have received back a <code>list</code> of values from the file. What about nuclear charges?</p>
-<div class="sourceCode" id="cb41"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb41-1" title="1"><span class="bu">print</span>(<span class="ss">f&quot;nucleus_charge return type: </span><span class="sc">{</span><span class="bu">type</span>(charges_r)<span class="sc">}</span><span class="ss">&quot;</span>)</a></code></pre></div>
-<pre><code>nucleus_charge return type: &lt;class &#39;numpy.ndarray&#39;&gt;</code></pre>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[31]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;nucleus_label return type: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">labels_r</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>nucleus_label return type: &lt;class &#39;list&#39;&gt;
+</pre>
+</div>
+</div>
+
+</div>
+
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>This makes sense, isn't it? We have written a <code>list</code> of nuclear labels and have received back a <code>list</code> of values from the file. What about nuclear charges?</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[32]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;nucleus_charge return type: </span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="n">charges_r</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>nucleus_charge return type: &lt;class &#39;numpy.ndarray&#39;&gt;
+</pre>
+</div>
+</div>
+
+</div>
+
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>Looks like <code>trexio.read_nucleus_charge</code> function returns a <code>numpy.ndarray</code> even though we have provided a python-ic <code>list</code> to <code>trexio.write_nucleus_charge</code> in the previous section. Why is it so? As has been mentioned before, TREXIO Python API internally relies on the use of the NumPy package to communicate arrays of <code>float</code>-like or <code>int</code>-like values. This prevents some memory leaks and grants additional flexibility to the API. What kind of flexibility? Check this out:</p>
-<div class="sourceCode" id="cb43"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb43-1" title="1"><span class="bu">print</span>(<span class="ss">f&quot;return dtype in NumPy notation: ---&gt; </span><span class="sc">{</span>charges_r<span class="sc">.</span>dtype<span class="sc">}</span><span class="ss">&quot;</span>)</a></code></pre></div>
-<pre><code>return dtype in NumPy notation: ---&gt; float64</code></pre>
-<p>It means that the default precision of the TREXIO output is double (<code>np.float64</code>) for arrays of floating point numbers like <code>nucleus_charge</code>. But what if you do not need this extra precision and would like to read nuclear charges in single (<code>np.float32</code>) or even reduced (e.g. <code>np.float16</code>) precision? TREXIO Python API provides an additional (optional) argument for this. This argument is called <code>dtype</code> and accepts one of the <a href="https://numpy.org/doc/stable/user/basics.types.html">NumPy data types</a>. For example,</p>
-<div class="sourceCode" id="cb45"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb45-1" title="1">charges_np <span class="op">=</span> trexio.read_nucleus_charge(demo_file_r, dtype<span class="op">=</span>np.float32)</a></code></pre></div>
-<div class="sourceCode" id="cb46"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb46-1" title="1"><span class="bu">print</span>(<span class="ss">f&quot;return dtype in NumPy notation: ---&gt; </span><span class="sc">{</span>charges_np<span class="sc">.</span>dtype<span class="sc">}</span><span class="ss">&quot;</span>)</a></code></pre></div>
-<pre><code>return dtype in NumPy notation: ---&gt; float32</code></pre>
-<h3 id="reading-multidimensional-arrays">Reading multidimensional arrays</h3>
-<p>So far, we have only read flat 1D arrays. However, we have also written a 2D array of nuclear coordinates. Let’s now read it back from the file:</p>
-<div class="sourceCode" id="cb48"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb48-1" title="1">coords_r <span class="op">=</span> trexio.read_nucleus_coord(demo_file_r)</a></code></pre></div>
-<div class="sourceCode" id="cb49"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb49-1" title="1"><span class="bu">print</span>(<span class="ss">f&quot;nucleus_coord from </span><span class="sc">{</span>filename<span class="sc">}</span><span class="ss"> TREXIO file: </span><span class="ch">\n</span><span class="sc">{</span>coords_r<span class="sc">}</span><span class="ss">&quot;</span>)</a></code></pre></div>
-<pre><code>nucleus_coord from benzene_demo.h5 TREXIO file: 
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[33]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;return dtype in NumPy notation: ---&gt; </span><span class="si">{</span><span class="n">charges_r</span><span class="o">.</span><span class="n">dtype</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>return dtype in NumPy notation: ---&gt; float64
+</pre>
+</div>
+</div>
+
+</div>
+
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>It means that the default precision of the TREXIO output is double (<code>np.float64</code>) for arrays of floating point numbers like <code>nucleus_charge</code>. But what if you do not need this extra precision and would like to read nuclear charges in single (<code>np.float32</code>) or even reduced (e.g. <code>np.float16</code>) precision? TREXIO Python API provides an additional (optional) argument for this. This argument is called <code>dtype</code> and accepts one of the <a href="https://numpy.org/doc/stable/user/basics.types.html">NumPy data types</a>. For example,</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[34]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">charges_np</span> <span class="o">=</span> <span class="n">trexio</span><span class="o">.</span><span class="n">read_nucleus_charge</span><span class="p">(</span><span class="n">demo_file_r</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">float32</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[35]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;return dtype in NumPy notation: ---&gt; </span><span class="si">{</span><span class="n">charges_np</span><span class="o">.</span><span class="n">dtype</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>return dtype in NumPy notation: ---&gt; float32
+</pre>
+</div>
+</div>
+
+</div>
+
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<h3 id="Reading-multidimensional-arrays">Reading multidimensional arrays<a class="anchor-link" href="#Reading-multidimensional-arrays">&#182;</a></h3>
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<p>So far, we have only read flat 1D arrays. However, we have also written a 2D array of nuclear coordinates. Let's now read it back from the file:</p>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[36]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="n">coords_r</span> <span class="o">=</span> <span class="n">trexio</span><span class="o">.</span><span class="n">read_nucleus_coord</span><span class="p">(</span><span class="n">demo_file_r</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[37]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;nucleus_coord from </span><span class="si">{</span><span class="n">filename</span><span class="si">}</span><span class="s2"> TREXIO file: </span><span class="se">\n</span><span class="si">{</span><span class="n">coords_r</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>nucleus_coord from benzene_demo.h5 TREXIO file: 
 [[ 0.          1.39250319  0.        ]
  [-1.20594314  0.6962516   0.        ]
  [-1.20594314 -0.6962516   0.        ]
@@ -165,12 +15107,95 @@ <h3 id="reading-multidimensional-arrays">Reading multidimensional arrays</h3>
  [ 0.         -2.47304151  0.        ]
  [ 2.14171677 -1.23652075  0.        ]
  [ 2.14171677  1.23652075  0.        ]
- [ 0.          2.47304151  0.        ]]</code></pre>
-<div class="sourceCode" id="cb51"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb51-1" title="1"><span class="bu">print</span>(<span class="ss">f&quot;return shape: ---&gt; </span><span class="sc">{</span>coords_r<span class="sc">.</span>shape<span class="sc">}</span><span class="ss">&quot;</span>)</a></code></pre></div>
-<pre><code>return shape: ---&gt; (12, 3)</code></pre>
+ [ 0.          2.47304151  0.        ]]
+</pre>
+</div>
+</div>
+
+</div>
+
+</div>
+
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell   ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[38]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;return shape: ---&gt; </span><span class="si">{</span><span class="n">coords_r</span><span class="o">.</span><span class="n">shape</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+<div class="jp-Cell-outputWrapper">
+
+
+<div class="jp-OutputArea jp-Cell-outputArea">
+
+<div class="jp-OutputArea-child">
+
+    
+    <div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+
+
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
+<pre>return shape: ---&gt; (12, 3)
+</pre>
+</div>
+</div>
+
+</div>
+
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>We can see that TREXIO returns a 2D array with 12 rows and 3 columns, which is consistent with the <code>nucleus_coord</code> dimensions <code>[nucleus_num, 3]</code>. What this means is that <strong>by default TREXIO reshapes the output flat array into a multidimensional one</strong> whenever applicable. This is done based on the shape specified in the TREX configuration file.</p>
+
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>In some cases, it might be a good idea to explicitly check that the data exists in the file before reading it. This can be achieved using <code>has_</code>-suffixed functions of the API. For example,</p>
-<div class="sourceCode" id="cb53"><pre class="sourceCode python"><code class="sourceCode python"><a class="sourceLine" id="cb53-1" title="1"><span class="cf">if</span> trexio.has_nucleus_coord(demo_file_r):</a>
-<a class="sourceLine" id="cb53-2" title="2">    coords_safer <span class="op">=</span> trexio.read_nucleus_coord(demo_file_r)</a></code></pre></div>
-<h2 id="conclusion">Conclusion</h2>
+
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs  ">
+<div class="jp-Cell-inputWrapper">
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[39]:</div>
+<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+     <div class="CodeMirror cm-s-jupyter">
+<div class=" highlight hl-ipython3"><pre><span></span><span class="k">if</span> <span class="n">trexio</span><span class="o">.</span><span class="n">has_nucleus_coord</span><span class="p">(</span><span class="n">demo_file_r</span><span class="p">):</span>
+    <span class="n">coords_safer</span> <span class="o">=</span> <span class="n">trexio</span><span class="o">.</span><span class="n">read_nucleus_coord</span><span class="p">(</span><span class="n">demo_file_r</span><span class="p">)</span>
+</pre></div>
+
+     </div>
+</div>
+</div>
+</div>
+
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
+<h2 id="Conclusion">Conclusion<a class="anchor-link" href="#Conclusion">&#182;</a></h2>
+</div>
+</div>
+<div class="jp-Cell-inputWrapper"><div class="jp-InputPrompt jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput " data-mime-type="text/markdown">
 <p>In this Tutorial, you have created a TREXIO file using HDF5 back end and have written the number of atoms, point group, nuclear charges, labels and coordinates, which correspond to benzene molecule. You have also learned how to read this data back from the TREXIO file and how to handle some TREXIO errors.</p>
+
+</div>
+</div>
+</body>
+
+
+
+
+
+
+
+</html>
diff --git a/src/pytrexio.i b/src/pytrexio.i
index 04c08373..1665eb9f 100644
--- a/src/pytrexio.i
+++ b/src/pytrexio.i
@@ -28,12 +28,15 @@
    Useful when working with C pointers
 */
 %include typemaps.i
-/* Redefine the int32_t* and int64_t* num to be output 
+/* Redefine the [int32_t*, int64_t*, float*, double*] num 
+   pattern to be appended to the output tuple.
    Useful for TREXIO read_num functions where the 
    num variable is modified by address
 */
 %apply int *OUTPUT { int32_t* const num};
 %apply int *OUTPUT { int64_t* const num};
+%apply float *OUTPUT { float* const num};
+%apply float *OUTPUT { double* const num};
 
 /* Does not work for arrays (SIGSEGV) */
 
@@ -66,23 +69,23 @@ import_array();
 %numpy_typemaps(int32_t, NPY_INT32, int64_t)
 %numpy_typemaps(int64_t, NPY_INT64, int64_t)
 /* Enable write|read_safe functions to convert numpy arrays from/to double arrays */
-%apply (double* ARGOUT_ARRAY1, int64_t DIM1) {(double * const dset_out, const int64_t dim_out)};
-%apply (double* IN_ARRAY1, int64_t DIM1) {(const double * dset_in, const int64_t dim_in)};
+%apply (double* ARGOUT_ARRAY1, int64_t DIM1) {(double* const dset_out, const int64_t dim_out)};
+%apply (double* IN_ARRAY1, int64_t DIM1) {(const double* dset_in, const int64_t dim_in)};
 /* Enable write|read_safe functions to convert numpy arrays from/to float arrays */
-%apply (float* ARGOUT_ARRAY1, int64_t DIM1) {(float * const dset_out, const int64_t dim_out)};
-%apply (float* IN_ARRAY1, int64_t DIM1) {(const float * dset_in, const int64_t dim_in)};
+%apply (float* ARGOUT_ARRAY1, int64_t DIM1) {(float* const dset_out, const int64_t dim_out)};
+%apply (float* IN_ARRAY1, int64_t DIM1) {(const float* dset_in, const int64_t dim_in)};
 /* Enable write|read_safe functions to convert numpy arrays from/to int32 arrays */
-%apply (int32_t* ARGOUT_ARRAY1, int64_t DIM1) {(int32_t * const dset_out, const int64_t dim_out)};
-%apply (int32_t* IN_ARRAY1, int64_t DIM1) {(const int32_t * dset_in, const int64_t dim_in)};
+%apply (int32_t* ARGOUT_ARRAY1, int64_t DIM1) {(int32_t* const dset_out, const int64_t dim_out)};
+%apply (int32_t* IN_ARRAY1, int64_t DIM1) {(const int32_t* dset_in, const int64_t dim_in)};
 /* Enable write|read_safe functions to convert numpy arrays from/to int64 arrays */
-%apply (int64_t* ARGOUT_ARRAY1, int64_t DIM1) {(int64_t * const dset_out, const int64_t dim_out)};
-%apply (int64_t* IN_ARRAY1, int64_t DIM1) {(const int64_t * dset_in, const int64_t dim_in)};
+%apply (int64_t* ARGOUT_ARRAY1, int64_t DIM1) {(int64_t* const dset_out, const int64_t dim_out)};
+%apply (int64_t* IN_ARRAY1, int64_t DIM1) {(const int64_t* dset_in, const int64_t dim_in)};
 
 /* This tells SWIG to treat char ** dset_in pattern as a special case 
    Enables access to trexio_[...]_write_dset_str set of functions directly, i.e.
    by converting input list of strings from Python into char ** of C
 */
-%typemap(in) char ** dset_in {
+%typemap(in) char** dset_in {
   /* Check if is a list */
   if (PyList_Check($input)) {
     int size = PyList_Size($input);
@@ -105,7 +108,7 @@ import_array();
   }
 }
 /* This cleans up the char ** array we malloc-ed before */
-%typemap(freearg) char ** dset_in {
+%typemap(freearg) char** dset_in {
   free((char *) $1);
 }
 
diff --git a/src/templates_front/templator_front.org b/src/templates_front/templator_front.org
index 312e4941..cc0d2c6f 100644
--- a/src/templates_front/templator_front.org
+++ b/src/templates_front/templator_front.org
@@ -164,7 +164,7 @@ __trexio_path__ = None
    | ~TREXIO_INVALID_ID~          |    9 | 'Invalid ID'                           |
    | ~TREXIO_ALLOCATION_FAILED~   |   10 | 'Allocation failed'                    |
    | ~TREXIO_HAS_NOT~             |   11 | 'Element absent'                       |
-   | ~TREXIO_INVALID_NUM~         |   12 | 'Invalid dimensions'                   |
+   | ~TREXIO_INVALID_NUM~         |   12 | 'Invalid (negative or 0) dimension'    |
    | ~TREXIO_ATTR_ALREADY_EXISTS~ |   13 | 'Attribute already exists'             |
    | ~TREXIO_DSET_ALREADY_EXISTS~ |   14 | 'Dataset already exists'               |
    | ~TREXIO_OPEN_ERROR~          |   15 | 'Error opening file'                   |
@@ -389,7 +389,7 @@ return '\n'.join(result)
      return "Element absent";
      break;
    case TREXIO_INVALID_NUM:
-     return "Invalid dimensions";
+     return "Invalid (negative or 0) dimension";
      break;
    case TREXIO_ATTR_ALREADY_EXISTS:
      return "Attribute already exists";
@@ -1054,6 +1054,7 @@ def close(trexio_file):
       , "charge"             : [ "float", [ "nucleus.num"       ] ]
       , "coord"              : [ "float", [ "nucleus.num", "3"  ] ]
       , "label"              : [ "str" ,  [ "nucleus.num"       ] ]
+      , "point_group"        : [ "str"  , [                     ] ]
     }
   }
    #+end_src
@@ -1066,32 +1067,38 @@ def close(trexio_file):
 
   All templates presented below use the ~$var$~ notation to indicate
   the variable, which will be replaced by the
-  ~generator.py~. Sometimes the upper case is used, i.e.  ~$VAR$~ (for
+  ~generator.py~. Sometimes the upper case is used, i.e. ~$VAR$~ (for
   example, in ~#define~ statements).  More detailed description of
   each variable can be found below:
 
-   | Template variable              | Description                                         | Example              |
-   |--------------------------------+-----------------------------------------------------+----------------------|
-   | ~$group$~                      | Name of the group                                   | ~nucleus~            |
-   | ~$group_num$~                  | Name of the dimensioning variable (scalar)          | ~nucleus_num~        |
-   | ~$group_dset$~                 | Name of the dataset (vector/matrix/tensor)          | ~nucleus_coord~      |
-   | ~$group_dset_rank$~            | Rank of the dataset                                 | ~2~                  |
-   | ~$group_dset_dim$~             | Selected dimension of the dataset                   | ~nucleus_num~        |
-   | ~$group_dset_dim_list$~        | All dimensions of the dataset                       | ~{nucleus_num, 3}~   |
-   | ~$group_dset_dtype$~           | Basic type of the dataset (int/float/char)          | ~float~              |
-   | ~$group_dset_h5_dtype$~        | Type of the dataset in HDF5                         | ~double~             |
-   | ~$group_dset_std_dtype_in$~    | Input type of the dataset in TEXT  [fscanf]         | ~%lf~                |
-   | ~$group_dset_std_dtype_out$~   | Output type of the dataset in TEXT [fprintf]        | ~%24.16e~            |
-   | ~$group_dset_dtype_default$~   | Default datatype of the dataset [C]                 | ~double/int32_t~     |
-   | ~$group_dset_dtype_single$~    | Single precision datatype of the dataset [C]        | ~float/int32_t~      |
-   | ~$group_dset_dtype_double$~    | Double precision datatype of the dataset [C]        | ~double/int64_t~     |
-   | ~$default_prec$~               | Default precision for read/write without suffix [C] | ~64/32~              |
-   | ~$group_dset_f_dtype_default$~ | Default datatype of the dataset [Fortran]           | ~real(8)/integer(4)~ |
-   | ~$group_dset_f_dtype_single$~  | Single precision datatype of the dataset [Fortran]  | ~real(4)/integer(4)~ |
-   | ~$group_dset_f_dtype_double$~  | Double precision datatype of the dataset [Fortran]  | ~real(8)/integer(8)~ |
-   | ~$group_dset_f_dims$~          | Dimensions in Fortran                               | ~(:,:)~              |
-   | ~$group_dset_py_dtype$~        | Standard datatype of the dataset [Python]           | ~float/int~          |
+   | Template variable              | Description                                         | Example               |
+   |--------------------------------+-----------------------------------------------------+-----------------------|
+   | ~$group$~                      | Name of the group                                   | ~nucleus~             |
+   | ~$group_num$~                  | Name of the numerical attribute (scalar)            | ~nucleus_num~         |
+   | ~$group_str$~                  | Name of the string attribute (scalar)               | ~nucleus_point_group~ |
+   | ~$group_dset$~                 | Name of the dataset (vector/matrix/tensor)          | ~nucleus_coord~       |
+   | ~$group_dset_rank$~            | Rank of the dataset                                 | ~2~                   |
+   | ~$group_dset_dim$~             | Selected dimension of the dataset                   | ~nucleus_num~         |
+   | ~$group_dset_dim_list$~        | All dimensions of the dataset                       | ~{nucleus_num, 3}~    |
+   | ~$group_dset_dtype$~           | Basic type of the dataset (int/float/char)          | ~float~               |
+   | ~$group_dset_h5_dtype$~        | Type of the dataset in HDF5                         | ~double~              |
+   | ~$group_dset_std_dtype_in$~    | Input type of the dataset in TEXT  [fscanf]         | ~%lf~                 |
+   | ~$group_dset_std_dtype_out$~   | Output type of the dataset in TEXT [fprintf]        | ~%24.16e~             |
+   | ~$group_dset_dtype_default$~   | Default datatype of the dataset [C]                 | ~double/int32_t~      |
+   | ~$group_dset_dtype_single$~    | Single precision datatype of the dataset [C]        | ~float/int32_t~       |
+   | ~$group_dset_dtype_double$~    | Double precision datatype of the dataset [C]        | ~double/int64_t~      |
+   | ~$group_dset_f_dtype_default$~ | Default datatype of the dataset [Fortran]           | ~real(8)/integer(4)~  |
+   | ~$group_dset_f_dtype_single$~  | Single precision datatype of the dataset [Fortran]  | ~real(4)/integer(4)~  |
+   | ~$group_dset_f_dtype_double$~  | Double precision datatype of the dataset [Fortran]  | ~real(8)/integer(8)~  |
+   | ~$group_dset_f_dims$~          | Dimensions in Fortran                               | ~(:,:)~               |
+   | ~$group_dset_py_dtype$~        | Standard datatype of the dataset [Python]           | ~float/int~           |
+   | ~$default_prec$~               | Default precision for read/write without suffix [C] | ~64/32~               |
+   | ~$is_index$~                   | Expands to ~true~ if dataset has a type ~index~ [C] | ~true/false~          |
+   
 
+   Some of the aforementioned template variables with ~group_dset~ prefix are duplicated with ~group_num~ prefix, 
+   e.g. you might find $group_num_dtype_double$ in the templates corresponding to numerical attributes.
+   The expanding values are the same as for ~group_dset~ and thus are not listed in the table above.
 
    Note: parent group name is always added to the child objects upon
    construction of TREXIO (e.g. ~num~ of ~nucleus~ group becomes
@@ -1102,27 +1109,33 @@ def close(trexio_file):
    object) levels of =trex.json= .  The parsed data is divided in 2
    parts:
 
-   1) Dimensioning variables (contain ~num~ in their names). These are always scalar integers.
+   1) Single attributes. These can be numerical values or strings.
    2) Datasets. These can be vectors, matrices or tensors. The types are indicated in =trex.json=.
-      Currently supported types: int, float and strings.
+      Currently supported data types: int, float and strings.
 
    For each of the aforementioned objects, TREXIO provides *has*,
    *read* and *write* functionality.  TREXIO supports I/O with single
    or double precision for integer and floating point numbers.
 
-** Templates for front end has/read/write a single dimensioning variable
+   *Note:* single integer attributes that contain ~num~ in their name (e.g. ~nucleus_num~) are
+   considered dimensioning variables and cannot be negative or 0. An attempt to write negative or 0
+   value will result in ~TREXIO_INVALID_ARG_2~ exit code.
+
+** Templates for front end has/read/write a single numerical attribute
+*** Introduction
 
-   This section concerns API calls related to dimensioning variables.
+   This section concerns API calls related to numerical attributes,
+   namely single value of int/float types.
 
-   | Function name                 | Description                                       | Precision |
-   |-------------------------------+---------------------------------------------------+-----------|
-   | ~trexio_has_$group_num$~      | Check if a dimensioning variable exists in a file | ---       |
-   | ~trexio_read_$group_num$~     | Read a dimensioning variable                      | Single    |
-   | ~trexio_write_$group_num$~    | Write a dimensioning variable                     | Single    |
-   | ~trexio_read_$group_num$_32~  | Read a dimensioning variable                      | Single    |
-   | ~trexio_write_$group_num$_32~ | Write a dimensioning variable                     | Single    |
-   | ~trexio_read_$group_num$_64~  | Read a dimensioning variable                      | Double    |
-   | ~trexio_write_$group_num$_64~ | Write a dimensioning variable                     | Double    |
+   | Function name                 | Description                            | Precision |
+   |-------------------------------+----------------------------------------+-----------|
+   | ~trexio_has_$group_num$~      | Check if an attribute exists in a file | ---       |
+   | ~trexio_read_$group_num$~     | Read a attribute                       | Single    |
+   | ~trexio_write_$group_num$~    | Write a attribute                      | Single    |
+   | ~trexio_read_$group_num$_32~  | Read a attribute                       | Single    |
+   | ~trexio_write_$group_num$_32~ | Write a attribute                      | Single    |
+   | ~trexio_read_$group_num$_64~  | Read a attribute                       | Double    |
+   | ~trexio_write_$group_num$_64~ | Write a attribute                      | Double    |
 
 *** C templates for front end
 
@@ -1135,70 +1148,67 @@ def close(trexio_file):
    (non-suffixed) API call on dimensioning variables deals with single
    precision (see Table above).
 
+**** Function declarations
 
-     #+begin_src c :tangle hrw_num_front.h :exports none
+     #+begin_src c :tangle hrw_attr_num_front.h :exports none
 trexio_exit_code trexio_has_$group_num$(trexio_t* const file);
-trexio_exit_code trexio_read_$group_num$(trexio_t* const file, int32_t* const num);
-trexio_exit_code trexio_write_$group_num$(trexio_t* const file, const int32_t num);
-trexio_exit_code trexio_read_$group_num$_32(trexio_t* const file, int32_t* const num);
-trexio_exit_code trexio_write_$group_num$_32(trexio_t* const file, const int32_t num);
-trexio_exit_code trexio_read_$group_num$_64(trexio_t* const file, int64_t* const num);
-trexio_exit_code trexio_write_$group_num$_64(trexio_t* const file, const int64_t num);
+trexio_exit_code trexio_read_$group_num$(trexio_t* const file, $group_num_dtype_default$* const num);
+trexio_exit_code trexio_write_$group_num$(trexio_t* const file, const $group_num_dtype_default$ num);
+trexio_exit_code trexio_read_$group_num$_32(trexio_t* const file, $group_num_dtype_single$* const num);
+trexio_exit_code trexio_write_$group_num$_32(trexio_t* const file, const $group_num_dtype_single$ num);
+trexio_exit_code trexio_read_$group_num$_64(trexio_t* const file, $group_num_dtype_double$* const num);
+trexio_exit_code trexio_write_$group_num$_64(trexio_t* const file, const $group_num_dtype_double$ num);
      #+end_src
 
-     #+begin_src c :tangle read_num_64_front.c
+**** Source code for double precision functions
+
+     #+begin_src c :tangle read_attr_num_64_front.c
 trexio_exit_code
-trexio_read_$group_num$_64 (trexio_t* const file, int64_t* const num)
+trexio_read_$group_num$_64 (trexio_t* const file, $group_num_dtype_double$* const num)
 {
   if (file == NULL) return TREXIO_INVALID_ARG_1;
   if (trexio_has_$group_num$(file) != TREXIO_SUCCESS) return TREXIO_ATTR_MISSING;
 
-  uint64_t u_num = 0;
-  trexio_exit_code rc = TREXIO_GROUP_READ_ERROR;
-
   switch (file->back_end) {
 
   case TREXIO_TEXT:
-    rc = trexio_text_read_$group_num$(file, &u_num);
+    return trexio_text_read_$group_num$(file, num);
     break;
 
   case TREXIO_HDF5:
-    rc = trexio_hdf5_read_$group_num$(file, &u_num);
+    return trexio_hdf5_read_$group_num$(file, num);
     break;
 /*
   case TREXIO_JSON:
-    rc =trexio_json_read_$group_num$(file, &u_num);
+    return trexio_json_read_$group_num$(file, num);
     break;
 ,*/
   }
 
-  if (rc != TREXIO_SUCCESS) return rc;
-
-  *num = (int64_t) u_num;
-  return TREXIO_SUCCESS;
+  return TREXIO_FAILURE;
 }
      #+end_src
 
-     #+begin_src c :tangle write_num_64_front.c
+     #+begin_src c :tangle write_attr_num_64_front.c
 trexio_exit_code
-trexio_write_$group_num$_64 (trexio_t* const file, const int64_t num)
+trexio_write_$group_num$_64 (trexio_t* const file, const $group_num_dtype_double$ num)
 {
   if (file == NULL) return TREXIO_INVALID_ARG_1;
-  if (num  <  0   ) return TREXIO_INVALID_ARG_2;
+  //if (num <= 0L) return TREXIO_INVALID_NUM; /* this line is uncommented by the generator for dimensioning variables; do NOT remove! */
   if (trexio_has_$group_num$(file) == TREXIO_SUCCESS) return TREXIO_ATTR_ALREADY_EXISTS;
 
   switch (file->back_end) {
 
   case TREXIO_TEXT:
-    return trexio_text_write_$group_num$(file, (int64_t) num);
-    break;
-
-  case TREXIO_HDF5:
-    return trexio_hdf5_write_$group_num$(file, (int64_t) num);
-    break;
-/*
-  case TREXIO_JSON:
-    return trexio_json_write_$group_num$(file, (int64_t) num);
+    return trexio_text_write_$group_num$(file, num);
+    break;				       
+					       
+  case TREXIO_HDF5:			       
+    return trexio_hdf5_write_$group_num$(file, num);
+    break;				       
+/*					       
+  case TREXIO_JSON:			       
+    return trexio_json_write_$group_num$(file, num);
     break;
 ,*/
   }
@@ -1207,60 +1217,62 @@ trexio_write_$group_num$_64 (trexio_t* const file, const int64_t num)
 }
      #+end_src
 
-     #+begin_src c :tangle read_num_32_front.c
+**** Source code for single precision functions
+
+     #+begin_src c :tangle read_attr_num_32_front.c
 trexio_exit_code
-trexio_read_$group_num$_32 (trexio_t* const file, int32_t* const num)
+trexio_read_$group_num$_32 (trexio_t* const file, $group_num_dtype_single$* const num)
 {
   if (file == NULL) return TREXIO_INVALID_ARG_1;
   if (trexio_has_$group_num$(file) != TREXIO_SUCCESS) return TREXIO_ATTR_MISSING;
 
-  uint64_t u_num = 0;
+  $group_num_dtype_double$ num_64 = 0;
   trexio_exit_code rc = TREXIO_GROUP_READ_ERROR;
 
   switch (file->back_end) {
 
   case TREXIO_TEXT:
-    rc = trexio_text_read_$group_num$(file, &u_num);
+    rc = trexio_text_read_$group_num$(file, &num_64);
     break;
 
   case TREXIO_HDF5:
-    rc = trexio_hdf5_read_$group_num$(file, &u_num);
+    rc = trexio_hdf5_read_$group_num$(file, &num_64);
     break;
 /*
   case TREXIO_JSON:
-    rc =trexio_json_read_$group_num$(file, &u_num);
+    rc =trexio_json_read_$group_num$(file, &num_64);
     break;
 ,*/
   }
 
   if (rc != TREXIO_SUCCESS) return rc;
 
-  *num = (int32_t) u_num;
+  *num = ($group_num_dtype_single$) num_64;
   return TREXIO_SUCCESS;
 }
      #+end_src
 
-     #+begin_src c :tangle write_num_32_front.c
+     #+begin_src c :tangle write_attr_num_32_front.c
 trexio_exit_code
-trexio_write_$group_num$_32 (trexio_t* const file, const int32_t num)
+trexio_write_$group_num$_32 (trexio_t* const file, const $group_num_dtype_single$ num)
 {
 
   if (file == NULL) return TREXIO_INVALID_ARG_1;
-  if (num  <  0   ) return TREXIO_INVALID_ARG_2;
+  //if (num <= 0) return TREXIO_INVALID_NUM; /* this line is uncommented by the generator for dimensioning variables; do NOT remove! */
   if (trexio_has_$group_num$(file) == TREXIO_SUCCESS) return TREXIO_ATTR_ALREADY_EXISTS;
 
   switch (file->back_end) {
 
   case TREXIO_TEXT:
-    return trexio_text_write_$group_num$(file, (int64_t) num);
-    break;
-
-  case TREXIO_HDF5:
-    return trexio_hdf5_write_$group_num$(file, (int64_t) num);
-    break;
-/*
-  case TREXIO_JSON:
-    return trexio_json_write_$group_num$(file, (int64_t) num);
+    return trexio_text_write_$group_num$(file, ($group_num_dtype_double$) num);
+    break;					       
+						       
+  case TREXIO_HDF5:				       
+    return trexio_hdf5_write_$group_num$(file, ($group_num_dtype_double$) num);
+    break;					       
+/*						       
+  case TREXIO_JSON:				       
+    return trexio_json_write_$group_num$(file, ($group_num_dtype_double$) num);
     break;
 ,*/
   }
@@ -1269,23 +1281,25 @@ trexio_write_$group_num$_32 (trexio_t* const file, const int32_t num)
 }
      #+end_src
 
-     #+begin_src c :tangle read_num_def_front.c
+**** Source code for default functions
+
+     #+begin_src c :tangle read_attr_num_def_front.c
 trexio_exit_code
-trexio_read_$group_num$ (trexio_t* const file, int32_t* const num)
+trexio_read_$group_num$ (trexio_t* const file, $group_num_dtype_default$* const num)
 {
-  return trexio_read_$group_num$_32(file, num);
+  return trexio_read_$group_num$_$default_prec$(file, num);
 }
      #+end_src
 
-     #+begin_src c :tangle write_num_def_front.c
+     #+begin_src c :tangle write_attr_num_def_front.c
 trexio_exit_code
-trexio_write_$group_num$ (trexio_t* const file, const int32_t num)
+trexio_write_$group_num$ (trexio_t* const file, const $group_num_dtype_default$ num)
 {
-  return trexio_write_$group_num$_32(file, num);
+  return trexio_write_$group_num$_$default_prec$(file, num);
 }
      #+end_src
 
-     #+begin_src c :tangle has_num_front.c
+     #+begin_src c :tangle has_attr_num_front.c
 trexio_exit_code
 trexio_has_$group_num$ (trexio_t* const file)
 {
@@ -1319,67 +1333,67 @@ trexio_has_$group_num$ (trexio_t* const file)
     The ~Fortran~ templates that provide an access to the ~C~ API calls from Fortran.
     These templates are based on the use of ~iso_c_binding~. Pointers have to be passed by value.
 
-     #+begin_src f90 :tangle write_num_64_front_fortran.f90
+     #+begin_src f90 :tangle write_attr_num_64_front_fortran.f90
 interface
    integer function trexio_write_$group_num$_64 (trex_file, num) bind(C)
      use, intrinsic :: iso_c_binding
      integer(8), intent(in), value :: trex_file
-     integer(8), intent(in), value :: num
+     $group_num_f_dtype_double$, intent(in), value :: num
    end function trexio_write_$group_num$_64
 end interface
      #+end_src
 
-     #+begin_src f90 :tangle read_num_64_front_fortran.f90
+     #+begin_src f90 :tangle read_attr_num_64_front_fortran.f90
 interface
    integer function trexio_read_$group_num$_64 (trex_file, num) bind(C)
      use, intrinsic :: iso_c_binding
      integer(8), intent(in), value :: trex_file
-     integer(8), intent(out) :: num
+     $group_num_f_dtype_double$, intent(out) :: num
    end function trexio_read_$group_num$_64
 end interface
      #+end_src
 
-     #+begin_src f90 :tangle write_num_32_front_fortran.f90
+     #+begin_src f90 :tangle write_attr_num_32_front_fortran.f90
 interface
    integer function trexio_write_$group_num$_32 (trex_file, num) bind(C)
      use, intrinsic :: iso_c_binding
      integer(8), intent(in), value :: trex_file
-     integer(4), intent(in), value :: num
+     $group_num_f_dtype_single$, intent(in), value :: num
    end function trexio_write_$group_num$_32
 end interface
      #+end_src
 
-     #+begin_src f90 :tangle read_num_32_front_fortran.f90
+     #+begin_src f90 :tangle read_attr_num_32_front_fortran.f90
 interface
    integer function trexio_read_$group_num$_32 (trex_file, num) bind(C)
      use, intrinsic :: iso_c_binding
      integer(8), intent(in), value :: trex_file
-     integer(4), intent(out) :: num
+     $group_num_f_dtype_single$, intent(out) :: num
    end function trexio_read_$group_num$_32
 end interface
      #+end_src
 
-     #+begin_src f90 :tangle write_num_def_front_fortran.f90
+     #+begin_src f90 :tangle write_attr_num_def_front_fortran.f90
 interface
    integer function trexio_write_$group_num$ (trex_file, num) bind(C)
      use, intrinsic :: iso_c_binding
      integer(8), intent(in), value :: trex_file
-     integer(4), intent(in), value :: num
+     $group_num_f_dtype_default$, intent(in), value :: num
    end function trexio_write_$group_num$
 end interface
      #+end_src
 
-     #+begin_src f90 :tangle read_num_def_front_fortran.f90
+     #+begin_src f90 :tangle read_attr_num_def_front_fortran.f90
 interface
    integer function trexio_read_$group_num$ (trex_file, num) bind(C)
      use, intrinsic :: iso_c_binding
      integer(8), intent(in), value :: trex_file
-     integer(4), intent(out) :: num
+     $group_num_f_dtype_default$, intent(out) :: num
    end function trexio_read_$group_num$
 end interface
      #+end_src
 
-     #+begin_src f90 :tangle has_num_front_fortran.f90
+     #+begin_src f90 :tangle has_attr_num_front_fortran.f90
 interface
    integer function trexio_has_$group_num$ (trex_file) bind(C)
      use, intrinsic :: iso_c_binding
@@ -1390,8 +1404,8 @@ end interface
 
 *** Python templates for front end
 
-     #+begin_src python :tangle write_num_front.py
-def write_$group_num$(trexio_file, num_w: int) -> None: 
+     #+begin_src python :tangle write_attr_num_front.py
+def write_$group_num$(trexio_file, num_w: $group_num_py_dtype$) -> None: 
     """Write the $group_num$ variable in the TREXIO file.
 
     Parameters:
@@ -1415,8 +1429,8 @@ def write_$group_num$(trexio_file, num_w: int) -> None:
         raise    
      #+end_src
 
-     #+begin_src python :tangle read_num_front.py
-def read_$group_num$(trexio_file) -> int: 
+     #+begin_src python :tangle read_attr_num_front.py
+def read_$group_num$(trexio_file) -> $group_num_py_dtype$: 
     """Read the $group_num$ variable from the TREXIO file.
 
     Parameter is a ~TREXIO File~ object that has been created by a call to ~open~ function.
@@ -1440,7 +1454,7 @@ def read_$group_num$(trexio_file) -> int:
     return num_r
      #+end_src
 
-     #+begin_src python :tangle has_num_front.py
+     #+begin_src python :tangle has_attr_num_front.py
 def has_$group_num$(trexio_file) -> bool: 
     """Check that $group_num$ variable exists in the TREXIO file.
 
@@ -1468,6 +1482,7 @@ def has_$group_num$(trexio_file) -> bool:
      #+end_src
 
 ** Templates for front end has/read/write a dataset of numerical data
+*** Introduction
 
    This section concerns API calls related to datasets.
 
@@ -2324,6 +2339,7 @@ trexio_read_chunk_ao_2e_int_eri_value_64(trexio_t* const file,
    First parameter is the ~TREXIO~ file handle. Second parameter is the variable to be written/read
    to/from the ~TREXIO~ file (except for ~trexio_has_~ functions).
 
+**** Function declarations
 
      #+begin_src c :tangle hrw_dset_str_front.h :exports none
 trexio_exit_code trexio_has_$group_dset$(trexio_t* const file);
@@ -2333,6 +2349,8 @@ trexio_exit_code trexio_read_$group_dset$(trexio_t* const file, char** dset_out,
 trexio_exit_code trexio_write_$group_dset$(trexio_t* const file, const char** dset_in, const int32_t max_str_len);
      #+end_src
 
+**** Source code for default functions
+
      #+begin_src c :tangle read_dset_str_front.c
 trexio_exit_code
 trexio_read_$group_dset$_low (trexio_t* const file, char* dset_out, const int32_t max_str_len)
@@ -2776,6 +2794,7 @@ def has_$group_dset$(trexio_file) -> bool:
    | ~trexio_write_$group_str$~ | Write a string attribute                     |
 
 *** C templates for front end
+**** Function declarations
 
      #+begin_src c :tangle hrw_attr_str_front.h :exports none
 trexio_exit_code trexio_has_$group_str$(trexio_t* const file);
@@ -2783,6 +2802,8 @@ trexio_exit_code trexio_read_$group_str$(trexio_t* const file, char* const str_o
 trexio_exit_code trexio_write_$group_str$(trexio_t* const file, const char* str, const int32_t max_str_len);
      #+end_src
 
+**** Source code for default functions
+
      #+begin_src c :tangle read_attr_str_front.c
 trexio_exit_code
 trexio_read_$group_str$ (trexio_t* const file, char* const str_out, const int32_t max_str_len)
diff --git a/src/templates_hdf5/templator_hdf5.org b/src/templates_hdf5/templator_hdf5.org
index 90a9881d..8ff47d1a 100644
--- a/src/templates_hdf5/templator_hdf5.org
+++ b/src/templates_hdf5/templator_hdf5.org
@@ -152,18 +152,18 @@ trexio_hdf5_deinit (trexio_t* const file)
 }
   #+end_src
 
-** Template for HDF5 has/read/write a single dimensioning variable
+** Template for HDF5 has/read/write the numerical attribute
 
-  #+begin_src c :tangle hrw_num_hdf5.h :exports none
+  #+begin_src c :tangle hrw_attr_num_hdf5.h :exports none
 trexio_exit_code trexio_hdf5_has_$group_num$ (trexio_t* const file);
-trexio_exit_code trexio_hdf5_read_$group_num$ (trexio_t* const file, uint64_t* const num);
-trexio_exit_code trexio_hdf5_write_$group_num$(trexio_t* const file, const uint64_t num);
+trexio_exit_code trexio_hdf5_read_$group_num$ (trexio_t* const file, $group_num_dtype_double$* const num);
+trexio_exit_code trexio_hdf5_write_$group_num$(trexio_t* const file, const $group_num_dtype_double$ num);
   #+end_src
 
 
-  #+begin_src c :tangle read_num_hdf5.c
+  #+begin_src c :tangle read_attr_num_hdf5.c
 trexio_exit_code
-trexio_hdf5_read_$group_num$ (trexio_t* const file, uint64_t* const num)
+trexio_hdf5_read_$group_num$ (trexio_t* const file, $group_num_dtype_double$* const num)
 {
 
   if (file == NULL) return TREXIO_INVALID_ARG_1;
@@ -177,7 +177,7 @@ trexio_hdf5_read_$group_num$ (trexio_t* const file, uint64_t* const num)
   const hid_t num_id = H5Aopen(f->$group$_group, $GROUP_NUM$_NAME, H5P_DEFAULT);
   if (num_id <= 0) return TREXIO_INVALID_ID;
 
-  const herr_t status = H5Aread(num_id, H5T_NATIVE_UINT64, num);
+  const herr_t status = H5Aread(num_id, H5T_$GROUP_NUM_H5_DTYPE$, num);
 
   H5Aclose(num_id);
 
@@ -189,66 +189,44 @@ trexio_hdf5_read_$group_num$ (trexio_t* const file, uint64_t* const num)
    #+end_src
 
 
-  #+begin_src c :tangle write_num_hdf5.c
+  #+begin_src c :tangle write_attr_num_hdf5.c
 trexio_exit_code
-trexio_hdf5_write_$group_num$ (trexio_t* const file, const uint64_t num)
+trexio_hdf5_write_$group_num$ (trexio_t* const file, const $group_num_dtype_double$ num)
 {
 
   if (file == NULL) return TREXIO_INVALID_ARG_1;
-  if (num  == 0L  ) return TREXIO_INVALID_ARG_2;
 
   trexio_hdf5_t* const f = (trexio_hdf5_t*) file;
 
-  if (H5Aexists(f->$group$_group, $GROUP_NUM$_NAME) == 0) {
-
-    /* Write the dimensioning variables */
-    const hid_t dtype = H5Tcopy(H5T_NATIVE_UINT64);
-    const hid_t dspace = H5Screate(H5S_SCALAR);
-
-    const hid_t num_id = H5Acreate(f->$group$_group, $GROUP_NUM$_NAME, dtype, dspace,
-		     H5P_DEFAULT, H5P_DEFAULT);
-    if (num_id <= 0) {
-      H5Sclose(dspace);
-      H5Tclose(dtype);
-      return TREXIO_INVALID_ID;
-    }
-
-    const herr_t status = H5Awrite(num_id, dtype, &(num));
-    if (status < 0) {
-      H5Aclose(num_id);
-      H5Sclose(dspace);
-      H5Tclose(dtype);
-      return TREXIO_FAILURE;
-    }
-
+  /* Write the dimensioning variables */
+  const hid_t dtype = H5Tcopy(H5T_$GROUP_NUM_H5_DTYPE$);
+  const hid_t dspace = H5Screate(H5S_SCALAR);
+  
+  const hid_t num_id = H5Acreate(f->$group$_group, $GROUP_NUM$_NAME, 
+                                 dtype, dspace, H5P_DEFAULT, H5P_DEFAULT);
+  if (num_id <= 0) {
     H5Sclose(dspace);
-    H5Aclose(num_id);
     H5Tclose(dtype);
-    return TREXIO_SUCCESS;
-
-  } else {
-
-    uint64_t infile_num;
-    trexio_exit_code rc = trexio_hdf5_read_$group_num$(file, &(infile_num));
-    if (rc != TREXIO_SUCCESS) return rc;
-
-    const hid_t dtype = H5Tcopy(H5T_NATIVE_UINT64);
-    const hid_t num_id = H5Aopen(f->$group$_group, $GROUP_NUM$_NAME, H5P_DEFAULT);
-    if (num_id <= 0) return TREXIO_INVALID_ID;
-    
-    const herr_t status = H5Awrite(num_id, dtype, &(num));
-    if (status < 0) return TREXIO_FAILURE;
-    
+    return TREXIO_INVALID_ID;
+  }
+  
+  const herr_t status = H5Awrite(num_id, dtype, &(num));
+  if (status < 0) {
     H5Aclose(num_id);
+    H5Sclose(dspace);
     H5Tclose(dtype);
-
-    return TREXIO_SUCCESS;
+    return TREXIO_FAILURE;
   }
+  
+  H5Sclose(dspace);
+  H5Aclose(num_id);
+  H5Tclose(dtype);
 
+  return TREXIO_SUCCESS;
 }
     #+end_src
 
-  #+begin_src c :tangle has_num_hdf5.c
+  #+begin_src c :tangle has_attr_num_hdf5.c
 trexio_exit_code
 trexio_hdf5_has_$group_num$ (trexio_t* const file)
 {
@@ -270,7 +248,7 @@ trexio_hdf5_has_$group_num$ (trexio_t* const file)
 }
     #+end_src
 
-** Template for HDF5 has/read/write a dataset of numerical data
+** Template for HDF5 has/read/write the dataset of numerical data
 
    #+begin_src c :tangle hrw_dset_data_hdf5.h :exports none
 trexio_exit_code trexio_hdf5_has_$group_dset$(trexio_t* const file);
@@ -341,12 +319,6 @@ trexio_hdf5_write_$group_dset$ (trexio_t* const file, const $group_dset_dtype$*
   if (file == NULL) return TREXIO_INVALID_ARG_1;
   if ($group_dset$  == NULL) return TREXIO_INVALID_ARG_2;
 
-  trexio_exit_code rc;
-  uint64_t $group_dset_dim$;
-  // error handling for rc is added by the generator
-  rc = trexio_hdf5_read_$group_dset_dim$(file, &($group_dset_dim$));
-  if ($group_dset_dim$ == 0L) return TREXIO_INVALID_NUM;
-
   trexio_hdf5_t* f = (trexio_hdf5_t*) file;
 
   if ( H5LTfind_dataset(f->$group$_group, $GROUP_DSET$_NAME) != 1 ) {
@@ -400,7 +372,7 @@ trexio_hdf5_has_$group_dset$ (trexio_t* const file)
 }
    #+end_src
 
-** Template for HDF5 has/read/write a dataset of strings
+** Template for HDF5 has/read/write the dataset of strings
 
    #+begin_src c :tangle hrw_dset_str_hdf5.h :exports none
 trexio_exit_code trexio_hdf5_has_$group_dset$(trexio_t* const file);
@@ -523,12 +495,6 @@ trexio_hdf5_write_$group_dset$ (trexio_t* const file, const char** $group_dset$,
   if (file == NULL) return TREXIO_INVALID_ARG_1;
   if ($group_dset$  == NULL) return TREXIO_INVALID_ARG_2;
 
-  trexio_exit_code rc;
-  uint64_t $group_dset_dim$;
-  // error handling for rc is added by the generator
-  rc = trexio_hdf5_read_$group_dset_dim$(file, &($group_dset_dim$));
-  if ($group_dset_dim$ == 0L) return TREXIO_INVALID_NUM;
-
   trexio_hdf5_t* f = (trexio_hdf5_t*) file;
 
   herr_t status;
@@ -612,7 +578,7 @@ trexio_hdf5_has_$group_dset$ (trexio_t* const file)
 }
    #+end_src
    
-** Template for HDF5 has/read/write a single string attribute
+** Template for HDF5 has/read/write the string attribute
 
   #+begin_src c :tangle hrw_attr_str_hdf5.h :exports none
 trexio_exit_code trexio_hdf5_has_$group_str$ (trexio_t* const file);
diff --git a/src/templates_text/build.sh b/src/templates_text/build.sh
index dba0bfbd..4cf6c64a 100644
--- a/src/templates_text/build.sh
+++ b/src/templates_text/build.sh
@@ -19,19 +19,19 @@ cat populated/pop_flush_group_text.h >> trexio_text.h
 
 cat populated/pop_has_dset_data_text.c >> trexio_text.c
 cat populated/pop_has_dset_str_text.c >> trexio_text.c
-cat populated/pop_has_num_text.c >> trexio_text.c
+cat populated/pop_has_attr_num_text.c >> trexio_text.c
 cat populated/pop_has_attr_str_text.c >> trexio_text.c
 cat populated/pop_read_dset_data_text.c >> trexio_text.c
 cat populated/pop_read_dset_str_text.c >> trexio_text.c
 cat populated/pop_read_attr_str_text.c >> trexio_text.c
-cat populated/pop_read_num_text.c >> trexio_text.c
+cat populated/pop_read_attr_num_text.c >> trexio_text.c
 cat populated/pop_write_dset_data_text.c >> trexio_text.c
 cat populated/pop_write_dset_str_text.c >> trexio_text.c
 cat populated/pop_write_attr_str_text.c >> trexio_text.c
-cat populated/pop_write_num_text.c >> trexio_text.c
-cat populated/pop_hrw_num_text.h >> trexio_text.h
+cat populated/pop_write_attr_num_text.c >> trexio_text.c
 cat populated/pop_hrw_dset_data_text.h >> trexio_text.h
 cat populated/pop_hrw_dset_str_text.h >> trexio_text.h
+cat populated/pop_hrw_attr_num_text.h >> trexio_text.h
 cat populated/pop_hrw_attr_str_text.h >> trexio_text.h
 
 cat rdm_text.c >> trexio_text.c
diff --git a/src/templates_text/templator_text.org b/src/templates_text/templator_text.org
index 4fcc8920..4d6cb71e 100644
--- a/src/templates_text/templator_text.org
+++ b/src/templates_text/templator_text.org
@@ -46,6 +46,7 @@
 #include <fcntl.h>
 #include <unistd.h>
 #include <sys/stat.h>
+#include <stdbool.h>
 
   #+end_src
 
@@ -78,7 +79,8 @@
 
     #+begin_src c :tangle struct_text_group_dset.h
 typedef struct $group$_s {
-  uint64_t $group_num$;
+  $group_num_dtype_double$ $group_num$;
+  bool $group_num$_isSet;
   $group_dset_dtype$*  $group_dset$;
   uint32_t rank_$group_dset$;
   uint32_t to_flush;
@@ -346,18 +348,21 @@ trexio_text_read_$group$ (trexio_text_t* const file)
     }
     // END REPEAT GROUP_DSET_ALL
 
+    unsigned int local_isSet;
     // START REPEAT GROUP_NUM
     /* Read data */
     rc = fscanf(f, "%1023s", buffer);
-    assert(!((rc != 1) || (strcmp(buffer, "$group_num$") != 0)));
-    if ((rc != 1) || (strcmp(buffer, "$group_num$") != 0)) {
+    assert(!((rc != 1) || (strcmp(buffer, "$group_num$_isSet") != 0)));
+    if ((rc != 1) || (strcmp(buffer, "$group_num$_isSet") != 0)) {
       FREE(buffer);
       fclose(f);
       FREE($group$);
       return NULL;
     }
-
-    rc = fscanf(f, "%" SCNu64 "", &($group$->$group_num$));
+    
+    /* additional parameter local_isSet is needed to suppress warning when fscanf into bool variable using %u or %d */
+    rc = fscanf(f, "%u", &(local_isSet));
+    $group$->$group_num$_isSet = (bool) local_isSet;
     assert(!(rc != 1));
     if (rc != 1) {
       FREE(buffer);
@@ -365,6 +370,26 @@ trexio_text_read_$group$ (trexio_text_t* const file)
       FREE($group$);
       return NULL;
     }
+
+    if ($group$->$group_num$_isSet == true) { 
+      rc = fscanf(f, "%1023s", buffer);
+      assert(!((rc != 1) || (strcmp(buffer, "$group_num$") != 0)));
+      if ((rc != 1) || (strcmp(buffer, "$group_num$") != 0)) {
+        FREE(buffer);
+        fclose(f);
+        FREE($group$);
+        return NULL;
+      }
+      
+      rc = fscanf(f, "%$group_num_std_dtype_in$", &($group$->$group_num$));
+      assert(!(rc != 1));
+      if (rc != 1) {
+        FREE(buffer);
+        fclose(f);
+        FREE($group$);
+        return NULL;
+      }
+    }
     // END REPEAT GROUP_NUM
 
     // START REPEAT GROUP_ATTR_STR
@@ -458,49 +483,51 @@ trexio_text_read_$group$ (trexio_text_t* const file)
 
     // START REPEAT GROUP_DSET_STR
     /* Allocate arrays */
-    $group$->$group_dset$ = CALLOC(size_$group_dset$, $group_dset_dtype$);
-    assert (!($group$->$group_dset$ == NULL));
-    if ($group$->$group_dset$ == NULL) {
-      FREE(buffer);
-      fclose(f);
-      FREE($group$->$group_dset$);
-      FREE($group$);
-      return NULL;
-    }
-
-    rc = fscanf(f, "%1023s", buffer);
-    assert(!((rc != 1) || (strcmp(buffer, "$group_dset$") != 0)));
-    if ((rc != 1) || (strcmp(buffer, "$group_dset$") != 0)) {
-	FREE(buffer);
-	fclose(f);
-	FREE($group$->$group_dset$);
-	FREE($group$);
-	return NULL;
-    }
-
-    /* WARNING: this tmp array allows to avoid allocation of space for each element of array of string
-    ,  BUT it's size has to be number_of_str*max_len_str where max_len_str is somewhat arbitrary, e.g. 32.
-    ,*/
-    char* tmp_$group_dset$;
-    if(size_$group_dset$ != 0) tmp_$group_dset$ = CALLOC(size_$group_dset$*32, char);
-    
-    for (uint64_t i=0 ; i<size_$group_dset$ ; ++i) {
-      $group$->$group_dset$[i] = tmp_$group_dset$;
-      /* conventional fcanf with "%s" only return the string before the first space character 
-       ,* to read string with spaces use "%[^\n]" possible with space before or after, i.e. " %[^\n]"
-       ,* Q: depending on what ? */
-      rc = fscanf(f, " %1023[^\n]", tmp_$group_dset$);
-      assert(!(rc != 1));
-      if (rc != 1) {
-	FREE(buffer);
-	fclose(f);
-	FREE($group$->$group_dset$);
-	FREE($group$);
-	return NULL;
+    if(size_$group_dset$ != 0) {
+      $group$->$group_dset$ = CALLOC(size_$group_dset$, $group_dset_dtype$);
+      assert (!($group$->$group_dset$ == NULL));
+      if ($group$->$group_dset$ == NULL) {
+        FREE(buffer);
+        fclose(f);
+        FREE($group$->$group_dset$);
+        FREE($group$);
+        return NULL;
+      }
+      
+      rc = fscanf(f, "%1023s", buffer);
+      assert(!((rc != 1) || (strcmp(buffer, "$group_dset$") != 0)));
+      if ((rc != 1) || (strcmp(buffer, "$group_dset$") != 0)) {
+        FREE(buffer);
+        fclose(f);
+        FREE($group$->$group_dset$);
+        FREE($group$);
+        return NULL;
+      }
+      
+      /* WARNING: this tmp array allows to avoid allocation of space for each element of array of string
+      ,  BUT it's size has to be number_of_str*max_len_str where max_len_str is somewhat arbitrary, e.g. 32.
+      ,*/
+      char* tmp_$group_dset$;
+      tmp_$group_dset$ = CALLOC(size_$group_dset$*32, char);
+      
+      for (uint64_t i=0 ; i<size_$group_dset$ ; ++i) {
+        $group$->$group_dset$[i] = tmp_$group_dset$;
+        /* conventional fcanf with "%s" only return the string before the first space character 
+         ,* to read string with spaces use "%[^\n]" possible with space before or after, i.e. " %[^\n]"
+         ,* Q: depending on what ? */
+        rc = fscanf(f, " %1023[^\n]", tmp_$group_dset$);
+        assert(!(rc != 1));
+        if (rc != 1) {
+          FREE(buffer);
+          fclose(f);
+          FREE($group$->$group_dset$);
+          FREE($group$);
+          return NULL;
+        }
+      
+        size_t tmp_$group_dset$_len = strlen($group$->$group_dset$[i]);
+        tmp_$group_dset$ += tmp_$group_dset$_len + 1;
       }
-
-      size_t tmp_$group_dset$_len = strlen($group$->$group_dset$[i]);
-      tmp_$group_dset$ += tmp_$group_dset$_len + 1;
     }
     // END REPEAT GROUP_DSET_STR
 
@@ -555,7 +582,8 @@ trexio_text_flush_$group$ (trexio_text_t* const file)
   // END REPEAT GROUP_DSET_ALL
 
   // START REPEAT GROUP_NUM
-  fprintf(f, "$group_num$ %" PRIu64 "\n", $group$->$group_num$);
+  fprintf(f, "$group_num$_isSet %u \n", $group$->$group_num$_isSet);
+  if ($group$->$group_num$_isSet == true) fprintf(f, "$group_num$ %$group_num_std_dtype_out$ \n", $group$->$group_num$);
   // END REPEAT GROUP_NUM
 
   // START REPEAT GROUP_ATTR_STR
@@ -624,17 +652,17 @@ trexio_text_free_$group$ (trexio_text_t* const file)
 }
     #+end_src
 
-** Template for has/read/write the num attribute
+** Template for has/read/write the numerical attribute
 
-    #+begin_src c :tangle hrw_num_text.h :exports none
+    #+begin_src c :tangle hrw_attr_num_text.h :exports none
 trexio_exit_code trexio_text_has_$group_num$ (trexio_t* const file);
-trexio_exit_code trexio_text_read_$group_num$ (trexio_t* const file, uint64_t* const num);
-trexio_exit_code trexio_text_write_$group_num$(trexio_t* const file, const uint64_t num);
+trexio_exit_code trexio_text_read_$group_num$ (trexio_t* const file, $group_num_dtype_double$* const num);
+trexio_exit_code trexio_text_write_$group_num$(trexio_t* const file, const $group_num_dtype_double$ num);
    #+end_src
 
-    #+begin_src c :tangle read_num_text.c
+    #+begin_src c :tangle read_attr_num_text.c
 trexio_exit_code
-trexio_text_read_$group_num$ (trexio_t* const file, uint64_t* const num)
+trexio_text_read_$group_num$ (trexio_t* const file, $group_num_dtype_double$* const num)
 {
 
   if (file  == NULL) return TREXIO_INVALID_ARG_1;
@@ -650,9 +678,9 @@ trexio_text_read_$group_num$ (trexio_t* const file, uint64_t* const num)
 }
    #+end_src
 
-   #+begin_src c :tangle write_num_text.c
+   #+begin_src c :tangle write_attr_num_text.c
 trexio_exit_code
-trexio_text_write_$group_num$ (trexio_t* const file, const uint64_t num)
+trexio_text_write_$group_num$ (trexio_t* const file, const $group_num_dtype_double$ num)
 {
 
   if (file == NULL) return TREXIO_INVALID_ARG_1;
@@ -662,6 +690,7 @@ trexio_text_write_$group_num$ (trexio_t* const file, const uint64_t num)
   if ($group$ == NULL) return TREXIO_FAILURE;
 
   $group$->$group_num$ = num;
+  $group$->$group_num$_isSet = true;
   $group$->to_flush = 1;
 
   return TREXIO_SUCCESS;
@@ -669,7 +698,7 @@ trexio_text_write_$group_num$ (trexio_t* const file, const uint64_t num)
 }
      #+end_src
 
-    #+begin_src c :tangle has_num_text.c
+    #+begin_src c :tangle has_attr_num_text.c
 trexio_exit_code
 trexio_text_has_$group_num$ (trexio_t* const file)
 {
@@ -678,7 +707,7 @@ trexio_text_has_$group_num$ (trexio_t* const file)
   $group$_t* $group$ = trexio_text_read_$group$((trexio_text_t*) file);
   if ($group$ == NULL) return TREXIO_FAILURE;
 
-  if ($group$->$group_num$ > 0L){
+  if ($group$->$group_num$_isSet == true){
     return TREXIO_SUCCESS;
   } else {
     return TREXIO_HAS_NOT;
diff --git a/tools/generator.py b/tools/generator.py
index 03b3c96f..30e06ad4 100644
--- a/tools/generator.py
+++ b/tools/generator.py
@@ -41,7 +41,7 @@
     iterative_populate_file(fname, template_paths, group_dict, detailed_dsets, detailed_nums, detailed_strs)
 
 # populate has/read/write_num functions with recursive scheme
-for fname in files_todo['num']:
+for fname in files_todo['attr_num']:
     recursive_populate_file(fname, template_paths, detailed_nums)
 
 # populate has/read/write_str functions with recursive scheme
diff --git a/tools/generator_tools.py b/tools/generator_tools.py
index 18c5395d..d7cb9a03 100644
--- a/tools/generator_tools.py
+++ b/tools/generator_tools.py
@@ -39,7 +39,7 @@ def get_files_todo(source_files: dict) -> dict:
     files_todo = {}       
     #files_todo['all'] = list(filter(lambda x: 'read' in x or 'write' in x or 'has' in x or 'hrw' in x or 'flush' in x or 'free' in x, all_files))
     files_todo['all'] = [f for f in all_files if 'read' in f or 'write' in f or 'has' in f or 'flush' in f or 'free' in f or 'hrw' in f]
-    for key in ['dset_data', 'dset_str', 'num', 'attr_str', 'group']:
+    for key in ['dset_data', 'dset_str', 'attr_num', 'attr_str', 'group']:
         files_todo[key] = list(filter(lambda x: key in x, files_todo['all']))
 
     files_todo['group'].append('struct_text_group_dset.h')
@@ -100,10 +100,13 @@ def recursive_populate_file(fname: str, paths: dict, detailed_source: dict) -> N
     fname_new = join('populated',f'pop_{fname}')
     templ_path = get_template_path(fname, paths)
 
-    triggers = ['group_dset_dtype', 'group_dset_py_dtype', 'group_dset_h5_dtype', 'default_prec', 'is_index', 
-                'group_dset_f_dtype_default', 'group_dset_f_dtype_double', 'group_dset_f_dtype_single', 
-                'group_dset_dtype_default', 'group_dset_dtype_double', 'group_dset_dtype_single', 
+    triggers = ['group_dset_dtype', 'group_dset_py_dtype', 'group_dset_h5_dtype', 'default_prec', 'is_index',
+                'group_dset_f_dtype_default', 'group_dset_f_dtype_double', 'group_dset_f_dtype_single',
+                'group_dset_dtype_default', 'group_dset_dtype_double', 'group_dset_dtype_single',
                 'group_dset_rank', 'group_dset_dim_list', 'group_dset_f_dims',
+                'group_num_f_dtype_default', 'group_num_f_dtype_double', 'group_num_f_dtype_single',
+                'group_num_dtype_default', 'group_num_dtype_double', 'group_num_dtype_single',
+                'group_num_h5_dtype', 'group_num_py_dtype',
                 'group_dset', 'group_num', 'group_str', 'group']
 
     for item in detailed_source.keys():
@@ -126,6 +129,12 @@ def recursive_populate_file(fname: str, paths: dict, detailed_source: dict) -> N
                                 f_out.write(templine)
                         num_written = []
                         continue
+                    # special case to uncomment check for positive dimensioning variables in templates
+                    elif 'uncommented by the generator for dimensioning' in line:
+                        # only uncomment and write the line if `num` is in the name
+                        if 'dim' in detailed_source[item]['trex_json_int_type']:
+                            templine = line.replace('//', '') 
+                            f_out.write(templine)
                     # general case of recursive replacement of inline triggers 
                     else:
                         populated_line = recursive_replace_line(line, triggers, detailed_source[item])
@@ -284,6 +293,7 @@ def special_populate_text_group(fname: str, paths: dict, group_dict: dict, detai
     templ_path = get_template_path(fname, paths)
 
     triggers = ['group_dset_dtype', 'group_dset_std_dtype_out', 'group_dset_std_dtype_in',
+                'group_num_dtype_double', 'group_num_std_dtype_out', 'group_num_std_dtype_in',
                 'group_dset', 'group_num', 'group_str', 'group']
 
     for group in group_dict.keys():
@@ -455,7 +465,7 @@ def get_detailed_num_dict (configuration: dict) -> dict:
                     configuration (dict) : configuration from `trex.json`
 
             Returns:
-                    num_dict (dict) : dictionary of num-suffixed variables
+                    num_dict (dict) : dictionary of all numerical attributes (of types int, float, dim)
     """
     num_dict = {}
     for k1,v1 in configuration.items():
@@ -468,6 +478,35 @@ def get_detailed_num_dict (configuration: dict) -> dict:
                     tmp_dict['group_num'] = tmp_num
                     num_dict[tmp_num] = tmp_dict
 
+                    # TODO the arguments below are almost the same as for group_dset (except for trex_json_int_type) and can be exported from somewhere
+                    if v2[0] == 'float':
+                        tmp_dict['datatype'] = 'double'
+                        tmp_dict['group_num_h5_dtype']       = 'native_double'
+                        tmp_dict['group_num_f_dtype_default']= 'real(8)'
+                        tmp_dict['group_num_f_dtype_double'] = 'real(8)'
+                        tmp_dict['group_num_f_dtype_single'] = 'real(4)'
+                        tmp_dict['group_num_dtype_default']= 'double'
+                        tmp_dict['group_num_dtype_double'] = 'double'
+                        tmp_dict['group_num_dtype_single'] = 'float'
+                        tmp_dict['default_prec']   = '64'
+                        tmp_dict['group_num_std_dtype_out'] = '24.16e'
+                        tmp_dict['group_num_std_dtype_in'] = 'lf'
+                        tmp_dict['group_num_py_dtype'] = 'float'
+                    elif v2[0] in ['int', 'dim']:
+                        tmp_dict['datatype'] = 'int64_t'
+                        tmp_dict['group_num_h5_dtype'] = 'native_int64'
+                        tmp_dict['group_num_f_dtype_default']= 'integer(4)'
+                        tmp_dict['group_num_f_dtype_double'] = 'integer(8)'
+                        tmp_dict['group_num_f_dtype_single'] = 'integer(4)'
+                        tmp_dict['group_num_dtype_default']= 'int32_t'
+                        tmp_dict['group_num_dtype_double'] = 'int64_t'
+                        tmp_dict['group_num_dtype_single'] = 'int32_t'
+                        tmp_dict['default_prec']   = '32'
+                        tmp_dict['group_num_std_dtype_out'] = '" PRId64 "'
+                        tmp_dict['group_num_std_dtype_in']  = '" SCNd64 "' 
+                        tmp_dict['group_num_py_dtype'] = 'int'
+                        tmp_dict['trex_json_int_type'] = v2[0]
+
     return num_dict
 
 
@@ -634,7 +673,7 @@ def check_dim_consistency(num: dict, dset: dict) -> None:
     Consistency check to make sure that each dimensioning variable exists as a num attribute of some group. 
 
             Parameters:
-                    num (dict)  : dictionary of num-suffixed variables
+                    num (dict)  : dictionary of numerical attributes
                     dset (dict) : dictionary of datasets
 
             Returns:
@@ -647,6 +686,8 @@ def check_dim_consistency(num: dict, dset: dict) -> None:
             if dim not in dim_tocheck:
                 dim_tocheck.append(dim)
 
+    num_onlyDim = [attr_name for attr_name, specs in num.items() if specs['trex_json_int_type']=='dim']
+
     for dim in dim_tocheck:
-        if not dim in num.keys():
+        if not dim in num_onlyDim:
             raise ValueError(f"Dimensioning variable {dim} is not a num attribute of any group.\n")
diff --git a/trex.org b/trex.org
index b7c5723a..908a7384 100644
--- a/trex.org
+++ b/trex.org
@@ -16,6 +16,14 @@ column-major order (as in Fortran), and the ordering of the dimensions
 is reversed in the produced ~trex.json~ configuration file as the library is
 written in C.
 
+TREXIO currently supports ~int~, ~float~ and ~str~ types for both single attributes and arrays.
+Note, that some attributes might have ~dim~ type (e.g. ~num~ of the ~nucleus~ group).
+This type is treated exactly the same as ~int~ with the only difference that ~dim~ variables
+cannot be negative or zero. This additional constraint is required because ~dim~ attributes 
+are used internally to allocate memory and to check array boundaries in the memory-safe API.
+Most of the times, the ~dim~ variables contain ~num~ suffix.
+
+
 In Fortran, the arrays are 1-based and in most other languages the
 arrays are 0-based. Hence, we introduce the ~index~ type which is an
 1-based ~int~ in the Fortran interface and 0-based otherwise.
@@ -35,9 +43,9 @@ arrays are 0-based. Hence, we introduce the ~index~ type which is an
   #+NAME: metadata
   | Variable          | Type  | Dimensions (for arrays) | Description                              |
   |-------------------+-------+-------------------------+------------------------------------------|
-  | ~code_num~        | ~int~ |                         | Number of codes used to produce the file |
+  | ~code_num~        | ~dim~ |                         | Number of codes used to produce the file |
   | ~code~            | ~str~ | ~(metadata.code_num)~   | Names of the codes used                  |
-  | ~author_num~      | ~int~ |                         | Number of authors of the file            |
+  | ~author_num~      | ~dim~ |                         | Number of authors of the file            |
   | ~author~          | ~str~ | ~(metadata.author_num)~ | Names of the authors of the file         |
   | ~package_version~ | ~str~ |                         | TREXIO version used to produce the file  |
   | ~description~     | ~str~ |                         | Text describing the content of file      |
@@ -47,9 +55,9 @@ arrays are 0-based. Hence, we introduce the ~index~ type which is an
   :RESULTS:
   #+begin_src python :tangle trex.json
       "metadata": {
-		 "code_num" : [ "int", []                        ]
+		 "code_num" : [ "dim", []                        ]
 	,            "code" : [ "str", [ "metadata.code_num" ]   ]
-	,      "author_num" : [ "int", []                        ]
+	,      "author_num" : [ "dim", []                        ]
 	,          "author" : [ "str", [ "metadata.author_num" ] ]
 	, "package_version" : [ "str", []                        ]
 	,     "description" : [ "str", []                        ]
@@ -65,19 +73,19 @@ arrays are 0-based. Hence, we introduce the ~index~ type which is an
   #+NAME:electron
   | Variable | Type  | Dimensions | Description                         |
   |----------+-------+------------+-------------------------------------|
-  | ~up_num~ | ~int~ |            | Number of \uparrow-spin electrons   |
-  | ~dn_num~ | ~int~ |            | Number of \downarrow-spin electrons |
+  | ~up_num~ | ~dim~ |            | Number of \uparrow-spin electrons   |
+  | ~dn_num~ | ~dim~ |            | Number of \downarrow-spin electrons |
 
   #+CALL: json(data=electron, title="electron")
   #+RESULTS:
-  :results:
+  :RESULTS:
   #+begin_src python :tangle trex.json
       "electron": {
-          "up_num" : [ "int", []  ]
-        , "dn_num" : [ "int", []  ]
+	  "up_num" : [ "dim", []  ]
+	, "dn_num" : [ "dim", []  ]
       } ,
   #+end_src
-  :end:
+  :END:
 
 * Nucleus (nucleus group)
 
@@ -87,7 +95,7 @@ arrays are 0-based. Hence, we introduce the ~index~ type which is an
   #+NAME: nucleus
   | Variable      | Type    | Dimensions        | Description              |
   |---------------+---------+-------------------+--------------------------|
-  | ~num~         | ~int~   |                   | Number of nuclei         |
+  | ~num~         | ~dim~   |                   | Number of nuclei         |
   | ~charge~      | ~float~ | ~(nucleus.num)~   | Charges of the nuclei    |
   | ~coord~       | ~float~ | ~(3,nucleus.num)~ | Coordinates of the atoms |
   | ~label~       | ~str~   | ~(nucleus.num)~   | Atom labels              |
@@ -95,17 +103,17 @@ arrays are 0-based. Hence, we introduce the ~index~ type which is an
 
   #+CALL: json(data=nucleus, title="nucleus")
   #+RESULTS:
-  :results:
+  :RESULTS:
   #+begin_src python :tangle trex.json
       "nucleus": {
-                  "num" : [ "int"  , []                     ]
-        ,      "charge" : [ "float", [ "nucleus.num" ]      ]
-        ,       "coord" : [ "float", [ "nucleus.num", "3" ] ]
-        ,       "label" : [ "str"  , [ "nucleus.num" ]      ]
-        , "point_group" : [ "str"  , []                     ]
+		  "num" : [ "dim"  , []                     ]
+	,      "charge" : [ "float", [ "nucleus.num" ]      ]
+	,       "coord" : [ "float", [ "nucleus.num", "3" ] ]
+	,       "label" : [ "str"  , [ "nucleus.num" ]      ]
+	, "point_group" : [ "str"  , []                     ]
       } ,
   #+end_src
-  :end:
+  :END:
 
 * Effective core potentials (ecp group)
 
@@ -135,12 +143,12 @@ arrays are 0-based. Hence, we introduce the ~index~ type which is an
   | ~lmax_plus_1~         | ~int~   | ~(nucleus.num)~                          | $\ell_{\max} + 1$, one higher than the maximum angular momentum in the removed core orbitals |
   | ~z_core~              | ~float~ | ~(nucleus.num)~                          | Charges to remove                                                                            |
   | ~local_n~             | ~int~   | ~(nucleus.num)~                          | Number of local functions $N_{q \ell}$                                                       |
-  | ~local_num_n_max~     | ~int~   |                                          | Maximum value of ~local_n~, used for dimensioning arrays                                     |
-  | ~local_exponent~      | ~float~ | ~(ecp.local_num_n_max, nucleus.num)~     | $\alpha_{A q \ell_{\max}}$                                                                  |
-  | ~local_coef~          | ~float~ | ~(ecp.local_num_n_max, nucleus.num)~     | $\beta_{A q \ell_{\max}}$                                                                   |
+  | ~local_num_n_max~     | ~dim~   |                                          | Maximum value of ~local_n~, used for dimensioning arrays                                     |
+  | ~local_exponent~      | ~float~ | ~(ecp.local_num_n_max, nucleus.num)~     | $\alpha_{A q \ell_{\max}}$                                                                   |
+  | ~local_coef~          | ~float~ | ~(ecp.local_num_n_max, nucleus.num)~     | $\beta_{A q \ell_{\max}}$                                                                    |
   | ~local_power~         | ~int~   | ~(ecp.local_num_n_max, nucleus.num)~     | $n_{A q \ell_{\max}}$                                                                        |
   | ~non_local_n~         | ~int~   | ~(nucleus.num)~                          | $N_{q \ell_{\max}}$                                                                          |
-  | ~non_local_num_n_max~ | ~int~   |                                          | Maximum value of ~non_local_n~, used for dimensioning arrays                                 |
+  | ~non_local_num_n_max~ | ~dim~   |                                          | Maximum value of ~non_local_n~, used for dimensioning arrays                                 |
   | ~non_local_exponent~  | ~float~ | ~(ecp.non_local_num_n_max, nucleus.num)~ | $\alpha_{A q \ell}$                                                                          |
   | ~non_local_coef~      | ~float~ | ~(ecp.non_local_num_n_max, nucleus.num)~ | $\beta_{A q \ell}$                                                                           |
   | ~non_local_power~     | ~int~   | ~(ecp.non_local_num_n_max, nucleus.num)~ | $n_{A q \ell}$                                                                               |
@@ -148,24 +156,24 @@ arrays are 0-based. Hence, we introduce the ~index~ type which is an
   #+CALL: json(data=ecp, title="ecp")
 
   #+RESULTS:
-  :results:
+  :RESULTS:
   #+begin_src python :tangle trex.json
       "ecp": {
-                  "lmax_plus_1" : [ "int"  , [ "nucleus.num" ]                            ]
-        ,              "z_core" : [ "float", [ "nucleus.num" ]                            ]
-        ,             "local_n" : [ "int"  , [ "nucleus.num" ]                            ]
-        ,     "local_num_n_max" : [ "int"  , []                                           ]
-        ,      "local_exponent" : [ "float", [ "nucleus.num", "ecp.local_num_n_max" ]     ]
-        ,          "local_coef" : [ "float", [ "nucleus.num", "ecp.local_num_n_max" ]     ]
-        ,         "local_power" : [ "int"  , [ "nucleus.num", "ecp.local_num_n_max" ]     ]
-        ,         "non_local_n" : [ "int"  , [ "nucleus.num" ]                            ]
-        , "non_local_num_n_max" : [ "int"  , []                                           ]
-        ,  "non_local_exponent" : [ "float", [ "nucleus.num", "ecp.non_local_num_n_max" ] ]
-        ,      "non_local_coef" : [ "float", [ "nucleus.num", "ecp.non_local_num_n_max" ] ]
-        ,     "non_local_power" : [ "int"  , [ "nucleus.num", "ecp.non_local_num_n_max" ] ]
+		  "lmax_plus_1" : [ "int"  , [ "nucleus.num" ]                            ]
+	,              "z_core" : [ "float", [ "nucleus.num" ]                            ]
+	,             "local_n" : [ "int"  , [ "nucleus.num" ]                            ]
+	,     "local_num_n_max" : [ "dim"  , []                                           ]
+	,      "local_exponent" : [ "float", [ "nucleus.num", "ecp.local_num_n_max" ]     ]
+	,          "local_coef" : [ "float", [ "nucleus.num", "ecp.local_num_n_max" ]     ]
+	,         "local_power" : [ "int"  , [ "nucleus.num", "ecp.local_num_n_max" ]     ]
+	,         "non_local_n" : [ "int"  , [ "nucleus.num" ]                            ]
+	, "non_local_num_n_max" : [ "dim"  , []                                           ]
+	,  "non_local_exponent" : [ "float", [ "nucleus.num", "ecp.non_local_num_n_max" ] ]
+	,      "non_local_coef" : [ "float", [ "nucleus.num", "ecp.non_local_num_n_max" ] ]
+	,     "non_local_power" : [ "int"  , [ "nucleus.num", "ecp.non_local_num_n_max" ] ]
       } ,
   #+end_src
-  :end:
+  :END:
 
 * Basis set (basis group)
 
@@ -210,8 +218,8 @@ arrays are 0-based. Hence, we introduce the ~index~ type which is an
   | Variable            | Type    | Dimensions         | Description                                              |
   |---------------------+---------+--------------------+----------------------------------------------------------|
   | ~type~              | ~str~   |                    | Type of basis set: "Gaussian" or "Slater"                |
-  | ~num~               | ~int~   |                    | Total Number of shells                                   |
-  | ~prim_num~          | ~int~   |                    | Total number of primitives                               |
+  | ~num~               | ~dim~   |                    | Total Number of shells                                   |
+  | ~prim_num~          | ~dim~   |                    | Total number of primitives                               |
   | ~nucleus_index~     | ~index~ | ~(nucleus.num)~    | Index of the first shell of each nucleus ($A$)           |
   | ~nucleus_shell_num~ | ~int~   | ~(nucleus.num)~    | Number of shells for each nucleus                        |
   | ~shell_ang_mom~     | ~int~   | ~(basis.num)~      | Angular momentum ~0:S, 1:P, 2:D, ...~                    |
@@ -225,24 +233,24 @@ arrays are 0-based. Hence, we introduce the ~index~ type which is an
   #+CALL: json(data=basis, title="basis")
 
   #+RESULTS:
-  :results:
+  :RESULTS:
   #+begin_src python :tangle trex.json
       "basis": {
-                       "type" : [ "str"  , []                   ]
-        ,               "num" : [ "int"  , []                   ]
-        ,          "prim_num" : [ "int"  , []                   ]
-        ,     "nucleus_index" : [ "index", [ "nucleus.num" ]    ]
-        , "nucleus_shell_num" : [ "int"  , [ "nucleus.num" ]    ]
-        ,     "shell_ang_mom" : [ "int"  , [ "basis.num" ]      ]
-        ,    "shell_prim_num" : [ "int"  , [ "basis.num" ]      ]
-        ,      "shell_factor" : [ "float", [ "basis.num" ]      ]
-        ,  "shell_prim_index" : [ "index", [ "basis.num" ]      ]
-        ,          "exponent" : [ "float", [ "basis.prim_num" ] ]
-        ,       "coefficient" : [ "float", [ "basis.prim_num" ] ]
-        ,       "prim_factor" : [ "float", [ "basis.prim_num" ] ]
+		       "type" : [ "str"  , []                   ]
+	,               "num" : [ "dim"  , []                   ]
+	,          "prim_num" : [ "dim"  , []                   ]
+	,     "nucleus_index" : [ "index", [ "nucleus.num" ]    ]
+	, "nucleus_shell_num" : [ "int"  , [ "nucleus.num" ]    ]
+	,     "shell_ang_mom" : [ "int"  , [ "basis.num" ]      ]
+	,    "shell_prim_num" : [ "int"  , [ "basis.num" ]      ]
+	,      "shell_factor" : [ "float", [ "basis.num" ]      ]
+	,  "shell_prim_index" : [ "index", [ "basis.num" ]      ]
+	,          "exponent" : [ "float", [ "basis.prim_num" ] ]
+	,       "coefficient" : [ "float", [ "basis.prim_num" ] ]
+	,       "prim_factor" : [ "float", [ "basis.prim_num" ] ]
       } ,
   #+end_src
-  :end:
+  :END:
 
   For example, consider H_2 with the following basis set (in GAMESS
   format), where both the AOs and primitives are considered normalized:
@@ -348,23 +356,23 @@ prim_factor =
   | Variable        | Type    | Dimensions | Description                     |
   |-----------------+---------+------------+---------------------------------|
   | ~cartesian~     | ~int~   |            | ~1~: true, ~0~: false           |
-  | ~num~           | ~int~   |            | Total number of atomic orbitals |
+  | ~num~           | ~dim~   |            | Total number of atomic orbitals |
   | ~shell~         | ~index~ | ~(ao.num)~ | basis set shell for each AO     |
   | ~normalization~ | ~float~ | ~(ao.num)~ | Normalization factors           |
 
   #+CALL: json(data=ao, title="ao")
 
   #+RESULTS:
-  :results:
+  :RESULTS:
   #+begin_src python :tangle trex.json
       "ao": {
-              "cartesian" : [ "int"  , []           ]
-        ,           "num" : [ "int"  , []           ]
-        ,         "shell" : [ "index", [ "ao.num" ] ]
-        , "normalization" : [ "float", [ "ao.num" ] ]
+	      "cartesian" : [ "int"  , []           ]
+	,           "num" : [ "dim"  , []           ]
+	,         "shell" : [ "index", [ "ao.num" ] ]
+	, "normalization" : [ "float", [ "ao.num" ] ]
       } ,
   #+end_src
-  :end:
+  :END:
 
 ** One-electron integrals (~ao_1e_int~ group)
    :PROPERTIES:
@@ -453,7 +461,7 @@ prim_factor =
   | Variable      | Type    | Dimensions         | Description                                                              |
   |---------------+---------+--------------------+--------------------------------------------------------------------------|
   | ~type~        | ~str~   |                    | Free text to identify the set of MOs (HF, Natural, Local, CASSCF, /etc/) |
-  | ~num~         | ~int~   |                    | Number of MOs                                                            |
+  | ~num~         | ~dim~   |                    | Number of MOs                                                            |
   | ~coefficient~ | ~float~ | ~(ao.num, mo.num)~ | MO coefficients                                                          |
   | ~class~       | ~str~   | ~(mo.num)~         | Choose among: Core, Inactive, Active, Virtual, Deleted                   |
   | ~symmetry~    | ~str~   | ~(mo.num)~         | Symmetry in the point group                                              |
@@ -462,18 +470,18 @@ prim_factor =
   #+CALL: json(data=mo, title="mo")
 
   #+RESULTS:
-  :results:
+  :RESULTS:
   #+begin_src python :tangle trex.json
       "mo": {
-                 "type" : [ "str"  , []                     ]
-        ,         "num" : [ "int"  , []                     ]
-        , "coefficient" : [ "float", [ "mo.num", "ao.num" ] ]
-        ,       "class" : [ "str"  , [ "mo.num" ]           ]
-        ,    "symmetry" : [ "str"  , [ "mo.num" ]           ]
-        ,  "occupation" : [ "float", [ "mo.num" ]           ]
+		 "type" : [ "str"  , []                     ]
+	,         "num" : [ "dim"  , []                     ]
+	, "coefficient" : [ "float", [ "mo.num", "ao.num" ] ]
+	,       "class" : [ "str"  , [ "mo.num" ]           ]
+	,    "symmetry" : [ "str"  , [ "mo.num" ]           ]
+	,  "occupation" : [ "float", [ "mo.num" ]           ]
       } ,
   #+end_src
-  :end:
+  :END:
 
 ** One-electron integrals (~mo_1e_int~ group)
 


Test patch:
diff --git a/tests/io_num_hdf5.c b/tests/io_num_hdf5.c
index 2983a45c..8cac31cf 100644
--- a/tests/io_num_hdf5.c
+++ b/tests/io_num_hdf5.c
@@ -27,6 +27,14 @@ static int test_write_num (const char* file_name, const back_end_t backend) {
   rc = trexio_write_nucleus_num(file, num);
   assert (rc == TREXIO_SUCCESS);
 
+  // attempt to write 0 as dimensioning variable in an empty file; should FAIL and return TREXIO_INVALID_ARG_2
+  rc = trexio_write_mo_num(file, 0);
+  assert (rc == TREXIO_INVALID_NUM);
+
+  // write numerical attribute ao_cartesian as 0
+  rc = trexio_write_ao_cartesian(file, 0);
+  assert (rc == TREXIO_SUCCESS);
+
   // close current session
   rc = trexio_close(file);
   assert (rc == TREXIO_SUCCESS);
@@ -77,6 +85,7 @@ static int test_read_num (const char* file_name, const back_end_t backend) {
 
   // parameters to be read
   int num;
+  int cartesian;
 
 /*================= START OF TEST ==================*/
 
@@ -89,6 +98,15 @@ static int test_read_num (const char* file_name, const back_end_t backend) {
   assert (rc == TREXIO_SUCCESS);
   assert (num == 12);
 
+  // read non-existing numerical attribute from the file
+  rc = trexio_read_mo_num(file, &num);
+  assert (rc == TREXIO_ATTR_MISSING);
+
+  // read ao_cartesian (zero) value from the file
+  rc = trexio_read_ao_cartesian(file, &cartesian);
+  assert (rc == TREXIO_SUCCESS);
+  assert (cartesian == 0);
+
   // close current session
   rc = trexio_close(file);
   assert (rc == TREXIO_SUCCESS);
diff --git a/tests/io_num_text.c b/tests/io_num_text.c
index f8907fbc..9f779cde 100644
--- a/tests/io_num_text.c
+++ b/tests/io_num_text.c
@@ -27,6 +27,14 @@ static int test_write_num (const char* file_name, const back_end_t backend) {
   rc = trexio_write_nucleus_num(file, num);
   assert (rc == TREXIO_SUCCESS);
 
+  // attempt to write 0 as dimensioning variable in an empty file; should FAIL and return TREXIO_INVALID_ARG_2
+  rc = trexio_write_mo_num(file, 0);
+  assert (rc == TREXIO_INVALID_NUM);
+
+  // write numerical attribute ao_cartesian as 0
+  rc = trexio_write_ao_cartesian(file, 0);
+  assert (rc == TREXIO_SUCCESS);
+
   // close current session
   rc = trexio_close(file);
   assert (rc == TREXIO_SUCCESS);
@@ -77,6 +85,7 @@ static int test_read_num (const char* file_name, const back_end_t backend) {
 
   // parameters to be read
   int num;
+  int cartesian;
 
 /*================= START OF TEST ==================*/
 
@@ -89,6 +98,15 @@ static int test_read_num (const char* file_name, const back_end_t backend) {
   assert (rc == TREXIO_SUCCESS);
   assert (num == 12);
 
+  // read non-existing numerical attribute from the file
+  rc = trexio_read_mo_num(file, &num);
+  assert (rc == TREXIO_ATTR_MISSING);
+
+  // read ao_cartesian (zero) value from the file
+  rc = trexio_read_ao_cartesian(file, &cartesian);
+  assert (rc == TREXIO_SUCCESS);
+  assert (cartesian == 0);
+
   // close current session
   rc = trexio_close(file);
   assert (rc == TREXIO_SUCCESS);