7981 lines
502 KiB
HTML
7981 lines
502 KiB
HTML
<!DOCTYPE html>
|
||
|
||
<html lang="en">
|
||
<head><meta charset="utf-8"/>
|
||
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
|
||
<title>tutorial</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script><script>
|
||
(function() {
|
||
function addWidgetsRenderer() {
|
||
var mimeElement = document.querySelector('script[type="application/vnd.jupyter.widget-view+json"]');
|
||
var scriptElement = document.createElement('script');
|
||
|
||
var widgetRendererSrc = 'https://unpkg.com/@jupyter-widgets/html-manager@*/dist/embed-amd.js';
|
||
|
||
var widgetState;
|
||
|
||
// Fallback for older version:
|
||
try {
|
||
widgetState = mimeElement && JSON.parse(mimeElement.innerHTML);
|
||
|
||
if (widgetState && (widgetState.version_major < 2 || !widgetState.version_major)) {
|
||
|
||
var widgetRendererSrc = 'https://unpkg.com/@jupyter-js-widgets@*/dist/embed.js';
|
||
|
||
}
|
||
} catch(e) {}
|
||
|
||
scriptElement.src = widgetRendererSrc;
|
||
document.body.appendChild(scriptElement);
|
||
}
|
||
|
||
document.addEventListener('DOMContentLoaded', addWidgetsRenderer);
|
||
}());
|
||
</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 .pm { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation.Marker */
|
||
.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;
|
||
}
|
||
|
||
/* 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: 0 solid transparent;
|
||
border-right: 0 solid transparent;
|
||
}
|
||
|
||
.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical {
|
||
border-top: 0 solid transparent;
|
||
border-bottom: 0 solid transparent;
|
||
}
|
||
|
||
/*
|
||
* Lumino
|
||
*/
|
||
|
||
.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.
|
||
* 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-Widget {
|
||
box-sizing: border-box;
|
||
position: relative;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.lm-Widget.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.lm-AccordionPanel[data-orientation='horizontal'] > .lm-AccordionPanel-title {
|
||
/* Title is rotated for horizontal accordion panel using CSS */
|
||
display: block;
|
||
transform-origin: top left;
|
||
transform: rotate(-90deg) translate(-100%);
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-CommandPalette {
|
||
display: flex;
|
||
flex-direction: column;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.lm-CommandPalette-search {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.lm-CommandPalette-content {
|
||
flex: 1 1 auto;
|
||
margin: 0;
|
||
padding: 0;
|
||
min-height: 0;
|
||
overflow: auto;
|
||
list-style-type: none;
|
||
}
|
||
|
||
.lm-CommandPalette-header {
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.lm-CommandPalette-item {
|
||
display: flex;
|
||
flex-direction: row;
|
||
}
|
||
|
||
.lm-CommandPalette-itemIcon {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.lm-CommandPalette-itemContent {
|
||
flex: 1 1 auto;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.lm-CommandPalette-itemShortcut {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.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.
|
||
* 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-DockPanel {
|
||
z-index: 0;
|
||
}
|
||
|
||
.lm-DockPanel-widget {
|
||
z-index: 0;
|
||
}
|
||
|
||
.lm-DockPanel-tabBar {
|
||
z-index: 1;
|
||
}
|
||
|
||
.lm-DockPanel-handle {
|
||
z-index: 2;
|
||
}
|
||
|
||
.lm-DockPanel-handle.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
.lm-DockPanel-handle:after {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
content: '';
|
||
}
|
||
|
||
.lm-DockPanel-handle[data-orientation='horizontal'] {
|
||
cursor: ew-resize;
|
||
}
|
||
|
||
.lm-DockPanel-handle[data-orientation='vertical'] {
|
||
cursor: ns-resize;
|
||
}
|
||
|
||
.lm-DockPanel-handle[data-orientation='horizontal']:after {
|
||
left: 50%;
|
||
min-width: 8px;
|
||
transform: translateX(-50%);
|
||
}
|
||
|
||
.lm-DockPanel-handle[data-orientation='vertical']:after {
|
||
top: 50%;
|
||
min-height: 8px;
|
||
transform: translateY(-50%);
|
||
}
|
||
|
||
.lm-DockPanel-overlay {
|
||
z-index: 3;
|
||
box-sizing: border-box;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.lm-DockPanel-overlay.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.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;
|
||
}
|
||
|
||
.lm-Menu-content {
|
||
margin: 0;
|
||
padding: 0;
|
||
display: table;
|
||
list-style-type: none;
|
||
}
|
||
|
||
.lm-Menu-item {
|
||
display: table-row;
|
||
}
|
||
|
||
.lm-Menu-item.lm-mod-hidden,
|
||
.lm-Menu-item.lm-mod-collapsed {
|
||
display: none !important;
|
||
}
|
||
|
||
.lm-Menu-itemIcon,
|
||
.lm-Menu-itemSubmenuIcon {
|
||
display: table-cell;
|
||
text-align: center;
|
||
}
|
||
|
||
.lm-Menu-itemLabel {
|
||
display: table-cell;
|
||
text-align: left;
|
||
}
|
||
|
||
.lm-Menu-itemShortcut {
|
||
display: table-cell;
|
||
text-align: right;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-MenuBar {
|
||
outline: none;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.lm-MenuBar-content {
|
||
margin: 0;
|
||
padding: 0;
|
||
display: flex;
|
||
flex-direction: row;
|
||
list-style-type: none;
|
||
}
|
||
|
||
.lm-MenuBar-item {
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.lm-MenuBar-itemIcon,
|
||
.lm-MenuBar-itemLabel {
|
||
display: inline-block;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-ScrollBar {
|
||
display: flex;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.lm-ScrollBar[data-orientation='horizontal'] {
|
||
flex-direction: row;
|
||
}
|
||
|
||
.lm-ScrollBar[data-orientation='vertical'] {
|
||
flex-direction: column;
|
||
}
|
||
|
||
.lm-ScrollBar-button {
|
||
box-sizing: border-box;
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.lm-ScrollBar-track {
|
||
box-sizing: border-box;
|
||
position: relative;
|
||
overflow: hidden;
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
.lm-ScrollBar-thumb {
|
||
box-sizing: border-box;
|
||
position: absolute;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-SplitPanel-child {
|
||
z-index: 0;
|
||
}
|
||
|
||
.lm-SplitPanel-handle {
|
||
z-index: 1;
|
||
}
|
||
|
||
.lm-SplitPanel-handle.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
.lm-SplitPanel-handle:after {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
content: '';
|
||
}
|
||
|
||
.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle {
|
||
cursor: ew-resize;
|
||
}
|
||
|
||
.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle {
|
||
cursor: ns-resize;
|
||
}
|
||
|
||
.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after {
|
||
left: 50%;
|
||
min-width: 8px;
|
||
transform: translateX(-50%);
|
||
}
|
||
|
||
.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after {
|
||
top: 50%;
|
||
min-height: 8px;
|
||
transform: translateY(-50%);
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-TabBar {
|
||
display: flex;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.lm-TabBar[data-orientation='horizontal'] {
|
||
flex-direction: row;
|
||
align-items: flex-end;
|
||
}
|
||
|
||
.lm-TabBar[data-orientation='vertical'] {
|
||
flex-direction: column;
|
||
align-items: flex-end;
|
||
}
|
||
|
||
.lm-TabBar-content {
|
||
margin: 0;
|
||
padding: 0;
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
list-style-type: none;
|
||
}
|
||
|
||
.lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content {
|
||
flex-direction: row;
|
||
}
|
||
|
||
.lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content {
|
||
flex-direction: column;
|
||
}
|
||
|
||
.lm-TabBar-tab {
|
||
display: flex;
|
||
flex-direction: row;
|
||
box-sizing: border-box;
|
||
overflow: hidden;
|
||
touch-action: none; /* Disable native Drag/Drop */
|
||
}
|
||
|
||
.lm-TabBar-tabIcon,
|
||
.lm-TabBar-tabCloseIcon {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.lm-TabBar-tabLabel {
|
||
flex: 1 1 auto;
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.lm-TabBar-tabInput {
|
||
user-select: all;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.lm-TabBar-tab.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
.lm-TabBar-addButton.lm-mod-hidden {
|
||
display: none !important;
|
||
}
|
||
|
||
.lm-TabBar.lm-mod-dragging .lm-TabBar-tab {
|
||
position: relative;
|
||
}
|
||
|
||
.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab {
|
||
left: 0;
|
||
transition: left 150ms ease;
|
||
}
|
||
|
||
.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab {
|
||
top: 0;
|
||
transition: top 150ms ease;
|
||
}
|
||
|
||
.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging {
|
||
transition: none;
|
||
}
|
||
|
||
.lm-TabBar-tabLabel .lm-TabBar-tabInput {
|
||
user-select: all;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
background: inherit;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-TabPanel-tabBar {
|
||
z-index: 1;
|
||
}
|
||
|
||
.lm-TabPanel-stackedPanel {
|
||
z-index: 0;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Collapse {
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: stretch;
|
||
}
|
||
|
||
.jp-Collapse-header {
|
||
padding: 1px 12px;
|
||
background-color: var(--jp-layout-color1);
|
||
border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
|
||
color: var(--jp-ui-font-color1);
|
||
cursor: pointer;
|
||
display: flex;
|
||
align-items: center;
|
||
font-size: var(--jp-ui-font-size0);
|
||
font-weight: 600;
|
||
text-transform: uppercase;
|
||
user-select: none;
|
||
}
|
||
|
||
.jp-Collapser-icon {
|
||
height: 16px;
|
||
}
|
||
|
||
.jp-Collapse-header-collapsed .jp-Collapser-icon {
|
||
transform: rotate(-90deg);
|
||
margin: auto 0;
|
||
}
|
||
|
||
.jp-Collapser-title {
|
||
line-height: 25px;
|
||
}
|
||
|
||
.jp-Collapse-contents {
|
||
padding: 0 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/* 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-above: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzN18xOTQ5MikiPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGQ9Ik00Ljc1IDQuOTMwNjZINi42MjVWNi44MDU2NkM2LjYyNSA3LjAxMTkxIDYuNzkzNzUgNy4xODA2NiA3IDcuMTgwNjZDNy4yMDYyNSA3LjE4MDY2IDcuMzc1IDcuMDExOTEgNy4zNzUgNi44MDU2NlY0LjkzMDY2SDkuMjVDOS40NTYyNSA0LjkzMDY2IDkuNjI1IDQuNzYxOTEgOS42MjUgNC41NTU2NkM5LjYyNSA0LjM0OTQxIDkuNDU2MjUgNC4xODA2NiA5LjI1IDQuMTgwNjZINy4zNzVWMi4zMDU2NkM3LjM3NSAyLjA5OTQxIDcuMjA2MjUgMS45MzA2NiA3IDEuOTMwNjZDNi43OTM3NSAxLjkzMDY2IDYuNjI1IDIuMDk5NDEgNi42MjUgMi4zMDU2NlY0LjE4MDY2SDQuNzVDNC41NDM3NSA0LjE4MDY2IDQuMzc1IDQuMzQ5NDEgNC4zNzUgNC41NTU2NkM0LjM3NSA0Ljc2MTkxIDQuNTQzNzUgNC45MzA2NiA0Ljc1IDQuOTMwNjZaIiBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMC43Ii8+CjwvZz4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjUgOS41VjExLjVMMi41IDExLjVWOS41TDExLjUgOS41Wk0xMiA4QzEyLjU1MjMgOCAxMyA4LjQ0NzcyIDEzIDlWMTJDMTMgMTIuNTUyMyAxMi41NTIzIDEzIDEyIDEzTDIgMTNDMS40NDc3MiAxMyAxIDEyLjU1MjMgMSAxMlY5QzEgOC40NDc3MiAxLjQ0NzcxIDggMiA4TDEyIDhaIiBmaWxsPSIjNjE2MTYxIi8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzN18xOTQ5MiI+CjxyZWN0IGNsYXNzPSJqcC1pY29uMyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAxIDEwIDEuNTU1NjYpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==);
|
||
--jp-icon-add-below: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzN18xOTQ5OCkiPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGQ9Ik05LjI1IDEwLjA2OTNMNy4zNzUgMTAuMDY5M0w3LjM3NSA4LjE5NDM0QzcuMzc1IDcuOTg4MDkgNy4yMDYyNSA3LjgxOTM0IDcgNy44MTkzNEM2Ljc5Mzc1IDcuODE5MzQgNi42MjUgNy45ODgwOSA2LjYyNSA4LjE5NDM0TDYuNjI1IDEwLjA2OTNMNC43NSAxMC4wNjkzQzQuNTQzNzUgMTAuMDY5MyA0LjM3NSAxMC4yMzgxIDQuMzc1IDEwLjQ0NDNDNC4zNzUgMTAuNjUwNiA0LjU0Mzc1IDEwLjgxOTMgNC43NSAxMC44MTkzTDYuNjI1IDEwLjgxOTNMNi42MjUgMTIuNjk0M0M2LjYyNSAxMi45MDA2IDYuNzkzNzUgMTMuMDY5MyA3IDEzLjA2OTNDNy4yMDYyNSAxMy4wNjkzIDcuMzc1IDEyLjkwMDYgNy4zNzUgMTIuNjk0M0w3LjM3NSAxMC44MTkzTDkuMjUgMTAuODE5M0M5LjQ1NjI1IDEwLjgxOTMgOS42MjUgMTAuNjUwNiA5LjYyNSAxMC40NDQzQzkuNjI1IDEwLjIzODEgOS40NTYyNSAxMC4wNjkzIDkuMjUgMTAuMDY5M1oiIGZpbGw9IiM2MTYxNjEiIHN0cm9rZT0iIzYxNjE2MSIgc3Ryb2tlLXdpZHRoPSIwLjciLz4KPC9nPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMi41IDUuNUwyLjUgMy41TDExLjUgMy41TDExLjUgNS41TDIuNSA1LjVaTTIgN0MxLjQ0NzcyIDcgMSA2LjU1MjI4IDEgNkwxIDNDMSAyLjQ0NzcyIDEuNDQ3NzIgMiAyIDJMMTIgMkMxMi41NTIzIDIgMTMgMi40NDc3MiAxMyAzTDEzIDZDMTMgNi41NTIyOSAxMi41NTIzIDcgMTIgN0wyIDdaIiBmaWxsPSIjNjE2MTYxIi8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzN18xOTQ5OCI+CjxyZWN0IGNsYXNzPSJqcC1pY29uMyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0ibWF0cml4KDEgMS43NDg0NmUtMDcgMS43NDg0NmUtMDcgLTEgNCAxMy40NDQzKSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=);
|
||
--jp-icon-add: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-bell: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiPgogICA8cGF0aCBjbGFzcz0ianAtaWNvbjIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMzMzMzMzIgogICAgICBkPSJtOCAwLjI5Yy0xLjQgMC0yLjcgMC43My0zLjYgMS44LTEuMiAxLjUtMS40IDMuNC0xLjUgNS4yLTAuMTggMi4yLTAuNDQgNC0yLjMgNS4zbDAuMjggMS4zaDVjMC4wMjYgMC42NiAwLjMyIDEuMSAwLjcxIDEuNSAwLjg0IDAuNjEgMiAwLjYxIDIuOCAwIDAuNTItMC40IDAuNi0xIDAuNzEtMS41aDVsMC4yOC0xLjNjLTEuOS0wLjk3LTIuMi0zLjMtMi4zLTUuMy0wLjEzLTEuOC0wLjI2LTMuNy0xLjUtNS4yLTAuODUtMS0yLjItMS44LTMuNi0xLjh6bTAgMS40YzAuODggMCAxLjkgMC41NSAyLjUgMS4zIDAuODggMS4xIDEuMSAyLjcgMS4yIDQuNCAwLjEzIDEuNyAwLjIzIDMuNiAxLjMgNS4yaC0xMGMxLjEtMS42IDEuMi0zLjQgMS4zLTUuMiAwLjEzLTEuNyAwLjMtMy4zIDEuMi00LjQgMC41OS0wLjcyIDEuNi0xLjMgMi41LTEuM3ptLTAuNzQgMTJoMS41Yy0wLjAwMTUgMC4yOCAwLjAxNSAwLjc5LTAuNzQgMC43OS0wLjczIDAuMDAxNi0wLjcyLTAuNTMtMC43NC0wLjc5eiIgLz4KPC9zdmc+Cg==);
|
||
--jp-icon-bug-dot: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTcuMTkgOEgyMFYxMEgxNy45MUMxNy45NiAxMC4zMyAxOCAxMC42NiAxOCAxMVYxMkgyMFYxNEgxOC41SDE4VjE0LjAyNzVDMTUuNzUgMTQuMjc2MiAxNCAxNi4xODM3IDE0IDE4LjVDMTQgMTkuMjA4IDE0LjE2MzUgMTkuODc3OSAxNC40NTQ5IDIwLjQ3MzlDMTMuNzA2MyAyMC44MTE3IDEyLjg3NTcgMjEgMTIgMjFDOS43OCAyMSA3Ljg1IDE5Ljc5IDYuODEgMThINFYxNkg2LjA5QzYuMDQgMTUuNjcgNiAxNS4zNCA2IDE1VjE0SDRWMTJINlYxMUM2IDEwLjY2IDYuMDQgMTAuMzMgNi4wOSAxMEg0VjhINi44MUM3LjI2IDcuMjIgNy44OCA2LjU1IDguNjIgNi4wNEw3IDQuNDFMOC40MSAzTDEwLjU5IDUuMTdDMTEuMDQgNS4wNiAxMS41MSA1IDEyIDVDMTIuNDkgNSAxMi45NiA1LjA2IDEzLjQyIDUuMTdMMTUuNTkgM0wxNyA0LjQxTDE1LjM3IDYuMDRDMTYuMTIgNi41NSAxNi43NCA3LjIyIDE3LjE5IDhaTTEwIDE2SDE0VjE0SDEwVjE2Wk0xMCAxMkgxNFYxMEgxMFYxMloiIGZpbGw9IiM2MTYxNjEiLz4KICAgICAgICA8cGF0aCBkPSJNMjIgMTguNUMyMiAyMC40MzMgMjAuNDMzIDIyIDE4LjUgMjJDMTYuNTY3IDIyIDE1IDIwLjQzMyAxNSAxOC41QzE1IDE2LjU2NyAxNi41NjcgMTUgMTguNSAxNUMyMC40MzMgMTUgMjIgMTYuNTY3IDIyIDE4LjVaIiBmaWxsPSIjNjE2MTYxIi8+CiAgICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-bug: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yMCA4aC0yLjgxYy0uNDUtLjc4LTEuMDctMS40NS0xLjgyLTEuOTZMMTcgNC40MSAxNS41OSAzbC0yLjE3IDIuMTdDMTIuOTYgNS4wNiAxMi40OSA1IDEyIDVjLS40OSAwLS45Ni4wNi0xLjQxLjE3TDguNDEgMyA3IDQuNDFsMS42MiAxLjYzQzcuODggNi41NSA3LjI2IDcuMjIgNi44MSA4SDR2MmgyLjA5Yy0uMDUuMzMtLjA5LjY2LS4wOSAxdjFINHYyaDJ2MWMwIC4zNC4wNC42Ny4wOSAxSDR2MmgyLjgxYzEuMDQgMS43OSAyLjk3IDMgNS4xOSAzczQuMTUtMS4yMSA1LjE5LTNIMjB2LTJoLTIuMDljLjA1LS4zMy4wOS0uNjYuMDktMXYtMWgydi0yaC0ydi0xYzAtLjM0LS4wNC0uNjctLjA5LTFIMjBWOHptLTYgOGgtNHYtMmg0djJ6bTAtNGgtNHYtMmg0djJ6Ii8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--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,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--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-check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICA8cGF0aCBkPSJNNi41OSwzLjQxTDIsOEw2LjU5LDEyLjZMOCwxMS4xOEw0LjgyLDhMOCw0LjgyTDYuNTksMy40MU0xMi40MSwzLjQxTDExLDQuODJMMTQuMTgsOEwxMSwxMS4xOEwxMi40MSwxMi42TDE3LDhMMTIuNDEsMy40MU0yMS41OSwxMS41OUwxMy41LDE5LjY4TDkuODMsMTZMOC40MiwxNy40MUwxMy41LDIyLjVMMjMsMTNMMjEuNTksMTEuNTlaIiAvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-code: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTExLjQgMTguNkw2LjggMTRMMTEuNCA5LjRMMTAgOEw0IDE0TDEwIDIwTDExLjQgMTguNlpNMTYuNiAxOC42TDIxLjIgMTRMMTYuNiA5LjRMMTggOEwyNCAxNEwxOCAyMEwxNi42IDE4LjZWMTguNloiLz4KCTwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-collapse-all: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTggMmMxIDAgMTEgMCAxMiAwczIgMSAyIDJjMCAxIDAgMTEgMCAxMnMwIDItMiAyQzIwIDE0IDIwIDQgMjAgNFMxMCA0IDYgNGMwLTIgMS0yIDItMnoiIC8+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTE4IDhjMC0xLTEtMi0yLTJTNSA2IDQgNnMtMiAxLTIgMmMwIDEgMCAxMSAwIDEyczEgMiAyIDJjMSAwIDExIDAgMTIgMHMyLTEgMi0yYzAtMSAwLTExIDAtMTJ6bS0yIDB2MTJINFY4eiIgLz4KICAgICAgICA8cGF0aCBkPSJNNiAxM3YyaDh2LTJ6IiAvPgogICAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-console: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwMCAyMDAiPgogIDxnIGNsYXNzPSJqcC1jb25zb2xlLWljb24tYmFja2dyb3VuZC1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMjg4RDEiPgogICAgPHBhdGggZD0iTTIwIDE5LjhoMTYwdjE1OS45SDIweiIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtY29uc29sZS1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIj4KICAgIDxwYXRoIGQ9Ik0xMDUgMTI3LjNoNDB2MTIuOGgtNDB6TTUxLjEgNzdMNzQgOTkuOWwtMjMuMyAyMy4zIDEwLjUgMTAuNSAyMy4zLTIzLjNMOTUgOTkuOSA4NC41IDg5LjQgNjEuNiA2Ni41eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-copy: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTExLjksMUgzLjJDMi40LDEsMS43LDEuNywxLjcsMi41djEwLjJoMS41VjIuNWg4LjdWMXogTTE0LjEsMy45aC04Yy0wLjgsMC0xLjUsMC43LTEuNSwxLjV2MTAuMmMwLDAuOCwwLjcsMS41LDEuNSwxLjVoOCBjMC44LDAsMS41LTAuNywxLjUtMS41VjUuNEMxNS41LDQuNiwxNC45LDMuOSwxNC4xLDMuOXogTTE0LjEsMTUuNWgtOFY1LjRoOFYxNS41eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-copyright: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCI+CiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0xMS44OCw5LjE0YzEuMjgsMC4wNiwxLjYxLDEuMTUsMS42MywxLjY2aDEuNzljLTAuMDgtMS45OC0xLjQ5LTMuMTktMy40NS0zLjE5QzkuNjQsNy42MSw4LDksOCwxMi4xNCBjMCwxLjk0LDAuOTMsNC4yNCwzLjg0LDQuMjRjMi4yMiwwLDMuNDEtMS42NSwzLjQ0LTIuOTVoLTEuNzljLTAuMDMsMC41OS0wLjQ1LDEuMzgtMS42MywxLjQ0QzEwLjU1LDE0LjgzLDEwLDEzLjgxLDEwLDEyLjE0IEMxMCw5LjI1LDExLjI4LDkuMTYsMTEuODgsOS4xNHogTTEyLDJDNi40OCwyLDIsNi40OCwyLDEyczQuNDgsMTAsMTAsMTBzMTAtNC40OCwxMC0xMFMxNy41MiwyLDEyLDJ6IE0xMiwyMGMtNC40MSwwLTgtMy41OS04LTggczMuNTktOCw4LThzOCwzLjU5LDgsOFMxNi40MSwyMCwxMiwyMHoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-cut: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkuNjQgNy42NGMuMjMtLjUuMzYtMS4wNS4zNi0xLjY0IDAtMi4yMS0xLjc5LTQtNC00UzIgMy43OSAyIDZzMS43OSA0IDQgNGMuNTkgMCAxLjE0LS4xMyAxLjY0LS4zNkwxMCAxMmwtMi4zNiAyLjM2QzcuMTQgMTQuMTMgNi41OSAxNCA2IDE0Yy0yLjIxIDAtNCAxLjc5LTQgNHMxLjc5IDQgNCA0IDQtMS43OSA0LTRjMC0uNTktLjEzLTEuMTQtLjM2LTEuNjRMMTIgMTRsNyA3aDN2LTFMOS42NCA3LjY0ek02IDhjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTAgMTJjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTYtNy41Yy0uMjggMC0uNS0uMjItLjUtLjVzLjIyLS41LjUtLjUuNS4yMi41LjUtLjIyLjUtLjUuNXpNMTkgM2wtNiA2IDIgMiA3LTdWM3oiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-delete: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CiAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIiAvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjI2MjYyIiBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIgLz4KPC9zdmc+Cg==);
|
||
--jp-icon-download: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDloLTRWM0g5djZINWw3IDcgNy03ek01IDE4djJoMTR2LTJINXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-duplicate: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIuNzk5OTggMC44NzVIOC44OTU4MkM5LjIwMDYxIDAuODc1IDkuNDQ5OTggMS4xMzkxNCA5LjQ0OTk4IDEuNDYxOThDOS40NDk5OCAxLjc4NDgyIDkuMjAwNjEgMi4wNDg5NiA4Ljg5NTgyIDIuMDQ4OTZIMy4zNTQxNUMzLjA0OTM2IDIuMDQ4OTYgMi43OTk5OCAyLjMxMzEgMi43OTk5OCAyLjYzNTk0VjkuNjc5NjlDMi43OTk5OCAxMC4wMDI1IDIuNTUwNjEgMTAuMjY2NyAyLjI0NTgyIDEwLjI2NjdDMS45NDEwMyAxMC4yNjY3IDEuNjkxNjUgMTAuMDAyNSAxLjY5MTY1IDkuNjc5NjlWMi4wNDg5NkMxLjY5MTY1IDEuNDAzMjggMi4xOTA0IDAuODc1IDIuNzk5OTggMC44NzVaTTUuMzY2NjUgMTEuOVY0LjU1SDExLjA4MzNWMTEuOUg1LjM2NjY1Wk00LjE0MTY1IDQuMTQxNjdDNC4xNDE2NSAzLjY5MDYzIDQuNTA3MjggMy4zMjUgNC45NTgzMiAzLjMyNUgxMS40OTE3QzExLjk0MjcgMy4zMjUgMTIuMzA4MyAzLjY5MDYzIDEyLjMwODMgNC4xNDE2N1YxMi4zMDgzQzEyLjMwODMgMTIuNzU5NCAxMS45NDI3IDEzLjEyNSAxMS40OTE3IDEzLjEyNUg0Ljk1ODMyQzQuNTA3MjggMTMuMTI1IDQuMTQxNjUgMTIuNzU5NCA0LjE0MTY1IDEyLjMwODNWNC4xNDE2N1oiIGZpbGw9IiM2MTYxNjEiLz4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNOS40MzU3NCA4LjI2NTA3SDguMzY0MzFWOS4zMzY1QzguMzY0MzEgOS40NTQzNSA4LjI2Nzg4IDkuNTUwNzggOC4xNTAwMiA5LjU1MDc4QzguMDMyMTcgOS41NTA3OCA3LjkzNTc0IDkuNDU0MzUgNy45MzU3NCA5LjMzNjVWOC4yNjUwN0g2Ljg2NDMxQzYuNzQ2NDUgOC4yNjUwNyA2LjY1MDAyIDguMTY4NjQgNi42NTAwMiA4LjA1MDc4QzYuNjUwMDIgNy45MzI5MiA2Ljc0NjQ1IDcuODM2NSA2Ljg2NDMxIDcuODM2NUg3LjkzNTc0VjYuNzY1MDdDNy45MzU3NCA2LjY0NzIxIDguMDMyMTcgNi41NTA3OCA4LjE1MDAyIDYuNTUwNzhDOC4yNjc4OCA2LjU1MDc4IDguMzY0MzEgNi42NDcyMSA4LjM2NDMxIDYuNzY1MDdWNy44MzY1SDkuNDM1NzRDOS41NTM2IDcuODM2NSA5LjY1MDAyIDcuOTMyOTIgOS42NTAwMiA4LjA1MDc4QzkuNjUwMDIgOC4xNjg2NCA5LjU1MzYgOC4yNjUwNyA5LjQzNTc0IDguMjY1MDdaIiBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMC41Ii8+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-error: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjE5IiByPSIyIi8+PHBhdGggZD0iTTEwIDNoNHYxMmgtNHoiLz48L2c+CjxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-expand-all: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTggMmMxIDAgMTEgMCAxMiAwczIgMSAyIDJjMCAxIDAgMTEgMCAxMnMwIDItMiAyQzIwIDE0IDIwIDQgMjAgNFMxMCA0IDYgNGMwLTIgMS0yIDItMnoiIC8+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTE4IDhjMC0xLTEtMi0yLTJTNSA2IDQgNnMtMiAxLTIgMmMwIDEgMCAxMSAwIDEyczEgMiAyIDJjMSAwIDExIDAgMTIgMHMyLTEgMi0yYzAtMSAwLTExIDAtMTJ6bS0yIDB2MTJINFY4eiIgLz4KICAgICAgICA8cGF0aCBkPSJNMTEgMTBIOXYzSDZ2MmgzdjNoMnYtM2gzdi0yaC0zeiIgLz4KICAgIDwvZz4KPC9zdmc+Cg==);
|
||
--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-dot: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTE0LDEyVjE5Ljg4QzE0LjA0LDIwLjE4IDEzLjk0LDIwLjUgMTMuNzEsMjAuNzFDMTMuMzIsMjEuMSAxMi42OSwyMS4xIDEyLjMsMjAuNzFMMTAuMjksMTguN0MxMC4wNiwxOC40NyA5Ljk2LDE4LjE2IDEwLDE3Ljg3VjEySDkuOTdMNC4yMSw0LjYyQzMuODcsNC4xOSAzLjk1LDMuNTYgNC4zOCwzLjIyQzQuNTcsMy4wOCA0Ljc4LDMgNSwzVjNIMTlWM0MxOS4yMiwzIDE5LjQzLDMuMDggMTkuNjIsMy4yMkMyMC4wNSwzLjU2IDIwLjEzLDQuMTkgMTkuNzksNC42MkwxNC4wMywxMkgxNFoiIC8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWRvdCIgZmlsbD0iI0ZGRiI+CiAgICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjE3IiByPSIzIj48L2NpcmNsZT4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-filter-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEwIDE4aDR2LTJoLTR2MnpNMyA2djJoMThWNkgzem0zIDdoMTJ2LTJINnYyeiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-filter: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTE0LDEyVjE5Ljg4QzE0LjA0LDIwLjE4IDEzLjk0LDIwLjUgMTMuNzEsMjAuNzFDMTMuMzIsMjEuMSAxMi42OSwyMS4xIDEyLjMsMjAuNzFMMTAuMjksMTguN0MxMC4wNiwxOC40NyA5Ljk2LDE4LjE2IDEwLDE3Ljg3VjEySDkuOTdMNC4yMSw0LjYyQzMuODcsNC4xOSAzLjk1LDMuNTYgNC4zOCwzLjIyQzQuNTcsMy4wOCA0Ljc4LDMgNSwzVjNIMTlWM0MxOS4yMiwzIDE5LjQzLDMuMDggMTkuNjIsMy4yMkMyMC4wNSwzLjU2IDIwLjEzLDQuMTkgMTkuNzksNC42MkwxNC4wMywxMkgxNFoiIC8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-folder-favorite: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+CiAgPHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggY2xhc3M9ImpwLWljb24zIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxNjE2MSIgZD0iTTIwIDZoLThsLTItMkg0Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjhjMC0xLjEtLjktMi0yLTJ6bS0yLjA2IDExTDE1IDE1LjI4IDEyLjA2IDE3bC43OC0zLjMzLTIuNTktMi4yNCAzLjQxLS4yOUwxNSA4bDEuMzQgMy4xNCAzLjQxLjI5LTIuNTkgMi4yNC43OCAzLjMzeiIvPgo8L3N2Zz4K);
|
||
--jp-icon-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yaC04bC0yLTJ6Ii8+Cjwvc3ZnPgo=);
|
||
--jp-icon-home: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+CiAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xMCAyMHYtNmg0djZoNXYtOGgzTDEyIDMgMiAxMmgzdjh6Ii8+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-info: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUwLjk3OCA1MC45NzgiPgoJPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KCQk8cGF0aCBkPSJNNDMuNTIsNy40NThDMzguNzExLDIuNjQ4LDMyLjMwNywwLDI1LjQ4OSwwQzE4LjY3LDAsMTIuMjY2LDIuNjQ4LDcuNDU4LDcuNDU4CgkJCWMtOS45NDMsOS45NDEtOS45NDMsMjYuMTE5LDAsMzYuMDYyYzQuODA5LDQuODA5LDExLjIxMiw3LjQ1NiwxOC4wMzEsNy40NThjMCwwLDAuMDAxLDAsMC4wMDIsMAoJCQljNi44MTYsMCwxMy4yMjEtMi42NDgsMTguMDI5LTcuNDU4YzQuODA5LTQuODA5LDcuNDU3LTExLjIxMiw3LjQ1Ny0xOC4wM0M1MC45NzcsMTguNjcsNDguMzI4LDEyLjI2Niw0My41Miw3LjQ1OHoKCQkJIE00Mi4xMDYsNDIuMTA1Yy00LjQzMiw0LjQzMS0xMC4zMzIsNi44NzItMTYuNjE1LDYuODcyaC0wLjAwMmMtNi4yODUtMC4wMDEtMTIuMTg3LTIuNDQxLTE2LjYxNy02Ljg3MgoJCQljLTkuMTYyLTkuMTYzLTkuMTYyLTI0LjA3MSwwLTMzLjIzM0MxMy4zMDMsNC40NCwxOS4yMDQsMiwyNS40ODksMmM2LjI4NCwwLDEyLjE4NiwyLjQ0LDE2LjYxNyw2Ljg3MgoJCQljNC40MzEsNC40MzEsNi44NzEsMTAuMzMyLDYuODcxLDE2LjYxN0M0OC45NzcsMzEuNzcyLDQ2LjUzNiwzNy42NzUsNDIuMTA2LDQyLjEwNXoiLz4KCQk8cGF0aCBkPSJNMjMuNTc4LDMyLjIxOGMtMC4wMjMtMS43MzQsMC4xNDMtMy4wNTksMC40OTYtMy45NzJjMC4zNTMtMC45MTMsMS4xMS0xLjk5NywyLjI3Mi0zLjI1MwoJCQljMC40NjgtMC41MzYsMC45MjMtMS4wNjIsMS4zNjctMS41NzVjMC42MjYtMC43NTMsMS4xMDQtMS40NzgsMS40MzYtMi4xNzVjMC4zMzEtMC43MDcsMC40OTUtMS41NDEsMC40OTUtMi41CgkJCWMwLTEuMDk2LTAuMjYtMi4wODgtMC43NzktMi45NzljLTAuNTY1LTAuODc5LTEuNTAxLTEuMzM2LTIuODA2LTEuMzY5Yy0xLjgwMiwwLjA1Ny0yLjk4NSwwLjY2Ny0zLjU1LDEuODMyCgkJCWMtMC4zMDEsMC41MzUtMC41MDMsMS4xNDEtMC42MDcsMS44MTRjLTAuMTM5LDAuNzA3LTAuMjA3LDEuNDMyLTAuMjA3LDIuMTc0aC0yLjkzN2MtMC4wOTEtMi4yMDgsMC40MDctNC4xMTQsMS40OTMtNS43MTkKCQkJYzEuMDYyLTEuNjQsMi44NTUtMi40ODEsNS4zNzgtMi41MjdjMi4xNiwwLjAyMywzLjg3NCwwLjYwOCw1LjE0MSwxLjc1OGMxLjI3OCwxLjE2LDEuOTI5LDIuNzY0LDEuOTUsNC44MTEKCQkJYzAsMS4xNDItMC4xMzcsMi4xMTEtMC40MSwyLjkxMWMtMC4zMDksMC44NDUtMC43MzEsMS41OTMtMS4yNjgsMi4yNDNjLTAuNDkyLDAuNjUtMS4wNjgsMS4zMTgtMS43MywyLjAwMgoJCQljLTAuNjUsMC42OTctMS4zMTMsMS40NzktMS45ODcsMi4zNDZjLTAuMjM5LDAuMzc3LTAuNDI5LDAuNzc3LTAuNTY1LDEuMTk5Yy0wLjE2LDAuOTU5LTAuMjE3LDEuOTUxLTAuMTcxLDIuOTc5CgkJCUMyNi41ODksMzIuMjE4LDIzLjU3OCwzMi4yMTgsMjMuNTc4LDMyLjIxOHogTTIzLjU3OCwzOC4yMnYtMy40ODRoMy4wNzZ2My40ODRIMjMuNTc4eiIvPgoJPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-inspector: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaW5zcGVjdG9yLWljb24tY29sb3IganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0tNSAxNEg0di00aDExdjR6bTAtNUg0VjloMTF2NHptNSA1aC00VjloNHY5eiIvPgo8L3N2Zz4K);
|
||
--jp-icon-json: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtanNvbi1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0Y5QTgyNSI+CiAgICA8cGF0aCBkPSJNMjAuMiAxMS44Yy0xLjYgMC0xLjcuNS0xLjcgMSAwIC40LjEuOS4xIDEuMy4xLjUuMS45LjEgMS4zIDAgMS43LTEuNCAyLjMtMy41IDIuM2gtLjl2LTEuOWguNWMxLjEgMCAxLjQgMCAxLjQtLjggMC0uMyAwLS42LS4xLTEgMC0uNC0uMS0uOC0uMS0xLjIgMC0xLjMgMC0xLjggMS4zLTItMS4zLS4yLTEuMy0uNy0xLjMtMiAwLS40LjEtLjguMS0xLjIuMS0uNC4xLS43LjEtMSAwLS44LS40LS43LTEuNC0uOGgtLjVWNC4xaC45YzIuMiAwIDMuNS43IDMuNSAyLjMgMCAuNC0uMS45LS4xIDEuMy0uMS41LS4xLjktLjEgMS4zIDAgLjUuMiAxIDEuNyAxdjEuOHpNMS44IDEwLjFjMS42IDAgMS43LS41IDEuNy0xIDAtLjQtLjEtLjktLjEtMS4zLS4xLS41LS4xLS45LS4xLTEuMyAwLTEuNiAxLjQtMi4zIDMuNS0yLjNoLjl2MS45aC0uNWMtMSAwLTEuNCAwLTEuNC44IDAgLjMgMCAuNi4xIDEgMCAuMi4xLjYuMSAxIDAgMS4zIDAgMS44LTEuMyAyQzYgMTEuMiA2IDExLjcgNiAxM2MwIC40LS4xLjgtLjEgMS4yLS4xLjMtLjEuNy0uMSAxIDAgLjguMy44IDEuNC44aC41djEuOWgtLjljLTIuMSAwLTMuNS0uNi0zLjUtMi4zIDAtLjQuMS0uOS4xLTEuMy4xLS41LjEtLjkuMS0xLjMgMC0uNS0uMi0xLTEuNy0xdi0xLjl6Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjEzLjgiIHI9IjIuMSIvPgogICAgPGNpcmNsZSBjeD0iMTEiIGN5PSI4LjIiIHI9IjIuMSIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-julia: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDMyNSAzMDAiPgogIDxnIGNsYXNzPSJqcC1icmFuZDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjY2IzYzMzIj4KICAgIDxwYXRoIGQ9Ik0gMTUwLjg5ODQzOCAyMjUgQyAxNTAuODk4NDM4IDI2Ni40MjE4NzUgMTE3LjMyMDMxMiAzMDAgNzUuODk4NDM4IDMwMCBDIDM0LjQ3NjU2MiAzMDAgMC44OTg0MzggMjY2LjQyMTg3NSAwLjg5ODQzOCAyMjUgQyAwLjg5ODQzOCAxODMuNTc4MTI1IDM0LjQ3NjU2MiAxNTAgNzUuODk4NDM4IDE1MCBDIDExNy4zMjAzMTIgMTUwIDE1MC44OTg0MzggMTgzLjU3ODEyNSAxNTAuODk4NDM4IDIyNSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzM4OTgyNiI+CiAgICA8cGF0aCBkPSJNIDIzNy41IDc1IEMgMjM3LjUgMTE2LjQyMTg3NSAyMDMuOTIxODc1IDE1MCAxNjIuNSAxNTAgQyAxMjEuMDc4MTI1IDE1MCA4Ny41IDExNi40MjE4NzUgODcuNSA3NSBDIDg3LjUgMzMuNTc4MTI1IDEyMS4wNzgxMjUgMCAxNjIuNSAwIEMgMjAzLjkyMTg3NSAwIDIzNy41IDMzLjU3ODEyNSAyMzcuNSA3NSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzk1NThiMiI+CiAgICA8cGF0aCBkPSJNIDMyNC4xMDE1NjIgMjI1IEMgMzI0LjEwMTU2MiAyNjYuNDIxODc1IDI5MC41MjM0MzggMzAwIDI0OS4xMDE1NjIgMzAwIEMgMjA3LjY3OTY4OCAzMDAgMTc0LjEwMTU2MiAyNjYuNDIxODc1IDE3NC4xMDE1NjIgMjI1IEMgMTc0LjEwMTU2MiAxODMuNTc4MTI1IDIwNy42Nzk2ODggMTUwIDI0OS4xMDE1NjIgMTUwIEMgMjkwLjUyMzQzOCAxNTAgMzI0LjEwMTU2MiAxODMuNTc4MTI1IDMyNC4xMDE1NjIgMjI1Ii8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-jupyter-favicon: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUyIiBoZWlnaHQ9IjE2NSIgdmlld0JveD0iMCAwIDE1MiAxNjUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgPGcgY2xhc3M9ImpwLWp1cHl0ZXItaWNvbi1jb2xvciIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA3ODk0NywgMTEwLjU4MjkyNykiIGQ9Ik03NS45NDIyODQyLDI5LjU4MDQ1NjEgQzQzLjMwMjM5NDcsMjkuNTgwNDU2MSAxNC43OTY3ODMyLDE3LjY1MzQ2MzQgMCwwIEM1LjUxMDgzMjExLDE1Ljg0MDY4MjkgMTUuNzgxNTM4OSwyOS41NjY3NzMyIDI5LjM5MDQ5NDcsMzkuMjc4NDE3MSBDNDIuOTk5Nyw0OC45ODk4NTM3IDU5LjI3MzcsNTQuMjA2NzgwNSA3NS45NjA1Nzg5LDU0LjIwNjc4MDUgQzkyLjY0NzQ1NzksNTQuMjA2NzgwNSAxMDguOTIxNDU4LDQ4Ljk4OTg1MzcgMTIyLjUzMDY2MywzOS4yNzg0MTcxIEMxMzYuMTM5NDUzLDI5LjU2Njc3MzIgMTQ2LjQxMDI4NCwxNS44NDA2ODI5IDE1MS45MjExNTgsMCBDMTM3LjA4Nzg2OCwxNy42NTM0NjM0IDEwOC41ODI1ODksMjkuNTgwNDU2MSA3NS45NDIyODQyLDI5LjU4MDQ1NjEgTDc1Ljk0MjI4NDIsMjkuNTgwNDU2MSBaIiAvPgogICAgPHBhdGggdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMzczNjgsIDAuNzA0ODc4KSIgZD0iTTc1Ljk3ODQ1NzksMjQuNjI2NDA3MyBDMTA4LjYxODc2MywyNC42MjY0MDczIDEzNy4xMjQ0NTgsMzYuNTUzNDQxNSAxNTEuOTIxMTU4LDU0LjIwNjc4MDUgQzE0Ni40MTAyODQsMzguMzY2MjIyIDEzNi4xMzk0NTMsMjQuNjQwMTMxNyAxMjIuNTMwNjYzLDE0LjkyODQ4NzggQzEwOC45MjE0NTgsNS4yMTY4NDM5IDkyLjY0NzQ1NzksMCA3NS45NjA1Nzg5LDAgQzU5LjI3MzcsMCA0Mi45OTk3LDUuMjE2ODQzOSAyOS4zOTA0OTQ3LDE0LjkyODQ4NzggQzE1Ljc4MTUzODksMjQuNjQwMTMxNyA1LjUxMDgzMjExLDM4LjM2NjIyMiAwLDU0LjIwNjc4MDUgQzE0LjgzMzA4MTYsMzYuNTg5OTI5MyA0My4zMzg1Njg0LDI0LjYyNjQwNzMgNzUuOTc4NDU3OSwyNC42MjY0MDczIEw3NS45Nzg0NTc5LDI0LjYyNjQwNzMgWiIgLz4KICA8L2c+Cjwvc3ZnPgo=);
|
||
--jp-icon-jupyter: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzkiIGhlaWdodD0iNTEiIHZpZXdCb3g9IjAgMCAzOSA1MSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTYzOCAtMjI4MSkiPgogICAgIDxnIGNsYXNzPSJqcC1qdXB5dGVyLWljb24tY29sb3IiIGZpbGw9IiNGMzc3MjYiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5Ljc0IDIzMTEuOTgpIiBkPSJNIDE4LjI2NDYgNy4xMzQxMUMgMTAuNDE0NSA3LjEzNDExIDMuNTU4NzIgNC4yNTc2IDAgMEMgMS4zMjUzOSAzLjgyMDQgMy43OTU1NiA3LjEzMDgxIDcuMDY4NiA5LjQ3MzAzQyAxMC4zNDE3IDExLjgxNTIgMTQuMjU1NyAxMy4wNzM0IDE4LjI2OSAxMy4wNzM0QyAyMi4yODIzIDEzLjA3MzQgMjYuMTk2MyAxMS44MTUyIDI5LjQ2OTQgOS40NzMwM0MgMzIuNzQyNCA3LjEzMDgxIDM1LjIxMjYgMy44MjA0IDM2LjUzOCAwQyAzMi45NzA1IDQuMjU3NiAyNi4xMTQ4IDcuMTM0MTEgMTguMjY0NiA3LjEzNDExWiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5LjczIDIyODUuNDgpIiBkPSJNIDE4LjI3MzMgNS45MzkzMUMgMjYuMTIzNSA1LjkzOTMxIDMyLjk3OTMgOC44MTU4MyAzNi41MzggMTMuMDczNEMgMzUuMjEyNiA5LjI1MzAzIDMyLjc0MjQgNS45NDI2MiAyOS40Njk0IDMuNjAwNEMgMjYuMTk2MyAxLjI1ODE4IDIyLjI4MjMgMCAxOC4yNjkgMEMgMTQuMjU1NyAwIDEwLjM0MTcgMS4yNTgxOCA3LjA2ODYgMy42MDA0QyAzLjc5NTU2IDUuOTQyNjIgMS4zMjUzOSA5LjI1MzAzIDAgMTMuMDczNEMgMy41Njc0NSA4LjgyNDYzIDEwLjQyMzIgNS45MzkzMSAxOC4yNzMzIDUuOTM5MzFaIi8+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-launch: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yNiwyOEg2YTIuMDAyNywyLjAwMjcsMCwwLDEtMi0yVjZBMi4wMDI3LDIuMDAyNywwLDAsMSw2LDRIMTZWNkg2VjI2SDI2VjE2aDJWMjZBMi4wMDI3LDIuMDAyNywwLDAsMSwyNiwyOFoiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMjAgMiAyMCA0IDI2LjU4NiA0IDE4IDEyLjU4NiAxOS40MTQgMTQgMjggNS40MTQgMjggMTIgMzAgMTIgMzAgMiAyMCAyIi8+CiAgPC9nPgo8L3N2Zz4K);
|
||
--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,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xOSA1djE0SDVWNWgxNG0xLjEtMkgzLjljLS41IDAtLjkuNC0uOS45djE2LjJjMCAuNC40LjkuOS45aDE2LjJjLjQgMCAuOS0uNS45LS45VjMuOWMwLS41LS41LS45LS45LS45ek0xMSA3aDZ2MmgtNlY3em0wIDRoNnYyaC02di0yem0wIDRoNnYyaC02ek03IDdoMnYySDd6bTAgNGgydjJIN3ptMCA0aDJ2Mkg3eiIvPgo8L3N2Zz4K);
|
||
--jp-icon-markdown: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjN0IxRkEyIiBkPSJNNSAxNC45aDEybC02LjEgNnptOS40LTYuOGMwLTEuMy0uMS0yLjktLjEtNC41LS40IDEuNC0uOSAyLjktMS4zIDQuM2wtMS4zIDQuM2gtMkw4LjUgNy45Yy0uNC0xLjMtLjctMi45LTEtNC4zLS4xIDEuNi0uMSAzLjItLjIgNC42TDcgMTIuNEg0LjhsLjctMTFoMy4zTDEwIDVjLjQgMS4yLjcgMi43IDEgMy45LjMtMS4yLjctMi42IDEtMy45bDEuMi0zLjdoMy4zbC42IDExaC0yLjRsLS4zLTQuMnoiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-move-down: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNMTIuNDcxIDcuNTI4OTlDMTIuNzYzMiA3LjIzNjg0IDEyLjc2MzIgNi43NjMxNiAxMi40NzEgNi40NzEwMVY2LjQ3MTAxQzEyLjE3OSA2LjE3OTA1IDExLjcwNTcgNi4xNzg4NCAxMS40MTM1IDYuNDcwNTRMNy43NSAxMC4xMjc1VjEuNzVDNy43NSAxLjMzNTc5IDcuNDE0MjEgMSA3IDFWMUM2LjU4NTc5IDEgNi4yNSAxLjMzNTc5IDYuMjUgMS43NVYxMC4xMjc1TDIuNTk3MjYgNi40NjgyMkMyLjMwMzM4IDYuMTczODEgMS44MjY0MSA2LjE3MzU5IDEuNTMyMjYgNi40Njc3NFY2LjQ2Nzc0QzEuMjM4MyA2Ljc2MTcgMS4yMzgzIDcuMjM4MyAxLjUzMjI2IDcuNTMyMjZMNi4yOTI4OSAxMi4yOTI5QzYuNjgzNDIgMTIuNjgzNCA3LjMxNjU4IDEyLjY4MzQgNy43MDcxMSAxMi4yOTI5TDEyLjQ3MSA3LjUyODk5WiIgZmlsbD0iIzYxNjE2MSIvPgo8L3N2Zz4K);
|
||
--jp-icon-move-up: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNMS41Mjg5OSA2LjQ3MTAxQzEuMjM2ODQgNi43NjMxNiAxLjIzNjg0IDcuMjM2ODQgMS41Mjg5OSA3LjUyODk5VjcuNTI4OTlDMS44MjA5NSA3LjgyMDk1IDIuMjk0MjYgNy44MjExNiAyLjU4NjQ5IDcuNTI5NDZMNi4yNSAzLjg3MjVWMTIuMjVDNi4yNSAxMi42NjQyIDYuNTg1NzkgMTMgNyAxM1YxM0M3LjQxNDIxIDEzIDcuNzUgMTIuNjY0MiA3Ljc1IDEyLjI1VjMuODcyNUwxMS40MDI3IDcuNTMxNzhDMTEuNjk2NiA3LjgyNjE5IDEyLjE3MzYgNy44MjY0MSAxMi40Njc3IDcuNTMyMjZWNy41MzIyNkMxMi43NjE3IDcuMjM4MyAxMi43NjE3IDYuNzYxNyAxMi40Njc3IDYuNDY3NzRMNy43MDcxMSAxLjcwNzExQzcuMzE2NTggMS4zMTY1OCA2LjY4MzQyIDEuMzE2NTggNi4yOTI4OSAxLjcwNzExTDEuNTI4OTkgNi40NzEwMVoiIGZpbGw9IiM2MTYxNjEiLz4KPC9zdmc+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,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtbm90ZWJvb2staWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNFRjZDMDAiPgogICAgPHBhdGggZD0iTTE4LjcgMy4zdjE1LjRIMy4zVjMuM2gxNS40bTEuNS0xLjVIMS44djE4LjNoMTguM2wuMS0xOC4zeiIvPgogICAgPHBhdGggZD0iTTE2LjUgMTYuNWwtNS40LTQuMy01LjYgNC4zdi0xMWgxMXoiLz4KICA8L2c+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,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iLTEwIC0xMCAxMzEuMTYxMzYxNjk0MzM1OTQgMTMyLjM4ODk5OTkzODk2NDg0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMzA2OTk4IiBkPSJNIDU0LjkxODc4NSw5LjE5Mjc0MjFlLTQgQyA1MC4zMzUxMzIsMC4wMjIyMTcyNyA0NS45NTc4NDYsMC40MTMxMzY5NyA0Mi4xMDYyODUsMS4wOTQ2NjkzIDMwLjc2MDA2OSwzLjA5OTE3MzEgMjguNzAwMDM2LDcuMjk0NzcxNCAyOC43MDAwMzUsMTUuMDMyMTY5IHYgMTAuMjE4NzUgaCAyNi44MTI1IHYgMy40MDYyNSBoIC0yNi44MTI1IC0xMC4wNjI1IGMgLTcuNzkyNDU5LDAgLTE0LjYxNTc1ODgsNC42ODM3MTcgLTE2Ljc0OTk5OTgsMTMuNTkzNzUgLTIuNDYxODE5OTgsMTAuMjEyOTY2IC0yLjU3MTAxNTA4LDE2LjU4NjAyMyAwLDI3LjI1IDEuOTA1OTI4Myw3LjkzNzg1MiA2LjQ1NzU0MzIsMTMuNTkzNzQ4IDE0LjI0OTk5OTgsMTMuNTkzNzUgaCA5LjIxODc1IHYgLTEyLjI1IGMgMCwtOC44NDk5MDIgNy42NTcxNDQsLTE2LjY1NjI0OCAxNi43NSwtMTYuNjU2MjUgaCAyNi43ODEyNSBjIDcuNDU0OTUxLDAgMTMuNDA2MjUzLC02LjEzODE2NCAxMy40MDYyNSwtMTMuNjI1IHYgLTI1LjUzMTI1IGMgMCwtNy4yNjYzMzg2IC02LjEyOTk4LC0xMi43MjQ3NzcxIC0xMy40MDYyNSwtMTMuOTM3NDk5NyBDIDY0LjI4MTU0OCwwLjMyNzk0Mzk3IDU5LjUwMjQzOCwtMC4wMjAzNzkwMyA1NC45MTg3ODUsOS4xOTI3NDIxZS00IFogbSAtMTQuNSw4LjIxODc1MDEyNTc5IGMgMi43Njk1NDcsMCA1LjAzMTI1LDIuMjk4NjQ1NiA1LjAzMTI1LDUuMTI0OTk5NiAtMmUtNiwyLjgxNjMzNiAtMi4yNjE3MDMsNS4wOTM3NSAtNS4wMzEyNSw1LjA5Mzc1IC0yLjc3OTQ3NiwtMWUtNiAtNS4wMzEyNSwtMi4yNzc0MTUgLTUuMDMxMjUsLTUuMDkzNzUgLTEwZS03LC0yLjgyNjM1MyAyLjI1MTc3NCwtNS4xMjQ5OTk2IDUuMDMxMjUsLTUuMTI0OTk5NiB6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2ZmZDQzYiIgZD0ibSA4NS42Mzc1MzUsMjguNjU3MTY5IHYgMTEuOTA2MjUgYyAwLDkuMjMwNzU1IC03LjgyNTg5NSwxNi45OTk5OTkgLTE2Ljc1LDE3IGggLTI2Ljc4MTI1IGMgLTcuMzM1ODMzLDAgLTEzLjQwNjI0OSw2LjI3ODQ4MyAtMTMuNDA2MjUsMTMuNjI1IHYgMjUuNTMxMjQ3IGMgMCw3LjI2NjM0NCA2LjMxODU4OCwxMS41NDAzMjQgMTMuNDA2MjUsMTMuNjI1MDA0IDguNDg3MzMxLDIuNDk1NjEgMTYuNjI2MjM3LDIuOTQ2NjMgMjYuNzgxMjUsMCA2Ljc1MDE1NSwtMS45NTQzOSAxMy40MDYyNTMsLTUuODg3NjEgMTMuNDA2MjUsLTEzLjYyNTAwNCBWIDg2LjUwMDkxOSBoIC0yNi43ODEyNSB2IC0zLjQwNjI1IGggMjYuNzgxMjUgMTMuNDA2MjU0IGMgNy43OTI0NjEsMCAxMC42OTYyNTEsLTUuNDM1NDA4IDEzLjQwNjI0MSwtMTMuNTkzNzUgMi43OTkzMywtOC4zOTg4ODYgMi42ODAyMiwtMTYuNDc1Nzc2IDAsLTI3LjI1IC0xLjkyNTc4LC03Ljc1NzQ0MSAtNS42MDM4NywtMTMuNTkzNzUgLTEzLjQwNjI0MSwtMTMuNTkzNzUgeiBtIC0xNS4wNjI1LDY0LjY1NjI1IGMgMi43Nzk0NzgsM2UtNiA1LjAzMTI1LDIuMjc3NDE3IDUuMDMxMjUsNS4wOTM3NDcgLTJlLTYsMi44MjYzNTQgLTIuMjUxNzc1LDUuMTI1MDA0IC01LjAzMTI1LDUuMTI1MDA0IC0yLjc2OTU1LDAgLTUuMDMxMjUsLTIuMjk4NjUgLTUuMDMxMjUsLTUuMTI1MDA0IDJlLTYsLTIuODE2MzMgMi4yNjE2OTcsLTUuMDkzNzQ3IDUuMDMxMjUsLTUuMDkzNzQ3IHoiLz4KPC9zdmc+Cg==);
|
||
--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-share: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTSAxOCAyIEMgMTYuMzU0OTkgMiAxNSAzLjM1NDk5MDQgMTUgNSBDIDE1IDUuMTkwOTUyOSAxNS4wMjE3OTEgNS4zNzcxMjI0IDE1LjA1NjY0MSA1LjU1ODU5MzggTCA3LjkyMTg3NSA5LjcyMDcwMzEgQyA3LjM5ODUzOTkgOS4yNzc4NTM5IDYuNzMyMDc3MSA5IDYgOSBDIDQuMzU0OTkwNCA5IDMgMTAuMzU0OTkgMyAxMiBDIDMgMTMuNjQ1MDEgNC4zNTQ5OTA0IDE1IDYgMTUgQyA2LjczMjA3NzEgMTUgNy4zOTg1Mzk5IDE0LjcyMjE0NiA3LjkyMTg3NSAxNC4yNzkyOTcgTCAxNS4wNTY2NDEgMTguNDM5NDUzIEMgMTUuMDIxNTU1IDE4LjYyMTUxNCAxNSAxOC44MDgzODYgMTUgMTkgQyAxNSAyMC42NDUwMSAxNi4zNTQ5OSAyMiAxOCAyMiBDIDE5LjY0NTAxIDIyIDIxIDIwLjY0NTAxIDIxIDE5IEMgMjEgMTcuMzU0OTkgMTkuNjQ1MDEgMTYgMTggMTYgQyAxNy4yNjc0OCAxNiAxNi42MDE1OTMgMTYuMjc5MzI4IDE2LjA3ODEyNSAxNi43MjI2NTYgTCA4Ljk0MzM1OTQgMTIuNTU4NTk0IEMgOC45NzgyMDk1IDEyLjM3NzEyMiA5IDEyLjE5MDk1MyA5IDEyIEMgOSAxMS44MDkwNDcgOC45NzgyMDk1IDExLjYyMjg3OCA4Ljk0MzM1OTQgMTEuNDQxNDA2IEwgMTYuMDc4MTI1IDcuMjc5Mjk2OSBDIDE2LjYwMTQ2IDcuNzIyMTQ2MSAxNy4yNjc5MjMgOCAxOCA4IEMgMTkuNjQ1MDEgOCAyMSA2LjY0NTAwOTYgMjEgNSBDIDIxIDMuMzU0OTkwNCAxOS42NDUwMSAyIDE4IDIgeiBNIDE4IDQgQyAxOC41NjQxMjkgNCAxOSA0LjQzNTg3MDYgMTkgNSBDIDE5IDUuNTY0MTI5NCAxOC41NjQxMjkgNiAxOCA2IEMgMTcuNDM1ODcxIDYgMTcgNS41NjQxMjk0IDE3IDUgQyAxNyA0LjQzNTg3MDYgMTcuNDM1ODcxIDQgMTggNCB6IE0gNiAxMSBDIDYuNTY0MTI5NCAxMSA3IDExLjQzNTg3MSA3IDEyIEMgNyAxMi41NjQxMjkgNi41NjQxMjk0IDEzIDYgMTMgQyA1LjQzNTg3MDYgMTMgNSAxMi41NjQxMjkgNSAxMiBDIDUgMTEuNDM1ODcxIDUuNDM1ODcwNiAxMSA2IDExIHogTSAxOCAxOCBDIDE4LjU2NDEyOSAxOCAxOSAxOC40MzU4NzEgMTkgMTkgQyAxOSAxOS41NjQxMjkgMTguNTY0MTI5IDIwIDE4IDIwIEMgMTcuNDM1ODcxIDIwIDE3IDE5LjU2NDEyOSAxNyAxOSBDIDE3IDE4LjQzNTg3MSAxNy40MzU4NzEgMTggMTggMTggeiIvPgogIDwvZz4KPC9zdmc+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+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMSw4SDNWNGgxOFY4eiBNMjEsMTBIM3Y0aDE4VjEweiBNMjEsMTZIM3Y0aDE4VjE2eiIvPgogICAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-tag: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCA0MyAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTI4LjgzMzIgMTIuMzM0TDMyLjk5OTggMTYuNTAwN0wzNy4xNjY1IDEyLjMzNEgyOC44MzMyWiIvPgoJCTxwYXRoIGQ9Ik0xNi4yMDk1IDIxLjYxMDRDMTUuNjg3MyAyMi4xMjk5IDE0Ljg0NDMgMjIuMTI5OSAxNC4zMjQ4IDIxLjYxMDRMNi45ODI5IDE0LjcyNDVDNi41NzI0IDE0LjMzOTQgNi4wODMxMyAxMy42MDk4IDYuMDQ3ODYgMTMuMDQ4MkM1Ljk1MzQ3IDExLjUyODggNi4wMjAwMiA4LjYxOTQ0IDYuMDY2MjEgNy4wNzY5NUM2LjA4MjgxIDYuNTE0NzcgNi41NTU0OCA2LjA0MzQ3IDcuMTE4MDQgNi4wMzA1NUM5LjA4ODYzIDUuOTg0NzMgMTMuMjYzOCA1LjkzNTc5IDEzLjY1MTggNi4zMjQyNUwyMS43MzY5IDEzLjYzOUMyMi4yNTYgMTQuMTU4NSAyMS43ODUxIDE1LjQ3MjQgMjEuMjYyIDE1Ljk5NDZMMTYuMjA5NSAyMS42MTA0Wk05Ljc3NTg1IDguMjY1QzkuMzM1NTEgNy44MjU2NiA4LjYyMzUxIDcuODI1NjYgOC4xODI4IDguMjY1QzcuNzQzNDYgOC43MDU3MSA3Ljc0MzQ2IDkuNDE3MzMgOC4xODI4IDkuODU2NjdDOC42MjM4MiAxMC4yOTY0IDkuMzM1ODIgMTAuMjk2NCA5Ljc3NTg1IDkuODU2NjdDMTAuMjE1NiA5LjQxNzMzIDEwLjIxNTYgOC43MDUzMyA5Ljc3NTg1IDguMjY1WiIvPgoJPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-terminal: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiA+CiAgICA8cmVjdCBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1iYWNrZ3JvdW5kLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIiBmaWxsPSIjMzMzMzMzIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUtaW52ZXJzZSIgZD0iTTUuMDU2NjQgOC43NjE3MkM1LjA1NjY0IDguNTk3NjYgNS4wMzEyNSA4LjQ1MzEyIDQuOTgwNDcgOC4zMjgxMkM0LjkzMzU5IDguMTk5MjIgNC44NTU0NyA4LjA4MjAzIDQuNzQ2MDkgNy45NzY1NkM0LjY0MDYyIDcuODcxMDkgNC41IDcuNzc1MzkgNC4zMjQyMiA3LjY4OTQ1QzQuMTUyMzQgNy41OTk2MSAzLjk0MzM2IDcuNTExNzIgMy42OTcyNyA3LjQyNTc4QzMuMzAyNzMgNy4yODUxNiAyLjk0MzM2IDcuMTM2NzIgMi42MTkxNCA2Ljk4MDQ3QzIuMjk0OTIgNi44MjQyMiAyLjAxNzU4IDYuNjQyNTggMS43ODcxMSA2LjQzNTU1QzEuNTYwNTUgNi4yMjg1MiAxLjM4NDc3IDUuOTg4MjggMS4yNTk3NyA1LjcxNDg0QzEuMTM0NzcgNS40Mzc1IDEuMDcyMjcgNS4xMDkzOCAxLjA3MjI3IDQuNzMwNDdDMS4wNzIyNyA0LjM5ODQ0IDEuMTI4OTEgNC4wOTU3IDEuMjQyMTkgMy44MjIyN0MxLjM1NTQ3IDMuNTQ0OTIgMS41MTU2MiAzLjMwNDY5IDEuNzIyNjYgMy4xMDE1NkMxLjkyOTY5IDIuODk4NDQgMi4xNzk2OSAyLjczNDM3IDIuNDcyNjYgMi42MDkzOEMyLjc2NTYyIDIuNDg0MzggMy4wOTE4IDIuNDA0MyAzLjQ1MTE3IDIuMzY5MTRWMS4xMDkzOEg0LjM4ODY3VjIuMzgwODZDNC43NDAyMyAyLjQyNzczIDUuMDU2NjQgMi41MjM0NCA1LjMzNzg5IDIuNjY3OTdDNS42MTkxNCAyLjgxMjUgNS44NTc0MiAzLjAwMTk1IDYuMDUyNzMgMy4yMzYzM0M2LjI1MTk1IDMuNDY2OCA2LjQwNDMgMy43NDAyMyA2LjUwOTc3IDQuMDU2NjRDNi42MTkxNCA0LjM2OTE0IDYuNjczODMgNC43MjA3IDYuNjczODMgNS4xMTEzM0g1LjA0NDkyQzUuMDQ0OTIgNC42Mzg2NyA0LjkzNzUgNC4yODEyNSA0LjcyMjY2IDQuMDM5MDZDNC41MDc4MSAzLjc5Mjk3IDQuMjE2OCAzLjY2OTkyIDMuODQ5NjEgMy42Njk5MkMzLjY1MDM5IDMuNjY5OTIgMy40NzY1NiAzLjY5NzI3IDMuMzI4MTIgMy43NTE5NUMzLjE4MzU5IDMuODAyNzMgMy4wNjQ0NSAzLjg3Njk1IDIuOTcwNyAzLjk3NDYxQzIuODc2OTUgNC4wNjgzNiAyLjgwNjY0IDQuMTc5NjkgMi43NTk3NyA0LjMwODU5QzIuNzE2OCA0LjQzNzUgMi42OTUzMSA0LjU3ODEyIDIuNjk1MzEgNC43MzA0N0MyLjY5NTMxIDQuODgyODEgMi43MTY4IDUuMDE5NTMgMi43NTk3NyA1LjE0MDYyQzIuODA2NjQgNS4yNTc4MSAyLjg4MjgxIDUuMzY3MTkgMi45ODgyOCA1LjQ2ODc1QzMuMDk3NjYgNS41NzAzMSAzLjI0MDIzIDUuNjY3OTcgMy40MTYwMiA1Ljc2MTcyQzMuNTkxOCA1Ljg1MTU2IDMuODEwNTUgNS45NDMzNiA0LjA3MjI3IDYuMDM3MTFDNC40NjY4IDYuMTg1NTUgNC44MjQyMiA2LjMzOTg0IDUuMTQ0NTMgNi41QzUuNDY0ODQgNi42NTYyNSA1LjczODI4IDYuODM5ODQgNS45NjQ4NCA3LjA1MDc4QzYuMTk1MzEgNy4yNTc4MSA2LjM3MTA5IDcuNSA2LjQ5MjE5IDcuNzc3MzRDNi42MTcxOSA4LjA1MDc4IDYuNjc5NjkgOC4zNzUgNi42Nzk2OSA4Ljc1QzYuNjc5NjkgOS4wOTM3NSA2LjYyMzA1IDkuNDA0MyA2LjUwOTc3IDkuNjgxNjRDNi4zOTY0OCA5Ljk1NTA4IDYuMjM0MzggMTAuMTkxNCA2LjAyMzQ0IDEwLjM5MDZDNS44MTI1IDEwLjU4OTggNS41NTg1OSAxMC43NSA1LjI2MTcyIDEwLjg3MTFDNC45NjQ4NCAxMC45ODgzIDQuNjMyODEgMTEuMDY0NSA0LjI2NTYyIDExLjA5OTZWMTIuMjQ4SDMuMzMzOThWMTEuMDk5NkMzLjAwMTk1IDExLjA2ODQgMi42Nzk2OSAxMC45OTYxIDIuMzY3MTkgMTAuODgyOEMyLjA1NDY5IDEwLjc2NTYgMS43NzczNCAxMC41OTc3IDEuNTM1MTYgMTAuMzc4OUMxLjI5Njg4IDEwLjE2MDIgMS4xMDU0NyA5Ljg4NDc3IDAuOTYwOTM4IDkuNTUyNzNDMC44MTY0MDYgOS4yMTY4IDAuNzQ0MTQxIDguODE0NDUgMC43NDQxNDEgOC4zNDU3SDIuMzc4OTFDMi4zNzg5MSA4LjYyNjk1IDIuNDE5OTIgOC44NjMyOCAyLjUwMTk1IDkuMDU0NjlDMi41ODM5OCA5LjI0MjE5IDIuNjg5NDUgOS4zOTI1OCAyLjgxODM2IDkuNTA1ODZDMi45NTExNyA5LjYxNTIzIDMuMTAxNTYgOS42OTMzNiAzLjI2OTUzIDkuNzQwMjNDMy40Mzc1IDkuNzg3MTEgMy42MDkzOCA5LjgxMDU1IDMuNzg1MTYgOS44MTA1NUM0LjIwMzEyIDkuODEwNTUgNC41MTk1MyA5LjcxMjg5IDQuNzM0MzggOS41MTc1OEM0Ljk0OTIyIDkuMzIyMjcgNS4wNTY2NCA5LjA3MDMxIDUuMDU2NjQgOC43NjE3MlpNMTMuNDE4IDEyLjI3MTVIOC4wNzQyMlYxMUgxMy40MThWMTIuMjcxNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuOTUyNjQgNikiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=);
|
||
--jp-icon-text-editor: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtdGV4dC1lZGl0b3ItaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xNSAxNUgzdjJoMTJ2LTJ6bTAtOEgzdjJoMTJWN3pNMyAxM2gxOHYtMkgzdjJ6bTAgOGgxOHYtMkgzdjJ6TTMgM3YyaDE4VjNIM3oiLz4KPC9zdmc+Cg==);
|
||
--jp-icon-toc: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik03LDVIMjFWN0g3VjVNNywxM1YxMUgyMVYxM0g3TTQsNC41QTEuNSwxLjUgMCAwLDEgNS41LDZBMS41LDEuNSAwIDAsMSA0LDcuNUExLjUsMS41IDAgMCwxIDIuNSw2QTEuNSwxLjUgMCAwLDEgNCw0LjVNNCwxMC41QTEuNSwxLjUgMCAwLDEgNS41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMy41QTEuNSwxLjUgMCAwLDEgMi41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMC41TTcsMTlWMTdIMjFWMTlIN000LDE2LjVBMS41LDEuNSAwIDAsMSA1LjUsMThBMS41LDEuNSAwIDAsMSA0LDE5LjVBMS41LDEuNSAwIDAsMSAyLjUsMThBMS41LDEuNSAwIDAsMSA0LDE2LjVaIiAvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-tree-view: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMiAxMVYzaC03djNIOVYzSDJ2OGg3VjhoMnYxMGg0djNoN3YtOGgtN3YzaC0yVjhoMnYzeiIvPgogICAgPC9nPgo8L3N2Zz4K);
|
||
--jp-icon-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMiAxNy4xODQ0IDIuOTY5NjggMTQuMzAzMiAxLjg2MDk0IDExLjQ0MDlaIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiMzMzMzMzMiIHN0cm9rZT0iIzMzMzMzMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA5Ljg2NzE5KSIgZD0iTTIuODYwMTUgNC44NjUzNUwwLjcyNjU0OSAyLjk5OTU5TDAgMy42MzA0NUwyLjg2MDE1IDYuMTMxNTdMOCAwLjYzMDg3Mkw3LjI3ODU3IDBMMi44NjAxNSA0Ljg2NTM1WiIvPgo8L3N2Zz4K);
|
||
--jp-icon-undo: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjUgOGMtMi42NSAwLTUuMDUuOTktNi45IDIuNkwyIDd2OWg5bC0zLjYyLTMuNjJjMS4zOS0xLjE2IDMuMTYtMS44OCA1LjEyLTEuODggMy41NCAwIDYuNTUgMi4zMSA3LjYgNS41bDIuMzctLjc4QzIxLjA4IDExLjAzIDE3LjE1IDggMTIuNSA4eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-user: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE2IDdhNCA0IDAgMTEtOCAwIDQgNCAwIDAxOCAwek0xMiAxNGE3IDcgMCAwMC03IDdoMTRhNyA3IDAgMDAtNy03eiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-users: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDM2IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPGcgY2xhc3M9ImpwLWljb24zIiB0cmFuc2Zvcm09Im1hdHJpeCgxLjczMjcgMCAwIDEuNzMyNyAtMy42MjgyIC4wOTk1NzcpIiBmaWxsPSIjNjE2MTYxIj4KICA8cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLjUsMCwwLDEuNSwwLC02KSIgZD0ibTEyLjE4NiA3LjUwOThjLTEuMDUzNSAwLTEuOTc1NyAwLjU2NjUtMi40Nzg1IDEuNDEwMiAwLjc1MDYxIDAuMzEyNzcgMS4zOTc0IDAuODI2NDggMS44NzMgMS40NzI3aDMuNDg2M2MwLTEuNTkyLTEuMjg4OS0yLjg4MjgtMi44ODA5LTIuODgyOHoiLz4KICA8cGF0aCBkPSJtMjAuNDY1IDIuMzg5NWEyLjE4ODUgMi4xODg1IDAgMCAxLTIuMTg4NCAyLjE4ODUgMi4xODg1IDIuMTg4NSAwIDAgMS0yLjE4ODUtMi4xODg1IDIuMTg4NSAyLjE4ODUgMCAwIDEgMi4xODg1LTIuMTg4NSAyLjE4ODUgMi4xODg1IDAgMCAxIDIuMTg4NCAyLjE4ODV6Ii8+CiAgPHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMS41LDAsMCwxLjUsMCwtNikiIGQ9Im0zLjU4OTggOC40MjE5Yy0xLjExMjYgMC0yLjAxMzcgMC45MDExMS0yLjAxMzcgMi4wMTM3aDIuODE0NWMwLjI2Nzk3LTAuMzczMDkgMC41OTA3LTAuNzA0MzUgMC45NTg5OC0wLjk3ODUyLTAuMzQ0MzMtMC42MTY4OC0xLjAwMzEtMS4wMzUyLTEuNzU5OC0xLjAzNTJ6Ii8+CiAgPHBhdGggZD0ibTYuOTE1NCA0LjYyM2ExLjUyOTQgMS41Mjk0IDAgMCAxLTEuNTI5NCAxLjUyOTQgMS41Mjk0IDEuNTI5NCAwIDAgMS0xLjUyOTQtMS41Mjk0IDEuNTI5NCAxLjUyOTQgMCAwIDEgMS41Mjk0LTEuNTI5NCAxLjUyOTQgMS41Mjk0IDAgMCAxIDEuNTI5NCAxLjUyOTR6Ii8+CiAgPHBhdGggZD0ibTYuMTM1IDEzLjUzNWMwLTMuMjM5MiAyLjYyNTktNS44NjUgNS44NjUtNS44NjUgMy4yMzkyIDAgNS44NjUgMi42MjU5IDUuODY1IDUuODY1eiIvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMy43Njg1IiByPSIyLjk2ODUiLz4KIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-vega: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbjEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjEyMTIxIj4KICAgIDxwYXRoIGQ9Ik0xMC42IDUuNGwyLjItMy4ySDIuMnY3LjNsNC02LjZ6Ii8+CiAgICA8cGF0aCBkPSJNMTUuOCAyLjJsLTQuNCA2LjZMNyA2LjNsLTQuOCA4djUuNWgxNy42VjIuMmgtNHptLTcgMTUuNEg1LjV2LTQuNGgzLjN2NC40em00LjQgMEg5LjhWOS44aDMuNHY3Ljh6bTQuNCAwaC0zLjRWNi41aDMuNHYxMS4xeiIvPgogIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-word: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KIDxnIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzQxNDE0MSI+CiAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiA8L2c+CiA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSguNDMgLjA0MDEpIiBmaWxsPSIjZmZmIj4KICA8cGF0aCBkPSJtNC4xNCA4Ljc2cTAuMDY4Mi0xLjg5IDIuNDItMS44OSAxLjE2IDAgMS42OCAwLjQyIDAuNTY3IDAuNDEgMC41NjcgMS4xNnYzLjQ3cTAgMC40NjIgMC41MTQgMC40NjIgMC4xMDMgMCAwLjItMC4wMjMxdjAuNzE0cS0wLjM5OSAwLjEwMy0wLjY1MSAwLjEwMy0wLjQ1MiAwLTAuNjkzLTAuMjItMC4yMzEtMC4yLTAuMjg0LTAuNjYyLTAuOTU2IDAuODcyLTIgMC44NzItMC45MDMgMC0xLjQ3LTAuNDcyLTAuNTI1LTAuNDcyLTAuNTI1LTEuMjYgMC0wLjI2MiAwLjA0NTItMC40NzIgMC4wNTY3LTAuMjIgMC4xMTYtMC4zNzggMC4wNjgyLTAuMTY4IDAuMjMxLTAuMzA0IDAuMTU4LTAuMTQ3IDAuMjYyLTAuMjQyIDAuMTE2LTAuMDkxNCAwLjM2OC0wLjE2OCAwLjI2Mi0wLjA5MTQgMC4zOTktMC4xMjYgMC4xMzYtMC4wNDUyIDAuNDcyLTAuMTAzIDAuMzM2LTAuMDU3OCAwLjUwNC0wLjA3OTggMC4xNTgtMC4wMjMxIDAuNTY3LTAuMDc5OCAwLjU1Ni0wLjA2ODIgMC43NzctMC4yMjEgMC4yMi0wLjE1MiAwLjIyLTAuNDQxdi0wLjI1MnEwLTAuNDMtMC4zNTctMC42NjItMC4zMzYtMC4yMzEtMC45NzYtMC4yMzEtMC42NjIgMC0wLjk5OCAwLjI2Mi0wLjMzNiAwLjI1Mi0wLjM5OSAwLjc5OHptMS44OSAzLjY4cTAuNzg4IDAgMS4yNi0wLjQxIDAuNTA0LTAuNDIgMC41MDQtMC45MDN2LTEuMDVxLTAuMjg0IDAuMTM2LTAuODYxIDAuMjMxLTAuNTY3IDAuMDkxNC0wLjk4NyAwLjE1OC0wLjQyIDAuMDY4Mi0wLjc2NiAwLjMyNi0wLjMzNiAwLjI1Mi0wLjMzNiAwLjcwNHQwLjMwNCAwLjcwNCAwLjg2MSAwLjI1MnoiIHN0cm9rZS13aWR0aD0iMS4wNSIvPgogIDxwYXRoIGQ9Im0xMCA0LjU2aDAuOTQ1djMuMTVxMC42NTEtMC45NzYgMS44OS0wLjk3NiAxLjE2IDAgMS44OSAwLjg0IDAuNjgyIDAuODQgMC42ODIgMi4zMSAwIDEuNDctMC43MDQgMi40Mi0wLjcwNCAwLjg4Mi0xLjg5IDAuODgyLTEuMjYgMC0xLjg5LTEuMDJ2MC43NjZoLTAuODV6bTIuNjIgMy4wNHEtMC43NDYgMC0xLjE2IDAuNjQtMC40NTIgMC42My0wLjQ1MiAxLjY4IDAgMS4wNSAwLjQ1MiAxLjY4dDEuMTYgMC42M3EwLjc3NyAwIDEuMjYtMC42MyAwLjQ5NC0wLjY0IDAuNDk0LTEuNjggMC0xLjA1LTAuNDcyLTEuNjgtMC40NjItMC42NC0xLjI2LTAuNjR6IiBzdHJva2Utd2lkdGg9IjEuMDUiLz4KICA8cGF0aCBkPSJtMi43MyAxNS44IDEzLjYgMC4wMDgxYzAuMDA2OSAwIDAtMi42IDAtMi42IDAtMC4wMDc4LTEuMTUgMC0xLjE1IDAtMC4wMDY5IDAtMC4wMDgzIDEuNS0wLjAwODMgMS41LTJlLTMgLTAuMDAxNC0xMS4zLTAuMDAxNC0xMS4zLTAuMDAxNGwtMC4wMDU5Mi0xLjVjMC0wLjAwNzgtMS4xNyAwLjAwMTMtMS4xNyAwLjAwMTN6IiBzdHJva2Utd2lkdGg9Ii45NzUiLz4KIDwvZz4KPC9zdmc+Cg==);
|
||
--jp-icon-yaml: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1jb250cmFzdDIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjRDgxQjYwIj4KICAgIDxwYXRoIGQ9Ik03LjIgMTguNnYtNS40TDMgNS42aDMuM2wxLjQgMy4xYy4zLjkuNiAxLjYgMSAyLjUuMy0uOC42LTEuNiAxLTIuNWwxLjQtMy4xaDMuNGwtNC40IDcuNnY1LjVsLTIuOS0uMXoiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxNi41IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxMSIgcj0iMi4xIi8+CiAgPC9nPgo8L3N2Zz4K);
|
||
}
|
||
|
||
/* Icon CSS class declarations */
|
||
|
||
.jp-AddAboveIcon {
|
||
background-image: var(--jp-icon-add-above);
|
||
}
|
||
|
||
.jp-AddBelowIcon {
|
||
background-image: var(--jp-icon-add-below);
|
||
}
|
||
|
||
.jp-AddIcon {
|
||
background-image: var(--jp-icon-add);
|
||
}
|
||
|
||
.jp-BellIcon {
|
||
background-image: var(--jp-icon-bell);
|
||
}
|
||
|
||
.jp-BugDotIcon {
|
||
background-image: var(--jp-icon-bug-dot);
|
||
}
|
||
|
||
.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-CodeCheckIcon {
|
||
background-image: var(--jp-icon-code-check);
|
||
}
|
||
|
||
.jp-CodeIcon {
|
||
background-image: var(--jp-icon-code);
|
||
}
|
||
|
||
.jp-CollapseAllIcon {
|
||
background-image: var(--jp-icon-collapse-all);
|
||
}
|
||
|
||
.jp-ConsoleIcon {
|
||
background-image: var(--jp-icon-console);
|
||
}
|
||
|
||
.jp-CopyIcon {
|
||
background-image: var(--jp-icon-copy);
|
||
}
|
||
|
||
.jp-CopyrightIcon {
|
||
background-image: var(--jp-icon-copyright);
|
||
}
|
||
|
||
.jp-CutIcon {
|
||
background-image: var(--jp-icon-cut);
|
||
}
|
||
|
||
.jp-DeleteIcon {
|
||
background-image: var(--jp-icon-delete);
|
||
}
|
||
|
||
.jp-DownloadIcon {
|
||
background-image: var(--jp-icon-download);
|
||
}
|
||
|
||
.jp-DuplicateIcon {
|
||
background-image: var(--jp-icon-duplicate);
|
||
}
|
||
|
||
.jp-EditIcon {
|
||
background-image: var(--jp-icon-edit);
|
||
}
|
||
|
||
.jp-EllipsesIcon {
|
||
background-image: var(--jp-icon-ellipses);
|
||
}
|
||
|
||
.jp-ErrorIcon {
|
||
background-image: var(--jp-icon-error);
|
||
}
|
||
|
||
.jp-ExpandAllIcon {
|
||
background-image: var(--jp-icon-expand-all);
|
||
}
|
||
|
||
.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-FilterDotIcon {
|
||
background-image: var(--jp-icon-filter-dot);
|
||
}
|
||
|
||
.jp-FilterIcon {
|
||
background-image: var(--jp-icon-filter);
|
||
}
|
||
|
||
.jp-FilterListIcon {
|
||
background-image: var(--jp-icon-filter-list);
|
||
}
|
||
|
||
.jp-FolderFavoriteIcon {
|
||
background-image: var(--jp-icon-folder-favorite);
|
||
}
|
||
|
||
.jp-FolderIcon {
|
||
background-image: var(--jp-icon-folder);
|
||
}
|
||
|
||
.jp-HomeIcon {
|
||
background-image: var(--jp-icon-home);
|
||
}
|
||
|
||
.jp-Html5Icon {
|
||
background-image: var(--jp-icon-html5);
|
||
}
|
||
|
||
.jp-ImageIcon {
|
||
background-image: var(--jp-icon-image);
|
||
}
|
||
|
||
.jp-InfoIcon {
|
||
background-image: var(--jp-icon-info);
|
||
}
|
||
|
||
.jp-InspectorIcon {
|
||
background-image: var(--jp-icon-inspector);
|
||
}
|
||
|
||
.jp-JsonIcon {
|
||
background-image: var(--jp-icon-json);
|
||
}
|
||
|
||
.jp-JuliaIcon {
|
||
background-image: var(--jp-icon-julia);
|
||
}
|
||
|
||
.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-LaunchIcon {
|
||
background-image: var(--jp-icon-launch);
|
||
}
|
||
|
||
.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-MarkdownIcon {
|
||
background-image: var(--jp-icon-markdown);
|
||
}
|
||
|
||
.jp-MoveDownIcon {
|
||
background-image: var(--jp-icon-move-down);
|
||
}
|
||
|
||
.jp-MoveUpIcon {
|
||
background-image: var(--jp-icon-move-up);
|
||
}
|
||
|
||
.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-ShareIcon {
|
||
background-image: var(--jp-icon-share);
|
||
}
|
||
|
||
.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-UserIcon {
|
||
background-image: var(--jp-icon-user);
|
||
}
|
||
|
||
.jp-UsersIcon {
|
||
background-image: var(--jp-icon-users);
|
||
}
|
||
|
||
.jp-VegaIcon {
|
||
background-image: var(--jp-icon-vega);
|
||
}
|
||
|
||
.jp-WordIcon {
|
||
background-image: var(--jp-icon-word);
|
||
}
|
||
|
||
.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
|
||
*/
|
||
|
||
.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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-TabBar .lm-TabBar-addButton {
|
||
align-items: center;
|
||
display: flex;
|
||
padding: 4px;
|
||
padding-bottom: 5px;
|
||
margin-right: 1px;
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.lm-TabBar .lm-TabBar-addButton:hover {
|
||
background-color: var(--jp-layout-color1);
|
||
}
|
||
|
||
.lm-DockPanel-tabBar .lm-TabBar-tab {
|
||
width: var(--jp-private-horizontal-tab-width);
|
||
}
|
||
|
||
.lm-DockPanel-tabBar .lm-TabBar-content {
|
||
flex: unset;
|
||
}
|
||
|
||
.lm-DockPanel-tabBar[data-orientation='horizontal'] {
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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);
|
||
}
|
||
|
||
.jp-icon-dot[fill] {
|
||
fill: var(--jp-warn-color0);
|
||
}
|
||
|
||
.jp-jupyter-icon-color[fill] {
|
||
fill: var(--jp-jupyter-icon-color, var(--jp-warn-color0));
|
||
}
|
||
|
||
.jp-notebook-icon-color[fill] {
|
||
fill: var(--jp-notebook-icon-color, var(--jp-warn-color0));
|
||
}
|
||
|
||
.jp-json-icon-color[fill] {
|
||
fill: var(--jp-json-icon-color, var(--jp-warn-color1));
|
||
}
|
||
|
||
.jp-console-icon-color[fill] {
|
||
fill: var(--jp-console-icon-color, white);
|
||
}
|
||
|
||
.jp-console-icon-background-color[fill] {
|
||
fill: var(--jp-console-icon-background-color, var(--jp-brand-color1));
|
||
}
|
||
|
||
.jp-terminal-icon-color[fill] {
|
||
fill: var(--jp-terminal-icon-color, var(--jp-layout-color2));
|
||
}
|
||
|
||
.jp-terminal-icon-background-color[fill] {
|
||
fill: var(
|
||
--jp-terminal-icon-background-color,
|
||
var(--jp-inverse-layout-color2)
|
||
);
|
||
}
|
||
|
||
.jp-text-editor-icon-color[fill] {
|
||
fill: var(--jp-text-editor-icon-color, var(--jp-inverse-layout-color3));
|
||
}
|
||
|
||
.jp-inspector-icon-color[fill] {
|
||
fill: var(--jp-inspector-icon-color, var(--jp-inverse-layout-color3));
|
||
}
|
||
|
||
/* 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);
|
||
}
|
||
|
||
/* stylelint-disable selector-max-class, selector-max-compound-selectors */
|
||
|
||
/**
|
||
* 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);
|
||
}
|
||
|
||
/* stylelint-enable selector-max-class, selector-max-compound-selectors */
|
||
|
||
/* 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) .jp-icon-hoverShow-content {
|
||
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-IFrame {
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.jp-IFrame > iframe {
|
||
border: none;
|
||
}
|
||
|
||
/*
|
||
When drag events occur, `lm-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-HoverBox {
|
||
position: fixed;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-FormGroup-content fieldset {
|
||
border: none;
|
||
padding: 0;
|
||
min-width: 0;
|
||
width: 100%;
|
||
}
|
||
|
||
/* stylelint-disable selector-max-type */
|
||
|
||
.jp-FormGroup-content fieldset .jp-inputFieldWrapper input,
|
||
.jp-FormGroup-content fieldset .jp-inputFieldWrapper select,
|
||
.jp-FormGroup-content fieldset .jp-inputFieldWrapper textarea {
|
||
font-size: var(--jp-content-font-size2);
|
||
border-color: var(--jp-input-border-color);
|
||
border-style: solid;
|
||
border-radius: var(--jp-border-radius);
|
||
border-width: 1px;
|
||
padding: 6px 8px;
|
||
background: none;
|
||
color: var(--jp-ui-font-color0);
|
||
height: inherit;
|
||
}
|
||
|
||
.jp-FormGroup-content fieldset input[type='checkbox'] {
|
||
position: relative;
|
||
top: 2px;
|
||
margin-left: 0;
|
||
}
|
||
|
||
.jp-FormGroup-content button.jp-mod-styled {
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-FormGroup-content .checkbox label {
|
||
cursor: pointer;
|
||
font-size: var(--jp-content-font-size1);
|
||
}
|
||
|
||
.jp-FormGroup-content .jp-root > fieldset > legend {
|
||
display: none;
|
||
}
|
||
|
||
.jp-FormGroup-content .jp-root > fieldset > p {
|
||
display: none;
|
||
}
|
||
|
||
/** copy of `input.jp-mod-styled:focus` style */
|
||
.jp-FormGroup-content fieldset input:focus,
|
||
.jp-FormGroup-content fieldset select:focus {
|
||
-moz-outline-radius: unset;
|
||
outline: var(--jp-border-width) solid var(--md-blue-500);
|
||
outline-offset: -1px;
|
||
box-shadow: inset 0 0 4px var(--md-blue-300);
|
||
}
|
||
|
||
.jp-FormGroup-content fieldset input:hover:not(:focus),
|
||
.jp-FormGroup-content fieldset select:hover:not(:focus) {
|
||
background-color: var(--jp-border-color2);
|
||
}
|
||
|
||
/* stylelint-enable selector-max-type */
|
||
|
||
.jp-FormGroup-content .checkbox .field-description {
|
||
/* Disable default description field for checkbox:
|
||
because other widgets do not have description fields,
|
||
we add descriptions to each widget on the field level.
|
||
*/
|
||
display: none;
|
||
}
|
||
|
||
.jp-FormGroup-content #root__description {
|
||
display: none;
|
||
}
|
||
|
||
.jp-FormGroup-content .jp-modifiedIndicator {
|
||
width: 5px;
|
||
background-color: var(--jp-brand-color2);
|
||
margin-top: 0;
|
||
margin-left: calc(var(--jp-private-settingeditor-modifier-indent) * -1);
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
.jp-FormGroup-content .jp-modifiedIndicator.jp-errorIndicator {
|
||
background-color: var(--jp-error-color0);
|
||
margin-right: 0.5em;
|
||
}
|
||
|
||
/* RJSF ARRAY style */
|
||
|
||
.jp-arrayFieldWrapper legend {
|
||
font-size: var(--jp-content-font-size2);
|
||
color: var(--jp-ui-font-color0);
|
||
flex-basis: 100%;
|
||
padding: 4px 0;
|
||
font-weight: var(--jp-content-heading-font-weight);
|
||
border-bottom: 1px solid var(--jp-border-color2);
|
||
}
|
||
|
||
.jp-arrayFieldWrapper .field-description {
|
||
padding: 4px 0;
|
||
white-space: pre-wrap;
|
||
}
|
||
|
||
.jp-arrayFieldWrapper .array-item {
|
||
width: 100%;
|
||
border: 1px solid var(--jp-border-color2);
|
||
border-radius: 4px;
|
||
margin: 4px;
|
||
}
|
||
|
||
.jp-ArrayOperations {
|
||
display: flex;
|
||
margin-left: 8px;
|
||
}
|
||
|
||
.jp-ArrayOperationsButton {
|
||
margin: 2px;
|
||
}
|
||
|
||
.jp-ArrayOperationsButton .jp-icon3[fill] {
|
||
fill: var(--jp-ui-font-color0);
|
||
}
|
||
|
||
button.jp-ArrayOperationsButton.jp-mod-styled:disabled {
|
||
cursor: not-allowed;
|
||
opacity: 0.5;
|
||
}
|
||
|
||
/* RJSF form validation error */
|
||
|
||
.jp-FormGroup-content .validationErrors {
|
||
color: var(--jp-error-color0);
|
||
}
|
||
|
||
/* Hide panel level error as duplicated the field level error */
|
||
.jp-FormGroup-content .panel.errors {
|
||
display: none;
|
||
}
|
||
|
||
/* RJSF normal content (settings-editor) */
|
||
|
||
.jp-FormGroup-contentNormal {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-wrap: wrap;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .jp-FormGroup-contentItem {
|
||
margin-left: 7px;
|
||
color: var(--jp-ui-font-color0);
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .jp-FormGroup-description {
|
||
flex-basis: 100%;
|
||
padding: 4px 7px;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .jp-FormGroup-default {
|
||
flex-basis: 100%;
|
||
padding: 4px 7px;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .jp-FormGroup-fieldLabel {
|
||
font-size: var(--jp-content-font-size1);
|
||
font-weight: normal;
|
||
min-width: 120px;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal fieldset:not(:first-child) {
|
||
margin-left: 7px;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .field-array-of-string .array-item {
|
||
/* Display `jp-ArrayOperations` buttons side-by-side with content except
|
||
for small screens where flex-wrap will place them one below the other.
|
||
*/
|
||
display: flex;
|
||
align-items: center;
|
||
flex-wrap: wrap;
|
||
}
|
||
|
||
.jp-FormGroup-contentNormal .jp-objectFieldWrapper .form-group {
|
||
padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
|
||
margin-top: 2px;
|
||
}
|
||
|
||
/* RJSF compact content (metadata-form) */
|
||
|
||
.jp-FormGroup-content.jp-FormGroup-contentCompact {
|
||
width: 100%;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact .form-group {
|
||
display: flex;
|
||
padding: 0.5em 0.2em 0.5em 0;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact
|
||
.jp-FormGroup-compactTitle
|
||
.jp-FormGroup-description {
|
||
font-size: var(--jp-ui-font-size1);
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact .jp-FormGroup-fieldLabel {
|
||
padding-bottom: 0.3em;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact .jp-inputFieldWrapper .form-control {
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact .jp-arrayFieldWrapper .jp-FormGroup-compactTitle {
|
||
padding-bottom: 7px;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact
|
||
.jp-objectFieldWrapper
|
||
.jp-objectFieldWrapper
|
||
.form-group {
|
||
padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
|
||
margin-top: 2px;
|
||
}
|
||
|
||
.jp-FormGroup-contentCompact ul.error-detail {
|
||
margin-block-start: 0.5em;
|
||
margin-block-end: 0.5em;
|
||
padding-inline-start: 1em;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.jp-SidePanel {
|
||
display: flex;
|
||
flex-direction: column;
|
||
min-width: var(--jp-sidebar-min-width);
|
||
overflow-y: auto;
|
||
color: var(--jp-ui-font-color1);
|
||
background: var(--jp-layout-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
}
|
||
|
||
.jp-SidePanel-header {
|
||
flex: 0 0 auto;
|
||
display: flex;
|
||
border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
|
||
font-size: var(--jp-ui-font-size0);
|
||
font-weight: 600;
|
||
letter-spacing: 1px;
|
||
margin: 0;
|
||
padding: 2px;
|
||
text-transform: uppercase;
|
||
}
|
||
|
||
.jp-SidePanel-toolbar {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.jp-SidePanel-content {
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
.jp-SidePanel-toolbar,
|
||
.jp-AccordionPanel-toolbar {
|
||
height: var(--jp-private-toolbar-height);
|
||
}
|
||
|
||
.jp-SidePanel-toolbar.jp-Toolbar-micro {
|
||
display: none;
|
||
}
|
||
|
||
.lm-AccordionPanel .jp-AccordionPanel-title {
|
||
box-sizing: border-box;
|
||
line-height: 25px;
|
||
margin: 0;
|
||
display: flex;
|
||
align-items: center;
|
||
background: var(--jp-layout-color1);
|
||
color: var(--jp-ui-font-color1);
|
||
border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
|
||
box-shadow: var(--jp-toolbar-box-shadow);
|
||
font-size: var(--jp-ui-font-size0);
|
||
}
|
||
|
||
.jp-AccordionPanel-title {
|
||
cursor: pointer;
|
||
user-select: none;
|
||
-moz-user-select: none;
|
||
-webkit-user-select: none;
|
||
text-transform: uppercase;
|
||
}
|
||
|
||
.lm-AccordionPanel[data-orientation='horizontal'] > .jp-AccordionPanel-title {
|
||
/* Title is rotated for horizontal accordion panel using CSS */
|
||
display: block;
|
||
transform-origin: top left;
|
||
transform: rotate(-90deg) translate(-100%);
|
||
}
|
||
|
||
.jp-AccordionPanel-title .lm-AccordionPanel-titleLabel {
|
||
user-select: none;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.jp-AccordionPanel-title .lm-AccordionPanel-titleCollapser {
|
||
transform: rotate(-90deg);
|
||
margin: auto 0;
|
||
height: 16px;
|
||
}
|
||
|
||
.jp-AccordionPanel-title.lm-mod-expanded .lm-AccordionPanel-titleCollapser {
|
||
transform: rotate(0deg);
|
||
}
|
||
|
||
.lm-AccordionPanel .jp-AccordionPanel-toolbar {
|
||
background: none;
|
||
box-shadow: none;
|
||
border: none;
|
||
margin-left: auto;
|
||
}
|
||
|
||
.lm-AccordionPanel .lm-SplitPanel-handle:hover {
|
||
background: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-text-truncated {
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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;
|
||
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: 0 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[type='checkbox'].jp-mod-styled {
|
||
appearance: checkbox;
|
||
-webkit-appearance: checkbox;
|
||
-moz-appearance: checkbox;
|
||
height: auto;
|
||
}
|
||
|
||
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);
|
||
box-sizing: border-box;
|
||
margin-bottom: 12px;
|
||
}
|
||
|
||
.jp-select-wrapper:not(.multiple) {
|
||
height: 28px;
|
||
}
|
||
|
||
.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 {
|
||
cursor: pointer;
|
||
color: var(--jp-ui-font-color0);
|
||
background-color: var(--jp-input-hover-background);
|
||
box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);
|
||
}
|
||
|
||
select.jp-mod-styled {
|
||
flex: 1 1 auto;
|
||
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: 0;
|
||
outline: none;
|
||
appearance: none;
|
||
-webkit-appearance: none;
|
||
-moz-appearance: none;
|
||
}
|
||
|
||
select.jp-mod-styled:not([multiple]) {
|
||
height: 32px;
|
||
}
|
||
|
||
select.jp-mod-styled[multiple] {
|
||
max-height: 200px;
|
||
overflow-y: auto;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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;
|
||
font-family: var(--jp-ui-font-family);
|
||
}
|
||
|
||
.jp-switch-track {
|
||
cursor: pointer;
|
||
background-color: var(--jp-switch-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: 0;
|
||
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-switch-true-position-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) 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: 8;
|
||
overflow-x: hidden;
|
||
}
|
||
|
||
/* 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: 0;
|
||
margin: 0;
|
||
}
|
||
|
||
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: 0 6px;
|
||
margin: 0;
|
||
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: 0;
|
||
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);
|
||
font-family: var(--jp-ui-font-family);
|
||
}
|
||
|
||
#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) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.jp-WindowedPanel-outer {
|
||
position: relative;
|
||
overflow-y: auto;
|
||
}
|
||
|
||
.jp-WindowedPanel-inner {
|
||
position: relative;
|
||
}
|
||
|
||
.jp-WindowedPanel-window {
|
||
position: absolute;
|
||
left: 0;
|
||
right: 0;
|
||
overflow: visible;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/* Sibling imports */
|
||
|
||
body {
|
||
color: var(--jp-ui-font-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
}
|
||
|
||
/* Disable native link decoration styles everywhere outside of dialog boxes */
|
||
a {
|
||
text-decoration: unset;
|
||
color: unset;
|
||
}
|
||
|
||
a:hover {
|
||
text-decoration: unset;
|
||
color: unset;
|
||
}
|
||
|
||
/* Accessibility for links inside dialog box text */
|
||
.jp-Dialog-content a {
|
||
text-decoration: revert;
|
||
color: var(--jp-content-link-color);
|
||
}
|
||
|
||
.jp-Dialog-content a:hover {
|
||
text-decoration: revert;
|
||
}
|
||
|
||
/* Styles for ui-components */
|
||
.jp-Button {
|
||
color: var(--jp-ui-font-color2);
|
||
border-radius: var(--jp-border-radius);
|
||
padding: 0 12px;
|
||
font-size: var(--jp-ui-font-size1);
|
||
|
||
/* Copy from blueprint 3 */
|
||
display: inline-flex;
|
||
flex-direction: row;
|
||
border: none;
|
||
cursor: pointer;
|
||
align-items: center;
|
||
justify-content: center;
|
||
text-align: left;
|
||
vertical-align: middle;
|
||
min-height: 30px;
|
||
min-width: 30px;
|
||
}
|
||
|
||
.jp-Button:disabled {
|
||
cursor: not-allowed;
|
||
}
|
||
|
||
.jp-Button:empty {
|
||
padding: 0 !important;
|
||
}
|
||
|
||
.jp-Button.jp-mod-small {
|
||
min-height: 24px;
|
||
min-width: 24px;
|
||
font-size: 12px;
|
||
padding: 0 7px;
|
||
}
|
||
|
||
/* Use our own theme for hover styles */
|
||
.jp-Button.jp-mod-minimal:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-Button.jp-mod-minimal {
|
||
background: none;
|
||
}
|
||
|
||
.jp-InputGroup {
|
||
display: block;
|
||
position: relative;
|
||
}
|
||
|
||
.jp-InputGroup input {
|
||
box-sizing: border-box;
|
||
border: none;
|
||
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);
|
||
padding-bottom: 0;
|
||
padding-top: 0;
|
||
padding-left: 10px;
|
||
padding-right: 28px;
|
||
position: relative;
|
||
width: 100%;
|
||
-webkit-appearance: none;
|
||
-moz-appearance: none;
|
||
appearance: none;
|
||
font-size: 14px;
|
||
font-weight: 400;
|
||
height: 30px;
|
||
line-height: 30px;
|
||
outline: none;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.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:disabled {
|
||
cursor: not-allowed;
|
||
resize: block;
|
||
background-color: var(--jp-layout-color2);
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.jp-InputGroup input:disabled ~ span {
|
||
cursor: not-allowed;
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.jp-InputGroup input::placeholder,
|
||
input::placeholder {
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.jp-InputGroupAction {
|
||
position: absolute;
|
||
bottom: 1px;
|
||
right: 0;
|
||
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);
|
||
font-family: var(--jp-ui-font-family);
|
||
height: 24px;
|
||
line-height: 14px;
|
||
padding: 0 25px 0 10px;
|
||
text-align: left;
|
||
-moz-appearance: none;
|
||
-webkit-appearance: none;
|
||
}
|
||
|
||
.jp-HTMLSelect.jp-DefaultStyle select:disabled {
|
||
background-color: var(--jp-layout-color2);
|
||
color: var(--jp-ui-font-color2);
|
||
cursor: not-allowed;
|
||
resize: block;
|
||
}
|
||
|
||
.jp-HTMLSelect.jp-DefaultStyle select:disabled ~ span {
|
||
cursor: not-allowed;
|
||
}
|
||
|
||
/* Use our own theme for hover and option styles */
|
||
/* stylelint-disable-next-line selector-max-type */
|
||
.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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Styles
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-StatusBar-Widget {
|
||
display: flex;
|
||
align-items: center;
|
||
background: var(--jp-layout-color2);
|
||
min-height: var(--jp-statusbar-height);
|
||
justify-content: space-between;
|
||
padding: 0 10px;
|
||
}
|
||
|
||
.jp-StatusBar-Left {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-direction: row;
|
||
}
|
||
|
||
.jp-StatusBar-Middle {
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
.jp-StatusBar-Right {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-direction: row-reverse;
|
||
}
|
||
|
||
.jp-StatusBar-Item {
|
||
max-height: var(--jp-statusbar-height);
|
||
margin: 0 2px;
|
||
height: var(--jp-statusbar-height);
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
color: var(--jp-ui-font-color1);
|
||
padding: 0 6px;
|
||
}
|
||
|
||
.jp-mod-highlighted:hover {
|
||
background-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-mod-clicked {
|
||
background-color: var(--jp-brand-color1);
|
||
}
|
||
|
||
.jp-mod-clicked:hover {
|
||
background-color: var(--jp-brand-color0);
|
||
}
|
||
|
||
.jp-mod-clicked .jp-StatusBar-TextItem {
|
||
color: var(--jp-ui-inverse-font-color1);
|
||
}
|
||
|
||
.jp-StatusBar-HoverItem {
|
||
box-shadow: '0px 4px 4px rgba(0, 0, 0, 0.25)';
|
||
}
|
||
|
||
.jp-StatusBar-TextItem {
|
||
font-size: var(--jp-ui-font-size1);
|
||
font-family: var(--jp-ui-font-family);
|
||
line-height: 24px;
|
||
color: var(--jp-ui-font-color1);
|
||
}
|
||
|
||
.jp-StatusBar-GroupItem {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-direction: row;
|
||
}
|
||
|
||
.jp-Statusbar-ProgressCircle svg {
|
||
display: block;
|
||
margin: 0 auto;
|
||
width: 16px;
|
||
height: 24px;
|
||
align-self: normal;
|
||
}
|
||
|
||
.jp-Statusbar-ProgressCircle path {
|
||
fill: var(--jp-inverse-layout-color3);
|
||
}
|
||
|
||
.jp-Statusbar-ProgressBar-progress-bar {
|
||
height: 10px;
|
||
width: 100px;
|
||
border: solid 0.25px var(--jp-brand-color2);
|
||
border-radius: 3px;
|
||
overflow: hidden;
|
||
align-self: center;
|
||
}
|
||
|
||
.jp-Statusbar-ProgressBar-progress-bar > div {
|
||
background-color: var(--jp-brand-color2);
|
||
background-image: 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%,
|
||
transparent
|
||
);
|
||
background-size: 40px 40px;
|
||
float: left;
|
||
width: 0%;
|
||
height: 100%;
|
||
font-size: 12px;
|
||
line-height: 14px;
|
||
color: #fff;
|
||
text-align: center;
|
||
animation: jp-Statusbar-ExecutionTime-progress-bar 2s linear infinite;
|
||
}
|
||
|
||
.jp-Statusbar-ProgressBar-progress-bar p {
|
||
color: var(--jp-ui-font-color1);
|
||
font-family: var(--jp-ui-font-family);
|
||
font-size: var(--jp-ui-font-size1);
|
||
line-height: 10px;
|
||
width: 100px;
|
||
}
|
||
|
||
@keyframes jp-Statusbar-ExecutionTime-progress-bar {
|
||
0% {
|
||
background-position: 0 0;
|
||
}
|
||
|
||
100% {
|
||
background-position: 40px 40px;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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: 0;
|
||
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: 0 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);
|
||
}
|
||
|
||
.jp-SearchIconGroup {
|
||
color: white;
|
||
background-color: var(--jp-brand-color1);
|
||
position: absolute;
|
||
top: 4px;
|
||
right: 4px;
|
||
padding: 5px 5px 1px;
|
||
}
|
||
|
||
.jp-SearchIconGroup svg {
|
||
height: 20px;
|
||
width: 20px;
|
||
}
|
||
|
||
.jp-SearchIconGroup .jp-icon3[fill] {
|
||
fill: var(--jp-layout-color0);
|
||
}
|
||
|
||
.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-color2);
|
||
font-size: var(--jp-ui-font-size1);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Results
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-CommandPalette-header:first-child {
|
||
margin-top: 0;
|
||
}
|
||
|
||
.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-color2);
|
||
}
|
||
|
||
.lm-CommandPalette-item.lm-mod-active {
|
||
color: var(--jp-ui-inverse-font-color1);
|
||
background: var(--jp-brand-color1);
|
||
}
|
||
|
||
.lm-CommandPalette-item.lm-mod-active .lm-CommandPalette-itemLabel > mark {
|
||
color: var(--jp-ui-inverse-font-color0);
|
||
}
|
||
|
||
.lm-CommandPalette-item.lm-mod-active .jp-icon-selectable[fill] {
|
||
fill: var(--jp-layout-color0);
|
||
}
|
||
|
||
.lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) {
|
||
color: var(--jp-ui-inverse-font-color1);
|
||
background: var(--jp-brand-color1);
|
||
}
|
||
|
||
.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-color2);
|
||
}
|
||
|
||
.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.6;
|
||
}
|
||
|
||
.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: 0 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: 0;
|
||
left: 0;
|
||
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 24px 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-content.jp-Dialog-content-small {
|
||
max-width: 500px;
|
||
}
|
||
|
||
.jp-Dialog-button {
|
||
overflow: visible;
|
||
}
|
||
|
||
button.jp-Dialog-button:focus {
|
||
outline: 1px solid var(--jp-brand-color1);
|
||
outline-offset: 4px;
|
||
-moz-outline-radius: 0;
|
||
}
|
||
|
||
button.jp-Dialog-button:focus::-moz-focus-inner {
|
||
border: 0;
|
||
}
|
||
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus,
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus,
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
|
||
outline-offset: 4px;
|
||
-moz-outline-radius: 0;
|
||
}
|
||
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus {
|
||
outline: 1px solid var(--jp-accept-color-normal, var(--jp-brand-color1));
|
||
}
|
||
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus {
|
||
outline: 1px solid var(--jp-warn-color-normal, var(--jp-error-color1));
|
||
}
|
||
|
||
button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
|
||
outline: 1px solid var(--jp-reject-color-normal, var(--md-grey-600));
|
||
}
|
||
|
||
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-color1);
|
||
}
|
||
|
||
.jp-Dialog-body {
|
||
display: flex;
|
||
flex-direction: column;
|
||
flex: 1 1 auto;
|
||
font-size: var(--jp-ui-font-size1);
|
||
background: var(--jp-layout-color1);
|
||
color: var(--jp-ui-font-color1);
|
||
overflow: auto;
|
||
}
|
||
|
||
.jp-Dialog-footer {
|
||
display: flex;
|
||
flex-direction: row;
|
||
justify-content: flex-end;
|
||
align-items: center;
|
||
flex: 0 0 auto;
|
||
margin-left: -12px;
|
||
margin-right: -12px;
|
||
padding: 12px;
|
||
}
|
||
|
||
.jp-Dialog-checkbox {
|
||
padding-right: 5px;
|
||
}
|
||
|
||
.jp-Dialog-checkbox > input:focus-visible {
|
||
outline: 1px solid var(--jp-input-active-border-color);
|
||
outline-offset: 1px;
|
||
}
|
||
|
||
.jp-Dialog-spacer {
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
.jp-Dialog-title {
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.jp-Dialog-body > .jp-select-wrapper {
|
||
width: 100%;
|
||
}
|
||
|
||
.jp-Dialog-body > button {
|
||
padding: 0 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) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.jp-Input-Boolean-Dialog {
|
||
flex-direction: row-reverse;
|
||
align-items: end;
|
||
width: 100%;
|
||
}
|
||
|
||
.jp-Input-Boolean-Dialog > label {
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) 2014-2016, Jupyter Development Team.
|
||
|
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-MainAreaWidget > :focus {
|
||
outline: none;
|
||
}
|
||
|
||
.jp-MainAreaWidget .jp-MainAreaWidget-error {
|
||
padding: 6px;
|
||
}
|
||
|
||
.jp-MainAreaWidget .jp-MainAreaWidget-error > pre {
|
||
width: auto;
|
||
padding: 10px;
|
||
background: var(--jp-error-color3);
|
||
border: var(--jp-border-width) solid var(--jp-error-color1);
|
||
border-radius: var(--jp-border-radius);
|
||
color: var(--jp-ui-font-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
white-space: pre-wrap;
|
||
word-wrap: break-word;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/**
|
||
* 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: #a0f;
|
||
--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: #ff0;
|
||
--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: #eee;
|
||
--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) 2014-2017, 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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: 0;
|
||
padding: 0;
|
||
}
|
||
|
||
.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 */
|
||
|
||
/* stylelint-disable selector-max-type, selector-max-compound-selectors */
|
||
|
||
.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: 0;
|
||
}
|
||
|
||
/* stylelint-enable selector-max-type, selector-max-compound-selectors */
|
||
|
||
.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: var(--jp-ui-font-size1);
|
||
table-layout: fixed;
|
||
margin-left: auto;
|
||
margin-bottom: 1em;
|
||
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;
|
||
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 p {
|
||
text-align: left;
|
||
margin: 0;
|
||
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);
|
||
}
|
||
|
||
.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: var(--jp-ui-font-size0);
|
||
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.
|
||
*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.lm-cursor-backdrop {
|
||
position: fixed;
|
||
width: 200px;
|
||
height: 200px;
|
||
margin-top: -100px;
|
||
margin-left: -100px;
|
||
will-change: transform;
|
||
z-index: 100;
|
||
}
|
||
|
||
.lm-mod-drag-image {
|
||
will-change: transform;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.jp-lineFormSearch {
|
||
padding: 4px 12px;
|
||
background-color: var(--jp-layout-color2);
|
||
box-shadow: var(--jp-toolbar-box-shadow);
|
||
z-index: 2;
|
||
font-size: var(--jp-ui-font-size1);
|
||
}
|
||
|
||
.jp-lineFormCaption {
|
||
font-size: var(--jp-ui-font-size0);
|
||
line-height: var(--jp-ui-font-size1);
|
||
margin-top: 4px;
|
||
color: var(--jp-ui-font-color0);
|
||
}
|
||
|
||
.jp-baseLineForm {
|
||
border: none;
|
||
border-radius: 0;
|
||
position: absolute;
|
||
background-size: 16px;
|
||
background-repeat: no-repeat;
|
||
background-position: center;
|
||
outline: none;
|
||
}
|
||
|
||
.jp-lineFormButtonContainer {
|
||
top: 4px;
|
||
right: 8px;
|
||
height: 24px;
|
||
padding: 0 12px;
|
||
width: 12px;
|
||
}
|
||
|
||
.jp-lineFormButtonIcon {
|
||
top: 0;
|
||
right: 0;
|
||
background-color: var(--jp-brand-color1);
|
||
height: 100%;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
padding: 4px 6px;
|
||
}
|
||
|
||
.jp-lineFormButton {
|
||
top: 0;
|
||
right: 0;
|
||
background-color: transparent;
|
||
height: 100%;
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.jp-lineFormWrapper {
|
||
overflow: hidden;
|
||
padding: 0 8px;
|
||
border: 1px solid var(--jp-border-color0);
|
||
background-color: var(--jp-input-active-background);
|
||
height: 22px;
|
||
}
|
||
|
||
.jp-lineFormWrapperFocusWithin {
|
||
border: var(--jp-border-width) solid var(--md-blue-500);
|
||
box-shadow: inset 0 0 4px var(--md-blue-300);
|
||
}
|
||
|
||
.jp-lineFormInput {
|
||
background: transparent;
|
||
width: 200px;
|
||
height: 100%;
|
||
border: none;
|
||
outline: none;
|
||
color: var(--jp-ui-font-color0);
|
||
line-height: 28px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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: 0;
|
||
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);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
.jp-DocumentSearch-input {
|
||
border: none;
|
||
outline: none;
|
||
color: var(--jp-ui-font-color0);
|
||
font-size: var(--jp-ui-font-size1);
|
||
background-color: var(--jp-layout-color0);
|
||
font-family: var(--jp-ui-font-family);
|
||
padding: 2px 1px;
|
||
resize: none;
|
||
}
|
||
|
||
.jp-DocumentSearch-overlay {
|
||
position: absolute;
|
||
background-color: var(--jp-toolbar-background);
|
||
border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
|
||
border-left: var(--jp-border-width) solid var(--jp-toolbar-border-color);
|
||
top: 0;
|
||
right: 0;
|
||
z-index: 7;
|
||
min-width: 405px;
|
||
padding: 2px;
|
||
font-size: var(--jp-ui-font-size1);
|
||
|
||
--jp-private-document-search-button-height: 20px;
|
||
}
|
||
|
||
.jp-DocumentSearch-overlay button {
|
||
background-color: var(--jp-toolbar-background);
|
||
outline: 0;
|
||
}
|
||
|
||
.jp-DocumentSearch-overlay button:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-DocumentSearch-overlay button:active {
|
||
background-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-DocumentSearch-overlay-row {
|
||
display: flex;
|
||
align-items: center;
|
||
margin-bottom: 2px;
|
||
}
|
||
|
||
.jp-DocumentSearch-button-content {
|
||
display: inline-block;
|
||
cursor: pointer;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.jp-DocumentSearch-button-content svg {
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.jp-DocumentSearch-input-wrapper {
|
||
border: var(--jp-border-width) solid var(--jp-border-color0);
|
||
display: flex;
|
||
background-color: var(--jp-layout-color0);
|
||
margin: 2px;
|
||
}
|
||
|
||
.jp-DocumentSearch-input-wrapper:focus-within {
|
||
border-color: var(--jp-cell-editor-active-border-color);
|
||
}
|
||
|
||
.jp-DocumentSearch-toggle-wrapper,
|
||
.jp-DocumentSearch-button-wrapper {
|
||
all: initial;
|
||
overflow: hidden;
|
||
display: inline-block;
|
||
border: none;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.jp-DocumentSearch-toggle-wrapper {
|
||
width: 14px;
|
||
height: 14px;
|
||
}
|
||
|
||
.jp-DocumentSearch-button-wrapper {
|
||
width: var(--jp-private-document-search-button-height);
|
||
height: var(--jp-private-document-search-button-height);
|
||
}
|
||
|
||
.jp-DocumentSearch-toggle-wrapper:focus,
|
||
.jp-DocumentSearch-button-wrapper:focus {
|
||
outline: var(--jp-border-width) solid
|
||
var(--jp-cell-editor-active-border-color);
|
||
outline-offset: -1px;
|
||
}
|
||
|
||
.jp-DocumentSearch-toggle-wrapper,
|
||
.jp-DocumentSearch-button-wrapper,
|
||
.jp-DocumentSearch-button-content:focus {
|
||
outline: none;
|
||
}
|
||
|
||
.jp-DocumentSearch-toggle-placeholder {
|
||
width: 5px;
|
||
}
|
||
|
||
.jp-DocumentSearch-input-button::before {
|
||
display: block;
|
||
padding-top: 100%;
|
||
}
|
||
|
||
.jp-DocumentSearch-input-button-off {
|
||
opacity: var(--jp-search-toggle-off-opacity);
|
||
}
|
||
|
||
.jp-DocumentSearch-input-button-off:hover {
|
||
opacity: var(--jp-search-toggle-hover-opacity);
|
||
}
|
||
|
||
.jp-DocumentSearch-input-button-on {
|
||
opacity: var(--jp-search-toggle-on-opacity);
|
||
}
|
||
|
||
.jp-DocumentSearch-index-counter {
|
||
padding-left: 10px;
|
||
padding-right: 10px;
|
||
user-select: none;
|
||
min-width: 35px;
|
||
display: inline-block;
|
||
}
|
||
|
||
.jp-DocumentSearch-up-down-wrapper {
|
||
display: inline-block;
|
||
padding-right: 2px;
|
||
margin-left: auto;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.jp-DocumentSearch-spacer {
|
||
margin-left: auto;
|
||
}
|
||
|
||
.jp-DocumentSearch-up-down-wrapper button {
|
||
outline: 0;
|
||
border: none;
|
||
width: var(--jp-private-document-search-button-height);
|
||
height: var(--jp-private-document-search-button-height);
|
||
vertical-align: middle;
|
||
margin: 1px 5px 2px;
|
||
}
|
||
|
||
.jp-DocumentSearch-up-down-button:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-DocumentSearch-up-down-button:active {
|
||
background-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-DocumentSearch-filter-button {
|
||
border-radius: var(--jp-border-radius);
|
||
}
|
||
|
||
.jp-DocumentSearch-filter-button:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-DocumentSearch-filter-button-enabled {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-DocumentSearch-filter-button-enabled:hover {
|
||
background-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
.jp-DocumentSearch-search-options {
|
||
padding: 0 8px;
|
||
margin-left: 3px;
|
||
width: 100%;
|
||
display: grid;
|
||
justify-content: start;
|
||
grid-template-columns: 1fr 1fr;
|
||
align-items: center;
|
||
justify-items: stretch;
|
||
}
|
||
|
||
.jp-DocumentSearch-search-filter-disabled {
|
||
color: var(--jp-ui-font-color2);
|
||
}
|
||
|
||
.jp-DocumentSearch-search-filter {
|
||
display: flex;
|
||
align-items: center;
|
||
user-select: none;
|
||
}
|
||
|
||
.jp-DocumentSearch-regex-error {
|
||
color: var(--jp-error-color0);
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-button-wrapper {
|
||
overflow: hidden;
|
||
display: inline-block;
|
||
box-sizing: border-box;
|
||
border: var(--jp-border-width) solid var(--jp-border-color0);
|
||
margin: auto 2px;
|
||
padding: 1px 4px;
|
||
height: calc(var(--jp-private-document-search-button-height) + 2px);
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-button-wrapper:focus {
|
||
border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-button {
|
||
display: inline-block;
|
||
text-align: center;
|
||
cursor: pointer;
|
||
box-sizing: border-box;
|
||
color: var(--jp-ui-font-color1);
|
||
|
||
/* height - 2 * (padding of wrapper) */
|
||
line-height: calc(var(--jp-private-document-search-button-height) - 2px);
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-button:focus {
|
||
outline: none;
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-wrapper-class {
|
||
margin-left: 14px;
|
||
display: flex;
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-toggle {
|
||
border: none;
|
||
background-color: var(--jp-toolbar-background);
|
||
border-radius: var(--jp-border-radius);
|
||
}
|
||
|
||
.jp-DocumentSearch-replace-toggle:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.cm-editor {
|
||
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 */
|
||
}
|
||
|
||
.cm-editor pre {
|
||
padding: 0 var(--jp-code-padding);
|
||
}
|
||
|
||
.jp-CodeMirrorEditor[data-type='inline'] .cm-dialog {
|
||
background-color: var(--jp-layout-color0);
|
||
color: var(--jp-content-font-color1);
|
||
}
|
||
|
||
.jp-CodeMirrorEditor {
|
||
cursor: text;
|
||
}
|
||
|
||
/* 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'] .cm-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'] .cm-cursor {
|
||
border-left: var(--jp-code-cursor-width2) solid
|
||
var(--jp-editor-cursor-color);
|
||
}
|
||
}
|
||
|
||
.cm-editor.jp-mod-readOnly .cm-cursor {
|
||
display: none;
|
||
}
|
||
|
||
.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;
|
||
}
|
||
|
||
.cm-searching,
|
||
.cm-searching span {
|
||
/* `.cm-searching span`: we need to override syntax highlighting */
|
||
background-color: var(--jp-search-unselected-match-background-color);
|
||
color: var(--jp-search-unselected-match-color);
|
||
}
|
||
|
||
.cm-searching::selection,
|
||
.cm-searching span::selection {
|
||
background-color: var(--jp-search-unselected-match-background-color);
|
||
color: var(--jp-search-unselected-match-color);
|
||
}
|
||
|
||
.jp-current-match > .cm-searching,
|
||
.jp-current-match > .cm-searching span,
|
||
.cm-searching > .jp-current-match,
|
||
.cm-searching > .jp-current-match span {
|
||
background-color: var(--jp-search-selected-match-background-color);
|
||
color: var(--jp-search-selected-match-color);
|
||
}
|
||
|
||
.jp-current-match > .cm-searching::selection,
|
||
.cm-searching > .jp-current-match::selection,
|
||
.jp-current-match > .cm-searching span::selection {
|
||
background-color: var(--jp-search-selected-match-background-color);
|
||
color: var(--jp-search-selected-match-color);
|
||
}
|
||
|
||
.cm-trailingspace {
|
||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAsElEQVQIHQGlAFr/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7+r3zKmT0/+pk9P/7+r3zAAAAAAAAAAABAAAAAAAAAAA6OPzM+/q9wAAAAAA6OPzMwAAAAAAAAAAAgAAAAAAAAAAGR8NiRQaCgAZIA0AGR8NiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQyoYJ/SY80UAAAAASUVORK5CYII=);
|
||
background-position: center left;
|
||
background-repeat: repeat-x;
|
||
}
|
||
|
||
.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);
|
||
}
|
||
|
||
/* Styles for shared cursors (remote cursor locations and selected ranges) */
|
||
.jp-CodeMirrorEditor .cm-ySelectionCaret {
|
||
position: relative;
|
||
border-left: 1px solid black;
|
||
margin-left: -1px;
|
||
margin-right: -1px;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.jp-CodeMirrorEditor .cm-ySelectionCaret > .cm-ySelectionInfo {
|
||
white-space: nowrap;
|
||
position: absolute;
|
||
top: -1.15em;
|
||
padding-bottom: 0.05em;
|
||
left: -1px;
|
||
font-size: 0.95em;
|
||
font-family: var(--jp-ui-font-family);
|
||
font-weight: bold;
|
||
line-height: normal;
|
||
user-select: none;
|
||
color: white;
|
||
padding-left: 2px;
|
||
padding-right: 2px;
|
||
z-index: 101;
|
||
transition: opacity 0.3s ease-in-out;
|
||
}
|
||
|
||
.jp-CodeMirrorEditor .cm-ySelectionInfo {
|
||
transition-delay: 0.7s;
|
||
opacity: 0;
|
||
}
|
||
|
||
.jp-CodeMirrorEditor .cm-ySelectionCaret:hover > .cm-ySelectionInfo {
|
||
opacity: 1;
|
||
transition-delay: 0s;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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 .jp-SidePanel-content {
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
|
||
.jp-FileBrowser-toolbar.jp-Toolbar {
|
||
flex-wrap: wrap;
|
||
row-gap: 12px;
|
||
border-bottom: none;
|
||
height: auto;
|
||
margin: 8px 12px 0;
|
||
box-shadow: none;
|
||
padding: 0;
|
||
justify-content: flex-start;
|
||
}
|
||
|
||
.jp-FileBrowser-Panel {
|
||
flex: 1 1 auto;
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
|
||
.jp-BreadCrumbs {
|
||
flex: 0 0 auto;
|
||
margin: 8px 12px;
|
||
}
|
||
|
||
.jp-BreadCrumbs-item {
|
||
margin: 0 2px;
|
||
padding: 0 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: 0;
|
||
}
|
||
|
||
.jp-BreadCrumbs-item.jp-mod-dropTarget {
|
||
background-color: var(--jp-brand-color2);
|
||
opacity: 0.7;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Buttons
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-FileBrowser-toolbar > .jp-Toolbar-item {
|
||
flex: 0 0 auto;
|
||
padding-left: 0;
|
||
padding-right: 2px;
|
||
align-items: center;
|
||
height: unset;
|
||
}
|
||
|
||
.jp-FileBrowser-toolbar > .jp-Toolbar-item .jp-ToolbarButtonComponent {
|
||
width: 40px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Other styles
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-FileDialog.jp-mod-conflict input {
|
||
color: var(--jp-error-color1);
|
||
}
|
||
|
||
.jp-FileDialog .jp-new-name-title {
|
||
margin-top: 12px;
|
||
}
|
||
|
||
.jp-LastModified-hidden {
|
||
display: none;
|
||
}
|
||
|
||
.jp-FileSize-hidden {
|
||
display: none;
|
||
}
|
||
|
||
.jp-FileBrowser .lm-AccordionPanel > h3:first-child {
|
||
display: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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;
|
||
align-items: center;
|
||
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;
|
||
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-DirListing-headerItem.jp-id-filesize {
|
||
flex: 0 0 75px;
|
||
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;
|
||
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;
|
||
}
|
||
|
||
.jp-DirListing-content .jp-DirListing-item.jp-mod-selected mark {
|
||
color: var(--jp-ui-inverse-font-color0);
|
||
}
|
||
|
||
/* 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;
|
||
align-items: center;
|
||
padding: 4px 12px;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.jp-DirListing-checkboxWrapper {
|
||
/* Increases hit area of checkbox. */
|
||
padding: 4px;
|
||
}
|
||
|
||
.jp-DirListing-header
|
||
.jp-DirListing-checkboxWrapper
|
||
+ .jp-DirListing-headerItem {
|
||
padding-left: 4px;
|
||
}
|
||
|
||
.jp-DirListing-content .jp-DirListing-checkboxWrapper {
|
||
position: relative;
|
||
left: -4px;
|
||
margin: -4px 0 -4px -8px;
|
||
}
|
||
|
||
.jp-DirListing-checkboxWrapper.jp-mod-visible {
|
||
visibility: visible;
|
||
}
|
||
|
||
/* For devices that support hovering, hide checkboxes until hovered, selected...
|
||
*/
|
||
@media (hover: hover) {
|
||
.jp-DirListing-checkboxWrapper {
|
||
visibility: hidden;
|
||
}
|
||
|
||
.jp-DirListing-item:hover .jp-DirListing-checkboxWrapper,
|
||
.jp-DirListing-item.jp-mod-selected .jp-DirListing-checkboxWrapper {
|
||
visibility: visible;
|
||
}
|
||
}
|
||
|
||
.jp-DirListing-item[data-is-dot] {
|
||
opacity: 75%;
|
||
}
|
||
|
||
.jp-DirListing-item.jp-mod-selected {
|
||
color: var(--jp-ui-inverse-font-color1);
|
||
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-itemText:focus {
|
||
outline-width: 2px;
|
||
outline-color: var(--jp-inverse-layout-color1);
|
||
outline-style: solid;
|
||
outline-offset: 1px;
|
||
}
|
||
|
||
.jp-DirListing-item.jp-mod-selected .jp-DirListing-itemText:focus {
|
||
outline-color: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-DirListing-itemModified {
|
||
flex: 0 0 125px;
|
||
text-align: right;
|
||
}
|
||
|
||
.jp-DirListing-itemFileSize {
|
||
flex: 0 0 90px;
|
||
text-align: right;
|
||
}
|
||
|
||
.jp-DirListing-editor {
|
||
flex: 1 0 64px;
|
||
outline: none;
|
||
border: none;
|
||
color: var(--jp-ui-font-color1);
|
||
background-color: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon::before {
|
||
color: var(--jp-success-color1);
|
||
content: '\25CF';
|
||
font-size: 8px;
|
||
position: absolute;
|
||
left: -8px;
|
||
}
|
||
|
||
.jp-DirListing-item.jp-mod-running.jp-mod-selected
|
||
.jp-DirListing-itemIcon::before {
|
||
color: var(--jp-ui-inverse-font-color1);
|
||
}
|
||
|
||
.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: 0;
|
||
color: var(--jp-ui-font-color1);
|
||
transform: translateX(-40%) translateY(-58%);
|
||
}
|
||
|
||
.jp-Document {
|
||
min-width: 120px;
|
||
min-height: 120px;
|
||
outline: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Main OutputArea
|
||
| OutputArea has a list of Outputs
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-OutputArea {
|
||
overflow-y: auto;
|
||
}
|
||
|
||
.jp-OutputArea-child {
|
||
display: table;
|
||
table-layout: fixed;
|
||
width: 100%;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.jp-OutputPrompt {
|
||
width: 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-prompt {
|
||
display: table-cell;
|
||
vertical-align: top;
|
||
}
|
||
|
||
.jp-OutputArea-output {
|
||
display: table-cell;
|
||
width: 100%;
|
||
height: auto;
|
||
overflow: auto;
|
||
user-select: text;
|
||
-moz-user-select: text;
|
||
-webkit-user-select: text;
|
||
-ms-user-select: text;
|
||
}
|
||
|
||
.jp-OutputArea .jp-RenderedText {
|
||
padding-left: 1ch;
|
||
}
|
||
|
||
/**
|
||
* Prompt overlay.
|
||
*/
|
||
|
||
.jp-OutputArea-promptOverlay {
|
||
position: absolute;
|
||
top: 0;
|
||
width: var(--jp-cell-prompt-width);
|
||
height: 100%;
|
||
opacity: 0.5;
|
||
}
|
||
|
||
.jp-OutputArea-promptOverlay:hover {
|
||
background: var(--jp-layout-color2);
|
||
box-shadow: inset 0 0 1px var(--jp-inverse-layout-color0);
|
||
cursor: zoom-out;
|
||
}
|
||
|
||
.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay:hover {
|
||
cursor: zoom-in;
|
||
}
|
||
|
||
/**
|
||
* Isolated output.
|
||
*/
|
||
.jp-OutputArea-output.jp-mod-isolated {
|
||
width: 100%;
|
||
display: block;
|
||
}
|
||
|
||
/*
|
||
When drag events occur, `lm-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: 0;
|
||
padding: 0;
|
||
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;
|
||
}
|
||
|
||
.jp-TrimmedOutputs pre {
|
||
background: var(--jp-layout-color3);
|
||
font-size: calc(var(--jp-code-font-size) * 1.4);
|
||
text-align: center;
|
||
text-transform: uppercase;
|
||
}
|
||
|
||
/* 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;
|
||
}
|
||
|
||
/* Hide empty lines in the output area, for instance due to cleared widgets */
|
||
.jp-OutputArea-prompt:empty {
|
||
padding: 0;
|
||
border: 0;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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: 0;
|
||
width: 100%;
|
||
}
|
||
|
||
/* 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-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: 0 0.25em;
|
||
margin: 0 0.25em;
|
||
flex: 0 0 70%;
|
||
}
|
||
|
||
.jp-Stdin-input::placeholder {
|
||
opacity: 0;
|
||
}
|
||
|
||
.jp-Stdin-input:focus {
|
||
box-shadow: none;
|
||
}
|
||
|
||
.jp-Stdin-input:focus::placeholder {
|
||
opacity: 1;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Output Area View
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-LinkedOutputView .jp-OutputArea {
|
||
height: 100%;
|
||
display: block;
|
||
}
|
||
|
||
.jp-LinkedOutputView .jp-OutputArea-output:only-child {
|
||
height: 100%;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Printing
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
@media print {
|
||
.jp-OutputArea-child {
|
||
break-inside: avoid-page;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Mobile
|
||
|----------------------------------------------------------------------------*/
|
||
@media only screen and (max-width: 760px) {
|
||
.jp-OutputPrompt {
|
||
display: table-row;
|
||
text-align: left;
|
||
}
|
||
|
||
.jp-OutputArea-child .jp-OutputArea-output {
|
||
display: table-row;
|
||
margin-left: var(--jp-notebook-padding);
|
||
}
|
||
}
|
||
|
||
/* Trimmed outputs warning */
|
||
.jp-TrimmedOutputs > a {
|
||
margin: 10px;
|
||
text-decoration: none;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-TrimmedOutputs > a:hover {
|
||
text-decoration: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Table of Contents
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
:root {
|
||
--jp-private-toc-active-width: 4px;
|
||
}
|
||
|
||
.jp-TableOfContents {
|
||
display: flex;
|
||
flex-direction: column;
|
||
background: var(--jp-layout-color1);
|
||
color: var(--jp-ui-font-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
height: 100%;
|
||
}
|
||
|
||
.jp-TableOfContents-placeholder {
|
||
text-align: center;
|
||
}
|
||
|
||
.jp-TableOfContents-placeholderContent {
|
||
color: var(--jp-content-font-color2);
|
||
padding: 8px;
|
||
}
|
||
|
||
.jp-TableOfContents-placeholderContent > h3 {
|
||
margin-bottom: var(--jp-content-heading-margin-bottom);
|
||
}
|
||
|
||
.jp-TableOfContents .jp-SidePanel-content {
|
||
overflow-y: auto;
|
||
}
|
||
|
||
.jp-TableOfContents-tree {
|
||
margin: 4px;
|
||
}
|
||
|
||
.jp-TableOfContents ol {
|
||
list-style-type: none;
|
||
}
|
||
|
||
/* stylelint-disable-next-line selector-max-type */
|
||
.jp-TableOfContents li > ol {
|
||
/* Align left border with triangle icon center */
|
||
padding-left: 11px;
|
||
}
|
||
|
||
.jp-TableOfContents-content {
|
||
/* left margin for the active heading indicator */
|
||
margin: 0 0 0 var(--jp-private-toc-active-width);
|
||
padding: 0;
|
||
background-color: var(--jp-layout-color1);
|
||
}
|
||
|
||
.jp-tocItem {
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.jp-tocItem-heading {
|
||
display: flex;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-tocItem-heading:hover {
|
||
background-color: var(--jp-layout-color2);
|
||
}
|
||
|
||
.jp-tocItem-content {
|
||
display: block;
|
||
padding: 4px 0;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
overflow-x: hidden;
|
||
}
|
||
|
||
.jp-tocItem-collapser {
|
||
height: 20px;
|
||
margin: 2px 2px 0;
|
||
padding: 0;
|
||
background: none;
|
||
border: none;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-tocItem-collapser:hover {
|
||
background-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
/* Active heading indicator */
|
||
|
||
.jp-tocItem-heading::before {
|
||
content: ' ';
|
||
background: transparent;
|
||
width: var(--jp-private-toc-active-width);
|
||
height: 24px;
|
||
position: absolute;
|
||
left: 0;
|
||
border-radius: var(--jp-border-radius);
|
||
}
|
||
|
||
.jp-tocItem-heading.jp-tocItem-active::before {
|
||
background-color: var(--jp-brand-color1);
|
||
}
|
||
|
||
.jp-tocItem-heading:hover.jp-tocItem-active::before {
|
||
background: var(--jp-brand-color0);
|
||
opacity: 1;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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: 0;
|
||
margin: 0;
|
||
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: 0;
|
||
bottom: 0;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Printing
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*
|
||
Hiding collapsers in print mode.
|
||
|
||
Note: input and output wrappers have "display: block" propery in print mode.
|
||
*/
|
||
|
||
@media print {
|
||
.jp-Collapser {
|
||
display: none;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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: 0;
|
||
width: 100%;
|
||
padding: 0;
|
||
margin: 0;
|
||
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: table;
|
||
table-layout: fixed;
|
||
width: 100%;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.jp-InputArea-editor {
|
||
display: table-cell;
|
||
overflow: hidden;
|
||
vertical-align: top;
|
||
|
||
/* This is the non-active, default styling */
|
||
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
|
||
border-radius: 0;
|
||
background: var(--jp-cell-editor-background);
|
||
}
|
||
|
||
.jp-InputPrompt {
|
||
display: table-cell;
|
||
vertical-align: top;
|
||
width: 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;
|
||
|
||
/* 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;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Mobile
|
||
|----------------------------------------------------------------------------*/
|
||
@media only screen and (max-width: 760px) {
|
||
.jp-InputArea-editor {
|
||
display: table-row;
|
||
margin-left: var(--jp-notebook-padding);
|
||
}
|
||
|
||
.jp-InputPrompt {
|
||
display: table-row;
|
||
text-align: left;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Placeholder
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Placeholder {
|
||
display: table;
|
||
table-layout: fixed;
|
||
width: 100%;
|
||
}
|
||
|
||
.jp-Placeholder-prompt {
|
||
display: table-cell;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.jp-Placeholder-content {
|
||
display: table-cell;
|
||
padding: 4px 6px;
|
||
border: 1px solid transparent;
|
||
border-radius: 0;
|
||
background: none;
|
||
box-sizing: border-box;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-Placeholder-contentContainer {
|
||
display: flex;
|
||
}
|
||
|
||
.jp-Placeholder-content:hover,
|
||
.jp-InputPlaceholder > .jp-Placeholder-content:hover {
|
||
border-color: var(--jp-layout-color3);
|
||
}
|
||
|
||
.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: 0 0 2px 0 rgba(0, 0, 0, 0.25);
|
||
background-color: var(--jp-layout-color0);
|
||
}
|
||
|
||
.jp-PlaceholderText {
|
||
white-space: nowrap;
|
||
overflow-x: hidden;
|
||
color: var(--jp-inverse-layout-color3);
|
||
font-family: var(--jp-code-font-family);
|
||
}
|
||
|
||
.jp-InputPlaceholder > .jp-Placeholder-content {
|
||
border-color: var(--jp-cell-editor-border-color);
|
||
background: var(--jp-cell-editor-background);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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: 0;
|
||
border: none;
|
||
outline: none;
|
||
background: transparent;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Common input/output
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Cell-inputWrapper,
|
||
.jp-Cell-outputWrapper {
|
||
display: flex;
|
||
flex-direction: row;
|
||
padding: 0;
|
||
margin: 0;
|
||
|
||
/* 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: 24em;
|
||
margin-left: var(--jp-private-cell-scrolling-output-offset);
|
||
resize: vertical;
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea[style*='height'] {
|
||
max-height: unset;
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea::after {
|
||
content: ' ';
|
||
box-shadow: inset 0 0 6px 2px rgb(0 0 0 / 30%);
|
||
width: 100%;
|
||
height: 100%;
|
||
position: sticky;
|
||
bottom: 0;
|
||
top: 0;
|
||
margin-top: -50%;
|
||
float: left;
|
||
display: block;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-child {
|
||
padding-top: 6px;
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt {
|
||
width: calc(
|
||
var(--jp-cell-prompt-width) - var(--jp-private-cell-scrolling-output-offset)
|
||
);
|
||
}
|
||
|
||
.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay {
|
||
left: calc(-1 * var(--jp-private-cell-scrolling-output-offset));
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| CodeCell
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| MarkdownCell
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-MarkdownOutput {
|
||
display: table-cell;
|
||
width: 100%;
|
||
margin-top: 0;
|
||
margin-bottom: 0;
|
||
padding-left: var(--jp-code-padding);
|
||
}
|
||
|
||
.jp-MarkdownOutput.jp-RenderedHTMLCommon {
|
||
overflow: auto;
|
||
}
|
||
|
||
/* collapseHeadingButton (show always if hiddenCellsButton is _not_ shown) */
|
||
.jp-collapseHeadingButton {
|
||
display: flex;
|
||
min-height: var(--jp-cell-collapser-min-height);
|
||
font-size: var(--jp-code-font-size);
|
||
position: absolute;
|
||
background-color: transparent;
|
||
background-size: 25px;
|
||
background-repeat: no-repeat;
|
||
background-position-x: center;
|
||
background-position-y: top;
|
||
background-image: var(--jp-icon-caret-down);
|
||
right: 0;
|
||
top: 0;
|
||
bottom: 0;
|
||
}
|
||
|
||
.jp-collapseHeadingButton.jp-mod-collapsed {
|
||
background-image: var(--jp-icon-caret-right);
|
||
}
|
||
|
||
/*
|
||
set the container font size to match that of content
|
||
so that the nested collapse buttons have the right size
|
||
*/
|
||
.jp-MarkdownCell .jp-InputPrompt {
|
||
font-size: var(--jp-content-font-size1);
|
||
}
|
||
|
||
/*
|
||
Align collapseHeadingButton with cell top header
|
||
The font sizes are identical to the ones in packages/rendermime/style/base.css
|
||
*/
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='1'] {
|
||
font-size: var(--jp-content-font-size5);
|
||
background-position-y: calc(0.3 * var(--jp-content-font-size5));
|
||
}
|
||
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='2'] {
|
||
font-size: var(--jp-content-font-size4);
|
||
background-position-y: calc(0.3 * var(--jp-content-font-size4));
|
||
}
|
||
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='3'] {
|
||
font-size: var(--jp-content-font-size3);
|
||
background-position-y: calc(0.3 * var(--jp-content-font-size3));
|
||
}
|
||
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='4'] {
|
||
font-size: var(--jp-content-font-size2);
|
||
background-position-y: calc(0.3 * var(--jp-content-font-size2));
|
||
}
|
||
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='5'] {
|
||
font-size: var(--jp-content-font-size1);
|
||
background-position-y: top;
|
||
}
|
||
|
||
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='6'] {
|
||
font-size: var(--jp-content-font-size0);
|
||
background-position-y: top;
|
||
}
|
||
|
||
/* collapseHeadingButton (show only on (hover,active) if hiddenCellsButton is shown) */
|
||
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-collapseHeadingButton {
|
||
display: none;
|
||
}
|
||
|
||
.jp-Notebook.jp-mod-showHiddenCellsButton
|
||
:is(.jp-MarkdownCell:hover, .jp-mod-active)
|
||
.jp-collapseHeadingButton {
|
||
display: flex;
|
||
}
|
||
|
||
/* showHiddenCellsButton (only show if jp-mod-showHiddenCellsButton is set, which
|
||
is a consequence of the showHiddenCellsButton option in Notebook Settings)*/
|
||
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton {
|
||
margin-left: calc(var(--jp-cell-prompt-width) + 2 * var(--jp-code-padding));
|
||
margin-top: var(--jp-code-padding);
|
||
border: 1px solid var(--jp-border-color2);
|
||
background-color: var(--jp-border-color3) !important;
|
||
color: var(--jp-content-font-color0) !important;
|
||
display: flex;
|
||
}
|
||
|
||
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton:hover {
|
||
background-color: var(--jp-border-color2) !important;
|
||
}
|
||
|
||
.jp-showHiddenCellsButton {
|
||
display: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Printing
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*
|
||
Using block instead of flex to allow the use of the break-inside CSS property for
|
||
cell outputs.
|
||
*/
|
||
|
||
@media print {
|
||
.jp-Cell-inputWrapper,
|
||
.jp-Cell-outputWrapper {
|
||
display: block;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| 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
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
:root {
|
||
--jp-notebook-toolbar-padding: 2px 5px 2px 2px;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Styles
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-NotebookPanel-toolbar {
|
||
padding: var(--jp-notebook-toolbar-padding);
|
||
|
||
/* disable paint containment from lumino 2.0 default strict CSS containment */
|
||
contain: style size !important;
|
||
}
|
||
|
||
.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;
|
||
}
|
||
|
||
.jp-Toolbar-responsive-popup {
|
||
position: absolute;
|
||
height: fit-content;
|
||
display: flex;
|
||
flex-direction: row;
|
||
flex-wrap: wrap;
|
||
justify-content: flex-end;
|
||
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: var(--jp-notebook-toolbar-padding);
|
||
z-index: 1;
|
||
right: 0;
|
||
top: 0;
|
||
}
|
||
|
||
.jp-Toolbar > .jp-Toolbar-responsive-opener {
|
||
margin-left: auto;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Variables
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Styles
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Notebook-ExecutionIndicator {
|
||
position: relative;
|
||
display: inline-block;
|
||
height: 100%;
|
||
z-index: 9997;
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator-tooltip {
|
||
visibility: hidden;
|
||
height: auto;
|
||
width: max-content;
|
||
width: -moz-max-content;
|
||
background-color: var(--jp-layout-color2);
|
||
color: var(--jp-ui-font-color1);
|
||
text-align: justify;
|
||
border-radius: 6px;
|
||
padding: 0 5px;
|
||
position: fixed;
|
||
display: table;
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator-tooltip.up {
|
||
transform: translateX(-50%) translateY(-100%) translateY(-32px);
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator-tooltip.down {
|
||
transform: translateX(calc(-100% + 16px)) translateY(5px);
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator-tooltip.hidden {
|
||
display: none;
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator:hover .jp-Notebook-ExecutionIndicator-tooltip {
|
||
visibility: visible;
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator span {
|
||
font-size: var(--jp-ui-font-size1);
|
||
font-family: var(--jp-ui-font-family);
|
||
color: var(--jp-ui-font-color1);
|
||
line-height: 24px;
|
||
display: block;
|
||
}
|
||
|
||
.jp-Notebook-ExecutionIndicator-progress-bar {
|
||
display: flex;
|
||
justify-content: center;
|
||
height: 100%;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
/*
|
||
* Execution indicator
|
||
*/
|
||
.jp-tocItem-content::after {
|
||
content: '';
|
||
|
||
/* Must be identical to form a circle */
|
||
width: 12px;
|
||
height: 12px;
|
||
background: none;
|
||
border: none;
|
||
position: absolute;
|
||
right: 0;
|
||
}
|
||
|
||
.jp-tocItem-content[data-running='0']::after {
|
||
border-radius: 50%;
|
||
border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
|
||
background: none;
|
||
}
|
||
|
||
.jp-tocItem-content[data-running='1']::after {
|
||
border-radius: 50%;
|
||
border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
|
||
background-color: var(--jp-inverse-layout-color3);
|
||
}
|
||
|
||
.jp-tocItem-content[data-running='0'],
|
||
.jp-tocItem-content[data-running='1'] {
|
||
margin-right: 12px;
|
||
}
|
||
|
||
/*
|
||
* Copyright (c) Jupyter Development Team.
|
||
* Distributed under the terms of the Modified BSD License.
|
||
*/
|
||
|
||
.jp-Notebook-footer {
|
||
height: 27px;
|
||
margin-left: calc(
|
||
var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
|
||
var(--jp-cell-padding)
|
||
);
|
||
width: calc(
|
||
100% -
|
||
(
|
||
var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
|
||
var(--jp-cell-padding) + var(--jp-cell-padding)
|
||
)
|
||
);
|
||
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
|
||
color: var(--jp-ui-font-color3);
|
||
margin-top: 6px;
|
||
background: none;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.jp-Notebook-footer:focus {
|
||
border-color: var(--jp-cell-editor-active-border-color);
|
||
}
|
||
|
||
/* For devices that support hovering, hide footer until hover */
|
||
@media (hover: hover) {
|
||
.jp-Notebook-footer {
|
||
opacity: 0;
|
||
}
|
||
|
||
.jp-Notebook-footer:focus,
|
||
.jp-Notebook-footer:hover {
|
||
opacity: 1;
|
||
}
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Copyright (c) Jupyter Development Team.
|
||
| Distributed under the terms of the Modified BSD License.
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Imports
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| CSS variables
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
:root {
|
||
--jp-side-by-side-output-size: 1fr;
|
||
--jp-side-by-side-resized-cell: var(--jp-side-by-side-output-size);
|
||
--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);
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Notebook
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
/* stylelint-disable selector-max-class */
|
||
|
||
.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-MainAreaWidget-ContainStrict .jp-Notebook * {
|
||
contain: strict;
|
||
}
|
||
|
||
.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);
|
||
}
|
||
|
||
/* cell is dirty */
|
||
.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt {
|
||
color: var(--jp-warn-color1);
|
||
}
|
||
|
||
.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt::before {
|
||
color: var(--jp-warn-color1);
|
||
content: '•';
|
||
}
|
||
|
||
.jp-Notebook .jp-Cell.jp-mod-active.jp-mod-dirty .jp-Collapser {
|
||
background: var(--jp-warn-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: block;
|
||
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 0 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 0;
|
||
}
|
||
|
||
.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 0 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-ActiveCellTool {
|
||
padding: 12px 0;
|
||
display: flex;
|
||
}
|
||
|
||
.jp-ActiveCellTool-Content {
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
.jp-ActiveCellTool .jp-ActiveCellTool-CellContent {
|
||
background: var(--jp-cell-editor-background);
|
||
border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
|
||
border-radius: 0;
|
||
min-height: 29px;
|
||
}
|
||
|
||
.jp-ActiveCellTool .jp-InputPrompt {
|
||
min-width: calc(var(--jp-cell-prompt-width) * 0.75);
|
||
}
|
||
|
||
.jp-ActiveCellTool-CellContent > pre {
|
||
padding: 5px 4px;
|
||
margin: 0;
|
||
white-space: normal;
|
||
}
|
||
|
||
.jp-MetadataEditorTool {
|
||
flex-direction: column;
|
||
padding: 12px 0;
|
||
}
|
||
|
||
.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,
|
||
.jp-NumberSetter label {
|
||
line-height: 1.4;
|
||
}
|
||
|
||
.jp-NotebookTools .jp-select-wrapper {
|
||
margin-top: 4px;
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.jp-NumberSetter input {
|
||
width: 100%;
|
||
margin-top: 4px;
|
||
}
|
||
|
||
.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;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Side-by-side Mode (.jp-mod-sideBySide)
|
||
|----------------------------------------------------------------------------*/
|
||
.jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell {
|
||
margin-top: 3em;
|
||
margin-bottom: 3em;
|
||
margin-left: 5%;
|
||
margin-right: 5%;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell {
|
||
display: grid;
|
||
grid-template-columns: minmax(0, 1fr) min-content minmax(
|
||
0,
|
||
var(--jp-side-by-side-output-size)
|
||
);
|
||
grid-template-rows: auto minmax(0, 1fr) auto;
|
||
grid-template-areas:
|
||
'header header header'
|
||
'input handle output'
|
||
'footer footer footer';
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell.jp-mod-resizedCell {
|
||
grid-template-columns: minmax(0, 1fr) min-content minmax(
|
||
0,
|
||
var(--jp-side-by-side-resized-cell)
|
||
);
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellHeader {
|
||
grid-area: header;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-inputWrapper {
|
||
grid-area: input;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-outputWrapper {
|
||
/* overwrite the default margin (no vertical separation needed in side by side move */
|
||
margin-top: 0;
|
||
grid-area: output;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellFooter {
|
||
grid-area: footer;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle {
|
||
grid-area: handle;
|
||
user-select: none;
|
||
display: block;
|
||
height: 100%;
|
||
cursor: ew-resize;
|
||
padding: 0 var(--jp-cell-padding);
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle::after {
|
||
content: '';
|
||
display: block;
|
||
background: var(--jp-border-color2);
|
||
height: 100%;
|
||
width: 5px;
|
||
}
|
||
|
||
.jp-mod-sideBySide.jp-Notebook
|
||
.jp-CodeCell.jp-mod-resizedCell
|
||
.jp-CellResizeHandle::after {
|
||
background: var(--jp-border-color0);
|
||
}
|
||
|
||
.jp-CellResizeHandle {
|
||
display: none;
|
||
}
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
| Placeholder
|
||
|----------------------------------------------------------------------------*/
|
||
|
||
.jp-Cell-Placeholder {
|
||
padding-left: 55px;
|
||
}
|
||
|
||
.jp-Cell-Placeholder-wrapper {
|
||
background: #fff;
|
||
border: 1px solid;
|
||
border-color: #e5e6e9 #dfe0e4 #d0d1d5;
|
||
border-radius: 4px;
|
||
-webkit-border-radius: 4px;
|
||
margin: 10px 15px;
|
||
}
|
||
|
||
.jp-Cell-Placeholder-wrapper-inner {
|
||
padding: 15px;
|
||
position: relative;
|
||
}
|
||
|
||
.jp-Cell-Placeholder-wrapper-body {
|
||
background-repeat: repeat;
|
||
background-size: 50% auto;
|
||
}
|
||
|
||
.jp-Cell-Placeholder-wrapper-body div {
|
||
background: #f6f7f8;
|
||
background-image: -webkit-linear-gradient(
|
||
left,
|
||
#f6f7f8 0%,
|
||
#edeef1 20%,
|
||
#f6f7f8 40%,
|
||
#f6f7f8 100%
|
||
);
|
||
background-repeat: no-repeat;
|
||
background-size: 800px 104px;
|
||
height: 104px;
|
||
position: absolute;
|
||
right: 15px;
|
||
left: 15px;
|
||
top: 15px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-h1 {
|
||
top: 20px;
|
||
height: 20px;
|
||
left: 15px;
|
||
width: 150px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-h2 {
|
||
left: 15px;
|
||
top: 50px;
|
||
height: 10px;
|
||
width: 100px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-content-1,
|
||
div.jp-Cell-Placeholder-content-2,
|
||
div.jp-Cell-Placeholder-content-3 {
|
||
left: 15px;
|
||
right: 15px;
|
||
height: 10px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-content-1 {
|
||
top: 100px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-content-2 {
|
||
top: 120px;
|
||
}
|
||
|
||
div.jp-Cell-Placeholder-content-3 {
|
||
top: 140px;
|
||
}
|
||
|
||
</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: 0 2px 1px -1px var(--jp-shadow-umbra-color),
|
||
0 1px 1px 0 var(--jp-shadow-penumbra-color),
|
||
0 1px 3px 0 var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z2: 0 3px 1px -2px var(--jp-shadow-umbra-color),
|
||
0 2px 2px 0 var(--jp-shadow-penumbra-color),
|
||
0 1px 5px 0 var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z4: 0 2px 4px -1px var(--jp-shadow-umbra-color),
|
||
0 4px 5px 0 var(--jp-shadow-penumbra-color),
|
||
0 1px 10px 0 var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z6: 0 3px 5px -1px var(--jp-shadow-umbra-color),
|
||
0 6px 10px 0 var(--jp-shadow-penumbra-color),
|
||
0 1px 18px 0 var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z8: 0 5px 5px -3px var(--jp-shadow-umbra-color),
|
||
0 8px 10px 1px var(--jp-shadow-penumbra-color),
|
||
0 3px 14px 2px var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z12: 0 7px 8px -4px var(--jp-shadow-umbra-color),
|
||
0 12px 17px 2px var(--jp-shadow-penumbra-color),
|
||
0 5px 22px 4px var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z16: 0 8px 10px -5px var(--jp-shadow-umbra-color),
|
||
0 16px 24px 2px var(--jp-shadow-penumbra-color),
|
||
0 6px 30px 5px var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z20: 0 10px 13px -6px var(--jp-shadow-umbra-color),
|
||
0 20px 31px 3px var(--jp-shadow-penumbra-color),
|
||
0 8px 38px 7px var(--jp-shadow-ambient-color);
|
||
--jp-elevation-z24: 0 11px 15px -7px var(--jp-shadow-umbra-color),
|
||
0 24px 38px 3px var(--jp-shadow-penumbra-color),
|
||
0 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-inverse-border-color: var(--md-grey-600);
|
||
--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: system-ui, -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-900);
|
||
--jp-content-font-family: system-ui, -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: #111;
|
||
--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-900);
|
||
--jp-brand-color1: var(--md-blue-700);
|
||
--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-900);
|
||
--jp-accent-color1: var(--md-green-700);
|
||
--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-900);
|
||
--jp-warn-color1: var(--md-orange-700);
|
||
--jp-warn-color2: var(--md-orange-300);
|
||
--jp-warn-color3: var(--md-orange-100);
|
||
--jp-error-color0: var(--md-red-900);
|
||
--jp-error-color1: var(--md-red-700);
|
||
--jp-error-color2: var(--md-red-300);
|
||
--jp-error-color3: var(--md-red-100);
|
||
--jp-success-color0: var(--md-green-900);
|
||
--jp-success-color1: var(--md-green-700);
|
||
--jp-success-color2: var(--md-green-300);
|
||
--jp-success-color3: var(--md-green-100);
|
||
--jp-info-color0: var(--md-cyan-900);
|
||
--jp-info-color1: var(--md-cyan-700);
|
||
--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: 0;
|
||
--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: 0 0 2px 0 rgba(0, 0, 0, 0.24);
|
||
--jp-toolbar-header-margin: 4px 4px 0 4px;
|
||
--jp-toolbar-active-background: var(--md-grey-300);
|
||
|
||
/* Statusbar specific styles */
|
||
|
||
--jp-statusbar-height: 24px;
|
||
|
||
/* 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-inverse-border-color);
|
||
--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: rgb(0, 54, 109);
|
||
--jp-mirror-editor-variable-3-color: #085;
|
||
--jp-mirror-editor-punctuation-color: #05a;
|
||
--jp-mirror-editor-property-color: #05a;
|
||
--jp-mirror-editor-operator-color: #a2f;
|
||
--jp-mirror-editor-comment-color: #408080;
|
||
--jp-mirror-editor-string-color: #ba2121;
|
||
--jp-mirror-editor-string-2-color: #708;
|
||
--jp-mirror-editor-meta-color: #a2f;
|
||
--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;
|
||
|
||
/*
|
||
RTC user specific colors.
|
||
These colors are used for the cursor, username in the editor,
|
||
and the icon of the user.
|
||
*/
|
||
|
||
--jp-collaborator-color1: #ffad8e;
|
||
--jp-collaborator-color2: #dac83d;
|
||
--jp-collaborator-color3: #72dd76;
|
||
--jp-collaborator-color4: #00e4d0;
|
||
--jp-collaborator-color5: #45d4ff;
|
||
--jp-collaborator-color6: #e2b1ff;
|
||
--jp-collaborator-color7: #ff9de6;
|
||
|
||
/* 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);
|
||
|
||
/* Button colors */
|
||
--jp-accept-color-normal: var(--md-blue-700);
|
||
--jp-accept-color-hover: var(--md-blue-800);
|
||
--jp-accept-color-active: var(--md-blue-900);
|
||
--jp-warn-color-normal: var(--md-red-700);
|
||
--jp-warn-color-hover: var(--md-red-800);
|
||
--jp-warn-color-active: var(--md-red-900);
|
||
--jp-reject-color-normal: var(--md-grey-600);
|
||
--jp-reject-color-hover: var(--md-grey-700);
|
||
--jp-reject-color-active: var(--md-grey-800);
|
||
|
||
/* File or activity icons and switch semantic variables */
|
||
--jp-jupyter-icon-color: #f37626;
|
||
--jp-notebook-icon-color: #f37626;
|
||
--jp-json-icon-color: var(--md-orange-700);
|
||
--jp-console-icon-background-color: var(--md-blue-700);
|
||
--jp-console-icon-color: white;
|
||
--jp-terminal-icon-background-color: var(--md-grey-800);
|
||
--jp-terminal-icon-color: var(--md-grey-200);
|
||
--jp-text-editor-icon-color: var(--md-grey-700);
|
||
--jp-inspector-icon-color: var(--md-grey-700);
|
||
--jp-switch-color: var(--md-grey-400);
|
||
--jp-switch-true-position-color: var(--md-orange-900);
|
||
}
|
||
</style>
|
||
<style type="text/css">
|
||
/* Force rendering true colors when outputing to pdf */
|
||
* {
|
||
-webkit-print-color-adjust: exact;
|
||
}
|
||
|
||
/* Misc */
|
||
a.anchor-link {
|
||
display: none;
|
||
}
|
||
|
||
/* Input area styling */
|
||
.jp-InputArea {
|
||
overflow: hidden;
|
||
}
|
||
|
||
.jp-InputArea-editor {
|
||
overflow: hidden;
|
||
}
|
||
|
||
.cm-editor.cm-s-jupyter .highlight pre {
|
||
/* weird, but --jp-code-padding defined to be 5px but 4px horizontal padding is hardcoded for pre.cm-line */
|
||
padding: var(--jp-code-padding) 4px;
|
||
margin: 0;
|
||
|
||
font-family: inherit;
|
||
font-size: inherit;
|
||
line-height: inherit;
|
||
color: inherit;
|
||
|
||
}
|
||
|
||
.jp-OutputArea-output pre {
|
||
line-height: inherit;
|
||
font-family: inherit;
|
||
}
|
||
|
||
.jp-RenderedText pre {
|
||
color: var(--jp-content-font-color1);
|
||
font-size: var(--jp-code-font-size);
|
||
}
|
||
|
||
/* Hiding the collapser by default */
|
||
.jp-Collapser {
|
||
display: none;
|
||
}
|
||
|
||
@page {
|
||
margin: 0.5in; /* Margin for each printed piece of paper */
|
||
}
|
||
|
||
@media print {
|
||
.jp-Cell-inputWrapper,
|
||
.jp-Cell-outputWrapper {
|
||
display: block;
|
||
}
|
||
}
|
||
</style>
|
||
<!-- Load mathjax -->
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS_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',
|
||
messageStyle: 'none',
|
||
CommonHTML: {
|
||
linebreaks: {
|
||
automatic: true
|
||
}
|
||
}
|
||
});
|
||
|
||
MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
|
||
}
|
||
}
|
||
init_mathjax();
|
||
</script>
|
||
<!-- End of mathjax configuration --><script type="module">
|
||
document.addEventListener("DOMContentLoaded", async () => {
|
||
const diagrams = document.querySelectorAll(".jp-Mermaid > pre.mermaid");
|
||
// do not load mermaidjs if not needed
|
||
if (!diagrams.length) {
|
||
return;
|
||
}
|
||
const mermaid = (await import("https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.7.0/mermaid.esm.min.mjs")).default;
|
||
const parser = new DOMParser();
|
||
|
||
mermaid.initialize({
|
||
maxTextSize: 100000,
|
||
maxEdges: 100000,
|
||
startOnLoad: false,
|
||
fontFamily: window
|
||
.getComputedStyle(document.body)
|
||
.getPropertyValue("--jp-ui-font-family"),
|
||
theme: document.querySelector("body[data-jp-theme-light='true']")
|
||
? "default"
|
||
: "dark",
|
||
});
|
||
|
||
let _nextMermaidId = 0;
|
||
|
||
function makeMermaidImage(svg) {
|
||
const img = document.createElement("img");
|
||
const doc = parser.parseFromString(svg, "image/svg+xml");
|
||
const svgEl = doc.querySelector("svg");
|
||
const { maxWidth } = svgEl?.style || {};
|
||
const firstTitle = doc.querySelector("title");
|
||
const firstDesc = doc.querySelector("desc");
|
||
|
||
img.setAttribute("src", `data:image/svg+xml,${encodeURIComponent(svg)}`);
|
||
if (maxWidth) {
|
||
img.width = parseInt(maxWidth);
|
||
}
|
||
if (firstTitle) {
|
||
img.setAttribute("alt", firstTitle.textContent);
|
||
}
|
||
if (firstDesc) {
|
||
const caption = document.createElement("figcaption");
|
||
caption.className = "sr-only";
|
||
caption.textContent = firstDesc.textContent;
|
||
return [img, caption];
|
||
}
|
||
return [img];
|
||
}
|
||
|
||
async function makeMermaidError(text) {
|
||
let errorMessage = "";
|
||
try {
|
||
await mermaid.parse(text);
|
||
} catch (err) {
|
||
errorMessage = `${err}`;
|
||
}
|
||
|
||
const result = document.createElement("details");
|
||
result.className = 'jp-RenderedMermaid-Details';
|
||
const summary = document.createElement("summary");
|
||
summary.className = 'jp-RenderedMermaid-Summary';
|
||
const pre = document.createElement("pre");
|
||
const code = document.createElement("code");
|
||
code.innerText = text;
|
||
pre.appendChild(code);
|
||
summary.appendChild(pre);
|
||
result.appendChild(summary);
|
||
|
||
const warning = document.createElement("pre");
|
||
warning.innerText = errorMessage;
|
||
result.appendChild(warning);
|
||
return [result];
|
||
}
|
||
|
||
async function renderOneMarmaid(src) {
|
||
const id = `jp-mermaid-${_nextMermaidId++}`;
|
||
const parent = src.parentNode;
|
||
let raw = src.textContent.trim();
|
||
const el = document.createElement("div");
|
||
el.style.visibility = "hidden";
|
||
document.body.appendChild(el);
|
||
let results = null;
|
||
let output = null;
|
||
try {
|
||
let { svg } = await mermaid.render(id, raw, el);
|
||
svg = cleanMermaidSvg(svg);
|
||
results = makeMermaidImage(svg);
|
||
output = document.createElement("figure");
|
||
results.map(output.appendChild, output);
|
||
} catch (err) {
|
||
parent.classList.add("jp-mod-warning");
|
||
results = await makeMermaidError(raw);
|
||
output = results[0];
|
||
} finally {
|
||
el.remove();
|
||
}
|
||
parent.classList.add("jp-RenderedMermaid");
|
||
parent.appendChild(output);
|
||
}
|
||
|
||
|
||
/**
|
||
* Post-process to ensure mermaid diagrams contain only valid SVG and XHTML.
|
||
*/
|
||
function cleanMermaidSvg(svg) {
|
||
return svg.replace(RE_VOID_ELEMENT, replaceVoidElement);
|
||
}
|
||
|
||
|
||
/**
|
||
* A regular expression for all void elements, which may include attributes and
|
||
* a slash.
|
||
*
|
||
* @see https://developer.mozilla.org/en-US/docs/Glossary/Void_element
|
||
*
|
||
* Of these, only `<br>` is generated by Mermaid in place of `\n`,
|
||
* but _any_ "malformed" tag will break the SVG rendering entirely.
|
||
*/
|
||
const RE_VOID_ELEMENT =
|
||
/<\s*(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)\s*([^>]*?)\s*>/gi;
|
||
|
||
/**
|
||
* Ensure a void element is closed with a slash, preserving any attributes.
|
||
*/
|
||
function replaceVoidElement(match, tag, rest) {
|
||
rest = rest.trim();
|
||
if (!rest.endsWith('/')) {
|
||
rest = `${rest} /`;
|
||
}
|
||
return `<${tag} ${rest}>`;
|
||
}
|
||
|
||
void Promise.all([...diagrams].map(renderOneMarmaid));
|
||
});
|
||
</script>
|
||
<style>
|
||
.jp-Mermaid:not(.jp-RenderedMermaid) {
|
||
display: none;
|
||
}
|
||
|
||
.jp-RenderedMermaid {
|
||
overflow: auto;
|
||
display: flex;
|
||
}
|
||
|
||
.jp-RenderedMermaid.jp-mod-warning {
|
||
width: auto;
|
||
padding: 0.5em;
|
||
margin-top: 0.5em;
|
||
border: var(--jp-border-width) solid var(--jp-warn-color2);
|
||
border-radius: var(--jp-border-radius);
|
||
color: var(--jp-ui-font-color1);
|
||
font-size: var(--jp-ui-font-size1);
|
||
white-space: pre-wrap;
|
||
word-wrap: break-word;
|
||
}
|
||
|
||
.jp-RenderedMermaid figure {
|
||
margin: 0;
|
||
overflow: auto;
|
||
max-width: 100%;
|
||
}
|
||
|
||
.jp-RenderedMermaid img {
|
||
max-width: 100%;
|
||
}
|
||
|
||
.jp-RenderedMermaid-Details > pre {
|
||
margin-top: 1em;
|
||
}
|
||
|
||
.jp-RenderedMermaid-Summary {
|
||
color: var(--jp-warn-color2);
|
||
}
|
||
|
||
.jp-RenderedMermaid:not(.jp-mod-warning) pre {
|
||
display: none;
|
||
}
|
||
|
||
.jp-RenderedMermaid-Summary > pre {
|
||
display: inline-block;
|
||
white-space: normal;
|
||
}
|
||
</style>
|
||
<!-- End of mermaid configuration --></head>
|
||
<body class="jp-Notebook" data-jp-theme-light="true" data-jp-theme-name="JupyterLab Light">
|
||
<main>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<h1 id="Tutorial:-Applying-Periodic-Boundary-Conditions-in-PINNs-to-solve-the-Helmotz-Problem">Tutorial: Applying Periodic Boundary Conditions in PINNs to solve the Helmotz Problem<a class="anchor-link" href="#Tutorial:-Applying-Periodic-Boundary-Conditions-in-PINNs-to-solve-the-Helmotz-Problem">¶</a></h1><p><a href="https://colab.research.google.com/github/mathLab/PINA/blob/master/tutorials/tutorial9/tutorial.ipynb"><img alt="Open In Colab" src="https://colab.research.google.com/assets/colab-badge.svg"/></a></p>
|
||
<p>This tutorial demonstrates how to solve a one-dimensional Helmholtz equation with periodic boundary conditions (PBC) using Physics-Informed Neural Networks (PINNs).<br/>
|
||
We will use standard PINN training, augmented with a periodic input expansion as introduced in <a href="https://arxiv.org/abs/2308.08468"><em>An Expert’s Guide to Training Physics-Informed Neural Networks</em></a>.</p>
|
||
<p>Let's start with some useful imports:</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea">
|
||
<div class="jp-InputPrompt jp-InputArea-prompt">In [1]:</div>
|
||
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||
<div class="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-ipython3"><pre><span></span><span class="c1">## routine needed to run the notebook on Google Colab</span>
|
||
<span class="k">try</span><span class="p">:</span>
|
||
<span class="kn">import</span><span class="w"> </span><span class="nn">google.colab</span>
|
||
|
||
<span class="n">IN_COLAB</span> <span class="o">=</span> <span class="kc">True</span>
|
||
<span class="k">except</span><span class="p">:</span>
|
||
<span class="n">IN_COLAB</span> <span class="o">=</span> <span class="kc">False</span>
|
||
<span class="k">if</span> <span class="n">IN_COLAB</span><span class="p">:</span>
|
||
<span class="o">!</span>pip<span class="w"> </span>install<span class="w"> </span><span class="s2">"pina-mathlab[tutorial]"</span>
|
||
|
||
<span class="kn">import</span><span class="w"> </span><span class="nn">torch</span>
|
||
<span class="kn">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</span>
|
||
<span class="kn">import</span><span class="w"> </span><span class="nn">warnings</span>
|
||
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina</span><span class="w"> </span><span class="kn">import</span> <span class="n">Condition</span><span class="p">,</span> <span class="n">Trainer</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.problem</span><span class="w"> </span><span class="kn">import</span> <span class="n">SpatialProblem</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.operator</span><span class="w"> </span><span class="kn">import</span> <span class="n">laplacian</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.model</span><span class="w"> </span><span class="kn">import</span> <span class="n">FeedForward</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.model.block</span><span class="w"> </span><span class="kn">import</span> <span class="n">PeriodicBoundaryEmbedding</span> <span class="c1"># The PBC module</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.solver</span><span class="w"> </span><span class="kn">import</span> <span class="n">PINN</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.domain</span><span class="w"> </span><span class="kn">import</span> <span class="n">CartesianDomain</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.equation</span><span class="w"> </span><span class="kn">import</span> <span class="n">Equation</span>
|
||
<span class="kn">from</span><span class="w"> </span><span class="nn">pina.callback</span><span class="w"> </span><span class="kn">import</span> <span class="n">MetricTracker</span>
|
||
|
||
<span class="n">warnings</span><span class="o">.</span><span class="n">filterwarnings</span><span class="p">(</span><span class="s2">"ignore"</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<h2 id="Problem-Definition">Problem Definition<a class="anchor-link" href="#Problem-Definition">¶</a></h2><p>The one-dimensional Helmholtz problem is mathematically expressed as:</p>
|
||
<p>$$
|
||
\begin{cases}
|
||
\frac{d^2}{dx^2}u(x) - \lambda u(x) - f(x) &= 0 \quad \text{for } x \in (0, 2) \\
|
||
u^{(m)}(x = 0) - u^{(m)}(x = 2) &= 0 \quad \text{for } m \in \{0, 1, \dots\}
|
||
\end{cases}
|
||
$$</p>
|
||
<p>In this case, we seek a solution that is $C^{\infty}$ (infinitely differentiable) and periodic with period 2, over the infinite domain $x \in (-\infty, \infty)$.</p>
|
||
<p>A classical PINN approach would require enforcing periodic boundary conditions (PBC) for all derivatives—an infinite set of constraints—which is clearly infeasible.</p>
|
||
<p>To address this, we adopt a strategy known as <em>coordinate augmentation</em>. In this approach, we apply a coordinate transformation $v(x)$ such that the transformed inputs naturally satisfy the periodicity condition:</p>
|
||
<p>$$
|
||
u^{(m)}(x = 0) - u^{(m)}(x = 2) = 0 \quad \text{for } m \in \{0, 1, \dots\}
|
||
$$</p>
|
||
<p>For demonstration purposes, we choose the specific parameters:</p>
|
||
<ul>
|
||
<li>$\lambda = -10\pi^2$</li>
|
||
<li>$f(x) = -6\pi^2 \sin(3\pi x) \cos(\pi x)$</li>
|
||
</ul>
|
||
<p>These yield an analytical solution:</p>
|
||
<p>$$
|
||
u(x) = \sin(\pi x) \cos(3\pi x)
|
||
$$</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea">
|
||
<div class="jp-InputPrompt jp-InputArea-prompt">In [2]:</div>
|
||
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||
<div class="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-ipython3"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">helmholtz_equation</span><span class="p">(</span><span class="n">input_</span><span class="p">,</span> <span class="n">output_</span><span class="p">):</span>
|
||
<span class="n">x</span> <span class="o">=</span> <span class="n">input_</span><span class="o">.</span><span class="n">extract</span><span class="p">(</span><span class="s2">"x"</span><span class="p">)</span>
|
||
<span class="n">u_xx</span> <span class="o">=</span> <span class="n">laplacian</span><span class="p">(</span><span class="n">output_</span><span class="p">,</span> <span class="n">input_</span><span class="p">,</span> <span class="n">components</span><span class="o">=</span><span class="p">[</span><span class="s2">"u"</span><span class="p">],</span> <span class="n">d</span><span class="o">=</span><span class="p">[</span><span class="s2">"x"</span><span class="p">])</span>
|
||
<span class="n">f</span> <span class="o">=</span> <span class="p">(</span>
|
||
<span class="o">-</span><span class="mf">6.0</span>
|
||
<span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">pi</span><span class="o">**</span><span class="mi">2</span>
|
||
<span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="mi">3</span> <span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">pi</span> <span class="o">*</span> <span class="n">x</span><span class="p">)</span>
|
||
<span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">torch</span><span class="o">.</span><span class="n">pi</span> <span class="o">*</span> <span class="n">x</span><span class="p">)</span>
|
||
<span class="p">)</span>
|
||
<span class="n">lambda_</span> <span class="o">=</span> <span class="o">-</span><span class="mf">10.0</span> <span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">pi</span><span class="o">**</span><span class="mi">2</span>
|
||
<span class="k">return</span> <span class="n">u_xx</span> <span class="o">-</span> <span class="n">lambda_</span> <span class="o">*</span> <span class="n">output_</span> <span class="o">-</span> <span class="n">f</span>
|
||
|
||
|
||
<span class="k">class</span><span class="w"> </span><span class="nc">Helmholtz</span><span class="p">(</span><span class="n">SpatialProblem</span><span class="p">):</span>
|
||
<span class="n">output_variables</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"u"</span><span class="p">]</span>
|
||
<span class="n">spatial_domain</span> <span class="o">=</span> <span class="n">CartesianDomain</span><span class="p">({</span><span class="s2">"x"</span><span class="p">:</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span><span class="p">]})</span>
|
||
|
||
<span class="c1"># here we write the problem conditions</span>
|
||
<span class="n">conditions</span> <span class="o">=</span> <span class="p">{</span>
|
||
<span class="s2">"phys_cond"</span><span class="p">:</span> <span class="n">Condition</span><span class="p">(</span>
|
||
<span class="n">domain</span><span class="o">=</span><span class="n">spatial_domain</span><span class="p">,</span> <span class="n">equation</span><span class="o">=</span><span class="n">Equation</span><span class="p">(</span><span class="n">helmholtz_equation</span><span class="p">)</span>
|
||
<span class="p">),</span>
|
||
<span class="p">}</span>
|
||
|
||
<span class="k">def</span><span class="w"> </span><span class="nf">solution</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">pts</span><span class="p">):</span>
|
||
<span class="k">return</span> <span class="n">torch</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">torch</span><span class="o">.</span><span class="n">pi</span> <span class="o">*</span> <span class="n">pts</span><span class="p">)</span> <span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="mf">3.0</span> <span class="o">*</span> <span class="n">torch</span><span class="o">.</span><span class="n">pi</span> <span class="o">*</span> <span class="n">pts</span><span class="p">)</span>
|
||
|
||
|
||
<span class="n">problem</span> <span class="o">=</span> <span class="n">Helmholtz</span><span class="p">()</span>
|
||
|
||
<span class="c1"># let's discretise the domain</span>
|
||
<span class="n">problem</span><span class="o">.</span><span class="n">discretise_domain</span><span class="p">(</span><span class="mi">200</span><span class="p">,</span> <span class="s2">"grid"</span><span class="p">,</span> <span class="n">domains</span><span class="o">=</span><span class="p">[</span><span class="s2">"phys_cond"</span><span class="p">])</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<p>As usual, the Helmholtz problem is implemented in <strong>PINA</strong> as a class. The governing equations are defined as <code>conditions</code>, which must be satisfied within their respective domains. The <code>solution</code> represents the exact analytical solution, which will be used to evaluate the accuracy of the predicted solution.</p>
|
||
<p>For selecting collocation points, we use Latin Hypercube Sampling (LHS), a common strategy for efficient space-filling in high-dimensional domains</p>
|
||
<h2 id="Solving-the-Problem-with-a-Periodic-Network">Solving the Problem with a Periodic Network<a class="anchor-link" href="#Solving-the-Problem-with-a-Periodic-Network">¶</a></h2><p>Any $\mathcal{C}^{\infty}$ periodic function $u : \mathbb{R} \rightarrow \mathbb{R}$ with period $L \in \mathbb{N}$<br/>
|
||
can be constructed by composing an arbitrary smooth function $f : \mathbb{R}^n \rightarrow \mathbb{R}$ with a smooth, periodic mapping$v : \mathbb{R} \rightarrow \mathbb{R}^n$ of the same period $L$. That is,</p>
|
||
<p>$$
|
||
u(x) = f(v(x)).
|
||
$$</p>
|
||
<p>This formulation is general and can be extended to arbitrary dimensions.<br/>
|
||
For more details, see <a href="https://arxiv.org/pdf/2007.07442"><em>A Method for Representing Periodic Functions and Enforcing Exactly Periodic Boundary Conditions with Deep Neural Networks</em></a>.</p>
|
||
<p>In our specific case, we define the periodic embedding as:</p>
|
||
<p>$$
|
||
v(x) = \left[1, \cos\left(\frac{2\pi}{L} x\right), \sin\left(\frac{2\pi}{L} x\right)\right],
|
||
$$</p>
|
||
<p>which constitutes the coordinate augmentation. The function $f(\cdot)$ is approximated by a neural network $NN_{\theta}(\cdot)$, resulting in the approximate PINN solution:</p>
|
||
<p>$$
|
||
u(x) \approx u_{\theta}(x) = NN_{\theta}(v(x)).
|
||
$$</p>
|
||
<p>In <strong>PINA</strong>, this is implemented using the <code>PeriodicBoundaryEmbedding</code> layer for $v(x)$,<br/>
|
||
paired with any <code>pina.model</code> to define the neural network $NN_{\theta}$.</p>
|
||
<p>Let’s see how this is put into practice!</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea">
|
||
<div class="jp-InputPrompt jp-InputArea-prompt">In [3]:</div>
|
||
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||
<div class="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># we encapsulate all modules in a torch.nn.Sequential container</span>
|
||
<span class="n">model</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">nn</span><span class="o">.</span><span class="n">Sequential</span><span class="p">(</span>
|
||
<span class="n">PeriodicBoundaryEmbedding</span><span class="p">(</span><span class="n">input_dimension</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">periods</span><span class="o">=</span><span class="mi">2</span><span class="p">),</span>
|
||
<span class="n">FeedForward</span><span class="p">(</span>
|
||
<span class="n">input_dimensions</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="c1"># output of PeriodicBoundaryEmbedding = 3 * input_dimension</span>
|
||
<span class="n">output_dimensions</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
|
||
<span class="n">layers</span><span class="o">=</span><span class="p">[</span><span class="mi">64</span><span class="p">,</span> <span class="mi">64</span><span class="p">],</span>
|
||
<span class="p">),</span>
|
||
<span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<p>As simple as that!</p>
|
||
<p>In higher dimensions, you can specify different periods for each coordinate using a dictionary.<br/>
|
||
For example, <code>periods = {'x': 2, 'y': 3, ...}</code> indicates a periodicity of 2 in the $x$ direction,<br/>
|
||
3 in the $y$ direction, and so on.</p>
|
||
<p>We will now solve the problem using the usual <code>PINN</code> and <code>Trainer</code> classes. After training, we'll examine the losses using the <code>MetricTracker</code> callback from <code>pina.callback</code>.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea">
|
||
<div class="jp-InputPrompt jp-InputArea-prompt">In [4]:</div>
|
||
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||
<div class="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-ipython3"><pre><span></span><span class="n">solver</span> <span class="o">=</span> <span class="n">PINN</span><span class="p">(</span><span class="n">problem</span><span class="o">=</span><span class="n">problem</span><span class="p">,</span> <span class="n">model</span><span class="o">=</span><span class="n">model</span><span class="p">)</span>
|
||
<span class="n">trainer</span> <span class="o">=</span> <span class="n">Trainer</span><span class="p">(</span>
|
||
<span class="n">solver</span><span class="p">,</span>
|
||
<span class="n">max_epochs</span><span class="o">=</span><span class="mi">2000</span><span class="p">,</span>
|
||
<span class="n">accelerator</span><span class="o">=</span><span class="s2">"cpu"</span><span class="p">,</span>
|
||
<span class="n">enable_model_summary</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
|
||
<span class="n">callbacks</span><span class="o">=</span><span class="p">[</span><span class="n">MetricTracker</span><span class="p">()],</span>
|
||
<span class="p">)</span>
|
||
<span class="n">trainer</span><span class="o">.</span><span class="n">train</span><span class="p">()</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell-outputWrapper">
|
||
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||
</div>
|
||
<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="application/vnd.jupyter.stderr" tabindex="0">
|
||
<pre>You are using the plain ModelCheckpoint callback. Consider using LitModelCheckpoint which with seamless uploading to Model registry.
|
||
</pre>
|
||
</div>
|
||
</div>
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
|
||
<pre>GPU available: False, used: False
|
||
</pre>
|
||
</div>
|
||
</div>
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
|
||
<pre>TPU available: False, using: 0 TPU cores
|
||
</pre>
|
||
</div>
|
||
</div>
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
|
||
<pre>HPU available: False, using: 0 HPUs
|
||
</pre>
|
||
</div>
|
||
</div>
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jupyter-widgets jp-OutputArea-output" id="eb0f4463-8d27-4ae5-b729-96947b42329f" tabindex="0">
|
||
<script type="text/javascript">
|
||
var element = document.getElementById('eb0f4463-8d27-4ae5-b729-96947b42329f');
|
||
</script>
|
||
<script type="application/vnd.jupyter.widget-view+json">
|
||
{"version_major": 2, "version_minor": 0, "model_id": "b7fff59e200d46f6acbaa75d5ff85418"}
|
||
</script>
|
||
</div>
|
||
</div>
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
|
||
<pre>`Trainer.fit` stopped: `max_epochs=2000` reached.
|
||
</pre>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea">
|
||
<div class="jp-InputPrompt jp-InputArea-prompt">In [5]:</div>
|
||
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||
<div class="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># plot loss</span>
|
||
<span class="n">trainer_metrics</span> <span class="o">=</span> <span class="n">trainer</span><span class="o">.</span><span class="n">callbacks</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">metrics</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span>
|
||
<span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">trainer_metrics</span><span class="p">[</span><span class="s2">"train_loss"</span><span class="p">])),</span> <span class="n">trainer_metrics</span><span class="p">[</span><span class="s2">"train_loss"</span><span class="p">]</span>
|
||
<span class="p">)</span>
|
||
<span class="c1"># plotting</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s2">"epoch"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s2">"loss"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">yscale</span><span class="p">(</span><span class="s2">"log"</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell-outputWrapper">
|
||
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||
</div>
|
||
<div class="jp-OutputArea jp-Cell-outputArea">
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
|
||
<img alt="No description has been provided for this image" class="" src="data:image/png;base64,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duh7mQgRERH5H/YImQkKCsI777yDtLQ0lJSUYNSoUbjyyivRqZN8p/IRERGRbwR8ItS9e3d0725YlyEhIQFxcXGorKxkIkRERETSryO0ceNGTJs2DYmJiVAoFFi+fHm7x2g0GiQnJyM0NBTp6enYvn27S8+Vk5MDnU6HpKQkN6MmIiKiQCB5Rai+vh6pqamYPXs2brjhhnb3L126FFlZWVi0aBHS09PxzjvvYMqUKTh06BC6dTOsfJmWlobW1tZ237tq1SokJiYCACorKzFjxgx8/PHHVmNpbm5Gc3Oz6d81NTXunh4RERHJmKyapRUKBX766Sdcd911ptvS09MxZswYvP/++wAAvV6PpKQkPPTQQ3j66acdOm5zczMuu+wyzJkzB3fddZfVx7344ot46aWX2t3OZmkiIiL/4UyztORDY7ZotVrk5OQgMzPTdJtSqURmZiays7MdOoYgCLj77rtx6aWX2kyCAGD+/Pmorq42fRUXF7sVPxEREcmbrBOhiooK6HQ6xMfHW9weHx+PkpISh46xZcsWLF26FMuXL0daWhrS0tKwd+9e0ceq1WpERkZafBEREVHgkrxHyNsmTJgAvV7v1PdoNBpoNBrodDovRUVERERyIOuKUFxcHFQqFUpLSy1uLy0tRUJCgteed968ecjLy8OOHTu89hxEREQkPVknQiEhIRg1ahTWrFljuk2v12PNmjXIyMiQMDIiIiIKBJIPjdXV1SE/P9/078LCQuTm5iImJga9evVCVlYWZs6cidGjR2Ps2LF45513UF9fj1mzZkkYNREREQUCyROhnTt3YtKkSaZ/Z2VlAQBmzpyJJUuWYPr06SgvL8fzzz+PkpISpKWlYeXKle0aqD2JPUJEREQdg6zWEZIbbrpKRETkfwJmHSEiIiIib5J8aEzOjMUybrVBRETkP4zXbUcGvZgI2VBbWwsA3KSViIjID9XW1iIqKsrmY9gjZINer8epU6cQEREBhULh0WPX1NQgKSkJxcXFAdl/FOjnBwT+OQb6+QGBf46Bfn5A4J8jz881giCgtrYWiYmJUCptdwGxImSDUqlEz549vfocgb6VR6CfHxD45xjo5wcE/jkG+vkBgX+OPD/n2asEGbFZmoiIiDosJkJERETUYTERkoharcYLL7wAtVotdSheEejnBwT+OQb6+QGBf46Bfn5A4J8jz8/72CxNREREHRYrQkRERNRhMREiIiKiDouJEBEREXVYTISIiIiow2IiJBGNRoPk5GSEhoYiPT0d27dvlzokuxYsWIAxY8YgIiIC3bp1w3XXXYdDhw5ZPOaSSy6BQqGw+HrggQcsHlNUVISrrroK4eHh6NatG5544gm0trb68lSsevHFF9vFf8EFF5jub2pqwrx58xAbG4vOnTvjxhtvRGlpqcUx5Hx+ycnJ7c5PoVBg3rx5APzz/du4cSOmTZuGxMREKBQKLF++3OJ+QRDw/PPPo3v37ggLC0NmZiaOHDli8ZjKykrccccdiIyMRHR0NO655x7U1dVZPGbPnj246KKLEBoaiqSkJLzxxhvePjUAts+vpaUFTz31FIYNG4ZOnTohMTERM2bMwKlTpyyOIfa+v/766xaPker8APvv4d13390u/iuuuMLiMf76HgIQ/Z1UKBR48803TY+R83voyLXBU387169fj5EjR0KtVqN///5YsmSJ+ycgkM99++23QkhIiLB48WJh//79wpw5c4To6GihtLRU6tBsmjJlivDZZ58J+/btE3Jzc4Urr7xS6NWrl1BXV2d6zMUXXyzMmTNHOH36tOmrurradH9ra6swdOhQITMzU9i9e7fw66+/CnFxccL8+fOlOKV2XnjhBWHIkCEW8ZeXl5vuf+CBB4SkpCRhzZo1ws6dO4ULL7xQGDdunOl+uZ9fWVmZxbn98ccfAgBh3bp1giD45/v366+/Cs8++6ywbNkyAYDw008/Wdz/+uuvC1FRUcLy5cuFv/76S7jmmmuEPn36CI2NjabHXHHFFUJqaqqwdetWYdOmTUL//v2F2267zXR/dXW1EB8fL9xxxx3Cvn37hG+++UYICwsTPvroI0nPr6qqSsjMzBSWLl0qHDx4UMjOzhbGjh0rjBo1yuIYvXv3Fl5++WWL99X891bK87N3joIgCDNnzhSuuOIKi/grKystHuOv76EgCBbndfr0aWHx4sWCQqEQCgoKTI+R83voyLXBE387jx49KoSHhwtZWVlCXl6e8N577wkqlUpYuXKlW/EzEZLA2LFjhXnz5pn+rdPphMTERGHBggUSRuW8srIyAYCwYcMG020XX3yx8Mgjj1j9nl9//VVQKpVCSUmJ6bYPP/xQiIyMFJqbm70ZrkNeeOEFITU1VfS+qqoqITg4WPj+++9Ntx04cEAAIGRnZwuCIP/za+uRRx4R+vXrJ+j1ekEQ/P/9a3uR0ev1QkJCgvDmm2+abquqqhLUarXwzTffCIIgCHl5eQIAYceOHabH/Pbbb4JCoRBOnjwpCIIgfPDBB0KXLl0szvGpp54SBg0a5OUzsiR2EW1r+/btAgDh+PHjptt69+4tvP3221a/Ry7nJwji5zhz5kzh2muvtfo9gfYeXnvttcKll15qcZs/vYdtrw2e+tv55JNPCkOGDLF4runTpwtTpkxxK14OjfmYVqtFTk4OMjMzTbcplUpkZmYiOztbwsicV11dDQCIiYmxuP2rr75CXFwchg4divnz56OhocF0X3Z2NoYNG4b4+HjTbVOmTEFNTQ3279/vm8DtOHLkCBITE9G3b1/ccccdKCoqAgDk5OSgpaXF4r274IIL0KtXL9N75w/nZ6TVavHll19i9uzZFpsK+/v7Z66wsBAlJSUW71lUVBTS09Mt3rPo6GiMHj3a9JjMzEwolUps27bN9JiJEyciJCTE9JgpU6bg0KFDOHv2rI/OxjHV1dVQKBSIjo62uP31119HbGwsRowYgTfffNNiyMEfzm/9+vXo1q0bBg0ahLlz5+LMmTOm+wLpPSwtLcWKFStwzz33tLvPX97DttcGT/3tzM7OtjiG8THuXju56aqPVVRUQKfTWbzZABAfH4+DBw9KFJXz9Ho9Hn30UYwfPx5Dhw413X777bejd+/eSExMxJ49e/DUU0/h0KFDWLZsGQCgpKRE9NyN90ktPT0dS5YswaBBg3D69Gm89NJLuOiii7Bv3z6UlJQgJCSk3QUmPj7eFLvcz8/c8uXLUVVVhbvvvtt0m7+/f20ZYxKL2fw969atm8X9QUFBiImJsXhMnz592h3DeF+XLl28Er+zmpqa8NRTT+G2226z2MDy4YcfxsiRIxETE4M///wT8+fPx+nTp7Fw4UIA8j+/K664AjfccAP69OmDgoICPPPMM5g6dSqys7OhUqkC6j38/PPPERERgRtuuMHidn95D8WuDZ7622ntMTU1NWhsbERYWJhLMTMRIpfMmzcP+/btw+bNmy1uv++++0z/P2zYMHTv3h2TJ09GQUEB+vXr5+swnTZ16lTT/w8fPhzp6eno3bs3vvvuO5d/yeTq008/xdSpU5GYmGi6zd/fv46spaUFt9xyCwRBwIcffmhxX1ZWlun/hw8fjpCQENx///1YsGCBX2zdcOutt5r+f9iwYRg+fDj69euH9evXY/LkyRJG5nmLFy/GHXfcgdDQUIvb/eU9tHZtkDMOjflYXFwcVCpVu2750tJSJCQkSBSVcx588EH88ssvWLduHXr27Gnzsenp6QCA/Px8AEBCQoLouRvvk5vo6GgMHDgQ+fn5SEhIgFarRVVVlcVjzN87fzm/48ePY/Xq1bj33nttPs7f3z9jTLZ+3xISElBWVmZxf2trKyorK/3mfTUmQcePH8cff/xhUQ0Sk56ejtbWVhw7dgyA/M+vrb59+yIuLs7i59Lf30MA2LRpEw4dOmT39xKQ53to7drgqb+d1h4TGRnp1gdVJkI+FhISglGjRmHNmjWm2/R6PdasWYOMjAwJI7NPEAQ8+OCD+Omnn7B27dp2ZVgxubm5AIDu3bsDADIyMrB3716LP1rGP9wpKSleidsddXV1KCgoQPfu3TFq1CgEBwdbvHeHDh1CUVGR6b3zl/P77LPP0K1bN1x11VU2H+fv71+fPn2QkJBg8Z7V1NRg27ZtFu9ZVVUVcnJyTI9Zu3Yt9Hq9KRHMyMjAxo0b0dLSYnrMH3/8gUGDBkk+pGJMgo4cOYLVq1cjNjbW7vfk5uZCqVSahpPkfH5iTpw4gTNnzlj8XPrze2j06aefYtSoUUhNTbX7WDm9h/auDZ7625mRkWFxDONj3L52utVqTS759ttvBbVaLSxZskTIy8sT7rvvPiE6OtqiW16O5s6dK0RFRQnr16+3mMLZ0NAgCIIg5OfnCy+//LKwc+dOobCwUPj555+Fvn37ChMnTjQdwzhF8vLLLxdyc3OFlStXCl27dpXN9PLHH39cWL9+vVBYWChs2bJFyMzMFOLi4oSysjJBEAxTQHv16iWsXbtW2Llzp5CRkSFkZGSYvl/u5ycIhlmKvXr1Ep566imL2/31/autrRV2794t7N69WwAgLFy4UNi9e7dp1tTrr78uREdHCz///LOwZ88e4dprrxWdPj9ixAhh27ZtwubNm4UBAwZYTL2uqqoS4uPjhbvuukvYt2+f8O233wrh4eE+mZps6/y0Wq1wzTXXCD179hRyc3Mtfi+NM23+/PNP4e233xZyc3OFgoIC4csvvxS6du0qzJgxQxbnZ+8ca2trhb///e9Cdna2UFhYKKxevVoYOXKkMGDAAKGpqcl0DH99D42qq6uF8PBw4cMPP2z3/XJ/D+1dGwTBM387jdPnn3jiCeHAgQOCRqPh9Hl/9t577wm9evUSQkJChLFjxwpbt26VOiS7AIh+ffbZZ4IgCEJRUZEwceJEISYmRlCr1UL//v2FJ554wmIdGkEQhGPHjglTp04VwsLChLi4OOHxxx8XWlpaJDij9qZPny50795dCAkJEXr06CFMnz5dyM/PN93f2Ngo/O1vfxO6dOkihIeHC9dff71w+vRpi2PI+fwEQRB+//13AYBw6NAhi9v99f1bt26d6M/lzJkzBUEwTKF/7rnnhPj4eEGtVguTJ09ud+5nzpwRbrvtNqFz585CZGSkMGvWLKG2ttbiMX/99ZcwYcIEQa1WCz169BBef/11yc+vsLDQ6u+lcW2onJwcIT09XYiKihJCQ0OFwYMHC6+99ppFEiHl+dk7x4aGBuHyyy8XunbtKgQHBwu9e/cW5syZ0+6Do7++h0YfffSREBYWJlRVVbX7frm/h/auDYLgub+d69atE9LS0oSQkBChb9++Fs/hKsW5kyAiIiLqcNgjRERERB0WEyEiIiLqsJgIERERUYfFRIiIiIg6LCZCRERE1GExESIiIqIOi4kQERERdVhMhIiIiKjDYiJEROSE9evXQ6FQtNtAkoj8ExMhIiIi6rCYCBEREVGHxUSIiPyKXq/HggUL0KdPH4SFhSE1NRU//PADgPPDVitWrMDw4cMRGhqKCy+8EPv27bM4xo8//oghQ4ZArVYjOTkZb731lsX9zc3NeOqpp5CUlAS1Wo3+/fvj008/tXhMTk4ORo8ejfDwcIwbNw6HDh3y7okTkVcwESIiv7JgwQJ88cUXWLRoEfbv34/HHnsMd955JzZs2GB6zBNPPIG33noLO3bsQNeuXTFt2jS0tLQAMCQwt9xyC2699Vbs3bsXL774Ip577jksWbLE9P0zZszAN998g3fffRcHDhzARx99hM6dO1vE8eyzz+Ktt97Czp07ERQUhNmzZ/vk/InIs7j7PBH5jebmZsTExGD16tXIyMgw3X7vvfeioaEB9913HyZNmoRvv/0W06dPBwBUVlaiZ8+eWLJkCW655RbccccdKC8vx6pVq0zf/+STT2LFihXYv38/Dh8+jEGDBuGPP/5AZmZmuxjWr1+PSZMmYfXq1Zg8eTIA4Ndff8VVV12FxsZGhIaGevlVICJPYkWIiPxGfn4+GhoacNlll6Fz586mry+++AIFBQWmx5knSTExMRg0aBAOHDgAADhw4ADGjx9vcdzx48fjyJEj0Ol0yM3NhUqlwsUXX2wzluHDh5v+v3v37gCAsrIyt8+RiHwrSOoAiIgcVVdXBwBYsWIFevToYXGfWq22SIZcFRYW5tDjgoODTf+vUCgAGPqXiMi/sCJERH4jJSUFarUaRUVF6N+/v8VXUlKS6XFbt241/f/Zs2dx+PBhDB48GAAwePBgbNmyxeK4W7ZswcCBA6FSqTBs2DDo9XqLniMiClysCBGR34iIiMDf//53PPbYY9Dr9ZgwYQKqq6uxZcsWREZGonfv3gCAl19+GbGxsYiPj8ezzz6LuLg4XHfddQCAxx9/HGPGjMErr7yC6dOnIzs7G++//z4++OADAEBycjJmzpyJ2bNn491330VqaiqOHz+OsrIy3HLLLVKdOhF5CRMhIvIrr7zyCrp27YoFCxbg6NGjiI6OxsiRI/HMM8+YhqZef/11PPLIIzhy5AjS0tLwv//9DyEhIQCAkSNH4rvvvsPzzz+PV155Bd27d8fLL7+Mu+++2/QcH374IZ555hn87W9/w5kzZ9CrVy8888wzUpwuEXkZZ40RUcAwzug6e/YsoqOjpQ6HiPwAe4SIiIiow2IiRERERB0Wh8aIiIiow2JFiIiIiDosJkJERETUYTERIiIiog6LiRARERF1WEyEiIiIqMNiIkREREQdFhMhIiIi6rCYCBEREVGH9f8BWHZ0UVg+JKMAAAAASUVORK5CYII="/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<p>We are going to plot the solution now!</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea">
|
||
<div class="jp-InputPrompt jp-InputArea-prompt">In [6]:</div>
|
||
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||
<div class="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-ipython3"><pre><span></span><span class="n">pts</span> <span class="o">=</span> <span class="n">solver</span><span class="o">.</span><span class="n">problem</span><span class="o">.</span><span class="n">spatial_domain</span><span class="o">.</span><span class="n">sample</span><span class="p">(</span><span class="mi">256</span><span class="p">,</span> <span class="s2">"grid"</span><span class="p">,</span> <span class="n">variables</span><span class="o">=</span><span class="s2">"x"</span><span class="p">)</span>
|
||
<span class="n">predicted_output</span> <span class="o">=</span> <span class="n">solver</span><span class="p">(</span><span class="n">pts</span><span class="p">)</span><span class="o">.</span><span class="n">extract</span><span class="p">(</span><span class="s2">"u"</span><span class="p">)</span><span class="o">.</span><span class="n">tensor</span><span class="o">.</span><span class="n">detach</span><span class="p">()</span>
|
||
<span class="n">true_output</span> <span class="o">=</span> <span class="n">solver</span><span class="o">.</span><span class="n">problem</span><span class="o">.</span><span class="n">solution</span><span class="p">(</span><span class="n">pts</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">pts</span><span class="o">.</span><span class="n">extract</span><span class="p">([</span><span class="s2">"x"</span><span class="p">]),</span> <span class="n">predicted_output</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s2">"Neural Network solution"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">pts</span><span class="o">.</span><span class="n">extract</span><span class="p">([</span><span class="s2">"x"</span><span class="p">]),</span> <span class="n">true_output</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s2">"True solution"</span><span class="p">)</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell-outputWrapper">
|
||
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||
</div>
|
||
<div class="jp-OutputArea jp-Cell-outputArea">
|
||
<div class="jp-OutputArea-child jp-OutputArea-executeResult">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt">Out[6]:</div>
|
||
<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult" data-mime-type="text/plain" tabindex="0">
|
||
<pre><matplotlib.legend.Legend at 0x7fe318a64a00></pre>
|
||
</div>
|
||
</div>
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
|
||
<img alt="No description has been provided for this image" class="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjcAAAGdCAYAAADuR1K7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAACRI0lEQVR4nOzdd3hb5dn48e+RZEve25a34+y9EwIBAgQSoC15SxktkEJp2gKBl1Lm7y2jQKGFlpdCKbQUSvKWFlrKKKOBEEgYCZlkJ47jeO8tT83z++PYJibLQ9KRpftzXbrA0tF57hPb8n2ecT+KqqoqQgghhBBBwqB3AEIIIYQQ3iTJjRBCCCGCiiQ3QgghhAgqktwIIYQQIqhIciOEEEKIoCLJjRBCCCGCiiQ3QgghhAgqktwIIYQQIqiY9A5ADx6Ph6qqKmJiYlAURe9whBBCCDEAqqrS1tZGRkYGBsOJ+2dCMrmpqqoiOztb7zCEEEIIMQTl5eVkZWWd8PWQTG5iYmIA7R8nNjZW52iEEEIIMRA2m43s7Oy+v+MnEpLJTe9QVGxsrCQ3QgghxAhzqiklMqFYCCGEEEFFkhshhBBCBBVJboQQQggRVEJyzo0QQgyHqqq4XC7cbrfeoQgRVIxGIyaTadhlWiS5EUKIQXA4HFRXV9PZ2al3KEIEpcjISNLT0wkPDx/yOSS5EUKIAfJ4PBQXF2M0GsnIyCA8PFwKgQrhJaqq4nA4qK+vp7i4mLFjx560UN/JSHIjhBAD5HA48Hg8ZGdnExkZqXc4QgSdiIgIwsLCKC0txeFwYLFYhnQemVAshBCDNNS7SSHEqXnj90t+Q4UQQggRVCS5EUIIIURQkeRGCCFEwFi0aBG33nqr3mH43AMPPMCMGTP81t5LL71EfHz8sM+zfv16FEWhpaVl2OfyJUluhBAiBFx77bUoisKvfvWrfs+/+eabI2rF10svvYSiKCxdurTf8y0tLSiKwvr16wd8rmuvvZZly5Z5N8AgcrxE8/TTT6e6upq4uDh9ghogSW6ECCAup5Odn/ybz15+hE9WP0BFWbHeIYkgYrFY+PWvf01zc7Pf23Y6nV47l8lk4sMPP+Tjjz/22jn78bjwtNfjaa+DbhuoHq+durcA5EgVHh6O1WoN+IRYkhshAkR9dRkHHz+XGR9dw8LCX3PWkf8l5YU5fPq7a+nu7tY7PHECqqrS6XDp8lBVdVCxLl68GKvVyqOPPnrS4z777DPOPPNMIiIiyM7O5pZbbqGjo6PvdUVRePPNN/u9Jz4+npdeegmAkpISFEXh1Vdf5eyzz8ZisfDyyy/T2NjId7/7XTIzM4mMjGTq1Kn8/e9/H9Q1AERFRfGDH/yAu++++6THlZeXc/nllxMfH09iYiKXXHIJJSUlgDYstGrVKt566y0URdF6fT7+mEsvuZibrr8ag60Cg62SW1f+BMVg5MCeXYBWDiAqKooPP/wQALvdzi233EJqaioWi4WFCxeydevWvhh6h3H+85//MHv2bMxmM5999tkxsRYVFZGfn8/KlSuP+31VVZUHHniAnJwczGYzGRkZ3HLLLX2vNzc3s3z5chISEoiMjOTCCy+ksLDwhP82x+u1uvXWW1m0aFHf6xs2bOB3v/td379PSUnJcYel/vWvfzF58mTMZjN5eXn89re/7XfevLw8HnnkEX7wgx8QExNDTk4Of/rTn04YmzdInRshAkBF0T4s/3cRU2ihUzVTGD2HSGczYx37ObP5Db54qpmZt/4T8zAqdgrf6HK6mXTf+7q0vf/BJUSGD/xj3Gg08sgjj/C9732PW265haysrGOOKSoqYunSpTz88MO8+OKL1NfXs3LlSlauXMlf/vKXQcV3991389vf/paZM2disVjo7u5m9uzZ3HXXXcTGxvLuu+9yzTXXMHr0aObNmzeocz/wwAOMGTOG1157je985zvHvO50OlmyZAkLFizg008/xWQy8fDDD7N06VJ2797N7bffzoEDB7DZbH3XFaN0sWjuFP7413/RpYbjIIz1X+wgOTGej9/9B+PH5rN1+26cTienn346AHfeeSf/+te/WLVqFbm5uTz22GMsWbKEw4cPk5iY2O/f4je/+Q35+fkkJCT0Gz7bvXs3S5Ys4frrr+fhhx8+7vX+61//4n//93955ZVXmDx5MjU1Nezatavv9WuvvZbCwkL+/e9/Exsby1133cVFF13E/v37CQsLG9S/LcDvfvc7Dh06xJQpU3jwwQcBSElJ6UsOe23fvp3LL7+cBx54gCuuuIKNGzdy4403kpSUxLXXXtt33G9/+1seeugh/t//+3+89tpr3HDDDZx99tmMHz9+0LENhPTcCKEzh72brr9/n2RaKDVk03T1Wqbf8R5j/98mDp71BxyqkdM6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Nm3a1O88n3/+OTExMWRlZZ3wWo6mmLV5N+HuTlkSHgACerXUCy+8wNSpU5k3b16/56+88kq+9a1vMXXqVJYtW8Y777zD1q1bWb9+/XHPc88999Da2tr3KC8v90P0QmjaCj8DoDx6GooXlp4ejydf661Jqtnok/OL0HPuueeybds2Vq9eTWFhIffffz979+7tez0mJobbb7+dn/70p6xatYqioiJ27NjB008/zapVq457znfeeYennnqKnTt3UlpayurVq/F4PIwfP56oqChuuOEG7rjjDtasWcP+/ftZsWIFnZ2dXH/99cc936JFi6ivr+exxx6jqKiIZ555hv/8p3+Cn5eXx+7duykuPEhDUzOEWY45z4033kh5eTk333wzBw8e5K233uL+++/ntttu65tvcyqWqBjcqoIRN25H54DeI3zHp8lNcnIyRqOR2trafs/X1tZitVpP+t6Ojg5eeeWVE/5QHy0/P5/k5GQOHz583NfNZjOxsbH9HkL4S2SNVj3YkTHvFEcOXdYsbd7NWOdBWmXYVXjBkiVLuPfee7nzzjuZO3cubW1tLF++vN8xDz30EPfeey+PPvooEydOZOnSpbz77ruMGjXquOeMj4/n9ddf59xzz2XixIk899xz/P3vf2fyZK1H81e/+hWXXnop11xzDbNmzeLw4cO8//77J5xTOXHiRP7whz/wzDPPMH36dLZs2cLtt9/e75gVK1Ywdsxo5l50NSlTz2Pbtu3HnCczM5P33nuPLVu2MH36dH7yk59w/fXX8/Of/3zA/17hJiNdirbDuOwSrj9F/fqApZfNnz+fefPm8fTTTwNaXYScnBxWrlzJ3XfffcL3vfTSS/zkJz+hsrLyhHNpelVUVJCTk8Obb77Jt771rVPGZLPZiIuLo7W1VRId4VMel4uOh7OIoYuCS95l/MyFvmlIVal/cDQpaiPbF61m9qJLfNNOiOvu7qa4uJhRo0ZhsRzbAyACU2dDOZGOBtoMscRYR/usnZb6SuKddXQborBYx/msnWB3st+zgf799vmw1G233cbzzz/PqlWrOHDgADfccAMdHR1cd911ACxfvrzfhONeL7zwAsuWLTsmsWlvb+eOO+7giy++oKSkhHXr1nHJJZf01UMQIpBUHNpBDF10qBZGTfZdzw2KQkWcNu+mo2C979oRYgRSnD3zbcK8s2z+RIyW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"/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<p>Great, they overlap perfectly! This seems a good result, considering the simple neural network used to some this (complex) problem. We will now test the neural network on the domain $[-4, 4]$ without retraining. In principle the periodicity should be present since the $v$ function ensures the periodicity in $(-\infty, \infty)$.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea">
|
||
<div class="jp-InputPrompt jp-InputArea-prompt">In [7]:</div>
|
||
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||
<div class="cm-editor cm-s-jupyter">
|
||
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># plotting solution</span>
|
||
<span class="k">with</span> <span class="n">torch</span><span class="o">.</span><span class="n">no_grad</span><span class="p">():</span>
|
||
<span class="c1"># Notice here we put [-4, 4]!!!</span>
|
||
<span class="n">new_domain</span> <span class="o">=</span> <span class="n">CartesianDomain</span><span class="p">({</span><span class="s2">"x"</span><span class="p">:</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">4</span><span class="p">]})</span>
|
||
<span class="n">x</span> <span class="o">=</span> <span class="n">new_domain</span><span class="o">.</span><span class="n">sample</span><span class="p">(</span><span class="mi">1000</span><span class="p">,</span> <span class="n">mode</span><span class="o">=</span><span class="s2">"grid"</span><span class="p">)</span>
|
||
<span class="n">fig</span><span class="p">,</span> <span class="n">axes</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">15</span><span class="p">,</span> <span class="mi">5</span><span class="p">))</span>
|
||
<span class="c1"># Plot 1</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">problem</span><span class="o">.</span><span class="n">solution</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"$u(x)$"</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"blue"</span><span class="p">)</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="sa">r</span><span class="s2">"True solution $u(x)$"</span><span class="p">)</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span><span class="o">=</span><span class="s2">"upper right"</span><span class="p">)</span>
|
||
<span class="c1"># Plot 2</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">solver</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"$u_{\theta}(x)$"</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"green"</span><span class="p">)</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="sa">r</span><span class="s2">"PINN solution $u_{\theta}(x)$"</span><span class="p">)</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span><span class="o">=</span><span class="s2">"upper right"</span><span class="p">)</span>
|
||
<span class="c1"># Plot 3</span>
|
||
<span class="n">diff</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">problem</span><span class="o">.</span><span class="n">solution</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="o">-</span> <span class="n">solver</span><span class="p">(</span><span class="n">x</span><span class="p">))</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">diff</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="sa">r</span><span class="s2">"$|u(x) - u_{\theta}(x)|$"</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s2">"red"</span><span class="p">)</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="sa">r</span><span class="s2">"Absolute difference $|u(x) - u_{\theta}(x)|$"</span><span class="p">)</span>
|
||
<span class="n">axes</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span><span class="o">=</span><span class="s2">"upper right"</span><span class="p">)</span>
|
||
<span class="c1"># Adjust layout</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">tight_layout</span><span class="p">()</span>
|
||
<span class="c1"># Show the plots</span>
|
||
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
|
||
</pre></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell-outputWrapper">
|
||
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||
</div>
|
||
<div class="jp-OutputArea jp-Cell-outputArea">
|
||
<div class="jp-OutputArea-child">
|
||
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||
<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
|
||
<img alt="No description has been provided for this image" class="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABdIAAAHqCAYAAAAAkLx0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydeZxcRbn+n+6enumeyWzZJvtKIBtJJEgIgoBEEi4K0cuqCESEK5KfcrkCgkAggCgIgsgloLIpAqKIXoWwRKIikAAJS4BAErInM8ns+9Ld5/dHpXrJdPecvU53P9/PZz7d6Tl9TvVU6lTX8771vD5N0zQQQgghhBBCCCGEEEIIISQtftUNIIQQQgghhBBCCCGEEEK8DIV0QgghhBBCCCGEEEIIISQLFNIJIYQQQgghhBBCCCGEkCxQSCeEEEIIIYQQQgghhBBCskAhnRBCCCGEEEIIIYQQQgjJAoV0QgghhBBCCCGEEEIIISQLFNIJIYQQQgghhBBCCCGEkCxQSCeEEEIIIYQQQgghhBBCskAhnRBCCCGEEEIIIYQQQgjJAoV0QgghhBBCCCGEEEIIISQLFNIJIYQQQgghhBBCCCGEkCxQSCeEZOWRRx6Bz+fDtm3bcuK8TnD77bdj6tSpiMViht+7YsUKjBs3Dj09PQ60jBBCCBFwvh4Ys/M553JCiNe58cYb4fP5UF9f79o1c2l+kH+fZDK1/80338QxxxyDsrIy+Hw+vPPOO2lfK3QmTJiAG2+80dI5CnFedkpbsKM/iD4opBOiE5/Pp+tn9erVqpvqKV577TXceOONaG5uVt0UU7S2tuInP/kJrr76avj9xm+ZF154IXp7e/HAAw840DpCCCHJyEWx/AmFQjj00EOxdOlS1NXV9TvurbfeSvl3KBTC7t27+533hBNOwMyZM9Ney8h7vEyuz9cDYWU+51xOCFHN//7v/8Ln82HevHmqm2ILXp1z+vr6cOaZZ6KxsRE/+9nP8Jvf/AajR4/u99r48eNVNzXnKcR5mdpCfkAhnRCd/OY3v0n5+eIXv5j29WnTpiluqbd47bXXcNNNN/X7kvSNb3wDXV1dnv8S8tBDDyESieDcc8819f5QKIQLLrgAd911FzRNs7l1hBBC0rF8+XL85je/wS9+8Qscc8wxuP/++zF//nx0dnZmfV9PTw9+/OMfG7qWmfd4kVyfrwfCynzOuZwQoprHH38cEyZMwNq1a7F582bVzbFMpjnHTdLNb1u2bMH27dvx/e9/H5dccgnOO+88NDQ09HuturpaWbvzhUKcl6kt5AcU0gnRyXnnnZfyc+ihh6Z9vaamJu37Ozo63Gyu5wkEAgiFQv222HmNhx9+GKeddhpCoZDpc5x11lnYvn07XnnlFRtbRgghJBOnnHIKzjvvPHzrW9/CI488gssvvxxbt27Fn//856zvmzNnDn75y19iz549uq9l5j25RK7M1wNhdT7nXE4IUcXWrVvx2muv4a677sKwYcPw+OOPq25SXpBuftu3bx8AoKqqKutrdlDo+kAhzsvUFvIDCumEOID0YPvwww/xta99DdXV1Tj22GNx4YUXYsKECRmPP5jdu3fjm9/8JmpqalBSUoIZM2bgoYce0tWGtrY2XH755ZgwYQJKSkowfPhwfPGLX8S6devix6xfvx6nnHIKKioqMGjQIJx00kl44403Bjy33s9x44034sorrwQATJw4Mb7Vftu2bRk96fS0SV5n8+bNuPDCC1FVVYXKykosWbJkwGxDybBhw7B06dJ+rx955JE49dRTAYgvre+99x4WLFjQ77jdu3cjFArhm9/8ZsrrL7/8MoLBIP77v/87/trcuXMxePDgAQUcQgghzvCFL3wBgLivZ+Paa69FNBo1lGFu5j3JcL7Ojp75eiAyzeecywkhucDjjz+O6upqnHrqqTjjjDOyCun19fU466yzUFFRgSFDhuB73/seuru747/XM+cAzs472eYciZV18KuvvorPfvazCIVCmDx5ckYbjIPntwsvvBDHH388AODMM8+Ez+fDhAkT+r12wgknGG5nJn3AzDn0zKm7d+/GRRddhFGjRqGkpAQTJ07EpZdeit7eXlv+xpnQO2fn2rzs5HcRwLufm6SnSHUDCMlnzjzzTEyZMgU/+tGPoGka1q5dq/u9dXV1OProo+Hz+bB06VIMGzYMzz//PC666CK0trbi8ssvz/r+b3/72/jDH/6ApUuXYvr06WhoaMCrr76Kjz76CEcccQQ++OADHHfccaioqMBVV12FYDCIBx54ACeccAL+8Y9/2OK/99WvfhWffPIJnnjiCfzsZz/D0KFDAYiJKB1G23TWWWdh4sSJuO2227Bu3Tr86le/wvDhw/GTn/wka7v27NmD+vp6zJ49O+X1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L72EY489Ft/5zndQVFSEBx54AD09Pbj99ttt+xxz584FAPzwhz/EOeecg2AwiC9/+ctpz2ulTXoJBoOYNWsW7r///rgf2tNPPx3P5EieDCdNmoSZM2fi5Zdfxje/+c3462+//Ta+/vWv4+tf/zp++MMfAgCuuuoqrFixIm3k+O2330ZjYyNOP/10Wz4DIYQQd/jhD3+I3/zmN/j4448xY8YM29/D+TozeufrVatWoa+vLyUDs6urK749Gkg/n3MuJ4R4mb/85S9oa2vDaaedlvb3Rx99NIYNG4bHH38cZ599dvz1rVu34rTTTsOiRYvw+uuv47e//S2+9rWvYfbs2Whubh5wzgHcmXcyzTllZWWW1sE33XQTVq5cieOOOw7f+c53EIlEcO+992LGjBkp4r4dWGmnnec4mB/96Ed48cUXcfzxx+OSSy7BtGnTsHfvXjz99NN49dVXUVVVZft1jayxgdyZl418roG+j1BbyCM0QogpLrvsMi3TEFq2bJkGQNu/f3+/37344ovazJkzteLiYu2www7Tfvvb38aPP5i6ujrtsssu08aOHasFg0FtxIgR2kknnaQ9+OCDWdvW09OjXXnlldrs2bO18vJyraysTJs9e7b2v//7vynHrVu3Tlu4cKE2aNAgrbS0VDvxxBO11157LeWYhx9+WAOgbd261fTnuPnmm7XRo0drfr8/fq5M59XTpkx/30znPJh169Zpc+fO1UKhkDZjxgztwQcf1H79619rALTt27enHHvXXXdpgwYN0jo7OzVN07SdO3dqI0eO1D73uc9p3d3dKcdeeumlWjAY1D799NOU16+++mpt3LhxWiwWy9ouQggh1pDzwJtvvmnouGzvu+CCCzQA2owZM3RfK9N7Dobzdeo5D0bPfH3HHXdo5513Xsr7xo8fr7333nspryXP55zLCSFe58tf/rIWCoW0jo6OjMdceOGFWjAY1Orr6+P32w8//FA744wztPLycq26ulpbunSp1tXVpWma/jlH09yZd9LNORKz62BN07R//OMf2ty5c7Xi4mJt0qRJ2ooVK9JeP137X3nlFQ2A9vTTT2d9zWg7s+kDVs+R7nNs375dO//887Vhw4ZpJSUl2qRJk7TLLrtM6+npMXzdTIwfP15btmxZ/N9G1tialjvzst7Ppef7iJPawsH9QZzDp2k6KxIQQkgB0tLS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"/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||
</div>
|
||
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
|
||
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
|
||
<p>It's clear that the network successfully captures the periodicity of the solution, with the error also exhibiting a periodic pattern. Naturally, training for a longer duration or using a more expressive neural network could further improve the results.</p>
|
||
<h2 id="What's-next?">What's next?<a class="anchor-link" href="#What's-next?">¶</a></h2><p>Congratulations on completing the one-dimensional Helmholtz tutorial with <strong>PINA</strong>! Here are a few directions you can explore next:</p>
|
||
<ol>
|
||
<li><p><strong>Train longer or with different architectures</strong>: Experiment with extended training or modify the network's depth and width to evaluate improvements in accuracy.</p>
|
||
</li>
|
||
<li><p><strong>Apply <code>PeriodicBoundaryEmbedding</code> to time-dependent problems</strong>: Explore more complex scenarios such as spatiotemporal PDEs (see the official documentation for examples).</p>
|
||
</li>
|
||
<li><p><strong>Try extra feature training</strong>: Integrate additional physical or domain-specific features to guide the learning process more effectively.</p>
|
||
</li>
|
||
<li><p><strong>...and many more!</strong>: Extend to higher dimensions, test on other PDEs, or even develop custom embeddings tailored to your problem.</p>
|
||
</li>
|
||
</ol>
|
||
<p>For more resources and tutorials, check out the <a href="https://mathlab.github.io/PINA/">PINA Documentation</a>.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</main>
|
||
</body>
|
||
<script type="application/vnd.jupyter.widget-state+json">
|
||
{"state": {"d46e0f02c98c4c80aa9e79da352460c7": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets\/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": "2", "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "9c911dbeb8d94704a9fda8770dcb067d": {"model_name": "ProgressStyleModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": ""}}, "75c441ef9a874fab8a8e34d5f31d41b5": {"model_name": "FloatProgressModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets\/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_d46e0f02c98c4c80aa9e79da352460c7", "max": 1.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_9c911dbeb8d94704a9fda8770dcb067d", "tabbable": null, "tooltip": null, "value": 1.0}}, "caaa59daeabc46459f5fe14a4fa22d6a": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets\/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "28efffa27b54407b88683056585f0b4b": {"model_name": "HTMLStyleModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "c618412e385e4cc5a1fae77377912917": {"model_name": "HTMLModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets\/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_caaa59daeabc46459f5fe14a4fa22d6a", "placeholder": "\u200b", "style": "IPY_MODEL_28efffa27b54407b88683056585f0b4b", "tabbable": null, "tooltip": null, "value": "Epoch\u20071999:\u2007100%"}}, "d01684bf6cbc4d8eb84e829822e0f469": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets\/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "9b9a69bb417a44b3bf00769a0c2f229a": {"model_name": "HTMLStyleModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null}}, "7a74bd5557cc4cb7a25c7912081b4cba": {"model_name": "HTMLModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets\/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_d01684bf6cbc4d8eb84e829822e0f469", "placeholder": "\u200b", "style": "IPY_MODEL_9b9a69bb417a44b3bf00769a0c2f229a", "tabbable": null, "tooltip": null, "value": "\u20071\/1\u2007[00:00<00:00,\u200767.52it\/s,\u2007v_num=0,\u2007phys_cond_loss=0.0387,\u2007train_loss=0.0387]"}}, "21c91d96726e4a7a868159347f541205": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets\/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets\/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets\/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": "inline-flex", "flex": null, "flex_flow": "row wrap", "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": "100%"}}, "b7fff59e200d46f6acbaa75d5ff85418": {"model_name": "HBoxModel", "model_module": "@jupyter-widgets\/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets\/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets\/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": ["IPY_MODEL_c618412e385e4cc5a1fae77377912917", "IPY_MODEL_75c441ef9a874fab8a8e34d5f31d41b5", "IPY_MODEL_7a74bd5557cc4cb7a25c7912081b4cba"], "layout": "IPY_MODEL_21c91d96726e4a7a868159347f541205", "tabbable": null, "tooltip": null}}}, "version_major": 2, "version_minor": 0}
|
||
</script>
|
||
</html>
|