Attachment 'laminar_shape_factor.html'
<!DOCTYPE html> <html lang="en"> <head><meta charset="utf-8"/> <meta content="width=device-width, initial-scale=1.0" name="viewport"/> <title>Laminar shape factors</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> <style type="text/css"> pre { line-height: 125%; } td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: var(--jp-cell-editor-active-background) } .highlight { background: var(--jp-cell-editor-background); color: var(--jp-mirror-editor-variable-color) } .highlight .c { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment */ .highlight .err { color: var(--jp-mirror-editor-error-color) } /* Error */ .highlight .k { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword */ .highlight .o { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator */ .highlight .p { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation */ .highlight .ch { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Hashbang */ .highlight .cm { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Multiline */ .highlight .cp { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Preproc */ .highlight .cpf { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.PreprocFile */ .highlight .c1 { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Single */ .highlight .cs { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Special */ .highlight .kc { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Pseudo */ .highlight .kr { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Type */ .highlight .m { color: var(--jp-mirror-editor-number-color) } /* Literal.Number */ .highlight .s { color: var(--jp-mirror-editor-string-color) } /* Literal.String */ .highlight .ow { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator.Word */ .highlight .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" id="cell-id=a10e2c7f-5bf0-4fb4-b6a2-29e9b806788a"> <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>This notebook computes the variation of the shape factor of the Hartree profile for a given variation of the outer velocity. For verification we first consider a power-law variation of the outer velocity, such that the Hartree profiles should be exact.</p> </div> </div> </div> </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=8105f66f-0487-4d24-9985-49438b9a6ae8"> <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 [121]:</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="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> <span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span> </pre></div> </div> </div> </div> </div> </div> <div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=14bc3e64-9bde-4745-8865-b3755c2066b7"> <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="Parameters">Parameters<a class="anchor-link" href="#Parameters">¶</a></h1> </div> </div> </div> </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=de179182-7861-498c-9d7f-c55bce368a40"> <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 [122]:</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">N</span> <span class="o">=</span> <span class="mi">101</span> <span class="c1"># number of data points</span> <span class="c1"># Exponent of the outer velocity variation ~ x^m</span> <span class="n">beta</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="c1"># wedge angle [multiples of pi/2 rad]</span> <span class="n">m</span> <span class="o">=</span> <span class="n">beta</span> <span class="o">/</span> <span class="p">(</span><span class="mi">2</span><span class="o">-</span><span class="n">beta</span><span class="p">)</span> <span class="c1"># exponent</span> <span class="c1"># Shift and scale the outer velocity</span> <span class="n">x0</span> <span class="o">=</span> <span class="mf">1.0</span><span class="o">*</span><span class="p">(</span><span class="n">beta</span><span class="o"><=</span><span class="mi">0</span><span class="p">)</span> <span class="c1"># x-shift</span> <span class="n">B</span> <span class="o">=</span> <span class="mi">1</span> <span class="c1"># u-scale</span> <span class="c1"># Linear approximation of F_2(Gamma) = a - b * Gamma</span> <span class="n">a</span> <span class="o">=</span> <span class="mf">0.441</span> <span class="n">b</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">gamma</span><span class="p">:</span> <span class="mf">4.165</span><span class="o">*</span><span class="p">(</span><span class="n">gamma</span><span class="o">>=</span><span class="mi">0</span><span class="p">)</span> <span class="o">+</span> <span class="mf">4.579</span><span class="o">*</span><span class="p">(</span><span class="n">gamma</span><span class="o"><</span><span class="mi">0</span><span class="p">)</span> </pre></div> </div> </div> </div> </div> </div> <div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=c8111a66-a1f5-4a49-a82d-ea8cfc9da6c7"> <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="Outer-velocity-variation">Outer velocity variation<a class="anchor-link" href="#Outer-velocity-variation">¶</a></h1> </div> </div> </div> </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=fbe0b938-912f-48ef-a631-f9e65ff6ceec"> <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 [123]:</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">Ue</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">B</span><span class="o">*</span><span class="p">(</span><span class="n">x</span><span class="o">+</span><span class="n">x0</span><span class="p">)</span><span class="o">**</span><span class="n">m</span> </pre></div> </div> </div> </div> </div> </div> <div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=bad81741-4024-474f-8e41-86a6b8e80fbe"> <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="Produce-discrete-data">Produce discrete data<a class="anchor-link" href="#Produce-discrete-data">¶</a></h1> </div> </div> </div> </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=0f9c0d6a-ccf5-4b42-b7b2-c2e0e073b398"> <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 [124]:</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">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">N</span><span class="p">)</span> <span class="n">U</span> <span class="o">=</span> <span class="n">Ue</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> </pre></div> </div> </div> </div> </div> </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=5d37b2b1-17d0-4ee2-8495-f36c5d423385"> <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 [125]:</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">plt</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">U</span><span class="p">,</span><span class="s1">'.-'</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'$x$'</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="sa">r</span><span class="s1">'$U$'</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">xlim</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">)</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,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"/> </div> </div> </div> </div> </div> <div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=7b8ea2f1-bdb2-4fb5-bdc8-2b5a7fa6b7c7"> <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="Compute-Z(x)-recursively">Compute Z(x) recursively<a class="anchor-link" href="#Compute-Z(x)-recursively">¶</a></h1> </div> </div> </div> </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=8b6571df-82fe-4835-9a5a-4b5ddffeb35e"> <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 [126]:</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">Z</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">N</span><span class="p">)</span> <span class="n">G</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">N</span><span class="p">)</span> <span class="n">bip1</span> <span class="o">=</span> <span class="n">b</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="n">dU</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">diff</span><span class="p">(</span><span class="n">U</span><span class="p">)</span> <span class="n">dx</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">diff</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="n">dUdx</span> <span class="o">=</span> <span class="n">dU</span><span class="o">/</span><span class="n">dx</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">N</span><span class="o">-</span><span class="mi">1</span><span class="p">):</span> <span class="n">num</span> <span class="o">=</span> <span class="n">Z</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">a</span><span class="o">*</span><span class="n">dx</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="n">den</span> <span class="o">=</span> <span class="mi">1</span> <span class="o">+</span> <span class="n">bip1</span><span class="o">/</span><span class="n">U</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">dU</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="n">Z</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">num</span> <span class="o">/</span> <span class="n">den</span> <span class="n">G</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">Z</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span><span class="o">/</span><span class="n">U</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">dUdx</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">if</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">G</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">])</span> <span class="o">!=</span> <span class="n">np</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="n">G</span><span class="p">[</span><span class="n">i</span><span class="p">]):</span> <span class="n">bip1</span> <span class="o">=</span> <span class="n">b</span><span class="p">(</span><span class="n">G</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">])</span> <span class="n">den</span> <span class="o">=</span> <span class="mi">1</span> <span class="o">+</span> <span class="n">bi</span><span class="o">/</span><span class="n">U</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">dU</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="n">Z</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">num</span> <span class="o">/</span> <span class="n">den</span> <span class="n">G</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">Z</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span><span class="o">/</span><span class="n">U</span><span class="p">[</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">dUdx</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="n">G</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">nan</span> </pre></div> </div> </div> </div> </div> </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=23c61693-6c7c-4182-b462-0c54611e5547"> <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 [127]:</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">plt</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">Z</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'$x$'</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="sa">r</span><span class="s1">'$Z$'</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">xlim</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">)</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,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"/> </div> </div> </div> </div> </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=805702b6-1f95-47a4-906c-efd23adfc56f"> <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 [128]:</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">plt</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">G</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="sa">r</span><span class="s1">'$x$'</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="sa">r</span><span class="s1">'$\Gamma$'</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">xlim</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">ticklabel_format</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="s1">'y'</span><span class="p">,</span><span class="n">useOffset</span><span class="o">=</span><span class="kc">False</span><span class="p">)</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,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"/> </div> </div> </div> </div> </div> <div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=709d0e18-d5fc-4b95-86ae-a1299d914526"> <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>Compare to Table 8.1 in Schlichting and Gersten (2017), p. 197.</p> </div> </div> </div> </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=3634ca86-d579-45b6-a513-17dd7acae3e0"> <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 [129]:</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="nb">print</span><span class="p">(</span><span class="s1">'Gamma(1) = '</span><span class="p">,</span> <span class="n">G</span><span class="p">[</span><span class="o">-</span><span class="mi">1</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="text/plain" tabindex="0"> <pre>Gamma(1) = 0.061547784136039445 </pre> </div> </div> </div> </div> </div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=243d2040-7b7f-4fdf-95c4-519318ae89b1"> <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 [ ]:</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> </pre></div> </div> </div> </div> </div> </div> </main> </body> </html>
Attached Files
To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.- [get | view] (4922.3 KB) attachment:Boundary_layer.pdf
- [get | view] (337.7 KB) attachment:Course_organization.pdf
- [get | view] (306.3 KB) attachment:Falkner-Skan.html
- [get | view] (745.4 KB) attachment:Governing_Eqs.pdf
- [get | view] (5094.4 KB) attachment:Hess-Smith.pdf
- [get | view] (895.2 KB) attachment:Intro.pdf
- [get | view] (1724.6 KB) attachment:Panel_method_overview.pdf
- [get | view] (3573.7 KB) attachment:Subsonic_compressible_thin_profile.pdf
- [get | view] (202.8 KB) attachment:Subsonic_thin_profile.pdf
- [get | view] (251.6 KB) attachment:Syllabus.pdf
- [get | view] (486.8 KB) attachment:Types.pdf
- [get | view] (2925.7 KB) attachment:bl_effects.pdf
- [get | view] (189.4 KB) attachment:flat_plate.pdf
- [get | view] (3350.0 KB) attachment:integral_methods.pdf
- [get | view] (48.1 KB) attachment:integrals_subsonic_thin_profile.pdf
- [get | view] (993.8 KB) attachment:kutta-joukowski.pdf
- [get | view] (347.6 KB) attachment:laminar_shape_factor.html
- [get | view] (1376.3 KB) attachment:momentum-integral.pdf
- [get | view] (308.5 KB) attachment:naca.pdf
- [get | view] (4702.8 KB) attachment:panel_method_1.pdf
- [get | view] (1753.1 KB) attachment:similarity.pdf
- [get | view] (695.2 KB) attachment:singularity.pdf
- [get | view] (306.7 KB) attachment:subsonic_streamlines.pdf
- [get | view] (124.9 KB) attachment:subsonic_thin_profile_visualization.pdf
- [get | view] (438.0 KB) attachment:supersonic.pdf
- [get | view] (959.6 KB) attachment:supersonic_matlab.pdf
- [get | view] (82.4 KB) attachment:supersonic_python.pdf
- [get | view] (254.4 KB) attachment:supersonic_streamlines.pdf
- [get | view] (3098.6 KB) attachment:thin_airfoil_notes.pdf
- [get | view] (3806.9 KB) attachment:thin_airfoil_theory.pdf
- [get | view] (404.2 KB) attachment:thin_profile.pdf
- [get | view] (1739.7 KB) attachment:thin_profile_summary.pdf
- [get | view] (3467.0 KB) attachment:walz.pdf
- [get | view] (3206.9 KB) attachment:wave_equation.pdf
You are not allowed to attach a file to this page.