{ "cells": [ { "cell_type": "markdown", "id": "67372f34", "metadata": {}, "source": [ "# 3D Cell-cell Communication" ] }, { "cell_type": "markdown", "id": "930cbc80-6901-4af8-b99a-4072aa67d656", "metadata": {}, "source": [ "Cell-cell communication (CCC) refers to the process by which cells interact with each other, using molecular signals. The signals can be transmitted through various mechanisms, such as the release of signaling molecules called ligands by one cell that bind to receptors on another cell, or through direct physical contact between cells. CCC plays a critical role in a wide range of biological processes, including development, immune responses, and tissue repair, among others. \n", "\n", "In this section, we will provide a concise overview of the process for conducting the CCC analysis using Stereopy. Note that the CCC analysis, along with the Gene Regulatory Network analysis, form the core of the NicheReg3D pipeline [[Fang23]](https://doi.org/10.1101/2023.12.04.569485)." ] }, { "cell_type": "markdown", "id": "95bf3fcf-2192-4f4b-a174-7b79ea8d731a", "metadata": {}, "source": [ "## MSData construction" ] }, { "cell_type": "markdown", "id": "170f57ee-b191-4b64-b876-77d55e50e554", "metadata": { "execution": { "iopub.execute_input": "2023-10-25T06:39:23.936897Z", "iopub.status.busy": "2023-10-25T06:39:23.936025Z", "iopub.status.idle": "2023-10-25T06:39:23.951162Z", "shell.execute_reply": "2023-10-25T06:39:23.948386Z", "shell.execute_reply.started": "2023-10-25T06:39:23.936809Z" } }, "source": [ "The demo data used here is 59 samples of 2D mouse embryo heart stereo-seq data. Download [example data](http://116.6.21.110:8090/share/3ca60300-e8bd-4d67-8b68-14267e428523) and load them as a MSData." ] }, { "cell_type": "markdown", "id": "8e764b5a-9183-4d60-a4fb-9e347e78fd0f", "metadata": {}, "source": [ "### Data loading " ] }, { "cell_type": "code", "execution_count": 1, "id": "e800c1ed-a4c6-4286-8d19-d51a7700fb30", "metadata": { "execution": { "iopub.execute_input": "2023-11-13T08:08:35.229195Z", "iopub.status.busy": "2023-11-13T08:08:35.228581Z", "iopub.status.idle": "2023-11-13T08:10:29.765444Z", "shell.execute_reply": "2023-11-13T08:10:29.763340Z", "shell.execute_reply.started": "2023-11-13T08:08:35.229084Z" } }, "outputs": [ { "data": { "application/javascript": "(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, js_modules, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n if (js_modules == null) js_modules = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls.length === 0 && js_modules.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n var skip = [];\n if (window.requirejs) {\n window.requirejs.config({'packages': {}, 'paths': {'gridstack': 'https://cdn.jsdelivr.net/npm/gridstack@4.2.5/dist/gridstack-h5', 'notyf': 'https://cdn.jsdelivr.net/npm/notyf@3/notyf.min'}, 'shim': {'gridstack': {'exports': 'GridStack'}}});\n require([\"gridstack\"], function(GridStack) {\n\twindow.GridStack = GridStack\n\ton_load()\n })\n require([\"notyf\"], function() {\n\ton_load()\n })\n root._bokeh_is_loading = css_urls.length + 2;\n } else {\n root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length;\n } if (((window['GridStack'] !== undefined) && (!(window['GridStack'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.jsdelivr.net/npm/gridstack@4.2.5/dist/gridstack-h5.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } if (((window['Notyf'] !== undefined) && (!(window['Notyf'] instanceof HTMLElement))) || window.requirejs) {\n var urls = ['https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.js'];\n for (var i = 0; i < urls.length; i++) {\n skip.push(urls[i])\n }\n } for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n if (skip.indexOf(url) >= 0) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (var i = 0; i < js_modules.length; i++) {\n var url = js_modules[i];\n if (skip.indexOf(url) >= 0) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n if (!js_urls.length && !js_modules.length) {\n on_load()\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n var js_urls = [\"https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.js\"];\n var js_modules = [];\n var css_urls = [\"https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.css\", \"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css\"];\n var inline_js = [ function(Bokeh) {\n inject_raw_css(\"table.panel-df {\\n margin-left: auto;\\n margin-right: auto;\\n border: none;\\n border-collapse: collapse;\\n border-spacing: 0;\\n color: black;\\n font-size: 12px;\\n table-layout: fixed;\\n width: 100%;\\n}\\n\\n.panel-df tr, .panel-df th, .panel-df td {\\n text-align: right;\\n vertical-align: middle;\\n padding: 0.5em 0.5em !important;\\n line-height: normal;\\n white-space: normal;\\n max-width: none;\\n border: none;\\n}\\n\\n.panel-df tbody {\\n display: table-row-group;\\n vertical-align: middle;\\n border-color: inherit;\\n}\\n\\n.panel-df tbody tr:nth-child(odd) {\\n background: #f5f5f5;\\n}\\n\\n.panel-df thead {\\n border-bottom: 1px solid black;\\n vertical-align: bottom;\\n}\\n\\n.panel-df tr:hover {\\n background: lightblue !important;\\n cursor: pointer;\\n}\\n\");\n }, function(Bokeh) {\n inject_raw_css(\".bk.alert {\\n padding: 0.75rem 1.25rem;\\n border: 1px solid transparent;\\n border-radius: 0.25rem;\\n /* Don't set margin because that will not render correctly! */\\n /* margin-bottom: 1rem; */\\n margin-top: 15px;\\n margin-bottom: 15px;\\n}\\n.bk.alert a {\\n color: rgb(11, 46, 19); /* #002752; */\\n font-weight: 700;\\n text-decoration: rgb(11, 46, 19);\\n text-decoration-color: rgb(11, 46, 19);\\n text-decoration-line: none;\\n text-decoration-style: solid;\\n text-decoration-thickness: auto;\\n }\\n.bk.alert a:hover {\\n color: rgb(11, 46, 19);\\n font-weight: 700;\\n text-decoration: underline;\\n}\\n\\n.bk.alert-primary {\\n color: #004085;\\n background-color: #cce5ff;\\n border-color: #b8daff;\\n}\\n.bk.alert-primary hr {\\n border-top-color: #9fcdff;\\n}\\n\\n.bk.alert-secondary {\\n color: #383d41;\\n background-color: #e2e3e5;\\n border-color: #d6d8db;\\n }\\n.bk.alert-secondary hr {\\n border-top-color: #c8cbcf;\\n}\\n\\n.bk.alert-success {\\n color: #155724;\\n background-color: #d4edda;\\n border-color: #c3e6cb;\\n }\\n\\n.bk.alert-success hr {\\n border-top-color: #b1dfbb;\\n}\\n\\n.bk.alert-info {\\n color: #0c5460;\\n background-color: #d1ecf1;\\n border-color: #bee5eb;\\n }\\n.bk.alert-info hr {\\n border-top-color: #abdde5;\\n}\\n\\n.bk.alert-warning {\\n color: #856404;\\n background-color: #fff3cd;\\n border-color: #ffeeba;\\n }\\n\\n.bk.alert-warning hr {\\n border-top-color: #ffe8a1;\\n}\\n\\n.bk.alert-danger {\\n color: #721c24;\\n background-color: #f8d7da;\\n border-color: #f5c6cb;\\n}\\n.bk.alert-danger hr {\\n border-top-color: #f1b0b7;\\n}\\n\\n.bk.alert-light {\\n color: #818182;\\n background-color: #fefefe;\\n border-color: #fdfdfe;\\n }\\n.bk.alert-light hr {\\n border-top-color: #ececf6;\\n}\\n\\n.bk.alert-dark {\\n color: #1b1e21;\\n background-color: #d6d8d9;\\n border-color: #c6c8ca;\\n }\\n.bk.alert-dark hr {\\n border-top-color: #b9bbbe;\\n}\\n\\n\\n/* adjf\\u00e6l */\\n\\n.bk.alert-primary a {\\n color: #002752;\\n}\\n\\n.bk.alert-secondary a {\\n color: #202326;\\n}\\n\\n\\n.bk.alert-success a {\\n color: #0b2e13;\\n}\\n\\n\\n.bk.alert-info a {\\n color: #062c33;\\n}\\n\\n\\n.bk.alert-warning a {\\n color: #533f03;\\n}\\n\\n\\n.bk.alert-danger a {\\n color: #491217;\\n}\\n\\n.bk.alert-light a {\\n color: #686868;\\n}\\n\\n.bk.alert-dark a {\\n color: #040505;\\n}\\n\");\n }, function(Bokeh) {\n inject_raw_css(\".codehilite .hll { background-color: #ffffcc }\\n.codehilite { background: #f8f8f8; }\\n.codehilite .c { color: #408080; font-style: italic } /* Comment */\\n.codehilite .err { border: 1px solid #FF0000 } /* Error */\\n.codehilite .k { color: #008000; font-weight: bold } /* Keyword */\\n.codehilite .o { color: #666666 } /* Operator */\\n.codehilite .ch { color: #408080; font-style: italic } /* Comment.Hashbang */\\n.codehilite .cm { color: #408080; font-style: italic } /* Comment.Multiline */\\n.codehilite .cp { color: #BC7A00 } /* Comment.Preproc */\\n.codehilite .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */\\n.codehilite .c1 { color: #408080; font-style: italic } /* Comment.Single */\\n.codehilite .cs { color: #408080; font-style: italic } /* Comment.Special */\\n.codehilite .gd { color: #A00000 } /* Generic.Deleted */\\n.codehilite .ge { font-style: italic } /* Generic.Emph */\\n.codehilite .gr { color: #FF0000 } /* Generic.Error */\\n.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */\\n.codehilite .gi { color: #00A000 } /* Generic.Inserted */\\n.codehilite .go { color: #888888 } /* Generic.Output */\\n.codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\\n.codehilite .gs { font-weight: bold } /* Generic.Strong */\\n.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\\n.codehilite .gt { color: #0044DD } /* Generic.Traceback */\\n.codehilite .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\\n.codehilite .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\\n.codehilite .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\\n.codehilite .kp { color: #008000 } /* Keyword.Pseudo */\\n.codehilite .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\\n.codehilite .kt { color: #B00040 } /* Keyword.Type */\\n.codehilite .m { color: #666666 } /* Literal.Number */\\n.codehilite .s { color: #BA2121 } /* Literal.String */\\n.codehilite .na { color: #7D9029 } /* Name.Attribute */\\n.codehilite .nb { color: #008000 } /* Name.Builtin */\\n.codehilite .nc { color: #0000FF; font-weight: bold } /* Name.Class */\\n.codehilite .no { color: #880000 } /* Name.Constant */\\n.codehilite .nd { color: #AA22FF } /* Name.Decorator */\\n.codehilite .ni { color: #999999; font-weight: bold } /* Name.Entity */\\n.codehilite .ne { color: #D2413A; font-weight: bold } /* Name.Exception */\\n.codehilite .nf { color: #0000FF } /* Name.Function */\\n.codehilite .nl { color: #A0A000 } /* Name.Label */\\n.codehilite .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\\n.codehilite .nt { color: #008000; font-weight: bold } /* Name.Tag */\\n.codehilite .nv { color: #19177C } /* Name.Variable */\\n.codehilite .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\\n.codehilite .w { color: #bbbbbb } /* Text.Whitespace */\\n.codehilite .mb { color: #666666 } /* Literal.Number.Bin */\\n.codehilite .mf { color: #666666 } /* Literal.Number.Float */\\n.codehilite .mh { color: #666666 } /* Literal.Number.Hex */\\n.codehilite .mi { color: #666666 } /* Literal.Number.Integer */\\n.codehilite .mo { color: #666666 } /* Literal.Number.Oct */\\n.codehilite .sa { color: #BA2121 } /* Literal.String.Affix */\\n.codehilite .sb { color: #BA2121 } /* Literal.String.Backtick */\\n.codehilite .sc { color: #BA2121 } /* Literal.String.Char */\\n.codehilite .dl { color: #BA2121 } /* Literal.String.Delimiter */\\n.codehilite .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\\n.codehilite .s2 { color: #BA2121 } /* Literal.String.Double */\\n.codehilite .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */\\n.codehilite .sh { color: #BA2121 } /* Literal.String.Heredoc */\\n.codehilite .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */\\n.codehilite .sx { color: #008000 } /* Literal.String.Other */\\n.codehilite .sr { color: #BB6688 } /* Literal.String.Regex */\\n.codehilite .s1 { color: #BA2121 } /* Literal.String.Single */\\n.codehilite .ss { color: #19177C } /* Literal.String.Symbol */\\n.codehilite .bp { color: #008000 } /* Name.Builtin.Pseudo */\\n.codehilite .fm { color: #0000FF } /* Name.Function.Magic */\\n.codehilite .vc { color: #19177C } /* Name.Variable.Class */\\n.codehilite .vg { color: #19177C } /* Name.Variable.Global */\\n.codehilite .vi { color: #19177C } /* Name.Variable.Instance */\\n.codehilite .vm { color: #19177C } /* Name.Variable.Magic */\\n.codehilite .il { color: #666666 } /* Literal.Number.Integer.Long */\\n\\n.markdown h1 { margin-block-start: 0.34em }\\n.markdown h2 { margin-block-start: 0.42em }\\n.markdown h3 { margin-block-start: 0.5em }\\n.markdown h4 { margin-block-start: 0.67em }\\n.markdown h5 { margin-block-start: 0.84em }\\n.markdown h6 { margin-block-start: 1.17em }\\n.markdown ul { padding-inline-start: 2em }\\n.markdown ol { padding-inline-start: 2em }\\n.markdown strong { font-weight: 600 }\\n.markdown a { color: -webkit-link }\\n.markdown a { color: -moz-hyperlinkText }\\n\");\n }, function(Bokeh) {\n inject_raw_css(\".bk.debugger-card {\\n border: 1px solid rgba(0,0,0,1);\\n color: rgba(255,255,255,1);\\n background-color: rgba(0,0,0,1);\\n border-radius: 0rem;\\n}\\n.bk.debugger-card-header {\\n align-items: center;\\n text-align: left;\\n background-color: rgba(0, 0, 0, 1)!important;\\n color: rgba(255, 255, 255, 1);\\n border-radius: 0rem;\\n display: inline-flex;\\n justify-content: start;\\n width: 100%;\\n}\\n.bk.debugger-card-button {\\n background-color: transparent;\\n color: rgba(255, 255, 255, 1);\\n margin-left: 0.5em;\\n}\\n.bk.debugger-card-title {\\n align-items: center;\\n text-align: left;\\n color: rgba(255, 255, 255, 1);\\n font-size: 1em;\\n overflow-wrap: break-word;\\n}\\n\\n/* Special debugger buttons for clearing and saving */\\n.bk button.special_btn {\\n width: 25px;\\n height: 25px;\\n background-color: black;\\n color: white;\\n display: inline-block;\\n}\\n\\n\\n.bk button.special_btn .tooltiptext {\\n visibility: hidden;\\n width: 100px;\\n background-color: darkgray;\\n color: #fff;\\n text-align: center;\\n border-radius: 6px;\\n padding: 5px 0;\\n\\n /* Position the tooltip */\\n position: relative;\\n z-index: 1;\\n top: 100%;\\n left: 100%;\\n margin-left: -100px;\\n display: block;\\n}\\n\\n.bk button.special_btn:hover .tooltiptext {\\n visibility: visible;\\n}\\n\\n\\n\\n.bk button.clear_btn:hover .shown { display: none;}\\n.bk button.clear_btn:hover:before { content: \\\"\\u2611\\\"; }\\n\");\n }, function(Bokeh) {\n inject_raw_css(\".bk.panel-widget-box {\\n min-height: 20px;\\n background-color: #f5f5f5;\\n border: 1px solid #e3e3e3;\\n border-radius: 4px;\\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.05);\\n box-shadow: inset 0 1px 1px rgba(0,0,0,.05);\\n overflow-x: hidden;\\n overflow-y: hidden;\\n}\\n\\n.scrollable {\\n overflow: scroll;\\n}\\n\\nprogress {\\n appearance: none;\\n -moz-appearance: none;\\n -webkit-appearance: none;\\n border: none;\\n height: 20px;\\n background-color: whiteSmoke;\\n border-radius: 3px;\\n box-shadow: 0 2px 3px rgba(0,0,0,.5) inset;\\n color: royalblue;\\n position: relative;\\n margin: 0 0 1.5em;\\n}\\n\\nprogress[value]::-webkit-progress-bar {\\n background-color: whiteSmoke;\\n border-radius: 3px;\\n box-shadow: 0 2px 3px rgba(0,0,0,.5) inset;\\n}\\n\\nprogress[value]::-webkit-progress-value {\\n position: relative;\\n background-size: 35px 20px, 100% 100%, 100% 100%;\\n border-radius:3px;\\n}\\n\\nprogress.active:not([value])::before {\\n background-position: 10%;\\n animation-name: stripes;\\n animation-duration: 3s;\\n animation-timing-function: linear;\\n animation-iteration-count: infinite;\\n}\\n\\nprogress[value]::-moz-progress-bar {\\n background-size: 35px 20px, 100% 100%, 100% 100%;\\n border-radius:3px;\\n}\\n\\nprogress:not([value])::-moz-progress-bar {\\n border-radius:3px;\\n background: linear-gradient(-45deg, transparent 33%, rgba(0, 0, 0, 0.2) 33%, rgba(0, 0, 0, 0.2) 66%, transparent 66%) left/2.5em 1.5em;\\n}\\n\\nprogress.active:not([value])::-moz-progress-bar {\\n background-position: 10%;\\n animation-name: stripes;\\n animation-duration: 3s;\\n animation-timing-function: linear;\\n animation-iteration-count: infinite;\\n}\\n\\nprogress.active:not([value])::-webkit-progress-bar {\\n background-position: 10%;\\n animation-name: stripes;\\n animation-duration: 3s;\\n animation-timing-function: linear;\\n animation-iteration-count: infinite;\\n}\\n\\nprogress.primary[value]::-webkit-progress-value { background-color: #007bff; }\\nprogress.primary:not([value])::before { background-color: #007bff; }\\nprogress.primary:not([value])::-webkit-progress-bar { background-color: #007bff; }\\nprogress.primary::-moz-progress-bar { background-color: #007bff; }\\n\\nprogress.secondary[value]::-webkit-progress-value { background-color: #6c757d; }\\nprogress.secondary:not([value])::before { background-color: #6c757d; }\\nprogress.secondary:not([value])::-webkit-progress-bar { background-color: #6c757d; }\\nprogress.secondary::-moz-progress-bar { background-color: #6c757d; }\\n\\nprogress.success[value]::-webkit-progress-value { background-color: #28a745; }\\nprogress.success:not([value])::before { background-color: #28a745; }\\nprogress.success:not([value])::-webkit-progress-bar { background-color: #28a745; }\\nprogress.success::-moz-progress-bar { background-color: #28a745; }\\n\\nprogress.danger[value]::-webkit-progress-value { background-color: #dc3545; }\\nprogress.danger:not([value])::before { background-color: #dc3545; }\\nprogress.danger:not([value])::-webkit-progress-bar { background-color: #dc3545; }\\nprogress.danger::-moz-progress-bar { background-color: #dc3545; }\\n\\nprogress.warning[value]::-webkit-progress-value { background-color: #ffc107; }\\nprogress.warning:not([value])::before { background-color: #ffc107; }\\nprogress.warning:not([value])::-webkit-progress-bar { background-color: #ffc107; }\\nprogress.warning::-moz-progress-bar { background-color: #ffc107; }\\n\\nprogress.info[value]::-webkit-progress-value { background-color: #17a2b8; }\\nprogress.info:not([value])::before { background-color: #17a2b8; }\\nprogress.info:not([value])::-webkit-progress-bar { background-color: #17a2b8; }\\nprogress.info::-moz-progress-bar { background-color: #17a2b8; }\\n\\nprogress.light[value]::-webkit-progress-value { background-color: #f8f9fa; }\\nprogress.light:not([value])::before { background-color: #f8f9fa; }\\nprogress.light:not([value])::-webkit-progress-bar { background-color: #f8f9fa; }\\nprogress.light::-moz-progress-bar { background-color: #f8f9fa; }\\n\\nprogress.dark[value]::-webkit-progress-value { background-color: #343a40; }\\nprogress.dark:not([value])::-webkit-progress-bar { background-color: #343a40; }\\nprogress.dark:not([value])::before { background-color: #343a40; }\\nprogress.dark::-moz-progress-bar { background-color: #343a40; }\\n\\nprogress:not([value])::-webkit-progress-bar {\\n border-radius: 3px;\\n background: linear-gradient(-45deg, transparent 33%, rgba(0, 0, 0, 0.2) 33%, rgba(0, 0, 0, 0.2) 66%, transparent 66%) left/2.5em 1.5em;\\n}\\nprogress:not([value])::before {\\n content:\\\" \\\";\\n position:absolute;\\n height: 20px;\\n top:0;\\n left:0;\\n right:0;\\n bottom:0;\\n border-radius: 3px;\\n background: linear-gradient(-45deg, transparent 33%, rgba(0, 0, 0, 0.2) 33%, rgba(0, 0, 0, 0.2) 66%, transparent 66%) left/2.5em 1.5em;\\n}\\n\\n@keyframes stripes {\\n from {background-position: 0%}\\n to {background-position: 100%}\\n}\\n\\n.bk-root .bk.loader {\\n overflow: hidden;\\n}\\n\\n.bk.loader::after {\\n content: \\\"\\\";\\n border-radius: 50%;\\n -webkit-mask-image: radial-gradient(transparent 50%, rgba(0, 0, 0, 1) 54%);\\n width: 100%;\\n height: 100%;\\n left: 0;\\n top: 0;\\n position: absolute;\\n}\\n\\n.bk-root .bk.loader.dark::after {\\n background: #0f0f0f;\\n}\\n\\n.bk-root .bk.loader.light::after {\\n background: #f0f0f0;\\n}\\n\\n.bk-root .bk.loader.spin::after {\\n animation: spin 2s linear infinite;\\n}\\n\\n.bk-root div.bk.loader.spin.primary-light::after {\\n background: linear-gradient(135deg, #f0f0f0 50%, transparent 50%), linear-gradient(45deg, #f0f0f0 50%, #007bff 50%);\\n}\\n\\n.bk-root div.bk.loader.spin.secondary-light::after {\\n background: linear-gradient(135deg, #f0f0f0 50%, transparent 50%), linear-gradient(45deg, #f0f0f0 50%, #6c757d 50%);\\n}\\n\\n.bk-root div.bk.loader.spin.success-light::after {\\n background: linear-gradient(135deg, #f0f0f0 50%, transparent 50%), linear-gradient(45deg, #f0f0f0 50%, #28a745 50%);\\n}\\n\\n.bk-root div.bk.loader.spin.danger-light::after {\\n background: linear-gradient(135deg, #f0f0f0 50%, transparent 50%), linear-gradient(45deg, #f0f0f0 50%, #dc3545 50%);\\n}\\n\\n.bk-root div.bk.loader.spin.warning-light::after {\\n background: linear-gradient(135deg, #f0f0f0 50%, transparent 50%), linear-gradient(45deg, #f0f0f0 50%, #ffc107 50%);\\n}\\n\\n.bk-root div.bk.loader.spin.info-light::after {\\n background: linear-gradient(135deg, #f0f0f0 50%, transparent 50%), linear-gradient(45deg, #f0f0f0 50%, #17a2b8 50%);\\n}\\n\\n.bk-root div.bk.loader.spin.light-light::after {\\n background: linear-gradient(135deg, #f0f0f0 50%, transparent 50%), linear-gradient(45deg, #f0f0f0 50%, #f8f9fa 50%);\\n}\\n\\n.bk-root div.bk.loader.dark-light::after {\\n background: linear-gradient(135deg, #f0f0f0 50%, transparent 50%), linear-gradient(45deg, #f0f0f0 50%, #343a40 50%);\\n}\\n\\n.bk-root div.bk.loader.spin.primary-dark::after {\\n background: linear-gradient(135deg, #0f0f0f 50%, transparent 50%), linear-gradient(45deg, #0f0f0f 50%, #007bff 50%);\\n}\\n\\n.bk-root div.bk.loader.spin.secondary-dark::after {\\n background: linear-gradient(135deg, #0f0f0f 50%, transparent 50%), linear-gradient(45deg, #0f0f0f 50%, #6c757d 50%);\\n}\\n\\n.bk-root div.bk.loader.spin.success-dark::after {\\n background: linear-gradient(135deg, #0f0f0f 50%, transparent 50%), linear-gradient(45deg, #0f0f0f 50%, #28a745 50%);\\n}\\n\\n.bk-root div.bk.loader.spin.danger-dark::after {\\n background: linear-gradient(135deg, #0f0f0f 50%, transparent 50%), linear-gradient(45deg, #0f0f0f 50%, #dc3545 50%)\\n}\\n\\n.bk-root div.bk.loader.spin.warning-dark::after {\\n background: linear-gradient(135deg, #0f0f0f 50%, transparent 50%), linear-gradient(45deg, #0f0f0f 50%, #ffc107 50%);\\n}\\n\\n.bk-root div.bk.loader.spin.info-dark::after {\\n background: linear-gradient(135deg, #0f0f0f 50%, transparent 50%), linear-gradient(45deg, #0f0f0f 50%, #17a2b8 50%);\\n}\\n\\n.bk-root div.bk.loader.spin.light-dark::after {\\n background: linear-gradient(135deg, #0f0f0f 50%, transparent 50%), linear-gradient(45deg, #0f0f0f 50%, #f8f9fa 50%);\\n}\\n\\n.bk-root div.bk.loader.spin.dark-dark::after {\\n background: linear-gradient(135deg, #0f0f0f 50%, transparent 50%), linear-gradient(45deg, #0f0f0f 50%, #343a40 50%);\\n}\\n\\n/* Safari */\\n@-webkit-keyframes spin {\\n 0% { -webkit-transform: rotate(0deg); }\\n 100% { -webkit-transform: rotate(360deg); }\\n}\\n\\n@keyframes spin {\\n 0% { transform: rotate(0deg); }\\n 100% { transform: rotate(360deg); }\\n}\\n\\n.dot div {\\n height: 100%;\\n width: 100%;\\n border: 1px solid #000 !important;\\n background-color: #fff;\\n border-radius: 50%;\\n display: inline-block;\\n}\\n\\n.dot-filled div {\\n height: 100%;\\n width: 100%;\\n border: 1px solid #000 !important;\\n border-radius: 50%;\\n display: inline-block;\\n}\\n\\n.dot-filled.primary div {\\n background-color: #007bff;\\n}\\n\\n.dot-filled.secondary div {\\n background-color: #6c757d;\\n}\\n\\n.dot-filled.success div {\\n background-color: #28a745;\\n}\\n\\n.dot-filled.danger div {\\n background-color: #dc3545;\\n}\\n\\n.dot-filled.warning div {\\n background-color: #ffc107;\\n}\\n\\n.dot-filled.info div {\\n background-color: #17a2b8;\\n}\\n\\n.dot-filled.dark div {\\n background-color: #343a40;\\n}\\n\\n.dot-filled.light div {\\n background-color: #f8f9fa;\\n}\\n\\n/* Slider editor */\\n.slider-edit .bk-input-group .bk-input {\\n border: 0;\\n border-radius: 0;\\n min-height: 0;\\n padding-left: 0;\\n padding-right: 0;\\n font-weight: bold;\\n}\\n\\n.slider-edit .bk-input-group .bk-spin-wrapper {\\n display: contents;\\n}\\n\\n.slider-edit .bk-input-group .bk-spin-wrapper .bk.bk-spin-btn-up {\\n top: -6px;\\n}\\n\\n.slider-edit .bk-input-group .bk-spin-wrapper .bk.bk-spin-btn-down {\\n bottom: 3px;\\n}\\n\\n/* JSON Pane */\\n.bk-root .json-formatter-row .json-formatter-string, .bk-root .json-formatter-row .json-formatter-stringifiable {\\n white-space: pre-wrap;\\n}\\n\\n.ql-bubble .ql-editor {\\n border: 1px solid #ccc;\\n}\\n\");\n }, function(Bokeh) {\n inject_raw_css(\".bk.pn-loading:before {\\n position: absolute;\\n height: 100%;\\n width: 100%;\\n content: '';\\n z-index: 1000;\\n background-color: rgb(255,255,255,0.50);\\n border-color: lightgray;\\n background-repeat: no-repeat;\\n background-position: center;\\n background-size: auto 50%;\\n border-width: 1px;\\n cursor: progress;\\n}\\n.bk.pn-loading.arcs:hover:before {\\n cursor: progress;\\n}\\n\");\n }, function(Bokeh) {\n inject_raw_css(\".bk.card {\\n border: 1px solid rgba(0,0,0,.125);\\n border-radius: 0.25rem;\\n}\\n.bk.accordion {\\n border: 1px solid rgba(0,0,0,.125);\\n}\\n.bk.card-header {\\n align-items: center;\\n background-color: rgba(0, 0, 0, 0.03);\\n border-radius: 0.25rem;\\n display: inline-flex;\\n justify-content: start;\\n width: 100%;\\n}\\n.bk.accordion-header {\\n align-items: center;\\n background-color: rgba(0, 0, 0, 0.03);\\n border-radius: 0;\\n display: flex;\\n justify-content: start;\\n width: 100%;\\n}\\n.bk.card-button {\\n background-color: transparent;\\n margin-left: 0.5em;\\n}\\n.bk.card-header-row {\\n position: relative !important;\\n}\\n.bk.card-title {\\n align-items: center;\\n font-size: 1.4em;\\n font-weight: bold;\\n overflow-wrap: break-word;\\n}\\n.bk.card-header-row > .bk {\\n overflow-wrap: break-word;\\n text-align: center;\\n}\\n\");\n }, function(Bokeh) {\n inject_raw_css(\".json-formatter-row {\\n font-family: monospace;\\n}\\n.json-formatter-row,\\n.json-formatter-row a,\\n.json-formatter-row a:hover {\\n color: black;\\n text-decoration: none;\\n}\\n.json-formatter-row .json-formatter-row {\\n margin-left: 1rem;\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty {\\n opacity: 0.5;\\n margin-left: 1rem;\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty:after {\\n display: none;\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\\n content: \\\"No properties\\\";\\n}\\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\\n content: \\\"[]\\\";\\n}\\n.json-formatter-row .json-formatter-string,\\n.json-formatter-row .json-formatter-stringifiable {\\n color: green;\\n white-space: pre;\\n word-wrap: break-word;\\n}\\n.json-formatter-row .json-formatter-number {\\n color: blue;\\n}\\n.json-formatter-row .json-formatter-boolean {\\n color: red;\\n}\\n.json-formatter-row .json-formatter-null {\\n color: #855A00;\\n}\\n.json-formatter-row .json-formatter-undefined {\\n color: #ca0b69;\\n}\\n.json-formatter-row .json-formatter-function {\\n color: #FF20ED;\\n}\\n.json-formatter-row .json-formatter-date {\\n background-color: rgba(0, 0, 0, 0.05);\\n}\\n.json-formatter-row .json-formatter-url {\\n text-decoration: underline;\\n color: blue;\\n cursor: pointer;\\n}\\n.json-formatter-row .json-formatter-bracket {\\n color: blue;\\n}\\n.json-formatter-row .json-formatter-key {\\n color: #00008B;\\n padding-right: 0.2rem;\\n}\\n.json-formatter-row .json-formatter-toggler-link {\\n cursor: pointer;\\n}\\n.json-formatter-row .json-formatter-toggler {\\n line-height: 1.2rem;\\n font-size: 0.7rem;\\n vertical-align: middle;\\n opacity: 0.6;\\n cursor: pointer;\\n padding-right: 0.2rem;\\n}\\n.json-formatter-row .json-formatter-toggler:after {\\n display: inline-block;\\n transition: transform 100ms ease-in;\\n content: \\\"\\\\25BA\\\";\\n}\\n.json-formatter-row > a > .json-formatter-preview-text {\\n opacity: 0;\\n transition: opacity 0.15s ease-in;\\n font-style: italic;\\n}\\n.json-formatter-row:hover > a > .json-formatter-preview-text {\\n opacity: 0.6;\\n}\\n.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\\n transform: rotate(90deg);\\n}\\n.json-formatter-row.json-formatter-open > .json-formatter-children:after {\\n display: inline-block;\\n}\\n.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\\n display: none;\\n}\\n.json-formatter-row.json-formatter-open.json-formatter-empty:after {\\n display: block;\\n}\\n.json-formatter-dark.json-formatter-row {\\n font-family: monospace;\\n}\\n.json-formatter-dark.json-formatter-row,\\n.json-formatter-dark.json-formatter-row a,\\n.json-formatter-dark.json-formatter-row a:hover {\\n color: white;\\n text-decoration: none;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-row {\\n margin-left: 1rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty {\\n opacity: 0.5;\\n margin-left: 1rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty:after {\\n display: none;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\\n content: \\\"No properties\\\";\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\\n content: \\\"[]\\\";\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-string,\\n.json-formatter-dark.json-formatter-row .json-formatter-stringifiable {\\n color: #31F031;\\n white-space: pre;\\n word-wrap: break-word;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-number {\\n color: #66C2FF;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-boolean {\\n color: #EC4242;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-null {\\n color: #EEC97D;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-undefined {\\n color: #ef8fbe;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-function {\\n color: #FD48CB;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-date {\\n background-color: rgba(255, 255, 255, 0.05);\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-url {\\n text-decoration: underline;\\n color: #027BFF;\\n cursor: pointer;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-bracket {\\n color: #9494FF;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-key {\\n color: #23A0DB;\\n padding-right: 0.2rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-toggler-link {\\n cursor: pointer;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-toggler {\\n line-height: 1.2rem;\\n font-size: 0.7rem;\\n vertical-align: middle;\\n opacity: 0.6;\\n cursor: pointer;\\n padding-right: 0.2rem;\\n}\\n.json-formatter-dark.json-formatter-row .json-formatter-toggler:after {\\n display: inline-block;\\n transition: transform 100ms ease-in;\\n content: \\\"\\\\25BA\\\";\\n}\\n.json-formatter-dark.json-formatter-row > a > .json-formatter-preview-text {\\n opacity: 0;\\n transition: opacity 0.15s ease-in;\\n font-style: italic;\\n}\\n.json-formatter-dark.json-formatter-row:hover > a > .json-formatter-preview-text {\\n opacity: 0.6;\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\\n transform: rotate(90deg);\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-children:after {\\n display: inline-block;\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\\n display: none;\\n}\\n.json-formatter-dark.json-formatter-row.json-formatter-open.json-formatter-empty:after {\\n display: block;\\n}\\n\");\n }, function(Bokeh) {\n inject_raw_css(\"\\n .bk.pn-loading.arcs:before {\\n background-image: url(\\\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBzdHlsZT0ibWFyZ2luOiBhdXRvOyBiYWNrZ3JvdW5kOiBub25lOyBkaXNwbGF5OiBibG9jazsgc2hhcGUtcmVuZGVyaW5nOiBhdXRvOyIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4gIDxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjMyIiBzdHJva2Utd2lkdGg9IjgiIHN0cm9rZT0iI2MzYzNjMyIgc3Ryb2tlLWRhc2hhcnJheT0iNTAuMjY1NDgyNDU3NDM2NjkgNTAuMjY1NDgyNDU3NDM2NjkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+ICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxcyIga2V5VGltZXM9IjA7MSIgdmFsdWVzPSIwIDUwIDUwOzM2MCA1MCA1MCI+PC9hbmltYXRlVHJhbnNmb3JtPiAgPC9jaXJjbGU+PC9zdmc+\\\");\\n background-size: auto calc(min(50%, 400px));\\n }\\n \");\n }, function(Bokeh) {\n /* BEGIN bokeh.min.js */\n /*!\n * Copyright (c) 2012 - 2022, Anaconda, Inc., and Bokeh Contributors\n * All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n * \n * Redistributions of source code must retain the above copyright notice,\n * this list of conditions and the following disclaimer.\n * \n * Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n * \n * Neither the name of Anaconda nor the names of any contributors\n * may be used to endorse or promote products derived from this software\n * without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n * THE POSSIBILITY OF SUCH DAMAGE.\n */\n (function(root, factory) {\n const bokeh = factory();\n bokeh.__bokeh__ = true;\n if (typeof root.Bokeh === \"undefined\" || typeof root.Bokeh.__bokeh__ === \"undefined\") {\n root.Bokeh = bokeh;\n }\n const Bokeh = root.Bokeh;\n Bokeh[bokeh.version] = bokeh;\n })(this, function() {\n let define;\n const parent_require = typeof require === \"function\" && require\n return (function(modules, entry, aliases, externals) {\n if (aliases === undefined) aliases = {};\n if (externals === undefined) externals = {};\n\n const cache = {};\n\n const normalize = function(name) {\n if (typeof name === \"number\")\n return name;\n\n if (name === \"bokehjs\")\n return entry;\n\n if (!externals[name]) {\n const prefix = \"@bokehjs/\"\n if (name.slice(0, prefix.length) === prefix)\n name = name.slice(prefix.length)\n }\n\n const alias = aliases[name]\n if (alias != null)\n return alias;\n\n const trailing = name.length > 0 && name[name.lenght-1] === \"/\";\n const index = aliases[name + (trailing ? \"\" : \"/\") + \"index\"];\n if (index != null)\n return index;\n\n return name;\n }\n\n const require = function(name) {\n let mod = cache[name];\n if (!mod) {\n const id = normalize(name);\n\n mod = cache[id];\n if (!mod) {\n if (!modules[id]) {\n if (externals[id] === false || (externals[id] == true && parent_require)) {\n try {\n mod = {exports: externals[id] ? parent_require(id) : {}};\n cache[id] = cache[name] = mod;\n return mod.exports;\n } catch (e) {}\n }\n\n const err = new Error(\"Cannot find module '\" + name + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n }\n\n mod = {exports: {}};\n cache[id] = cache[name] = mod;\n\n function __esModule() {\n Object.defineProperty(mod.exports, \"__esModule\", {value: true});\n }\n\n function __esExport(name, value) {\n Object.defineProperty(mod.exports, name, {\n enumerable: true, get: function () { return value; }\n });\n }\n\n modules[id].call(mod.exports, require, mod, mod.exports, __esModule, __esExport);\n } else {\n cache[name] = mod;\n }\n }\n\n return mod.exports;\n }\n require.resolve = function(name) {\n return \"\"\n }\n\n const main = require(entry);\n main.require = require;\n\n if (typeof Proxy !== \"undefined\") {\n // allow Bokeh.loader[\"@bokehjs/module/name\"] syntax\n main.loader = new Proxy({}, {\n get: function(_obj, module) {\n return require(module);\n }\n });\n }\n\n main.register_plugin = function(plugin_modules, plugin_entry, plugin_aliases, plugin_externals) {\n if (plugin_aliases === undefined) plugin_aliases = {};\n if (plugin_externals === undefined) plugin_externals = {};\n\n for (let name in plugin_modules) {\n modules[name] = plugin_modules[name];\n }\n\n for (let name in plugin_aliases) {\n aliases[name] = plugin_aliases[name];\n }\n\n for (let name in plugin_externals) {\n externals[name] = plugin_externals[name];\n }\n\n const plugin = require(plugin_entry);\n\n for (let name in plugin) {\n main[name] = plugin[name];\n }\n\n return plugin;\n }\n\n return main;\n })\n ([\n function _(t,_,n,o,r){o();(0,t(1).__exportStar)(t(2),n)},\n function _(t,e,r,n,o){n();var a=function(t,e){return a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},a(t,e)};r.__extends=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)};function i(t){var e=\"function\"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&\"number\"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function c(t,e){var r=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,a=r.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(n=a.next()).done;)i.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i}function u(t){return this instanceof u?(this.v=t,this):new u(t)}r.__assign=function(){return r.__assign=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=0;c--)(o=t[c])&&(i=(a<3?o(i):a>3?o(e,r,i):o(e,r))||i);return a>3&&i&&Object.defineProperty(e,r,i),i},r.__param=function(t,e){return function(r,n){e(r,n,t)}},r.__metadata=function(t,e){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(t,e)},r.__awaiter=function(t,e,r,n){return new(r||(r=Promise))((function(o,a){function i(t){try{u(n.next(t))}catch(t){a(t)}}function c(t){try{u(n.throw(t))}catch(t){a(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(i,c)}u((n=n.apply(t,e||[])).next())}))},r.__generator=function(t,e){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:c(0),throw:c(1),return:c(2)},\"function\"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(a){return function(c){return function(a){if(r)throw new TypeError(\"Generator is already executing.\");for(;i;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,n=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]1||c(t,e)}))})}function c(t,e){try{(r=o[t](e)).value instanceof u?Promise.resolve(r.value.v).then(f,l):s(a[0][2],r)}catch(t){s(a[0][3],t)}var r}function f(t){c(\"next\",t)}function l(t){c(\"throw\",t)}function s(t,e){t(e),a.shift(),a.length&&c(a[0][0],a[0][1])}},r.__asyncDelegator=function(t){var e,r;return e={},n(\"next\"),n(\"throw\",(function(t){throw t})),n(\"return\"),e[Symbol.iterator]=function(){return this},e;function n(n,o){e[n]=t[n]?function(e){return(r=!r)?{value:u(t[n](e)),done:\"return\"===n}:o?o(e):e}:o}},r.__asyncValues=function(t){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var e,r=t[Symbol.asyncIterator];return r?r.call(t):(t=i(t),e={},n(\"next\"),n(\"throw\"),n(\"return\"),e[Symbol.asyncIterator]=function(){return this},e);function n(r){e[r]=t[r]&&function(e){return new Promise((function(n,o){(function(t,e,r,n){Promise.resolve(n).then((function(e){t({value:e,done:r})}),e)})(n,o,(e=t[r](e)).done,e.value)}))}}},r.__makeTemplateObject=function(t,e){return Object.defineProperty?Object.defineProperty(t,\"raw\",{value:e}):t.raw=e,t};var f=Object.create?function(t,e){Object.defineProperty(t,\"default\",{enumerable:!0,value:e})}:function(t,e){t.default=e};r.__importStar=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)\"default\"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&(0,r.__createBinding)(e,t,n);return f(e,t),e},r.__importDefault=function(t){return t&&t.__esModule?t:{default:t}},r.__classPrivateFieldGet=function(t,e,r,n){if(\"a\"===r&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"==typeof e?t!==e||!n:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===r?n:\"a\"===r?n.call(t):n?n.value:e.get(t)},r.__classPrivateFieldSet=function(t,e,r,n,o){if(\"m\"===n)throw new TypeError(\"Private method is not writable\");if(\"a\"===n&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"==typeof e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===n?o.call(t,r):o?o.value=r:e.set(t,r),r}},\n function _(e,t,o,s,l){s();const n=e(1);l(\"version\",e(3).version),l(\"index\",e(4).index),o.embed=(0,n.__importStar)(e(4)),o.protocol=(0,n.__importStar)(e(406)),o._testing=(0,n.__importStar)(e(407));var r=e(19);l(\"logger\",r.logger),l(\"set_log_level\",r.set_log_level),l(\"settings\",e(28).settings),l(\"Models\",e(7).Models),l(\"documents\",e(5).documents),l(\"safely\",e(408).safely)},\n function _(n,i,o,c,e){c(),o.version=\"2.4.3\"},\n function _(e,o,t,n,s){n();const d=e(5),r=e(19),_=e(34),c=e(13),i=e(8),a=e(16),u=e(397),l=e(399),m=e(398);var f=e(397);s(\"add_document_standalone\",f.add_document_standalone),s(\"index\",f.index),s(\"add_document_from_session\",e(399).add_document_from_session);var g=e(404);async function w(e,o,t,n){(0,i.isString)(e)&&(e=JSON.parse((0,_.unescape)(e)));const s={};for(const[o,t]of(0,c.entries)(e))s[o]=d.Document.from_json(t);const a=[];for(const e of o){const o=(0,m._resolve_element)(e),d=(0,m._resolve_root_elements)(e);if(null!=e.docid)a.push(await(0,u.add_document_standalone)(s[e.docid],o,d,e.use_for_title));else{if(null==e.token)throw new Error(\"Error rendering Bokeh items: either 'docid' or 'token' was expected.\");{const s=(0,l._get_ws_url)(t,n);r.logger.debug(`embed: computed ws url: ${s}`);try{a.push(await(0,l.add_document_from_session)(s,e.token,o,d,e.use_for_title)),console.log(\"Bokeh items were rendered successfully\")}catch(e){console.log(\"Error rendering Bokeh items:\",e)}}}}return a}s(\"embed_items_notebook\",g.embed_items_notebook),s(\"kernels\",g.kernels),s(\"BOKEH_ROOT\",e(398).BOKEH_ROOT),t.embed_item=async function(e,o){const t={},n=(0,_.uuid4)();t[n]=e.doc,null==o&&(o=e.target_id);const s=document.getElementById(o);null!=s&&s.classList.add(m.BOKEH_ROOT);const d={roots:{[e.root_id]:o},root_ids:[e.root_id],docid:n};await(0,a.defer)();const[r]=await w(t,[d]);return r},t.embed_items=async function(e,o,t,n){return await(0,a.defer)(),w(e,o,t,n)}},\n function _(t,_,o,r,n){r();const a=t(1);(0,a.__exportStar)(t(6),o),(0,a.__exportStar)(t(35),o)},\n function _(e,t,s,o,n){o();const i=e(1),r=e(7),l=e(3),_=e(19),a=e(251),c=e(14),d=e(30),h=e(15),f=e(17),u=e(31),m=e(29),g=e(9),v=e(13),p=(0,i.__importStar)(e(77)),w=e(26),b=e(8),y=e(309),k=e(75),M=e(53),j=e(396),z=e(35);class S{constructor(e){this.document=e,this.session=null,this.subscribed_models=new Set}send_event(e){const t=new z.MessageSentEvent(this.document,\"bokeh_event\",e.to_json());this.document._trigger_on_change(t)}trigger(e){for(const t of this.subscribed_models)null!=e.origin&&e.origin!=t||t._process_event(e)}}s.EventManager=S,S.__name__=\"EventManager\",s.documents=[],s.DEFAULT_TITLE=\"Bokeh Application\";class E{constructor(e){var t;s.documents.push(this),this._init_timestamp=Date.now(),this._resolver=null!==(t=null==e?void 0:e.resolver)&&void 0!==t?t:new r.ModelResolver,this._title=s.DEFAULT_TITLE,this._roots=[],this._all_models=new Map,this._all_models_freeze_count=0,this._callbacks=new Map,this._message_callbacks=new Map,this.event_manager=new S(this),this.idle=new h.Signal0(this,\"idle\"),this._idle_roots=new WeakMap,this._interactive_timestamp=null,this._interactive_plot=null}get layoutables(){return this._roots.filter((e=>e instanceof y.LayoutDOM))}get is_idle(){for(const e of this.layoutables)if(!this._idle_roots.has(e))return!1;return!0}notify_idle(e){this._idle_roots.set(e,!0),this.is_idle&&(_.logger.info(`document idle at ${Date.now()-this._init_timestamp} ms`),this.event_manager.send_event(new a.DocumentReady),this.idle.emit())}clear(){this._push_all_models_freeze();try{for(;this._roots.length>0;)this.remove_root(this._roots[0])}finally{this._pop_all_models_freeze()}}interactive_start(e,t=null){null==this._interactive_plot&&(this._interactive_plot=e,this._interactive_plot.trigger_event(new a.LODStart)),this._interactive_finalize=t,this._interactive_timestamp=Date.now()}interactive_stop(){null!=this._interactive_plot&&(this._interactive_plot.trigger_event(new a.LODEnd),null!=this._interactive_finalize&&this._interactive_finalize()),this._interactive_plot=null,this._interactive_timestamp=null,this._interactive_finalize=null}interactive_duration(){return null==this._interactive_timestamp?-1:Date.now()-this._interactive_timestamp}destructively_move(e){if(e===this)throw new Error(\"Attempted to overwrite a document with itself\");e.clear();const t=(0,g.copy)(this._roots);this.clear();for(const e of t)if(null!=e.document)throw new Error(`Somehow we didn't detach ${e}`);if(0!=this._all_models.size)throw new Error(`this._all_models still had stuff in it: ${this._all_models}`);for(const s of t)e.add_root(s);e.set_title(this._title)}_push_all_models_freeze(){this._all_models_freeze_count+=1}_pop_all_models_freeze(){this._all_models_freeze_count-=1,0===this._all_models_freeze_count&&this._recompute_all_models()}_invalidate_all_models(){_.logger.debug(\"invalidating document models\"),0===this._all_models_freeze_count&&this._recompute_all_models()}_recompute_all_models(){let e=new Set;for(const t of this._roots)e=p.union(e,t.references());const t=new Set(this._all_models.values()),s=p.difference(t,e),o=p.difference(e,t),n=new Map;for(const t of e)n.set(t.id,t);for(const e of s)e.detach_document();for(const e of o)e.attach_document(this);this._all_models=n}roots(){return this._roots}add_root(e,t){if(_.logger.debug(`Adding root: ${e}`),!(0,g.includes)(this._roots,e)){this._push_all_models_freeze();try{this._roots.push(e)}finally{this._pop_all_models_freeze()}this._trigger_on_change(new z.RootAddedEvent(this,e,t))}}remove_root(e,t){const s=this._roots.indexOf(e);if(!(s<0)){this._push_all_models_freeze();try{this._roots.splice(s,1)}finally{this._pop_all_models_freeze()}this._trigger_on_change(new z.RootRemovedEvent(this,e,t))}}title(){return this._title}set_title(e,t){e!==this._title&&(this._title=e,this._trigger_on_change(new z.TitleChangedEvent(this,e,t)))}get_model_by_id(e){var t;return null!==(t=this._all_models.get(e))&&void 0!==t?t:null}get_model_by_name(e){const t=[];for(const s of this._all_models.values())s instanceof M.Model&&s.name==e&&t.push(s);switch(t.length){case 0:return null;case 1:return t[0];default:throw new Error(`Multiple models are named '${e}'`)}}on_message(e,t){const s=this._message_callbacks.get(e);null==s?this._message_callbacks.set(e,new Set([t])):s.add(t)}remove_on_message(e,t){var s;null===(s=this._message_callbacks.get(e))||void 0===s||s.delete(t)}_trigger_on_message(e,t){const s=this._message_callbacks.get(e);if(null!=s)for(const e of s)e(t)}on_change(e,t=!1){this._callbacks.has(e)||this._callbacks.set(e,t)}remove_on_change(e){this._callbacks.delete(e)}_trigger_on_change(e){for(const[t,s]of this._callbacks)if(!s&&e instanceof z.DocumentEventBatch)for(const s of e.events)t(s);else t(e)}_notify_change(e,t,s,o,n){this._trigger_on_change(new z.ModelChangedEvent(this,e,t,s,o,null==n?void 0:n.setter_id,null==n?void 0:n.hint))}static _instantiate_object(e,t,s,o){const n=Object.assign(Object.assign({},s),{id:e,__deferred__:!0});return new(o.get(t))(n)}static _instantiate_references_json(e,t,s){var o;const n=new Map;for(const i of e){const e=i.id,r=i.type,l=null!==(o=i.attributes)&&void 0!==o?o:{};let _=t.get(e);null==_&&(_=E._instantiate_object(e,r,l,s),null!=i.subtype&&_.set_subtype(i.subtype)),n.set(_.id,_)}return n}static _resolve_refs(e,t,s,o){function n(e){var i;if((0,f.is_ref)(e)){const o=null!==(i=t.get(e.id))&&void 0!==i?i:s.get(e.id);if(null!=o)return o;throw new Error(`reference ${JSON.stringify(e)} isn't known (not in Document?)`)}if((0,u.is_NDArray_ref)(e)){const{buffer:t,dtype:s,shape:n}=(0,u.decode_NDArray)(e,o);return(0,m.ndarray)(t,{dtype:s,shape:n})}return(0,b.isArray)(e)?function(e){const t=[];for(const s of e)t.push(n(s));return t}(e):(0,b.isPlainObject)(e)?function(e){const t={};for(const[s,o]of(0,v.entries)(e))t[s]=n(o);return t}(e):e}return n(e)}static _initialize_references_json(e,t,s,o){const n=new Map;for(const{id:i,attributes:r}of e){const e=!t.has(i),l=e?s.get(i):t.get(i),_=E._resolve_refs(r,t,s,o);l.setv(_,{silent:!0}),n.set(i,{instance:l,is_new:e})}const i=[],r=new Set;function l(e){if(e instanceof c.HasProps){if(n.has(e.id)&&!r.has(e.id)){r.add(e.id);const{instance:t,is_new:s}=n.get(e.id),{attributes:o}=t;for(const e of(0,v.values)(o))l(e);s&&(t.finalize(),i.push(t))}}else if((0,b.isArray)(e))for(const t of e)l(t);else if((0,b.isPlainObject)(e))for(const t of(0,v.values)(e))l(t)}for(const e of n.values())l(e.instance);for(const e of i)e.connect_signals()}static _event_for_attribute_change(e,t,s,o,n){if(o.get_model_by_id(e.id).property(t).syncable){const i={kind:\"ModelChanged\",model:{id:e.id},attr:t,new:s};return c.HasProps._json_record_references(o,s,n,{recursive:!0}),i}return null}static _events_to_sync_objects(e,t,s,o){const n=Object.keys(e.attributes),i=Object.keys(t.attributes),r=(0,g.difference)(n,i),l=(0,g.difference)(i,n),a=(0,g.intersection)(n,i),c=[];for(const e of r)_.logger.warn(`Server sent key ${e} but we don't seem to have it in our JSON`);for(const n of l){const i=t.attributes[n];c.push(E._event_for_attribute_change(e,n,i,s,o))}for(const n of a){const i=e.attributes[n],r=t.attributes[n];null==i&&null==r||(null==i||null==r?c.push(E._event_for_attribute_change(e,n,r,s,o)):\"data\"==n||(0,w.is_equal)(i,r)||c.push(E._event_for_attribute_change(e,n,r,s,o)))}return c.filter((e=>null!=e))}static _compute_patch_since_json(e,t){const s=t.to_json(!1);function o(e){const t=new Map;for(const s of e.roots.references)t.set(s.id,s);return t}const n=o(e),i=new Map,r=[];for(const t of e.roots.root_ids)i.set(t,n.get(t)),r.push(t);const l=o(s),_=new Map,a=[];for(const e of s.roots.root_ids)_.set(e,l.get(e)),a.push(e);if(r.sort(),a.sort(),(0,g.difference)(r,a).length>0||(0,g.difference)(a,r).length>0)throw new Error(\"Not implemented: computing add/remove of document roots\");const c=new Set;let h=[];for(const e of t._all_models.keys())if(n.has(e)){const s=E._events_to_sync_objects(n.get(e),l.get(e),t,c);h=h.concat(s)}const f=new d.Serializer({include_defaults:!1});return f.to_serializable([...c]),{references:[...f.definitions],events:h}}to_json_string(e=!0){return JSON.stringify(this.to_json(e))}to_json(e=!0){const t=new d.Serializer({include_defaults:e}),s=t.to_serializable(this._roots);return{version:l.version,title:this._title,roots:{root_ids:s.map((e=>e.id)),references:[...t.definitions]}}}static from_json_string(e){const t=JSON.parse(e);return E.from_json(t)}static from_json(e){_.logger.debug(\"Creating Document from JSON\");const t=e.version,s=-1!==t.indexOf(\"+\")||-1!==t.indexOf(\"-\"),o=`Library versions: JS (${l.version}) / Python (${t})`;s||l.version.replace(/-(dev|rc)\\./,\"$1\")==t?_.logger.debug(o):(_.logger.warn(\"JS/Python version mismatch\"),_.logger.warn(o));const n=new r.ModelResolver;null!=e.defs&&(0,j.resolve_defs)(e.defs,n);const i=e.roots,a=i.root_ids,c=i.references,d=E._instantiate_references_json(c,new Map,n);E._initialize_references_json(c,new Map,d,new Map);const h=new E({resolver:n});h._push_all_models_freeze();for(const e of a){const t=d.get(e);null!=t&&h.add_root(t)}return h._pop_all_models_freeze(),h.set_title(e.title),h}replace_with_json(e){E.from_json(e).destructively_move(this)}create_json_patch_string(e){return JSON.stringify(this.create_json_patch(e))}create_json_patch(e){for(const t of e)if(t.document!=this)throw new Error(\"Cannot create a patch using events from a different document\");const t=new d.Serializer,s=t.to_serializable(e);for(const e of this._all_models.values())t.remove_def(e);return{events:s,references:[...t.definitions]}}apply_json_patch(e,t=new Map,s){const o=e.references,n=e.events,i=E._instantiate_references_json(o,this._all_models,this._resolver);t instanceof Map||(t=new Map(t));for(const e of n)switch(e.kind){case\"RootAdded\":case\"RootRemoved\":case\"ModelChanged\":{const t=e.model.id,s=this._all_models.get(t);if(null!=s)i.set(t,s);else if(!i.has(t))throw _.logger.warn(`Got an event for unknown model ${e.model}\"`),new Error(\"event model wasn't known\");break}}const r=new Map(this._all_models),l=new Map;for(const[e,t]of i)r.has(e)||l.set(e,t);E._initialize_references_json(o,r,l,t);for(const e of n)switch(e.kind){case\"MessageSent\":{const{msg_type:s,msg_data:o}=e;let n;if(void 0===o){if(1!=t.size)throw new Error(\"expected exactly one buffer\");{const[[,e]]=t;n=e}}else n=E._resolve_refs(o,r,l,t);this._trigger_on_message(s,n);break}case\"ModelChanged\":{const o=e.model.id,n=this._all_models.get(o);if(null==n)throw new Error(`Cannot apply patch to ${o} which is not in the document`);const i=e.attr,_=E._resolve_refs(e.new,r,l,t);n.setv({[i]:_},{setter_id:s});break}case\"ColumnDataChanged\":{const o=e.column_source.id,n=this._all_models.get(o);if(null==n)throw new Error(`Cannot stream to ${o} which is not in the document`);const i=E._resolve_refs(e.new,new Map,new Map,t);if(null!=e.cols)for(const e in n.data)e in i||(i[e]=n.data[e]);n.setv({data:i},{setter_id:s,check_eq:!1});break}case\"ColumnsStreamed\":{const t=e.column_source.id,o=this._all_models.get(t);if(null==o)throw new Error(`Cannot stream to ${t} which is not in the document`);if(!(o instanceof k.ColumnDataSource))throw new Error(\"Cannot stream to non-ColumnDataSource\");const n=e.data,i=e.rollover;o.stream(n,i,s);break}case\"ColumnsPatched\":{const t=e.column_source.id,o=this._all_models.get(t);if(null==o)throw new Error(`Cannot patch ${t} which is not in the document`);if(!(o instanceof k.ColumnDataSource))throw new Error(\"Cannot patch non-ColumnDataSource\");const n=e.patches;o.patch(n,s);break}case\"RootAdded\":{const t=e.model.id,o=i.get(t);this.add_root(o,s);break}case\"RootRemoved\":{const t=e.model.id,o=i.get(t);this.remove_root(o,s);break}case\"TitleChanged\":this.set_title(e.title,s);break;default:throw new Error(`Unknown patch event ${JSON.stringify(e)}`)}}}s.Document=E,E.__name__=\"Document\"},\n function _(e,o,s,r,t){r();const l=e(1),i=e(8),d=e(13),n=e(14);s.overrides={};const a=new Map;s.Models=e=>{const o=s.Models.get(e);if(null!=o)return o;throw new Error(`Model '${e}' does not exist. This could be due to a widget or a custom model not being registered before first usage.`)},s.Models.get=e=>{var o;return null!==(o=s.overrides[e])&&void 0!==o?o:a.get(e)},s.Models.register=(e,o)=>{s.overrides[e]=o},s.Models.unregister=e=>{delete s.overrides[e]},s.Models.register_models=(e,o=!1,s)=>{var r;if(null!=e)for(const t of(0,i.isArray)(e)?e:(0,d.values)(e))if(r=t,(0,i.isObject)(r)&&r.prototype instanceof n.HasProps){const e=t.__qualified__;o||!a.has(e)?a.set(e,t):null!=s?s(e):console.warn(`Model '${e}' was already registered`)}},s.register_models=s.Models.register_models,s.Models.registered_names=()=>[...a.keys()];class _{constructor(){this._known_models=new Map}get(e,o){var r;const t=null!==(r=s.Models.get(e))&&void 0!==r?r:this._known_models.get(e);if(null!=t)return t;if(void 0!==o)return o;throw new Error(`Model '${e}' does not exist. This could be due to a widget or a custom model not being registered before first usage.`)}register(e){const o=e.__qualified__;null==this.get(o,null)?this._known_models.set(o,e):console.warn(`Model '${o}' was already registered with this resolver`)}}s.ModelResolver=_,_.__name__=\"ModelResolver\";const g=(0,l.__importStar)(e(38));(0,s.register_models)(g);const u=(0,l.__importStar)(e(392));(0,s.register_models)(u)},\n function _(n,t,r,e,i){e();\n // (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n // Underscore may be freely distributed under the MIT license.\n const o=n(9),u=Object.prototype.toString;function c(n){return!0===n||!1===n||\"[object Boolean]\"===u.call(n)}function f(n){return\"[object Number]\"===u.call(n)}function l(n){return\"[object String]\"===u.call(n)}function s(n){return\"symbol\"==typeof n}function a(n){const t=typeof n;return\"function\"===t||\"object\"===t&&!!n}function b(n){return a(n)&&void 0!==n[Symbol.iterator]}r.isBoolean=c,r.isNumber=f,r.isInteger=function(n){return f(n)&&Number.isInteger(n)},r.isString=l,r.isSymbol=s,r.isPrimitive=function(n){return null===n||c(n)||f(n)||l(n)||s(n)},r.isFunction=function(n){return\"[object Function]\"===u.call(n)},r.isArray=function(n){return Array.isArray(n)},r.isArrayOf=function(n,t){return(0,o.every)(n,t)},r.isArrayableOf=function(n,t){for(let r=0,e=n.length;r0,\"'step' must be a positive number\"),null==t&&(t=n,n=0);const{max:r,ceil:o,abs:i}=Math,c=n<=t?e:-e,f=r(o(i(t-n)/e),0),s=new Array(f);for(let t=0;t=0?t:n.length+t]},e.zip=function(...n){if(0==n.length)return[];const t=(0,c.min)(n.map((n=>n.length))),e=n.length,r=new Array(t);for(let o=0;on.length))),r=Array(e);for(let n=0;nn[t]))},e.argmax=function(n){return(0,c.max_by)(m(n.length),(t=>n[t]))},e.sort_by=function(n,t){const e=n.map(((n,e)=>({value:n,index:e,key:t(n)})));return e.sort(((n,t)=>{const e=n.key,r=t.key;if(e!==r){if(e>r||void 0===e)return 1;if(en.value))},e.uniq=function(n){const t=new Set;for(const e of n)t.add(e);return[...t]},e.uniq_by=function(n,t){const e=[],r=[];for(const o of n){const n=t(o);l(r,n)||(r.push(n),e.push(o))}return e},e.union=function(...n){const t=new Set;for(const e of n)for(const n of e)t.add(n);return[...t]},e.intersection=function(n,...t){const e=[];n:for(const r of n)if(!l(e,r)){for(const n of t)if(!l(n,r))continue n;e.push(r)}return e},e.difference=function(n,...t){const e=a(t);return n.filter((n=>!l(e,n)))},e.remove_at=function(n,t){const e=s(n);return e.splice(t,1),e},e.remove_by=function(n,t){for(let e=0;e2*a;)n-=2*a;return n}function c(n,t){return u(n-t)}function f(){return Math.random()}function i(n){switch(n){case\"deg\":return a/180;case\"rad\":return 1;case\"grad\":return a/200;case\"turn\":return 2*a}}r.angle_norm=u,r.angle_dist=c,r.angle_between=function(n,t,r,e=!1){const o=c(t,r);if(0==o)return!1;if(o==2*a)return!0;const f=u(n),i=c(t,f)<=o&&c(f,r)<=o;return e?!i:i},r.random=f,r.randomIn=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},r.atan2=function(n,t){return Math.atan2(t[1]-n[1],t[0]-n[0])},r.radians=function(n){return n*(a/180)},r.degrees=function(n){return n/(a/180)},r.resolve_angle=function(n,t){return-i(t)*n},r.to_radians_coeff=i,r.rnorm=function(n,t){let r,e;for(;r=f(),e=f(),e=(2*e-1)*Math.sqrt(1/Math.E*2),!(-4*r*r*Math.log(r)>=e*e););let o=e/r;return o=n+t*o,o},r.clamp=function(n,t,r){return nr?r:n},r.log=function(n,t=Math.E){return Math.log(n)/Math.log(t)},r.float32_epsilon=1.1920928955078125e-7},\n function _(r,n,e,o,s){o();class t extends Error{}e.AssertionError=t,t.__name__=\"AssertionError\",e.assert=function(r,n){if(!(!0===r||!1!==r&&r()))throw new t(null!=n?n:\"Assertion failed\")},e.unreachable=function(){throw new Error(\"unreachable code\")}},\n function _(n,t,e,r,o){r();const i=n(10);function l(n,t,e,...r){const o=n.length;t<0&&(t+=o),t<0?t=0:t>o&&(t=o),null==e||e>o-t?e=o-t:e<0&&(e=0);const i=o-e+r.length,l=new n.constructor(i);let u=0;for(;u0?0:r-1;for(;o>=0&&ot[t.length-1])return t.length;let e=0,r=t.length-1;for(;r-e!=1;){const o=e+Math.floor((r-e)/2);n>=t[o]?e=o:r=o}return e}e.is_empty=function(n){return 0==n.length},e.copy=function(n){return Array.isArray(n)?n.slice():new n.constructor(n)},e.splice=l,e.head=u,e.insert=function(n,t,e){return l(n,e,0,t)},e.append=function(n,t){return l(n,n.length,0,t)},e.prepend=function(n,t){return l(n,0,0,t)},e.indexOf=function(n,t){for(let e=0,r=n.length;ee&&(e=t);return e},e.minmax=function(n){let t,e=1/0,r=-1/0;for(let o=0,i=n.length;or&&(r=t));return[e,r]},e.minmax2=function(n,t){let e,r,o=1/0,i=-1/0,l=1/0,u=-1/0;const c=Math.min(n.length,t.length);for(let f=0;fi&&(i=e),ru&&(u=r));return[o,i,l,u]},e.min_by=function(n,t){if(0==n.length)throw new Error(\"min_by() called with an empty array\");let e=n[0],r=t(e);for(let o=1,i=n.length;or&&(e=i,r=l)}return e},e.sum=function(n){let t=0;for(let e=0,r=n.length;et[r]=n+e),0),t},e.every=function(n,t){for(let e=0,r=n.length;e(n-t)/r))}},\n function _(t,e,n,c,o){c();const s=t(9),{hasOwnProperty:r}=Object.prototype;function i(t){return Object.keys(t).length}function u(t){return 0==i(t)}n.keys=Object.keys,n.values=Object.values,n.entries=Object.entries,n.extend=Object.assign,n.clone=function(t){return Object.assign({},t)},n.merge=function(t,e){const n=Object.create(Object.prototype),c=(0,s.concat)([Object.keys(t),Object.keys(e)]);for(const o of c){const c=r.call(t,o)?t[o]:[],i=r.call(e,o)?e[o]:[];n[o]=(0,s.union)(c,i)}return n},n.size=i,n.is_empty=u,n.isEmpty=u,n.to_object=function(t){const e={};for(const[n,c]of t)e[n]=c;return e}},\n function _(e,t,s,n,r){n();const i=e(1);var o;const c=e(15),a=e(17),_=(0,i.__importStar)(e(18)),h=(0,i.__importStar)(e(21)),u=e(34),l=e(13),f=e(8),p=e(26),d=e(30),g=e(35),y=e(26),v=e(36),m=e(37),b=(0,i.__importStar)(e(21));class w extends((0,c.Signalable)()){constructor(e={}){var t,s;super(),this._subtype=void 0,this.document=null,this.destroyed=new c.Signal0(this,\"destroyed\"),this.change=new c.Signal0(this,\"change\"),this.transformchange=new c.Signal0(this,\"transformchange\"),this.exprchange=new c.Signal0(this,\"exprchange\"),this.properties={},this._watchers=new WeakMap,this._pending=!1,this._changing=!1;const n=e instanceof Map?e.get.bind(e):t=>e[t];this.id=null!==(t=n(\"id\"))&&void 0!==t?t:(0,u.uniqueId)();for(const[e,{type:t,default_value:s,options:r}]of(0,l.entries)(this._props)){let i;t instanceof _.PropertyAlias?Object.defineProperty(this.properties,e,{get:()=>this.properties[t.attr],configurable:!1,enumerable:!1}):(i=t instanceof h.Kind?new _.PrimitiveProperty(this,e,t,s,n(e),r):new t(this,e,h.Any,s,n(e),r),this.properties[e]=i)}null!==(s=n(\"__deferred__\"))&&void 0!==s&&s||(this.finalize(),this.connect_signals())}get is_syncable(){return!0}set type(e){console.warn(\"prototype.type = 'ModelName' is deprecated, use static __name__ instead\"),this.constructor.__name__=e}get type(){return this.constructor.__qualified__}static get __qualified__(){const{__module__:e,__name__:t}=this;return null!=e?`${e}.${t}`:t}static get[Symbol.toStringTag](){return this.__name__}static _fix_default(e,t){if(void 0===e||(0,f.isFunction)(e))return e;if((0,f.isPrimitive)(e))return()=>e;{const t=new m.Cloner;return()=>t.clone(e)}}static define(e){for(const[t,s]of(0,l.entries)((0,f.isFunction)(e)?e(b):e)){if(null!=this.prototype._props[t])throw new Error(`attempted to redefine property '${this.prototype.type}.${t}'`);if(null!=this.prototype[t])throw new Error(`attempted to redefine attribute '${this.prototype.type}.${t}'`);Object.defineProperty(this.prototype,t,{get(){return this.properties[t].get_value()},set(e){return this.setv({[t]:e}),this},configurable:!1,enumerable:!0});const[e,n,r={}]=s,i={type:e,default_value:this._fix_default(n,t),options:r},o=Object.assign({},this.prototype._props);o[t]=i,this.prototype._props=o}}static internal(e){const t={};for(const[s,n]of(0,l.entries)((0,f.isFunction)(e)?e(b):e)){const[e,r,i={}]=n;t[s]=[e,r,Object.assign(Object.assign({},i),{internal:!0})]}this.define(t)}static mixins(e){function t(e,t){const s={};for(const[n,r]of(0,l.entries)(t))s[e+n]=r;return s}const s={},n=[];for(const r of(0,f.isArray)(e)?e:[e])if((0,f.isArray)(r)){const[e,i]=r;(0,l.extend)(s,t(e,i)),n.push([e,i])}else{const e=r;(0,l.extend)(s,e),n.push([\"\",e])}this.define(s),this.prototype._mixins=[...this.prototype._mixins,...n]}static override(e){for(const[t,s]of(0,l.entries)(e)){const e=this._fix_default(s,t),n=this.prototype._props[t];if(null==n)throw new Error(`attempted to override nonexistent '${this.prototype.type}.${t}'`);const r=Object.assign({},this.prototype._props);r[t]=Object.assign(Object.assign({},n),{default_value:e}),this.prototype._props=r}}toString(){return`${this.type}(${this.id})`}property(e){const t=this.properties[e];if(null!=t)return t;throw new Error(`unknown property ${this.type}.${e}`)}get attributes(){const e={};for(const t of this)e[t.attr]=t.get_value();return e}[m.clone](e){const t=new Map;for(const s of this)s.dirty&&t.set(s.attr,e.clone(s.get_value()));return new this.constructor(t)}[y.equals](e,t){for(const s of this){const n=e.property(s.attr);if(!t.eq(s.get_value(),n.get_value()))return!1}return!0}[v.pretty](e){const t=e.token,s=[];for(const n of this)if(n.dirty){const r=n.get_value();s.push(`${n.attr}${t(\":\")} ${e.to_string(r)}`)}return`${this.constructor.__qualified__}${t(\"(\")}${t(\"{\")}${s.join(`${t(\",\")} `)}${t(\"}\")}${t(\")\")}`}[d.serialize](e){const t=this.ref();e.add_ref(this,t);const s=this.struct();for(const t of this)t.syncable&&(e.include_defaults||t.dirty)&&(s.attributes[t.attr]=e.to_serializable(t.get_value()));return e.add_def(this,s),t}finalize(){for(const e of this){if(!(e instanceof _.VectorSpec||e instanceof _.ScalarSpec))continue;const t=e.get_value();if(null!=t){const{transform:e,expr:s}=t;null!=e&&this.connect(e.change,(()=>this.transformchange.emit())),null!=s&&this.connect(s.change,(()=>this.exprchange.emit()))}}this.initialize()}initialize(){}connect_signals(){}disconnect_signals(){c.Signal.disconnectReceiver(this)}destroy(){this.disconnect_signals(),this.destroyed.emit()}clone(){return(new m.Cloner).clone(this)}changed_for(e){const t=this._watchers.get(e);return this._watchers.set(e,!1),null==t||t}_setv(e,t){const s=t.check_eq,n=[],r=this._changing;this._changing=!0;for(const[t,r]of e)!1!==s&&(0,p.is_equal)(t.get_value(),r)||(t.set_value(r),n.push(t));n.length>0&&(this._watchers=new WeakMap,this._pending=!0);for(const e of n)e.change.emit();if(!r){if(!t.no_change)for(;this._pending;)this._pending=!1,this.change.emit();this._pending=!1,this._changing=!1}}setv(e,t={}){const s=(0,l.entries)(e);if(0==s.length)return;if(!0===t.silent){this._watchers=new WeakMap;for(const[e,t]of s)this.properties[e].set_value(t);return}const n=new Map,r=new Map;for(const[e,t]of s){const s=this.properties[e];n.set(s,t),r.set(s,s.get_value())}this._setv(n,t);const{document:i}=this;if(null!=i){const e=[];for(const[t,s]of r)e.push([t,s,t.get_value()]);for(const[,t,s]of e)if(this._needs_invalidate(t,s)){i._invalidate_all_models();break}this._push_changes(e,t)}}getv(e){return this.property(e).get_value()}ref(){return{id:this.id}}struct(){const e={type:this.type,id:this.id,attributes:{}};return null!=this._subtype&&(e.subtype=this._subtype),e}set_subtype(e){this._subtype=e}*[Symbol.iterator](){yield*(0,l.values)(this.properties)}*syncable_properties(){for(const e of this)e.syncable&&(yield e)}serializable_attributes(){const e={};for(const t of this.syncable_properties())e[t.attr]=t.get_value();return e}static _json_record_references(e,t,s,n){const{recursive:r}=n;if((0,a.is_ref)(t)){const n=e.get_model_by_id(t.id);null==n||s.has(n)||w._value_record_references(n,s,{recursive:r})}else if((0,f.isArray)(t))for(const n of t)w._json_record_references(e,n,s,{recursive:r});else if((0,f.isPlainObject)(t))for(const n of(0,l.values)(t))w._json_record_references(e,n,s,{recursive:r})}static _value_record_references(e,t,s){const{recursive:n}=s;if(e instanceof w){if(!t.has(e)&&(t.add(e),n))for(const s of e.syncable_properties()){const e=s.get_value();w._value_record_references(e,t,{recursive:n})}}else if((0,f.isArray)(e))for(const s of e)w._value_record_references(s,t,{recursive:n});else if((0,f.isPlainObject)(e))for(const s of(0,l.values)(e))w._value_record_references(s,t,{recursive:n})}references(){const e=new Set;return w._value_record_references(this,e,{recursive:!0}),e}_doc_attached(){}_doc_detached(){}attach_document(e){if(null!=this.document&&this.document!=e)throw new Error(\"models must be owned by only a single document\");this.document=e,this._doc_attached()}detach_document(){this._doc_detached(),this.document=null}_needs_invalidate(e,t){const s=new Set;w._value_record_references(t,s,{recursive:!1});const n=new Set;w._value_record_references(e,n,{recursive:!1});for(const e of s)if(!n.has(e))return!0;for(const e of n)if(!s.has(e))return!0;return!1}_push_changes(e,t={}){if(!this.is_syncable)return;const{document:s}=this;if(null==s)return;const{setter_id:n}=t,r=[];for(const[t,i,o]of e)t.syncable&&r.push(new g.ModelChangedEvent(s,this,t.attr,i,o,n));if(0!=r.length){let e;1==r.length?[e]=r:e=new g.DocumentEventBatch(s,r,n),s._trigger_on_change(e)}}on_change(e,t){for(const s of(0,f.isArray)(e)?e:[e])this.connect(s.change,t)}}s.HasProps=w,(o=w).prototype._props={},o.prototype._mixins=[]},\n function _(n,t,e,l,s){l();const i=n(16),o=n(9);class c{constructor(n,t){this.sender=n,this.name=t}connect(n,t=null){u.has(this.sender)||u.set(this.sender,[]);const e=u.get(this.sender);if(null!=g(e,this,n,t))return!1;const l=null!=t?t:n;a.has(l)||a.set(l,[]);const s=a.get(l),i={signal:this,slot:n,context:t};return e.push(i),s.push(i),!0}disconnect(n,t=null){const e=u.get(this.sender);if(null==e||0===e.length)return!1;const l=g(e,this,n,t);if(null==l)return!1;const s=null!=t?t:n,i=a.get(s);return l.signal=null,d(e),d(i),!0}emit(n){var t;const e=null!==(t=u.get(this.sender))&&void 0!==t?t:[];for(const{signal:t,slot:l,context:s}of e)t===this&&l.call(s,n,this.sender)}}e.Signal=c,c.__name__=\"Signal\";class r extends c{emit(){super.emit(void 0)}}e.Signal0=r,r.__name__=\"Signal0\",function(n){function t(n,t){const e=u.get(n);if(null==e||0===e.length)return;const l=a.get(t);if(null!=l&&0!==l.length){for(const t of l){if(null==t.signal)return;t.signal.sender===n&&(t.signal=null)}d(e),d(l)}}function e(n){var t;const e=u.get(n);if(null!=e&&0!==e.length){for(const n of e){if(null==n.signal)return;const e=null!==(t=n.context)&&void 0!==t?t:n.slot;n.signal=null,d(a.get(e))}d(e)}}function l(n,t,e){const l=a.get(n);if(null!=l&&0!==l.length){for(const n of l){if(null==n.signal)return;if(null!=t&&n.slot!=t)continue;const l=n.signal.sender;null!=e&&e.has(l)||(n.signal=null,d(u.get(l)))}d(l)}}function s(n){const t=u.get(n);if(null!=t&&0!==t.length){for(const n of t)n.signal=null;d(t)}const e=a.get(n);if(null!=e&&0!==e.length){for(const n of e)n.signal=null;d(e)}}n.disconnect_between=t,n.disconnect_sender=e,n.disconnect_receiver=l,n.disconnect_all=s,n.disconnectBetween=t,n.disconnectSender=e,n.disconnectReceiver=l,n.disconnectAll=s}(c||(e.Signal=c={})),e.Signalable=function(){return class{connect(n,t){return n.connect(t,this)}disconnect(n,t){return n.disconnect(t,this)}}};const u=new WeakMap,a=new WeakMap;function g(n,t,e,l){return(0,o.find)(n,(n=>n.signal===t&&n.slot===e&&n.context===l))}const f=new Set;function d(n){0===f.size&&(async()=>{await(0,i.defer)(),function(){for(const n of f)(0,o.remove_by)(n,(n=>null==n.signal));f.clear()}()})(),f.add(n)}},\n function _(e,n,t,s,o){s();const r=new MessageChannel,a=new Map;r.port1.onmessage=e=>{const n=e.data,t=a.get(n);if(null!=t)try{t()}finally{a.delete(n)}};let i=1;t.defer=function(){return new Promise((e=>{const n=i++;a.set(n,e),r.port2.postMessage(n)}))},t.wait=function(e){return new Promise((n=>setTimeout(n,e)))}},\n function _(n,t,i,e,c){e();const r=n(8),s=n(13);i.is_ref=function(n){if((0,r.isPlainObject)(n)){const t=(0,s.keys)(n);return 1==t.length&&\"id\"==t[0]}return!1}},\n function _(e,t,n,r,a){r(),n.YCoordinateSeqSeqSeqSpec=n.XCoordinateSeqSeqSeqSpec=n.YCoordinateSeqSpec=n.XCoordinateSeqSpec=n.YCoordinateSpec=n.XCoordinateSpec=n.CoordinateSeqSeqSeqSpec=n.CoordinateSeqSpec=n.CoordinateSpec=n.BaseCoordinateSpec=n.NumberUnitsSpec=n.UnitsSpec=n.DataSpec=n.VectorSpec=n.TextBaselineScalar=n.TextAlignScalar=n.FontStyleScalar=n.FontSizeScalar=n.FontScalar=n.LineDashScalar=n.LineCapScalar=n.LineJoinScalar=n.ArrayScalar=n.NullStringScalar=n.StringScalar=n.NumberScalar=n.ColorScalar=n.AnyScalar=n.ScalarSpec=n.VerticalAlign=n.UpdateMode=n.TooltipAttachment=n.TickLabelOrientation=n.TextureRepetition=n.TextBaseline=n.TextAlign=n.TapBehavior=n.StepMode=n.StartEnd=n.SpatialUnits=n.Sort=n.SizingMode=n.Side=n.RoundingFunction=n.ResetPolicy=n.RenderMode=n.RenderLevel=n.RadiusDimension=n.PointPolicy=n.Place=void 0,n.TextBaselineSpec=n.TextAlignSpec=n.FontStyleSpec=n.FontSizeSpec=n.FontSpec=n.LineDashSpec=n.LineCapSpec=n.LineJoinSpec=n.MarkerSpec=n.ArraySpec=n.NullStringSpec=n.StringSpec=n.AnySpec=n.NDArraySpec=n.ColorSpec=n.ScreenSizeSpec=n.NumberSpec=n.IntSpec=n.BooleanSpec=n.NullDistanceSpec=n.DistanceSpec=n.AngleSpec=void 0;const i=e(1),s=e(15),l=e(19),o=(0,i.__importStar)(e(20)),c=e(24),_=e(9),u=e(12),d=e(10),S=e(22),p=e(27),m=e(8),h=e(28),v=e(29),y=e(33);function x(e){try{return JSON.stringify(e)}catch(t){return e.toString()}}function g(e){return(0,m.isPlainObject)(e)&&(void 0===e.value?0:1)+(void 0===e.field?0:1)+(void 0===e.expr?0:1)==1}a(\"Uniform\",y.Uniform),a(\"UniformScalar\",y.UniformScalar),a(\"UniformVector\",y.UniformVector),n.isSpec=g;class f{constructor(e,t,n,r,a,i={}){var l;let o;if(this.obj=e,this.attr=t,this.kind=n,this.default_value=r,this._dirty=!1,this.change=new s.Signal0(this.obj,\"change\"),this.internal=null!==(l=i.internal)&&void 0!==l&&l,this.convert=i.convert,this.on_update=i.on_update,void 0!==a)o=a,this._dirty=!0;else{const t=this._default_override();if(void 0!==t)o=t;else{if(void 0===r)return void(this.spec={value:null});o=r(e)}}this._update(o)}get is_value(){return void 0!==this.spec.value}get syncable(){return!this.internal}get_value(){return this.spec.value}set_value(e){this._update(e),this._dirty=!0}_default_override(){}get dirty(){return this._dirty}_update(e){var t;if(this.validate(e),null!=this.convert){const t=this.convert(e);void 0!==t&&(e=t)}this.spec={value:e},null===(t=this.on_update)||void 0===t||t.call(this,e,this.obj)}toString(){return`Prop(${this.obj}.${this.attr}, spec: ${x(this.spec)})`}normalize(e){return e}validate(e){if(!this.valid(e))throw new Error(`${this.obj}.${this.attr} given invalid value: ${x(e)}`)}valid(e){return this.kind.valid(e)}_value(e=!0){if(!this.is_value)throw new Error(\"attempted to retrieve property value for property without value specification\");let t=this.normalize([this.spec.value])[0];return null!=this.spec.transform&&e&&(t=this.spec.transform.compute(t)),t}}n.Property=f,f.__name__=\"Property\";class A{constructor(e){this.attr=e}}n.PropertyAlias=A,A.__name__=\"PropertyAlias\",n.Alias=function(e){return new A(e)};class C extends f{}n.PrimitiveProperty=C,C.__name__=\"PrimitiveProperty\";class T extends f{}n.Any=T,T.__name__=\"Any\";class L extends f{valid(e){return(0,m.isArray)(e)||(0,m.isTypedArray)(e)}}n.Array=L,L.__name__=\"Array\";class w extends f{valid(e){return(0,m.isBoolean)(e)}}n.Boolean=w,w.__name__=\"Boolean\";class P extends f{valid(e){return(0,S.is_Color)(e)}}n.Color=P,P.__name__=\"Color\";class b extends f{}n.Instance=b,b.__name__=\"Instance\";class q extends f{valid(e){return(0,m.isNumber)(e)}}n.Number=q,q.__name__=\"Number\";class N extends q{valid(e){return(0,m.isNumber)(e)&&(0|e)==e}}n.Int=N,N.__name__=\"Int\";class z extends q{}n.Angle=z,z.__name__=\"Angle\";class B extends q{valid(e){return(0,m.isNumber)(e)&&0<=e&&e<=1}}n.Percent=B,B.__name__=\"Percent\";class F extends f{valid(e){return(0,m.isString)(e)}}n.String=F,F.__name__=\"String\";class D extends f{valid(e){return null===e||(0,m.isString)(e)}}n.NullString=D,D.__name__=\"NullString\";class U extends F{}n.FontSize=U,U.__name__=\"FontSize\";class M extends F{_default_override(){return h.settings.dev?\"Bokeh\":void 0}}n.Font=M,M.__name__=\"Font\";class R extends f{valid(e){return(0,m.isString)(e)&&(0,_.includes)(this.enum_values,e)}}function k(e){return class extends R{get enum_values(){return[...e]}}}n.EnumProperty=R,R.__name__=\"EnumProperty\",n.Enum=k;class O extends R{get enum_values(){return[...o.Direction]}normalize(e){const t=new Uint8Array(e.length);for(let n=0;n=0}}n.ScreenSizeSpec=fe,fe.__name__=\"ScreenSizeSpec\";class Ae extends ne{materialize(e){return(0,S.encode_rgba)((0,S.color2rgba)(e))}v_materialize(e){if(!(0,v.is_NDArray)(e)){const t=e.length,n=new c.RGBAArray(4*t);let r=0;for(const t of e){const[e,a,i,s]=(0,S.color2rgba)(t);n[r++]=e,n[r++]=a,n[r++]=i,n[r++]=s}return new c.ColorArray(n.buffer)}if(\"uint32\"==e.dtype&&1==e.dimension)return(0,p.to_big_endian)(e);if(\"uint8\"==e.dtype&&1==e.dimension){const[t]=e.shape,n=new c.RGBAArray(4*t);let r=0;for(const t of e)n[r++]=t,n[r++]=t,n[r++]=t,n[r++]=255;return new c.ColorArray(n.buffer)}if(\"uint8\"==e.dtype&&2==e.dimension){const[t,n]=e.shape;if(4==n)return new c.ColorArray(e.buffer);if(3==n){const r=new c.RGBAArray(4*t);for(let a=0,i=0;a0){let o=r[e];return null==o&&(r[e]=o=new v(e,l)),o}throw new TypeError(\"Logger.get() expects a non-empty string name and an optional log-level\")}get level(){return this.get_level()}get_level(){return this._log_level}set_level(e){if(e instanceof i)this._log_level=e;else{if(!(0,s.isString)(e)||null==v.log_levels[e])throw new Error(\"Logger.set_level() expects a log-level object or a string name of a log-level\");this._log_level=v.log_levels[e]}const l=`[${this._name}]`;for(const[e,o]of(0,g.entries)(v.log_levels))o.level\",\"*\"),t.HTTPMethod=(0,a.Enum)(\"POST\",\"GET\"),t.HexTileOrientation=(0,a.Enum)(\"pointytop\",\"flattop\"),t.HoverMode=(0,a.Enum)(\"mouse\",\"hline\",\"vline\"),t.LatLon=(0,a.Enum)(\"lat\",\"lon\"),t.LegendClickPolicy=(0,a.Enum)(\"none\",\"hide\",\"mute\"),t.LegendLocation=t.Anchor,t.LineCap=(0,a.Enum)(\"butt\",\"round\",\"square\"),t.LineJoin=(0,a.Enum)(\"miter\",\"round\",\"bevel\"),t.LineDash=(0,a.Enum)(\"solid\",\"dashed\",\"dotted\",\"dotdash\",\"dashdot\"),t.LinePolicy=(0,a.Enum)(\"prev\",\"next\",\"nearest\",\"interp\",\"none\"),t.Location=(0,a.Enum)(\"above\",\"below\",\"left\",\"right\"),t.Logo=(0,a.Enum)(\"normal\",\"grey\"),t.MarkerType=(0,a.Enum)(\"asterisk\",\"circle\",\"circle_cross\",\"circle_dot\",\"circle_x\",\"circle_y\",\"cross\",\"dash\",\"diamond\",\"diamond_cross\",\"diamond_dot\",\"dot\",\"hex\",\"hex_dot\",\"inverted_triangle\",\"plus\",\"square\",\"square_cross\",\"square_dot\",\"square_pin\",\"square_x\",\"star\",\"star_dot\",\"triangle\",\"triangle_dot\",\"triangle_pin\",\"x\",\"y\"),t.MutedPolicy=(0,a.Enum)(\"show\",\"ignore\"),t.Orientation=(0,a.Enum)(\"vertical\",\"horizontal\"),t.OutputBackend=(0,a.Enum)(\"canvas\",\"svg\",\"webgl\"),t.PaddingUnits=(0,a.Enum)(\"percent\",\"absolute\"),t.Place=(0,a.Enum)(\"above\",\"below\",\"left\",\"right\",\"center\"),t.PointPolicy=(0,a.Enum)(\"snap_to_data\",\"follow_mouse\",\"none\"),t.RadiusDimension=(0,a.Enum)(\"x\",\"y\",\"max\",\"min\"),t.RenderLevel=(0,a.Enum)(\"image\",\"underlay\",\"glyph\",\"guide\",\"annotation\",\"overlay\"),t.RenderMode=(0,a.Enum)(\"canvas\",\"css\"),t.ResetPolicy=(0,a.Enum)(\"standard\",\"event_only\"),t.RoundingFunction=(0,a.Enum)(\"round\",\"nearest\",\"floor\",\"rounddown\",\"ceil\",\"roundup\"),t.SelectionMode=(0,a.Enum)(\"replace\",\"append\",\"intersect\",\"subtract\"),t.Side=(0,a.Enum)(\"above\",\"below\",\"left\",\"right\"),t.SizingMode=(0,a.Enum)(\"stretch_width\",\"stretch_height\",\"stretch_both\",\"scale_width\",\"scale_height\",\"scale_both\",\"fixed\"),t.Sort=(0,a.Enum)(\"ascending\",\"descending\"),t.SpatialUnits=(0,a.Enum)(\"screen\",\"data\"),t.StartEnd=(0,a.Enum)(\"start\",\"end\"),t.StepMode=(0,a.Enum)(\"after\",\"before\",\"center\"),t.TapBehavior=(0,a.Enum)(\"select\",\"inspect\"),t.TextAlign=(0,a.Enum)(\"left\",\"right\",\"center\"),t.TextBaseline=(0,a.Enum)(\"top\",\"middle\",\"bottom\",\"alphabetic\",\"hanging\",\"ideographic\"),t.TextureRepetition=(0,a.Enum)(\"repeat\",\"repeat_x\",\"repeat_y\",\"no_repeat\"),t.TickLabelOrientation=(0,a.Enum)(\"vertical\",\"horizontal\",\"parallel\",\"normal\"),t.TooltipAttachment=(0,a.Enum)(\"horizontal\",\"vertical\",\"left\",\"right\",\"above\",\"below\"),t.UpdateMode=(0,a.Enum)(\"replace\",\"append\"),t.VerticalAlign=(0,a.Enum)(\"top\",\"middle\",\"bottom\")},\n function _(e,n,t,s,r){s();const i=(0,e(1).__importStar)(e(8)),a=e(22),l=e(13),_=window.Map,{hasOwnProperty:u}=Object.prototype;class d{}t.Kind=d,d.__name__=\"Kind\",function(e){class n extends d{valid(e){return!0}}n.__name__=\"Any\",e.Any=n;class t extends d{valid(e){return!0}}t.__name__=\"Unknown\",e.Unknown=t;class s extends d{valid(e){return i.isBoolean(e)}}s.__name__=\"Boolean\",e.Boolean=s;class r extends d{constructor(e){super(),this.obj_type=e}valid(e){return!0}}r.__name__=\"Ref\",e.Ref=r;class c extends d{valid(e){return!0}}c.__name__=\"AnyRef\",e.AnyRef=c;class o extends d{valid(e){return i.isNumber(e)}}o.__name__=\"Number\",e.Number=o;class p extends o{valid(e){return super.valid(e)&&i.isInteger(e)}}p.__name__=\"Int\",e.Int=p;class y extends o{valid(e){return super.valid(e)&&0<=e&&e<=1}}y.__name__=\"Percent\",e.Percent=y;class m extends d{constructor(e){super(),this.types=e,this.types=e}valid(e){return this.types.some((n=>n.valid(e)))}}m.__name__=\"Or\",e.Or=m;class v extends d{constructor(e){super(),this.types=e,this.types=e}valid(e){if(!i.isArray(e))return!1;for(let n=0;nthis.item_type.valid(e)))}}f.__name__=\"Array\",e.Array=f;class K extends d{valid(e){return null===e}}K.__name__=\"Null\",e.Null=K;class b extends d{constructor(e){super(),this.base_type=e}valid(e){return null===e||this.base_type.valid(e)}}b.__name__=\"Nullable\",e.Nullable=b;class A extends d{constructor(e){super(),this.base_type=e}valid(e){return void 0===e||this.base_type.valid(e)}}A.__name__=\"Opt\",e.Opt=A;class x extends d{valid(e){return i.isString(e)}}x.__name__=\"String\",e.String=x;class S extends d{constructor(e){super(),this.values=new Set(e)}valid(e){return this.values.has(e)}*[Symbol.iterator](){yield*this.values}}S.__name__=\"Enum\",e.Enum=S;class N extends d{constructor(e){super(),this.item_type=e}valid(e){if(!i.isPlainObject(e))return!1;for(const n in e)if(u.call(e,n)){const t=e[n];if(!this.item_type.valid(t))return!1}return!0}}N.__name__=\"Dict\",e.Dict=N;class O extends d{constructor(e,n){super(),this.key_type=e,this.item_type=n}valid(e){if(!(e instanceof _))return!1;for(const[n,t]of e.entries())if(!this.key_type.valid(n)||!this.item_type.valid(t))return!1;return!0}}O.__name__=\"Map\",e.Map=O;class g extends d{valid(e){return(0,a.is_Color)(e)}}g.__name__=\"Color\",e.Color=g;class P extends d{valid(e){return i.isFunction(e)}}P.__name__=\"Function\",e.Function=P}(t.Kinds||(t.Kinds={})),t.Any=new t.Kinds.Any,t.Unknown=new t.Kinds.Unknown,t.Boolean=new t.Kinds.Boolean,t.Number=new t.Kinds.Number,t.Int=new t.Kinds.Int,t.String=new t.Kinds.String,t.Null=new t.Kinds.Null;t.Nullable=e=>new t.Kinds.Nullable(e);t.Opt=e=>new t.Kinds.Opt(e);t.Or=(...e)=>new t.Kinds.Or(e);t.Tuple=(...e)=>new t.Kinds.Tuple(e);t.Struct=e=>new t.Kinds.Struct(e),t.Arrayable=new t.Kinds.Arrayable;t.Array=e=>new t.Kinds.Array(e);t.Dict=e=>new t.Kinds.Dict(e);t.Map=(e,n)=>new t.Kinds.Map(e,n);t.Enum=(...e)=>new t.Kinds.Enum(e);t.Ref=e=>new t.Kinds.Ref(e);t.AnyRef=()=>new t.Kinds.AnyRef;t.Function=()=>new t.Kinds.Function,t.Percent=new t.Kinds.Percent,t.Alpha=t.Percent,t.Color=new t.Kinds.Color,t.Auto=(0,t.Enum)(\"auto\"),t.FontSize=t.String,t.Font=t.String,t.Angle=t.Number},\n function _(n,t,r,e,s){e();const u=n(23),c=n(10),l=n(8),{round:i}=Math;function o(n){return(0,c.clamp)(i(n),0,255)}function a(){return[0,0,0,0]}function f(n){return[n>>24&255,n>>16&255,n>>8&255,255&n]}function d(n,t){var r;let e,s,u,c;return null==n?[e,s,u,c]=[0,0,0,0]:(0,l.isInteger)(n)?[e,s,u,c]=f(n):(0,l.isString)(n)?[e,s,u,c]=null!==(r=_(n))&&void 0!==r?r:[0,0,0,0]:([e,s,u,c=1]=n,c=o(255*c)),255==c&&null!=t&&(c=o(255*t)),[e,s,u,c]}r.transparent=a,r.encode_rgba=function([n,t,r,e]){return n<<24|t<<16|r<<8|e},r.decode_rgba=f,r.compose_alpha=function(n,t){return 255==(255&n)?4294967040&n|o(255*t):n},r.color2rgba=d;const h={0:\"0\",1:\"1\",2:\"2\",3:\"3\",4:\"4\",5:\"5\",6:\"6\",7:\"7\",8:\"8\",9:\"9\",10:\"a\",11:\"b\",12:\"c\",13:\"d\",14:\"e\",15:\"f\"};function g(n){return h[n>>4]+h[15&n]}r.color2css=function(n,t){const[r,e,s,u]=d(n,t);return`rgba(${r}, ${e}, ${s}, ${u/255})`},r.color2hex=function(n,t){const[r,e,s,u]=d(n,t),c=`#${g(r)}${g(e)}${g(s)}`;return 255==u?c:`${c}${g(u)}`},r.color2hexrgb=function(n){const[t,r,e]=d(n);return`#${g(t)}${g(r)}${g(e)}`};const b=/^rgba?\\(\\s*([^\\s,]+?)\\s+([^\\s,]+?)\\s+([^\\s,]+?)(?:\\s*\\/\\s*([^\\s,]+?))?\\s*\\)$/,$=/^rgba?\\(\\s*([^\\s,]+?)\\s*,\\s*([^\\s,]+?)\\s*,\\s*([^\\s,]+?)(?:\\s*,\\s*([^\\s,]+?))?\\s*\\)$/,m=(()=>{const n=document.createElement(\"canvas\");n.width=1,n.height=1;const t=n.getContext(\"2d\"),r=t.createLinearGradient(0,0,1,1);return n=>{t.fillStyle=r,t.fillStyle=n;const e=t.fillStyle;return e!=r?e:null}})();function _(n){var t;if(!(n=n.trim().toLowerCase()))return null;if(\"transparent\"==n)return[0,0,0,0];if((0,u.is_named_color)(n))return f(u.named_colors[n]);if(\"#\"==n[0]){const t=Number(`0x${n.substr(1)}`);if(isNaN(t))return null;switch(n.length-1){case 3:{const n=t>>8&15,r=t>>4&15,e=t>>0&15;return[n<<4|n,r<<4|r,e<<4|e,255]}case 4:{const n=t>>12&15,r=t>>8&15,e=t>>4&15,s=t>>0&15;return[n<<4|n,r<<4|r,e<<4|e,s<<4|s]}case 6:return[t>>16&255,t>>8&255,t>>0&255,255];case 8:return[t>>24&255,t>>16&255,t>>8&255,t>>0&255]}}else if(n.startsWith(\"rgb\")){const r=null!==(t=n.match(b))&&void 0!==t?t:n.match($);if(null!=r){let[,n,t,e,s=\"1\"]=r;const u=n.endsWith(\"%\"),c=t.endsWith(\"%\"),l=e.endsWith(\"%\"),i=s.endsWith(\"%\");if(!(u&&c&&l)&&(u||c||l))return null;u&&(n=n.slice(0,-1)),c&&(t=t.slice(0,-1)),l&&(e=e.slice(0,-1)),i&&(s=s.slice(0,-1));let a=Number(n),f=Number(t),d=Number(e),h=Number(s);return isNaN(a+f+d+h)?null:(u&&(a=a/100*255),c&&(f=f/100*255),l&&(d=d/100*255),h=255*(i?h/100:h),a=o(a),f=o(f),d=o(d),h=o(h),[a,f,d,h])}}else{const t=m(n);if(null!=t)return _(t)}return null}r.css4_parse=_,r.is_Color=function(n){return!!(0,l.isInteger)(n)||(!(!(0,l.isString)(n)||null==_(n))||!(!(0,l.isArray)(n)||3!=n.length&&4!=n.length))},r.is_dark=function([n,t,r]){return 1-(.299*n+.587*t+.114*r)/255>=.6}},\n function _(e,r,l,a,i){a();l.named_colors={aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199},l.is_named_color=function(e){return e in l.named_colors}},\n function _(r,t,n,a,o){a(),n.GeneratorFunction=Object.getPrototypeOf((function*(){})).constructor,n.ColorArray=Uint32Array,n.RGBAArray=Uint8ClampedArray,n.infer_type=function(r,t){return r instanceof Float64Array||r instanceof Array||t instanceof Float64Array||t instanceof Array?Float64Array:Float32Array},n.ScreenArray=Float32Array,n.to_screen=function(r){return r instanceof Float32Array?r:Float32Array.from(r)},o(\"Indices\",r(25).BitSet)},\n function _(t,s,r,e,i){var n;e();const o=t(26),a=t(11);class _{constructor(t,s=0){this.size=t,this[n]=\"BitSet\",this._count=null,this._nwords=Math.ceil(t/32),0==s||1==s?(this._array=new Uint32Array(this._nwords),1==s&&this._array.fill(4294967295)):((0,a.assert)(s.length==this._nwords,\"Initializer size mismatch\"),this._array=s)}clone(){return new _(this.size,new Uint32Array(this._array))}[(n=Symbol.toStringTag,o.equals)](t,s){if(!s.eq(this.size,t.size))return!1;const{_nwords:r}=this,e=this.size%r,i=0==e?r:r-1;for(let s=0;s>>5,r=31&t;return!!(this._array[s]>>r&1)}set(t,s=!0){this._check_bounds(t),this._count=null;const r=t>>>5,e=31&t;s?this._array[r]|=1<>>t&1&&(e+=1)}return e}*ones(){const{_array:t,_nwords:s,size:r}=this;for(let e=0,i=0;i>>t&1&&(yield e);else e+=32}}*zeros(){const{_array:t,_nwords:s,size:r}=this;for(let e=0,i=0;i>>t&1||(yield e);else e+=32}}_check_size(t){(0,a.assert)(this.size==t.size,\"Size mismatch\")}add(t){this._check_size(t);for(let s=0;s{if(a(t)&&a(e))return t[r.equals](e,this);switch(n){case\"[object Array]\":case\"[object Uint8Array]\":case\"[object Int8Array]\":case\"[object Uint16Array]\":case\"[object Int16Array]\":case\"[object Uint32Array]\":case\"[object Int32Array]\":case\"[object Float32Array]\":case\"[object Float64Array]\":return this.arrays(t,e);case\"[object Map]\":return this.maps(t,e);case\"[object Set]\":return this.sets(t,e);case\"[object Object]\":if(t.constructor==e.constructor&&(null==t.constructor||t.constructor===Object))return this.objects(t,e);case\"[object Function]\":if(t.constructor==e.constructor&&t.constructor===Function)return this.eq(`${t}`,`${e}`)}if(t instanceof Node)return this.nodes(t,e);throw Error(`can't compare objects of type ${n}`)})();return s.pop(),o.pop(),u}numbers(t,e){return Object.is(t,e)}arrays(t,e){const{length:r}=t;if(r!=e.length)return!1;for(let n=0;n{const n=navigator.userAgent;return n.includes(\"MSIE\")||n.includes(\"Trident\")||n.includes(\"Edge\")})(),e.is_mobile=\"undefined\"!=typeof window&&(\"ontouchstart\"in window||navigator.maxTouchPoints>0),e.is_little_endian=(()=>{const n=new ArrayBuffer(4),i=new Uint8Array(n);new Uint32Array(n)[1]=168496141;let e=!0;return 10==i[4]&&11==i[5]&&12==i[6]&&13==i[7]&&(e=!1),e})(),e.BYTE_ORDER=e.is_little_endian?\"little\":\"big\",e.to_big_endian=function(n){if(e.is_little_endian){const i=new Uint32Array(n.length),e=new DataView(i.buffer);let t=0;for(const i of n)e.setUint32(t,i),t+=4;return i}return n}},\n function _(e,t,r,s,_){s();class i{constructor(){this._dev=!1,this._wireframe=!1,this._force_webgl=!1}set dev(e){this._dev=e}get dev(){return this._dev}set wireframe(e){this._wireframe=e}get wireframe(){return this._wireframe}set force_webgl(e){this._force_webgl=e}get force_webgl(){return this._force_webgl}}r.Settings=i,i.__name__=\"Settings\",r.settings=new i},\n function _(e,s,t,i,r){var a,n,l,h,u,o,p,c;i();const y=e(8),_=e(11),A=e(26),q=e(30),d=e(31),z=Symbol(\"__ndarray__\");class D extends Uint8Array{constructor(e,s){super(e),this[a]=!0,this.dtype=\"uint8\",this.shape=null!=s?s:x(e)?e.shape:[this.length],this.dimension=this.shape.length,null==this[A.equals]&&(this[A.equals]=(e,s)=>D.prototype[A.equals].call(this,e,s)),null==this[q.serialize]&&(this[q.serialize]=e=>D.prototype[q.serialize].call(this,e))}[(a=z,A.equals)](e,s){return s.eq(this.shape,e.shape)&&s.arrays(this,e)}[q.serialize](e){return(0,d.encode_NDArray)(this)}}t.Uint8NDArray=D,D.__name__=\"Uint8NDArray\";class N extends Int8Array{constructor(e,s){super(e),this[n]=!0,this.dtype=\"int8\",this.shape=null!=s?s:x(e)?e.shape:[this.length],this.dimension=this.shape.length,null==this[A.equals]&&(this[A.equals]=(e,s)=>N.prototype[A.equals].call(this,e,s)),null==this[q.serialize]&&(this[q.serialize]=e=>N.prototype[q.serialize].call(this,e))}[(n=z,A.equals)](e,s){return s.eq(this.shape,e.shape)&&s.arrays(this,e)}[q.serialize](e){return(0,d.encode_NDArray)(this)}}t.Int8NDArray=N,N.__name__=\"Int8NDArray\";class f extends Uint16Array{constructor(e,s){super(e),this[l]=!0,this.dtype=\"uint16\",this.shape=null!=s?s:x(e)?e.shape:[this.length],this.dimension=this.shape.length,null==this[A.equals]&&(this[A.equals]=(e,s)=>f.prototype[A.equals].call(this,e,s)),null==this[q.serialize]&&(this[q.serialize]=e=>f.prototype[q.serialize].call(this,e))}[(l=z,A.equals)](e,s){return s.eq(this.shape,e.shape)&&s.arrays(this,e)}[q.serialize](e){return(0,d.encode_NDArray)(this)}}t.Uint16NDArray=f,f.__name__=\"Uint16NDArray\";class m extends Int16Array{constructor(e,s){super(e),this[h]=!0,this.dtype=\"int16\",this.shape=null!=s?s:x(e)?e.shape:[this.length],this.dimension=this.shape.length,null==this[A.equals]&&(this[A.equals]=(e,s)=>m.prototype[A.equals].call(this,e,s)),null==this[q.serialize]&&(this[q.serialize]=e=>m.prototype[q.serialize].call(this,e))}[(h=z,A.equals)](e,s){return s.eq(this.shape,e.shape)&&s.arrays(this,e)}[q.serialize](e){return(0,d.encode_NDArray)(this)}}t.Int16NDArray=m,m.__name__=\"Int16NDArray\";class g extends Uint32Array{constructor(e,s){super(e),this[u]=!0,this.dtype=\"uint32\",this.shape=null!=s?s:x(e)?e.shape:[this.length],this.dimension=this.shape.length,null==this[A.equals]&&(this[A.equals]=(e,s)=>g.prototype[A.equals].call(this,e,s)),null==this[q.serialize]&&(this[q.serialize]=e=>g.prototype[q.serialize].call(this,e))}[(u=z,A.equals)](e,s){return s.eq(this.shape,e.shape)&&s.arrays(this,e)}[q.serialize](e){return(0,d.encode_NDArray)(this)}}t.Uint32NDArray=g,g.__name__=\"Uint32NDArray\";class I extends Int32Array{constructor(e,s){super(e),this[o]=!0,this.dtype=\"int32\",this.shape=null!=s?s:x(e)?e.shape:[this.length],this.dimension=this.shape.length,null==this[A.equals]&&(this[A.equals]=(e,s)=>I.prototype[A.equals].call(this,e,s)),null==this[q.serialize]&&(this[q.serialize]=e=>I.prototype[q.serialize].call(this,e))}[(o=z,A.equals)](e,s){return s.eq(this.shape,e.shape)&&s.arrays(this,e)}[q.serialize](e){return(0,d.encode_NDArray)(this)}}t.Int32NDArray=I,I.__name__=\"Int32NDArray\";class U extends Float32Array{constructor(e,s){super(e),this[p]=!0,this.dtype=\"float32\",this.shape=null!=s?s:x(e)?e.shape:[this.length],this.dimension=this.shape.length,null==this[A.equals]&&(this[A.equals]=(e,s)=>U.prototype[A.equals].call(this,e,s)),null==this[q.serialize]&&(this[q.serialize]=e=>U.prototype[q.serialize].call(this,e))}[(p=z,A.equals)](e,s){return s.eq(this.shape,e.shape)&&s.arrays(this,e)}[q.serialize](e){return(0,d.encode_NDArray)(this)}}t.Float32NDArray=U,U.__name__=\"Float32NDArray\";class w extends Float64Array{constructor(e,s){super(e),this[c]=!0,this.dtype=\"float64\",this.shape=null!=s?s:x(e)?e.shape:[this.length],this.dimension=this.shape.length,null==this[A.equals]&&(this[A.equals]=(e,s)=>w.prototype[A.equals].call(this,e,s)),null==this[q.serialize]&&(this[q.serialize]=e=>w.prototype[q.serialize].call(this,e))}[(c=z,A.equals)](e,s){return s.eq(this.shape,e.shape)&&s.arrays(this,e)}[q.serialize](e){return(0,d.encode_NDArray)(this)}}function x(e){return(0,y.isObject)(e)&&void 0!==e[z]}t.Float64NDArray=w,w.__name__=\"Float64NDArray\",t.is_NDArray=x,t.ndarray=function(e,s={}){let{dtype:t}=s;null==t&&(t=e instanceof ArrayBuffer||(0,y.isArray)(e)?\"float64\":(()=>{switch(!0){case e instanceof Uint8Array:return\"uint8\";case e instanceof Int8Array:return\"int8\";case e instanceof Uint16Array:return\"uint16\";case e instanceof Int16Array:return\"int16\";case e instanceof Uint32Array:return\"uint32\";case e instanceof Int32Array:return\"int32\";case e instanceof Float32Array:return\"float32\";case e instanceof Float64Array:return\"float64\";default:(0,_.unreachable)()}})());const{shape:i}=s;switch(t){case\"uint8\":return new D(e,i);case\"int8\":return new N(e,i);case\"uint16\":return new f(e,i);case\"int16\":return new m(e,i);case\"uint32\":return new g(e,i);case\"int32\":return new I(e,i);case\"float32\":return new U(e,i);case\"float64\":return new w(e,i)}}},\n function _(e,r,t,i,s){i();const n=e(11),a=e(13),l=e(8);t.serialize=Symbol(\"serialize\");class o extends Error{}t.SerializationError=o,o.__name__=\"SerializationError\";class f{constructor(e){var r;this._references=new Map,this._definitions=new Map,this._refmap=new Map,this.include_defaults=null===(r=null==e?void 0:e.include_defaults)||void 0===r||r}get_ref(e){return this._references.get(e)}add_ref(e,r){(0,n.assert)(!this._references.has(e)),this._references.set(e,r)}add_def(e,r){const t=this.get_ref(e);(0,n.assert)(null!=t),this._definitions.set(e,r),this._refmap.set(t,r)}get objects(){return new Set(this._references.keys())}get references(){return new Set(this._references.values())}get definitions(){return new Set(this._definitions.values())}resolve_ref(e){return this._refmap.get(e)}remove_ref(e){return this._references.delete(e)}remove_def(e){return this._definitions.delete(e)}to_serializable(e){const r=this.get_ref(e);if(null!=r)return r;if(function(e){return(0,l.isObject)(e)&&void 0!==e[t.serialize]}(e))return e[t.serialize](this);if((0,l.isArray)(e)||(0,l.isTypedArray)(e)){const r=e.length,t=new Array(r);for(let i=0;i(0,s.buffer_to_base64)(_.buffer)};return Object.assign({__ndarray__:e},r)}}},\n function _(t,n,e,r,o){r(),e.buffer_to_base64=function(t){const n=new Uint8Array(t),e=Array.from(n).map((t=>String.fromCharCode(t)));return btoa(e.join(\"\"))},e.base64_to_buffer=function(t){const n=atob(t),e=n.length,r=new Uint8Array(e);for(let t=0,o=e;t\"'`])/g,(t=>{switch(t){case\"&\":return\"&\";case\"<\":return\"<\";case\">\":return\">\";case'\"':return\""\";case\"'\":return\"'\";case\"`\":return\"`\";default:return t}}))},r.unescape=function(t){return t.replace(/&(amp|lt|gt|quot|#x27|#x60);/g,((t,e)=>{switch(e){case\"amp\":return\"&\";case\"lt\":return\"<\";case\"gt\":return\">\";case\"quot\":return'\"';case\"#x27\":return\"'\";case\"#x60\":return\"`\";default:return e}}))},r.use_strict=function(t){return`'use strict';\\n${t}`},r.to_fixed=function(t,e){return t.toFixed(e).replace(/(\\.[0-9]*?)0+$/,\"$1\").replace(/\\.$/,\"\")}},\n function _(e,t,s,n,o){n();const i=e(30);class r{constructor(e){this.document=e}}s.DocumentEvent=r,r.__name__=\"DocumentEvent\";class a extends r{constructor(e,t,s){super(e),this.events=t,this.setter_id=s}}s.DocumentEventBatch=a,a.__name__=\"DocumentEventBatch\";class d extends r{}s.DocumentChangedEvent=d,d.__name__=\"DocumentChangedEvent\";class l extends d{constructor(e,t,s){super(e),this.msg_type=t,this.msg_data=s}[i.serialize](e){const t=this.msg_data,s=e.to_serializable(t);return{kind:\"MessageSent\",msg_type:this.msg_type,msg_data:s}}}s.MessageSentEvent=l,l.__name__=\"MessageSentEvent\";class _ extends d{constructor(e,t,s,n,o,i,r){super(e),this.model=t,this.attr=s,this.old=n,this.new_=o,this.setter_id=i,this.hint=r}[i.serialize](e){if(null!=this.hint)return e.to_serializable(this.hint);const t=this.new_,s=e.to_serializable(t);return this.model!=t&&e.remove_def(this.model),{kind:\"ModelChanged\",model:this.model.ref(),attr:this.attr,new:s}}}s.ModelChangedEvent=_,_.__name__=\"ModelChangedEvent\";class c extends d{constructor(e,t,s){super(e),this.column_source=t,this.patches=s}[i.serialize](e){return{kind:\"ColumnsPatched\",column_source:this.column_source,patches:this.patches}}}s.ColumnsPatchedEvent=c,c.__name__=\"ColumnsPatchedEvent\";class h extends d{constructor(e,t,s,n){super(e),this.column_source=t,this.data=s,this.rollover=n}[i.serialize](e){return{kind:\"ColumnsStreamed\",column_source:this.column_source,data:this.data,rollover:this.rollover}}}s.ColumnsStreamedEvent=h,h.__name__=\"ColumnsStreamedEvent\";class m extends d{constructor(e,t,s){super(e),this.title=t,this.setter_id=s}[i.serialize](e){return{kind:\"TitleChanged\",title:this.title}}}s.TitleChangedEvent=m,m.__name__=\"TitleChangedEvent\";class u extends d{constructor(e,t,s){super(e),this.model=t,this.setter_id=s}[i.serialize](e){return{kind:\"RootAdded\",model:e.to_serializable(this.model)}}}s.RootAddedEvent=u,u.__name__=\"RootAddedEvent\";class v extends d{constructor(e,t,s){super(e),this.model=t,this.setter_id=s}[i.serialize](e){return{kind:\"RootRemoved\",model:this.model.ref()}}}s.RootRemovedEvent=v,v.__name__=\"RootRemovedEvent\"},\n function _(t,i,r,n,s){n();const e=t(8),o=t(13);r.pretty=Symbol(\"pretty\");class c{constructor(t){this.visited=new Set,this.precision=null==t?void 0:t.precision}to_string(t){if((0,e.isObject)(t)){if(this.visited.has(t))return\"\";this.visited.add(t)}return function(t){return(0,e.isObject)(t)&&void 0!==t[r.pretty]}(t)?t[r.pretty](this):(0,e.isBoolean)(t)?this.boolean(t):(0,e.isNumber)(t)?this.number(t):(0,e.isString)(t)?this.string(t):(0,e.isArray)(t)?this.array(t):(0,e.isIterable)(t)?this.iterable(t):(0,e.isPlainObject)(t)?this.object(t):(0,e.isSymbol)(t)?this.symbol(t):`${t}`}token(t){return t}boolean(t){return`${t}`}number(t){return null!=this.precision?t.toFixed(this.precision):`${t}`}string(t){return`\"${t.replace(/'/g,\"\\\\'\")}\"`}symbol(t){return t.toString()}array(t){const i=this.token,r=[];for(const i of t)r.push(this.to_string(i));return`${i(\"[\")}${r.join(`${i(\",\")} `)}${i(\"]\")}`}iterable(t){var i;const r=this.token,n=null!==(i=Object(t)[Symbol.toStringTag])&&void 0!==i?i:\"Object\",s=this.array(t);return`${n}${r(\"(\")}${s}${r(\")\")}`}object(t){const i=this.token,r=[];for(const[n,s]of(0,o.entries)(t))r.push(`${n}${i(\":\")} ${this.to_string(s)}`);return`${i(\"{\")}${r.join(`${i(\",\")} `)}${i(\"}\")}`}}r.Printer=c,c.__name__=\"Printer\",r.to_string=function(t,i){return new c(i).to_string(t)}},\n function _(n,o,r,e,t){e();const l=n(13),i=n(8);function c(n){return(0,i.isObject)(n)&&void 0!==n[r.clone]}r.clone=Symbol(\"clone\"),r.is_Cloneable=c;class s extends Error{}r.CloningError=s,s.__name__=\"CloningError\";class a{constructor(){}clone(n){if(c(n))return n[r.clone](this);if((0,i.isArray)(n)){const o=n.length,r=new Array(o);for(let e=0;e{null!=this.layout&&(this.layout.visible=this.model.visible,this.plot_view.request_layout())}))}get needs_clip(){return null==this.layout}serializable_state(){const t=super.serializable_state();return null==this.layout?t:Object.assign(Object.assign({},t),{bbox:this.layout.bbox.box})}}i.AnnotationView=r,r.__name__=\"AnnotationView\";class a extends l.Renderer{constructor(t){super(t)}}i.Annotation=a,o=a,a.__name__=\"Annotation\",o.override({level:\"annotation\"})},\n function _(e,i,t,n,s){n();const r=e(1);var o,a;const _=e(42),l=(0,r.__importStar)(e(45)),d=e(20),h=e(53),u=e(54);class c extends h.Model{constructor(e){super(e)}}t.RendererGroup=c,o=c,c.__name__=\"RendererGroup\",o.define((({Boolean:e})=>({visible:[e,!0]})));class p extends _.View{get coordinates(){const{_coordinates:e}=this;return null!=e?e:this._coordinates=this._initialize_coordinates()}initialize(){super.initialize(),this.visuals=new l.Visuals(this),this.needs_webgl_blit=!1}connect_signals(){super.connect_signals();const{x_range_name:e,y_range_name:i}=this.model.properties;this.on_change([e,i],(()=>this._initialize_coordinates()));const{group:t}=this.model;null!=t&&this.on_change(t.properties.visible,(()=>{this.model.visible=t.visible}))}_initialize_coordinates(){const{coordinates:e}=this.model,{frame:i}=this.plot_view;if(null!=e)return e.get_transform(i);{const{x_range_name:e,y_range_name:t}=this.model,n=i.x_scales.get(e),s=i.y_scales.get(t);return new u.CoordinateTransform(n,s)}}get plot_view(){return this.parent}get plot_model(){return this.parent.model}get layer(){const{overlays:e,primary:i}=this.canvas;return\"overlay\"==this.model.level?e:i}get canvas(){return this.plot_view.canvas_view}request_render(){this.request_paint()}request_paint(){this.plot_view.request_paint(this)}request_layout(){this.plot_view.request_layout()}notify_finished(){this.plot_view.notify_finished()}notify_finished_after_paint(){this.plot_view.notify_finished_after_paint()}get needs_clip(){return!1}get has_webgl(){return!1}render(){this.model.visible&&this._render(),this._has_finished=!0}renderer_view(e){}}t.RendererView=p,p.__name__=\"RendererView\";class g extends h.Model{constructor(e){super(e)}}t.Renderer=g,a=g,g.__name__=\"Renderer\",a.define((({Boolean:e,String:i,Ref:t,Nullable:n})=>({group:[n(t(c)),null],level:[d.RenderLevel,\"image\"],visible:[e,!0],x_range_name:[i,\"default\"],y_range_name:[i,\"default\"],coordinates:[n(t(u.CoordinateMapping)),null]})))},\n function _(t,e,s,i,n){i();const o=t(1),h=t(15),r=t(43),l=t(8),_=(0,o.__importDefault)(t(44));class d{constructor(t){this.removed=new h.Signal0(this,\"removed\"),this._ready=Promise.resolve(void 0),this._slots=new WeakMap,this._idle_notified=!1;const{model:e,parent:s}=t;this.model=e,this.parent=s,this.root=null==s?this:s.root,this.removed.emit()}get ready(){return this._ready}connect(t,e){let s=this._slots.get(e);return null==s&&(s=(t,s)=>{const i=Promise.resolve(e.call(this,t,s));this._ready=this._ready.then((()=>i))},this._slots.set(e,s)),t.connect(s,this)}disconnect(t,e){return t.disconnect(e,this)}initialize(){this._has_finished=!1,this.is_root&&(this._stylesheet=r.stylesheet);for(const t of this.styles())this.stylesheet.append(t)}async lazy_initialize(){}remove(){this.disconnect_signals(),this.removed.emit()}toString(){return`${this.model.type}View(${this.model.id})`}serializable_state(){return{type:this.model.type}}get is_root(){return null==this.parent}has_finished(){return this._has_finished}get is_idle(){return this.has_finished()}connect_signals(){}disconnect_signals(){h.Signal.disconnect_receiver(this)}on_change(t,e){for(const s of(0,l.isArray)(t)?t:[t])this.connect(s.change,e)}cursor(t,e){return null}get stylesheet(){return this.is_root?this._stylesheet:this.root.stylesheet}styles(){return[_.default]}notify_finished(){this.is_root?!this._idle_notified&&this.has_finished()&&null!=this.model.document&&(this._idle_notified=!0,this.model.document.notify_idle(this.model)):this.root.notify_finished()}}s.View=d,d.__name__=\"View\"},\n function _(t,e,n,i,o){i();const s=t(8),l=t(13),r=t=>(e={},...n)=>{const i=document.createElement(t);i.classList.add(\"bk\"),(0,s.isPlainObject)(e)||(n=[e,...n],e={});for(let[t,n]of(0,l.entries)(e))if(null!=n&&(!(0,s.isBoolean)(n)||n))if(\"class\"===t&&((0,s.isString)(n)&&(n=n.split(/\\s+/)),(0,s.isArray)(n)))for(const t of n)null!=t&&i.classList.add(t);else if(\"style\"===t&&(0,s.isPlainObject)(n))for(const[t,e]of(0,l.entries)(n))i.style[t]=e;else if(\"data\"===t&&(0,s.isPlainObject)(n))for(const[t,e]of(0,l.entries)(n))i.dataset[t]=e;else i.setAttribute(t,n);function o(t){if((0,s.isString)(t))i.appendChild(document.createTextNode(t));else if(t instanceof Node)i.appendChild(t);else if(t instanceof NodeList||t instanceof HTMLCollection)for(const e of t)i.appendChild(e);else if(null!=t&&!1!==t)throw new Error(`expected a DOM element, string, false or null, got ${JSON.stringify(t)}`)}for(const t of n)if((0,s.isArray)(t))for(const e of t)o(e);else o(t);return i};function a(t){const e=t.parentNode;null!=e&&e.removeChild(t)}function c(t,...e){const n=t.firstChild;for(const i of e)t.insertBefore(i,n)}function d(t,e){var n,i,o;const s=Element.prototype;return(null!==(o=null!==(i=null!==(n=s.matches)&&void 0!==n?n:s.webkitMatchesSelector)&&void 0!==i?i:s.mozMatchesSelector)&&void 0!==o?o:s.msMatchesSelector).call(t,e)}function h(t){return parseFloat(t)||0}function f(t){const e=getComputedStyle(t);return{border:{top:h(e.borderTopWidth),bottom:h(e.borderBottomWidth),left:h(e.borderLeftWidth),right:h(e.borderRightWidth)},margin:{top:h(e.marginTop),bottom:h(e.marginBottom),left:h(e.marginLeft),right:h(e.marginRight)},padding:{top:h(e.paddingTop),bottom:h(e.paddingBottom),left:h(e.paddingLeft),right:h(e.paddingRight)}}}function u(t){const e=t.getBoundingClientRect();return{width:Math.ceil(e.width),height:Math.ceil(e.height)}}n.createElement=function(t,e,...n){return r(t)(e,...n)},n.div=r(\"div\"),n.span=r(\"span\"),n.canvas=r(\"canvas\"),n.link=r(\"link\"),n.style=r(\"style\"),n.a=r(\"a\"),n.p=r(\"p\"),n.i=r(\"i\"),n.pre=r(\"pre\"),n.button=r(\"button\"),n.label=r(\"label\"),n.input=r(\"input\"),n.select=r(\"select\"),n.option=r(\"option\"),n.optgroup=r(\"optgroup\"),n.textarea=r(\"textarea\"),n.createSVGElement=function(t,e,...n){const i=document.createElementNS(\"http://www.w3.org/2000/svg\",t);for(const[t,n]of(0,l.entries)(null!=e?e:{}))null==n||(0,s.isBoolean)(n)&&!n||i.setAttribute(t,n);function o(t){if((0,s.isString)(t))i.appendChild(document.createTextNode(t));else if(t instanceof Node)i.appendChild(t);else if(t instanceof NodeList||t instanceof HTMLCollection)for(const e of t)i.appendChild(e);else if(null!=t&&!1!==t)throw new Error(`expected a DOM element, string, false or null, got ${JSON.stringify(t)}`)}for(const t of n)if((0,s.isArray)(t))for(const e of t)o(e);else o(t);return i},n.nbsp=function(){return document.createTextNode(\"\\xa0\")},n.append=function(t,...e){for(const n of e)t.appendChild(n)},n.remove=a,n.removeElement=a,n.replaceWith=function(t,e){const n=t.parentNode;null!=n&&n.replaceChild(e,t)},n.prepend=c,n.empty=function(t,e=!1){let n;for(;n=t.firstChild;)t.removeChild(n);if(e&&t instanceof Element)for(const e of t.attributes)t.removeAttributeNode(e)},n.display=function(t){t.style.display=\"\"},n.undisplay=function(t){t.style.display=\"none\"},n.show=function(t){t.style.visibility=\"\"},n.hide=function(t){t.style.visibility=\"hidden\"},n.offset=function(t){const e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset-document.documentElement.clientTop,left:e.left+window.pageXOffset-document.documentElement.clientLeft}},n.matches=d,n.parent=function(t,e){let n=t;for(;n=n.parentElement;)if(d(n,e))return n;return null},n.extents=f,n.size=u,n.scroll_size=function(t){return{width:Math.ceil(t.scrollWidth),height:Math.ceil(t.scrollHeight)}},n.outer_size=function(t){const{margin:{left:e,right:n,top:i,bottom:o}}=f(t),{width:s,height:l}=u(t);return{width:Math.ceil(s+e+n),height:Math.ceil(l+i+o)}},n.content_size=function(t){const{left:e,top:n}=t.getBoundingClientRect(),{padding:i}=f(t);let o=0,s=0;for(const l of t.children){const t=l.getBoundingClientRect();o=Math.max(o,Math.ceil(t.left-e-i.left+t.width)),s=Math.max(s,Math.ceil(t.top-n-i.top+t.height))}return{width:o,height:s}},n.position=function(t,e,n){const{style:i}=t;if(i.left=`${e.x}px`,i.top=`${e.y}px`,i.width=`${e.width}px`,i.height=`${e.height}px`,null==n)i.margin=\"\";else{const{top:t,right:e,bottom:o,left:s}=n;i.margin=`${t}px ${e}px ${o}px ${s}px`}},n.children=function(t){return Array.from(t.children)};class p{constructor(t){this.el=t,this.classList=t.classList}get values(){const t=[];for(let e=0;e{document.addEventListener(\"DOMContentLoaded\",(()=>t()),{once:!0})}))}},\n function _(o,i,t,e,r){e(),t.root=\"bk-root\",t.default=\".bk-root{position:relative;width:auto;height:auto;box-sizing:border-box;font-family:Helvetica, Arial, sans-serif;font-size:13px;}.bk-root .bk,.bk-root .bk:before,.bk-root .bk:after{box-sizing:inherit;margin:0;border:0;padding:0;background-image:none;font-family:inherit;font-size:100%;line-height:1.42857143;}.bk-root pre.bk{font-family:Courier, monospace;}\"},\n function _(e,t,r,a,c){a();const n=e(1),l=e(46);c(\"Line\",l.Line),c(\"LineScalar\",l.LineScalar),c(\"LineVector\",l.LineVector);const i=e(49);c(\"Fill\",i.Fill),c(\"FillScalar\",i.FillScalar),c(\"FillVector\",i.FillVector);const s=e(50);c(\"Text\",s.Text),c(\"TextScalar\",s.TextScalar),c(\"TextVector\",s.TextVector);const o=e(51);c(\"Hatch\",o.Hatch),c(\"HatchScalar\",o.HatchScalar),c(\"HatchVector\",o.HatchVector);const u=(0,n.__importStar)(e(48)),V=e(47);c(\"VisualProperties\",V.VisualProperties),c(\"VisualUniforms\",V.VisualUniforms);class h{constructor(e){this._visuals=[];for(const[t,r]of e.model._mixins){const a=(()=>{switch(r){case u.Line:return new l.Line(e,t);case u.LineScalar:return new l.LineScalar(e,t);case u.LineVector:return new l.LineVector(e,t);case u.Fill:return new i.Fill(e,t);case u.FillScalar:return new i.FillScalar(e,t);case u.FillVector:return new i.FillVector(e,t);case u.Text:return new s.Text(e,t);case u.TextScalar:return new s.TextScalar(e,t);case u.TextVector:return new s.TextVector(e,t);case u.Hatch:return new o.Hatch(e,t);case u.HatchScalar:return new o.HatchScalar(e,t);case u.HatchVector:return new o.HatchVector(e,t);default:throw new Error(\"unknown visual\")}})();a instanceof V.VisualProperties&&a.update(),this._visuals.push(a),Object.defineProperty(this,t+a.type,{get:()=>a,configurable:!1,enumerable:!0})}}*[Symbol.iterator](){yield*this._visuals}}r.Visuals=h,h.__name__=\"Visuals\"},\n function _(e,t,i,l,s){l();const a=e(1),n=e(47),h=(0,a.__importStar)(e(48)),o=e(22),_=e(8);function r(e){if((0,_.isArray)(e))return e;switch(e){case\"solid\":return[];case\"dashed\":return[6];case\"dotted\":return[2,4];case\"dotdash\":return[2,4,6,4];case\"dashdot\":return[6,4,2,4];default:return e.split(\" \").map(Number).filter(_.isInteger)}}i.resolve_line_dash=r;class u extends n.VisualProperties{get doit(){const e=this.line_color.get_value(),t=this.line_alpha.get_value(),i=this.line_width.get_value();return!(null==e||0==t||0==i)}apply(e){const{doit:t}=this;return t&&(this.set_value(e),e.stroke()),t}values(){return{color:this.line_color.get_value(),alpha:this.line_alpha.get_value(),width:this.line_width.get_value(),join:this.line_join.get_value(),cap:this.line_cap.get_value(),dash:this.line_dash.get_value(),offset:this.line_dash_offset.get_value()}}set_value(e){const t=this.line_color.get_value(),i=this.line_alpha.get_value();e.strokeStyle=(0,o.color2css)(t,i),e.lineWidth=this.line_width.get_value(),e.lineJoin=this.line_join.get_value(),e.lineCap=this.line_cap.get_value(),e.lineDash=r(this.line_dash.get_value()),e.lineDashOffset=this.line_dash_offset.get_value()}}i.Line=u,u.__name__=\"Line\";class c extends n.VisualUniforms{get doit(){const e=this.line_color.value,t=this.line_alpha.value,i=this.line_width.value;return!(0==e||0==t||0==i)}apply(e){const{doit:t}=this;return t&&(this.set_value(e),e.stroke()),t}values(){return{color:this.line_color.value,alpha:this.line_alpha.value,width:this.line_width.value,join:this.line_join.value,cap:this.line_cap.value,dash:this.line_dash.value,offset:this.line_dash_offset.value}}set_value(e){const t=this.line_color.value,i=this.line_alpha.value;e.strokeStyle=(0,o.color2css)(t,i),e.lineWidth=this.line_width.value,e.lineJoin=this.line_join.value,e.lineCap=this.line_cap.value,e.lineDash=r(this.line_dash.value),e.lineDashOffset=this.line_dash_offset.value}}i.LineScalar=c,c.__name__=\"LineScalar\";class d extends n.VisualUniforms{get doit(){const{line_color:e}=this;if(e.is_Scalar()&&0==e.value)return!1;const{line_alpha:t}=this;if(t.is_Scalar()&&0==t.value)return!1;const{line_width:i}=this;return!i.is_Scalar()||0!=i.value}apply(e,t){const{doit:i}=this;return i&&(this.set_vectorize(e,t),e.stroke()),i}values(e){return{color:this.line_color.get(e),alpha:this.line_alpha.get(e),width:this.line_width.get(e),join:this.line_join.get(e),cap:this.line_cap.get(e),dash:this.line_dash.get(e),offset:this.line_dash_offset.get(e)}}set_vectorize(e,t){const i=this.line_color.get(t),l=this.line_alpha.get(t),s=this.line_width.get(t),a=this.line_join.get(t),n=this.line_cap.get(t),h=this.line_dash.get(t),_=this.line_dash_offset.get(t);e.strokeStyle=(0,o.color2css)(i,l),e.lineWidth=s,e.lineJoin=a,e.lineCap=n,e.lineDash=r(h),e.lineDashOffset=_}}i.LineVector=d,d.__name__=\"LineVector\",u.prototype.type=\"line\",u.prototype.attrs=Object.keys(h.Line),c.prototype.type=\"line\",c.prototype.attrs=Object.keys(h.LineScalar),d.prototype.type=\"line\",d.prototype.attrs=Object.keys(h.LineVector)},\n function _(t,s,o,i,r){i();class e{constructor(t,s=\"\"){this.obj=t,this.prefix=s;const o=this;this._props=[];for(const i of this.attrs){const r=t.model.properties[s+i];r.change.connect((()=>this.update())),o[i]=r,this._props.push(r)}}*[Symbol.iterator](){yield*this._props}update(){}}o.VisualProperties=e,e.__name__=\"VisualProperties\";class p{constructor(t,s=\"\"){this.obj=t,this.prefix=s;for(const o of this.attrs)Object.defineProperty(this,o,{get:()=>t[s+o]})}*[Symbol.iterator](){for(const t of this.attrs)yield this.obj.model.properties[this.prefix+t]}update(){}}o.VisualUniforms=p,p.__name__=\"VisualUniforms\"},\n function _(e,l,t,a,c){a();const r=e(1),o=(0,r.__importStar)(e(18)),n=e(20),i=(0,r.__importStar)(e(21)),_=e(13);t.Line={line_color:[i.Nullable(i.Color),\"black\"],line_alpha:[i.Alpha,1],line_width:[i.Number,1],line_join:[n.LineJoin,\"bevel\"],line_cap:[n.LineCap,\"butt\"],line_dash:[i.Or(n.LineDash,i.Array(i.Number)),[]],line_dash_offset:[i.Number,0]},t.Fill={fill_color:[i.Nullable(i.Color),\"gray\"],fill_alpha:[i.Alpha,1]},t.Hatch={hatch_color:[i.Nullable(i.Color),\"black\"],hatch_alpha:[i.Alpha,1],hatch_scale:[i.Number,12],hatch_pattern:[i.Nullable(i.Or(n.HatchPatternType,i.String)),null],hatch_weight:[i.Number,1],hatch_extra:[i.Dict(i.AnyRef()),{}]},t.Text={text_color:[i.Nullable(i.Color),\"#444444\"],text_alpha:[i.Alpha,1],text_font:[o.Font,\"helvetica\"],text_font_size:[i.FontSize,\"16px\"],text_font_style:[n.FontStyle,\"normal\"],text_align:[n.TextAlign,\"left\"],text_baseline:[n.TextBaseline,\"bottom\"],text_line_height:[i.Number,1.2]},t.LineScalar={line_color:[o.ColorScalar,\"black\"],line_alpha:[o.NumberScalar,1],line_width:[o.NumberScalar,1],line_join:[o.LineJoinScalar,\"bevel\"],line_cap:[o.LineCapScalar,\"butt\"],line_dash:[o.LineDashScalar,[]],line_dash_offset:[o.NumberScalar,0]},t.FillScalar={fill_color:[o.ColorScalar,\"gray\"],fill_alpha:[o.NumberScalar,1]},t.HatchScalar={hatch_color:[o.ColorScalar,\"black\"],hatch_alpha:[o.NumberScalar,1],hatch_scale:[o.NumberScalar,12],hatch_pattern:[o.NullStringScalar,null],hatch_weight:[o.NumberScalar,1],hatch_extra:[o.AnyScalar,{}]},t.TextScalar={text_color:[o.ColorScalar,\"#444444\"],text_alpha:[o.NumberScalar,1],text_font:[o.FontScalar,\"helvetica\"],text_font_size:[o.FontSizeScalar,\"16px\"],text_font_style:[o.FontStyleScalar,\"normal\"],text_align:[o.TextAlignScalar,\"left\"],text_baseline:[o.TextBaselineScalar,\"bottom\"],text_line_height:[o.NumberScalar,1.2]},t.LineVector={line_color:[o.ColorSpec,\"black\"],line_alpha:[o.NumberSpec,1],line_width:[o.NumberSpec,1],line_join:[o.LineJoinSpec,\"bevel\"],line_cap:[o.LineCapSpec,\"butt\"],line_dash:[o.LineDashSpec,[]],line_dash_offset:[o.NumberSpec,0]},t.FillVector={fill_color:[o.ColorSpec,\"gray\"],fill_alpha:[o.NumberSpec,1]},t.HatchVector={hatch_color:[o.ColorSpec,\"black\"],hatch_alpha:[o.NumberSpec,1],hatch_scale:[o.NumberSpec,12],hatch_pattern:[o.NullStringSpec,null],hatch_weight:[o.NumberSpec,1],hatch_extra:[o.AnyScalar,{}]},t.TextVector={text_color:[o.ColorSpec,\"#444444\"],text_alpha:[o.NumberSpec,1],text_font:[o.FontSpec,\"helvetica\"],text_font_size:[o.FontSizeSpec,\"16px\"],text_font_style:[o.FontStyleSpec,\"normal\"],text_align:[o.TextAlignSpec,\"left\"],text_baseline:[o.TextBaselineSpec,\"bottom\"],text_line_height:[o.NumberSpec,1.2]},t.attrs_of=function(e,l,t,a=!1){const c={};for(const r of(0,_.keys)(t)){const t=`${l}${r}`,o=e[t];c[a?t:r]=o}return c}},\n function _(l,t,e,i,s){i();const a=l(1),o=l(47),r=(0,a.__importStar)(l(48)),_=l(22);class c extends o.VisualProperties{get doit(){const l=this.fill_color.get_value(),t=this.fill_alpha.get_value();return!(null==l||0==t)}apply(l,t){const{doit:e}=this;return e&&(this.set_value(l),l.fill(t)),e}values(){return{color:this.fill_color.get_value(),alpha:this.fill_alpha.get_value()}}set_value(l){const t=this.fill_color.get_value(),e=this.fill_alpha.get_value();l.fillStyle=(0,_.color2css)(t,e)}}e.Fill=c,c.__name__=\"Fill\";class h extends o.VisualUniforms{get doit(){const l=this.fill_color.value,t=this.fill_alpha.value;return!(0==l||0==t)}apply(l,t){const{doit:e}=this;return e&&(this.set_value(l),l.fill(t)),e}values(){return{color:this.fill_color.value,alpha:this.fill_alpha.value}}set_value(l){const t=this.fill_color.value,e=this.fill_alpha.value;l.fillStyle=(0,_.color2css)(t,e)}}e.FillScalar=h,h.__name__=\"FillScalar\";class u extends o.VisualUniforms{get doit(){const{fill_color:l}=this;if(l.is_Scalar()&&0==l.value)return!1;const{fill_alpha:t}=this;return!t.is_Scalar()||0!=t.value}apply(l,t,e){const{doit:i}=this;return i&&(this.set_vectorize(l,t),l.fill(e)),i}values(l){return{color:this.fill_color.get(l),alpha:this.fill_alpha.get(l)}}set_vectorize(l,t){const e=this.fill_color.get(t),i=this.fill_alpha.get(t);l.fillStyle=(0,_.color2css)(e,i)}}e.FillVector=u,u.__name__=\"FillVector\",c.prototype.type=\"fill\",c.prototype.attrs=Object.keys(r.Fill),h.prototype.type=\"fill\",h.prototype.attrs=Object.keys(r.FillScalar),u.prototype.type=\"fill\",u.prototype.attrs=Object.keys(r.FillVector)},\n function _(t,e,l,s,_){s();const i=t(1),a=t(47),o=(0,i.__importStar)(t(48)),n=t(22);class h extends a.VisualProperties{get doit(){const t=this.text_color.get_value(),e=this.text_alpha.get_value();return!(null==t||0==e)}values(){return{color:this.text_color.get_value(),alpha:this.text_alpha.get_value(),font:this.text_font.get_value(),font_size:this.text_font_size.get_value(),font_style:this.text_font_style.get_value(),align:this.text_align.get_value(),baseline:this.text_baseline.get_value(),line_height:this.text_line_height.get_value()}}set_value(t){const e=this.text_color.get_value(),l=this.text_alpha.get_value();t.fillStyle=(0,n.color2css)(e,l),t.font=this.font_value(),t.textAlign=this.text_align.get_value(),t.textBaseline=this.text_baseline.get_value()}font_value(){return`${this.text_font_style.get_value()} ${this.text_font_size.get_value()} ${this.text_font.get_value()}`}}l.Text=h,h.__name__=\"Text\";class x extends a.VisualUniforms{get doit(){const t=this.text_color.value,e=this.text_alpha.value;return!(0==t||0==e)}values(){return{color:this.text_color.value,alpha:this.text_alpha.value,font:this.text_font.value,font_size:this.text_font_size.value,font_style:this.text_font_style.value,align:this.text_align.value,baseline:this.text_baseline.value,line_height:this.text_line_height.value}}set_value(t){const e=this.text_color.value,l=this.text_alpha.value,s=this.font_value(),_=this.text_align.value,i=this.text_baseline.value;t.fillStyle=(0,n.color2css)(e,l),t.font=s,t.textAlign=_,t.textBaseline=i}font_value(){return`${this.text_font_style.value} ${this.text_font_size.value} ${this.text_font.value}`}}l.TextScalar=x,x.__name__=\"TextScalar\";class u extends a.VisualUniforms{values(t){return{color:this.text_color.get(t),alpha:this.text_alpha.get(t),font:this.text_font.get(t),font_size:this.text_font_size.get(t),font_style:this.text_font_style.get(t),align:this.text_align.get(t),baseline:this.text_baseline.get(t),line_height:this.text_line_height.get(t)}}get doit(){const{text_color:t}=this;if(t.is_Scalar()&&0==t.value)return!1;const{text_alpha:e}=this;return!e.is_Scalar()||0!=e.value}set_vectorize(t,e){const l=this.text_color.get(e),s=this.text_alpha.get(e),_=this.font_value(e),i=this.text_align.get(e),a=this.text_baseline.get(e);t.fillStyle=(0,n.color2css)(l,s),t.font=_,t.textAlign=i,t.textBaseline=a}font_value(t){return`${this.text_font_style.get(t)} ${this.text_font_size.get(t)} ${this.text_font.get(t)}`}}l.TextVector=u,u.__name__=\"TextVector\",h.prototype.type=\"text\",h.prototype.attrs=Object.keys(o.Text),x.prototype.type=\"text\",x.prototype.attrs=Object.keys(o.TextScalar),u.prototype.type=\"text\",u.prototype.attrs=Object.keys(o.TextVector)},\n function _(t,e,a,r,i){r();const h=t(1),s=t(47),n=t(52),c=(0,h.__importStar)(t(18)),_=(0,h.__importStar)(t(48));class l extends s.VisualProperties{constructor(){super(...arguments),this._update_iteration=0}update(){if(this._update_iteration++,this._hatch_image=null,!this.doit)return;const t=this.hatch_color.get_value(),e=this.hatch_alpha.get_value(),a=this.hatch_scale.get_value(),r=this.hatch_pattern.get_value(),i=this.hatch_weight.get_value(),h=t=>{this._hatch_image=t},s=this.hatch_extra.get_value()[r];if(null!=s){const r=s.get_pattern(t,e,a,i);if(r instanceof Promise){const{_update_iteration:t}=this;r.then((e=>{this._update_iteration==t&&(h(e),this.obj.request_render())}))}else h(r)}else{const s=this.obj.canvas.create_layer(),c=(0,n.get_pattern)(s,r,t,e,a,i);h(c)}}get doit(){const t=this.hatch_color.get_value(),e=this.hatch_alpha.get_value(),a=this.hatch_pattern.get_value();return!(null==t||0==e||\" \"==a||\"blank\"==a||null==a)}apply(t,e){const{doit:a}=this;return a&&(this.set_value(t),t.layer.undo_transform((()=>t.fill(e)))),a}set_value(t){const e=this.pattern(t);t.fillStyle=null!=e?e:\"transparent\"}pattern(t){const e=this._hatch_image;return null==e?null:t.createPattern(e,this.repetition())}repetition(){const t=this.hatch_pattern.get_value(),e=this.hatch_extra.get_value()[t];if(null==e)return\"repeat\";switch(e.repetition){case\"repeat\":return\"repeat\";case\"repeat_x\":return\"repeat-x\";case\"repeat_y\":return\"repeat-y\";case\"no_repeat\":return\"no-repeat\"}}}a.Hatch=l,l.__name__=\"Hatch\";class o extends s.VisualUniforms{constructor(){super(...arguments),this._static_doit=!1,this._update_iteration=0}_compute_static_doit(){const t=this.hatch_color.value,e=this.hatch_alpha.value,a=this.hatch_pattern.value;return!(null==t||0==e||\" \"==a||\"blank\"==a||null==a)}update(){this._update_iteration++;const t=this.hatch_color.length;if(this._hatch_image=new c.UniformScalar(null,t),this._static_doit=this._compute_static_doit(),!this._static_doit)return;const e=this.hatch_color.value,a=this.hatch_alpha.value,r=this.hatch_scale.value,i=this.hatch_pattern.value,h=this.hatch_weight.value,s=e=>{this._hatch_image=new c.UniformScalar(e,t)},_=this.hatch_extra.value[i];if(null!=_){const t=_.get_pattern(e,a,r,h);if(t instanceof Promise){const{_update_iteration:e}=this;t.then((t=>{this._update_iteration==e&&(s(t),this.obj.request_render())}))}else s(t)}else{const t=this.obj.canvas.create_layer(),c=(0,n.get_pattern)(t,i,e,a,r,h);s(c)}}get doit(){return this._static_doit}apply(t,e){const{doit:a}=this;return a&&(this.set_value(t),t.layer.undo_transform((()=>t.fill(e)))),a}set_value(t){var e;t.fillStyle=null!==(e=this.pattern(t))&&void 0!==e?e:\"transparent\"}pattern(t){const e=this._hatch_image.value;return null==e?null:t.createPattern(e,this.repetition())}repetition(){const t=this.hatch_pattern.value,e=this.hatch_extra.value[t];if(null==e)return\"repeat\";switch(e.repetition){case\"repeat\":return\"repeat\";case\"repeat_x\":return\"repeat-x\";case\"repeat_y\":return\"repeat-y\";case\"no_repeat\":return\"no-repeat\"}}}a.HatchScalar=o,o.__name__=\"HatchScalar\";class u extends s.VisualUniforms{constructor(){super(...arguments),this._static_doit=!1,this._update_iteration=0}_compute_static_doit(){const{hatch_color:t}=this;if(t.is_Scalar()&&0==t.value)return!1;const{hatch_alpha:e}=this;if(e.is_Scalar()&&0==e.value)return!1;const{hatch_pattern:a}=this;if(a.is_Scalar()){const t=a.value;if(\" \"==t||\"blank\"==t||null==t)return!1}return!0}update(){this._update_iteration++;const t=this.hatch_color.length;if(this._hatch_image=new c.UniformScalar(null,t),this._static_doit=this._compute_static_doit(),!this._static_doit)return;const e=(t,e,a,r,i,h)=>{const s=this.hatch_extra.value[t];if(null!=s){const t=s.get_pattern(e,a,r,i);if(t instanceof Promise){const{_update_iteration:e}=this;t.then((t=>{this._update_iteration==e&&(h(t),this.obj.request_render())}))}else h(t)}else{const s=this.obj.canvas.create_layer(),c=(0,n.get_pattern)(s,t,e,a,r,i);h(c)}};if(this.hatch_color.is_Scalar()&&this.hatch_alpha.is_Scalar()&&this.hatch_scale.is_Scalar()&&this.hatch_pattern.is_Scalar()&&this.hatch_weight.is_Scalar()){const a=this.hatch_color.value,r=this.hatch_alpha.value,i=this.hatch_scale.value;e(this.hatch_pattern.value,a,r,i,this.hatch_weight.value,(e=>{this._hatch_image=new c.UniformScalar(e,t)}))}else{const a=new Array(t);a.fill(null),this._hatch_image=new c.UniformVector(a);for(let r=0;r{a[r]=t}))}}}get doit(){return this._static_doit}apply(t,e,a){const{doit:r}=this;return r&&(this.set_vectorize(t,e),t.layer.undo_transform((()=>t.fill(a)))),r}set_vectorize(t,e){var a;t.fillStyle=null!==(a=this.pattern(t,e))&&void 0!==a?a:\"transparent\"}pattern(t,e){const a=this._hatch_image.get(e);return null==a?null:t.createPattern(a,this.repetition(e))}repetition(t){const e=this.hatch_pattern.get(t),a=this.hatch_extra.value[e];if(null==a)return\"repeat\";switch(a.repetition){case\"repeat\":return\"repeat\";case\"repeat_x\":return\"repeat-x\";case\"repeat_y\":return\"repeat-y\";case\"no_repeat\":return\"no-repeat\"}}}a.HatchVector=u,u.__name__=\"HatchVector\",l.prototype.type=\"hatch\",l.prototype.attrs=Object.keys(_.Hatch),o.prototype.type=\"hatch\",o.prototype.attrs=Object.keys(_.HatchScalar),u.prototype.type=\"hatch\",u.prototype.attrs=Object.keys(_.HatchVector)},\n function _(e,o,a,s,r){s();const i=e(22);function l(e,o,a){e.moveTo(0,a+.5),e.lineTo(o,a+.5),e.stroke()}function n(e,o,a){e.moveTo(a+.5,0),e.lineTo(a+.5,o),e.stroke()}function t(e,o){e.moveTo(0,o),e.lineTo(o,0),e.stroke(),e.moveTo(0,0),e.lineTo(o,o),e.stroke()}a.hatch_aliases={\" \":\"blank\",\".\":\"dot\",o:\"ring\",\"-\":\"horizontal_line\",\"|\":\"vertical_line\",\"+\":\"cross\",'\"':\"horizontal_dash\",\":\":\"vertical_dash\",\"@\":\"spiral\",\"/\":\"right_diagonal_line\",\"\\\\\":\"left_diagonal_line\",x:\"diagonal_cross\",\",\":\"right_diagonal_dash\",\"`\":\"left_diagonal_dash\",v:\"horizontal_wave\",\">\":\"vertical_wave\",\"*\":\"criss_cross\"},a.get_pattern=function(e,o,s,r,c,k){return e.resize(c,c),e.prepare(),function(e,o,s,r,c,k){var _;const T=c,v=T/2,h=v/2,d=(0,i.color2css)(s,r);switch(e.strokeStyle=d,e.fillStyle=d,e.lineCap=\"square\",e.lineWidth=k,null!==(_=a.hatch_aliases[o])&&void 0!==_?_:o){case\"blank\":break;case\"dot\":e.arc(v,v,v/2,0,2*Math.PI,!0),e.fill();break;case\"ring\":e.arc(v,v,v/2,0,2*Math.PI,!0),e.stroke();break;case\"horizontal_line\":l(e,T,v);break;case\"vertical_line\":n(e,T,v);break;case\"cross\":l(e,T,v),n(e,T,v);break;case\"horizontal_dash\":l(e,v,v);break;case\"vertical_dash\":n(e,v,v);break;case\"spiral\":{const o=T/30;e.moveTo(v,v);for(let a=0;a<360;a++){const s=.1*a,r=v+o*s*Math.cos(s),i=v+o*s*Math.sin(s);e.lineTo(r,i)}e.stroke();break}case\"right_diagonal_line\":e.moveTo(.5-h,T),e.lineTo(h+.5,0),e.stroke(),e.moveTo(h+.5,T),e.lineTo(3*h+.5,0),e.stroke(),e.moveTo(3*h+.5,T),e.lineTo(5*h+.5,0),e.stroke(),e.stroke();break;case\"left_diagonal_line\":e.moveTo(h+.5,T),e.lineTo(.5-h,0),e.stroke(),e.moveTo(3*h+.5,T),e.lineTo(h+.5,0),e.stroke(),e.moveTo(5*h+.5,T),e.lineTo(3*h+.5,0),e.stroke(),e.stroke();break;case\"diagonal_cross\":t(e,T);break;case\"right_diagonal_dash\":e.moveTo(h+.5,3*h+.5),e.lineTo(3*h+.5,h+.5),e.stroke();break;case\"left_diagonal_dash\":e.moveTo(h+.5,h+.5),e.lineTo(3*h+.5,3*h+.5),e.stroke();break;case\"horizontal_wave\":e.moveTo(0,h),e.lineTo(v,3*h),e.lineTo(T,h),e.stroke();break;case\"vertical_wave\":e.moveTo(h,0),e.lineTo(3*h,v),e.lineTo(h,T),e.stroke();break;case\"criss_cross\":t(e,T),l(e,T,v),n(e,T,v)}}(e.ctx,o,s,r,c,k),e.canvas}},\n function _(e,t,s,n,c){var a;n();const i=e(14),r=e(8),l=e(13),o=e(26),_=e(19);class h extends i.HasProps{constructor(e){super(e)}get is_syncable(){return this.syncable}[o.equals](e,t){return t.eq(this.id,e.id)&&super[o.equals](e,t)}initialize(){super.initialize(),this._js_callbacks=new Map}connect_signals(){super.connect_signals(),this._update_property_callbacks(),this.connect(this.properties.js_property_callbacks.change,(()=>this._update_property_callbacks())),this.connect(this.properties.js_event_callbacks.change,(()=>this._update_event_callbacks())),this.connect(this.properties.subscribed_events.change,(()=>this._update_event_callbacks()))}_process_event(e){var t;for(const s of null!==(t=this.js_event_callbacks[e.event_name])&&void 0!==t?t:[])s.execute(e);null!=this.document&&this.subscribed_events.some((t=>t==e.event_name))&&this.document.event_manager.send_event(e)}trigger_event(e){null!=this.document&&(e.origin=this,this.document.event_manager.trigger(e))}_update_event_callbacks(){null!=this.document?this.document.event_manager.subscribed_models.add(this):_.logger.warn(\"WARNING: Document not defined for updating event callbacks\")}_update_property_callbacks(){const e=e=>{const[t,s=null]=e.split(\":\");return null!=s?this.properties[s][t]:this[t]};for(const[t,s]of this._js_callbacks){const n=e(t);for(const e of s)this.disconnect(n,e)}this._js_callbacks.clear();for(const[t,s]of(0,l.entries)(this.js_property_callbacks)){const n=s.map((e=>()=>e.execute(this)));this._js_callbacks.set(t,n);const c=e(t);for(const e of n)this.connect(c,e)}}_doc_attached(){(0,l.isEmpty)(this.js_event_callbacks)&&0==this.subscribed_events.length||this._update_event_callbacks()}_doc_detached(){this.document.event_manager.subscribed_models.delete(this)}select(e){if((0,r.isString)(e))return[...this.references()].filter((t=>t instanceof h&&t.name===e));if(e.prototype instanceof i.HasProps)return[...this.references()].filter((t=>t instanceof e));throw new Error(\"invalid selector\")}select_one(e){const t=this.select(e);switch(t.length){case 0:return null;case 1:return t[0];default:throw new Error(\"found more than one object matching given selector\")}}}s.Model=h,a=h,h.__name__=\"Model\",a.define((({Any:e,Unknown:t,Boolean:s,String:n,Array:c,Dict:a,Nullable:i})=>({tags:[c(t),[]],name:[i(n),null],js_property_callbacks:[a(c(e)),{}],js_event_callbacks:[a(c(e)),{}],subscribed_events:[c(n),[]],syncable:[s,!0]})))},\n function _(e,t,s,a,r){var c,n;a();const _=e(12),o=e(53),i=e(55),l=e(59),u=e(61),g=e(62),h=e(57),p=e(63),m=e(67);class x{constructor(e,t){this.x_scale=e,this.y_scale=t,this.x_source=this.x_scale.source_range,this.y_source=this.y_scale.source_range,this.ranges=[this.x_source,this.y_source],this.scales=[this.x_scale,this.y_scale]}map_to_screen(e,t){return[this.x_scale.v_compute(e),this.y_scale.v_compute(t)]}map_from_screen(e,t){return[this.x_scale.v_invert(e),this.y_scale.v_invert(t)]}}s.CoordinateTransform=x,x.__name__=\"CoordinateTransform\";class y extends o.Model{constructor(e){super(e)}get x_ranges(){return new Map([[\"default\",this.x_source]])}get y_ranges(){return new Map([[\"default\",this.y_source]])}_get_scale(e,t,s){if(e instanceof m.FactorRange!=t instanceof g.CategoricalScale)throw new Error(`Range ${e.type} is incompatible is Scale ${t.type}`);t instanceof u.LogScale&&e instanceof p.DataRange1d&&(e.scale_hint=\"log\");const a=t.clone();return a.setv({source_range:e,target_range:s}),a}get_transform(e){const{x_source:t,x_scale:s,x_target:a}=this,r=this._get_scale(t,s,a),{y_source:c,y_scale:n,y_target:_}=this,o=this._get_scale(c,n,_),i=new v({source_scale:r,source_range:r.source_range,target_scale:e.x_scale,target_range:e.x_target}),l=new v({source_scale:o,source_range:o.source_range,target_scale:e.y_scale,target_range:e.y_target});return new x(i,l)}}s.CoordinateMapping=y,c=y,y.__name__=\"CoordinateMapping\",c.define((({Ref:e})=>({x_source:[e(h.Range),()=>new p.DataRange1d],y_source:[e(h.Range),()=>new p.DataRange1d],x_scale:[e(i.Scale),()=>new l.LinearScale],y_scale:[e(i.Scale),()=>new l.LinearScale],x_target:[e(h.Range)],y_target:[e(h.Range)]})));class v extends i.Scale{constructor(e){super(e)}get s_compute(){const e=this.source_scale.s_compute,t=this.target_scale.s_compute;return s=>t(e(s))}get s_invert(){const e=this.source_scale.s_invert,t=this.target_scale.s_invert;return s=>e(t(s))}compute(e){return this.s_compute(e)}v_compute(e){const{s_compute:t}=this;return(0,_.map)(e,t)}invert(e){return this.s_invert(e)}v_invert(e){const{s_invert:t}=this;return(0,_.map)(e,t)}}s.CompositeScale=v,n=v,v.__name__=\"CompositeScale\",n.internal((({Ref:e})=>({source_scale:[e(i.Scale)],target_scale:[e(i.Scale)]})))},\n function _(e,t,r,n,s){var _;n();const a=e(56),c=e(57),o=e(58),i=e(24);class u extends a.Transform{constructor(e){super(e)}compute(e){return this.s_compute(e)}v_compute(e){const t=new i.ScreenArray(e.length),{s_compute:r}=this;for(let n=0;n({source_range:[e(c.Range)],target_range:[e(o.Range1d)]})))},\n function _(n,s,o,r,c){r();const e=n(53);class t extends e.Model{constructor(n){super(n)}}o.Transform=t,t.__name__=\"Transform\"},\n function _(e,t,n,i,s){var r;i();const a=e(53);class l extends a.Model{constructor(e){super(e),this.have_updated_interactively=!1}get is_reversed(){return this.start>this.end}get is_valid(){return isFinite(this.min)&&isFinite(this.max)}get span(){return Math.abs(this.end-this.start)}}n.Range=l,r=l,l.__name__=\"Range\",r.define((({Number:e,Tuple:t,Or:n,Auto:i,Nullable:s})=>({bounds:[s(n(t(s(e),s(e)),i)),null],min_interval:[s(e),null],max_interval:[s(e),null]}))),r.internal((({Array:e,AnyRef:t})=>({plots:[e(t()),[]]})))},\n function _(t,e,s,n,r){var a;n();const i=t(57);class _ extends i.Range{constructor(t){super(t)}_set_auto_bounds(){if(\"auto\"==this.bounds){const t=Math.min(this._reset_start,this._reset_end),e=Math.max(this._reset_start,this._reset_end);this.setv({bounds:[t,e]},{silent:!0})}}initialize(){super.initialize(),this._set_auto_bounds()}get min(){return Math.min(this.start,this.end)}get max(){return Math.max(this.start,this.end)}reset(){this._set_auto_bounds();const{_reset_start:t,_reset_end:e}=this;this.start!=t||this.end!=e?this.setv({start:t,end:e}):this.change.emit()}map(t){return new _({start:t(this.start),end:t(this.end)})}widen(t){let{start:e,end:s}=this;return this.is_reversed?(e+=t,s-=t):(e-=t,s+=t),new _({start:e,end:s})}}s.Range1d=_,a=_,_.__name__=\"Range1d\",a.define((({Number:t,Nullable:e})=>({start:[t,0],end:[t,1],reset_start:[e(t),null,{on_update(t,e){e._reset_start=null!=t?t:e.start}}],reset_end:[e(t),null,{on_update(t,e){e._reset_end=null!=t?t:e.end}}]})))},\n function _(t,e,n,r,s){r();const a=t(60);class _ extends a.ContinuousScale{constructor(t){super(t)}get s_compute(){const[t,e]=this._linear_compute_state();return n=>t*n+e}get s_invert(){const[t,e]=this._linear_compute_state();return n=>(n-e)/t}_linear_compute_state(){const t=this.source_range.start,e=this.source_range.end,n=this.target_range.start,r=(this.target_range.end-n)/(e-t);return[r,-r*t+n]}}n.LinearScale=_,_.__name__=\"LinearScale\"},\n function _(n,c,o,s,e){s();const t=n(55);class u extends t.Scale{constructor(n){super(n)}}o.ContinuousScale=u,u.__name__=\"ContinuousScale\"},\n function _(t,e,a,o,s){o();const r=t(60);class n extends r.ContinuousScale{constructor(t){super(t)}get s_compute(){const[t,e,a,o]=this._compute_state();return s=>{if(0==a)return 0;{const r=(Math.log(s)-o)/a;return isFinite(r)?r*t+e:NaN}}}get s_invert(){const[t,e,a,o]=this._compute_state();return s=>{const r=(s-e)/t;return Math.exp(a*r+o)}}_get_safe_factor(t,e){let a=t<0?0:t,o=e<0?0:e;if(a==o)if(0==a)[a,o]=[1,10];else{const t=Math.log(a)/Math.log(10);a=10**Math.floor(t),o=Math.ceil(t)!=Math.floor(t)?10**Math.ceil(t):10**(Math.ceil(t)+1)}return[a,o]}_compute_state(){const t=this.source_range.start,e=this.source_range.end,a=this.target_range.start,o=this.target_range.end-a,[s,r]=this._get_safe_factor(t,e);let n,c;0==s?(n=Math.log(r),c=0):(n=Math.log(r)-Math.log(s),c=Math.log(s));return[o,a,n,c]}}a.LogScale=n,n.__name__=\"LogScale\"},\n function _(t,e,c,a,s){a();const n=t(55),r=t(59),{_linear_compute_state:o}=r.LinearScale.prototype;class l extends n.Scale{constructor(t){super(t)}get s_compute(){const[t,e]=o.call(this),c=this.source_range;return a=>t*c.synthetic(a)+e}get s_invert(){const[t,e]=o.call(this);return c=>(c-e)/t}}c.CategoricalScale=l,l.__name__=\"CategoricalScale\"},\n function _(t,i,n,e,a){e();const s=t(1);var l;const _=t(64),o=t(20),r=t(9),h=t(19),d=(0,s.__importStar)(t(65)),u=t(66);class g extends _.DataRange{constructor(t){super(t),this.have_updated_interactively=!1}initialize(){super.initialize(),this._initial_start=this.start,this._initial_end=this.end,this._initial_range_padding=this.range_padding,this._initial_range_padding_units=this.range_padding_units,this._initial_follow=this.follow,this._initial_follow_interval=this.follow_interval,this._initial_default_span=this.default_span,this._plot_bounds=new Map}get min(){return Math.min(this.start,this.end)}get max(){return Math.max(this.start,this.end)}computed_renderers(){const{renderers:t,names:i}=this,n=(0,r.concat)(this.plots.map((t=>t.data_renderers)));return(0,u.compute_renderers)(0==t.length?\"auto\":t,n,i)}_compute_plot_bounds(t,i){let n=d.empty();for(const e of t){const t=i.get(e);null==t||!e.visible&&this.only_visible||(n=d.union(n,t))}return n}adjust_bounds_for_aspect(t,i){const n=d.empty();let e=t.x1-t.x0;e<=0&&(e=1);let a=t.y1-t.y0;a<=0&&(a=1);const s=.5*(t.x1+t.x0),l=.5*(t.y1+t.y0);return el&&(\"start\"==this.follow?a=e+s*l:\"end\"==this.follow&&(e=a-s*l)),[e,a]}update(t,i,n,e){if(this.have_updated_interactively)return;const a=this.computed_renderers();let s=this._compute_plot_bounds(a,t);null!=e&&(s=this.adjust_bounds_for_aspect(s,e)),this._plot_bounds.set(n,s);const[l,_]=this._compute_min_max(this._plot_bounds.entries(),i);let[o,r]=this._compute_range(l,_);null!=this._initial_start&&(\"log\"==this.scale_hint?this._initial_start>0&&(o=this._initial_start):o=this._initial_start),null!=this._initial_end&&(\"log\"==this.scale_hint?this._initial_end>0&&(r=this._initial_end):r=this._initial_end);let h=!1;\"auto\"==this.bounds&&(this.setv({bounds:[o,r]},{silent:!0}),h=!0);const[d,u]=[this.start,this.end];if(o!=d||r!=u){const t={};o!=d&&(t.start=o),r!=u&&(t.end=r),this.setv(t),h=!1}h&&this.change.emit()}reset(){this.have_updated_interactively=!1,this.setv({range_padding:this._initial_range_padding,range_padding_units:this._initial_range_padding_units,follow:this._initial_follow,follow_interval:this._initial_follow_interval,default_span:this._initial_default_span},{silent:!0}),this.change.emit()}}n.DataRange1d=g,l=g,g.__name__=\"DataRange1d\",l.define((({Boolean:t,Number:i,Nullable:n})=>({start:[i],end:[i],range_padding:[i,.1],range_padding_units:[o.PaddingUnits,\"percent\"],flipped:[t,!1],follow:[n(o.StartEnd),null],follow_interval:[n(i),null],default_span:[i,2],only_visible:[t,!1]}))),l.internal((({Enum:t})=>({scale_hint:[t(\"log\",\"auto\"),\"auto\"]})))},\n function _(e,n,a,r,s){var t;r();const c=e(57);class _ extends c.Range{constructor(e){super(e)}}a.DataRange=_,t=_,_.__name__=\"DataRange\",t.define((({String:e,Array:n,AnyRef:a})=>({names:[n(e),[]],renderers:[n(a()),[]]})))},\n function _(t,i,e,h,r){h();const s=t(24),n=t(26),{min:x,max:y}=Math;e.empty=function(){return{x0:1/0,y0:1/0,x1:-1/0,y1:-1/0}},e.positive_x=function(){return{x0:Number.MIN_VALUE,y0:-1/0,x1:1/0,y1:1/0}},e.positive_y=function(){return{x0:-1/0,y0:Number.MIN_VALUE,x1:1/0,y1:1/0}},e.union=function(t,i){return{x0:x(t.x0,i.x0),x1:y(t.x1,i.x1),y0:x(t.y0,i.y0),y1:y(t.y1,i.y1)}};class o{constructor(t){if(null==t)this.x0=0,this.y0=0,this.x1=0,this.y1=0;else if(\"x0\"in t){const{x0:i,y0:e,x1:h,y1:r}=t;if(!(i<=h&&e<=r))throw new Error(`invalid bbox {x0: ${i}, y0: ${e}, x1: ${h}, y1: ${r}}`);this.x0=i,this.y0=e,this.x1=h,this.y1=r}else if(\"x\"in t){const{x:i,y:e,width:h,height:r}=t;if(!(h>=0&&r>=0))throw new Error(`invalid bbox {x: ${i}, y: ${e}, width: ${h}, height: ${r}}`);this.x0=i,this.y0=e,this.x1=i+h,this.y1=e+r}else{let i,e,h,r;if(\"width\"in t)if(\"left\"in t)i=t.left,e=i+t.width;else if(\"right\"in t)e=t.right,i=e-t.width;else{const h=t.width/2;i=t.hcenter-h,e=t.hcenter+h}else i=t.left,e=t.right;if(\"height\"in t)if(\"top\"in t)h=t.top,r=h+t.height;else if(\"bottom\"in t)r=t.bottom,h=r-t.height;else{const i=t.height/2;h=t.vcenter-i,r=t.vcenter+i}else h=t.top,r=t.bottom;if(!(i<=e&&h<=r))throw new Error(`invalid bbox {left: ${i}, top: ${h}, right: ${e}, bottom: ${r}}`);this.x0=i,this.y0=h,this.x1=e,this.y1=r}}static from_rect({left:t,right:i,top:e,bottom:h}){return new o({x0:Math.min(t,i),y0:Math.min(e,h),x1:Math.max(t,i),y1:Math.max(e,h)})}equals(t){return this.x0==t.x0&&this.y0==t.y0&&this.x1==t.x1&&this.y1==t.y1}[n.equals](t,i){return i.eq(this.x0,t.x0)&&i.eq(this.y0,t.y0)&&i.eq(this.x1,t.x1)&&i.eq(this.y1,t.y1)}toString(){return`BBox({left: ${this.left}, top: ${this.top}, width: ${this.width}, height: ${this.height}})`}get left(){return this.x0}get top(){return this.y0}get right(){return this.x1}get bottom(){return this.y1}get p0(){return[this.x0,this.y0]}get p1(){return[this.x1,this.y1]}get x(){return this.x0}get y(){return this.y0}get width(){return this.x1-this.x0}get height(){return this.y1-this.y0}get size(){return{width:this.width,height:this.height}}get rect(){const{x0:t,y0:i,x1:e,y1:h}=this;return{p0:{x:t,y:i},p1:{x:e,y:i},p2:{x:e,y:h},p3:{x:t,y:h}}}get box(){const{x:t,y:i,width:e,height:h}=this;return{x:t,y:i,width:e,height:h}}get h_range(){return{start:this.x0,end:this.x1}}get v_range(){return{start:this.y0,end:this.y1}}get ranges(){return[this.h_range,this.v_range]}get aspect(){return this.width/this.height}get hcenter(){return(this.left+this.right)/2}get vcenter(){return(this.top+this.bottom)/2}get area(){return this.width*this.height}relative(){const{width:t,height:i}=this;return new o({x:0,y:0,width:t,height:i})}translate(t,i){const{x:e,y:h,width:r,height:s}=this;return new o({x:t+e,y:i+h,width:r,height:s})}relativize(t,i){return[t-this.x,i-this.y]}contains(t,i){return this.x0<=t&&t<=this.x1&&this.y0<=i&&i<=this.y1}clip(t,i){return tthis.x1&&(t=this.x1),ithis.y1&&(i=this.y1),[t,i]}grow_by(t){return new o({left:this.left-t,right:this.right+t,top:this.top-t,bottom:this.bottom+t})}shrink_by(t){return new o({left:this.left+t,right:this.right-t,top:this.top+t,bottom:this.bottom-t})}union(t){return new o({x0:x(this.x0,t.x0),y0:x(this.y0,t.y0),x1:y(this.x1,t.x1),y1:y(this.y1,t.y1)})}intersection(t){return this.intersects(t)?new o({x0:y(this.x0,t.x0),y0:y(this.y0,t.y0),x1:x(this.x1,t.x1),y1:x(this.y1,t.y1)}):null}intersects(t){return!(t.x1this.x1||t.y1this.y1)}get xview(){return{compute:t=>this.left+t,v_compute:t=>{const i=new s.ScreenArray(t.length),e=this.left;for(let h=0;hthis.bottom-t,v_compute:t=>{const i=new s.ScreenArray(t.length),e=this.bottom;for(let h=0;h0&&(r=r.filter((n=>(0,l.includes)(t,n.name)))),r}},\n function _(t,n,e,i,s){var r;i();const a=t(57),o=t(20),g=t(21),p=t(24),c=t(9),l=t(8),u=t(11);function h(t,n,e=0){const i=new Map;for(let s=0;sa.get(t).value)));r.set(t,{value:l/s,mapping:a}),o+=s+n+p}return[r,(a.size-1)*n+g]}function _(t,n,e,i,s=0){var r;const a=new Map,o=new Map;for(const[n,e,i]of t){const t=null!==(r=o.get(n))&&void 0!==r?r:[];o.set(n,[...t,[e,i]])}let g=s,p=0;for(const[t,s]of o){const r=s.length,[o,l]=d(s,e,i,g);p+=l;const u=(0,c.sum)(s.map((([t])=>o.get(t).value)));a.set(t,{value:u/r,mapping:o}),g+=r+n+l}return[a,(o.size-1)*n+p]}e.Factor=(0,g.Or)(g.String,(0,g.Tuple)(g.String,g.String),(0,g.Tuple)(g.String,g.String,g.String)),e.FactorSeq=(0,g.Or)((0,g.Array)(g.String),(0,g.Array)((0,g.Tuple)(g.String,g.String)),(0,g.Array)((0,g.Tuple)(g.String,g.String,g.String))),e.map_one_level=h,e.map_two_levels=d,e.map_three_levels=_;class f extends a.Range{constructor(t){super(t)}get min(){return this.start}get max(){return this.end}initialize(){super.initialize(),this._init(!0)}connect_signals(){super.connect_signals(),this.connect(this.properties.factors.change,(()=>this.reset())),this.connect(this.properties.factor_padding.change,(()=>this.reset())),this.connect(this.properties.group_padding.change,(()=>this.reset())),this.connect(this.properties.subgroup_padding.change,(()=>this.reset())),this.connect(this.properties.range_padding.change,(()=>this.reset())),this.connect(this.properties.range_padding_units.change,(()=>this.reset()))}reset(){this._init(!1),this.change.emit()}_lookup(t){switch(t.length){case 1:{const[n]=t,e=this._mapping.get(n);return null!=e?e.value:NaN}case 2:{const[n,e]=t,i=this._mapping.get(n);if(null!=i){const t=i.mapping.get(e);if(null!=t)return t.value}return NaN}case 3:{const[n,e,i]=t,s=this._mapping.get(n);if(null!=s){const t=s.mapping.get(e);if(null!=t){const n=t.mapping.get(i);if(null!=n)return n.value}}return NaN}default:(0,u.unreachable)()}}synthetic(t){if((0,l.isNumber)(t))return t;if((0,l.isString)(t))return this._lookup([t]);let n=0;const e=t[t.length-1];return(0,l.isNumber)(e)&&(n=e,t=t.slice(0,-1)),this._lookup(t)+n}v_synthetic(t){const n=t.length,e=new p.ScreenArray(n);for(let i=0;i{if((0,c.every)(this.factors,l.isString)){const t=this.factors,[n,e]=h(t,this.factor_padding);return{levels:1,mapping:n,tops:null,mids:null,inside_padding:e}}if((0,c.every)(this.factors,(t=>(0,l.isArray)(t)&&2==t.length&&(0,l.isString)(t[0])&&(0,l.isString)(t[1])))){const t=this.factors,[n,e]=d(t,this.group_padding,this.factor_padding),i=[...n.keys()];return{levels:2,mapping:n,tops:i,mids:null,inside_padding:e}}if((0,c.every)(this.factors,(t=>(0,l.isArray)(t)&&3==t.length&&(0,l.isString)(t[0])&&(0,l.isString)(t[1])&&(0,l.isString)(t[2])))){const t=this.factors,[n,e]=_(t,this.group_padding,this.subgroup_padding,this.factor_padding),i=[...n.keys()],s=[];for(const[t,e]of n)for(const n of e.mapping.keys())s.push([t,n]);return{levels:3,mapping:n,tops:i,mids:s,inside_padding:e}}(0,u.unreachable)()})();this._mapping=e,this.tops=i,this.mids=s;let a=0,o=this.factors.length+r;if(\"percent\"==this.range_padding_units){const t=(o-a)*this.range_padding/2;a-=t,o+=t}else a-=this.range_padding,o+=this.range_padding;this.setv({start:a,end:o,levels:n},{silent:t}),\"auto\"==this.bounds&&this.setv({bounds:[a,o]},{silent:!0})}}e.FactorRange=f,r=f,f.__name__=\"FactorRange\",r.define((({Number:t})=>({factors:[e.FactorSeq,[]],factor_padding:[t,0],subgroup_padding:[t,.8],group_padding:[t,1.4],range_padding:[t,0],range_padding_units:[o.PaddingUnits,\"percent\"],start:[t],end:[t]}))),r.internal((({Number:t,String:n,Array:e,Tuple:i,Nullable:s})=>({levels:[t],mids:[s(e(i(n,n))),null],tops:[s(e(n)),null]})))},\n function _(t,e,s,a,i){a();const n=t(1);var _;const r=t(69),o=t(112),l=t(48),d=t(20),h=t(24),c=t(113),u=(0,n.__importStar)(t(18)),v=t(10);class p extends r.DataAnnotationView{async lazy_initialize(){await super.lazy_initialize();const{start:t,end:e}=this.model;null!=t&&(this.start=await(0,c.build_view)(t,{parent:this})),null!=e&&(this.end=await(0,c.build_view)(e,{parent:this}))}set_data(t){var e,s;super.set_data(t),null===(e=this.start)||void 0===e||e.set_data(t),null===(s=this.end)||void 0===s||s.set_data(t)}remove(){var t,e;null===(t=this.start)||void 0===t||t.remove(),null===(e=this.end)||void 0===e||e.remove(),super.remove()}map_data(){const{frame:t}=this.plot_view;\"data\"==this.model.start_units?(this._sx_start=this.coordinates.x_scale.v_compute(this._x_start),this._sy_start=this.coordinates.y_scale.v_compute(this._y_start)):(this._sx_start=t.bbox.xview.v_compute(this._x_start),this._sy_start=t.bbox.yview.v_compute(this._y_start)),\"data\"==this.model.end_units?(this._sx_end=this.coordinates.x_scale.v_compute(this._x_end),this._sy_end=this.coordinates.y_scale.v_compute(this._y_end)):(this._sx_end=t.bbox.xview.v_compute(this._x_end),this._sy_end=t.bbox.yview.v_compute(this._y_end));const{_sx_start:e,_sy_start:s,_sx_end:a,_sy_end:i}=this,n=e.length,_=this._angles=new h.ScreenArray(n);for(let t=0;t({x_start:[u.XCoordinateSpec,{field:\"x_start\"}],y_start:[u.YCoordinateSpec,{field:\"y_start\"}],start_units:[d.SpatialUnits,\"data\"],start:[e(t(o.ArrowHead)),null],x_end:[u.XCoordinateSpec,{field:\"x_end\"}],y_end:[u.YCoordinateSpec,{field:\"y_end\"}],end_units:[d.SpatialUnits,\"data\"],end:[e(t(o.ArrowHead)),()=>new o.OpenHead]})))},\n function _(t,e,n,s,a){s();const o=t(1);var i;const c=t(40),r=t(70),_=t(75),l=t(78),h=(0,o.__importStar)(t(18));class d extends c.AnnotationView{constructor(){super(...arguments),this._initial_set_data=!1}connect_signals(){super.connect_signals();const t=()=>{this.set_data(this.model.source),this._rerender()};this.connect(this.model.change,t),this.connect(this.model.source.streaming,t),this.connect(this.model.source.patching,t),this.connect(this.model.source.change,t)}_rerender(){this.request_render()}set_data(t){const e=this;for(const n of this.model)if(n instanceof h.VectorSpec||n instanceof h.ScalarSpec)if(n instanceof h.BaseCoordinateSpec){const s=n.array(t);e[`_${n.attr}`]=s}else{const s=n.uniform(t);e[`${n.attr}`]=s}this.plot_model.use_map&&(null!=e._x&&l.inplace.project_xy(e._x,e._y),null!=e._xs&&l.inplace.project_xsys(e._xs,e._ys));for(const t of this.visuals)t.update()}_render(){this._initial_set_data||(this.set_data(this.model.source),this._initial_set_data=!0),this.map_data(),this.paint(this.layer.ctx)}}n.DataAnnotationView=d,d.__name__=\"DataAnnotationView\";class u extends c.Annotation{constructor(t){super(t)}}n.DataAnnotation=u,i=u,u.__name__=\"DataAnnotation\",i.define((({Ref:t})=>({source:[t(r.ColumnarDataSource),()=>new _.ColumnDataSource]})))},\n function _(t,e,n,s,a){var i;s();const r=t(71),l=t(15),c=t(19),o=t(73),h=t(8),u=t(9),g=t(13),d=t(72),_=t(74),m=t(29);class w extends r.DataSource{constructor(t){super(t),this.selection_manager=new o.SelectionManager(this)}get_array(t){let e=this.data[t];return null==e?this.data[t]=e=[]:(0,h.isArray)(e)||(this.data[t]=e=Array.from(e)),e}initialize(){super.initialize(),this._select=new l.Signal0(this,\"select\"),this.inspect=new l.Signal(this,\"inspect\"),this.streaming=new l.Signal0(this,\"streaming\"),this.patching=new l.Signal(this,\"patching\")}get_column(t){const e=this.data[t];return null!=e?e:null}columns(){return(0,g.keys)(this.data)}get_length(t=!0){const e=(0,u.uniq)((0,g.values)(this.data).map((t=>(0,m.is_NDArray)(t)?t.shape[0]:t.length)));switch(e.length){case 0:return null;case 1:return e[0];default:{const n=\"data source has columns of inconsistent lengths\";if(t)return c.logger.warn(n),e.sort()[0];throw new Error(n)}}}get length(){var t;return null!==(t=this.get_length())&&void 0!==t?t:0}clear(){const t={};for(const e of this.columns())t[e]=new this.data[e].constructor(0);this.data=t}}n.ColumnarDataSource=w,i=w,w.__name__=\"ColumnarDataSource\",i.define((({Ref:t})=>({selection_policy:[t(_.SelectionPolicy),()=>new _.UnionRenderers]}))),i.internal((({AnyRef:t})=>({inspected:[t(),()=>new d.Selection]})))},\n function _(e,c,n,t,o){var a;t();const s=e(53),r=e(72);class l extends s.Model{constructor(e){super(e)}}n.DataSource=l,a=l,l.__name__=\"DataSource\",a.define((({Ref:e})=>({selected:[e(r.Selection),()=>new r.Selection]})))},\n function _(i,e,s,t,n){var l;t();const c=i(53),d=i(9),h=i(13);class _ extends c.Model{constructor(i){super(i)}get_view(){return this.view}get selected_glyph(){return this.selected_glyphs.length>0?this.selected_glyphs[0]:null}add_to_selected_glyphs(i){this.selected_glyphs.push(i)}update(i,e=!0,s=\"replace\"){switch(s){case\"replace\":this.indices=i.indices,this.line_indices=i.line_indices,this.multiline_indices=i.multiline_indices,this.image_indices=i.image_indices,this.view=i.view,this.selected_glyphs=i.selected_glyphs;break;case\"append\":this.update_through_union(i);break;case\"intersect\":this.update_through_intersection(i);break;case\"subtract\":this.update_through_subtraction(i)}}clear(){this.indices=[],this.line_indices=[],this.multiline_indices={},this.image_indices=[],this.view=null,this.selected_glyphs=[]}map(i){return new _(Object.assign(Object.assign({},this.attributes),{indices:this.indices.map(i),multiline_indices:(0,h.to_object)((0,h.entries)(this.multiline_indices).map((([e,s])=>[i(Number(e)),s]))),image_indices:this.image_indices.map((e=>Object.assign(Object.assign({},e),{index:i(e.index)})))}))}is_empty(){return 0==this.indices.length&&0==this.line_indices.length&&0==this.image_indices.length}update_through_union(i){this.indices=(0,d.union)(this.indices,i.indices),this.selected_glyphs=(0,d.union)(i.selected_glyphs,this.selected_glyphs),this.line_indices=(0,d.union)(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=(0,h.merge)(i.multiline_indices,this.multiline_indices)}update_through_intersection(i){this.indices=(0,d.intersection)(this.indices,i.indices),this.selected_glyphs=(0,d.union)(i.selected_glyphs,this.selected_glyphs),this.line_indices=(0,d.union)(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=(0,h.merge)(i.multiline_indices,this.multiline_indices)}update_through_subtraction(i){this.indices=(0,d.difference)(this.indices,i.indices),this.selected_glyphs=(0,d.union)(i.selected_glyphs,this.selected_glyphs),this.line_indices=(0,d.union)(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=(0,h.merge)(i.multiline_indices,this.multiline_indices)}}s.Selection=_,l=_,_.__name__=\"Selection\",l.define((({Int:i,Array:e,Dict:s})=>({indices:[e(i),[]],line_indices:[e(i),[]],multiline_indices:[s(e(i)),{}]}))),l.internal((({Int:i,Array:e,AnyRef:s,Struct:t,Nullable:n})=>({selected_glyphs:[e(s()),[]],view:[n(s()),null],image_indices:[e(t({index:i,dim1:i,dim2:i,flat_index:i})),[]]})))},\n function _(e,t,o,s,c){s();const n=e(72);function i(e){return\"GlyphRenderer\"==e.model.type}function l(e){return\"GraphRenderer\"==e.model.type}class r{constructor(e){this.source=e,this.inspectors=new Map}select(e,t,o,s=\"replace\"){const c=[],n=[];for(const t of e)i(t)?c.push(t):l(t)&&n.push(t);let r=!1;for(const e of n){const c=e.model.selection_policy.hit_test(t,e);r=r||e.model.selection_policy.do_selection(c,e.model,o,s)}if(c.length>0){const e=this.source.selection_policy.hit_test(t,c);r=r||this.source.selection_policy.do_selection(e,this.source,o,s)}return r}inspect(e,t){let o=!1;if(i(e)){const s=e.hit_test(t);if(null!=s){o=!s.is_empty();const c=this.get_or_create_inspector(e.model);c.update(s,!0,\"replace\"),this.source.setv({inspected:c},{silent:!0}),this.source.inspect.emit([e.model,{geometry:t}])}}else if(l(e)){const s=e.model.inspection_policy.hit_test(t,e);o=o||e.model.inspection_policy.do_inspection(s,t,e,!1,\"replace\")}return o}clear(e){this.source.selected.clear(),null!=e&&this.get_or_create_inspector(e.model).clear()}get_or_create_inspector(e){let t=this.inspectors.get(e);return null==t&&(t=new n.Selection,this.inspectors.set(e,t)),t}}o.SelectionManager=r,r.__name__=\"SelectionManager\"},\n function _(e,t,n,s,o){s();const r=e(53);class c extends r.Model{do_selection(e,t,n,s){return null!=e&&(t.selected.update(e,n,s),t._select.emit(),!t.selected.is_empty())}}n.SelectionPolicy=c,c.__name__=\"SelectionPolicy\";class l extends c{hit_test(e,t){const n=[];for(const s of t){const t=s.hit_test(e);null!=t&&n.push(t)}if(n.length>0){const e=n[0];for(const t of n)e.update_through_intersection(t);return e}return null}}n.IntersectRenderers=l,l.__name__=\"IntersectRenderers\";class _ extends c{hit_test(e,t){const n=[];for(const s of t){const t=s.hit_test(e);null!=t&&n.push(t)}if(n.length>0){const e=n[0];for(const t of n)e.update_through_union(t);return e}return null}}n.UnionRenderers=_,_.__name__=\"UnionRenderers\"},\n function _(t,n,e,s,o){s();const r=t(1);var l;const c=t(70),i=t(8),a=t(13),u=(0,r.__importStar)(t(76)),h=t(77),d=t(35);function f(t,n,e){if((0,i.isArray)(t)){const s=t.concat(n);return null!=e&&s.length>e?s.slice(-e):s}if((0,i.isTypedArray)(t)){const s=t.length+n.length;if(null!=e&&s>e){const o=s-e,r=t.length;let l;t.length({data:[t(n),{}]})))},\n function _(t,n,o,e,c){e(),o.concat=function(t,...n){let o=t.length;for(const t of n)o+=t.length;const e=new t.constructor(o);e.set(t,0);let c=t.length;for(const t of n)e.set(t,c),c+=t.length;return e}},\n function _(n,o,t,e,f){function c(...n){const o=new Set;for(const t of n)for(const n of t)o.add(n);return o}e(),t.union=c,t.intersection=function(n,...o){const t=new Set;n:for(const e of n){for(const n of o)if(!n.has(e))continue n;t.add(e)}return t},t.difference=function(n,...o){const t=new Set(n);for(const n of c(...o))t.delete(n);return t}},\n function _(n,t,e,o,r){o();const c=n(1),l=(0,c.__importDefault)(n(79)),i=(0,c.__importDefault)(n(80)),u=n(24),a=new i.default(\"GOOGLE\"),s=new i.default(\"WGS84\"),f=(0,l.default)(s,a);e.wgs84_mercator={compute:(n,t)=>isFinite(n)&&isFinite(t)?f.forward([n,t]):[NaN,NaN],invert:(n,t)=>isFinite(n)&&isFinite(t)?f.inverse([n,t]):[NaN,NaN]};const _={lon:[-20026376.39,20026376.39],lat:[-20048966.1,20048966.1]},p={lon:[-180,180],lat:[-85.06,85.06]},{min:g,max:h}=Math;function m(n,t){const o=g(n.length,t.length),r=(0,u.infer_type)(n,t),c=new r(o),l=new r(o);return e.inplace.project_xy(n,t,c,l),[c,l]}e.clip_mercator=function(n,t,e){const[o,r]=_[e];return[h(n,o),g(t,r)]},e.in_bounds=function(n,t){const[e,o]=p[t];return e2?void 0!==e.name&&\"geocent\"===e.name||void 0!==n.name&&\"geocent\"===n.name?\"number\"==typeof o.z?[o.x,o.y,o.z].concat(t.splice(3)):[o.x,o.y,t[2]].concat(t.splice(3)):[o.x,o.y].concat(t.splice(2)):[o.x,o.y]):(a=(0,c.default)(e,n,t,r),2===(i=Object.keys(t)).length||i.forEach((function(r){if(void 0!==e.name&&\"geocent\"===e.name||void 0!==n.name&&\"geocent\"===n.name){if(\"x\"===r||\"y\"===r||\"z\"===r)return}else if(\"x\"===r||\"y\"===r)return;a[r]=t[r]})),a)}function l(e){return e instanceof i.default?e:e.oProj?e.oProj:(0,i.default)(e)}t.default=function(e,n,t){e=l(e);var r,o=!1;return void 0===n?(n=e,e=u,o=!0):(void 0!==n.x||Array.isArray(n))&&(t=n,n=e,e=u,o=!0),n=l(n),t?f(e,n,t):(r={forward:function(t,r){return f(e,n,t,r)},inverse:function(t,r){return f(n,e,t,r)}},o&&(r.oProj=n),r)}},\n function _(t,e,a,s,i){s();const l=t(1),u=(0,l.__importDefault)(t(81)),r=(0,l.__importDefault)(t(92)),d=(0,l.__importDefault)(t(93)),o=t(101),f=(0,l.__importDefault)(t(103)),p=(0,l.__importDefault)(t(104)),m=(0,l.__importDefault)(t(88)),n=t(105);function h(t,e){if(!(this instanceof h))return new h(t);e=e||function(t){if(t)throw t};var a=(0,u.default)(t);if(\"object\"==typeof a){var s=h.projections.get(a.projName);if(s){if(a.datumCode&&\"none\"!==a.datumCode){var i=(0,m.default)(f.default,a.datumCode);i&&(a.datum_params=a.datum_params||(i.towgs84?i.towgs84.split(\",\"):null),a.ellps=i.ellipse,a.datumName=i.datumName?i.datumName:a.datumCode)}a.k0=a.k0||1,a.axis=a.axis||\"enu\",a.ellps=a.ellps||\"wgs84\",a.lat1=a.lat1||a.lat0;var l=(0,o.sphere)(a.a,a.b,a.rf,a.ellps,a.sphere),d=(0,o.eccentricity)(l.a,l.b,l.rf,a.R_A),_=(0,n.getNadgrids)(a.nadgrids),c=a.datum||(0,p.default)(a.datumCode,a.datum_params,l.a,l.b,d.es,d.ep2,_);(0,r.default)(this,a),(0,r.default)(this,s),this.a=l.a,this.b=l.b,this.rf=l.rf,this.sphere=l.sphere,this.es=d.es,this.e=d.e,this.ep2=d.ep2,this.datum=c,this.init(),e(null,this)}else e(t)}else e(t)}h.projections=d.default,h.projections.start(),a.default=h},\n function _(t,r,n,u,e){u();const f=t(1),i=(0,f.__importDefault)(t(82)),a=(0,f.__importDefault)(t(89)),o=(0,f.__importDefault)(t(84)),l=(0,f.__importDefault)(t(88));var C=[\"PROJECTEDCRS\",\"PROJCRS\",\"GEOGCS\",\"GEOCCS\",\"PROJCS\",\"LOCAL_CS\",\"GEODCRS\",\"GEODETICCRS\",\"GEODETICDATUM\",\"ENGCRS\",\"ENGINEERINGCRS\"];var d=[\"3857\",\"900913\",\"3785\",\"102113\"];n.default=function(t){if(!function(t){return\"string\"==typeof t}(t))return t;if(function(t){return t in i.default}(t))return i.default[t];if(function(t){return C.some((function(r){return t.indexOf(r)>-1}))}(t)){var r=(0,a.default)(t);if(function(t){var r=(0,l.default)(t,\"authority\");if(r){var n=(0,l.default)(r,\"epsg\");return n&&d.indexOf(n)>-1}}(r))return i.default[\"EPSG:3857\"];var n=function(t){var r=(0,l.default)(t,\"extension\");if(r)return(0,l.default)(r,\"proj4\")}(r);return n?(0,o.default)(n):r}return function(t){return\"+\"===t[0]}(t)?(0,o.default)(t):void 0}},\n function _(t,r,i,e,n){e();const f=t(1),a=(0,f.__importDefault)(t(83)),l=(0,f.__importDefault)(t(84)),u=(0,f.__importDefault)(t(89));function o(t){var r=this;if(2===arguments.length){var i=arguments[1];\"string\"==typeof i?\"+\"===i.charAt(0)?o[t]=(0,l.default)(arguments[1]):o[t]=(0,u.default)(arguments[1]):o[t]=i}else if(1===arguments.length){if(Array.isArray(t))return t.map((function(t){Array.isArray(t)?o.apply(r,t):o(t)}));if(\"string\"==typeof t){if(t in o)return o[t]}else\"EPSG\"in t?o[\"EPSG:\"+t.EPSG]=t:\"ESRI\"in t?o[\"ESRI:\"+t.ESRI]=t:\"IAU2000\"in t?o[\"IAU2000:\"+t.IAU2000]=t:console.log(t);return}}(0,a.default)(o),i.default=o},\n function _(t,l,G,S,e){S(),G.default=function(t){t(\"EPSG:4326\",\"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\"),t(\"EPSG:4269\",\"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\"),t(\"EPSG:3857\",\"+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs\"),t.WGS84=t[\"EPSG:4326\"],t[\"EPSG:3785\"]=t[\"EPSG:3857\"],t.GOOGLE=t[\"EPSG:3857\"],t[\"EPSG:900913\"]=t[\"EPSG:3857\"],t[\"EPSG:102113\"]=t[\"EPSG:3857\"]}},\n function _(t,n,o,a,u){a();const e=t(1),r=t(85),i=(0,e.__importDefault)(t(86)),f=(0,e.__importDefault)(t(87)),l=(0,e.__importDefault)(t(88));o.default=function(t){var n,o,a,u={},e=t.split(\"+\").map((function(t){return t.trim()})).filter((function(t){return t})).reduce((function(t,n){var o=n.split(\"=\");return o.push(!0),t[o[0].toLowerCase()]=o[1],t}),{}),c={proj:\"projName\",datum:\"datumCode\",rf:function(t){u.rf=parseFloat(t)},lat_0:function(t){u.lat0=t*r.D2R},lat_1:function(t){u.lat1=t*r.D2R},lat_2:function(t){u.lat2=t*r.D2R},lat_ts:function(t){u.lat_ts=t*r.D2R},lon_0:function(t){u.long0=t*r.D2R},lon_1:function(t){u.long1=t*r.D2R},lon_2:function(t){u.long2=t*r.D2R},alpha:function(t){u.alpha=parseFloat(t)*r.D2R},gamma:function(t){u.rectified_grid_angle=parseFloat(t)},lonc:function(t){u.longc=t*r.D2R},x_0:function(t){u.x0=parseFloat(t)},y_0:function(t){u.y0=parseFloat(t)},k_0:function(t){u.k0=parseFloat(t)},k:function(t){u.k0=parseFloat(t)},a:function(t){u.a=parseFloat(t)},b:function(t){u.b=parseFloat(t)},r_a:function(){u.R_A=!0},zone:function(t){u.zone=parseInt(t,10)},south:function(){u.utmSouth=!0},towgs84:function(t){u.datum_params=t.split(\",\").map((function(t){return parseFloat(t)}))},to_meter:function(t){u.to_meter=parseFloat(t)},units:function(t){u.units=t;var n=(0,l.default)(f.default,t);n&&(u.to_meter=n.to_meter)},from_greenwich:function(t){u.from_greenwich=t*r.D2R},pm:function(t){var n=(0,l.default)(i.default,t);u.from_greenwich=(n||parseFloat(t))*r.D2R},nadgrids:function(t){\"@null\"===t?u.datumCode=\"none\":u.nadgrids=t},axis:function(t){var n=\"ewnsud\";3===t.length&&-1!==n.indexOf(t.substr(0,1))&&-1!==n.indexOf(t.substr(1,1))&&-1!==n.indexOf(t.substr(2,1))&&(u.axis=t)},approx:function(){u.approx=!0}};for(n in e)o=e[n],n in c?\"function\"==typeof(a=c[n])?a(o):u[a]=o:u[n]=o;return\"string\"==typeof u.datumCode&&\"WGS84\"!==u.datumCode&&(u.datumCode=u.datumCode.toLowerCase()),u}},\n function _(S,_,P,R,I){R(),P.PJD_3PARAM=1,P.PJD_7PARAM=2,P.PJD_GRIDSHIFT=3,P.PJD_WGS84=4,P.PJD_NODATUM=5,P.SRS_WGS84_SEMIMAJOR=6378137,P.SRS_WGS84_SEMIMINOR=6356752.314,P.SRS_WGS84_ESQUARED=.0066943799901413165,P.SEC_TO_RAD=484813681109536e-20,P.HALF_PI=Math.PI/2,P.SIXTH=.16666666666666666,P.RA4=.04722222222222222,P.RA6=.022156084656084655,P.EPSLN=1e-10,P.D2R=.017453292519943295,P.R2D=57.29577951308232,P.FORTPI=Math.PI/4,P.TWO_PI=2*Math.PI,P.SPI=3.14159265359},\n function _(o,r,a,e,s){e();var n={};a.default=n,n.greenwich=0,n.lisbon=-9.131906111111,n.paris=2.337229166667,n.bogota=-74.080916666667,n.madrid=-3.687938888889,n.rome=12.452333333333,n.bern=7.439583333333,n.jakarta=106.807719444444,n.ferro=-17.666666666667,n.brussels=4.367975,n.stockholm=18.058277777778,n.athens=23.7163375,n.oslo=10.722916666667},\n function _(t,e,f,o,u){o(),f.default={ft:{to_meter:.3048},\"us-ft\":{to_meter:1200/3937}}},\n function _(e,r,t,a,n){a();var o=/[\\s_\\-\\/\\(\\)]/g;t.default=function(e,r){if(e[r])return e[r];for(var t,a=Object.keys(e),n=r.toLowerCase().replace(o,\"\"),f=-1;++f0?90:-90),e.lat_ts=e.lat1)}(n),n}},\n function _(t,e,r,i,s){i(),r.default=function(t){return new d(t).output()};var h=/\\s/,o=/[A-Za-z]/,n=/[A-Za-z84]/,a=/[,\\]]/,u=/[\\d\\.E\\-\\+]/;function d(t){if(\"string\"!=typeof t)throw new Error(\"not a string\");this.text=t.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=1}d.prototype.readCharicter=function(){var t=this.text[this.place++];if(4!==this.state)for(;h.test(t);){if(this.place>=this.text.length)return;t=this.text[this.place++]}switch(this.state){case 1:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case-1:return}},d.prototype.afterquote=function(t){if('\"'===t)return this.word+='\"',void(this.state=4);if(a.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error(\"havn't handled \\\"\"+t+'\" in afterquote yet, index '+this.place)},d.prototype.afterItem=function(t){return\",\"===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=1)):\"]\"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=1,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},d.prototype.number=function(t){if(!u.test(t)){if(a.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error(\"havn't handled \\\"\"+t+'\" in number yet, index '+this.place)}this.word+=t},d.prototype.quoted=function(t){'\"'!==t?this.word+=t:this.state=5},d.prototype.keyword=function(t){if(n.test(t))this.word+=t;else{if(\"[\"===t){var e=[];return e.push(this.word),this.level++,null===this.root?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,void(this.state=1)}if(!a.test(t))throw new Error(\"havn't handled \\\"\"+t+'\" in keyword yet, index '+this.place);this.afterItem(t)}},d.prototype.neutral=function(t){if(o.test(t))return this.word=t,void(this.state=2);if('\"'===t)return this.word=\"\",void(this.state=4);if(u.test(t))return this.word=t,void(this.state=3);if(!a.test(t))throw new Error(\"havn't handled \\\"\"+t+'\" in neutral yet, index '+this.place);this.afterItem(t)},d.prototype.output=function(){for(;this.place90&&a*o.R2D<-90&&h*o.R2D>180&&h*o.R2D<-180)return null;if(Math.abs(Math.abs(a)-o.HALF_PI)<=o.EPSLN)return null;if(this.sphere)i=this.x0+this.a*this.k0*(0,n.default)(h-this.long0),s=this.y0+this.a*this.k0*Math.log(Math.tan(o.FORTPI+.5*a));else{var e=Math.sin(a),r=(0,l.default)(this.e,a,e);i=this.x0+this.a*this.k0*(0,n.default)(h-this.long0),s=this.y0-this.a*this.k0*Math.log(r)}return t.x=i,t.y=s,t}function M(t){var i,s,h=t.x-this.x0,a=t.y-this.y0;if(this.sphere)s=o.HALF_PI-2*Math.atan(Math.exp(-a/(this.a*this.k0)));else{var e=Math.exp(-a/(this.a*this.k0));if(-9999===(s=(0,u.default)(this.e,e)))return null}return i=(0,n.default)(this.long0+h/(this.a*this.k0)),t.x=i,t.y=s,t}s.init=f,s.forward=_,s.inverse=M,s.names=[\"Mercator\",\"Popular Visualisation Pseudo Mercator\",\"Mercator_1SP\",\"Mercator_Auxiliary_Sphere\",\"merc\"],s.default={init:f,forward:_,inverse:M,names:s.names}},\n function _(t,n,r,u,a){u(),r.default=function(t,n,r){var u=t*n;return r/Math.sqrt(1-u*u)}},\n function _(t,n,u,a,f){a();const e=t(1),o=t(85),_=(0,e.__importDefault)(t(97));u.default=function(t){return Math.abs(t)<=o.SPI?t:t-(0,_.default)(t)*o.TWO_PI}},\n function _(n,t,u,f,c){f(),u.default=function(n){return n<0?-1:1}},\n function _(t,n,a,o,u){o();const c=t(85);a.default=function(t,n,a){var o=t*a,u=.5*t;return o=Math.pow((1-o)/(1+o),u),Math.tan(.5*(c.HALF_PI-n))/o}},\n function _(t,a,n,r,f){r();const h=t(85);n.default=function(t,a){for(var n,r,f=.5*t,o=h.HALF_PI-2*Math.atan(a),u=0;u<=15;u++)if(n=t*Math.sin(o),o+=r=h.HALF_PI-2*Math.atan(a*Math.pow((1-n)/(1+n),f))-o,Math.abs(r)<=1e-10)return o;return-9999}},\n function _(n,i,e,t,r){function a(){}function f(n){return n}t(),e.init=a,e.forward=f,e.inverse=f,e.names=[\"longlat\",\"identity\"],e.default={init:a,forward:f,inverse:f,names:e.names}},\n function _(t,r,e,a,n){a();const f=t(1),i=t(85),u=(0,f.__importStar)(t(102)),c=(0,f.__importDefault)(t(88));e.eccentricity=function(t,r,e,a){var n=t*t,f=r*r,u=(n-f)/n,c=0;return a?(n=(t*=1-u*(i.SIXTH+u*(i.RA4+u*i.RA6)))*t,u=0):c=Math.sqrt(u),{es:u,e:c,ep2:(n-f)/f}},e.sphere=function(t,r,e,a,n){if(!t){var f=(0,c.default)(u.default,a);f||(f=u.WGS84),t=f.a,r=f.b,e=f.rf}return e&&!r&&(r=(1-1/e)*t),(0===e||Math.abs(t-r)3&&(0===s.datum_params[3]&&0===s.datum_params[4]&&0===s.datum_params[5]&&0===s.datum_params[6]||(s.datum_type=d.PJD_7PARAM,s.datum_params[3]*=d.SEC_TO_RAD,s.datum_params[4]*=d.SEC_TO_RAD,s.datum_params[5]*=d.SEC_TO_RAD,s.datum_params[6]=s.datum_params[6]/1e6+1))),r&&(s.datum_type=d.PJD_GRIDSHIFT,s.grids=r),s.a=_,s.b=t,s.es=u,s.ep2=p,s}},\n function _(t,e,n,r,i){r();var u={};function l(t){if(0===t.length)return null;var e=\"@\"===t[0];return e&&(t=t.slice(1)),\"null\"===t?{name:\"null\",mandatory:!e,grid:null,isNull:!0}:{name:t,mandatory:!e,grid:u[t]||null,isNull:!1}}function o(t){return t/3600*Math.PI/180}function a(t,e,n){return String.fromCharCode.apply(null,new Uint8Array(t.buffer.slice(e,n)))}function d(t){return t.map((function(t){return[o(t.longitudeShift),o(t.latitudeShift)]}))}function g(t,e,n){return{name:a(t,e+8,e+16).trim(),parent:a(t,e+24,e+24+8).trim(),lowerLatitude:t.getFloat64(e+72,n),upperLatitude:t.getFloat64(e+88,n),lowerLongitude:t.getFloat64(e+104,n),upperLongitude:t.getFloat64(e+120,n),latitudeInterval:t.getFloat64(e+136,n),longitudeInterval:t.getFloat64(e+152,n),gridNodeCount:t.getInt32(e+168,n)}}function s(t,e,n,r){for(var i=e+176,u=[],l=0;l1&&console.log(\"Only single NTv2 subgrids are currently supported, subsequent sub grids are ignored\");var l=function(t,e,n){for(var r=176,i=[],u=0;ua.y||f>a.x||N1e-12&&Math.abs(n.y)>1e-12);if(d<0)return console.log(\"Inverse grid shift iterator failed to converge.\"),a;a.x=(0,u.default)(l.x+t.ll[0]),a.y=l.y+t.ll[1]}else isNaN(l.x)||(a.x=r.x+l.x,a.y=r.y+l.y);return a}function f(r,e){var t,a={x:r.x/e.del[0],y:r.y/e.del[1]},i=Math.floor(a.x),l=Math.floor(a.y),n=a.x-1*i,o=a.y-1*l,u={x:Number.NaN,y:Number.NaN};if(i<0||i>=e.lim[0])return u;if(l<0||l>=e.lim[1])return u;t=l*e.lim[0]+i;var d=e.cvs[t][0],s=e.cvs[t][1];t++;var y=e.cvs[t][0],f=e.cvs[t][1];t+=e.lim[0];var x=e.cvs[t][0],m=e.cvs[t][1];t--;var N=e.cvs[t][0],c=e.cvs[t][1],_=n*o,g=n*(1-o),v=(1-n)*(1-o),S=(1-n)*o;return u.x=v*d+g*y+S*N+_*x,u.y=v*s+g*f+S*c+_*m,u}t.default=function(r,e,t){if((0,o.compareDatums)(r,e))return t;if(r.datum_type===n.PJD_NODATUM||e.datum_type===n.PJD_NODATUM)return t;var a=r.a,i=r.es;if(r.datum_type===n.PJD_GRIDSHIFT){if(0!==s(r,!1,t))return;a=n.SRS_WGS84_SEMIMAJOR,i=n.SRS_WGS84_ESQUARED}var l=e.a,u=e.b,y=e.es;if(e.datum_type===n.PJD_GRIDSHIFT&&(l=n.SRS_WGS84_SEMIMAJOR,u=n.SRS_WGS84_SEMIMINOR,y=n.SRS_WGS84_ESQUARED),i===y&&a===l&&!d(r.datum_type)&&!d(e.datum_type))return t;if(t=(0,o.geodeticToGeocentric)(t,i,a),d(r.datum_type)&&(t=(0,o.geocentricToWgs84)(t,r.datum_type,r.datum_params)),d(e.datum_type)&&(t=(0,o.geocentricFromWgs84)(t,e.datum_type,e.datum_params)),t=(0,o.geocentricToGeodetic)(t,y,l,u),e.datum_type===n.PJD_GRIDSHIFT&&0!==s(e,!0,t))return;return t},t.applyGridShift=s},\n function _(a,t,r,m,s){m();const u=a(85);r.compareDatums=function(a,t){return a.datum_type===t.datum_type&&(!(a.a!==t.a||Math.abs(a.es-t.es)>5e-11)&&(a.datum_type===u.PJD_3PARAM?a.datum_params[0]===t.datum_params[0]&&a.datum_params[1]===t.datum_params[1]&&a.datum_params[2]===t.datum_params[2]:a.datum_type!==u.PJD_7PARAM||a.datum_params[0]===t.datum_params[0]&&a.datum_params[1]===t.datum_params[1]&&a.datum_params[2]===t.datum_params[2]&&a.datum_params[3]===t.datum_params[3]&&a.datum_params[4]===t.datum_params[4]&&a.datum_params[5]===t.datum_params[5]&&a.datum_params[6]===t.datum_params[6]))},r.geodeticToGeocentric=function(a,t,r){var m,s,_,e,n=a.x,d=a.y,i=a.z?a.z:0;if(d<-u.HALF_PI&&d>-1.001*u.HALF_PI)d=-u.HALF_PI;else if(d>u.HALF_PI&&d<1.001*u.HALF_PI)d=u.HALF_PI;else{if(d<-u.HALF_PI)return{x:-1/0,y:-1/0,z:a.z};if(d>u.HALF_PI)return{x:1/0,y:1/0,z:a.z}}return n>Math.PI&&(n-=2*Math.PI),s=Math.sin(d),e=Math.cos(d),_=s*s,{x:((m=r/Math.sqrt(1-t*_))+i)*e*Math.cos(n),y:(m+i)*e*Math.sin(n),z:(m*(1-t)+i)*s}},r.geocentricToGeodetic=function(a,t,r,m){var s,_,e,n,d,i,p,P,y,z,M,o,A,c,x,h=1e-12,f=a.x,I=a.y,F=a.z?a.z:0;if(s=Math.sqrt(f*f+I*I),_=Math.sqrt(f*f+I*I+F*F),s/r1e-24&&A<30);return{x:c,y:Math.atan(M/Math.abs(z)),z:x}},r.geocentricToWgs84=function(a,t,r){if(t===u.PJD_3PARAM)return{x:a.x+r[0],y:a.y+r[1],z:a.z+r[2]};if(t===u.PJD_7PARAM){var m=r[0],s=r[1],_=r[2],e=r[3],n=r[4],d=r[5],i=r[6];return{x:i*(a.x-d*a.y+n*a.z)+m,y:i*(d*a.x+a.y-e*a.z)+s,z:i*(-n*a.x+e*a.y+a.z)+_}}},r.geocentricFromWgs84=function(a,t,r){if(t===u.PJD_3PARAM)return{x:a.x-r[0],y:a.y-r[1],z:a.z-r[2]};if(t===u.PJD_7PARAM){var m=r[0],s=r[1],_=r[2],e=r[3],n=r[4],d=r[5],i=r[6],p=(a.x-m)/i,P=(a.y-s)/i,y=(a.z-_)/i;return{x:p+d*P-n*y,y:-d*p+P+e*y,z:n*p-e*P+y}}}},\n function _(e,a,i,r,s){r(),i.default=function(e,a,i){var r,s,n,c=i.x,d=i.y,f=i.z||0,u={};for(n=0;n<3;n++)if(!a||2!==n||void 0!==i.z)switch(0===n?(r=c,s=-1!==\"ew\".indexOf(e.axis[n])?\"x\":\"y\"):1===n?(r=d,s=-1!==\"ns\".indexOf(e.axis[n])?\"y\":\"x\"):(r=f,s=\"z\"),e.axis[n]){case\"e\":u[s]=r;break;case\"w\":u[s]=-r;break;case\"n\":u[s]=r;break;case\"s\":u[s]=-r;break;case\"u\":void 0!==i[s]&&(u.z=r);break;case\"d\":void 0!==i[s]&&(u.z=-r);break;default:return null}return u}},\n function _(n,t,e,u,f){u(),e.default=function(n){var t={x:n[0],y:n[1]};return n.length>2&&(t.z=n[2]),n.length>3&&(t.m=n[3]),t}},\n function _(e,i,n,t,r){function o(e){if(\"function\"==typeof Number.isFinite){if(Number.isFinite(e))return;throw new TypeError(\"coordinates must be finite numbers\")}if(\"number\"!=typeof e||e!=e||!isFinite(e))throw new TypeError(\"coordinates must be finite numbers\")}t(),n.default=function(e){o(e.x),o(e.y)}},\n function _(e,i,s,t,o){t();const n=e(1);var l,a,r,_,c;const d=e(53),v=e(42),u=(0,n.__importStar)(e(45)),h=e(48),m=(0,n.__importStar)(e(18));class T extends v.View{initialize(){super.initialize(),this.visuals=new u.Visuals(this)}request_render(){this.parent.request_render()}get canvas(){return this.parent.canvas}set_data(e){const i=this;for(const s of this.model){if(!(s instanceof m.VectorSpec||s instanceof m.ScalarSpec))continue;const t=s.uniform(e);i[`${s.attr}`]=t}}}s.ArrowHeadView=T,T.__name__=\"ArrowHeadView\";class p extends d.Model{constructor(e){super(e)}}s.ArrowHead=p,l=p,p.__name__=\"ArrowHead\",l.define((()=>({size:[m.NumberSpec,25]})));class V extends T{clip(e,i){this.visuals.line.set_vectorize(e,i);const s=this.size.get(i);e.moveTo(.5*s,s),e.lineTo(.5*s,-2),e.lineTo(-.5*s,-2),e.lineTo(-.5*s,s),e.lineTo(0,0),e.lineTo(.5*s,s)}render(e,i){if(this.visuals.line.doit){this.visuals.line.set_vectorize(e,i);const s=this.size.get(i);e.beginPath(),e.moveTo(.5*s,s),e.lineTo(0,0),e.lineTo(-.5*s,s),e.stroke()}}}s.OpenHeadView=V,V.__name__=\"OpenHeadView\";class f extends p{constructor(e){super(e)}}s.OpenHead=f,a=f,f.__name__=\"OpenHead\",a.prototype.default_view=V,a.mixins(h.LineVector);class w extends T{clip(e,i){this.visuals.line.set_vectorize(e,i);const s=this.size.get(i);e.moveTo(.5*s,s),e.lineTo(.5*s,-2),e.lineTo(-.5*s,-2),e.lineTo(-.5*s,s),e.lineTo(.5*s,s)}render(e,i){this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(e,i),this._normal(e,i),e.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(e,i),this._normal(e,i),e.stroke())}_normal(e,i){const s=this.size.get(i);e.beginPath(),e.moveTo(.5*s,s),e.lineTo(0,0),e.lineTo(-.5*s,s),e.closePath()}}s.NormalHeadView=w,w.__name__=\"NormalHeadView\";class H extends p{constructor(e){super(e)}}s.NormalHead=H,r=H,H.__name__=\"NormalHead\",r.prototype.default_view=w,r.mixins([h.LineVector,h.FillVector]),r.override({fill_color:\"black\"});class z extends T{clip(e,i){this.visuals.line.set_vectorize(e,i);const s=this.size.get(i);e.moveTo(.5*s,s),e.lineTo(.5*s,-2),e.lineTo(-.5*s,-2),e.lineTo(-.5*s,s),e.lineTo(0,.5*s),e.lineTo(.5*s,s)}render(e,i){this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(e,i),this._vee(e,i),e.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(e,i),this._vee(e,i),e.stroke())}_vee(e,i){const s=this.size.get(i);e.beginPath(),e.moveTo(.5*s,s),e.lineTo(0,0),e.lineTo(-.5*s,s),e.lineTo(0,.5*s),e.closePath()}}s.VeeHeadView=z,z.__name__=\"VeeHeadView\";class x extends p{constructor(e){super(e)}}s.VeeHead=x,_=x,x.__name__=\"VeeHead\",_.prototype.default_view=z,_.mixins([h.LineVector,h.FillVector]),_.override({fill_color:\"black\"});class g extends T{render(e,i){if(this.visuals.line.doit){this.visuals.line.set_vectorize(e,i);const s=this.size.get(i);e.beginPath(),e.moveTo(.5*s,0),e.lineTo(-.5*s,0),e.stroke()}}clip(e,i){}}s.TeeHeadView=g,g.__name__=\"TeeHeadView\";class b extends p{constructor(e){super(e)}}s.TeeHead=b,c=b,b.__name__=\"TeeHead\",c.prototype.default_view=g,c.mixins(h.LineVector)},\n function _(n,e,t,i,o){i();const s=n(9);async function c(n,e,t){const i=new n(Object.assign(Object.assign({},t),{model:e}));return i.initialize(),await i.lazy_initialize(),i}t.build_view=async function(n,e={parent:null},t=(n=>n.default_view)){const i=await c(t(n),n,e);return i.connect_signals(),i},t.build_views=async function(n,e,t={parent:null},i=(n=>n.default_view)){const o=(0,s.difference)([...n.keys()],e);for(const e of o)n.get(e).remove(),n.delete(e);const a=[],f=e.filter((e=>!n.has(e)));for(const e of f){const o=await c(i(e),e,t);n.set(e,o),a.push(o)}for(const n of a)n.connect_signals();return a},t.remove_views=function(n){for(const[e,t]of n)t.remove(),n.delete(e)}},\n function _(e,s,_,i,l){i();const t=e(1);var o;const r=e(115),p=(0,t.__importStar)(e(48));class h extends r.UpperLowerView{paint(e){e.beginPath(),e.moveTo(this._lower_sx[0],this._lower_sy[0]);for(let s=0,_=this._lower_sx.length;s<_;s++)e.lineTo(this._lower_sx[s],this._lower_sy[s]);for(let s=this._upper_sx.length-1;s>=0;s--)e.lineTo(this._upper_sx[s],this._upper_sy[s]);e.closePath(),this.visuals.fill.apply(e),e.beginPath(),e.moveTo(this._lower_sx[0],this._lower_sy[0]);for(let s=0,_=this._lower_sx.length;s<_;s++)e.lineTo(this._lower_sx[s],this._lower_sy[s]);this.visuals.line.apply(e),e.beginPath(),e.moveTo(this._upper_sx[0],this._upper_sy[0]);for(let s=0,_=this._upper_sx.length;s<_;s++)e.lineTo(this._upper_sx[s],this._upper_sy[s]);this.visuals.line.apply(e)}}_.BandView=h,h.__name__=\"BandView\";class n extends r.UpperLower{constructor(e){super(e)}}_.Band=n,o=n,n.__name__=\"Band\",o.prototype.default_view=h,o.mixins([p.Line,p.Fill]),o.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3})},\n function _(e,t,i,s,o){s();const r=e(1);var n;const p=e(69),a=e(20),_=(0,r.__importStar)(e(18));class h extends p.DataAnnotationView{map_data(){const{frame:e}=this.plot_view,t=this.model.dimension,i=this.coordinates.x_scale,s=this.coordinates.y_scale,o=\"height\"==t?s:i,r=\"height\"==t?i:s,n=\"height\"==t?e.bbox.yview:e.bbox.xview,p=\"height\"==t?e.bbox.xview:e.bbox.yview;let a,_,h;a=\"data\"==this.model.properties.lower.units?o.v_compute(this._lower):n.v_compute(this._lower),_=\"data\"==this.model.properties.upper.units?o.v_compute(this._upper):n.v_compute(this._upper),h=\"data\"==this.model.properties.base.units?r.v_compute(this._base):p.v_compute(this._base);const[d,c]=\"height\"==t?[1,0]:[0,1],u=[a,h],l=[_,h];this._lower_sx=u[d],this._lower_sy=u[c],this._upper_sx=l[d],this._upper_sy=l[c]}}i.UpperLowerView=h,h.__name__=\"UpperLowerView\";class d extends _.CoordinateSpec{get dimension(){return\"width\"==this.obj.dimension?\"x\":\"y\"}get units(){var e;return null!==(e=this.spec.units)&&void 0!==e?e:\"data\"}}i.XOrYCoordinateSpec=d,d.__name__=\"XOrYCoordinateSpec\";class c extends p.DataAnnotation{constructor(e){super(e)}}i.UpperLower=c,n=c,c.__name__=\"UpperLower\",n.define((()=>({dimension:[a.Dimension,\"height\"],lower:[d,{field:\"lower\"}],upper:[d,{field:\"upper\"}],base:[d,{field:\"base\"}]})))},\n function _(t,o,i,n,e){n();const s=t(1);var l;const r=t(40),a=(0,s.__importStar)(t(48)),c=t(20),h=t(65);i.EDGE_TOLERANCE=2.5;class b extends r.AnnotationView{constructor(){super(...arguments),this.bbox=new h.BBox}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render()))}_render(){const{left:t,right:o,top:i,bottom:n}=this.model;if(null==t&&null==o&&null==i&&null==n)return;const{frame:e}=this.plot_view,s=this.coordinates.x_scale,l=this.coordinates.y_scale,r=(t,o,i,n,e)=>{let s;return s=null!=t?this.model.screen?t:\"data\"==o?i.compute(t):n.compute(t):e,s};this.bbox=h.BBox.from_rect({left:r(t,this.model.left_units,s,e.bbox.xview,e.bbox.left),right:r(o,this.model.right_units,s,e.bbox.xview,e.bbox.right),top:r(i,this.model.top_units,l,e.bbox.yview,e.bbox.top),bottom:r(n,this.model.bottom_units,l,e.bbox.yview,e.bbox.bottom)}),this._paint_box()}_paint_box(){const{ctx:t}=this.layer;t.save();const{left:o,top:i,width:n,height:e}=this.bbox;t.beginPath(),t.rect(o,i,n,e),this.visuals.fill.apply(t),this.visuals.hatch.apply(t),this.visuals.line.apply(t),t.restore()}interactive_bbox(){const t=this.model.line_width+i.EDGE_TOLERANCE;return this.bbox.grow_by(t)}interactive_hit(t,o){if(null==this.model.in_cursor)return!1;return this.interactive_bbox().contains(t,o)}cursor(t,o){const{left:i,right:n,bottom:e,top:s}=this.bbox;return Math.abs(t-i)<3||Math.abs(t-n)<3?this.model.ew_cursor:Math.abs(o-e)<3||Math.abs(o-s)<3?this.model.ns_cursor:this.bbox.contains(t,o)?this.model.in_cursor:null}}i.BoxAnnotationView=b,b.__name__=\"BoxAnnotationView\";class u extends r.Annotation{constructor(t){super(t)}update({left:t,right:o,top:i,bottom:n}){this.setv({left:t,right:o,top:i,bottom:n,screen:!0})}}i.BoxAnnotation=u,l=u,u.__name__=\"BoxAnnotation\",l.prototype.default_view=b,l.mixins([a.Line,a.Fill,a.Hatch]),l.define((({Number:t,Nullable:o})=>({top:[o(t),null],top_units:[c.SpatialUnits,\"data\"],bottom:[o(t),null],bottom_units:[c.SpatialUnits,\"data\"],left:[o(t),null],left_units:[c.SpatialUnits,\"data\"],right:[o(t),null],right_units:[c.SpatialUnits,\"data\"],render_mode:[c.RenderMode,\"canvas\"]}))),l.internal((({Boolean:t,String:o,Nullable:i})=>({screen:[t,!1],ew_cursor:[i(o),null],ns_cursor:[i(o),null],in_cursor:[i(o),null]}))),l.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3})},\n function _(t,e,i,o,n){o();const a=t(1);var r;const s=t(40),l=t(118),_=t(126),c=t(127),h=t(130),u=t(168),p=t(131),m=t(192),g=t(132),d=t(173),f=t(172),w=t(196),b=t(204),v=t(206),x=t(133),y=t(20),k=(0,a.__importStar)(t(48)),z=t(9),j=t(207),C=t(208),L=t(211),B=t(123),S=t(11),M=t(113),T=t(65),A=t(8);class O extends s.AnnotationView{get orientation(){return this._orientation}initialize(){super.initialize();const{ticker:t,formatter:e,color_mapper:i}=this.model;this._ticker=\"auto\"!=t?t:(()=>{switch(!0){case i instanceof w.LogColorMapper:return new u.LogTicker;case i instanceof w.ScanningColorMapper:return new u.BinnedTicker({mapper:i});case i instanceof w.CategoricalColorMapper:return new u.CategoricalTicker;default:return new u.BasicTicker}})(),this._formatter=\"auto\"!=e?e:(()=>{switch(!0){case this._ticker instanceof u.LogTicker:return new m.LogTickFormatter;case i instanceof w.CategoricalColorMapper:return new m.CategoricalTickFormatter;default:return new m.BasicTickFormatter}})(),this._major_range=(()=>{if(i instanceof w.CategoricalColorMapper){const{factors:t}=i;return new v.FactorRange({factors:t})}if(i instanceof f.ContinuousColorMapper){const{min:t,max:e}=i.metrics;return new v.Range1d({start:t,end:e})}(0,S.unreachable)()})(),this._major_scale=(()=>{if(i instanceof w.LinearColorMapper)return new b.LinearScale;if(i instanceof w.LogColorMapper)return new b.LogScale;if(i instanceof w.ScanningColorMapper){const{binning:t}=i.metrics;return new b.LinearInterpolationScale({binning:t})}if(i instanceof w.CategoricalColorMapper)return new b.CategoricalScale;(0,S.unreachable)()})(),this._minor_range=new v.Range1d({start:0,end:1}),this._minor_scale=new b.LinearScale;const o=k.attrs_of(this.model,\"major_label_\",k.Text,!0),n=k.attrs_of(this.model,\"major_tick_\",k.Line,!0),a=k.attrs_of(this.model,\"minor_tick_\",k.Line,!0),r=k.attrs_of(this.model,\"title_\",k.Text),s=i instanceof w.CategoricalColorMapper?c.CategoricalAxis:i instanceof w.LogColorMapper?c.LogAxis:c.LinearAxis;this._axis=new s(Object.assign(Object.assign(Object.assign({ticker:this._ticker,formatter:this._formatter,major_tick_in:this.model.major_tick_in,major_tick_out:this.model.major_tick_out,minor_tick_in:this.model.minor_tick_in,minor_tick_out:this.model.minor_tick_out,major_label_standoff:this.model.label_standoff,major_label_overrides:this.model.major_label_overrides,major_label_policy:this.model.major_label_policy,axis_line_color:null},o),n),a));const{title:_}=this.model;_&&(this._title=new l.Title(Object.assign({text:_,standoff:this.model.title_standoff},r)))}async lazy_initialize(){await super.lazy_initialize();const t=this,e={get parent(){return t.parent},get root(){return t.root},get frame(){return t._frame},get canvas_view(){return t.parent.canvas_view},request_layout(){t.parent.request_layout()}};this._axis_view=await(0,M.build_view)(this._axis,{parent:e}),null!=this._title&&(this._title_view=await(0,M.build_view)(this._title,{parent:e}))}remove(){var t;null===(t=this._title_view)||void 0===t||t.remove(),this._axis_view.remove(),super.remove()}connect_signals(){super.connect_signals(),this.connect(this._ticker.change,(()=>this.request_render())),this.connect(this._formatter.change,(()=>this.request_render())),this.connect(this.model.color_mapper.metrics_change,(()=>{const t=this._major_range,e=this._major_scale,{color_mapper:i}=this.model;if(i instanceof f.ContinuousColorMapper&&t instanceof v.Range1d){const{min:e,max:o}=i.metrics;t.setv({start:e,end:o})}if(i instanceof w.ScanningColorMapper&&e instanceof b.LinearInterpolationScale){const{binning:t}=i.metrics;e.binning=t}this._set_canvas_image(),this.plot_view.request_layout()}))}_set_canvas_image(){const{orientation:t}=this,e=(()=>{const{palette:e}=this.model.color_mapper;return\"vertical\"==t?(0,z.reversed)(e):e})(),[i,o]=\"vertical\"==t?[1,e.length]:[e.length,1],n=this._image=document.createElement(\"canvas\");n.width=i,n.height=o;const a=n.getContext(\"2d\"),r=a.getImageData(0,0,i,o),s=new w.LinearColorMapper({palette:e}).rgba_mapper.v_compute((0,z.range)(0,e.length));r.data.set(s),a.putImageData(r,0,0)}update_layout(){const{location:t,width:e,height:i,padding:o,margin:n}=this.model,[a,r]=(()=>{if(!(0,A.isString)(t))return[\"end\",\"start\"];switch(t){case\"top_left\":return[\"start\",\"start\"];case\"top\":case\"top_center\":return[\"start\",\"center\"];case\"top_right\":return[\"start\",\"end\"];case\"bottom_left\":return[\"end\",\"start\"];case\"bottom\":case\"bottom_center\":return[\"end\",\"center\"];case\"bottom_right\":return[\"end\",\"end\"];case\"left\":case\"center_left\":return[\"center\",\"start\"];case\"center\":case\"center_center\":return[\"center\",\"center\"];case\"right\":case\"center_right\":return[\"center\",\"end\"]}})(),s=this._orientation=(()=>{const{orientation:t}=this.model;return\"auto\"==t?null!=this.panel?this.panel.is_horizontal?\"horizontal\":\"vertical\":\"start\"==r||\"end\"==r||\"center\"==r&&\"center\"==a?\"vertical\":\"horizontal\":t})(),l=new C.NodeLayout,c=new C.VStack,h=new C.VStack,u=new C.HStack,p=new C.HStack;l.absolute=!0,c.absolute=!0,h.absolute=!0,u.absolute=!0,p.absolute=!0;const[m,g,d,f]=(()=>\"horizontal\"==s?[this._major_scale,this._minor_scale,this._major_range,this._minor_range]:[this._minor_scale,this._major_scale,this._minor_range,this._major_range])();this._frame=new _.CartesianFrame(m,g,d,f),l.on_resize((t=>this._frame.set_geometry(t)));const w=new L.BorderLayout;this._inner_layout=w,w.absolute=!0,w.center_panel=l,w.top_panel=c,w.bottom_panel=h,w.left_panel=u,w.right_panel=p;const b={left:o,right:o,top:o,bottom:o},v=(()=>{if(null==this.panel){if((0,A.isString)(t))return{left:n,right:n,top:n,bottom:n};{const[e,i]=t;return{left:e,right:n,top:n,bottom:i}}}if(!(0,A.isString)(t)){const[e,i]=t;return w.fixup_geometry=(t,o)=>{const n=t,a=this.layout.bbox,{width:r,height:s}=t;if(t=new T.BBox({left:a.left+e,bottom:a.bottom-i,width:r,height:s}),null!=o){const e=t.left-n.left,i=t.top-n.top,{left:a,top:r,width:s,height:l}=o;o=new T.BBox({left:a+e,top:r+i,width:s,height:l})}return[t,o]},{left:e,right:0,top:0,bottom:i}}w.fixup_geometry=(t,e)=>{const i=t;if(\"horizontal\"==s){const{top:e,width:i,height:o}=t;if(\"end\"==r){const{right:n}=this.layout.bbox;t=new T.BBox({right:n,top:e,width:i,height:o})}else if(\"center\"==r){const{hcenter:n}=this.layout.bbox;t=new T.BBox({hcenter:Math.round(n),top:e,width:i,height:o})}}else{const{left:e,width:i,height:o}=t;if(\"end\"==a){const{bottom:n}=this.layout.bbox;t=new T.BBox({left:e,bottom:n,width:i,height:o})}else if(\"center\"==a){const{vcenter:n}=this.layout.bbox;t=new T.BBox({left:e,vcenter:Math.round(n),width:i,height:o})}}if(null!=e){const o=t.left-i.left,n=t.top-i.top,{left:a,top:r,width:s,height:l}=e;e=new T.BBox({left:a+o,top:r+n,width:s,height:l})}return[t,e]}})();let x,y,k,z;if(w.padding=b,null!=this.panel?(x=\"max\",y=void 0,k=void 0,z=void 0):\"auto\"==(\"horizontal\"==s?e:i)?(x=\"fixed\",y=25*this.model.color_mapper.palette.length,k={percent:.3},z={percent:.8}):(x=\"fit\",y=void 0),\"horizontal\"==s){const t=\"auto\"==e?void 0:e,o=\"auto\"==i?25:i;w.set_sizing({width_policy:x,height_policy:\"min\",width:y,min_width:k,max_width:z,halign:r,valign:a,margin:v}),w.center_panel.set_sizing({width_policy:\"auto\"==e?\"fit\":\"fixed\",height_policy:\"fixed\",width:t,height:o})}else{const t=\"auto\"==e?25:e,o=\"auto\"==i?void 0:i;w.set_sizing({width_policy:\"min\",height_policy:x,height:y,min_height:k,max_height:z,halign:r,valign:a,margin:v}),w.center_panel.set_sizing({width_policy:\"fixed\",height_policy:\"auto\"==i?\"fit\":\"fixed\",width:t,height:o})}c.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),h.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),u.set_sizing({width_policy:\"min\",height_policy:\"fit\"}),p.set_sizing({width_policy:\"min\",height_policy:\"fit\"});const{_title_view:S}=this;null!=S&&(\"horizontal\"==s?(S.panel=new B.Panel(\"above\"),S.update_layout(),c.children.push(S.layout)):(S.panel=new B.Panel(\"left\"),S.update_layout(),u.children.push(S.layout)));const{panel:M}=this,O=null!=M&&s==M.orientation?M.side:\"horizontal\"==s?\"below\":\"right\",R=(()=>{switch(O){case\"above\":return c;case\"below\":return h;case\"left\":return u;case\"right\":return p}})(),{_axis_view:F}=this;if(F.panel=new B.Panel(O),F.update_layout(),R.children.push(F.layout),null!=this.panel){const t=new j.Grid([{layout:w,row:0,col:0}]);t.absolute=!0,\"horizontal\"==s?t.set_sizing({width_policy:\"max\",height_policy:\"min\"}):t.set_sizing({width_policy:\"min\",height_policy:\"max\"}),this.layout=t}else this.layout=this._inner_layout;const{visible:I}=this.model;this.layout.sizing.visible=I,this._set_canvas_image()}_render(){var t;const{ctx:e}=this.layer;e.save(),this._paint_bbox(e,this._inner_layout.bbox),this._paint_image(e,this._inner_layout.center_panel.bbox),null===(t=this._title_view)||void 0===t||t.render(),this._axis_view.render(),e.restore()}_paint_bbox(t,e){const{x:i,y:o}=e;let{width:n,height:a}=e;i+n>=this.parent.canvas_view.bbox.width&&(n-=1),o+a>=this.parent.canvas_view.bbox.height&&(a-=1),t.save(),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(t),t.fillRect(i,o,n,a)),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.strokeRect(i,o,n,a)),t.restore()}_paint_image(t,e){const{x:i,y:o,width:n,height:a}=e;t.save(),t.setImageSmoothingEnabled(!1),t.globalAlpha=this.model.scale_alpha,t.drawImage(this._image,i,o,n,a),this.visuals.bar_line.doit&&(this.visuals.bar_line.set_value(t),t.strokeRect(i,o,n,a)),t.restore()}serializable_state(){const t=super.serializable_state(),{children:e=[]}=t,i=(0,a.__rest)(t,[\"children\"]);return null!=this._title_view&&e.push(this._title_view.serializable_state()),e.push(this._axis_view.serializable_state()),Object.assign(Object.assign({},i),{children:e})}}i.ColorBarView=O,O.__name__=\"ColorBarView\";class R extends s.Annotation{constructor(t){super(t)}}i.ColorBar=R,r=R,R.__name__=\"ColorBar\",r.prototype.default_view=O,r.mixins([[\"major_label_\",k.Text],[\"title_\",k.Text],[\"major_tick_\",k.Line],[\"minor_tick_\",k.Line],[\"border_\",k.Line],[\"bar_\",k.Line],[\"background_\",k.Fill]]),r.define((({Alpha:t,Number:e,String:i,Tuple:o,Dict:n,Or:a,Ref:r,Auto:s,Nullable:l})=>({location:[a(y.Anchor,o(e,e)),\"top_right\"],orientation:[a(y.Orientation,s),\"auto\"],title:[l(i),null],title_standoff:[e,2],width:[a(e,s),\"auto\"],height:[a(e,s),\"auto\"],scale_alpha:[t,1],ticker:[a(r(h.Ticker),s),\"auto\"],formatter:[a(r(p.TickFormatter),s),\"auto\"],major_label_overrides:[n(a(i,r(x.BaseText))),{}],major_label_policy:[r(g.LabelingPolicy),()=>new g.NoOverlap],color_mapper:[r(d.ColorMapper)],label_standoff:[e,5],margin:[e,30],padding:[e,10],major_tick_in:[e,5],major_tick_out:[e,0],minor_tick_in:[e,0],minor_tick_out:[e,0]}))),r.override({background_fill_color:\"#ffffff\",background_fill_alpha:.95,bar_line_color:null,border_line_color:null,major_label_text_font_size:\"11px\",major_tick_line_color:\"#ffffff\",minor_tick_line_color:null,title_text_font_size:\"13px\",title_text_font_style:\"italic\"})},\n function _(t,e,i,s,l){s();const o=t(1);var a;const n=t(119),r=t(20),c=t(120),h=(0,o.__importStar)(t(48));class _ extends n.TextAnnotationView{_get_location(){const t=this.model.offset,e=this.model.standoff/2;let i,s;const{bbox:l}=this.layout;switch(this.panel.side){case\"above\":case\"below\":switch(this.model.vertical_align){case\"top\":s=l.top+e;break;case\"middle\":s=l.vcenter;break;case\"bottom\":s=l.bottom-e}switch(this.model.align){case\"left\":i=l.left+t;break;case\"center\":i=l.hcenter;break;case\"right\":i=l.right-t}break;case\"left\":switch(this.model.vertical_align){case\"top\":i=l.left+e;break;case\"middle\":i=l.hcenter;break;case\"bottom\":i=l.right-e}switch(this.model.align){case\"left\":s=l.bottom-t;break;case\"center\":s=l.vcenter;break;case\"right\":s=l.top+t}break;case\"right\":switch(this.model.vertical_align){case\"top\":i=l.right-e;break;case\"middle\":i=l.hcenter;break;case\"bottom\":i=l.left+e}switch(this.model.align){case\"left\":s=l.top+t;break;case\"center\":s=l.vcenter;break;case\"right\":s=l.bottom-t}}return[i,s]}_render(){const{text:t}=this.model;if(null==t||0==t.length)return;this.model.text_baseline=this.model.vertical_align,this.model.text_align=this.model.align;const[e,i]=this._get_location(),s=this.panel.get_label_angle_heuristic(\"parallel\");(\"canvas\"==this.model.render_mode?this._canvas_text.bind(this):this._css_text.bind(this))(this.layer.ctx,t,e,i,s)}_get_size(){const{text:t}=this.model,e=new c.TextBox({text:t});e.visuals=this.visuals.text.values();const{width:i,height:s}=e.size();return{width:i,height:0==s?0:2+s+this.model.standoff}}}i.TitleView=_,_.__name__=\"TitleView\";class d extends n.TextAnnotation{constructor(t){super(t)}}i.Title=d,a=d,d.__name__=\"Title\",a.prototype.default_view=_,a.mixins([h.Text,[\"border_\",h.Line],[\"background_\",h.Fill]]),a.define((({Number:t,String:e})=>({text:[e,\"\"],vertical_align:[r.VerticalAlign,\"bottom\"],align:[r.TextAlign,\"left\"],offset:[t,0],standoff:[t,10]}))),a.prototype._props.text_align.options.internal=!0,a.prototype._props.text_baseline.options.internal=!0,a.override({text_font_size:\"13px\",text_font_style:\"bold\",text_line_height:1,background_fill_color:null,border_line_color:null})},\n function _(e,t,s,i,l){var n;i();const o=e(40),a=e(43),r=e(20),d=e(120),u=e(123),c=e(11);class h extends o.AnnotationView{update_layout(){const{panel:e}=this;this.layout=null!=e?new u.SideLayout(e,(()=>this.get_size()),!0):void 0}initialize(){super.initialize(),\"css\"==this.model.render_mode&&(this.el=(0,a.div)(),this.plot_view.canvas_view.add_overlay(this.el))}remove(){null!=this.el&&(0,a.remove)(this.el),super.remove()}connect_signals(){super.connect_signals(),\"css\"==this.model.render_mode?this.connect(this.model.change,(()=>this.render())):this.connect(this.model.change,(()=>this.request_render()))}render(){this.model.visible||\"css\"!=this.model.render_mode||(0,a.undisplay)(this.el),super.render()}_canvas_text(e,t,s,i,l){const n=new d.TextBox({text:t});n.angle=l,n.position={sx:s,sy:i},n.visuals=this.visuals.text.values();const{background_fill:o,border_line:a}=this.visuals;if(o.doit||a.doit){const{p0:t,p1:s,p2:i,p3:l}=n.rect();e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(s.x,s.y),e.lineTo(i.x,i.y),e.lineTo(l.x,l.y),e.closePath(),this.visuals.background_fill.apply(e),this.visuals.border_line.apply(e)}this.visuals.text.doit&&n.paint(e)}_css_text(e,t,s,i,l){const{el:n}=this;(0,c.assert)(null!=n),(0,a.undisplay)(n),n.textContent=t,this.visuals.text.set_value(e),n.style.position=\"absolute\",n.style.left=`${s}px`,n.style.top=`${i}px`,n.style.color=e.fillStyle,n.style.font=e.font,n.style.lineHeight=\"normal\",n.style.whiteSpace=\"pre\";const[o,r]=(()=>{switch(this.visuals.text.text_align.get_value()){case\"left\":return[\"left\",\"0%\"];case\"center\":return[\"center\",\"-50%\"];case\"right\":return[\"right\",\"-100%\"]}})(),[d,u]=(()=>{switch(this.visuals.text.text_baseline.get_value()){case\"top\":return[\"top\",\"0%\"];case\"middle\":return[\"center\",\"-50%\"];case\"bottom\":return[\"bottom\",\"-100%\"];default:return[\"center\",\"-50%\"]}})();let h=`translate(${r}, ${u})`;l&&(h+=`rotate(${l}rad)`),n.style.transformOrigin=`${o} ${d}`,n.style.transform=h,this.layout,this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(e),n.style.backgroundColor=e.fillStyle),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(e),n.style.borderStyle=e.lineDash.length<2?\"solid\":\"dashed\",n.style.borderWidth=`${e.lineWidth}px`,n.style.borderColor=e.strokeStyle),(0,a.display)(n)}}s.TextAnnotationView=h,h.__name__=\"TextAnnotationView\";class _ extends o.Annotation{constructor(e){super(e)}}s.TextAnnotation=_,n=_,_.__name__=\"TextAnnotation\",n.define((()=>({render_mode:[r.RenderMode,\"canvas\"]})))},\n function _(t,e,s,i,n){i();const h=t(65),o=t(121),r=t(9),a=t(8),c=t(122),_=t(22);s.text_width=(()=>{const t=document.createElement(\"canvas\").getContext(\"2d\");let e=\"\";return(s,i)=>(i!=e&&(e=i,t.font=i),t.measureText(s).width)})();class l{constructor(){this._position={sx:0,sy:0},this.font_size_scale=1,this.align=\"left\",this._base_font_size=13,this._x_anchor=\"left\",this._y_anchor=\"center\"}set base_font_size(t){null!=t&&(this._base_font_size=t)}get base_font_size(){return this._base_font_size}set position(t){this._position=t}get position(){return this._position}infer_text_height(){return\"ascent_descent\"}bbox(){const{p0:t,p1:e,p2:s,p3:i}=this.rect(),n=Math.min(t.x,e.x,s.x,i.x),o=Math.min(t.y,e.y,s.y,i.y),r=Math.max(t.x,e.x,s.x,i.x),a=Math.max(t.y,e.y,s.y,i.y);return new h.BBox({left:n,right:r,top:o,bottom:a})}size(){const{width:t,height:e}=this._size(),{angle:s}=this;if(s){const i=Math.cos(Math.abs(s)),n=Math.sin(Math.abs(s));return{width:Math.abs(t*i+e*n),height:Math.abs(t*n+e*i)}}return{width:t,height:e}}rect(){const t=this._rect(),{angle:e}=this;if(e){const{sx:s,sy:i}=this.position,n=new c.AffineTransform;return n.translate(s,i),n.rotate(e),n.translate(-s,-i),n.apply_rect(t)}return t}paint_rect(t){const{p0:e,p1:s,p2:i,p3:n}=this.rect();t.save(),t.strokeStyle=\"red\",t.lineWidth=1,t.beginPath();const{round:h}=Math;t.moveTo(h(e.x),h(e.y)),t.lineTo(h(s.x),h(s.y)),t.lineTo(h(i.x),h(i.y)),t.lineTo(h(n.x),h(n.y)),t.closePath(),t.stroke(),t.restore()}paint_bbox(t){const{x:e,y:s,width:i,height:n}=this.bbox();t.save(),t.strokeStyle=\"blue\",t.lineWidth=1,t.beginPath();const{round:h}=Math;t.moveTo(h(e),h(s)),t.lineTo(h(e),h(s+n)),t.lineTo(h(e+i),h(s+n)),t.lineTo(h(e+i),h(s)),t.closePath(),t.stroke(),t.restore()}}s.GraphicsBox=l,l.__name__=\"GraphicsBox\";class x extends l{constructor({text:t}){super(),this.text=t}set visuals(t){const e=t.color,s=t.alpha,i=t.font_style;let n=t.font_size;const h=t.font,{font_size_scale:r,base_font_size:a}=this,c=(0,o.parse_css_font_size)(n);if(null!=c){let{value:t,unit:e}=c;t*=r,\"em\"==e&&a&&(t*=a,e=\"px\"),n=`${t}${e}`}const l=`${i} ${n} ${h}`;this.font=l,this.color=(0,_.color2css)(e,s),this.line_height=t.line_height;const x=t.align;this._x_anchor=x;const u=t.baseline;this._y_anchor=(()=>{switch(u){case\"top\":return\"top\";case\"middle\":return\"center\";case\"bottom\":return\"bottom\";default:return\"baseline\"}})()}infer_text_height(){if(this.text.includes(\"\\n\"))return\"ascent_descent\";{function t(t){for(const e of new Set(t))if(!(\"0\"<=e&&e<=\"9\"))switch(e){case\",\":case\".\":case\"+\":case\"-\":case\"\\u2212\":case\"e\":continue;default:return!1}return!0}return t(this.text)?\"cap\":\"ascent_descent\"}}_text_line(t){var e;const s=null!==(e=this.text_height_metric)&&void 0!==e?e:this.infer_text_height(),i=(()=>{switch(s){case\"x\":case\"x_descent\":return t.x_height;case\"cap\":case\"cap_descent\":return t.cap_height;case\"ascent\":case\"ascent_descent\":return t.ascent}})(),n=(()=>{switch(s){case\"x\":case\"cap\":case\"ascent\":return 0;case\"x_descent\":case\"cap_descent\":case\"ascent_descent\":return t.descent}})();return{height:i+n,ascent:i,descent:n}}get nlines(){return this.text.split(\"\\n\").length}_size(){var t,e;const{font:i}=this,n=(0,o.font_metrics)(i),h=(this.line_height-1)*n.height,a=\"\"==this.text,c=this.text.split(\"\\n\"),_=c.length,l=c.map((t=>(0,s.text_width)(t,i))),x=this._text_line(n).height*_,u=\"%\"==(null===(t=this.width)||void 0===t?void 0:t.unit)?this.width.value:1,p=\"%\"==(null===(e=this.height)||void 0===e?void 0:e.unit)?this.height.value:1;return{width:(0,r.max)(l)*u,height:a?0:(x+h*(_-1))*p,metrics:n}}_computed_position(t,e,s){const{width:i,height:n}=t,{sx:h,sy:o,x_anchor:r=this._x_anchor,y_anchor:c=this._y_anchor}=this.position;return{x:h-(()=>{if((0,a.isNumber)(r))return r*i;switch(r){case\"left\":return 0;case\"center\":return.5*i;case\"right\":return i}})(),y:o-(()=>{var t;if((0,a.isNumber)(c))return c*n;switch(c){case\"top\":return 0;case\"center\":return.5*n;case\"bottom\":return n;case\"baseline\":if(1!=s)return.5*n;switch(null!==(t=this.text_height_metric)&&void 0!==t?t:this.infer_text_height()){case\"x\":case\"x_descent\":return e.x_height;case\"cap\":case\"cap_descent\":return e.cap_height;case\"ascent\":case\"ascent_descent\":return e.ascent}}})()}}_rect(){const{width:t,height:e,metrics:s}=this._size(),i=this.text.split(\"\\n\").length,{x:n,y:o}=this._computed_position({width:t,height:e},s,i);return new h.BBox({x:n,y:o,width:t,height:e}).rect}paint(t){var e,i;const{font:n}=this,h=(0,o.font_metrics)(n),a=(this.line_height-1)*h.height,c=this.text.split(\"\\n\"),_=c.length,l=c.map((t=>(0,s.text_width)(t,n))),x=this._text_line(h),u=x.height*_,p=\"%\"==(null===(e=this.width)||void 0===e?void 0:e.unit)?this.width.value:1,f=\"%\"==(null===(i=this.height)||void 0===i?void 0:i.unit)?this.height.value:1,g=(0,r.max)(l)*p,d=(u+a*(_-1))*f;t.save(),t.fillStyle=this.color,t.font=this.font,t.textAlign=\"left\",t.textBaseline=\"alphabetic\";const{sx:b,sy:m}=this.position,{align:y}=this,{angle:w}=this;w&&(t.translate(b,m),t.rotate(w),t.translate(-b,-m));let{x:v,y:z}=this._computed_position({width:g,height:d},h,_);if(\"justify\"==y)for(let e=0;e<_;e++){let i=v;const h=c[e].split(\" \"),o=h.length,_=h.map((t=>(0,s.text_width)(t,n))),l=(g-(0,r.sum)(_))/(o-1);for(let e=0;e{switch(y){case\"left\":return 0;case\"center\":return.5*(g-l[e]);case\"right\":return g-l[e]}})();t.fillStyle=this.color,t.fillText(c[e],s,z+x.ascent),z+=x.height+a}t.restore()}}s.TextBox=x,x.__name__=\"TextBox\";class u extends l{constructor(t,e){super(),this.base=t,this.expo=e}get children(){return[this.base,this.expo]}set base_font_size(t){super.base_font_size=t,this.base.base_font_size=t,this.expo.base_font_size=t}set position(t){this._position=t;const e=this.base.size(),s=this.expo.size(),i=this._shift_scale()*e.height,n=Math.max(e.height,i+s.height);this.base.position={sx:0,x_anchor:\"left\",sy:n,y_anchor:\"bottom\"},this.expo.position={sx:e.width,x_anchor:\"left\",sy:i,y_anchor:\"bottom\"}}get position(){return this._position}set visuals(t){this.expo.font_size_scale=.7,this.base.visuals=t,this.expo.visuals=t}_shift_scale(){if(this.base instanceof x&&1==this.base.nlines){const{x_height:t,cap_height:e}=(0,o.font_metrics)(this.base.font);return t/e}return 2/3}infer_text_height(){return this.base.infer_text_height()}_rect(){const t=this.base.bbox(),e=this.expo.bbox(),s=t.union(e),{x:i,y:n}=this._computed_position();return s.translate(i,n).rect}_size(){const t=this.base.size(),e=this.expo.size();return{width:t.width+e.width,height:Math.max(t.height,this._shift_scale()*t.height+e.height)}}paint(t){t.save();const{angle:e}=this;if(e){const{sx:s,sy:i}=this.position;t.translate(s,i),t.rotate(e),t.translate(-s,-i)}const{x:s,y:i}=this._computed_position();t.translate(s,i),this.base.paint(t),this.expo.paint(t),t.restore()}paint_bbox(t){super.paint_bbox(t);const{x:e,y:s}=this._computed_position();t.save(),t.translate(e,s);for(const e of this.children)e.paint_bbox(t);t.restore()}_computed_position(){const{width:t,height:e}=this._size(),{sx:s,sy:i,x_anchor:n=this._x_anchor,y_anchor:h=this._y_anchor}=this.position;return{x:s-(()=>{if((0,a.isNumber)(n))return n*t;switch(n){case\"left\":return 0;case\"center\":return.5*t;case\"right\":return t}})(),y:i-(()=>{if((0,a.isNumber)(h))return h*e;switch(h){case\"top\":return 0;case\"center\":return.5*e;case\"bottom\":return e;case\"baseline\":return.5*e}})()}}}s.BaseExpo=u,u.__name__=\"BaseExpo\";class p{constructor(t){this.items=t}set base_font_size(t){for(const e of this.items)e.base_font_size=t}get length(){return this.items.length}set visuals(t){for(const e of this.items)e.visuals=t;const e={x:0,cap:1,ascent:2,x_descent:3,cap_descent:4,ascent_descent:5},s=(0,r.max_by)(this.items.map((t=>t.infer_text_height())),(t=>e[t]));for(const t of this.items)t.text_height_metric=s}set angle(t){for(const e of this.items)e.angle=t}max_size(){let t=0,e=0;for(const s of this.items){const i=s.size();t=Math.max(t,i.width),e=Math.max(e,i.height)}return{width:t,height:e}}}s.GraphicsBoxes=p,p.__name__=\"GraphicsBoxes\"},\n function _(t,e,n,r,l){r();const a=t(11),c=(()=>{try{return\"undefined\"!=typeof OffscreenCanvas&&null!=new OffscreenCanvas(0,0).getContext(\"2d\")}catch(t){return!1}})()?(t,e)=>new OffscreenCanvas(t,e):(t,e)=>{const n=document.createElement(\"canvas\");return n.width=t,n.height=e,n},o=(()=>{const t=c(0,0).getContext(\"2d\");return e=>{t.font=e;const n=t.measureText(\"M\"),r=t.measureText(\"x\"),l=t.measureText(\"\\xc5\\u015ag|\"),c=l.fontBoundingBoxAscent,o=l.fontBoundingBoxDescent;if(null!=c&&null!=o)return{height:c+o,ascent:c,descent:o,cap_height:n.actualBoundingBoxAscent,x_height:r.actualBoundingBoxAscent};const s=l.actualBoundingBoxAscent,u=l.actualBoundingBoxDescent;if(null!=s&&null!=u)return{height:s+u,ascent:s,descent:u,cap_height:n.actualBoundingBoxAscent,x_height:r.actualBoundingBoxAscent};(0,a.unreachable)()}})(),s=(()=>{const t=c(0,0).getContext(\"2d\");return(e,n)=>{t.font=n;const r=t.measureText(e),l=r.actualBoundingBoxAscent,c=r.actualBoundingBoxDescent;if(null!=l&&null!=c)return{width:r.width,height:l+c,ascent:l,descent:c};(0,a.unreachable)()}})(),u=(()=>{const t=document.createElement(\"canvas\"),e=t.getContext(\"2d\");let n=-1,r=-1;return(l,a=1)=>{e.font=l;const{width:c}=e.measureText(\"M\"),o=c*a,s=Math.ceil(o),u=Math.ceil(2*o),i=Math.ceil(1.5*o);n{let e=0;for(let n=0;n<=i;n++)for(let r=0;r{let e=t.length-4;for(let n=u;n>=i;n--)for(let r=0;r{const t=document.createElement(\"canvas\"),e=t.getContext(\"2d\");let n=-1,r=-1;return(l,a,c=1)=>{e.font=a;const{width:o}=e.measureText(\"M\"),s=o*c,u=Math.ceil(s),i=Math.ceil(2*s),f=Math.ceil(1.5*s);(n{let e=0;for(let n=0;n<=f;n++)for(let r=0;r{let e=t.length-4;for(let n=i;n>=f;n--)for(let r=0;r{try{return o(\"normal 10px sans-serif\"),o}catch(t){return u}})(),h=(()=>{try{return s(\"A\",\"normal 10px sans-serif\"),s}catch(t){return i}})(),g=new Map;function d(t){let e=g.get(t);return null==e&&(e={font:f(t),glyphs:new Map},g.set(t,e)),e.font}n.font_metrics=d,n.glyph_metrics=function(t,e){let n=g.get(e);null==n&&(d(e),n=g.get(e));let r=n.glyphs.get(t);return null==r&&(r=h(t,e),n.glyphs.set(t,r)),r},n.parse_css_font_size=function(t){const e=t.match(/^\\s*(\\d+(\\.\\d+)?)(\\w+)\\s*$/);if(null!=e){const[,t,,n]=e,r=Number(t);if(isFinite(r))return{value:r,unit:n}}return null}},\n function _(t,s,r,n,i){n();const{sin:e,cos:a}=Math;class h{constructor(t=1,s=0,r=0,n=1,i=0,e=0){this.a=t,this.b=s,this.c=r,this.d=n,this.e=i,this.f=e}toString(){const{a:t,b:s,c:r,d:n,e:i,f:e}=this;return`matrix(${t}, ${s}, ${r}, ${n}, ${i}, ${e})`}static from_DOMMatrix(t){const{a:s,b:r,c:n,d:i,e,f:a}=t;return new h(s,r,n,i,e,a)}to_DOMMatrix(){const{a:t,b:s,c:r,d:n,e:i,f:e}=this;return new DOMMatrix([t,s,r,n,i,e])}clone(){const{a:t,b:s,c:r,d:n,e:i,f:e}=this;return new h(t,s,r,n,i,e)}get is_identity(){const{a:t,b:s,c:r,d:n,e:i,f:e}=this;return 1==t&&0==s&&0==r&&1==n&&0==i&&0==e}apply_point(t){const[s,r]=this.apply(t.x,t.y);return{x:s,y:r}}apply_rect(t){return{p0:this.apply_point(t.p0),p1:this.apply_point(t.p1),p2:this.apply_point(t.p2),p3:this.apply_point(t.p3)}}apply(t,s){const{a:r,b:n,c:i,d:e,e:a,f:h}=this;return[r*t+i*s+a,n*t+e*s+h]}iv_apply(t,s){const{a:r,b:n,c:i,d:e,e:a,f:h}=this,c=t.length;for(let o=0;o{const h={max:4,fit:3,min:2,fixed:1};return h[i]>h[t]};if(\"fixed\"!=n&&\"fixed\"!=s)if(n==s){const n=t,s=_(t/e),r=_(h*e),g=h;Math.abs(i.width-n)+Math.abs(i.height-s)<=Math.abs(i.width-r)+Math.abs(i.height-g)?(t=n,h=s):(t=r,h=g)}else r(n,s)?h=_(t/e):t=_(h*e);else\"fixed\"==n?h=_(t/e):\"fixed\"==s&&(t=_(h*e))}return{width:t,height:h}}measure(i){if(!this.sizing.visible)return{width:0,height:0};const t=i=>\"fixed\"==this.sizing.width_policy&&null!=this.sizing.width?this.sizing.width:i,h=i=>\"fixed\"==this.sizing.height_policy&&null!=this.sizing.height?this.sizing.height:i,e=new s.Sizeable(i).shrink_by(this.sizing.margin).map(t,h),n=this._measure(e),r=this.clip_size(n,e),g=t(r.width),l=h(r.height),a=this.apply_aspect(e,{width:g,height:l});return Object.assign(Object.assign({},n),a)}compute(i={}){const t=this.measure({width:null!=i.width&&this.is_width_expanding()?i.width:1/0,height:null!=i.height&&this.is_height_expanding()?i.height:1/0}),{width:h,height:e}=t,n=new r.BBox({left:0,top:0,width:h,height:e});let s;if(null!=t.inner){const{left:i,top:n,right:g,bottom:l}=t.inner;s=new r.BBox({left:i,top:n,right:h-g,bottom:e-l})}this.set_geometry(n,s)}get xview(){return this.bbox.xview}get yview(){return this.bbox.yview}clip_size(i,t){function h(i,t,h,e){return null==h?h=0:(0,g.isNumber)(h)||(h=Math.round(h.percent*t)),null==e?e=1/0:(0,g.isNumber)(e)||(e=Math.round(e.percent*t)),a(h,l(i,e))}return{width:h(i.width,t.width,this.sizing.min_width,this.sizing.max_width),height:h(i.height,t.height,this.sizing.min_height,this.sizing.max_height)}}has_size_changed(){const{_dirty:i}=this;return this._dirty=!1,i}}h.Layoutable=o,o.__name__=\"Layoutable\";class d extends o{_measure(i){const{width_policy:t,height_policy:h}=this.sizing;return{width:(()=>{const{width:h}=this.sizing;if(i.width==1/0)return null!=h?h:0;switch(t){case\"fixed\":return null!=h?h:0;case\"min\":return null!=h?l(i.width,h):0;case\"fit\":return null!=h?l(i.width,h):i.width;case\"max\":return null!=h?a(i.width,h):i.width}})(),height:(()=>{const{height:t}=this.sizing;if(i.height==1/0)return null!=t?t:0;switch(h){case\"fixed\":return null!=t?t:0;case\"min\":return null!=t?l(i.height,t):0;case\"fit\":return null!=t?l(i.height,t):i.height;case\"max\":return null!=t?a(i.height,t):i.height}})()}}}h.LayoutItem=d,d.__name__=\"LayoutItem\";class u extends o{_measure(i){const t=this._content_size(),h=i.bounded_to(this.sizing.size).bounded_to(t);return{width:(()=>{switch(this.sizing.width_policy){case\"fixed\":return null!=this.sizing.width?this.sizing.width:t.width;case\"min\":return t.width;case\"fit\":return h.width;case\"max\":return Math.max(t.width,h.width)}})(),height:(()=>{switch(this.sizing.height_policy){case\"fixed\":return null!=this.sizing.height?this.sizing.height:t.height;case\"min\":return t.height;case\"fit\":return h.height;case\"max\":return Math.max(t.height,h.height)}})()}}}h.ContentLayoutable=u,u.__name__=\"ContentLayoutable\"},\n function _(e,t,s,a,_){a();const r=e(62),n=e(61),g=e(58),i=e(63),c=e(67),h=e(65),l=e(13),o=e(11);class x{constructor(e,t,s,a,_={},r={},n={},g={}){this.in_x_scale=e,this.in_y_scale=t,this.x_range=s,this.y_range=a,this.extra_x_ranges=_,this.extra_y_ranges=r,this.extra_x_scales=n,this.extra_y_scales=g,this._bbox=new h.BBox,(0,o.assert)(null==e.source_range&&null==e.target_range),(0,o.assert)(null==t.source_range&&null==t.target_range),this._configure_scales()}get bbox(){return this._bbox}_get_ranges(e,t){return new Map((0,l.entries)(Object.assign(Object.assign({},t),{default:e})))}_get_scales(e,t,s,a){var _;const g=new Map((0,l.entries)(Object.assign(Object.assign({},t),{default:e}))),h=new Map;for(const[t,l]of s){if(l instanceof c.FactorRange!=e instanceof r.CategoricalScale)throw new Error(`Range ${l.type} is incompatible is Scale ${e.type}`);e instanceof n.LogScale&&l instanceof i.DataRange1d&&(l.scale_hint=\"log\");const s=(null!==(_=g.get(t))&&void 0!==_?_:e).clone();s.setv({source_range:l,target_range:a}),h.set(t,s)}return h}_configure_frame_ranges(){const{bbox:e}=this;this._x_target=new g.Range1d({start:e.left,end:e.right}),this._y_target=new g.Range1d({start:e.bottom,end:e.top})}_configure_scales(){this._configure_frame_ranges(),this._x_ranges=this._get_ranges(this.x_range,this.extra_x_ranges),this._y_ranges=this._get_ranges(this.y_range,this.extra_y_ranges),this._x_scales=this._get_scales(this.in_x_scale,this.extra_x_scales,this._x_ranges,this._x_target),this._y_scales=this._get_scales(this.in_y_scale,this.extra_y_scales,this._y_ranges,this._y_target)}_update_scales(){this._configure_frame_ranges();for(const[,e]of this._x_scales)e.target_range=this._x_target;for(const[,e]of this._y_scales)e.target_range=this._y_target}set_geometry(e){this._bbox=e,this._update_scales()}get x_target(){return this._x_target}get y_target(){return this._y_target}get x_ranges(){return this._x_ranges}get y_ranges(){return this._y_ranges}get x_scales(){return this._x_scales}get y_scales(){return this._y_scales}get x_scale(){return this._x_scales.get(\"default\")}get y_scale(){return this._y_scales.get(\"default\")}get xscales(){return(0,l.to_object)(this.x_scales)}get yscales(){return(0,l.to_object)(this.y_scales)}}s.CartesianFrame=x,x.__name__=\"CartesianFrame\"},\n function _(i,s,x,A,o){A(),o(\"Axis\",i(128).Axis),o(\"CategoricalAxis\",i(140).CategoricalAxis),o(\"ContinuousAxis\",i(143).ContinuousAxis),o(\"DatetimeAxis\",i(144).DatetimeAxis),o(\"LinearAxis\",i(145).LinearAxis),o(\"LogAxis\",i(162).LogAxis),o(\"MercatorAxis\",i(165).MercatorAxis)},\n function _(t,e,i,s,a){s();const o=t(1);var l;const n=t(129),_=t(130),r=t(131),h=t(132),c=(0,o.__importStar)(t(48)),b=t(20),u=t(24),m=t(123),d=t(9),x=t(13),f=t(8),g=t(120),p=t(67),v=t(133),w=t(113),j=t(11),k=t(8),y=t(134),{abs:z}=Math;class M extends n.GuideRendererView{constructor(){super(...arguments),this._axis_label_view=null,this._major_label_views=new Map}async lazy_initialize(){await super.lazy_initialize(),await this._init_axis_label(),await this._init_major_labels()}async _init_axis_label(){const{axis_label:t}=this.model;if(null!=t){const e=(0,k.isString)(t)?(0,y.parse_delimited_string)(t):t;this._axis_label_view=await(0,w.build_view)(e,{parent:this})}else this._axis_label_view=null}async _init_major_labels(){const{major_label_overrides:t}=this.model;for(const[e,i]of(0,x.entries)(t)){const t=(0,k.isString)(i)?(0,y.parse_delimited_string)(i):i;this._major_label_views.set(e,await(0,w.build_view)(t,{parent:this}))}}update_layout(){this.layout=new m.SideLayout(this.panel,(()=>this.get_size()),!0),this.layout.on_resize((()=>this._coordinates=void 0))}get_size(){const{visible:t,fixed_location:e}=this.model;if(t&&null==e&&this.is_renderable){const{extents:t}=this;return{width:0,height:Math.round(t.tick+t.tick_label+t.axis_label)}}return{width:0,height:0}}get is_renderable(){const[t,e]=this.ranges;return t.is_valid&&e.is_valid}_render(){var t;if(!this.is_renderable)return;const{tick_coords:e,extents:i}=this,s=this.layer.ctx;s.save(),this._draw_rule(s,i),this._draw_major_ticks(s,i,e),this._draw_minor_ticks(s,i,e),this._draw_major_labels(s,i,e),this._draw_axis_label(s,i,e),null===(t=this._paint)||void 0===t||t.call(this,s,i,e),s.restore()}connect_signals(){super.connect_signals();const{axis_label:t,major_label_overrides:e}=this.model.properties;this.on_change(t,(async()=>{var t;null===(t=this._axis_label_view)||void 0===t||t.remove(),await this._init_axis_label()})),this.on_change(e,(async()=>{for(const t of this._major_label_views.values())t.remove();await this._init_major_labels()})),this.connect(this.model.change,(()=>this.plot_view.request_layout()))}get needs_clip(){return null!=this.model.fixed_location}_draw_rule(t,e){if(!this.visuals.axis_line.doit)return;const[i,s]=this.rule_coords,[a,o]=this.coordinates.map_to_screen(i,s),[l,n]=this.normals,[_,r]=this.offsets;this.visuals.axis_line.set_value(t),t.beginPath();for(let e=0;e0?s+i+3:0}_draw_axis_label(t,e,i){if(null==this._axis_label_view||null!=this.model.fixed_location)return;const[s,a]=(()=>{const{bbox:t}=this.layout;switch(this.panel.side){case\"above\":return[t.hcenter,t.bottom];case\"below\":return[t.hcenter,t.top];case\"left\":return[t.right,t.vcenter];case\"right\":return[t.left,t.vcenter]}})(),[o,l]=this.normals,n=e.tick+e.tick_label+this.model.axis_label_standoff,{vertical_align:_,align:r}=this.panel.get_label_text_heuristics(\"parallel\"),h={sx:s+o*n,sy:a+l*n,x_anchor:r,y_anchor:_},c=this._axis_label_view.graphics();c.visuals=this.visuals.axis_label_text.values(),c.angle=this.panel.get_label_angle_heuristic(\"parallel\"),this.plot_view.base_font_size&&(c.base_font_size=this.plot_view.base_font_size),c.position=h,c.align=r,c.paint(t)}_draw_ticks(t,e,i,s,a){if(!a.doit)return;const[o,l]=e,[n,_]=this.coordinates.map_to_screen(o,l),[r,h]=this.normals,[c,b]=this.offsets,[u,m]=[r*(c-i),h*(b-i)],[d,x]=[r*(c+s),h*(b+s)];a.set_value(t),t.beginPath();for(let e=0;et.bbox())),M=(()=>{const[t]=this.ranges;return t.is_reversed?0==this.dimension?(t,e)=>z[t].left-z[e].right:(t,e)=>z[e].top-z[t].bottom:0==this.dimension?(t,e)=>z[e].left-z[t].right:(t,e)=>z[t].top-z[e].bottom})(),{major_label_policy:O}=this.model,T=O.filter(k,z,M),A=[...T.ones()];if(0!=A.length){const t=this.parent.canvas_view.bbox,e=e=>{const i=z[e];if(i.left<0){const t=-i.left,{position:s}=y[e];y[e].position=Object.assign(Object.assign({},s),{sx:s.sx+t})}else if(i.right>t.width){const s=i.right-t.width,{position:a}=y[e];y[e].position=Object.assign(Object.assign({},a),{sx:a.sx-s})}},i=e=>{const i=z[e];if(i.top<0){const t=-i.top,{position:s}=y[e];y[e].position=Object.assign(Object.assign({},s),{sy:s.sy+t})}else if(i.bottom>t.height){const s=i.bottom-t.height,{position:a}=y[e];y[e].position=Object.assign(Object.assign({},a),{sy:a.sy-s})}},s=A[0],a=A[A.length-1];0==this.dimension?(e(s),e(a)):(i(s),i(a))}for(const e of T){y[e].paint(t)}}_tick_extent(){return this.model.major_tick_out}_tick_label_extents(){const t=this.tick_coords.major,e=this.compute_labels(t[this.dimension]),i=this.model.major_label_orientation,s=this.model.major_label_standoff,a=this.visuals.major_label_text;return[this._oriented_labels_extent(e,i,s,a)]}get extents(){const t=this._tick_label_extents();return{tick:this._tick_extent(),tick_labels:t,tick_label:(0,d.sum)(t),axis_label:this._axis_label_extent()}}_oriented_labels_extent(t,e,i,s){if(0==t.length||!s.doit)return 0;const a=this.panel.get_label_angle_heuristic(e);t.visuals=s.values(),t.angle=a,t.base_font_size=this.plot_view.base_font_size;const o=t.max_size(),l=0==this.dimension?o.height:o.width;return l>0?i+l+3:0}get normals(){return this.panel.normals}get dimension(){return this.panel.dimension}compute_labels(t){const e=this.model.formatter.format_graphics(t,this),{_major_label_views:i}=this,s=new Set;for(let a=0;az(l-n)?(t=r(_(a,o),l),s=_(r(a,o),n)):(t=_(a,o),s=r(a,o)),[t,s]}}get rule_coords(){const t=this.dimension,e=(t+1)%2,[i]=this.ranges,[s,a]=this.computed_bounds,o=[new Array(2),new Array(2)];return o[t][0]=Math.max(s,i.min),o[t][1]=Math.min(a,i.max),o[t][0]>o[t][1]&&(o[t][0]=o[t][1]=NaN),o[e][0]=this.loc,o[e][1]=this.loc,o}get tick_coords(){const t=this.dimension,e=(t+1)%2,[i]=this.ranges,[s,a]=this.computed_bounds,o=this.model.ticker.get_ticks(s,a,i,this.loc),l=o.major,n=o.minor,_=[[],[]],r=[[],[]],[h,c]=[i.min,i.max];for(let i=0;ic||(_[t].push(l[i]),_[e].push(this.loc));for(let i=0;ic||(r[t].push(n[i]),r[e].push(this.loc));return{major:_,minor:r}}get loc(){const{fixed_location:t}=this.model;if(null!=t){if((0,f.isNumber)(t))return t;const[,e]=this.ranges;if(e instanceof p.FactorRange)return e.synthetic(t);(0,j.unreachable)()}const[,e]=this.ranges;switch(this.panel.side){case\"left\":case\"below\":return e.start;case\"right\":case\"above\":return e.end}}serializable_state(){return Object.assign(Object.assign({},super.serializable_state()),{bbox:this.layout.bbox.box})}remove(){var t;null===(t=this._axis_label_view)||void 0===t||t.remove();for(const t of this._major_label_views.values())t.remove();super.remove()}has_finished(){if(!super.has_finished())return!1;if(null!=this._axis_label_view&&!this._axis_label_view.has_finished())return!1;for(const t of this._major_label_views.values())if(!t.has_finished())return!1;return!0}}i.AxisView=M,M.__name__=\"AxisView\";class O extends n.GuideRenderer{constructor(t){super(t)}}i.Axis=O,l=O,O.__name__=\"Axis\",l.prototype.default_view=M,l.mixins([[\"axis_\",c.Line],[\"major_tick_\",c.Line],[\"minor_tick_\",c.Line],[\"major_label_\",c.Text],[\"axis_label_\",c.Text]]),l.define((({Any:t,Int:e,Number:i,String:s,Ref:a,Dict:o,Tuple:l,Or:n,Nullable:c,Auto:u})=>({bounds:[n(l(i,i),u),\"auto\"],ticker:[a(_.Ticker)],formatter:[a(r.TickFormatter)],axis_label:[c(n(s,a(v.BaseText))),null],axis_label_standoff:[e,5],major_label_standoff:[e,5],major_label_orientation:[n(b.TickLabelOrientation,i),\"horizontal\"],major_label_overrides:[o(n(s,a(v.BaseText))),{}],major_label_policy:[a(h.LabelingPolicy),()=>new h.AllLabels],major_tick_in:[i,2],major_tick_out:[i,6],minor_tick_in:[i,0],minor_tick_out:[i,4],fixed_location:[c(n(i,t)),null]}))),l.override({axis_line_color:\"black\",major_tick_line_color:\"black\",minor_tick_line_color:\"black\",major_label_text_font_size:\"11px\",major_label_text_align:\"center\",major_label_text_baseline:\"alphabetic\",axis_label_text_font_size:\"13px\",axis_label_text_font_style:\"italic\"})},\n function _(e,r,d,n,i){var s;n();const _=e(41);class u extends _.RendererView{}d.GuideRendererView=u,u.__name__=\"GuideRendererView\";class c extends _.Renderer{constructor(e){super(e)}}d.GuideRenderer=c,s=c,c.__name__=\"GuideRenderer\",s.override({level:\"guide\"})},\n function _(c,e,n,s,o){s();const r=c(53);class t extends r.Model{constructor(c){super(c)}}n.Ticker=t,t.__name__=\"Ticker\"},\n function _(t,o,r,e,c){e();const n=t(53),a=t(120);class m extends n.Model{constructor(t){super(t)}format_graphics(t,o){return this.doFormat(t,o).map((t=>new a.TextBox({text:t})))}compute(t,o){return this.doFormat([t],null!=o?o:{loc:0})[0]}v_compute(t,o){return this.doFormat(t,null!=o?o:{loc:0})}}r.TickFormatter=m,m.__name__=\"TickFormatter\"},\n function _(e,n,s,t,i){var c,r;t();const l=e(53),o=e(13),a=e(34),u=e(8),d=e(24);class _ extends l.Model{constructor(e){super(e)}}s.LabelingPolicy=_,_.__name__=\"LabelingPolicy\";class f extends _{constructor(e){super(e)}filter(e,n,s){return e}}s.AllLabels=f,f.__name__=\"AllLabels\";class m extends _{constructor(e){super(e)}filter(e,n,s){const{min_distance:t}=this;let i=null;for(const n of e)null!=i&&s(i,n)({min_distance:[e,5]})));class b extends _{constructor(e){super(e)}get names(){return(0,o.keys)(this.args)}get values(){return(0,o.values)(this.args)}get func(){const e=(0,a.use_strict)(this.code);return new d.GeneratorFunction(\"indices\",\"bboxes\",\"distance\",...this.names,e)}filter(e,n,s){const t=Object.create(null),i=this.func.call(t,e,n,s,...this.values);let c=i.next();if(c.done&&void 0!==c.value){const{value:n}=c;return n instanceof d.Indices?n:void 0===n?e:(0,u.isIterable)(n)?d.Indices.from_indices(e.size,n):d.Indices.all_unset(e.size)}{const n=[];do{n.push(c.value),c=i.next()}while(!c.done);return d.Indices.from_indices(e.size,n)}}}s.CustomLabelingPolicy=b,r=b,b.__name__=\"CustomLabelingPolicy\",r.define((({Unknown:e,String:n,Dict:s})=>({args:[s(e),{}],code:[n,\"\"]})))},\n function _(e,s,t,n,a){var _;n();const x=e(53),c=e(42);class i extends c.View{}t.BaseTextView=i,i.__name__=\"BaseTextView\";class o extends x.Model{constructor(e){super(e)}}t.BaseText=o,_=o,o.__name__=\"BaseText\",_.define((({String:e})=>({text:[e]})))},\n function _(n,e,t,i,r){i();const s=n(135),l=n(139),d=[{start:\"$$\",end:\"$$\",inline:!1},{start:\"\\\\[\",end:\"\\\\]\",inline:!1},{start:\"\\\\(\",end:\"\\\\)\",inline:!0}];t.parse_delimited_string=function(n){for(const e of d){const t=n.indexOf(e.start),i=t+e.start.length;if(0==t){const t=n.indexOf(e.end,i),r=t;if(t==n.length-e.end.length)return new s.TeX({text:n.slice(i,r),inline:e.inline});break}}return new l.PlainText({text:n})}},\n function _(t,e,s,i,n){var o,r,a;i();const h=t(8),_=t(136),l=t(22),c=t(120),d=t(121),u=t(122),g=t(65),p=t(133),x=t(137);class m extends p.BaseTextView{constructor(){super(...arguments),this._position={sx:0,sy:0},this.align=\"left\",this._x_anchor=\"left\",this._y_anchor=\"center\",this._base_font_size=13,this.font_size_scale=1,this.svg_image=null}graphics(){return this}infer_text_height(){return\"ascent_descent\"}set base_font_size(t){null!=t&&(this._base_font_size=t)}get base_font_size(){return this._base_font_size}get has_image_loaded(){return null!=this.svg_image}_rect(){const{width:t,height:e}=this._size(),{x:s,y:i}=this._computed_position();return new g.BBox({x:s,y:i,width:t,height:e}).rect}set position(t){this._position=t}get position(){return this._position}get text(){return this.model.text}get provider(){return x.default_provider}async lazy_initialize(){await super.lazy_initialize(),\"not_started\"==this.provider.status&&await this.provider.fetch(),\"not_started\"!=this.provider.status&&\"loading\"!=this.provider.status||this.provider.ready.connect((()=>this.load_image())),\"loaded\"==this.provider.status&&await this.load_image()}connect_signals(){super.connect_signals(),this.on_change(this.model.properties.text,(()=>this.load_image()))}set visuals(t){const e=t.color,s=t.alpha,i=t.font_style;let n=t.font_size;const o=t.font,{font_size_scale:r,_base_font_size:a}=this,h=(0,d.parse_css_font_size)(n);if(null!=h){let{value:t,unit:e}=h;t*=r,\"em\"==e&&a&&(t*=a,e=\"px\"),n=`${t}${e}`}const _=`${i} ${n} ${o}`;this.font=_,this.color=(0,l.color2css)(e,s)}_computed_position(){const{width:t,height:e}=this._size(),{sx:s,sy:i,x_anchor:n=this._x_anchor,y_anchor:o=this._y_anchor}=this.position;return{x:s-(()=>{if((0,h.isNumber)(n))return n*t;switch(n){case\"left\":return 0;case\"center\":return.5*t;case\"right\":return t}})(),y:i-(()=>{if((0,h.isNumber)(o))return o*e;switch(o){case\"top\":return 0;case\"center\":return.5*e;case\"bottom\":return e;case\"baseline\":return.5*e}})()}}size(){const{width:t,height:e}=this._size(),{angle:s}=this;if(s){const i=Math.cos(Math.abs(s)),n=Math.sin(Math.abs(s));return{width:Math.abs(t*i+e*n),height:Math.abs(t*n+e*i)}}return{width:t,height:e}}get_text_dimensions(){return{width:(0,c.text_width)(this.model.text,this.font),height:(0,d.font_metrics)(this.font).height}}get_image_dimensions(){var t,e,s,i;const n=parseFloat(null!==(e=null===(t=this.svg_element.getAttribute(\"height\"))||void 0===t?void 0:t.replace(/([A-z])/g,\"\"))&&void 0!==e?e:\"0\"),o=parseFloat(null!==(i=null===(s=this.svg_element.getAttribute(\"width\"))||void 0===s?void 0:s.replace(/([A-z])/g,\"\"))&&void 0!==i?i:\"0\");return{width:(0,d.font_metrics)(this.font).x_height*o,height:(0,d.font_metrics)(this.font).x_height*n}}_size(){return this.has_image_loaded?this.get_image_dimensions():this.get_text_dimensions()}bbox(){const{p0:t,p1:e,p2:s,p3:i}=this.rect(),n=Math.min(t.x,e.x,s.x,i.x),o=Math.min(t.y,e.y,s.y,i.y),r=Math.max(t.x,e.x,s.x,i.x),a=Math.max(t.y,e.y,s.y,i.y);return new g.BBox({left:n,right:r,top:o,bottom:a})}rect(){const t=this._rect(),{angle:e}=this;if(e){const{sx:s,sy:i}=this.position,n=new u.AffineTransform;return n.translate(s,i),n.rotate(e),n.translate(-s,-i),n.apply_rect(t)}return t}paint_rect(t){const{p0:e,p1:s,p2:i,p3:n}=this.rect();t.save(),t.strokeStyle=\"red\",t.lineWidth=1,t.beginPath();const{round:o}=Math;t.moveTo(o(e.x),o(e.y)),t.lineTo(o(s.x),o(s.y)),t.lineTo(o(i.x),o(i.y)),t.lineTo(o(n.x),o(n.y)),t.closePath(),t.stroke(),t.restore()}paint_bbox(t){const{x:e,y:s,width:i,height:n}=this.bbox();t.save(),t.strokeStyle=\"blue\",t.lineWidth=1,t.beginPath();const{round:o}=Math;t.moveTo(o(e),o(s)),t.lineTo(o(e),o(s+n)),t.lineTo(o(e+i),o(s+n)),t.lineTo(o(e+i),o(s)),t.closePath(),t.stroke(),t.restore()}async load_image(){if(null==this.provider.MathJax)return null;const t=this._process_text(this.model.text);if(null==t)return this._has_finished=!0,null;const e=t.children[0];this.svg_element=e,e.setAttribute(\"font\",this.font),e.setAttribute(\"stroke\",this.color);const s=e.outerHTML,i=new Blob([s],{type:\"image/svg+xml\"}),n=URL.createObjectURL(i);try{this.svg_image=await(0,_.load_image)(n)}finally{URL.revokeObjectURL(n)}return this.parent.request_layout(),this.svg_image}paint(t){t.save();const{sx:e,sy:s}=this.position;this.angle&&(t.translate(e,s),t.rotate(this.angle),t.translate(-e,-s));const{x:i,y:n}=this._computed_position();if(null!=this.svg_image){const{width:e,height:s}=this.get_image_dimensions();t.drawImage(this.svg_image,i,n,e,s)}else t.fillStyle=this.color,t.font=this.font,t.textAlign=\"left\",t.textBaseline=\"alphabetic\",t.fillText(this.model.text,i,n+(0,d.font_metrics)(this.font).ascent);t.restore(),this._has_finished||\"failed\"!=this.provider.status&&!this.has_image_loaded||(this._has_finished=!0,this.parent.notify_finished_after_paint())}}s.MathTextView=m,m.__name__=\"MathTextView\";class f extends p.BaseText{constructor(t){super(t)}}s.MathText=f,f.__name__=\"MathText\";class v extends m{_process_text(t){}}s.AsciiView=v,v.__name__=\"AsciiView\";class y extends f{constructor(t){super(t)}}s.Ascii=y,o=y,y.__name__=\"Ascii\",o.prototype.default_view=v;class w extends m{_process_text(t){var e;return null===(e=this.provider.MathJax)||void 0===e?void 0:e.mathml2svg(t.trim())}}s.MathMLView=w,w.__name__=\"MathMLView\";class b extends f{constructor(t){super(t)}}s.MathML=b,r=b,b.__name__=\"MathML\",r.prototype.default_view=w;class M extends m{_process_text(t){var e;return null===(e=this.provider.MathJax)||void 0===e?void 0:e.tex2svg(t,void 0,this.model.macros)}}s.TeXView=M,M.__name__=\"TeXView\";class T extends f{constructor(t){super(t)}}s.TeX=T,a=T,T.__name__=\"TeX\",a.prototype.default_view=M,a.define((({Boolean:t,Number:e,String:s,Dict:i,Tuple:n,Or:o})=>({macros:[i(o(s,n(s,e))),{}],inline:[t,!1]})))},\n function _(i,e,t,s,o){s();const a=i(19);t.load_image=async function(i,e){return new n(i,e).promise};class n{constructor(i,e={}){this._image=new Image,this._finished=!1;const{attempts:t=1,timeout:s=1}=e;this.promise=new Promise(((o,n)=>{this._image.crossOrigin=\"anonymous\";let r=0;this._image.onerror=()=>{if(++r==t){const s=`unable to load ${i} image after ${t} attempts`;if(a.logger.warn(s),null==this._image.crossOrigin)return void(null!=e.failed&&e.failed());a.logger.warn(`attempting to load ${i} without a cross origin policy`),this._image.crossOrigin=null,r=0}setTimeout((()=>this._image.src=i),s)},this._image.onload=()=>{this._finished=!0,null!=e.loaded&&e.loaded(this._image),o(this._image)},this._image.src=i}))}get finished(){return this._finished}get image(){if(this._finished)return this._image;throw new Error(\"not loaded yet\")}}t.ImageLoader=n,n.__name__=\"ImageLoader\"},\n function _(t,e,a,s,n){var r=this&&this.__createBinding||(Object.create?function(t,e,a,s){void 0===s&&(s=a),Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[a]}})}:function(t,e,a,s){void 0===s&&(s=a),t[s]=e[a]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,\"default\",{enumerable:!0,value:e})}:function(t,e){t.default=e}),d=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var a in t)\"default\"!==a&&Object.prototype.hasOwnProperty.call(t,a)&&r(e,t,a);return i(e,t),e};s();const o=t(15),u=t(138);class c{constructor(){this.ready=new o.Signal0(this,\"ready\"),this.status=\"not_started\"}}a.MathJaxProvider=c,c.__name__=\"MathJaxProvider\";class h extends c{get MathJax(){return null}async fetch(){this.status=\"failed\"}}a.NoProvider=h,h.__name__=\"NoProvider\";class l extends c{get MathJax(){return\"undefined\"!=typeof MathJax?MathJax:null}async fetch(){const t=document.createElement(\"script\");t.src=\"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js\",t.onload=()=>{this.status=\"loaded\",this.ready.emit()},t.onerror=()=>{this.status=\"failed\"},this.status=\"loading\",document.head.appendChild(t)}}a.CDNProvider=l,l.__name__=\"CDNProvider\";class _ extends c{get MathJax(){return this._mathjax}async fetch(){this.status=\"loading\";try{const e=await(0,u.load_module)(Promise.resolve().then((()=>d(t(519)))));this._mathjax=e,this.status=\"loaded\",this.ready.emit()}catch(t){this.status=\"failed\"}}}a.BundleProvider=_,_.__name__=\"BundleProvider\",a.default_provider=new _},\n function _(n,r,o,t,c){t(),o.load_module=async function(n){try{return await n}catch(n){if((r=n)instanceof Error&&\"code\"in r&&\"MODULE_NOT_FOUND\"===n.code)return null;throw n}var r}},\n function _(e,t,i,n,s){var a;n();const x=e(133),_=e(120);class l extends x.BaseTextView{initialize(){super.initialize(),this._has_finished=!0}graphics(){return new _.TextBox({text:this.model.text})}}i.PlainTextView=l,l.__name__=\"PlainTextView\";class r extends x.BaseText{constructor(e){super(e)}}i.PlainText=r,a=r,r.__name__=\"PlainText\",a.prototype.default_view=l},\n function _(t,s,o,e,i){e();const r=t(1);var a;const l=t(128),_=t(141),n=t(142),p=(0,r.__importStar)(t(48)),c=t(20),h=t(120),m=t(8);class u extends l.AxisView{_paint(t,s,o){this._draw_group_separators(t,s,o)}_draw_group_separators(t,s,o){const[e]=this.ranges,[i,r]=this.computed_bounds;if(!e.tops||e.tops.length<2||!this.visuals.separator_line.doit)return;const a=this.dimension,l=(a+1)%2,_=[[],[]];let n=0;for(let t=0;ti&&pnew h.GraphicsBoxes(t.map((t=>(0,m.isString)(t)?new h.TextBox({text:t}):t))),_=t=>l(this.model.formatter.doFormat(t,this));if(1==t.levels){const t=_(i.major);a.push([t,r.major,this.model.major_label_orientation,this.visuals.major_label_text])}else if(2==t.levels){const t=_(i.major.map((t=>t[1])));a.push([t,r.major,this.model.major_label_orientation,this.visuals.major_label_text]),a.push([l(i.tops),r.tops,this.model.group_label_orientation,this.visuals.group_text])}else if(3==t.levels){const t=_(i.major.map((t=>t[2]))),s=i.mids.map((t=>t[1]));a.push([t,r.major,this.model.major_label_orientation,this.visuals.major_label_text]),a.push([l(s),r.mids,this.model.subgroup_label_orientation,this.visuals.subgroup_text]),a.push([l(i.tops),r.tops,this.model.group_label_orientation,this.visuals.group_text])}return a}get tick_coords(){const t=this.dimension,s=(t+1)%2,[o]=this.ranges,[e,i]=this.computed_bounds,r=this.model.ticker.get_ticks(e,i,o,this.loc),a={major:[[],[]],mids:[[],[]],tops:[[],[]],minor:[[],[]]};return a.major[t]=r.major,a.major[s]=r.major.map((()=>this.loc)),3==o.levels&&(a.mids[t]=r.mids,a.mids[s]=r.mids.map((()=>this.loc))),o.levels>1&&(a.tops[t]=r.tops,a.tops[s]=r.tops.map((()=>this.loc))),a}}o.CategoricalAxisView=u,u.__name__=\"CategoricalAxisView\";class d extends l.Axis{constructor(t){super(t)}}o.CategoricalAxis=d,a=d,d.__name__=\"CategoricalAxis\",a.prototype.default_view=u,a.mixins([[\"separator_\",p.Line],[\"group_\",p.Text],[\"subgroup_\",p.Text]]),a.define((({Number:t,Or:s})=>({group_label_orientation:[s(c.TickLabelOrientation,t),\"parallel\"],subgroup_label_orientation:[s(c.TickLabelOrientation,t),\"parallel\"]}))),a.override({ticker:()=>new _.CategoricalTicker,formatter:()=>new n.CategoricalTickFormatter,separator_line_color:\"lightgrey\",separator_line_width:2,group_text_font_style:\"bold\",group_text_font_size:\"11px\",group_text_color:\"grey\",subgroup_text_font_style:\"bold\",subgroup_text_font_size:\"11px\"})},\n function _(t,c,o,s,e){s();const r=t(130);class i extends r.Ticker{constructor(t){super(t)}get_ticks(t,c,o,s){var e,r;return{major:this._collect(o.factors,o,t,c),minor:[],tops:this._collect(null!==(e=o.tops)&&void 0!==e?e:[],o,t,c),mids:this._collect(null!==(r=o.mids)&&void 0!==r?r:[],o,t,c)}}_collect(t,c,o,s){const e=[];for(const r of t){const t=c.synthetic(r);t>o&&tnew _.DatetimeTicker,formatter:()=>new m.DatetimeTickFormatter})},\n function _(e,i,s,n,r){var t;n();const a=e(143),o=e(146),c=e(147);class _ extends a.ContinuousAxisView{}s.LinearAxisView=_,_.__name__=\"LinearAxisView\";class u extends a.ContinuousAxis{constructor(e){super(e)}}s.LinearAxis=u,t=u,u.__name__=\"LinearAxis\",t.prototype.default_view=_,t.override({ticker:()=>new c.BasicTicker,formatter:()=>new o.BasicTickFormatter})},\n function _(i,t,e,n,o){var r;n();const s=i(131),c=i(34);function _(i){let t=\"\";for(const e of i)t+=\"-\"==e?\"\\u2212\":e;return t}e.unicode_replace=_;class a extends s.TickFormatter{constructor(i){super(i),this.last_precision=3}get scientific_limit_low(){return 10**this.power_limit_low}get scientific_limit_high(){return 10**this.power_limit_high}_need_sci(i){if(!this.use_scientific)return!1;const{scientific_limit_high:t}=this,{scientific_limit_low:e}=this,n=i.length<2?0:Math.abs(i[1]-i[0])/1e4;for(const o of i){const i=Math.abs(o);if(!(i<=n)&&(i>=t||i<=e))return!0}return!1}_format_with_precision(i,t,e){return t?i.map((i=>_(i.toExponential(e)))):i.map((i=>_((0,c.to_fixed)(i,e))))}_auto_precision(i,t){const e=new Array(i.length),n=this.last_precision<=15;i:for(let o=this.last_precision;n?o<=15:o>=1;n?o++:o--){if(t){e[0]=i[0].toExponential(o);for(let t=1;t({precision:[n(t,e),\"auto\"],use_scientific:[i,!0],power_limit_high:[t,5],power_limit_low:[t,-3]})))},\n function _(c,e,s,i,n){i();const r=c(148);class t extends r.AdaptiveTicker{constructor(c){super(c)}}s.BasicTicker=t,t.__name__=\"BasicTicker\"},\n function _(t,i,a,s,e){var n;s();const r=t(149),_=t(9),l=t(10);class h extends r.ContinuousTicker{constructor(t){super(t)}get_min_interval(){return this.min_interval}get_max_interval(){var t;return null!==(t=this.max_interval)&&void 0!==t?t:1/0}initialize(){super.initialize();const t=(0,_.nth)(this.mantissas,-1)/this.base,i=(0,_.nth)(this.mantissas,0)*this.base;this.extended_mantissas=[t,...this.mantissas,i],this.base_factor=0===this.get_min_interval()?1:this.get_min_interval()}get_interval(t,i,a){const s=i-t,e=this.get_ideal_interval(t,i,a),n=Math.floor((0,l.log)(e/this.base_factor,this.base)),r=this.base**n*this.base_factor,h=this.extended_mantissas,m=h.map((t=>Math.abs(a-s/(t*r)))),v=h[(0,_.argmin)(m)]*r;return(0,l.clamp)(v,this.get_min_interval(),this.get_max_interval())}}a.AdaptiveTicker=h,n=h,h.__name__=\"AdaptiveTicker\",n.define((({Number:t,Array:i,Nullable:a})=>({base:[t,10],mantissas:[i(t),[1,2,5]],min_interval:[t,0],max_interval:[a(t),null]})))},\n function _(t,n,i,s,e){var o;s();const r=t(130),c=t(9);class _ extends r.Ticker{constructor(t){super(t)}get_ticks(t,n,i,s){return this.get_ticks_no_defaults(t,n,s,this.desired_num_ticks)}get_ticks_no_defaults(t,n,i,s){const e=this.get_interval(t,n,s),o=Math.floor(t/e),r=Math.ceil(n/e);let _;_=isFinite(o)&&isFinite(r)?(0,c.range)(o,r+1):[];const u=_.map((t=>t*e)).filter((i=>t<=i&&i<=n)),a=this.num_minor_ticks,f=[];if(a>0&&u.length>0){const i=e/a,s=(0,c.range)(0,a).map((t=>t*i));for(const i of s.slice(1)){const s=u[0]-i;t<=s&&s<=n&&f.push(s)}for(const i of u)for(const e of s){const s=i+e;t<=s&&s<=n&&f.push(s)}}return{major:u,minor:f}}get_ideal_interval(t,n,i){return(n-t)/i}}i.ContinuousTicker=_,o=_,_.__name__=\"ContinuousTicker\",o.define((({Int:t})=>({num_minor_ticks:[t,5],desired_num_ticks:[t,6]})))},\n function _(s,t,e,n,i){n();var r;const o=(0,s(1).__importDefault)(s(151)),a=s(131),c=s(19),u=s(152),m=s(9),h=s(8);function d(s){return(0,o.default)(s,\"%Y %m %d %H %M %S\").split(/\\s+/).map((s=>parseInt(s,10)))}function l(s,t){if((0,h.isFunction)(t))return t(s);{const e=(0,u.sprintf)(\"$1%06d\",function(s){return Math.round(s/1e3%1*1e6)}(s));return-1==(t=t.replace(/((^|[^%])(%%)*)%f/,e)).indexOf(\"%\")?t:(0,o.default)(s,t)}}const f=[\"microseconds\",\"milliseconds\",\"seconds\",\"minsec\",\"minutes\",\"hourmin\",\"hours\",\"days\",\"months\",\"years\"];class _ extends a.TickFormatter{constructor(s){super(s),this.strip_leading_zeros=!0}initialize(){super.initialize(),this._update_width_formats()}_update_width_formats(){const s=+(0,o.default)(new Date),t=function(t){const e=t.map((t=>l(s,t).length)),n=(0,m.sort_by)((0,m.zip)(e,t),(([s])=>s));return(0,m.unzip)(n)};this._width_formats={microseconds:t(this.microseconds),milliseconds:t(this.milliseconds),seconds:t(this.seconds),minsec:t(this.minsec),minutes:t(this.minutes),hourmin:t(this.hourmin),hours:t(this.hours),days:t(this.days),months:t(this.months),years:t(this.years)}}_get_resolution_str(s,t){const e=1.1*s;switch(!1){case!(e<.001):return\"microseconds\";case!(e<1):return\"milliseconds\";case!(e<60):return t>=60?\"minsec\":\"seconds\";case!(e<3600):return t>=3600?\"hourmin\":\"minutes\";case!(e<86400):return\"hours\";case!(e<2678400):return\"days\";case!(e<31536e3):return\"months\";default:return\"years\"}}doFormat(s,t){if(0==s.length)return[];const e=Math.abs(s[s.length-1]-s[0])/1e3,n=e/(s.length-1),i=this._get_resolution_str(n,e),[,[r]]=this._width_formats[i],o=[],a=f.indexOf(i),u={};for(const s of f)u[s]=0;u.seconds=5,u.minsec=4,u.minutes=4,u.hourmin=3,u.hours=3;for(const t of s){let s,e;try{e=d(t),s=l(t,r)}catch(s){c.logger.warn(`unable to format tick for timestamp value ${t}`),c.logger.warn(` - ${s}`),o.push(\"ERR\");continue}let n=!1,m=a;for(;0==e[u[f[m]]];){let r;if(m+=1,m==f.length)break;if((\"minsec\"==i||\"hourmin\"==i)&&!n){if(\"minsec\"==i&&0==e[4]&&0!=e[5]||\"hourmin\"==i&&0==e[3]&&0!=e[4]){r=this._width_formats[f[a-1]][1][0],s=l(t,r);break}n=!0}r=this._width_formats[f[m]][1][0],s=l(t,r)}if(this.strip_leading_zeros){let t=s.replace(/^0+/g,\"\");t!=s&&isNaN(parseInt(t))&&(t=`0${t}`),o.push(t)}else o.push(s)}return o}}e.DatetimeTickFormatter=_,r=_,_.__name__=\"DatetimeTickFormatter\",r.define((({String:s,Array:t})=>({microseconds:[t(s),[\"%fus\"]],milliseconds:[t(s),[\"%3Nms\",\"%S.%3Ns\"]],seconds:[t(s),[\"%Ss\"]],minsec:[t(s),[\":%M:%S\"]],minutes:[t(s),[\":%M\",\"%Mm\"]],hourmin:[t(s),[\"%H:%M\"]],hours:[t(s),[\"%Hh\",\"%H:%M\"]],days:[t(s),[\"%m/%d\",\"%a%d\"]],months:[t(s),[\"%m/%Y\",\"%b %Y\"]],years:[t(s),[\"%Y\"]]})))},\n function _(e,t,n,r,o){!function(e){\"object\"==typeof t&&t.exports?t.exports=e():\"function\"==typeof define?define(e):this.tz=e()}((function(){function e(e,t,n){var r,o=t.day[1];do{r=new Date(Date.UTC(n,t.month,Math.abs(o++)))}while(t.day[0]<7&&r.getUTCDay()!=t.day[0]);return(r={clock:t.clock,sort:r.getTime(),rule:t,save:6e4*t.save,offset:e.offset})[r.clock]=r.sort+6e4*t.time,r.posix?r.wallclock=r[r.clock]+(e.offset+t.saved):r.posix=r[r.clock]-(e.offset+t.saved),r}function t(t,n,r){var o,a,u,i,l,s,c,f=t[t.zone],h=[],T=new Date(r).getUTCFullYear(),g=1;for(o=1,a=f.length;o=T-g;--c)for(o=0,a=s.length;o=h[o][n]&&h[o][h[o].clock]>u[h[o].clock]&&(i=h[o])}return i&&((l=/^(.*)\\/(.*)$/.exec(u.format))?i.abbrev=l[i.save?2:1]:i.abbrev=u.format.replace(/%s/,i.rule.letter)),i||u}function n(e,n){return\"UTC\"==e.zone?n:(e.entry=t(e,\"posix\",n),n+e.entry.offset+e.entry.save)}function r(e,n){return\"UTC\"==e.zone?n:(e.entry=r=t(e,\"wallclock\",n),0<(o=n-r.wallclock)&&o9)t+=s*l[c-10];else{if(a=new Date(n(e,t)),c<7)for(;s;)a.setUTCDate(a.getUTCDate()+i),a.getUTCDay()==c&&(s-=i);else 7==c?a.setUTCFullYear(a.getUTCFullYear()+s):8==c?a.setUTCMonth(a.getUTCMonth()+s):a.setUTCDate(a.getUTCDate()+s);null==(t=r(e,a.getTime()))&&(t=r(e,a.getTime()+864e5*i)-864e5*i)}return t}var a={clock:function(){return+new Date},zone:\"UTC\",entry:{abbrev:\"UTC\",offset:0,save:0},UTC:1,z:function(e,t,n,r){var o,a,u=this.entry.offset+this.entry.save,i=Math.abs(u/1e3),l=[],s=3600;for(o=0;o<3;o++)l.push((\"0\"+Math.floor(i/s)).slice(-2)),i%=s,s/=60;return\"^\"!=n||u?(\"^\"==n&&(r=3),3==r?(a=(a=l.join(\":\")).replace(/:00$/,\"\"),\"^\"!=n&&(a=a.replace(/:00$/,\"\"))):r?(a=l.slice(0,r+1).join(\":\"),\"^\"==n&&(a=a.replace(/:00$/,\"\"))):a=l.slice(0,2).join(\"\"),a=(a=(u<0?\"-\":\"+\")+a).replace(/([-+])(0)/,{_:\" $1\",\"-\":\"$1\"}[n]||\"$1$2\")):\"Z\"},\"%\":function(e){return\"%\"},n:function(e){return\"\\n\"},t:function(e){return\"\\t\"},U:function(e){return s(e,0)},W:function(e){return s(e,1)},V:function(e){return c(e)[0]},G:function(e){return c(e)[1]},g:function(e){return c(e)[1]%100},j:function(e){return Math.floor((e.getTime()-Date.UTC(e.getUTCFullYear(),0))/864e5)+1},s:function(e){return Math.floor(e.getTime()/1e3)},C:function(e){return Math.floor(e.getUTCFullYear()/100)},N:function(e){return e.getTime()%1e3*1e6},m:function(e){return e.getUTCMonth()+1},Y:function(e){return e.getUTCFullYear()},y:function(e){return e.getUTCFullYear()%100},H:function(e){return e.getUTCHours()},M:function(e){return e.getUTCMinutes()},S:function(e){return e.getUTCSeconds()},e:function(e){return e.getUTCDate()},d:function(e){return e.getUTCDate()},u:function(e){return e.getUTCDay()||7},w:function(e){return e.getUTCDay()},l:function(e){return e.getUTCHours()%12||12},I:function(e){return e.getUTCHours()%12||12},k:function(e){return e.getUTCHours()},Z:function(e){return this.entry.abbrev},a:function(e){return this[this.locale].day.abbrev[e.getUTCDay()]},A:function(e){return this[this.locale].day.full[e.getUTCDay()]},h:function(e){return this[this.locale].month.abbrev[e.getUTCMonth()]},b:function(e){return this[this.locale].month.abbrev[e.getUTCMonth()]},B:function(e){return this[this.locale].month.full[e.getUTCMonth()]},P:function(e){return this[this.locale].meridiem[Math.floor(e.getUTCHours()/12)].toLowerCase()},p:function(e){return this[this.locale].meridiem[Math.floor(e.getUTCHours()/12)]},R:function(e,t){return this.convert([t,\"%H:%M\"])},T:function(e,t){return this.convert([t,\"%H:%M:%S\"])},D:function(e,t){return this.convert([t,\"%m/%d/%y\"])},F:function(e,t){return this.convert([t,\"%Y-%m-%d\"])},x:function(e,t){return this.convert([t,this[this.locale].date])},r:function(e,t){return this.convert([t,this[this.locale].time12||\"%I:%M:%S\"])},X:function(e,t){return this.convert([t,this[this.locale].time24])},c:function(e,t){return this.convert([t,this[this.locale].dateTime])},convert:function(e){if(!e.length)return\"1.0.23\";var t,a,u,l,s,c=Object.create(this),f=[];for(t=0;t=o?Math.floor((n-o)/7)+1:0}function c(e){var t,n,r;return n=e.getUTCFullYear(),t=new Date(Date.UTC(n,0)).getUTCDay(),(r=s(e,1)+(t>1&&t<=4?1:0))?53!=r||4==t||3==t&&29==new Date(n,1,29).getDate()?[r,e.getUTCFullYear()]:[1,e.getUTCFullYear()+1]:(n=e.getUTCFullYear()-1,[r=4==(t=new Date(Date.UTC(n,0)).getUTCDay())||3==t&&29==new Date(n,1,29).getDate()?53:52,e.getUTCFullYear()-1])}return u=u.toLowerCase().split(\"|\"),\"delmHMSUWVgCIky\".replace(/./g,(function(e){a[e].pad=2})),a.N.pad=9,a.j.pad=3,a.k.style=\"_\",a.l.style=\"_\",a.e.style=\"_\",function(){return a.convert(arguments)}}))},\n function _(r,t,n,e,i){e();const u=r(1),a=(0,u.__importStar)(r(153)),f=r(154),o=(0,u.__importDefault)(r(151)),l=r(21),s=r(8);function c(r,...t){return(0,f.sprintf)(r,...t)}function m(r,t,n){if((0,s.isNumber)(r)){return c((()=>{switch(!1){case Math.floor(r)!=r:return\"%d\";case!(Math.abs(r)>.1&&Math.abs(r)<1e3):return\"%0.3f\";default:return\"%0.3e\"}})(),r)}return`${r}`}function _(r,t,e){if(null==t)return m;if(null!=e&&r in e){const t=e[r];if((0,s.isString)(t)){if(t in n.DEFAULT_FORMATTERS)return n.DEFAULT_FORMATTERS[t];throw new Error(`Unknown tooltip field formatter type '${t}'`)}return function(r,n,e){return t.format(r,n,e)}}return n.DEFAULT_FORMATTERS.numeral}function p(r,t,n){const e=t.get_column(r);if(null==e)return null;if((0,s.isNumber)(n))return e[n];const i=e[n.index];if((0,s.isTypedArray)(i)||(0,s.isArray)(i)){if((0,s.isArray)(i[0])){return i[n.dim2][n.dim1]}return i[n.flat_index]}return i}function d(r,t,n,e){if(\"$\"==r[0]){return function(r,t){if(r in t)return t[r];throw new Error(`Unknown special variable '$${r}'`)}(r.substring(1),e)}return p(r.substring(1).replace(/[{}]/g,\"\"),t,n)}n.FormatterType=(0,l.Enum)(\"numeral\",\"printf\",\"datetime\"),n.DEFAULT_FORMATTERS={numeral:(r,t,n)=>a.format(r,t),datetime:(r,t,n)=>(0,o.default)(r,t),printf:(r,t,n)=>c(t,r)},n.sprintf=c,n.basic_formatter=m,n.get_formatter=_,n._get_column_value=p,n.get_value=d,n.replace_placeholders=function(r,t,n,e,i={},u){let a,f;if((0,s.isString)(r)?(a=r,f=!1):(a=r.html,f=!0),a=a.replace(/@\\$name/g,(r=>`@{${i.name}}`)),a=a.replace(/((?:\\$\\w+)|(?:@\\w+)|(?:@{(?:[^{}]+)}))(?:{([^{}]+)})?/g,((r,a,o)=>{const l=d(a,t,n,i);if(null==l)return u?u(\"???\"):\"???\";if(\"safe\"==o)return f=!0,`${l}`;const s=`${_(a,o,e)(l,o,i)}`;return u?u(s):s})),f){return[...(new DOMParser).parseFromString(a,\"text/html\").body.childNodes]}return a}},\n function _(e,n,t,r,i){\n /*!\n * numbro.js\n * version : 1.6.2\n * author : Företagsplatsen AB\n * license : MIT\n * http://www.foretagsplatsen.se\n */\n var a,o={},l=o,u=\"en-US\",c=null,s=\"0,0\";void 0!==n&&n.exports;function f(e){this._value=e}function d(e){var n,t=\"\";for(n=0;n-1?function(e,n){var t,r,i,a;return t=(a=e.toString()).split(\"e\")[0],i=a.split(\"e\")[1],a=t.split(\".\")[0]+(r=t.split(\".\")[1]||\"\")+d(i-r.length),n>0&&(a+=\".\"+d(n)),a}(e,n):(t(e*o)/o).toFixed(n),r&&(i=new RegExp(\"0{1,\"+r+\"}$\"),a=a.replace(i,\"\")),a}function p(e,n,t){var r;return r=n.indexOf(\"$\")>-1?function(e,n,t){var r,i,a=n,l=a.indexOf(\"$\"),c=a.indexOf(\"(\"),s=a.indexOf(\"+\"),f=a.indexOf(\"-\"),d=\"\",h=\"\";-1===a.indexOf(\"$\")?\"infix\"===o[u].currency.position?(h=o[u].currency.symbol,o[u].currency.spaceSeparated&&(h=\" \"+h+\" \")):o[u].currency.spaceSeparated&&(d=\" \"):a.indexOf(\" $\")>-1?(d=\" \",a=a.replace(\" $\",\"\")):a.indexOf(\"$ \")>-1?(d=\" \",a=a.replace(\"$ \",\"\")):a=a.replace(\"$\",\"\");if(i=m(e,a,t,h),-1===n.indexOf(\"$\"))switch(o[u].currency.position){case\"postfix\":i.indexOf(\")\")>-1?((i=i.split(\"\")).splice(-1,0,d+o[u].currency.symbol),i=i.join(\"\")):i=i+d+o[u].currency.symbol;break;case\"infix\":break;case\"prefix\":i.indexOf(\"(\")>-1||i.indexOf(\"-\")>-1?(i=i.split(\"\"),r=Math.max(c,f)+1,i.splice(r,0,o[u].currency.symbol+d),i=i.join(\"\")):i=o[u].currency.symbol+d+i;break;default:throw Error('Currency position should be among [\"prefix\", \"infix\", \"postfix\"]')}else l<=1?i.indexOf(\"(\")>-1||i.indexOf(\"+\")>-1||i.indexOf(\"-\")>-1?(r=1,(l-1?((i=i.split(\"\")).splice(-1,0,d+o[u].currency.symbol),i=i.join(\"\")):i=i+d+o[u].currency.symbol;return i}(e,n,t):n.indexOf(\"%\")>-1?function(e,n,t){var r,i=\"\";e*=100,n.indexOf(\" %\")>-1?(i=\" \",n=n.replace(\" %\",\"\")):n=n.replace(\"%\",\"\");(r=m(e,n,t)).indexOf(\")\")>-1?((r=r.split(\"\")).splice(-1,0,i+\"%\"),r=r.join(\"\")):r=r+i+\"%\";return r}(e,n,t):n.indexOf(\":\")>-1?function(e){var n=Math.floor(e/60/60),t=Math.floor((e-60*n*60)/60),r=Math.round(e-60*n*60-60*t);return n+\":\"+(t<10?\"0\"+t:t)+\":\"+(r<10?\"0\"+r:r)}(e):m(e,n,t),r}function m(e,n,t,r){var i,a,l,s,f,d,p,m,x,g,O,b,w,y,M,v,$,B=!1,E=!1,F=!1,k=\"\",U=!1,N=!1,S=!1,j=!1,D=!1,C=\"\",L=\"\",T=Math.abs(e),K=[\"B\",\"KiB\",\"MiB\",\"GiB\",\"TiB\",\"PiB\",\"EiB\",\"ZiB\",\"YiB\"],G=[\"B\",\"KB\",\"MB\",\"GB\",\"TB\",\"PB\",\"EB\",\"ZB\",\"YB\"],I=\"\",P=!1,R=!1;if(0===e&&null!==c)return c;if(!isFinite(e))return\"\"+e;if(0===n.indexOf(\"{\")){var W=n.indexOf(\"}\");if(-1===W)throw Error('Format should also contain a \"}\"');b=n.slice(1,W),n=n.slice(W+1)}else b=\"\";if(n.indexOf(\"}\")===n.length-1){var Y=n.indexOf(\"{\");if(-1===Y)throw Error('Format should also contain a \"{\"');w=n.slice(Y+1,-1),n=n.slice(0,Y+1)}else w=\"\";if(v=null===($=-1===n.indexOf(\".\")?n.match(/([0-9]+).*/):n.match(/([0-9]+)\\..*/))?-1:$[1].length,-1!==n.indexOf(\"-\")&&(P=!0),n.indexOf(\"(\")>-1?(B=!0,n=n.slice(1,-1)):n.indexOf(\"+\")>-1&&(E=!0,n=n.replace(/\\+/g,\"\")),n.indexOf(\"a\")>-1){if(g=n.split(\".\")[0].match(/[0-9]+/g)||[\"0\"],g=parseInt(g[0],10),U=n.indexOf(\"aK\")>=0,N=n.indexOf(\"aM\")>=0,S=n.indexOf(\"aB\")>=0,j=n.indexOf(\"aT\")>=0,D=U||N||S||j,n.indexOf(\" a\")>-1?(k=\" \",n=n.replace(\" a\",\"\")):n=n.replace(\"a\",\"\"),p=0===(p=(f=Math.floor(Math.log(T)/Math.LN10)+1)%3)?3:p,g&&0!==T&&(d=Math.floor(Math.log(T)/Math.LN10)+1-g,m=3*~~((Math.min(g,f)-p)/3),T/=Math.pow(10,m),-1===n.indexOf(\".\")&&g>3))for(n+=\"[.]\",M=(M=0===d?0:3*~~(d/3)-d)<0?M+3:M,i=0;i=Math.pow(10,12)&&!D||j?(k+=o[u].abbreviations.trillion,e/=Math.pow(10,12)):T=Math.pow(10,9)&&!D||S?(k+=o[u].abbreviations.billion,e/=Math.pow(10,9)):T=Math.pow(10,6)&&!D||N?(k+=o[u].abbreviations.million,e/=Math.pow(10,6)):(T=Math.pow(10,3)&&!D||U)&&(k+=o[u].abbreviations.thousand,e/=Math.pow(10,3)))}if(n.indexOf(\"b\")>-1)for(n.indexOf(\" b\")>-1?(C=\" \",n=n.replace(\" b\",\"\")):n=n.replace(\"b\",\"\"),s=0;s<=K.length;s++)if(a=Math.pow(1024,s),l=Math.pow(1024,s+1),e>=a&&e0&&(e/=a);break}if(n.indexOf(\"d\")>-1)for(n.indexOf(\" d\")>-1?(C=\" \",n=n.replace(\" d\",\"\")):n=n.replace(\"d\",\"\"),s=0;s<=G.length;s++)if(a=Math.pow(1e3,s),l=Math.pow(1e3,s+1),e>=a&&e0&&(e/=a);break}if(n.indexOf(\"o\")>-1&&(n.indexOf(\" o\")>-1?(L=\" \",n=n.replace(\" o\",\"\")):n=n.replace(\"o\",\"\"),o[u].ordinal&&(L+=o[u].ordinal(e))),n.indexOf(\"[.]\")>-1&&(F=!0,n=n.replace(\"[.]\",\".\")),x=e.toString().split(\".\")[0],O=n.split(\".\")[1],y=n.indexOf(\",\"),O){if(x=(I=-1!==O.indexOf(\"*\")?h(e,e.toString().split(\".\")[1].length,t):O.indexOf(\"[\")>-1?h(e,(O=(O=O.replace(\"]\",\"\")).split(\"[\"))[0].length+O[1].length,t,O[1].length):h(e,O.length,t)).split(\".\")[0],I.split(\".\")[1].length)I=(r?k+r:o[u].delimiters.decimal)+I.split(\".\")[1];else I=\"\";F&&0===Number(I.slice(1))&&(I=\"\")}else x=h(e,null,t);return x.indexOf(\"-\")>-1&&(x=x.slice(1),R=!0),x.length-1&&(x=x.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g,\"$1\"+o[u].delimiters.thousands)),0===n.indexOf(\".\")&&(x=\"\"),b+(n.indexOf(\"(\")2)&&(o.length<2?!!o[0].match(/^\\d+.*\\d$/)&&!o[0].match(u):1===o[0].length?!!o[0].match(/^\\d+$/)&&!o[0].match(u)&&!!o[1].match(/^\\d+$/):!!o[0].match(/^\\d+.*\\d$/)&&!o[0].match(u)&&!!o[1].match(/^\\d+$/)))))},n.exports={format:function(e,n,t,r){return null!=t&&t!==a.culture()&&a.setCulture(t),p(Number(e),null!=n?n:s,null==r?Math.round:r)}}},\n function _(e,n,t,r,i){!function(){\"use strict\";var e={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[+-]/};function n(e){return i(a(e),arguments)}function r(e,t){return n.apply(null,[e].concat(t||[]))}function i(t,r){var i,s,a,o,p,c,l,u,f,d=1,g=t.length,y=\"\";for(s=0;s=0),o.type){case\"b\":i=parseInt(i,10).toString(2);break;case\"c\":i=String.fromCharCode(parseInt(i,10));break;case\"d\":case\"i\":i=parseInt(i,10);break;case\"j\":i=JSON.stringify(i,null,o.width?parseInt(o.width):0);break;case\"e\":i=o.precision?parseFloat(i).toExponential(o.precision):parseFloat(i).toExponential();break;case\"f\":i=o.precision?parseFloat(i).toFixed(o.precision):parseFloat(i);break;case\"g\":i=o.precision?String(Number(i.toPrecision(o.precision))):parseFloat(i);break;case\"o\":i=(parseInt(i,10)>>>0).toString(8);break;case\"s\":i=String(i),i=o.precision?i.substring(0,o.precision):i;break;case\"t\":i=String(!!i),i=o.precision?i.substring(0,o.precision):i;break;case\"T\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=o.precision?i.substring(0,o.precision):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=o.precision?i.substring(0,o.precision):i;break;case\"x\":i=(parseInt(i,10)>>>0).toString(16);break;case\"X\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}e.json.test(o.type)?y+=i:(!e.number.test(o.type)||u&&!o.sign?f=\"\":(f=u?\"+\":\"-\",i=i.toString().replace(e.sign,\"\")),c=o.pad_char?\"0\"===o.pad_char?\"0\":o.pad_char.charAt(1):\" \",l=o.width-(f+i).length,p=o.width&&l>0?c.repeat(l):\"\",y+=o.align?f+i+p:\"0\"===c?f+p+i:p+f+i)}return y}var s=Object.create(null);function a(n){if(s[n])return s[n];for(var t,r=n,i=[],a=0;r;){if(null!==(t=e.text.exec(r)))i.push(t[0]);else if(null!==(t=e.modulo.exec(r)))i.push(\"%\");else{if(null===(t=e.placeholder.exec(r)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(t[2]){a|=1;var o=[],p=t[2],c=[];if(null===(c=e.key.exec(p)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(o.push(c[1]);\"\"!==(p=p.substring(c[0].length));)if(null!==(c=e.key_access.exec(p)))o.push(c[1]);else{if(null===(c=e.index_access.exec(p)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");o.push(c[1])}t[2]=o}else a|=2;if(3===a)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");i.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return s[n]=i}void 0!==t&&(t.sprintf=n,t.vsprintf=r),\"undefined\"!=typeof window&&(window.sprintf=n,window.vsprintf=r,\"function\"==typeof define&&define.amd&&define((function(){return{sprintf:n,vsprintf:r}})))}()},\n function _(e,n,i,a,s){var r;a();const t=e(9),c=e(148),m=e(156),_=e(157),k=e(160),o=e(161),T=e(159);class w extends m.CompositeTicker{constructor(e){super(e)}}i.DatetimeTicker=w,r=w,w.__name__=\"DatetimeTicker\",r.override({num_minor_ticks:0,tickers:()=>[new c.AdaptiveTicker({mantissas:[1,2,5],base:10,min_interval:0,max_interval:500*T.ONE_MILLI,num_minor_ticks:0}),new c.AdaptiveTicker({mantissas:[1,2,5,10,15,20,30],base:60,min_interval:T.ONE_SECOND,max_interval:30*T.ONE_MINUTE,num_minor_ticks:0}),new c.AdaptiveTicker({mantissas:[1,2,4,6,8,12],base:24,min_interval:T.ONE_HOUR,max_interval:12*T.ONE_HOUR,num_minor_ticks:0}),new _.DaysTicker({days:(0,t.range)(1,32)}),new _.DaysTicker({days:(0,t.range)(1,31,3)}),new _.DaysTicker({days:[1,8,15,22]}),new _.DaysTicker({days:[1,15]}),new k.MonthsTicker({months:(0,t.range)(0,12,1)}),new k.MonthsTicker({months:(0,t.range)(0,12,2)}),new k.MonthsTicker({months:(0,t.range)(0,12,4)}),new k.MonthsTicker({months:(0,t.range)(0,12,6)}),new o.YearsTicker({})]})},\n function _(t,e,i,r,s){var n;r();const _=t(149),a=t(9);class l extends _.ContinuousTicker{constructor(t){super(t)}get min_intervals(){return this.tickers.map((t=>t.get_min_interval()))}get max_intervals(){return this.tickers.map((t=>t.get_max_interval()))}get_min_interval(){return this.min_intervals[0]}get_max_interval(){return this.max_intervals[0]}get_best_ticker(t,e,i){const r=e-t,s=this.get_ideal_interval(t,e,i),n=[(0,a.sorted_index)(this.min_intervals,s)-1,(0,a.sorted_index)(this.max_intervals,s)],_=[this.min_intervals[n[0]],this.max_intervals[n[1]]].map((t=>Math.abs(i-r/t)));let l;if((0,a.is_empty)(_.filter((t=>!isNaN(t)))))l=this.tickers[0];else{const t=n[(0,a.argmin)(_)];l=this.tickers[t]}return l}get_interval(t,e,i){return this.get_best_ticker(t,e,i).get_interval(t,e,i)}get_ticks_no_defaults(t,e,i,r){return this.get_best_ticker(t,e,r).get_ticks_no_defaults(t,e,i,r)}}i.CompositeTicker=l,n=l,l.__name__=\"CompositeTicker\",n.define((({Array:t,Ref:e})=>({tickers:[t(e(_.ContinuousTicker)),[]]})))},\n function _(t,e,n,s,o){var a;s();const i=t(158),r=t(159),c=t(9);class _ extends i.SingleIntervalTicker{constructor(t){super(t)}initialize(){super.initialize();const t=this.days;t.length>1?this.interval=(t[1]-t[0])*r.ONE_DAY:this.interval=31*r.ONE_DAY}get_ticks_no_defaults(t,e,n,s){const o=function(t,e){const n=(0,r.last_month_no_later_than)(new Date(t)),s=(0,r.last_month_no_later_than)(new Date(e));s.setUTCMonth(s.getUTCMonth()+1);const o=[],a=n;for(;o.push((0,r.copy_date)(a)),a.setUTCMonth(a.getUTCMonth()+1),!(a>s););return o}(t,e),a=this.days,i=this.interval,_=(0,c.concat)(o.map((t=>((t,e)=>{const n=t.getUTCMonth(),s=[];for(const o of a){const a=(0,r.copy_date)(t);a.setUTCDate(o),new Date(a.getTime()+e/2).getUTCMonth()==n&&s.push(a)}return s})(t,i))));return{major:_.map((t=>t.getTime())).filter((n=>t<=n&&n<=e)),minor:[]}}}n.DaysTicker=_,a=_,_.__name__=\"DaysTicker\",a.define((({Int:t,Array:e})=>({days:[e(t),[]]}))),a.override({num_minor_ticks:0})},\n function _(e,n,t,r,i){var a;r();const l=e(149);class s extends l.ContinuousTicker{constructor(e){super(e)}get_interval(e,n,t){return this.interval}get_min_interval(){return this.interval}get_max_interval(){return this.interval}}t.SingleIntervalTicker=s,a=s,s.__name__=\"SingleIntervalTicker\",a.define((({Number:e})=>({interval:[e]})))},\n function _(t,n,e,_,E){function N(t){return new Date(t.getTime())}function O(t){const n=N(t);return n.setUTCDate(1),n.setUTCHours(0),n.setUTCMinutes(0),n.setUTCSeconds(0),n.setUTCMilliseconds(0),n}_(),e.ONE_MILLI=1,e.ONE_SECOND=1e3,e.ONE_MINUTE=60*e.ONE_SECOND,e.ONE_HOUR=60*e.ONE_MINUTE,e.ONE_DAY=24*e.ONE_HOUR,e.ONE_MONTH=30*e.ONE_DAY,e.ONE_YEAR=365*e.ONE_DAY,e.copy_date=N,e.last_month_no_later_than=O,e.last_year_no_later_than=function(t){const n=O(t);return n.setUTCMonth(0),n}},\n function _(t,e,n,a,r){var s;a();const i=t(158),o=t(159),l=t(9);class _ extends i.SingleIntervalTicker{constructor(t){super(t)}initialize(){super.initialize();const t=this.months;t.length>1?this.interval=(t[1]-t[0])*o.ONE_MONTH:this.interval=12*o.ONE_MONTH}get_ticks_no_defaults(t,e,n,a){const r=function(t,e){const n=(0,o.last_year_no_later_than)(new Date(t)),a=(0,o.last_year_no_later_than)(new Date(e));a.setUTCFullYear(a.getUTCFullYear()+1);const r=[],s=n;for(;r.push((0,o.copy_date)(s)),s.setUTCFullYear(s.getUTCFullYear()+1),!(s>a););return r}(t,e),s=this.months;return{major:(0,l.concat)(r.map((t=>s.map((e=>{const n=(0,o.copy_date)(t);return n.setUTCMonth(e),n}))))).map((t=>t.getTime())).filter((n=>t<=n&&n<=e)),minor:[]}}}n.MonthsTicker=_,s=_,_.__name__=\"MonthsTicker\",s.define((({Int:t,Array:e})=>({months:[e(t),[]]})))},\n function _(e,t,a,i,r){i();const n=e(147),_=e(158),s=e(159);class c extends _.SingleIntervalTicker{constructor(e){super(e)}initialize(){super.initialize(),this.interval=s.ONE_YEAR,this.basic_ticker=new n.BasicTicker({num_minor_ticks:0})}get_ticks_no_defaults(e,t,a,i){const r=(0,s.last_year_no_later_than)(new Date(e)).getUTCFullYear(),n=(0,s.last_year_no_later_than)(new Date(t)).getUTCFullYear();return{major:this.basic_ticker.get_ticks_no_defaults(r,n,a,i).major.map((e=>Date.UTC(e,0,1))).filter((a=>e<=a&&a<=t)),minor:[]}}}a.YearsTicker=c,c.__name__=\"YearsTicker\"},\n function _(e,o,i,s,t){var n;s();const r=e(143),_=e(163),c=e(164);class a extends r.ContinuousAxisView{}i.LogAxisView=a,a.__name__=\"LogAxisView\";class u extends r.ContinuousAxis{constructor(e){super(e)}}i.LogAxis=u,n=u,u.__name__=\"LogAxis\",n.prototype.default_view=a,n.override({ticker:()=>new c.LogTicker,formatter:()=>new _.LogTickFormatter})},\n function _(e,t,n,o,r){var i;o();const a=e(131),s=e(146),c=e(164),l=e(120),{abs:u,log:x,round:_}=Math;class p extends a.TickFormatter{constructor(e){super(e)}initialize(){super.initialize(),this.basic_formatter=new s.BasicTickFormatter}format_graphics(e,t){var n,o;if(0==e.length)return[];const r=null!==(o=null===(n=this.ticker)||void 0===n?void 0:n.base)&&void 0!==o?o:10,i=this._exponents(e,r);return null==i?this.basic_formatter.format_graphics(e,t):i.map((e=>{if(u(e)u(e)({ticker:[n(t(c.LogTicker)),null],min_exponent:[e,0]})))},\n function _(t,o,e,s,n){var r;s();const i=t(148),a=t(9);class c extends i.AdaptiveTicker{constructor(t){super(t)}get_ticks_no_defaults(t,o,e,s){const n=this.num_minor_ticks,r=[],i=this.base,c=Math.log(t)/Math.log(i),f=Math.log(o)/Math.log(i),l=f-c;let h;if(isFinite(l))if(l<2){const e=this.get_interval(t,o,s),i=Math.floor(t/e),c=Math.ceil(o/e);if(h=(0,a.range)(i,c+1).filter((t=>0!=t)).map((t=>t*e)).filter((e=>t<=e&&e<=o)),n>0&&h.length>0){const t=e/n,o=(0,a.range)(0,n).map((o=>o*t));for(const t of o.slice(1))r.push(h[0]-t);for(const t of h)for(const e of o)r.push(t+e)}}else{const t=Math.ceil(.999999*c),o=Math.floor(1.000001*f),e=Math.ceil((o-t)/9);if(h=(0,a.range)(t-1,o+1,e).map((t=>i**t)),n>0&&h.length>0){const t=i**e/n,o=(0,a.range)(1,n+1).map((o=>o*t));for(const t of o)r.push(h[0]/t);r.push(h[0]);for(const t of h)for(const e of o)r.push(t*e)}}else h=[];return{major:h.filter((e=>t<=e&&e<=o)),minor:r.filter((e=>t<=e&&e<=o))}}}e.LogTicker=c,r=c,c.__name__=\"LogTicker\",r.override({mantissas:[1,5]})},\n function _(e,r,t,i,a){var o;i();const s=e(128),c=e(145),n=e(166),_=e(167);class x extends s.AxisView{}t.MercatorAxisView=x,x.__name__=\"MercatorAxisView\";class d extends c.LinearAxis{constructor(e){super(e)}}t.MercatorAxis=d,o=d,d.__name__=\"MercatorAxis\",o.prototype.default_view=x,o.override({ticker:()=>new _.MercatorTicker({dimension:\"lat\"}),formatter:()=>new n.MercatorTickFormatter({dimension:\"lat\"})})},\n function _(r,t,e,o,n){var i;o();const c=r(146),s=r(20),a=r(78);class l extends c.BasicTickFormatter{constructor(r){super(r)}doFormat(r,t){if(null==this.dimension)throw new Error(\"MercatorTickFormatter.dimension not configured\");if(0==r.length)return[];const e=r.length,o=new Array(e);if(\"lon\"==this.dimension)for(let n=0;n({dimension:[r(s.LatLon),null]})))},\n function _(t,o,n,s,r){var e;s();const i=t(147),c=t(20),_=t(78);class a extends i.BasicTicker{constructor(t){super(t)}get_ticks_no_defaults(t,o,n,s){if(null==this.dimension)throw new Error(`${this}.dimension wasn't configured`);return[t,o]=(0,_.clip_mercator)(t,o,this.dimension),\"lon\"==this.dimension?this._get_ticks_lon(t,o,n,s):this._get_ticks_lat(t,o,n,s)}_get_ticks_lon(t,o,n,s){const[r]=_.wgs84_mercator.invert(t,n),[e,i]=_.wgs84_mercator.invert(o,n),c=super.get_ticks_no_defaults(r,e,n,s),a=[];for(const t of c.major)if((0,_.in_bounds)(t,\"lon\")){const[o]=_.wgs84_mercator.compute(t,i);a.push(o)}const m=[];for(const t of c.minor)if((0,_.in_bounds)(t,\"lon\")){const[o]=_.wgs84_mercator.compute(t,i);m.push(o)}return{major:a,minor:m}}_get_ticks_lat(t,o,n,s){const[,r]=_.wgs84_mercator.invert(n,t),[e,i]=_.wgs84_mercator.invert(n,o),c=super.get_ticks_no_defaults(r,i,n,s),a=[];for(const t of c.major)if((0,_.in_bounds)(t,\"lat\")){const[,o]=_.wgs84_mercator.compute(e,t);a.push(o)}const m=[];for(const t of c.minor)if((0,_.in_bounds)(t,\"lat\")){const[,o]=_.wgs84_mercator.compute(e,t);m.push(o)}return{major:a,minor:m}}}n.MercatorTicker=a,e=a,a.__name__=\"MercatorTicker\",e.define((({Nullable:t})=>({dimension:[t(c.LatLon),null]})))},\n function _(e,i,r,c,k){c(),k(\"AdaptiveTicker\",e(148).AdaptiveTicker),k(\"BasicTicker\",e(147).BasicTicker),k(\"CategoricalTicker\",e(141).CategoricalTicker),k(\"CompositeTicker\",e(156).CompositeTicker),k(\"ContinuousTicker\",e(149).ContinuousTicker),k(\"DatetimeTicker\",e(155).DatetimeTicker),k(\"DaysTicker\",e(157).DaysTicker),k(\"FixedTicker\",e(169).FixedTicker),k(\"LogTicker\",e(164).LogTicker),k(\"MercatorTicker\",e(167).MercatorTicker),k(\"MonthsTicker\",e(160).MonthsTicker),k(\"SingleIntervalTicker\",e(158).SingleIntervalTicker),k(\"Ticker\",e(130).Ticker),k(\"YearsTicker\",e(161).YearsTicker),k(\"BinnedTicker\",e(170).BinnedTicker)},\n function _(r,t,e,i,n){var s;i();const _=r(149);class c extends _.ContinuousTicker{constructor(r){super(r)}get_ticks_no_defaults(r,t,e,i){return{major:this.ticks,minor:this.minor_ticks}}get_interval(r,t,e){return 0}get_min_interval(){return 0}get_max_interval(){return 0}}e.FixedTicker=c,s=c,c.__name__=\"FixedTicker\",s.define((({Number:r,Array:t})=>({ticks:[t(r),[]],minor_ticks:[t(r),[]]})))},\n function _(e,n,t,r,i){var o;r();const a=e(130),s=e(171),c=e(12);class m extends a.Ticker{constructor(e){super(e)}get_ticks(e,n,t,r){const{binning:i}=this.mapper.metrics,o=Math.max(0,(0,c.left_edge_index)(e,i)),a=Math.min((0,c.left_edge_index)(n,i)+1,i.length-1),s=[];for(let e=o;e<=a;e++)s.push(i[e]);const{num_major_ticks:m}=this,_=[],h=\"auto\"==m?s.length:m,l=Math.max(1,Math.floor(s.length/h));for(let e=0;e({mapper:[n(s.ScanningColorMapper)],num_major_ticks:[t(e,r),8]})))},\n function _(n,e,i,r,o){r();const t=n(172),a=n(12);class c extends t.ContinuousColorMapper{constructor(n){super(n)}cmap(n,e,i,r,o){if(no.binning[o.binning.length-1])return r;return e[(0,a.left_edge_index)(n,o.binning)]}}i.ScanningColorMapper=c,c.__name__=\"ScanningColorMapper\"},\n function _(t,e,o,n,s){var l;n();const c=t(173),i=t(175),a=t(9),h=t(8);class r extends c.ColorMapper{constructor(t){super(t),this._scan_data=null}connect_signals(){super.connect_signals();const t=()=>{for(const[t]of this.domain)this.connect(t.view.change,(()=>this.update_data())),this.connect(t.data_source.selected.change,(()=>this.update_data()))};this.connect(this.properties.domain.change,(()=>t())),t()}update_data(){const{domain:t,palette:e}=this,o=[...this._collect(t)];this._scan_data=this.scan(o,e.length),this.metrics_change.emit(),this.change.emit()}get metrics(){return null==this._scan_data&&this.update_data(),this._scan_data}*_collect(t){for(const[e,o]of t)for(const t of(0,h.isArray)(o)?o:[o]){let o=e.data_source.get_column(t);o=e.view.indices.select(o);const n=e.view.masked,s=e.data_source.selected.indices;let l;if(null!=n&&s.length>0?l=(0,a.intersection)([...n],s):null!=n?l=[...n]:s.length>0&&(l=s),null!=l&&(o=(0,a.map)(l,(t=>o[t]))),o.length>0&&!(0,h.isNumber)(o[0]))for(const t of o)yield*t;else yield*o}}_v_compute(t,e,o,n){const{nan_color:s}=n;let{low_color:l,high_color:c}=n;null==l&&(l=o[0]),null==c&&(c=o[o.length-1]);const{domain:i}=this,h=(0,a.is_empty)(i)?t:[...this._collect(i)];this._scan_data=this.scan(h,o.length),this.metrics_change.emit();for(let n=0,i=t.length;n({high:[a(t),null],low:[a(t),null],high_color:[a(n),null],low_color:[a(n),null],domain:[c(l(o(i.GlyphRenderer),s(e,c(e)))),[]]})))},\n function _(e,r,t,n,o){var a;n();const c=e(174),i=e(15),_=e(24),l=e(22),s=e(27);function p(e){return(0,l.encode_rgba)((0,l.color2rgba)(e))}function u(e){const r=new Uint32Array(e.length);for(let t=0,n=e.length;te))),r}get rgba_mapper(){const e=this,r=u(this.palette),t=this._colors(p);return{v_compute(n){const o=new _.ColorArray(n.length);return e._v_compute(n,o,r,t),new Uint8ClampedArray((0,s.to_big_endian)(o).buffer)}}}_colors(e){return{nan_color:e(this.nan_color)}}}t.ColorMapper=h,a=h,h.__name__=\"ColorMapper\",a.define((({Color:e,Array:r})=>({palette:[r(e)],nan_color:[e,\"gray\"]})))},\n function _(r,e,n,s,o){s();const p=r(56);class t extends p.Transform{constructor(r){super(r)}compute(r){throw new Error(\"mapping single values is not supported\")}}n.Mapper=t,t.__name__=\"Mapper\"},\n function _(e,t,i,s,l){var h;s();const n=e(176),o=e(177),a=e(186),c=e(187),_=e(189),r=e(179),d=e(70),p=e(190),g=e(24),u=e(12),y=e(13),m=e(113),v=e(67),f={fill:{},line:{}},w={fill:{fill_alpha:.3,fill_color:\"grey\"},line:{line_alpha:.3,line_color:\"grey\"}},b={fill:{fill_alpha:.2},line:{}},V={fill:{fill_alpha:.2},line:{}};class x extends n.DataRendererView{get glyph_view(){return this.glyph}async lazy_initialize(){var e;await super.lazy_initialize();const t=this.model.glyph;this.glyph=await this.build_glyph_view(t);const i=\"fill\"in this.glyph.visuals,s=\"line\"in this.glyph.visuals,l=Object.assign({},t.attributes);function h(e){const h=(0,y.clone)(l);return i&&(0,y.extend)(h,e.fill),s&&(0,y.extend)(h,e.line),new t.constructor(h)}function n(e,t){return t instanceof r.Glyph?t:h(\"auto\"==t?e:{fill:{},line:{}})}delete l.id;let{selection_glyph:o,nonselection_glyph:a,hover_glyph:c,muted_glyph:_}=this.model;o=n(f,o),this.selection_glyph=await this.build_glyph_view(o),a=n(b,a),this.nonselection_glyph=await this.build_glyph_view(a),null!=c&&(this.hover_glyph=await this.build_glyph_view(c)),_=n(V,_),this.muted_glyph=await this.build_glyph_view(_);const d=n(w,\"auto\");this.decimated_glyph=await this.build_glyph_view(d),this.selection_glyph.set_base(this.glyph),this.nonselection_glyph.set_base(this.glyph),null===(e=this.hover_glyph)||void 0===e||e.set_base(this.glyph),this.muted_glyph.set_base(this.glyph),this.decimated_glyph.set_base(this.glyph),this.set_data()}async build_glyph_view(e){return(0,m.build_view)(e,{parent:this})}remove(){var e;this.glyph.remove(),this.selection_glyph.remove(),this.nonselection_glyph.remove(),null===(e=this.hover_glyph)||void 0===e||e.remove(),this.muted_glyph.remove(),this.decimated_glyph.remove(),super.remove()}connect_signals(){super.connect_signals();const e=()=>this.request_render(),t=()=>this.update_data();this.connect(this.model.change,e),this.connect(this.glyph.model.change,t),this.connect(this.selection_glyph.model.change,t),this.connect(this.nonselection_glyph.model.change,t),null!=this.hover_glyph&&this.connect(this.hover_glyph.model.change,t),this.connect(this.muted_glyph.model.change,t),this.connect(this.decimated_glyph.model.change,t),this.connect(this.model.data_source.change,t),this.connect(this.model.data_source.streaming,t),this.connect(this.model.data_source.patching,(e=>this.update_data(e))),this.connect(this.model.data_source.selected.change,e),this.connect(this.model.data_source._select,e),null!=this.hover_glyph&&this.connect(this.model.data_source.inspect,e),this.connect(this.model.properties.view.change,t),this.connect(this.model.view.properties.indices.change,t),this.connect(this.model.view.properties.masked.change,(()=>this.set_visuals())),this.connect(this.model.properties.visible.change,(()=>this.plot_view.invalidate_dataranges=!0));const{x_ranges:i,y_ranges:s}=this.plot_view.frame;for(const[,e]of i)e instanceof v.FactorRange&&this.connect(e.change,t);for(const[,e]of s)e instanceof v.FactorRange&&this.connect(e.change,t);const{transformchange:l,exprchange:h}=this.model.glyph;this.connect(l,t),this.connect(h,t)}_update_masked_indices(){const e=this.glyph.mask_data();return this.model.view.masked=e,e}update_data(e){this.set_data(e),this.request_render()}set_data(e){const t=this.model.data_source;this.all_indices=this.model.view.indices;const{all_indices:i}=this;this.glyph.set_data(t,i,e),this.set_visuals(),this._update_masked_indices();const{lod_factor:s}=this.plot_model,l=this.all_indices.count;this.decimated=new g.Indices(l);for(let e=0;e!n||n.is_empty()?[]:n.selected_glyph?this.model.view.convert_indices_from_subset(i):n.indices.length>0?n.indices:Object.keys(n.multiline_indices).map((e=>parseInt(e))))()),d=(0,u.filter)(i,(e=>r.has(t[e]))),{lod_threshold:p}=this.plot_model;let g,y,m;if(null!=this.model.document&&this.model.document.interactive_duration()>0&&!e&&null!=p&&t.length>p?(i=[...this.decimated],g=this.decimated_glyph,y=this.decimated_glyph,m=this.selection_glyph):(g=this.model.muted?this.muted_glyph:this.glyph,y=this.nonselection_glyph,m=this.selection_glyph),null!=this.hover_glyph&&d.length){const e=new Set(i);for(const t of d)e.delete(t);i=[...e]}if(h.length){const e={};for(const t of h)e[t]=!0;const l=new Array,n=new Array;if(this.glyph instanceof o.LineView)for(const i of t)null!=e[i]?l.push(i):n.push(i);else for(const s of i)null!=e[t[s]]?l.push(s):n.push(s);y.render(s,n),m.render(s,l),null!=this.hover_glyph&&(this.glyph instanceof o.LineView?this.hover_glyph.render(s,this.model.view.convert_indices_from_subset(d)):this.hover_glyph.render(s,d))}else if(this.glyph instanceof o.LineView)this.hover_glyph&&d.length?this.hover_glyph.render(s,this.model.view.convert_indices_from_subset(d)):g.render(s,t);else if(this.glyph instanceof a.PatchView||this.glyph instanceof c.HAreaView||this.glyph instanceof _.VAreaView)if(0==n.selected_glyphs.length||null==this.hover_glyph)g.render(s,t);else for(const e of n.selected_glyphs)e==this.glyph.model&&this.hover_glyph.render(s,t);else g.render(s,i),this.hover_glyph&&d.length&&this.hover_glyph.render(s,d);s.restore()}draw_legend(e,t,i,s,l,h,n,o){0!=this.glyph.data_size&&(null==o&&(o=this.model.get_reference_point(h,n)),this.glyph.draw_legend_for_index(e,{x0:t,x1:i,y0:s,y1:l},o))}hit_test(e){if(!this.model.visible)return null;const t=this.glyph.hit_test(e);return null==t?null:this.model.view.convert_selection_from_subset(t)}}i.GlyphRendererView=x,x.__name__=\"GlyphRendererView\";class G extends n.DataRenderer{constructor(e){super(e)}initialize(){super.initialize(),this.view.source!=this.data_source&&(this.view.source=this.data_source,this.view.compute_indices())}get_reference_point(e,t){if(null!=e){const i=this.data_source.get_column(e);if(null!=i)for(const[e,s]of Object.entries(this.view.indices_map))if(i[parseInt(e)]==t)return s}return 0}get_selection_manager(){return this.data_source.selection_manager}}i.GlyphRenderer=G,h=G,G.__name__=\"GlyphRenderer\",h.prototype.default_view=x,h.define((({Boolean:e,Auto:t,Or:i,Ref:s,Null:l,Nullable:h})=>({data_source:[s(d.ColumnarDataSource)],view:[s(p.CDSView),e=>new p.CDSView({source:e.data_source})],glyph:[s(r.Glyph)],hover_glyph:[h(s(r.Glyph)),null],nonselection_glyph:[i(s(r.Glyph),t,l),\"auto\"],selection_glyph:[i(s(r.Glyph),t,l),\"auto\"],muted_glyph:[i(s(r.Glyph),t,l),\"auto\"],muted:[e,!1]})))},\n function _(e,r,t,a,n){var s;a();const c=e(41);class _ extends c.RendererView{get xscale(){return this.coordinates.x_scale}get yscale(){return this.coordinates.y_scale}}t.DataRendererView=_,_.__name__=\"DataRendererView\";class i extends c.Renderer{constructor(e){super(e)}get selection_manager(){return this.get_selection_manager()}}t.DataRenderer=i,s=i,i.__name__=\"DataRenderer\",s.override({level:\"glyph\"})},\n function _(e,t,i,s,n){s();const l=e(1);var _;const r=e(178),o=e(184),a=(0,l.__importStar)(e(48)),h=(0,l.__importStar)(e(185)),c=e(72);class d extends r.XYGlyphView{async lazy_initialize(){await super.lazy_initialize();const{webgl:t}=this.renderer.plot_view.canvas_view;if(null==t?void 0:t.regl_wrapper.has_webgl){const{LineGL:i}=await Promise.resolve().then((()=>(0,l.__importStar)(e(426))));this.glglyph=new i(t.regl_wrapper,this)}}_render(e,t,i){const{sx:s,sy:n}=null!=i?i:this;let l=null;const _=e=>null!=l&&e-l!=1;let r=!0;e.beginPath();for(const i of t){const t=s[i],o=n[i];isFinite(t+o)?r||_(i)?(e.moveTo(t,o),r=!1):e.lineTo(t,o):r=!0,l=i}this.visuals.line.set_value(e),e.stroke()}_hit_point(e){const t=new c.Selection,i={x:e.sx,y:e.sy};let s=9999;const n=Math.max(2,this.line_width.value/2);for(let e=0,l=this.sx.length-1;e({x:[c.XCoordinateSpec,{field:\"x\"}],y:[c.YCoordinateSpec,{field:\"y\"}]})))},\n function _(e,t,s,i,n){i();const r=e(1),a=(0,r.__importStar)(e(18)),o=(0,r.__importStar)(e(65)),_=(0,r.__importStar)(e(45)),l=e(42),c=e(53),h=e(19),d=e(24),u=e(8),f=e(180),p=e(12),g=e(26),y=e(181),x=e(67),v=e(72),{abs:b,ceil:m}=Math;class w extends l.View{constructor(){super(...arguments),this._index=null,this._data_size=null,this._nohit_warned=new Set}get renderer(){return this.parent}get has_webgl(){return null!=this.glglyph}get index(){const{_index:e}=this;if(null!=e)return e;throw new Error(`${this}.index_data() wasn't called`)}get data_size(){const{_data_size:e}=this;if(null!=e)return e;throw new Error(`${this}.set_data() wasn't called`)}initialize(){super.initialize(),this.visuals=new _.Visuals(this)}request_render(){this.parent.request_render()}get canvas(){return this.renderer.parent.canvas_view}render(e,t,s){var i;null!=this.glglyph&&(this.renderer.needs_webgl_blit=this.glglyph.render(e,t,null!==(i=this.base)&&void 0!==i?i:this),this.renderer.needs_webgl_blit)||this._render(e,t,null!=s?s:this.base)}has_finished(){return!0}notify_finished(){this.renderer.notify_finished()}_bounds(e){return e}bounds(){return this._bounds(this.index.bbox)}log_bounds(){const{x0:e,x1:t}=this.index.bounds(o.positive_x()),{y0:s,y1:i}=this.index.bounds(o.positive_y());return this._bounds({x0:e,y0:s,x1:t,y1:i})}get_anchor_point(e,t,[s,i]){switch(e){case\"center\":case\"center_center\":{const[e,n]=this.scenterxy(t,s,i);return{x:e,y:n}}default:return null}}scenterx(e,t,s){return this.scenterxy(e,t,s)[0]}scentery(e,t,s){return this.scenterxy(e,t,s)[1]}sdist(e,t,s,i=\"edge\",n=!1){const r=t.length,a=new d.ScreenArray(r),o=e.s_compute;if(\"center\"==i)for(let e=0;em(e))),a}draw_legend_for_index(e,t,s){}hit_test(e){switch(e.type){case\"point\":if(null!=this._hit_point)return this._hit_point(e);break;case\"span\":if(null!=this._hit_span)return this._hit_span(e);break;case\"rect\":if(null!=this._hit_rect)return this._hit_rect(e);break;case\"poly\":if(null!=this._hit_poly)return this._hit_poly(e)}return this._nohit_warned.has(e.type)||(h.logger.debug(`'${e.type}' selection not available for ${this.model.type}`),this._nohit_warned.add(e.type)),null}_hit_rect_against_index(e){const{sx0:t,sx1:s,sy0:i,sy1:n}=e,[r,a]=this.renderer.coordinates.x_scale.r_invert(t,s),[o,_]=this.renderer.coordinates.y_scale.r_invert(i,n),l=[...this.index.indices({x0:r,x1:a,y0:o,y1:_})];return new v.Selection({indices:l})}_project_data(){}*_iter_visuals(){for(const e of this.visuals)for(const t of e)(t instanceof a.VectorSpec||t instanceof a.ScalarSpec)&&(yield t)}set_base(e){e!=this&&e instanceof this.constructor&&(this.base=e)}_configure(e,t){Object.defineProperty(this,(0,u.isString)(e)?e:e.attr,Object.assign({configurable:!0,enumerable:!0},t))}set_visuals(e,t){var s;for(const s of this._iter_visuals()){const{base:i}=this;if(null!=i){const e=i.model.properties[s.attr];if(null!=e&&(0,g.is_equal)(s.get_value(),e.get_value())){this._configure(s,{get:()=>i[`${s.attr}`]});continue}}const n=s.uniform(e).select(t);this._configure(s,{value:n})}for(const e of this.visuals)e.update();null===(s=this.glglyph)||void 0===s||s.set_visuals_changed()}set_data(e,t,s){var i;const{x_source:n,y_source:r}=this.renderer.coordinates,o=new Set(this._iter_visuals());this._data_size=t.count;for(const s of this.model)if((s instanceof a.VectorSpec||s instanceof a.ScalarSpec)&&!o.has(s))if(s instanceof a.BaseCoordinateSpec){const i=s.array(e);let o=t.select(i);const _=\"x\"==s.dimension?n:r;if(_ instanceof x.FactorRange)if(s instanceof a.CoordinateSpec)o=_.v_synthetic(o);else if(s instanceof a.CoordinateSeqSpec)for(let e=0;e{const s=new Uint32Array(r);for(let a=0;a>1;t[s]>i?e=s:n=s+1}return t[n]}class r extends d.default{get boxes(){return this._boxes}search_indices(i,t,n,e){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");let s=this._boxes.length-4;const d=[],x=new o.Indices(this.numItems);for(;void 0!==s;){const o=Math.min(s+4*this.nodeSize,h(s,this._levelBounds));for(let h=s;h>2],r=this._boxes[h+0],l=this._boxes[h+1],a=this._boxes[h+2],_=this._boxes[h+3];na||t>_||(s<4*this.numItems?x.set(o):d.push(o)))}s=d.pop()}return x}}r.__name__=\"_FlatBush\";class l{constructor(i){this.index=null,i>0&&(this.index=new r(i))}add_rect(i,t,n,e){var s;isFinite(i+t+n+e)?null===(s=this.index)||void 0===s||s.add(i,t,n,e):this.add_empty()}add_point(i,t){var n;isFinite(i+t)?null===(n=this.index)||void 0===n||n.add(i,t,i,t):this.add_empty()}add_empty(){var i;null===(i=this.index)||void 0===i||i.add(1/0,1/0,-1/0,-1/0)}finish(){var i;null===(i=this.index)||void 0===i||i.finish()}_normalize(i){let{x0:t,y0:n,x1:e,y1:s}=i;return t>e&&([t,e]=[e,t]),n>s&&([n,s]=[s,n]),{x0:t,y0:n,x1:e,y1:s}}get bbox(){if(null==this.index)return(0,x.empty)();{const{minX:i,minY:t,maxX:n,maxY:e}=this.index;return{x0:i,y0:t,x1:n,y1:e}}}indices(i){if(null==this.index)return new o.Indices(0);{const{x0:t,y0:n,x1:e,y1:s}=this._normalize(i);return this.index.search_indices(t,n,e,s)}}bounds(i){const t=(0,x.empty)();if(null==this.index)return t;const{boxes:n}=this.index;for(const e of this.indices(i)){const s=n[4*e+0],d=n[4*e+1],o=n[4*e+2],x=n[4*e+3];s>=i.x0&&st.x1&&(t.x1=o),d>=i.y0&&dt.y1&&(t.y1=x)}return t}}n.SpatialIndex=l,l.__name__=\"SpatialIndex\"},\n function _(t,s,i,e,h){e();const n=(0,t(1).__importDefault)(t(183)),o=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class r{static from(t){if(!(t instanceof ArrayBuffer))throw new Error(\"Data must be an instance of ArrayBuffer.\");const[s,i]=new Uint8Array(t,0,2);if(251!==s)throw new Error(\"Data does not appear to be in a Flatbush format.\");if(i>>4!=3)throw new Error(`Got v${i>>4} data when expected v3.`);const[e]=new Uint16Array(t,2,1),[h]=new Uint32Array(t,4,1);return new r(h,e,o[15&i],t)}constructor(t,s=16,i=Float64Array,e){if(void 0===t)throw new Error(\"Missing required argument: numItems.\");if(isNaN(t)||t<=0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+s,2),65535);let h=t,r=h;this._levelBounds=[4*h];do{h=Math.ceil(h/this.nodeSize),r+=h,this._levelBounds.push(4*r)}while(1!==h);this.ArrayType=i||Float64Array,this.IndexArrayType=r<16384?Uint16Array:Uint32Array;const a=o.indexOf(this.ArrayType),_=4*r*this.ArrayType.BYTES_PER_ELEMENT;if(a<0)throw new Error(`Unexpected typed array class: ${i}.`);e&&e instanceof ArrayBuffer?(this.data=e,this._boxes=new this.ArrayType(this.data,8,4*r),this._indices=new this.IndexArrayType(this.data,8+_,r),this._pos=4*r,this.minX=this._boxes[this._pos-4],this.minY=this._boxes[this._pos-3],this.maxX=this._boxes[this._pos-2],this.maxY=this._boxes[this._pos-1]):(this.data=new ArrayBuffer(8+_+r*this.IndexArrayType.BYTES_PER_ELEMENT),this._boxes=new this.ArrayType(this.data,8,4*r),this._indices=new this.IndexArrayType(this.data,8+_,r),this._pos=0,this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,new Uint8Array(this.data,0,2).set([251,48+a]),new Uint16Array(this.data,2,1)[0]=s,new Uint32Array(this.data,4,1)[0]=t),this._queue=new n.default}add(t,s,i,e){const h=this._pos>>2;return this._indices[h]=h,this._boxes[this._pos++]=t,this._boxes[this._pos++]=s,this._boxes[this._pos++]=i,this._boxes[this._pos++]=e,tthis.maxX&&(this.maxX=i),e>this.maxY&&(this.maxY=e),h}finish(){if(this._pos>>2!==this.numItems)throw new Error(`Added ${this._pos>>2} items when expected ${this.numItems}.`);if(this.numItems<=this.nodeSize)return this._boxes[this._pos++]=this.minX,this._boxes[this._pos++]=this.minY,this._boxes[this._pos++]=this.maxX,void(this._boxes[this._pos++]=this.maxY);const t=this.maxX-this.minX,s=this.maxY-this.minY,i=new Uint32Array(this.numItems);for(let e=0;e>2]=t,this._boxes[this._pos++]=e,this._boxes[this._pos++]=h,this._boxes[this._pos++]=n,this._boxes[this._pos++]=o}}}search(t,s,i,e,h){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");let n=this._boxes.length-4;const o=[],r=[];for(;void 0!==n;){const a=Math.min(n+4*this.nodeSize,_(n,this._levelBounds));for(let _=n;_>2];ithis._boxes[_+2]||s>this._boxes[_+3]||(n<4*this.numItems?(void 0===h||h(a))&&r.push(a):o.push(a)))}n=o.pop()}return r}neighbors(t,s,i=1/0,e=1/0,h){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");let n=this._boxes.length-4;const o=this._queue,r=[],x=e*e;for(;void 0!==n;){const e=Math.min(n+4*this.nodeSize,_(n,this._levelBounds));for(let i=n;i>2],r=a(t,this._boxes[i],this._boxes[i+2]),_=a(s,this._boxes[i+1],this._boxes[i+3]),x=r*r+_*_;n<4*this.numItems?(void 0===h||h(e))&&o.push(-e-1,x):o.push(e,x)}for(;o.length&&o.peek()<0;){if(o.peekValue()>x)return o.clear(),r;if(r.push(-o.pop()-1),r.length===i)return o.clear(),r}n=o.pop()}return o.clear(),r}}function a(t,s,i){return t>1;s[h]>t?e=h:i=h+1}return s[i]}function x(t,s,i,e,h,n){if(Math.floor(e/n)>=Math.floor(h/n))return;const o=t[e+h>>1];let r=e-1,a=h+1;for(;;){do{r++}while(t[r]o);if(r>=a)break;d(t,s,i,r,a)}x(t,s,i,e,a,n),x(t,s,i,a+1,h,n)}function d(t,s,i,e,h){const n=t[e];t[e]=t[h],t[h]=n;const o=4*e,r=4*h,a=s[o],_=s[o+1],x=s[o+2],d=s[o+3];s[o]=s[r],s[o+1]=s[r+1],s[o+2]=s[r+2],s[o+3]=s[r+3],s[r]=a,s[r+1]=_,s[r+2]=x,s[r+3]=d;const m=i[e];i[e]=i[h],i[h]=m}function m(t,s){let i=t^s,e=65535^i,h=65535^(t|s),n=t&(65535^s),o=i|e>>1,r=i>>1^i,a=h>>1^e&n>>1^h,_=i&h>>1^n>>1^n;i=o,e=r,h=a,n=_,o=i&i>>2^e&e>>2,r=i&e>>2^e&(i^e)>>2,a^=i&h>>2^e&n>>2,_^=e&h>>2^(i^e)&n>>2,i=o,e=r,h=a,n=_,o=i&i>>4^e&e>>4,r=i&e>>4^e&(i^e)>>4,a^=i&h>>4^e&n>>4,_^=e&h>>4^(i^e)&n>>4,i=o,e=r,h=a,n=_,a^=i&h>>8^e&n>>8,_^=e&h>>8^(i^e)&n>>8,i=a^a>>1,e=_^_>>1;let x=t^s,d=e|65535^(x|i);return x=16711935&(x|x<<8),x=252645135&(x|x<<4),x=858993459&(x|x<<2),x=1431655765&(x|x<<1),d=16711935&(d|d<<8),d=252645135&(d|d<<4),d=858993459&(d|d<<2),d=1431655765&(d|d<<1),(d<<1|x)>>>0}i.default=r},\n function _(s,t,i,h,e){h();i.default=class{constructor(){this.ids=[],this.values=[],this.length=0}clear(){this.length=0}push(s,t){let i=this.length++;for(this.ids[i]=s,this.values[i]=t;i>0;){const s=i-1>>1,h=this.values[s];if(t>=h)break;this.ids[i]=this.ids[s],this.values[i]=h,i=s}this.ids[i]=s,this.values[i]=t}pop(){if(0===this.length)return;const s=this.ids[0];if(this.length--,this.length>0){const s=this.ids[0]=this.ids[this.length],t=this.values[0]=this.values[this.length],i=this.length>>1;let h=0;for(;h=t)break;this.ids[h]=e,this.values[h]=l,h=s}this.ids[h]=s,this.values[h]=t}return s}peek(){if(0!==this.length)return this.ids[0]}peekValue(){if(0!==this.length)return this.values[0]}}},\n function _(e,n,a,t,i){t();const l=(0,e(1).__importStar)(e(185));function r(e,n,{x0:a,x1:t,y0:i,y1:l},r){n.save(),n.beginPath(),n.moveTo(a,(i+l)/2),n.lineTo(t,(i+l)/2),e.line.apply(n,r),n.restore()}function c(e,n,{x0:a,x1:t,y0:i,y1:l},r){var c,o;const _=.1*Math.abs(t-a),s=.1*Math.abs(l-i),y=a+_,p=t-_,g=i+s,h=l-s;n.beginPath(),n.rect(y,g,p-y,h-g),e.fill.apply(n,r),null===(c=e.hatch)||void 0===c||c.apply(n,r),null===(o=e.line)||void 0===o||o.apply(n,r)}a.generic_line_scalar_legend=function(e,n,{x0:a,x1:t,y0:i,y1:l}){n.save(),n.beginPath(),n.moveTo(a,(i+l)/2),n.lineTo(t,(i+l)/2),e.line.apply(n),n.restore()},a.generic_line_vector_legend=r,a.generic_line_legend=r,a.generic_area_scalar_legend=function(e,n,{x0:a,x1:t,y0:i,y1:l}){var r,c;const o=.1*Math.abs(t-a),_=.1*Math.abs(l-i),s=a+o,y=t-o,p=i+_,g=l-_;n.beginPath(),n.rect(s,p,y-s,g-p),e.fill.apply(n),null===(r=e.hatch)||void 0===r||r.apply(n),null===(c=e.line)||void 0===c||c.apply(n)},a.generic_area_vector_legend=c,a.generic_area_legend=c,a.line_interpolation=function(e,n,a,t,i,r){const{sx:c,sy:o}=n;let _,s,y,p;\"point\"==n.type?([y,p]=e.yscale.r_invert(o-1,o+1),[_,s]=e.xscale.r_invert(c-1,c+1)):\"v\"==n.direction?([y,p]=e.yscale.r_invert(o,o),[_,s]=[Math.min(a-1,i-1),Math.max(a+1,i+1)]):([_,s]=e.xscale.r_invert(c,c),[y,p]=[Math.min(t-1,r-1),Math.max(t+1,r+1)]);const{x:g,y:h}=l.check_2_segments_intersect(_,y,s,p,a,t,i,r);return[g,h]}},\n function _(t,n,e,i,r){function s(t,n){return(t.x-n.x)**2+(t.y-n.y)**2}function o(t,n,e){const i=s(n,e);if(0==i)return s(t,n);const r=((t.x-n.x)*(e.x-n.x)+(t.y-n.y)*(e.y-n.y))/i;if(r<0)return s(t,n);if(r>1)return s(t,e);return s(t,{x:n.x+r*(e.x-n.x),y:n.y+r*(e.y-n.y)})}i(),e.point_in_poly=function(t,n,e,i){let r=!1,s=e[e.length-1],o=i[i.length-1];for(let u=0;u0&&_<1&&h>0&&h<1,x:t+_*(e-t),y:n+_*(i-n)}}}},\n function _(t,s,e,i,a){i();const l=t(1);var n;const _=t(178),o=t(184),c=(0,l.__importStar)(t(185)),h=(0,l.__importStar)(t(48)),r=t(72);class p extends _.XYGlyphView{_render(t,s,e){const{sx:i,sy:a}=null!=e?e:this;let l=!0;t.beginPath();for(const e of s){const s=i[e],n=a[e];isFinite(s+n)?l?(t.moveTo(s,n),l=!1):t.lineTo(s,n):(t.closePath(),l=!0)}t.closePath(),this.visuals.fill.apply(t),this.visuals.hatch.apply(t),this.visuals.line.apply(t)}draw_legend_for_index(t,s,e){(0,o.generic_area_scalar_legend)(this.visuals,t,s)}_hit_point(t){const s=new r.Selection;return c.point_in_poly(t.sx,t.sy,this.sx,this.sy)&&(s.add_to_selected_glyphs(this.model),s.view=this),s}}e.PatchView=p,p.__name__=\"PatchView\";class d extends _.XYGlyph{constructor(t){super(t)}}e.Patch=d,n=d,d.__name__=\"Patch\",n.prototype.default_view=p,n.mixins([h.LineScalar,h.FillScalar,h.HatchScalar])},\n function _(t,s,e,i,n){i();const h=t(1);var r;const a=t(188),_=(0,h.__importStar)(t(185)),o=(0,h.__importStar)(t(18)),l=t(72);class c extends a.AreaView{_index_data(t){const{min:s,max:e}=Math,{data_size:i}=this;for(let n=0;n=0;s--)t.lineTo(n[s],h[s]);t.closePath(),this.visuals.fill.apply(t),this.visuals.hatch.apply(t)}_hit_point(t){const s=this.sy.length,e=new l.Selection;for(let i=0,n=s-1;i({x1:[o.XCoordinateSpec,{field:\"x1\"}],x2:[o.XCoordinateSpec,{field:\"x2\"}],y:[o.YCoordinateSpec,{field:\"y\"}]})))},\n function _(e,a,r,_,s){_();const n=e(1);var c;const i=e(179),l=e(184),t=(0,n.__importStar)(e(48));class o extends i.GlyphView{draw_legend_for_index(e,a,r){(0,l.generic_area_scalar_legend)(this.visuals,e,a)}}r.AreaView=o,o.__name__=\"AreaView\";class d extends i.Glyph{constructor(e){super(e)}}r.Area=d,c=d,d.__name__=\"Area\",c.mixins([t.FillScalar,t.HatchScalar])},\n function _(t,s,e,i,n){i();const h=t(1);var r;const a=t(188),_=(0,h.__importStar)(t(185)),o=(0,h.__importStar)(t(18)),l=t(72);class c extends a.AreaView{_index_data(t){const{min:s,max:e}=Math,{data_size:i}=this;for(let n=0;n=0;s--)t.lineTo(i[s],h[s]);t.closePath(),this.visuals.fill.apply(t),this.visuals.hatch.apply(t)}scenterxy(t){return[this.sx[t],(this.sy1[t]+this.sy2[t])/2]}_hit_point(t){const s=this.sx.length,e=new l.Selection;for(let i=0,n=s-1;i({x:[o.XCoordinateSpec,{field:\"x\"}],y1:[o.YCoordinateSpec,{field:\"y1\"}],y2:[o.YCoordinateSpec,{field:\"y2\"}]})))},\n function _(e,i,s,t,n){var c;t();const o=e(53),r=e(24),u=e(191),_=e(70);class a extends o.Model{constructor(e){super(e)}initialize(){super.initialize(),this.compute_indices()}connect_signals(){super.connect_signals(),this.connect(this.properties.filters.change,(()=>this.compute_indices()));const e=()=>{const e=()=>this.compute_indices();null!=this.source&&(this.connect(this.source.change,e),this.source instanceof _.ColumnarDataSource&&(this.connect(this.source.streaming,e),this.connect(this.source.patching,e)))};let i=null!=this.source;i?e():this.connect(this.properties.source.change,(()=>{i||(e(),i=!0)}))}compute_indices(){var e;const{source:i}=this;if(null==i)return;const s=null!==(e=i.get_length())&&void 0!==e?e:1,t=r.Indices.all_set(s);for(const e of this.filters)t.intersect(e.compute_indices(i));this.indices=t,this._indices=[...t],this.indices_map_to_subset()}indices_map_to_subset(){this.indices_map={};for(let e=0;ethis._indices[e]))}convert_selection_to_subset(e){return e.map((e=>this.indices_map[e]))}convert_indices_from_subset(e){return e.map((e=>this._indices[e]))}}s.CDSView=a,c=a,a.__name__=\"CDSView\",c.define((({Array:e,Ref:i})=>({filters:[e(i(u.Filter)),[]],source:[i(_.ColumnarDataSource)]}))),c.internal((({Int:e,Dict:i,Ref:s,Nullable:t})=>({indices:[s(r.Indices)],indices_map:[i(e),{}],masked:[t(s(r.Indices)),null]})))},\n function _(e,t,n,s,c){s();const o=e(53);class r extends o.Model{constructor(e){super(e)}}n.Filter=r,r.__name__=\"Filter\"},\n function _(t,r,a,e,c){e(),c(\"BasicTickFormatter\",t(146).BasicTickFormatter),c(\"CategoricalTickFormatter\",t(142).CategoricalTickFormatter),c(\"DatetimeTickFormatter\",t(150).DatetimeTickFormatter),c(\"FuncTickFormatter\",t(193).FuncTickFormatter),c(\"LogTickFormatter\",t(163).LogTickFormatter),c(\"MercatorTickFormatter\",t(166).MercatorTickFormatter),c(\"NumeralTickFormatter\",t(194).NumeralTickFormatter),c(\"PrintfTickFormatter\",t(195).PrintfTickFormatter),c(\"TickFormatter\",t(131).TickFormatter)},\n function _(t,e,n,s,r){var c;s();const i=t(131),a=t(13),u=t(34);class o extends i.TickFormatter{constructor(t){super(t)}get names(){return(0,a.keys)(this.args)}get values(){return(0,a.values)(this.args)}_make_func(){const t=(0,u.use_strict)(this.code);return new Function(\"tick\",\"index\",\"ticks\",...this.names,t)}doFormat(t,e){const n=this._make_func().bind({});return t.map(((t,e,s)=>`${n(t,e,s,...this.values)}`))}}n.FuncTickFormatter=o,c=o,o.__name__=\"FuncTickFormatter\",c.define((({Unknown:t,String:e,Dict:n})=>({args:[n(t),{}],code:[e,\"\"]})))},\n function _(r,n,t,o,e){o();var a;const u=(0,r(1).__importStar)(r(153)),c=r(131),i=r(20);class s extends c.TickFormatter{constructor(r){super(r)}get _rounding_fn(){switch(this.rounding){case\"round\":case\"nearest\":return Math.round;case\"floor\":case\"rounddown\":return Math.floor;case\"ceil\":case\"roundup\":return Math.ceil}}doFormat(r,n){const{format:t,language:o,_rounding_fn:e}=this;return r.map((r=>u.format(r,t,o,e)))}}t.NumeralTickFormatter=s,a=s,s.__name__=\"NumeralTickFormatter\",a.define((({String:r})=>({format:[r,\"0,0\"],language:[r,\"en\"],rounding:[i.RoundingFunction,\"round\"]})))},\n function _(t,r,n,o,a){var e;o();const i=t(131),s=t(152);class c extends i.TickFormatter{constructor(t){super(t)}doFormat(t,r){return t.map((t=>(0,s.sprintf)(this.format,t)))}}n.PrintfTickFormatter=c,e=c,c.__name__=\"PrintfTickFormatter\",e.define((({String:t})=>({format:[t,\"%s\"]})))},\n function _(r,o,a,p,e){p(),e(\"CategoricalColorMapper\",r(197).CategoricalColorMapper),e(\"CategoricalMarkerMapper\",r(199).CategoricalMarkerMapper),e(\"CategoricalPatternMapper\",r(200).CategoricalPatternMapper),e(\"ContinuousColorMapper\",r(172).ContinuousColorMapper),e(\"ColorMapper\",r(173).ColorMapper),e(\"LinearColorMapper\",r(201).LinearColorMapper),e(\"LogColorMapper\",r(202).LogColorMapper),e(\"ScanningColorMapper\",r(171).ScanningColorMapper),e(\"EqHistColorMapper\",r(203).EqHistColorMapper)},\n function _(t,o,r,a,e){var c;a();const s=t(198),l=t(173),n=t(67);class _ extends l.ColorMapper{constructor(t){super(t)}_v_compute(t,o,r,{nan_color:a}){(0,s.cat_v_compute)(t,this.factors,r,o,this.start,this.end,a)}}r.CategoricalColorMapper=_,c=_,_.__name__=\"CategoricalColorMapper\",c.define((({Number:t,Nullable:o})=>({factors:[n.FactorSeq],start:[t,0],end:[o(t),null]})))},\n function _(n,t,e,l,i){l();const c=n(12),u=n(8);function f(n,t){if(n.length!=t.length)return!1;for(let e=0,l=n.length;ef(n,h)))),s=_<0||_>=e.length?r:e[_],l[g]=s}}},\n function _(e,r,a,t,s){var c;t();const l=e(198),n=e(67),u=e(174),o=e(20);class p extends u.Mapper{constructor(e){super(e)}v_compute(e){const r=new Array(e.length);return(0,l.cat_v_compute)(e,this.factors,this.markers,r,this.start,this.end,this.default_value),r}}a.CategoricalMarkerMapper=p,c=p,p.__name__=\"CategoricalMarkerMapper\",c.define((({Number:e,Array:r,Nullable:a})=>({factors:[n.FactorSeq],markers:[r(o.MarkerType)],start:[e,0],end:[a(e),null],default_value:[o.MarkerType,\"circle\"]})))},\n function _(t,e,a,r,n){var s;r();const c=t(198),l=t(67),p=t(174),u=t(20);class o extends p.Mapper{constructor(t){super(t)}v_compute(t){const e=new Array(t.length);return(0,c.cat_v_compute)(t,this.factors,this.patterns,e,this.start,this.end,this.default_value),e}}a.CategoricalPatternMapper=o,s=o,o.__name__=\"CategoricalPatternMapper\",s.define((({Number:t,Array:e,Nullable:a})=>({factors:[l.FactorSeq],patterns:[e(u.HatchPatternType)],start:[t,0],end:[a(t),null],default_value:[u.HatchPatternType,\" \"]})))},\n function _(n,r,o,t,a){t();const e=n(172),i=n(12);class s extends e.ContinuousColorMapper{constructor(n){super(n)}scan(n,r){const o=null!=this.low?this.low:(0,i.min)(n),t=null!=this.high?this.high:(0,i.max)(n);return{max:t,min:o,norm_factor:1/(t-o),normed_interval:1/r}}cmap(n,r,o,t,a){const e=r.length-1;if(n==a.max)return r[e];const i=(n-a.min)*a.norm_factor,s=Math.floor(i/a.normed_interval);return s<0?o:s>e?t:r[s]}}o.LinearColorMapper=s,s.__name__=\"LinearColorMapper\"},\n function _(o,t,n,r,l){r();const a=o(172),s=o(12);class e extends a.ContinuousColorMapper{constructor(o){super(o)}scan(o,t){const n=null!=this.low?this.low:(0,s.min)(o),r=null!=this.high?this.high:(0,s.max)(o);return{max:r,min:n,scale:t/(Math.log(r)-Math.log(n))}}cmap(o,t,n,r,l){const a=t.length-1;if(o>l.max)return r;if(o==l.max)return t[a];if(oa&&(e=a),t[e]}}n.LogColorMapper=e,e.__name__=\"LogColorMapper\"},\n function _(e,n,s,t,l){var i;t();const r=e(171),o=e(12),c=e(9);class a extends r.ScanningColorMapper{constructor(e){super(e)}scan(e,n){let s=null!=this.low?this.low:(0,o.min)(e);const t=null!=this.high?this.high:(0,o.max)(e),l=this.bins,i=(0,c.linspace)(s,t,l+1),r=(0,o.bin_counts)(e,i);let a=0;for(let e=0;e1&&(f=1-n)}const d=(0,c.linspace)(f,1,n+1),g=(0,o.interpolate)(d,p,_);return this.rescale_discrete_levels?s=g[0]:g[0]=s,g[g.length-1]=t,{min:s,max:t,binning:g}}}s.EqHistColorMapper=a,i=a,a.__name__=\"EqHistColorMapper\",i.define((({Boolean:e,Int:n})=>({bins:[n,65536],rescale_discrete_levels:[e,!1]})))},\n function _(a,e,l,c,n){c(),n(\"CategoricalScale\",a(62).CategoricalScale),n(\"ContinuousScale\",a(60).ContinuousScale),n(\"LinearScale\",a(59).LinearScale),n(\"LinearInterpolationScale\",a(205).LinearInterpolationScale),n(\"LogScale\",a(61).LogScale),n(\"Scale\",a(55).Scale)},\n function _(e,r,n,t,a){var i;t();const s=e(55),o=e(59),c=e(12);class _ extends s.Scale{constructor(e){super(e)}connect_signals(){super.connect_signals();const{source_range:e,target_range:r}=this.properties;this.on_change([e,r],(()=>{this.linear_scale=new o.LinearScale({source_range:this.source_range,target_range:this.target_range})}))}get s_compute(){throw new Error(\"not implemented\")}get s_invert(){throw new Error(\"not implemented\")}compute(e){return e}v_compute(e){const{binning:r}=this,{start:n,end:t}=this.source_range,a=n,i=t,s=r.length,o=(t-n)/(s-1),_=new Float64Array(s);for(let e=0;e{if(ei)return i;const n=(0,c.left_edge_index)(e,r);if(-1==n)return a;if(n>=s-1)return i;const t=r[n],o=(e-t)/(r[n+1]-t),l=_[n];return l+o*(_[n+1]-l)}));return this.linear_scale.v_compute(l)}invert(e){return e}v_invert(e){return new Float64Array(e)}}n.LinearInterpolationScale=_,i=_,_.__name__=\"LinearInterpolationScale\",i.internal((({Arrayable:e,Ref:r})=>({binning:[e],linear_scale:[r(o.LinearScale),e=>new o.LinearScale({source_range:e.source_range,target_range:e.target_range})]})))},\n function _(a,n,e,g,R){g(),R(\"DataRange\",a(64).DataRange),R(\"DataRange1d\",a(63).DataRange1d),R(\"FactorRange\",a(67).FactorRange),R(\"Range\",a(57).Range),R(\"Range1d\",a(58).Range1d)},\n function _(a,o,i,t,e){t();var n=a(124);e(\"Sizeable\",n.Sizeable),e(\"SizingPolicy\",n.SizingPolicy);var c=a(125);e(\"Layoutable\",c.Layoutable),e(\"LayoutItem\",c.LayoutItem);var r=a(208);e(\"HStack\",r.HStack),e(\"VStack\",r.VStack);var l=a(209);e(\"Grid\",l.Grid),e(\"Row\",l.Row),e(\"Column\",l.Column);var S=a(210);e(\"ContentBox\",S.ContentBox),e(\"VariadicBox\",S.VariadicBox)},\n function _(t,e,h,i,r){i();const n=t(125),o=t(65);class s extends n.Layoutable{constructor(){super(...arguments),this.children=[]}*[Symbol.iterator](){yield*this.children}}h.Stack=s,s.__name__=\"Stack\";class c extends s{_measure(t){let e=0,h=0;for(const t of this.children){const i=t.measure({width:0,height:0});e+=i.width,h=Math.max(h,i.height)}return{width:e,height:h}}_set_geometry(t,e){super._set_geometry(t,e);const h=this.absolute?t.top:0;let i=this.absolute?t.left:0;const{height:r}=t;for(const t of this.children){const{width:e}=t.measure({width:0,height:0});t.set_geometry(new o.BBox({left:i,width:e,top:h,height:r})),i+=e}}}h.HStack=c,c.__name__=\"HStack\";class a extends s{_measure(t){let e=0,h=0;for(const t of this.children){const i=t.measure({width:0,height:0});e=Math.max(e,i.width),h+=i.height}return{width:e,height:h}}_set_geometry(t,e){super._set_geometry(t,e);const h=this.absolute?t.left:0;let i=this.absolute?t.top:0;const{width:r}=t;for(const t of this.children){const{height:e}=t.measure({width:0,height:0});t.set_geometry(new o.BBox({top:i,height:e,left:h,width:r})),i+=e}}}h.VStack=a,a.__name__=\"VStack\";class l extends n.Layoutable{constructor(){super(...arguments),this.children=[]}*[Symbol.iterator](){yield*this.children}_measure(t){const{width_policy:e,height_policy:h}=this.sizing,{min:i,max:r}=Math;let n=0,o=0;for(const e of this.children){const{width:h,height:i}=e.measure(t);n=r(n,h),o=r(o,i)}return{width:(()=>{const{width:h}=this.sizing;if(t.width==1/0)return\"fixed\"==e&&null!=h?h:n;switch(e){case\"fixed\":return null!=h?h:n;case\"min\":return n;case\"fit\":return null!=h?i(t.width,h):t.width;case\"max\":return null!=h?r(t.width,h):t.width}})(),height:(()=>{const{height:e}=this.sizing;if(t.height==1/0)return\"fixed\"==h&&null!=e?e:o;switch(h){case\"fixed\":return null!=e?e:o;case\"min\":return o;case\"fit\":return null!=e?i(t.height,e):t.height;case\"max\":return null!=e?r(t.height,e):t.height}})()}}_set_geometry(t,e){super._set_geometry(t,e);const h=this.absolute?t:t.relative(),{left:i,right:r,top:n,bottom:s}=h,c=Math.round(h.vcenter),a=Math.round(h.hcenter);for(const e of this.children){const{margin:h,halign:l,valign:d}=e.sizing,{width:u,height:g,inner:_}=e.measure(t),w=(()=>{switch(`${d}_${l}`){case\"start_start\":return new o.BBox({left:i+h.left,top:n+h.top,width:u,height:g});case\"start_center\":return new o.BBox({hcenter:a,top:n+h.top,width:u,height:g});case\"start_end\":return new o.BBox({right:r-h.right,top:n+h.top,width:u,height:g});case\"center_start\":return new o.BBox({left:i+h.left,vcenter:c,width:u,height:g});case\"center_center\":return new o.BBox({hcenter:a,vcenter:c,width:u,height:g});case\"center_end\":return new o.BBox({right:r-h.right,vcenter:c,width:u,height:g});case\"end_start\":return new o.BBox({left:i+h.left,bottom:s-h.bottom,width:u,height:g});case\"end_center\":return new o.BBox({hcenter:a,bottom:s-h.bottom,width:u,height:g});case\"end_end\":return new o.BBox({right:r-h.right,bottom:s-h.bottom,width:u,height:g})}})(),m=null==_?w:new o.BBox({left:w.left+_.left,top:w.top+_.top,right:w.right-_.right,bottom:w.bottom-_.bottom});e.set_geometry(w,m)}}}h.NodeLayout=l,l.__name__=\"NodeLayout\"},\n function _(t,i,s,e,o){e();const n=t(124),l=t(125),r=t(8),h=t(65),c=t(9),{max:a,round:g}=Math;class p{constructor(t){this.def=t,this._map=new Map}get(t){let i=this._map.get(t);return void 0===i&&(i=this.def(),this._map.set(t,i)),i}apply(t,i){const s=this.get(t);this._map.set(t,i(s))}}p.__name__=\"DefaultMap\";class f{constructor(){this._items=[],this._nrows=0,this._ncols=0}get nrows(){return this._nrows}get ncols(){return this._ncols}add(t,i){const{r1:s,c1:e}=t;this._nrows=a(this._nrows,s+1),this._ncols=a(this._ncols,e+1),this._items.push({span:t,data:i})}at(t,i){return this._items.filter((({span:s})=>s.r0<=t&&t<=s.r1&&s.c0<=i&&i<=s.c1)).map((({data:t})=>t))}row(t){return this._items.filter((({span:i})=>i.r0<=t&&t<=i.r1)).map((({data:t})=>t))}col(t){return this._items.filter((({span:i})=>i.c0<=t&&t<=i.c1)).map((({data:t})=>t))}foreach(t){for(const{span:i,data:s}of this._items)t(i,s)}map(t){const i=new f;for(const{span:s,data:e}of this._items)i.add(s,t(s,e));return i}}f.__name__=\"Container\";class _ extends l.Layoutable{constructor(t=[]){super(),this.items=t,this.rows=\"auto\",this.cols=\"auto\",this.spacing=0}*[Symbol.iterator](){for(const{layout:t}of this.items)yield t}is_width_expanding(){if(super.is_width_expanding())return!0;if(\"fixed\"==this.sizing.width_policy)return!1;const{cols:t}=this._state;return(0,c.some)(t,(t=>\"max\"==t.policy))}is_height_expanding(){if(super.is_height_expanding())return!0;if(\"fixed\"==this.sizing.height_policy)return!1;const{rows:t}=this._state;return(0,c.some)(t,(t=>\"max\"==t.policy))}_init(){var t,i,s,e;super._init();const o=new f;for(const{layout:t,row:i,col:s,row_span:e,col_span:n}of this.items)if(t.sizing.visible){const l=i,r=s,h=i+(null!=e?e:1)-1,c=s+(null!=n?n:1)-1;o.add({r0:l,c0:r,r1:h,c1:c},t)}const{nrows:n,ncols:l}=o,h=new Array(n);for(let s=0;s{var t;const i=(0,r.isPlainObject)(this.rows)?null!==(t=this.rows[s])&&void 0!==t?t:this.rows[\"*\"]:this.rows;return null==i?{policy:\"auto\"}:(0,r.isNumber)(i)?{policy:\"fixed\",height:i}:(0,r.isString)(i)?{policy:i}:i})(),n=null!==(t=e.align)&&void 0!==t?t:\"auto\";if(\"fixed\"==e.policy)h[s]={policy:\"fixed\",height:e.height,align:n};else if(\"min\"==e.policy)h[s]={policy:\"min\",align:n};else if(\"fit\"==e.policy||\"max\"==e.policy)h[s]={policy:e.policy,flex:null!==(i=e.flex)&&void 0!==i?i:1,align:n};else{if(\"auto\"!=e.policy)throw new Error(\"unrechable\");(0,c.some)(o.row(s),(t=>t.is_height_expanding()))?h[s]={policy:\"max\",flex:1,align:n}:h[s]={policy:\"min\",align:n}}}const a=new Array(l);for(let t=0;t{var i;const s=(0,r.isPlainObject)(this.cols)?null!==(i=this.cols[t])&&void 0!==i?i:this.cols[\"*\"]:this.cols;return null==s?{policy:\"auto\"}:(0,r.isNumber)(s)?{policy:\"fixed\",width:s}:(0,r.isString)(s)?{policy:s}:s})(),n=null!==(s=i.align)&&void 0!==s?s:\"auto\";if(\"fixed\"==i.policy)a[t]={policy:\"fixed\",width:i.width,align:n};else if(\"min\"==i.policy)a[t]={policy:\"min\",align:n};else if(\"fit\"==i.policy||\"max\"==i.policy)a[t]={policy:i.policy,flex:null!==(e=i.flex)&&void 0!==e?e:1,align:n};else{if(\"auto\"!=i.policy)throw new Error(\"unrechable\");(0,c.some)(o.col(t),(t=>t.is_width_expanding()))?a[t]={policy:\"max\",flex:1,align:n}:a[t]={policy:\"min\",align:n}}}const[g,p]=(0,r.isNumber)(this.spacing)?[this.spacing,this.spacing]:this.spacing;this._state={items:o,nrows:n,ncols:l,rows:h,cols:a,rspacing:g,cspacing:p}}_measure_totals(t,i){const{nrows:s,ncols:e,rspacing:o,cspacing:n}=this._state;return{height:(0,c.sum)(t)+(s-1)*o,width:(0,c.sum)(i)+(e-1)*n}}_measure_cells(t){const{items:i,nrows:s,ncols:e,rows:o,cols:l,rspacing:r,cspacing:h}=this._state,c=new Array(s);for(let t=0;t{const{r0:e,c0:f,r1:d,c1:u}=i,w=(d-e)*r,m=(u-f)*h;let y=0;for(let i=e;i<=d;i++)y+=t(i,f).height;y+=w;let x=0;for(let i=f;i<=u;i++)x+=t(e,i).width;x+=m;const b=s.measure({width:x,height:y});_.add(i,{layout:s,size_hint:b});const z=new n.Sizeable(b).grow_by(s.sizing.margin);z.height-=w,z.width-=m;const v=[];for(let t=e;t<=d;t++){const i=o[t];\"fixed\"==i.policy?z.height-=i.height:v.push(t)}if(z.height>0){const t=g(z.height/v.length);for(const i of v)c[i]=a(c[i],t)}const j=[];for(let t=f;t<=u;t++){const i=l[t];\"fixed\"==i.policy?z.width-=i.width:j.push(t)}if(z.width>0){const t=g(z.width/j.length);for(const i of j)p[i]=a(p[i],t)}}));return{size:this._measure_totals(c,p),row_heights:c,col_widths:p,size_hints:_}}_measure_grid(t){const{nrows:i,ncols:s,rows:e,cols:o,rspacing:n,cspacing:l}=this._state,r=this._measure_cells(((t,i)=>{const s=e[t],n=o[i];return{width:\"fixed\"==n.policy?n.width:1/0,height:\"fixed\"==s.policy?s.height:1/0}}));let h;h=\"fixed\"==this.sizing.height_policy&&null!=this.sizing.height?this.sizing.height:t.height!=1/0&&this.is_height_expanding()?t.height:r.size.height;let c,p=0;for(let t=0;t0)for(let t=0;ti?i:e,t--}}}c=\"fixed\"==this.sizing.width_policy&&null!=this.sizing.width?this.sizing.width:t.width!=1/0&&this.is_width_expanding()?t.width:r.size.width;let f=0;for(let t=0;t0)for(let t=0;ts?s:o,t--}}}const{row_heights:_,col_widths:d,size_hints:u}=this._measure_cells(((t,i)=>({width:r.col_widths[i],height:r.row_heights[t]})));return{size:this._measure_totals(_,d),row_heights:_,col_widths:d,size_hints:u}}_measure(t){const{size:i}=this._measure_grid(t);return i}_set_geometry(t,i){super._set_geometry(t,i);const{nrows:s,ncols:e,rspacing:o,cspacing:n}=this._state,{row_heights:l,col_widths:r,size_hints:c}=this._measure_grid(t),f=this._state.rows.map(((t,i)=>Object.assign(Object.assign({},t),{top:0,height:l[i],get bottom(){return this.top+this.height}}))),_=this._state.cols.map(((t,i)=>Object.assign(Object.assign({},t),{left:0,width:r[i],get right(){return this.left+this.width}}))),d=c.map(((t,i)=>Object.assign(Object.assign({},i),{outer:new h.BBox,inner:new h.BBox})));for(let i=0,e=this.absolute?t.top:0;i{const{layout:r,size_hint:c}=l,{sizing:a}=r,{width:p,height:d}=c,u=function(t,i){let s=(i-t)*n;for(let e=t;e<=i;e++)s+=_[e].width;return s}(i,e),w=function(t,i){let s=(i-t)*o;for(let e=t;e<=i;e++)s+=f[e].height;return s}(t,s),m=i==e&&\"auto\"!=_[i].align?_[i].align:a.halign,y=t==s&&\"auto\"!=f[t].align?f[t].align:a.valign;let x=_[i].left;\"start\"==m?x+=a.margin.left:\"center\"==m?x+=g((u-p)/2):\"end\"==m&&(x+=u-a.margin.right-p);let b=f[t].top;\"start\"==y?b+=a.margin.top:\"center\"==y?b+=g((w-d)/2):\"end\"==y&&(b+=w-a.margin.bottom-d),l.outer=new h.BBox({left:x,top:b,width:p,height:d})}));const u=f.map((()=>({start:new p((()=>0)),end:new p((()=>0))}))),w=_.map((()=>({start:new p((()=>0)),end:new p((()=>0))})));d.foreach((({r0:t,c0:i,r1:s,c1:e},{size_hint:o,outer:n})=>{const{inner:l}=o;null!=l&&(u[t].start.apply(n.top,(t=>a(t,l.top))),u[s].end.apply(f[s].bottom-n.bottom,(t=>a(t,l.bottom))),w[i].start.apply(n.left,(t=>a(t,l.left))),w[e].end.apply(_[e].right-n.right,(t=>a(t,l.right))))})),d.foreach((({r0:t,c0:i,r1:s,c1:e},o)=>{const{size_hint:n,outer:l}=o,r=t=>{const i=this.absolute?l:l.relative(),s=i.left+t.left,e=i.top+t.top,o=i.right-t.right,n=i.bottom-t.bottom;return new h.BBox({left:s,top:e,right:o,bottom:n})};if(null!=n.inner){let h=r(n.inner);if(!1!==n.align){const o=u[t].start.get(l.top),n=u[s].end.get(f[s].bottom-l.bottom),c=w[i].start.get(l.left),a=w[e].end.get(_[e].right-l.right);try{h=r({top:o,bottom:n,left:c,right:a})}catch(t){}}o.inner=h}else o.inner=l})),d.foreach(((t,{layout:i,outer:s,inner:e})=>{i.set_geometry(s,e)}))}}s.Grid=_,_.__name__=\"Grid\";class d extends _{constructor(t){super(),this.items=t.map(((t,i)=>({layout:t,row:0,col:i}))),this.rows=\"fit\"}}s.Row=d,d.__name__=\"Row\";class u extends _{constructor(t){super(),this.items=t.map(((t,i)=>({layout:t,row:i,col:0}))),this.cols=\"fit\"}}s.Column=u,u.__name__=\"Column\"},\n function _(e,t,s,n,i){n();const a=e(125),c=e(124),o=e(43);class r extends a.ContentLayoutable{constructor(e){super(),this.content_size=(0,o.unsized)(e,(()=>new c.Sizeable((0,o.size)(e))))}_content_size(){return this.content_size}}s.ContentBox=r,r.__name__=\"ContentBox\";class _ extends a.Layoutable{constructor(e){super(),this.el=e}_measure(e){const t=new c.Sizeable(e).bounded_to(this.sizing.size);return(0,o.sized)(this.el,t,(()=>{const e=new c.Sizeable((0,o.content_size)(this.el)),{border:t,padding:s}=(0,o.extents)(this.el);return e.grow_by(t).grow_by(s).map(Math.ceil)}))}}s.VariadicBox=_,_.__name__=\"VariadicBox\";class h extends _{constructor(e){super(e),this._cache=new Map}_measure(e){const{width:t,height:s}=e,n=`${t},${s}`;let i=this._cache.get(n);return null==i&&(i=super._measure(e),this._cache.set(n,i)),i}invalidate_cache(){this._cache.clear()}}s.CachedVariadicBox=h,h.__name__=\"CachedVariadicBox\"},\n function _(t,e,i,h,o){h();const s=t(124),r=t(125),n=t(65);class g extends r.Layoutable{constructor(){super(...arguments),this.min_border={left:0,top:0,right:0,bottom:0},this.padding={left:0,top:0,right:0,bottom:0}}*[Symbol.iterator](){yield this.top_panel,yield this.bottom_panel,yield this.left_panel,yield this.right_panel,yield this.center_panel}_measure(t){t=new s.Sizeable({width:\"fixed\"==this.sizing.width_policy||t.width==1/0?this.sizing.width:t.width,height:\"fixed\"==this.sizing.height_policy||t.height==1/0?this.sizing.height:t.height});const e=this.left_panel.measure({width:0,height:t.height}),i=Math.max(e.width,this.min_border.left)+this.padding.left,h=this.right_panel.measure({width:0,height:t.height}),o=Math.max(h.width,this.min_border.right)+this.padding.right,r=this.top_panel.measure({width:t.width,height:0}),n=Math.max(r.height,this.min_border.top)+this.padding.top,g=this.bottom_panel.measure({width:t.width,height:0}),a=Math.max(g.height,this.min_border.bottom)+this.padding.bottom,d=new s.Sizeable(t).shrink_by({left:i,right:o,top:n,bottom:a}),l=this.center_panel.measure(d);return{width:i+l.width+o,height:n+l.height+a,inner:{left:i,right:o,top:n,bottom:a},align:(()=>{const{width_policy:t,height_policy:e}=this.center_panel.sizing;return\"fixed\"!=t&&\"fixed\"!=e})()}}_set_geometry(t,e){super._set_geometry(t,e),this.center_panel.set_geometry(e);const i=this.left_panel.measure({width:0,height:t.height}),h=this.right_panel.measure({width:0,height:t.height}),o=this.top_panel.measure({width:t.width,height:0}),s=this.bottom_panel.measure({width:t.width,height:0}),{left:r,top:g,right:a,bottom:d}=e;this.top_panel.set_geometry(new n.BBox({left:r,right:a,bottom:g,height:o.height})),this.bottom_panel.set_geometry(new n.BBox({left:r,right:a,top:d,height:s.height})),this.left_panel.set_geometry(new n.BBox({top:g,bottom:d,right:r,width:i.width})),this.right_panel.set_geometry(new n.BBox({top:g,bottom:d,left:a,width:h.width}))}}i.BorderLayout=g,g.__name__=\"BorderLayout\"},\n function _(t,e,i,s,l){s();const n=t(1);var o;const a=t(119),_=t(10),d=t(20),h=t(120),r=t(123),u=(0,n.__importStar)(t(48));class c extends a.TextAnnotationView{update_layout(){const{panel:t}=this;this.layout=null!=t?new r.SideLayout(t,(()=>this.get_size()),!1):void 0}_get_size(){const{text:t}=this.model,e=new h.TextBox({text:t}),{angle:i,angle_units:s}=this.model;e.angle=(0,_.resolve_angle)(i,s),e.visuals=this.visuals.text.values();const{width:l,height:n}=e.size();return{width:l,height:n}}_render(){const{angle:t,angle_units:e}=this.model,i=(0,_.resolve_angle)(t,e),s=null!=this.layout?this.layout:this.plot_view.frame,l=this.coordinates.x_scale,n=this.coordinates.y_scale;let o=\"data\"==this.model.x_units?l.compute(this.model.x):s.bbox.xview.compute(this.model.x),a=\"data\"==this.model.y_units?n.compute(this.model.y):s.bbox.yview.compute(this.model.y);o+=this.model.x_offset,a-=this.model.y_offset;(\"canvas\"==this.model.render_mode?this._canvas_text.bind(this):this._css_text.bind(this))(this.layer.ctx,this.model.text,o,a,i)}}i.LabelView=c,c.__name__=\"LabelView\";class x extends a.TextAnnotation{constructor(t){super(t)}}i.Label=x,o=x,x.__name__=\"Label\",o.prototype.default_view=c,o.mixins([u.Text,[\"border_\",u.Line],[\"background_\",u.Fill]]),o.define((({Number:t,String:e,Angle:i})=>({x:[t],x_units:[d.SpatialUnits,\"data\"],y:[t],y_units:[d.SpatialUnits,\"data\"],text:[e,\"\"],angle:[i,0],angle_units:[d.AngleUnits,\"rad\"],x_offset:[t,0],y_offset:[t,0]}))),o.override({background_fill_color:null,border_line_color:null})},\n function _(t,e,s,i,l){i();const o=t(1);var a;const r=t(69),n=(0,o.__importStar)(t(48)),d=t(20),_=t(43),c=t(120),h=(0,o.__importStar)(t(18)),u=t(11);class v extends r.DataAnnotationView{set_data(t){var e;if(super.set_data(t),null===(e=this.els)||void 0===e||e.forEach((t=>(0,_.remove)(t))),\"css\"==this.model.render_mode){const t=this.els=[...this.text].map((()=>(0,_.div)({style:{display:\"none\"}})));for(const e of t)this.plot_view.canvas_view.add_overlay(e)}else delete this.els}remove(){var t;null===(t=this.els)||void 0===t||t.forEach((t=>(0,_.remove)(t))),super.remove()}_rerender(){\"css\"==this.model.render_mode?this.render():this.request_render()}map_data(){const{x_scale:t,y_scale:e}=this.coordinates,s=null!=this.layout?this.layout:this.plot_view.frame;this.sx=\"data\"==this.model.x_units?t.v_compute(this._x):s.bbox.xview.v_compute(this._x),this.sy=\"data\"==this.model.y_units?e.v_compute(this._y):s.bbox.yview.v_compute(this._y)}paint(){const t=\"canvas\"==this.model.render_mode?this._v_canvas_text.bind(this):this._v_css_text.bind(this),{ctx:e}=this.layer;for(let s=0,i=this.text.length;s{switch(this.visuals.text.text_align.get(e)){case\"left\":return[\"left\",\"0%\"];case\"center\":return[\"center\",\"-50%\"];case\"right\":return[\"right\",\"-100%\"]}})(),[d,c]=(()=>{switch(this.visuals.text.text_baseline.get(e)){case\"top\":return[\"top\",\"0%\"];case\"middle\":return[\"center\",\"-50%\"];case\"bottom\":return[\"bottom\",\"-100%\"];default:return[\"center\",\"-50%\"]}})();let h=`translate(${n}, ${c})`;o&&(h+=`rotate(${o}rad)`),a.style.transformOrigin=`${r} ${d}`,a.style.transform=h,this.layout,this.visuals.background_fill.doit&&(this.visuals.background_fill.set_vectorize(t,e),a.style.backgroundColor=t.fillStyle),this.visuals.border_line.doit&&(this.visuals.border_line.set_vectorize(t,e),a.style.borderStyle=t.lineDash.length<2?\"solid\":\"dashed\",a.style.borderWidth=`${t.lineWidth}px`,a.style.borderColor=t.strokeStyle),(0,_.display)(a)}}s.LabelSetView=v,v.__name__=\"LabelSetView\";class x extends r.DataAnnotation{constructor(t){super(t)}}s.LabelSet=x,a=x,x.__name__=\"LabelSet\",a.prototype.default_view=v,a.mixins([n.TextVector,[\"border_\",n.LineVector],[\"background_\",n.FillVector]]),a.define((()=>({x:[h.XCoordinateSpec,{field:\"x\"}],y:[h.YCoordinateSpec,{field:\"y\"}],x_units:[d.SpatialUnits,\"data\"],y_units:[d.SpatialUnits,\"data\"],text:[h.StringSpec,{field:\"text\"}],angle:[h.AngleSpec,0],x_offset:[h.NumberSpec,{value:0}],y_offset:[h.NumberSpec,{value:0}],render_mode:[d.RenderMode,\"canvas\"]}))),a.override({background_fill_color:null,border_line_color:null})},\n function _(t,e,i,l,s){l();const n=t(1);var o;const h=t(40),a=t(215),_=t(20),r=(0,n.__importStar)(t(48)),d=t(15),c=t(123),g=t(121),m=t(65),b=t(9),f=t(8),u=t(11);class x extends h.AnnotationView{update_layout(){const{panel:t}=this;this.layout=null!=t?new c.SideLayout(t,(()=>this.get_size())):void 0}cursor(t,e){return\"none\"==this.model.click_policy?null:\"pointer\"}get legend_padding(){return null!=this.model.border_line_color?this.model.padding:0}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render())),this.connect(this.model.item_change,(()=>this.request_render()))}compute_legend_bbox(){const t=this.model.get_legend_names(),{glyph_height:e,glyph_width:i}=this.model,{label_height:l,label_width:s}=this.model;this.max_label_height=(0,b.max)([(0,g.font_metrics)(this.visuals.label_text.font_value()).height,l,e]);const{ctx:n}=this.layer;n.save(),this.visuals.label_text.set_value(n),this.text_widths=new Map;for(const e of t)this.text_widths.set(e,(0,b.max)([n.measureText(e).width,s]));this.visuals.title_text.set_value(n),this.title_height=this.model.title?(0,g.font_metrics)(this.visuals.title_text.font_value()).height+this.model.title_standoff:0,this.title_width=this.model.title?n.measureText(this.model.title).width:0,n.restore();const o=Math.max((0,b.max)([...this.text_widths.values()]),0),h=this.model.margin,{legend_padding:a}=this,_=this.model.spacing,{label_standoff:r}=this.model;let d,c;if(\"vertical\"==this.model.orientation)d=t.length*this.max_label_height+Math.max(t.length-1,0)*_+2*a+this.title_height,c=(0,b.max)([o+i+r+2*a,this.title_width+2*a]);else{let e=2*a+Math.max(t.length-1,0)*_;for(const[,t]of this.text_widths)e+=(0,b.max)([t,s])+i+r;c=(0,b.max)([this.title_width+2*a,e]),d=this.max_label_height+this.title_height+2*a}const x=null!=this.layout?this.layout:this.plot_view.frame,[p,w]=x.bbox.ranges,{location:v}=this.model;let y,k;if((0,f.isString)(v))switch(v){case\"top_left\":y=p.start+h,k=w.start+h;break;case\"top\":case\"top_center\":y=(p.end+p.start)/2-c/2,k=w.start+h;break;case\"top_right\":y=p.end-h-c,k=w.start+h;break;case\"bottom_right\":y=p.end-h-c,k=w.end-h-d;break;case\"bottom\":case\"bottom_center\":y=(p.end+p.start)/2-c/2,k=w.end-h-d;break;case\"bottom_left\":y=p.start+h,k=w.end-h-d;break;case\"left\":case\"center_left\":y=p.start+h,k=(w.end+w.start)/2-d/2;break;case\"center\":case\"center_center\":y=(p.end+p.start)/2-c/2,k=(w.end+w.start)/2-d/2;break;case\"right\":case\"center_right\":y=p.end-h-c,k=(w.end+w.start)/2-d/2}else if((0,f.isArray)(v)&&2==v.length){const[t,e]=v;y=x.bbox.xview.compute(t),k=x.bbox.yview.compute(e)-d}else(0,u.unreachable)();return new m.BBox({left:y,top:k,width:c,height:d})}interactive_bbox(){return this.compute_legend_bbox()}interactive_hit(t,e){return this.interactive_bbox().contains(t,e)}on_hit(t,e){let i;const{glyph_width:l}=this.model,{legend_padding:s}=this,n=this.model.spacing,{label_standoff:o}=this.model;let h=i=s;const a=this.compute_legend_bbox(),_=\"vertical\"==this.model.orientation;for(const r of this.model.items){const d=r.get_labels_list_from_label_prop();for(const c of d){const d=a.x+h,g=a.y+i+this.title_height;let b,f;[b,f]=_?[a.width-2*s,this.max_label_height]:[this.text_widths.get(c)+l+o,this.max_label_height];if(new m.BBox({left:d,top:g,width:b,height:f}).contains(t,e)){switch(this.model.click_policy){case\"hide\":for(const t of r.renderers)t.visible=!t.visible;break;case\"mute\":for(const t of r.renderers)t.muted=!t.muted}return!0}_?i+=this.max_label_height+n:h+=this.text_widths.get(c)+l+o+n}}return!1}_render(){if(0==this.model.items.length)return;if(!(0,b.some)(this.model.items,(t=>t.visible)))return;for(const t of this.model.items)t.legend=this.model;const{ctx:t}=this.layer,e=this.compute_legend_bbox();t.save(),this._draw_legend_box(t,e),this._draw_legend_items(t,e),this._draw_title(t,e),t.restore()}_draw_legend_box(t,e){t.beginPath(),t.rect(e.x,e.y,e.width,e.height),this.visuals.background_fill.apply(t),this.visuals.border_line.apply(t)}_draw_legend_items(t,e){const{glyph_width:i,glyph_height:l}=this.model,{legend_padding:s}=this,n=this.model.spacing,{label_standoff:o}=this.model;let h=s,a=s;const _=\"vertical\"==this.model.orientation;for(const r of this.model.items){if(!r.visible)continue;const d=r.get_labels_list_from_label_prop(),c=r.get_field_from_label_prop();if(0==d.length)continue;const g=(()=>{switch(this.model.click_policy){case\"none\":return!0;case\"hide\":return(0,b.every)(r.renderers,(t=>t.visible));case\"mute\":return(0,b.every)(r.renderers,(t=>!t.muted))}})();for(const m of d){const d=e.x+h,b=e.y+a+this.title_height,f=d+i,u=b+l;_?a+=this.max_label_height+n:h+=this.text_widths.get(m)+i+o+n,this.visuals.label_text.set_value(t),t.fillText(m,f+o,b+this.max_label_height/2);for(const e of r.renderers){const i=this.plot_view.renderer_view(e);null==i||i.draw_legend(t,d,f,b,u,c,m,r.index)}if(!g){let l,n;[l,n]=_?[e.width-2*s,this.max_label_height]:[this.text_widths.get(m)+i+o,this.max_label_height],t.beginPath(),t.rect(d,b,l,n),this.visuals.inactive_fill.set_value(t),t.fill()}}}}_draw_title(t,e){const{title:i}=this.model;i&&this.visuals.title_text.doit&&(t.save(),t.translate(e.x0,e.y0+this.title_height),this.visuals.title_text.set_value(t),t.fillText(i,this.legend_padding,this.legend_padding-this.model.title_standoff),t.restore())}_get_size(){const{width:t,height:e}=this.compute_legend_bbox();return{width:t+2*this.model.margin,height:e+2*this.model.margin}}}i.LegendView=x,x.__name__=\"LegendView\";class p extends h.Annotation{constructor(t){super(t)}initialize(){super.initialize(),this.item_change=new d.Signal0(this,\"item_change\")}get_legend_names(){const t=[];for(const e of this.items){const i=e.get_labels_list_from_label_prop();t.push(...i)}return t}}i.Legend=p,o=p,p.__name__=\"Legend\",o.prototype.default_view=x,o.mixins([[\"label_\",r.Text],[\"title_\",r.Text],[\"inactive_\",r.Fill],[\"border_\",r.Line],[\"background_\",r.Fill]]),o.define((({Number:t,String:e,Array:i,Tuple:l,Or:s,Ref:n,Nullable:o})=>({orientation:[_.Orientation,\"vertical\"],location:[s(_.LegendLocation,l(t,t)),\"top_right\"],title:[o(e),null],title_standoff:[t,5],label_standoff:[t,5],glyph_height:[t,20],glyph_width:[t,20],label_height:[t,20],label_width:[t,20],margin:[t,10],padding:[t,10],spacing:[t,3],items:[i(n(a.LegendItem)),[]],click_policy:[_.LegendClickPolicy,\"none\"]}))),o.override({border_line_color:\"#e5e5e5\",border_line_alpha:.5,border_line_width:1,background_fill_color:\"#ffffff\",background_fill_alpha:.95,inactive_fill_color:\"white\",inactive_fill_alpha:.7,label_text_font_size:\"13px\",label_text_baseline:\"middle\",title_text_font_size:\"13px\",title_text_font_style:\"italic\"})},\n function _(e,r,l,n,t){n();const i=e(1);var s;const o=e(53),a=e(175),_=e(70),u=e(216),d=(0,i.__importStar)(e(18)),c=e(19),f=e(9);class h extends o.Model{constructor(e){super(e)}_check_data_sources_on_renderers(){if(null!=this.get_field_from_label_prop()){if(this.renderers.length<1)return!1;const e=this.renderers[0].data_source;if(null!=e)for(const r of this.renderers)if(r.data_source!=e)return!1}return!0}_check_field_label_on_data_source(){const e=this.get_field_from_label_prop();if(null!=e){if(this.renderers.length<1)return!1;const r=this.renderers[0].data_source;if(null!=r&&!(0,f.includes)(r.columns(),e))return!1}return!0}initialize(){super.initialize(),this.legend=null,this.connect(this.change,(()=>{var e;return null===(e=this.legend)||void 0===e?void 0:e.item_change.emit()}));this._check_data_sources_on_renderers()||c.logger.error(\"Non matching data sources on legend item renderers\");this._check_field_label_on_data_source()||c.logger.error(`Bad column name on label: ${this.label}`)}get_field_from_label_prop(){const{label:e}=this;return(0,u.isField)(e)?e.field:null}get_labels_list_from_label_prop(){if(!this.visible)return[];if((0,u.isValue)(this.label)){const{value:e}=this.label;return null!=e?[e]:[]}const e=this.get_field_from_label_prop();if(null!=e){let r;if(!this.renderers[0]||null==this.renderers[0].data_source)return[\"No source found\"];if(r=this.renderers[0].data_source,r instanceof _.ColumnarDataSource){const l=r.get_column(e);return null!=l?(0,f.uniq)(Array.from(l)):[\"Invalid field\"]}}return[]}}l.LegendItem=h,s=h,h.__name__=\"LegendItem\",s.define((({Boolean:e,Int:r,Array:l,Ref:n,Nullable:t})=>({label:[d.NullStringSpec,null],renderers:[l(n(a.GlyphRenderer)),[]],index:[t(r),null],visible:[e,!0]})))},\n function _(i,n,e,t,u){t();const c=i(8);e.isValue=function(i){return(0,c.isPlainObject)(i)&&\"value\"in i},e.isField=function(i){return(0,c.isPlainObject)(i)&&\"field\"in i},e.isExpr=function(i){return(0,c.isPlainObject)(i)&&\"expr\"in i}},\n function _(t,n,e,s,i){s();const o=t(1);var a;const l=t(40),c=(0,o.__importStar)(t(48)),r=t(20);class _ extends l.AnnotationView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render()))}_render(){const{xs:t,ys:n}=this.model;if(t.length!=n.length)return;const e=t.length;if(e<3)return;const{frame:s}=this.plot_view,{ctx:i}=this.layer,o=this.coordinates.x_scale,a=this.coordinates.y_scale,{screen:l}=this.model;function c(t,n,e,s){return l?t:\"data\"==n?e.v_compute(t):s.v_compute(t)}const r=c(t,this.model.xs_units,o,s.bbox.xview),_=c(n,this.model.ys_units,a,s.bbox.yview);i.beginPath();for(let t=0;t({xs:[n(t),[]],xs_units:[r.SpatialUnits,\"data\"],ys:[n(t),[]],ys_units:[r.SpatialUnits,\"data\"]}))),a.internal((({Boolean:t})=>({screen:[t,!1]}))),a.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3})},\n function _(e,t,n,o,i){o();const s=e(1);var l;const r=e(40),c=(0,s.__importStar)(e(48));class a extends r.AnnotationView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render()))}_render(){const{gradient:e,y_intercept:t}=this.model;if(null==e||null==t)return;const{frame:n}=this.plot_view,o=this.coordinates.x_scale,i=this.coordinates.y_scale;let s,l,r,c;if(0==e)s=i.compute(t),l=s,r=n.bbox.left,c=r+n.bbox.width;else{s=n.bbox.top,l=s+n.bbox.height;const a=(i.invert(s)-t)/e,_=(i.invert(l)-t)/e;r=o.compute(a),c=o.compute(_)}const{ctx:a}=this.layer;a.save(),a.beginPath(),this.visuals.line.set_value(a),a.moveTo(r,s),a.lineTo(c,l),a.stroke(),a.restore()}}n.SlopeView=a,a.__name__=\"SlopeView\";class _ extends r.Annotation{constructor(e){super(e)}}n.Slope=_,l=_,_.__name__=\"Slope\",l.prototype.default_view=a,l.mixins(c.Line),l.define((({Number:e,Nullable:t})=>({gradient:[t(e),null],y_intercept:[t(e),null]}))),l.override({line_color:\"black\"})},\n function _(e,t,i,o,n){o();const s=e(1);var l;const a=e(40),r=(0,s.__importStar)(e(48)),c=e(20);class d extends a.AnnotationView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.plot_view.request_paint(this)))}_render(){const{location:e}=this.model;if(null==e)return;const{frame:t}=this.plot_view,i=this.coordinates.x_scale,o=this.coordinates.y_scale,n=(t,i)=>\"data\"==this.model.location_units?t.compute(e):this.model.for_hover?e:i.compute(e);let s,l,a,r;\"width\"==this.model.dimension?(a=n(o,t.bbox.yview),l=t.bbox.left,r=t.bbox.width,s=this.model.line_width):(a=t.bbox.top,l=n(i,t.bbox.xview),r=this.model.line_width,s=t.bbox.height);const{ctx:c}=this.layer;c.save(),c.beginPath(),this.visuals.line.set_value(c),c.moveTo(l,a),\"width\"==this.model.dimension?c.lineTo(l+r,a):c.lineTo(l,a+s),c.stroke(),c.restore()}}i.SpanView=d,d.__name__=\"SpanView\";class _ extends a.Annotation{constructor(e){super(e)}}i.Span=_,l=_,_.__name__=\"Span\",l.prototype.default_view=d,l.mixins(r.Line),l.define((({Number:e,Nullable:t})=>({render_mode:[c.RenderMode,\"canvas\"],location:[t(e),null],location_units:[c.SpatialUnits,\"data\"],dimension:[c.Dimension,\"width\"]}))),l.internal((({Boolean:e})=>({for_hover:[e,!1]}))),l.override({line_color:\"black\"})},\n function _(i,e,t,o,l){var s;o();const a=i(40),_=i(221),n=i(113),r=i(43),h=i(123),b=i(65);class v extends a.AnnotationView{constructor(){super(...arguments),this._invalidate_toolbar=!0,this._previous_bbox=new b.BBox}update_layout(){this.layout=new h.SideLayout(this.panel,(()=>this.get_size()),!0)}initialize(){super.initialize(),this.el=(0,r.div)(),this.plot_view.canvas_view.add_event(this.el)}async lazy_initialize(){await super.lazy_initialize(),this._toolbar_view=await(0,n.build_view)(this.model.toolbar,{parent:this}),this.plot_view.visibility_callbacks.push((i=>this._toolbar_view.set_visibility(i)))}remove(){this._toolbar_view.remove(),(0,r.remove)(this.el),super.remove()}render(){this.model.visible||(0,r.undisplay)(this.el),super.render()}_render(){const{bbox:i}=this.layout;this._previous_bbox.equals(i)||((0,r.position)(this.el,i),this._previous_bbox=i,this._invalidate_toolbar=!0),this._invalidate_toolbar&&(this.el.style.position=\"absolute\",this.el.style.overflow=\"hidden\",(0,r.empty)(this.el),this.el.appendChild(this._toolbar_view.el),this._toolbar_view.layout.bbox=i,this._toolbar_view.render(),this._invalidate_toolbar=!1),(0,r.display)(this.el)}_get_size(){const{tools:i,logo:e}=this.model.toolbar;return{width:30*i.length+(null!=e?25:0)+15,height:30}}}t.ToolbarPanelView=v,v.__name__=\"ToolbarPanelView\";class d extends a.Annotation{constructor(i){super(i)}}t.ToolbarPanel=d,s=d,d.__name__=\"ToolbarPanel\",s.prototype.default_view=v,s.define((({Ref:i})=>({toolbar:[i(_.Toolbar)]})))},\n function _(t,e,s,i,o){var c;i();const n=t(8),a=t(9),l=t(13),r=t(222),_=t(223),u=t(232),p=t(233);function v(t){switch(t){case\"tap\":return\"active_tap\";case\"pan\":return\"active_drag\";case\"pinch\":case\"scroll\":return\"active_scroll\";case\"multi\":return\"active_multi\"}return null}function h(t){return\"tap\"==t||\"pan\"==t}s.Drag=r.Tool,s.Inspection=r.Tool,s.Scroll=r.Tool,s.Tap=r.Tool;class f extends p.ToolbarBase{constructor(t){super(t)}connect_signals(){super.connect_signals();const{tools:t,active_drag:e,active_inspect:s,active_scroll:i,active_tap:o,active_multi:c}=this.properties;this.on_change([t,e,s,i,o,c],(()=>this._init_tools()))}_init_tools(){if(super._init_tools(),\"auto\"==this.active_inspect);else if(this.active_inspect instanceof u.InspectTool){let t=!1;for(const e of this.inspectors)e!=this.active_inspect?e.active=!1:t=!0;t||(this.active_inspect=null)}else if((0,n.isArray)(this.active_inspect)){const t=(0,a.intersection)(this.active_inspect,this.inspectors);t.length!=this.active_inspect.length&&(this.active_inspect=t);for(const t of this.inspectors)(0,a.includes)(this.active_inspect,t)||(t.active=!1)}else if(null==this.active_inspect)for(const t of this.inspectors)t.active=!1;const t=t=>{t.active?this._active_change(t):t.active=!0};for(const t of(0,l.values)(this.gestures)){t.tools=(0,a.sort_by)(t.tools,(t=>t.default_order));for(const e of t.tools)this.connect(e.properties.active.change,(()=>this._active_change(e)))}for(const[e,s]of(0,l.entries)(this.gestures)){const i=v(e);if(i){const o=this[i];\"auto\"==o?0!=s.tools.length&&h(e)&&t(s.tools[0]):null!=o&&((0,a.includes)(this.tools,o)?t(o):this[i]=null)}}}}s.Toolbar=f,c=f,f.__name__=\"Toolbar\",c.prototype.default_view=p.ToolbarBaseView,c.define((({Or:t,Ref:e,Auto:i,Null:o})=>({active_drag:[t(e(s.Drag),i,o),\"auto\"],active_inspect:[t(e(s.Inspection),i,o),\"auto\"],active_scroll:[t(e(s.Scroll),i,o),\"auto\"],active_tap:[t(e(s.Tap),i,o),\"auto\"],active_multi:[t(e(_.GestureTool),i,o),\"auto\"]})))},\n function _(t,e,n,o,s){var i;o();const a=t(42),r=t(9),l=t(53);class c extends a.View{get plot_view(){return this.parent}get plot_model(){return this.parent.model}connect_signals(){super.connect_signals(),this.connect(this.model.properties.active.change,(()=>{this.model.active?this.activate():this.deactivate()}))}activate(){}deactivate(){}}n.ToolView=c,c.__name__=\"ToolView\";class _ extends l.Model{constructor(t){super(t)}get synthetic_renderers(){return[]}_get_dim_limits([t,e],[n,o],s,i){const a=s.bbox.h_range;let l;\"width\"==i||\"both\"==i?(l=[(0,r.min)([t,n]),(0,r.max)([t,n])],l=[(0,r.max)([l[0],a.start]),(0,r.min)([l[1],a.end])]):l=[a.start,a.end];const c=s.bbox.v_range;let _;return\"height\"==i||\"both\"==i?(_=[(0,r.min)([e,o]),(0,r.max)([e,o])],_=[(0,r.max)([_[0],c.start]),(0,r.min)([_[1],c.end])]):_=[c.start,c.end],[l,_]}static register_alias(t,e){this.prototype._known_aliases.set(t,e)}static from_string(t){const e=this.prototype._known_aliases.get(t);if(null!=e)return e();{const e=[...this.prototype._known_aliases.keys()];throw new Error(`unexpected tool name '${t}', possible tools are ${e.join(\", \")}`)}}}n.Tool=_,i=_,_.__name__=\"Tool\",i.prototype._known_aliases=new Map,i.define((({String:t,Nullable:e})=>({description:[e(t),null]}))),i.internal((({Boolean:t})=>({active:[t,!1]})))},\n function _(e,o,t,s,n){s();const u=e(224),_=e(231);class l extends u.ButtonToolView{}t.GestureToolView=l,l.__name__=\"GestureToolView\";class i extends u.ButtonTool{constructor(e){super(e),this.button_view=_.OnOffButtonView}}t.GestureTool=i,i.__name__=\"GestureTool\"},\n function _(t,e,o,s,i){s();const n=t(1);var l;const r=(0,n.__importDefault)(t(225)),a=t(226),u=t(222),h=t(43),_=t(34),d=t(8),c=t(9),m=(0,n.__importStar)(t(227)),p=m,v=(0,n.__importDefault)(t(228)),f=(0,n.__importDefault)(t(229)),g=t(230);class b extends a.DOMView{initialize(){super.initialize();const t=this.model.menu;if(null!=t){const e=this.parent.model.toolbar_location,o=\"left\"==e||\"above\"==e,s=this.parent.model.horizontal?\"vertical\":\"horizontal\";this._menu=new g.ContextMenu(o?(0,c.reversed)(t):t,{orientation:s,prevent_hide:t=>t.target==this.el})}this._hammer=new r.default(this.el,{touchAction:\"auto\",inputClass:r.default.TouchMouseInput}),this.connect(this.model.change,(()=>this.render())),this._hammer.on(\"tap\",(t=>{var e;(null===(e=this._menu)||void 0===e?void 0:e.is_open)?this._menu.hide():t.target==this.el&&this._clicked()})),this._hammer.on(\"press\",(()=>this._pressed())),this.el.addEventListener(\"keydown\",(t=>{t.keyCode==h.Keys.Enter&&this._clicked()}))}remove(){var t;this._hammer.destroy(),null===(t=this._menu)||void 0===t||t.remove(),super.remove()}styles(){return[...super.styles(),m.default,v.default,f.default]}css_classes(){return super.css_classes().concat(p.toolbar_button)}render(){(0,h.empty)(this.el);const t=this.model.computed_icon;(0,d.isString)(t)&&((0,_.startsWith)(t,\"data:image\")?this.el.style.backgroundImage=`url(\"${t}\")`:this.el.classList.add(t)),this.el.title=this.model.tooltip,this.el.tabIndex=0,null!=this._menu&&this.root.el.appendChild(this._menu.el)}_pressed(){var t;const e=(()=>{switch(this.parent.model.toolbar_location){case\"right\":return{left_of:this.el};case\"left\":return{right_of:this.el};case\"above\":return{below:this.el};case\"below\":return{above:this.el}}})();null===(t=this._menu)||void 0===t||t.toggle(e)}}o.ButtonToolButtonView=b,b.__name__=\"ButtonToolButtonView\";class w extends u.ToolView{}o.ButtonToolView=w,w.__name__=\"ButtonToolView\";class y extends u.Tool{constructor(t){super(t)}_get_dim_tooltip(t){const{description:e,tool_name:o}=this;return null!=e?e:\"both\"==t?o:`${o} (${\"width\"==t?\"x\":\"y\"}-axis)`}get tooltip(){var t;return null!==(t=this.description)&&void 0!==t?t:this.tool_name}get computed_icon(){return this.icon}get menu(){return null}}o.ButtonTool=y,l=y,y.__name__=\"ButtonTool\",l.internal((({Boolean:t})=>({disabled:[t,!1]})))},\n function _(t,e,i,n,r){\n /*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n !function(t,i,n,r){\"use strict\";var s,o=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],a=i.createElement(\"div\"),h=Math.round,u=Math.abs,c=Date.now;function l(t,e,i){return setTimeout(T(t,i),e)}function p(t,e,i){return!!Array.isArray(t)&&(f(t,i[e],i),!0)}function f(t,e,i){var n;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==r)for(n=0;n\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",s=t.console&&(t.console.warn||t.console.log);return s&&s.call(t.console,r,n),e.apply(this,arguments)}}s=\"function\"!=typeof Object.assign?function(t){if(t===r||null===t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var e=Object(t),i=1;i-1}function S(t){return t.trim().split(/\\s+/g)}function b(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var n=0;ni[e]})):n.sort()),n}function x(t,e){for(var i,n,s=e[0].toUpperCase()+e.slice(1),a=0;a1&&!i.firstMultiple?i.firstMultiple=H(e):1===s&&(i.firstMultiple=!1);var o=i.firstInput,a=i.firstMultiple,h=a?a.center:o.center,l=e.center=L(n);e.timeStamp=c(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=G(h,l),e.distance=j(h,l),function(t,e){var i=e.center,n=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};1!==e.eventType&&4!==s.eventType||(r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},n=t.offsetDelta={x:i.x,y:i.y});e.deltaX=r.x+(i.x-n.x),e.deltaY=r.y+(i.y-n.y)}(i,e),e.offsetDirection=V(e.deltaX,e.deltaY);var p=U(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=p.x,e.overallVelocityY=p.y,e.overallVelocity=u(p.x)>u(p.y)?p.x:p.y,e.scale=a?(f=a.pointers,v=n,j(v[0],v[1],W)/j(f[0],f[1],W)):1,e.rotation=a?function(t,e){return G(e[1],e[0],W)+G(t[1],t[0],W)}(a.pointers,n):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,function(t,e){var i,n,s,o,a=t.lastInterval||e,h=e.timeStamp-a.timeStamp;if(8!=e.eventType&&(h>25||a.velocity===r)){var c=e.deltaX-a.deltaX,l=e.deltaY-a.deltaY,p=U(h,c,l);n=p.x,s=p.y,i=u(p.x)>u(p.y)?p.x:p.y,o=V(c,l),t.lastInterval=e}else i=a.velocity,n=a.velocityX,s=a.velocityY,o=a.direction;e.velocity=i,e.velocityX=n,e.velocityY=s,e.direction=o}(i,e);var f,v;var d=t.element;_(e.srcEvent.target,d)&&(d=e.srcEvent.target);e.target=d}(t,i),t.emit(\"hammer.input\",i),t.recognize(i),t.session.prevInput=i}function H(t){for(var e=[],i=0;i=u(e)?t<0?2:4:e<0?8:16}function j(t,e,i){i||(i=F);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return Math.sqrt(n*n+r*r)}function G(t,e,i){i||(i=F);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return 180*Math.atan2(r,n)/Math.PI}q.prototype={handler:function(){},init:function(){this.evEl&&I(this.element,this.evEl,this.domHandler),this.evTarget&&I(this.target,this.evTarget,this.domHandler),this.evWin&&I(O(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&A(this.element,this.evEl,this.domHandler),this.evTarget&&A(this.target,this.evTarget,this.domHandler),this.evWin&&A(O(this.element),this.evWin,this.domHandler)}};var Z={mousedown:1,mousemove:2,mouseup:4},B=\"mousedown\",$=\"mousemove mouseup\";function J(){this.evEl=B,this.evWin=$,this.pressed=!1,q.apply(this,arguments)}g(J,q,{handler:function(t){var e=Z[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:X,srcEvent:t}))}});var K={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Q={2:N,3:\"pen\",4:X,5:\"kinect\"},tt=\"pointerdown\",et=\"pointermove pointerup pointercancel\";function it(){this.evEl=tt,this.evWin=et,q.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}t.MSPointerEvent&&!t.PointerEvent&&(tt=\"MSPointerDown\",et=\"MSPointerMove MSPointerUp MSPointerCancel\"),g(it,q,{handler:function(t){var e=this.store,i=!1,n=t.type.toLowerCase().replace(\"ms\",\"\"),r=K[n],s=Q[t.pointerType]||t.pointerType,o=s==N,a=b(e,t.pointerId,\"pointerId\");1&r&&(0===t.button||o)?a<0&&(e.push(t),a=e.length-1):12&r&&(i=!0),a<0||(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var nt={touchstart:1,touchmove:2,touchend:4,touchcancel:8},rt=\"touchstart\",st=\"touchstart touchmove touchend touchcancel\";function ot(){this.evTarget=rt,this.evWin=st,this.started=!1,q.apply(this,arguments)}function at(t,e){var i=P(t.touches),n=P(t.changedTouches);return 12&e&&(i=D(i.concat(n),\"identifier\",!0)),[i,n]}g(ot,q,{handler:function(t){var e=nt[t.type];if(1===e&&(this.started=!0),this.started){var i=at.call(this,t,e);12&e&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:N,srcEvent:t})}}});var ht={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ut=\"touchstart touchmove touchend touchcancel\";function ct(){this.evTarget=ut,this.targetIds={},q.apply(this,arguments)}function lt(t,e){var i=P(t.touches),n=this.targetIds;if(3&e&&1===i.length)return n[i[0].identifier]=!0,[i,i];var r,s,o=P(t.changedTouches),a=[],h=this.target;if(s=i.filter((function(t){return _(t.target,h)})),1===e)for(r=0;r-1&&n.splice(t,1)}),2500)}}function dt(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,n=0;n-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,i=this.state;function n(i){e.manager.emit(i,t)}i<8&&n(e.options.event+Dt(i)),n(e.options.event),t.additionalEvent&&n(t.additionalEvent),i>=8&&n(e.options.event+Dt(i))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=bt},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return Ot.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=xt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),g(Mt,Ot,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[It]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){if(1!==t.scale){var e=t.scale<1?\"in\":\"out\";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),g(zt,Pt,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[yt]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distancee.time;if(this._input=t,!n||!i||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=l((function(){this.state=8,this.tryEmit()}),e.time,this);else if(4&t.eventType)return 8;return bt},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+\"up\",t):(this._input.timeStamp=c(),this.manager.emit(this.options.event,this._input)))}}),g(Nt,Ot,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[It]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),g(Xt,Ot,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Rt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return 30&i?e=t.overallVelocity:6&i?e=t.overallVelocityX:i&Y&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&u(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=xt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),g(Yt,Pt,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Et]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distance .bk-divider{cursor:default;overflow:hidden;background-color:#e5e5e5;}.bk-root .bk-context-menu.bk-horizontal > .bk-divider{width:1px;margin:5px 0;}.bk-root .bk-context-menu.bk-vertical > .bk-divider{height:1px;margin:0 5px;}.bk-root .bk-context-menu > :not(.bk-divider){border:1px solid transparent;}.bk-root .bk-context-menu > :not(.bk-divider).bk-active{border-color:#26aae1;}.bk-root .bk-context-menu > :not(.bk-divider):hover{background-color:#f9f9f9;}.bk-root .bk-context-menu > :not(.bk-divider):focus,.bk-root .bk-context-menu > :not(.bk-divider):focus-visible{outline:1px dotted #26aae1;outline-offset:-1px;}.bk-root .bk-context-menu > :not(.bk-divider)::-moz-focus-inner{border:0;}.bk-root .bk-context-menu.bk-horizontal > :not(.bk-divider):first-child{border-top-left-radius:4px;border-bottom-left-radius:4px;}.bk-root .bk-context-menu.bk-horizontal > :not(.bk-divider):last-child{border-top-right-radius:4px;border-bottom-right-radius:4px;}.bk-root .bk-context-menu.bk-vertical > :not(.bk-divider):first-child{border-top-left-radius:4px;border-top-right-radius:4px;}.bk-root .bk-context-menu.bk-vertical > :not(.bk-divider):last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;}.bk-root .bk-menu{position:absolute;left:0;width:100%;z-index:100;cursor:pointer;font-size:12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 6px 12px rgba(0, 0, 0, 0.175);}.bk-root .bk-menu.bk-above{bottom:100%;}.bk-root .bk-menu.bk-below{top:100%;}.bk-root .bk-menu > .bk-divider{height:1px;margin:7.5px 0;overflow:hidden;background-color:#e5e5e5;}.bk-root .bk-menu > :not(.bk-divider){padding:6px 12px;}.bk-root .bk-menu > :not(.bk-divider):hover,.bk-root .bk-menu > :not(.bk-divider).bk-active{background-color:#e6e6e6;}.bk-root .bk-caret{display:inline-block;vertical-align:middle;width:0;height:0;margin:0 5px;}.bk-root .bk-caret.bk-down{border-top:4px solid;}.bk-root .bk-caret.bk-up{border-bottom:4px solid;}.bk-root .bk-caret.bk-down,.bk-root .bk-caret.bk-up{border-right:4px solid transparent;border-left:4px solid transparent;}.bk-root .bk-caret.bk-left{border-right:4px solid;}.bk-root .bk-caret.bk-right{border-left:4px solid;}.bk-root .bk-caret.bk-left,.bk-root .bk-caret.bk-right{border-top:4px solid transparent;border-bottom:4px solid transparent;}\"},\n function _(t,e,i,n,o){n();const s=t(1),l=t(43),h=t(9),r=(0,s.__importStar)(t(229));class d{constructor(t,e={}){var i,n;this.items=t,this.el=(0,l.div)(),this._open=!1,this._item_click=t=>{var e;null===(e=t.handler)||void 0===e||e.call(t),this.hide()},this._on_mousedown=t=>{var e;const{target:i}=t;i instanceof Node&&this.el.contains(i)||(null===(e=this.prevent_hide)||void 0===e?void 0:e.call(this,t))||this.hide()},this._on_keydown=t=>{t.keyCode==l.Keys.Esc&&this.hide()},this._on_blur=()=>{this.hide()},this.orientation=null!==(i=e.orientation)&&void 0!==i?i:\"vertical\",this.reversed=null!==(n=e.reversed)&&void 0!==n&&n,this.prevent_hide=e.prevent_hide,(0,l.undisplay)(this.el)}get is_open(){return this._open}get can_open(){return 0!=this.items.length}remove(){(0,l.remove)(this.el),this._unlisten()}_listen(){document.addEventListener(\"mousedown\",this._on_mousedown),document.addEventListener(\"keydown\",this._on_keydown),window.addEventListener(\"blur\",this._on_blur)}_unlisten(){document.removeEventListener(\"mousedown\",this._on_mousedown),document.removeEventListener(\"keydown\",this._on_keydown),window.removeEventListener(\"blur\",this._on_blur)}_position(t){const e=this.el.parentElement;if(null!=e){const i=(()=>{if(\"left_of\"in t){const{left:e,top:i}=t.left_of.getBoundingClientRect();return{right:e,top:i}}if(\"right_of\"in t){const{top:e,right:i}=t.right_of.getBoundingClientRect();return{left:i,top:e}}if(\"below\"in t){const{left:e,bottom:i}=t.below.getBoundingClientRect();return{left:e,top:i}}if(\"above\"in t){const{left:e,top:i}=t.above.getBoundingClientRect();return{left:e,bottom:i}}return t})(),n=e.getBoundingClientRect();this.el.style.left=null!=i.left?i.left-n.left+\"px\":\"\",this.el.style.top=null!=i.top?i.top-n.top+\"px\":\"\",this.el.style.right=null!=i.right?n.right-i.right+\"px\":\"\",this.el.style.bottom=null!=i.bottom?n.bottom-i.bottom+\"px\":\"\"}}render(){var t;(0,l.empty)(this.el,!0),(0,l.classes)(this.el).add(\"bk-context-menu\",`bk-${this.orientation}`);const e=this.reversed?(0,h.reversed)(this.items):this.items;for(const i of e){let e;if(null==i)e=(0,l.div)({class:r.divider});else{if(null!=i.if&&!i.if())continue;if(null!=i.content)e=i.content;else{const n=null!=i.icon?(0,l.div)({class:[\"bk-menu-icon\",i.icon]}):null,o=[(null===(t=i.active)||void 0===t?void 0:t.call(i))?\"bk-active\":null,i.class];e=(0,l.div)({class:o,title:i.tooltip,tabIndex:0},n,i.label,i.content),e.addEventListener(\"click\",(()=>{this._item_click(i)})),e.addEventListener(\"keydown\",(t=>{t.keyCode==l.Keys.Enter&&this._item_click(i)}))}}this.el.appendChild(e)}}show(t){if(0!=this.items.length&&!this._open){if(this.render(),0==this.el.children.length)return;this._position(null!=t?t:{left:0,top:0}),(0,l.display)(this.el),this._listen(),this._open=!0}}hide(){this._open&&(this._open=!1,this._unlisten(),(0,l.undisplay)(this.el))}toggle(t){this._open?this.hide():this.show(t)}}i.ContextMenu=d,d.__name__=\"ContextMenu\"},\n function _(t,e,i,n,o){n();const s=t(1),c=t(224),l=(0,s.__importStar)(t(227)),a=t(43);class _ extends c.ButtonToolButtonView{render(){super.render(),(0,a.classes)(this.el).toggle(l.active,this.model.active)}_clicked(){const{active:t}=this.model;this.model.active=!t}}i.OnOffButtonView=_,_.__name__=\"OnOffButtonView\"},\n function _(e,o,t,n,s){var c;n();const l=e(224),_=e(231);class i extends l.ButtonToolView{}t.InspectToolView=i,i.__name__=\"InspectToolView\";class a extends l.ButtonTool{constructor(e){super(e),this.event_type=\"move\"}}t.InspectTool=a,c=a,a.__name__=\"InspectTool\",c.prototype.button_view=_.OnOffButtonView,c.define((({Boolean:e})=>({toggleable:[e,!0]}))),c.override({active:!0})},\n function _(t,o,e,l,i){l();const s=t(1);var n,a;const r=t(19),c=t(43),h=t(113),_=t(226),u=t(20),v=t(9),d=t(234),p=t(13),b=t(8),g=t(235),f=t(65),m=t(53),w=t(222),y=t(223),T=t(238),z=t(239),x=t(232),B=t(230),C=(0,s.__importStar)(t(227)),k=C,L=(0,s.__importStar)(t(240)),M=L;class S extends m.Model{constructor(t){super(t)}get visible(){var t;return!this.autohide||null!==(t=this._visible)&&void 0!==t&&t}}e.ToolbarViewModel=S,n=S,S.__name__=\"ToolbarViewModel\",n.define((({Boolean:t})=>({autohide:[t,!1]}))),n.internal((({Boolean:t,Nullable:o})=>({_visible:[o(t),null]})));class $ extends _.DOMView{constructor(){super(...arguments),this.layout={bbox:new f.BBox}}initialize(){super.initialize(),this._tool_button_views=new Map,this._toolbar_view_model=new S({autohide:this.model.autohide});const{toolbar_location:t}=this.model,o=\"left\"==t||\"above\"==t,e=this.model.horizontal?\"vertical\":\"horizontal\";this._overflow_menu=new B.ContextMenu([],{orientation:e,reversed:o})}async lazy_initialize(){await super.lazy_initialize(),await this._build_tool_button_views()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.tools.change,(async()=>{await this._build_tool_button_views(),this.render()})),this.connect(this.model.properties.autohide.change,(()=>{this._toolbar_view_model.autohide=this.model.autohide,this._on_visible_change()})),this.connect(this._toolbar_view_model.properties._visible.change,(()=>this._on_visible_change()))}styles(){return[...super.styles(),C.default,L.default]}remove(){(0,h.remove_views)(this._tool_button_views),super.remove()}async _build_tool_button_views(){const t=null!=this.model._proxied_tools?this.model._proxied_tools:this.model.tools;await(0,h.build_views)(this._tool_button_views,t,{parent:this},(t=>t.button_view))}set_visibility(t){t!=this._toolbar_view_model._visible&&(this._toolbar_view_model._visible=t)}_on_visible_change(){const{visible:t}=this._toolbar_view_model;(0,c.classes)(this.el).toggle(k.toolbar_hidden,!t)}render(){(0,c.empty)(this.el),this.el.classList.add(k.toolbar),this.el.classList.add(k[this.model.toolbar_location]),this._toolbar_view_model.autohide=this.model.autohide,this._on_visible_change();const{horizontal:t}=this.model;let o=0;if(null!=this.model.logo){const e=\"grey\"===this.model.logo?M.grey:null,l=(0,c.a)({href:\"https://bokeh.org/\",target:\"_blank\",class:[M.logo,M.logo_small,e]});this.el.appendChild(l);const{width:i,height:s}=l.getBoundingClientRect();o+=t?i:s}for(const[,t]of this._tool_button_views)t.render();const e=[],l=t=>this._tool_button_views.get(t).el,{gestures:i}=this.model;for(const t of(0,p.values)(i))e.push(t.tools.map(l));e.push(this.model.actions.map(l)),e.push(this.model.inspectors.filter((t=>t.toggleable)).map(l));const s=e.filter((t=>0!=t.length)),n=()=>(0,c.div)({class:k.divider}),{bbox:a}=this.layout;let r=!1;this.root.el.appendChild(this._overflow_menu.el);const h=(0,c.div)({class:k.tool_overflow,tabIndex:0},t?\"\\u22ee\":\"\\u22ef\"),_=()=>{const t=(()=>{switch(this.model.toolbar_location){case\"right\":return{left_of:h};case\"left\":return{right_of:h};case\"above\":return{below:h};case\"below\":return{above:h}}})();this._overflow_menu.toggle(t)};h.addEventListener(\"click\",(()=>{_()})),h.addEventListener(\"keydown\",(t=>{t.keyCode==c.Keys.Enter&&_()}));for(const e of(0,d.join)(s,n))if(r)this._overflow_menu.items.push({content:e,class:t?k.right:k.above});else{this.el.appendChild(e);const{width:l,height:i}=e.getBoundingClientRect();if(o+=t?l:i,r=t?o>a.width-15:o>a.height-15,r){this.el.removeChild(e),this.el.appendChild(h);const{items:t}=this._overflow_menu;t.splice(0,t.length),t.push({content:e})}}}update_layout(){}update_position(){}after_layout(){this._has_finished=!0}export(t,o=!0){const e=\"png\"==t?\"canvas\":\"svg\",l=new g.CanvasLayer(e,o);return l.resize(0,0),l}}function V(){return{pan:{tools:[],active:null},scroll:{tools:[],active:null},pinch:{tools:[],active:null},tap:{tools:[],active:null},doubletap:{tools:[],active:null},press:{tools:[],active:null},pressup:{tools:[],active:null},rotate:{tools:[],active:null},move:{tools:[],active:null},multi:{tools:[],active:null}}}e.ToolbarBaseView=$,$.__name__=\"ToolbarBaseView\";class A extends m.Model{constructor(t){super(t)}initialize(){super.initialize(),this._init_tools()}_init_tools(){const t=function(t,o){if(t.length!=o.length)return!0;const e=new Set(o.map((t=>t.id)));return(0,v.some)(t,(t=>!e.has(t.id)))},o=this.tools.filter((t=>t instanceof x.InspectTool));t(this.inspectors,o)&&(this.inspectors=o);const e=this.tools.filter((t=>t instanceof z.HelpTool));t(this.help,e)&&(this.help=e);const l=this.tools.filter((t=>t instanceof T.ActionTool));t(this.actions,l)&&(this.actions=l);const i=(t,o)=>{t in this.gestures||r.logger.warn(`Toolbar: unknown event type '${t}' for tool: ${o}`)},s={pan:{tools:[],active:null},scroll:{tools:[],active:null},pinch:{tools:[],active:null},tap:{tools:[],active:null},doubletap:{tools:[],active:null},press:{tools:[],active:null},pressup:{tools:[],active:null},rotate:{tools:[],active:null},move:{tools:[],active:null},multi:{tools:[],active:null}};for(const t of this.tools)if(t instanceof y.GestureTool&&t.event_type)if((0,b.isString)(t.event_type))s[t.event_type].tools.push(t),i(t.event_type,t);else{s.multi.tools.push(t);for(const o of t.event_type)i(o,t)}for(const o of Object.keys(s)){const e=this.gestures[o];t(e.tools,s[o].tools)&&(e.tools=s[o].tools),e.active&&(0,v.every)(e.tools,(t=>t.id!=e.active.id))&&(e.active=null)}}get horizontal(){return\"above\"===this.toolbar_location||\"below\"===this.toolbar_location}get vertical(){return\"left\"===this.toolbar_location||\"right\"===this.toolbar_location}_active_change(t){const{event_type:o}=t;if(null==o)return;const e=(0,b.isString)(o)?[o]:o;for(const o of e)if(t.active){const e=this.gestures[o].active;null!=e&&t!=e&&(r.logger.debug(`Toolbar: deactivating tool: ${e} for event type '${o}'`),e.active=!1),this.gestures[o].active=t,r.logger.debug(`Toolbar: activating tool: ${t} for event type '${o}'`)}else this.gestures[o].active=null}}e.ToolbarBase=A,a=A,A.__name__=\"ToolbarBase\",a.prototype.default_view=$,a.define((({Boolean:t,Array:o,Ref:e,Nullable:l})=>({tools:[o(e(w.Tool)),[]],logo:[l(u.Logo),\"normal\"],autohide:[t,!1]}))),a.internal((({Array:t,Struct:o,Ref:e,Nullable:l})=>{const i=o({tools:t(e(y.GestureTool)),active:l(e(w.Tool))});return{gestures:[o({pan:i,scroll:i,pinch:i,tap:i,doubletap:i,press:i,pressup:i,rotate:i,move:i,multi:i}),V],actions:[t(e(T.ActionTool)),[]],inspectors:[t(e(x.InspectTool)),[]],help:[t(e(z.HelpTool)),[]],toolbar_location:[u.Location,\"right\"]}}))},\n function _(n,o,e,t,f){t();const r=n(9);function*i(n,o){const e=n.length;if(o>e)return;const t=(0,r.range)(o);for(yield t.map((o=>n[o]));;){let f;for(const n of(0,r.reversed)((0,r.range)(o)))if(t[n]!=n+e-o){f=n;break}if(null==f)return;t[f]+=1;for(const n of(0,r.range)(f+1,o))t[n]=t[n-1]+1;yield t.map((o=>n[o]))}}e.enumerate=function*(n){let o=0;for(const e of n)yield[e,o++]},e.join=function*(n,o){let e=!0;for(const t of n)e?e=!1:null!=o&&(yield o()),yield*t},e.combinations=i,e.subsets=function*(n){for(const o of(0,r.range)(n.length+1))yield*i(n,o)}},\n function _(t,e,s,i,n){i();const o=t(236),a=t(65),r=t(43);function h(t){!function(t){void 0===t.lineDash&&Object.defineProperty(t,\"lineDash\",{get:()=>t.getLineDash(),set:e=>t.setLineDash(e)})}(t),function(t){t.setImageSmoothingEnabled=e=>{t.imageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.oImageSmoothingEnabled=e,t.webkitImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e},t.getImageSmoothingEnabled=()=>{const e=t.imageSmoothingEnabled;return null==e||e}}(t),function(t){t.ellipse||(t.ellipse=function(e,s,i,n,o,a,r,h=!1){const l=.551784;t.translate(e,s),t.rotate(o);let c=i,g=n;h&&(c=-i,g=-n),t.moveTo(-c,0),t.bezierCurveTo(-c,g*l,-c*l,g,0,g),t.bezierCurveTo(c*l,g,c,g*l,c,0),t.bezierCurveTo(c,-g*l,c*l,-g,0,-g),t.bezierCurveTo(-c*l,-g,-c,-g*l,-c,0),t.rotate(-o),t.translate(-e,-s)})}(t)}const l={position:\"absolute\",top:\"0\",left:\"0\",width:\"100%\",height:\"100%\"};class c{constructor(t,e){switch(this.backend=t,this.hidpi=e,this.pixel_ratio=1,this.bbox=new a.BBox,t){case\"webgl\":case\"canvas\":{this._el=this._canvas=(0,r.canvas)({style:l});const t=this.canvas.getContext(\"2d\");if(null==t)throw new Error(\"unable to obtain 2D rendering context\");this._ctx=t,e&&(this.pixel_ratio=devicePixelRatio);break}case\"svg\":{const t=new o.SVGRenderingContext2D;this._ctx=t,this._canvas=t.get_svg(),this._el=(0,r.div)({style:l},this._canvas);break}}this._ctx.layer=this,h(this._ctx)}get canvas(){return this._canvas}get ctx(){return this._ctx}get el(){return this._el}resize(t,e){this.bbox=new a.BBox({left:0,top:0,width:t,height:e});const s=this._ctx instanceof o.SVGRenderingContext2D?this._ctx:this.canvas;s.width=t*this.pixel_ratio,s.height=e*this.pixel_ratio}undo_transform(t){const{ctx:e}=this;if(void 0===e.getTransform)t(e);else{const s=e.getTransform();e.setTransform(this._base_transform);try{t(e)}finally{e.setTransform(s)}}}prepare(){const{ctx:t,hidpi:e,pixel_ratio:s}=this;t.save(),e&&(t.scale(s,s),t.translate(.5,.5)),void 0!==t.getTransform&&(this._base_transform=t.getTransform()),this.clear()}clear(){const{x:t,y:e,width:s,height:i}=this.bbox;this.ctx.clearRect(t,e,s,i)}finish(){this.ctx.restore()}to_blob(){const{_canvas:t}=this;if(t instanceof HTMLCanvasElement)return null!=t.msToBlob?Promise.resolve(t.msToBlob()):new Promise(((e,s)=>{t.toBlob((t=>null!=t?e(t):s()),\"image/png\")}));{const t=this._ctx.get_serialized_svg(!0),e=new Blob([t],{type:\"image/svg+xml\"});return Promise.resolve(e)}}}s.CanvasLayer=c,c.__name__=\"CanvasLayer\"},\n function _(t,e,i,s,r){s();const n=t(122),a=t(8),o=t(237),l=t(10),h=t(43);function _(t){var e;const i={left:\"start\",right:\"end\",center:\"middle\",start:\"start\",end:\"end\"};return null!==(e=i[t])&&void 0!==e?e:i.start}function c(t){var e;const i={alphabetic:\"alphabetic\",hanging:\"hanging\",top:\"text-before-edge\",bottom:\"text-after-edge\",middle:\"central\"};return null!==(e=i[t])&&void 0!==e?e:i.alphabetic}const p=function(t,e){const i=new Map,s=t.split(\",\");e=null!=e?e:10;for(let t=0;t=0?Math.acos(e):-Math.acos(e)}const v=b(f),A=b(g);this.lineTo(d+f[0]*r,m+f[1]*r),this.arc(d,m,r,v,A)}stroke(){\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"fill\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"stroke\"),null!=this._clip_path&&this.__currentElement.setAttribute(\"clip-path\",this._clip_path)}fill(t,e){let i=null;if(t instanceof Path2D)i=t;else{if(\"evenodd\"!=t&&\"nonzero\"!=t&&null!=t||null!=e)throw new Error(\"invalid arguments\");e=t}if(null!=i)throw new Error(\"not implemented\");\"none\"!=this.__currentElement.getAttribute(\"fill\")&&this.__init_element(),\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"stroke\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"fill\"),null!=e&&this.__currentElement.setAttribute(\"fill-rule\",e),null!=this._clip_path&&this.__currentElement.setAttribute(\"clip-path\",this._clip_path)}rect(t,e,i,s){isFinite(t+e+i+s)&&(this.moveTo(t,e),this.lineTo(t+i,e),this.lineTo(t+i,e+s),this.lineTo(t,e+s),this.lineTo(t,e))}fillRect(t,e,i,s){isFinite(t+e+i+s)&&(this.beginPath(),this.rect(t,e,i,s),this.fill())}strokeRect(t,e,i,s){isFinite(t+e+i+s)&&(this.beginPath(),this.rect(t,e,i,s),this.stroke())}__clearCanvas(){(0,h.empty)(this.__defs),(0,h.empty)(this.__root),this.__root.appendChild(this.__defs),this.__currentElement=this.__root}clearRect(t,e,i,s){if(!isFinite(t+e+i+s))return;if(0===t&&0===e&&i===this.width&&s===this.height)return void this.__clearCanvas();const r=this.__createElement(\"rect\",{x:t,y:e,width:i,height:s,fill:\"#FFFFFF\"},!0);this._apply_transform(r),this.__root.appendChild(r)}createLinearGradient(t,e,i,s){if(!isFinite(t+e+i+s))throw new Error(\"The provided double value is non-finite\");const[r,n]=this._transform.apply(t,e),[a,o]=this._transform.apply(i,s),l=this.__createElement(\"linearGradient\",{id:this._random_string(),x1:`${r}px`,x2:`${a}px`,y1:`${n}px`,y2:`${o}px`,gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(l),new d(l,this)}createRadialGradient(t,e,i,s,r,n){if(!isFinite(t+e+i+s+r+n))throw new Error(\"The provided double value is non-finite\");const[a,o]=this._transform.apply(t,e),[l,h]=this._transform.apply(s,r),_=this.__createElement(\"radialGradient\",{id:this._random_string(),cx:`${l}px`,cy:`${h}px`,r:`${n}px`,r0:`${i}px`,fx:`${a}px`,fy:`${o}px`,gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(_),new d(_,this)}__parseFont(){var t,e,i,s,r;const n=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-,\\'\\\"\\sa-z0-9]+?)\\s*$/i.exec(this.font);return{style:null!==(t=n[1])&&void 0!==t?t:\"normal\",size:null!==(e=n[4])&&void 0!==e?e:\"10px\",family:null!==(i=n[6])&&void 0!==i?i:\"sans-serif\",weight:null!==(s=n[3])&&void 0!==s?s:\"normal\",decoration:null!==(r=n[2])&&void 0!==r?r:\"normal\"}}__applyText(t,e,i,s){const r=this.__parseFont(),n=this.__createElement(\"text\",{\"font-family\":r.family,\"font-size\":r.size,\"font-style\":r.style,\"font-weight\":r.weight,\"text-decoration\":r.decoration,x:e,y:i,\"text-anchor\":_(this.textAlign),\"dominant-baseline\":c(this.textBaseline)},!0);n.appendChild(this.__document.createTextNode(t)),this._apply_transform(n),this.__currentElement=n,this.__applyStyleToCurrentElement(s);const a=(()=>{if(null!=this._clip_path){const t=this.__createElement(\"g\");return t.setAttribute(\"clip-path\",this._clip_path),t.appendChild(n),t}return n})();this.__root.appendChild(a)}fillText(t,e,i){null!=t&&isFinite(e+i)&&this.__applyText(t,e,i,\"fill\")}strokeText(t,e,i){null!=t&&isFinite(e+i)&&this.__applyText(t,e,i,\"stroke\")}measureText(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)}arc(t,e,i,s,r,n=!1){this.ellipse(t,e,i,i,0,s,r,n)}ellipse(t,e,i,s,r,n,a,o=!1){if(!isFinite(t+e+i+s+r+n+a))return;if(i<0||s<0)throw new DOMException(\"IndexSizeError, radius can't be negative\");const h=o?a-n:n-a;n%=2*Math.PI,a%=2*Math.PI;const _=t+i*Math.cos(n),c=e+s*Math.sin(n);this.lineTo(_,c);const p=180*r/Math.PI,u=o?0:1;if(Math.abs(n-a)<2*l.float32_epsilon&&!(Math.abs(h)<2*l.float32_epsilon&&h<0)){const r=t+i*Math.cos(n+Math.PI),a=e+s*Math.sin(n+Math.PI),[o,l]=this._transform.apply(_,c),[h,d]=this._transform.apply(r,a);this.__addPathCommand(o,l,`A ${i} ${s} ${p} 0 ${u} ${h} ${d} A ${i} ${s} ${p} 0 ${u} ${o} ${l}`)}else{const r=t+i*Math.cos(a),l=e+s*Math.sin(a);let h=a-n;h<0&&(h+=2*Math.PI);const _=o!==h>Math.PI?1:0,[c,d]=this._transform.apply(r,l);this.__addPathCommand(c,d,`A ${i} ${s} ${p} ${_} ${u} ${c} ${d}`)}}clip(){const t=this.__createElement(\"clipPath\"),e=this._random_string();this.__applyCurrentDefaultPath(),t.setAttribute(\"id\",e),t.appendChild(this.__currentElement),this.__defs.appendChild(t),this._clip_path=`url(#${e})`}drawImage(t,...e){let i,s,r,n,a,o,l,h;if(2==e.length){if([i,s]=e,!isFinite(i+s))return;a=0,o=0,l=t.width,h=t.height,r=l,n=h}else if(4==e.length){if([i,s,r,n]=e,!isFinite(i+s+r+n))return;a=0,o=0,l=t.width,h=t.height}else{if(8!==e.length)throw new Error(`Inavlid number of arguments passed to drawImage: ${arguments.length}`);if([a,o,l,h,i,s,r,n]=e,!isFinite(a+o+l+h+i+s+r+n))return}const _=this.__root,c=this._transform.clone().translate(i,s);if(t instanceof f||t instanceof SVGSVGElement){const e=(t instanceof SVGSVGElement?t:t.get_svg()).cloneNode(!0);let i;c.is_identity&&1==this.globalAlpha&&null==this._clip_path?i=_:(i=this.__createElement(\"g\"),c.is_identity||this._apply_transform(i,c),1!=this.globalAlpha&&i.setAttribute(\"opacity\",`${this.globalAlpha}`),null!=this._clip_path&&i.setAttribute(\"clip-path\",this._clip_path),_.appendChild(i));for(const t of[...e.childNodes])if(t instanceof SVGDefsElement){for(const e of[...t.childNodes])if(e instanceof Element){const t=e.getAttribute(\"id\");this.__ids.add(t),this.__defs.appendChild(e.cloneNode(!0))}}else i.appendChild(t.cloneNode(!0))}else if(t instanceof HTMLImageElement||t instanceof SVGImageElement){const e=this.__createElement(\"image\");if(e.setAttribute(\"width\",`${r}`),e.setAttribute(\"height\",`${n}`),e.setAttribute(\"preserveAspectRatio\",\"none\"),1!=this.globalAlpha&&e.setAttribute(\"opacity\",`${this.globalAlpha}`),a||o||l!==t.width||h!==t.height){const e=this.__document.createElement(\"canvas\");e.width=r,e.height=n;e.getContext(\"2d\").drawImage(t,a,o,l,h,0,0,r,n),t=e}this._apply_transform(e,c);const i=t instanceof HTMLCanvasElement?t.toDataURL():t.getAttribute(\"src\");if(e.setAttribute(\"href\",i),null!=this._clip_path){const t=this.__createElement(\"g\");t.setAttribute(\"clip-path\",this._clip_path),t.appendChild(e),_.appendChild(t)}else _.appendChild(e)}else if(t instanceof HTMLCanvasElement){const e=this.__createElement(\"image\");e.setAttribute(\"width\",`${r}`),e.setAttribute(\"height\",`${n}`),e.setAttribute(\"preserveAspectRatio\",\"none\"),1!=this.globalAlpha&&e.setAttribute(\"opacity\",`${this.globalAlpha}`);const i=this.__document.createElement(\"canvas\");i.width=r,i.height=n;const s=i.getContext(\"2d\");if(s.imageSmoothingEnabled=!1,s.drawImage(t,a,o,l,h,0,0,r,n),t=i,this._apply_transform(e,c),e.setAttribute(\"href\",t.toDataURL()),null!=this._clip_path){const t=this.__createElement(\"g\");t.setAttribute(\"clip-path\",this._clip_path),t.appendChild(e),_.appendChild(t)}else _.appendChild(e)}}createPattern(t,e){const i=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"pattern\"),s=this._random_string();if(i.setAttribute(\"id\",s),i.setAttribute(\"width\",`${this._to_number(t.width)}`),i.setAttribute(\"height\",`${this._to_number(t.height)}`),i.setAttribute(\"patternUnits\",\"userSpaceOnUse\"),t instanceof HTMLCanvasElement||t instanceof HTMLImageElement||t instanceof SVGImageElement){const e=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"image\"),s=t instanceof HTMLCanvasElement?t.toDataURL():t.getAttribute(\"src\");e.setAttribute(\"href\",s),i.appendChild(e),this.__defs.appendChild(i)}else if(t instanceof f){for(const e of[...t.__root.childNodes])e instanceof SVGDefsElement||i.appendChild(e.cloneNode(!0));this.__defs.appendChild(i)}else{if(!(t instanceof SVGSVGElement))throw new Error(\"unsupported\");for(const e of[...t.childNodes])e instanceof SVGDefsElement||i.appendChild(e.cloneNode(!0));this.__defs.appendChild(i)}return new m(i,this)}getLineDash(){const{lineDash:t}=this;return(0,a.isString)(t)?t.split(\",\").map((t=>parseInt(t))):null==t?[]:t}setLineDash(t){t&&t.length>0?this.lineDash=t.join(\",\"):this.lineDash=null}_to_number(t){return(0,a.isNumber)(t)?t:t.baseVal.value}getTransform(){return this._transform.to_DOMMatrix()}setTransform(...t){let e;e=(0,a.isNumber)(t[0])?new DOMMatrix(t):t[0]instanceof DOMMatrix?t[0]:new DOMMatrix(Object.values(!t[0])),this._transform=n.AffineTransform.from_DOMMatrix(e)}resetTransform(){this._transform=new n.AffineTransform}isPointInPath(...t){throw new Error(\"not implemented\")}isPointInStroke(...t){throw new Error(\"not implemented\")}createImageData(...t){throw new Error(\"not implemented\")}getImageData(t,e,i,s){throw new Error(\"not implemented\")}putImageData(...t){throw new Error(\"not implemented\")}drawFocusIfNeeded(...t){throw new Error(\"not implemented\")}scrollPathIntoView(...t){throw new Error(\"not implemented\")}}i.SVGRenderingContext2D=f,f.__name__=\"SVGRenderingContext2D\",f.__random=o.random},\n function _(e,t,s,n,r){n();const o=2147483647;class i{constructor(e){this.seed=e%o,this.seed<=0&&(this.seed+=2147483646)}integer(){return this.seed=48271*this.seed%o,this.seed}float(){return(this.integer()-1)/2147483646}floats(e,t=0,s=1){const n=new Array(e);for(let r=0;rthis.doit(o)))}}n.ActionToolView=_,_.__name__=\"ActionToolView\";class d extends s.ButtonTool{constructor(o){super(o),this.button_view=l,this.do=new c.Signal(this,\"do\")}}n.ActionTool=d,d.__name__=\"ActionTool\"},\n function _(o,e,t,l,i){var s;l();const n=o(238),r=o(228);class c extends n.ActionToolView{doit(){window.open(this.model.redirect)}}t.HelpToolView=c,c.__name__=\"HelpToolView\";class _ extends n.ActionTool{constructor(o){super(o),this.tool_name=\"Help\",this.icon=r.tool_icon_help}}t.HelpTool=_,s=_,_.__name__=\"HelpTool\",s.prototype.default_view=c,s.define((({String:o})=>({redirect:[o,\"https://docs.bokeh.org/en/latest/docs/user_guide/tools.html\"]}))),s.override({description:\"Click the question mark to learn more about Bokeh plot tools.\"}),s.register_alias(\"help\",(()=>new _))},\n function _(o,l,g,A,r){A(),g.root=\"bk-root\",g.logo=\"bk-logo\",g.grey=\"bk-grey\",g.logo_small=\"bk-logo-small\",g.logo_notebook=\"bk-logo-notebook\",g.default=\".bk-root .bk-logo{margin:5px;position:relative;display:block;background-repeat:no-repeat;}.bk-root .bk-logo.bk-grey{filter:url(\\\"data:image/svg+xml;utf8,#grayscale\\\");filter:gray;-webkit-filter:grayscale(100%);}.bk-root .bk-logo-small{width:20px;height:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAOkSURBVDiNjZRtaJVlGMd/1/08zzln5zjP1LWcU9N0NkN8m2CYjpgQYQXqSs0I84OLIC0hkEKoPtiH3gmKoiJDU7QpLgoLjLIQCpEsNJ1vqUOdO7ppbuec5+V+rj4ctwzd8IIbbi6u+8f1539dt3A78eXC7QizUF7gyV1fD1Yqg4JWz84yffhm0qkFqBogB9rM8tZdtwVsPUhWhGcFJngGeWrPzHm5oaMmkfEg1usvLFyc8jLRqDOMru7AyC8saQr7GG7f5fvDeH7Ej8CM66nIF+8yngt6HWaKh7k49Soy9nXurCi1o3qUbS3zWfrYeQDTB/Qj6kX6Ybhw4B+bOYoLKCC9H3Nu/leUTZ1JdRWkkn2ldcCamzrcf47KKXdAJllSlxAOkRgyHsGC/zRday5Qld9DyoM4/q/rUoy/CXh3jzOu3bHUVZeU+DEn8FInkPBFlu3+nW3Nw0mk6vCDiWg8CeJaxEwuHS3+z5RgY+YBR6V1Z1nxSOfoaPa4LASWxxdNp+VWTk7+4vzaou8v8PN+xo+KY2xsw6une2frhw05CTYOmQvsEhjhWjn0bmXPjpE1+kplmmkP3suftwTubK9Vq22qKmrBhpY4jvd5afdRA3wGjFAgcnTK2s4hY0/GPNIb0nErGMCRxWOOX64Z8RAC4oCXdklmEvcL8o0BfkNK4lUg9HTl+oPlQxdNo3Mg4Nv175e/1LDGzZen30MEjRUtmXSfiTVu1kK8W4txyV6BMKlbgk3lMwYCiusNy9fVfvvwMxv8Ynl6vxoByANLTWplvuj/nF9m2+PDtt1eiHPBr1oIfhCChQMBw6Aw0UulqTKZdfVvfG7VcfIqLG9bcldL/+pdWTLxLUy8Qq38heUIjh4XlzZxzQm19lLFlr8vdQ97rjZVOLf8nclzckbcD4wxXMidpX30sFd37Fv/GtwwhzhxGVAprjbg0gCAEeIgwCZyTV2Z1REEW8O4py0wsjeloKoMr6iCY6dP92H6Vw/oTyICIthibxjm/DfN9lVz8IqtqKYLUXfoKVMVQVVJOElGjrnnUt9T9wbgp8AyYKaGlqingHZU/uG2NTZSVqwHQTWkx9hxjkpWDaCg6Ckj5qebgBVbT3V3NNXMSiWSDdGV3hrtzla7J+duwPOToIg42ChPQOQjspnSlp1V+Gjdged7+8UN5CRAV7a5EdFNwCjEaBR27b3W890TE7g24NAP/mMDXRWrGoFPQI9ls/MWO2dWFAar/xcOIImbbpA3zgAAAABJRU5ErkJggg==);}.bk-root .bk-logo-notebook{display:inline-block;vertical-align:middle;margin-right:5px;}\"},\n function _(e,t,s,i,l){i();const o=e(1);var n;const a=e(40),h=e(20),r=e(43),c=(0,o.__importStar)(e(242)),d=c;class p extends a.AnnotationView{initialize(){super.initialize(),this.el=(0,r.div)({class:d.tooltip}),(0,r.undisplay)(this.el),this.plot_view.canvas_view.add_overlay(this.el)}remove(){(0,r.remove)(this.el),super.remove()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.content.change,(()=>this.render())),this.connect(this.model.properties.position.change,(()=>this._reposition()))}styles(){return[...super.styles(),c.default]}render(){this.model.visible||(0,r.undisplay)(this.el),super.render()}_render(){const{content:e}=this.model;null!=e?((0,r.empty)(this.el),(0,r.classes)(this.el).toggle(\"bk-tooltip-custom\",this.model.custom),this.el.appendChild(e),this.model.show_arrow&&this.el.classList.add(d.tooltip_arrow)):(0,r.undisplay)(this.el)}_reposition(){const{position:e}=this.model;if(null==e)return void(0,r.undisplay)(this.el);const[t,s]=e,i=(()=>{const e=this.parent.layout.bbox.relative(),{attachment:i}=this.model;switch(i){case\"horizontal\":return t({attachment:[h.TooltipAttachment,\"horizontal\"],inner_only:[e,!0],show_arrow:[e,!0]}))),n.internal((({Boolean:e,Number:t,Tuple:s,Ref:i,Nullable:l})=>({position:[l(s(t,t)),null],content:[i(HTMLElement),()=>(0,r.div)()],custom:[e]}))),n.override({level:\"overlay\"})},\n function _(o,t,r,e,l){e(),r.root=\"bk-root\",r.tooltip=\"bk-tooltip\",r.left=\"bk-left\",r.tooltip_arrow=\"bk-tooltip-arrow\",r.right=\"bk-right\",r.above=\"bk-above\",r.below=\"bk-below\",r.tooltip_row_label=\"bk-tooltip-row-label\",r.tooltip_row_value=\"bk-tooltip-row-value\",r.tooltip_color_block=\"bk-tooltip-color-block\",r.default='.bk-root{}.bk-root .bk-tooltip{font-weight:300;font-size:12px;position:absolute;padding:5px;border:1px solid #e5e5e5;color:#2f2f2f;background-color:white;pointer-events:none;opacity:0.95;z-index:100;}.bk-root .bk-tooltip > div:not(:first-child){margin-top:5px;border-top:#e5e5e5 1px dashed;}.bk-root .bk-tooltip.bk-left.bk-tooltip-arrow::before{position:absolute;margin:-7px 0 0 0;top:50%;width:0;height:0;border-style:solid;border-width:7px 0 7px 0;border-color:transparent;content:\" \";display:block;left:-10px;border-right-width:10px;border-right-color:#909599;}.bk-root .bk-tooltip.bk-left::before{left:-10px;border-right-width:10px;border-right-color:#909599;}.bk-root .bk-tooltip.bk-right.bk-tooltip-arrow::after{position:absolute;margin:-7px 0 0 0;top:50%;width:0;height:0;border-style:solid;border-width:7px 0 7px 0;border-color:transparent;content:\" \";display:block;right:-10px;border-left-width:10px;border-left-color:#909599;}.bk-root .bk-tooltip.bk-right::after{right:-10px;border-left-width:10px;border-left-color:#909599;}.bk-root .bk-tooltip.bk-above::before{position:absolute;margin:0 0 0 -7px;left:50%;width:0;height:0;border-style:solid;border-width:0 7px 0 7px;border-color:transparent;content:\" \";display:block;top:-10px;border-bottom-width:10px;border-bottom-color:#909599;}.bk-root .bk-tooltip.bk-below::after{position:absolute;margin:0 0 0 -7px;left:50%;width:0;height:0;border-style:solid;border-width:0 7px 0 7px;border-color:transparent;content:\" \";display:block;bottom:-10px;border-top-width:10px;border-top-color:#909599;}.bk-root .bk-tooltip-row-label{text-align:right;color:#26aae1;}.bk-root .bk-tooltip-row-value{color:default;}.bk-root .bk-tooltip-color-block{width:12px;height:12px;margin-left:5px;margin-right:5px;outline:#dddddd solid 1px;display:inline-block;}'},\n function _(e,t,s,i,r){var a;i();const l=e(115),_=e(112),h=e(113),o=e(48);class n extends l.UpperLowerView{async lazy_initialize(){await super.lazy_initialize();const{lower_head:e,upper_head:t}=this.model;null!=e&&(this.lower_head=await(0,h.build_view)(e,{parent:this})),null!=t&&(this.upper_head=await(0,h.build_view)(t,{parent:this}))}set_data(e){var t,s;super.set_data(e),null===(t=this.lower_head)||void 0===t||t.set_data(e),null===(s=this.upper_head)||void 0===s||s.set_data(e)}paint(e){if(this.visuals.line.doit)for(let t=0,s=this._lower_sx.length;t({lower_head:[t(e(_.ArrowHead)),()=>new _.TeeHead({size:10})],upper_head:[t(e(_.ArrowHead)),()=>new _.TeeHead({size:10})]}))),a.override({level:\"underlay\"})},\n function _(n,o,t,u,e){u(),e(\"CustomJS\",n(245).CustomJS),e(\"OpenURL\",n(247).OpenURL)},\n function _(t,e,s,n,c){var a;n();const r=t(246),u=t(13),o=t(34);class i extends r.Callback{constructor(t){super(t)}get names(){return(0,u.keys)(this.args)}get values(){return(0,u.values)(this.args)}get func(){const t=(0,o.use_strict)(this.code);return new Function(...this.names,\"cb_obj\",\"cb_data\",t)}execute(t,e={}){return this.func.apply(t,this.values.concat(t,e))}}s.CustomJS=i,a=i,i.__name__=\"CustomJS\",a.define((({Unknown:t,String:e,Dict:s})=>({args:[s(t),{}],code:[e,\"\"]})))},\n function _(c,a,l,n,s){n();const e=c(53);class o extends e.Model{constructor(c){super(c)}}l.Callback=o,o.__name__=\"Callback\"},\n function _(e,t,n,o,i){var s;o();const c=e(246),r=e(152),a=e(8);class d extends c.Callback{constructor(e){super(e)}navigate(e){this.same_tab?window.location.href=e:window.open(e)}execute(e,{source:t}){const n=e=>{const n=(0,r.replace_placeholders)(this.url,t,e,void 0,void 0,encodeURI);if(!(0,a.isString)(n))throw new Error(\"HTML output is not supported in this context\");this.navigate(n)},{selected:o}=t;for(const e of o.indices)n(e);for(const e of o.line_indices)n(e)}}n.OpenURL=d,s=d,d.__name__=\"OpenURL\",s.define((({Boolean:e,String:t})=>({url:[t,\"http://\"],same_tab:[e,!1]})))},\n function _(a,n,i,e,r){e(),r(\"Canvas\",a(249).Canvas),r(\"CartesianFrame\",a(126).CartesianFrame),r(\"CoordinateMapping\",a(54).CoordinateMapping)},\n function _(e,t,i,s,a){var l,r=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t};s();const h=e(14),c=e(28),u=e(226),_=e(19),d=e(43),p=e(20),b=e(13),v=e(250),g=e(65),w=e(138),y=e(235);const f=(()=>{let t;return async()=>void 0!==t?t:t=await async function(){const t=document.createElement(\"canvas\"),i=t.getContext(\"webgl\",{premultipliedAlpha:!0});if(null!=i){const s=await(0,w.load_module)(Promise.resolve().then((()=>o(e(410)))));if(null!=s){const e=s.get_regl(i);if(e.has_webgl)return{canvas:t,regl_wrapper:e};_.logger.trace(\"WebGL is supported, but not the required extensions\")}else _.logger.trace(\"WebGL is supported, but bokehjs(.min).js bundle is not available\")}else _.logger.trace(\"WebGL is not supported\");return null}()})(),m={position:\"absolute\",top:\"0\",left:\"0\",width:\"100%\",height:\"100%\"};class x extends u.DOMView{constructor(){super(...arguments),this.bbox=new g.BBox,this.webgl=null}initialize(){super.initialize(),this.underlays_el=(0,d.div)({style:m}),this.primary=this.create_layer(),this.overlays=this.create_layer(),this.overlays_el=(0,d.div)({style:m}),this.events_el=(0,d.div)({class:\"bk-canvas-events\",style:m});const e=[this.underlays_el,this.primary.el,this.overlays.el,this.overlays_el,this.events_el];(0,b.extend)(this.el.style,m),(0,d.append)(this.el,...e),this.ui_event_bus=new v.UIEventBus(this)}async lazy_initialize(){if(await super.lazy_initialize(),\"webgl\"==this.model.output_backend&&(this.webgl=await f(),c.settings.force_webgl&&null==this.webgl))throw new Error(\"webgl is not available\")}remove(){this.ui_event_bus.destroy(),super.remove()}add_underlay(e){this.underlays_el.appendChild(e)}add_overlay(e){this.overlays_el.appendChild(e)}add_event(e){this.events_el.appendChild(e)}get pixel_ratio(){return this.primary.pixel_ratio}resize(e,t){this.bbox=new g.BBox({left:0,top:0,width:e,height:t}),this.primary.resize(e,t),this.overlays.resize(e,t)}prepare_webgl(e){const{webgl:t}=this;if(null!=t){const{width:i,height:s}=this.bbox;t.canvas.width=this.pixel_ratio*i,t.canvas.height=this.pixel_ratio*s;const[a,l,r,n]=e,{xview:o,yview:h}=this.bbox,c=o.compute(a),u=h.compute(l+n),_=this.pixel_ratio;t.regl_wrapper.set_scissor(_*c,_*u,_*r,_*n),this._clear_webgl()}}blit_webgl(e){const{webgl:t}=this;if(null!=t){if(_.logger.debug(\"Blitting WebGL canvas\"),e.restore(),e.drawImage(t.canvas,0,0),e.save(),this.model.hidpi){const t=this.pixel_ratio;e.scale(t,t),e.translate(.5,.5)}this._clear_webgl()}}_clear_webgl(){const{webgl:e}=this;if(null!=e){const{regl_wrapper:t,canvas:i}=e;t.clear(i.width,i.height)}}compose(){const e=this.create_layer(),{width:t,height:i}=this.bbox;return e.resize(t,i),e.ctx.drawImage(this.primary.canvas,0,0),e.ctx.drawImage(this.overlays.canvas,0,0),e}create_layer(){const{output_backend:e,hidpi:t}=this.model;return new y.CanvasLayer(e,t)}to_blob(){return this.compose().to_blob()}}i.CanvasView=x,x.__name__=\"CanvasView\";class z extends h.HasProps{constructor(e){super(e)}}i.Canvas=z,l=z,z.__name__=\"Canvas\",l.prototype.default_view=x,l.internal((({Boolean:e})=>({hidpi:[e,!0],output_backend:[p.OutputBackend,\"canvas\"]})))},\n function _(t,e,s,n,i){n();const r=t(1),a=(0,r.__importDefault)(t(225)),_=t(15),h=t(19),o=t(43),l=(0,r.__importStar)(t(251)),c=t(252),p=t(9),u=t(8),v=t(27),d=t(230);class g{constructor(t){this.canvas_view=t,this.pan_start=new _.Signal(this,\"pan:start\"),this.pan=new _.Signal(this,\"pan\"),this.pan_end=new _.Signal(this,\"pan:end\"),this.pinch_start=new _.Signal(this,\"pinch:start\"),this.pinch=new _.Signal(this,\"pinch\"),this.pinch_end=new _.Signal(this,\"pinch:end\"),this.rotate_start=new _.Signal(this,\"rotate:start\"),this.rotate=new _.Signal(this,\"rotate\"),this.rotate_end=new _.Signal(this,\"rotate:end\"),this.tap=new _.Signal(this,\"tap\"),this.doubletap=new _.Signal(this,\"doubletap\"),this.press=new _.Signal(this,\"press\"),this.pressup=new _.Signal(this,\"pressup\"),this.move_enter=new _.Signal(this,\"move:enter\"),this.move=new _.Signal(this,\"move\"),this.move_exit=new _.Signal(this,\"move:exit\"),this.scroll=new _.Signal(this,\"scroll\"),this.keydown=new _.Signal(this,\"keydown\"),this.keyup=new _.Signal(this,\"keyup\"),this.hammer=new a.default(this.hit_area,{touchAction:\"auto\",inputClass:a.default.TouchMouseInput}),this._prev_move=null,this._curr_pan=null,this._curr_pinch=null,this._curr_rotate=null,this._configure_hammerjs(),this.hit_area.addEventListener(\"mousemove\",(t=>this._mouse_move(t))),this.hit_area.addEventListener(\"mouseenter\",(t=>this._mouse_enter(t))),this.hit_area.addEventListener(\"mouseleave\",(t=>this._mouse_exit(t))),this.hit_area.addEventListener(\"contextmenu\",(t=>this._context_menu(t))),this.hit_area.addEventListener(\"wheel\",(t=>this._mouse_wheel(t))),document.addEventListener(\"keydown\",this),document.addEventListener(\"keyup\",this),this.menu=new d.ContextMenu([],{prevent_hide:t=>2==t.button&&t.target==this.hit_area}),this.hit_area.appendChild(this.menu.el)}get hit_area(){return this.canvas_view.events_el}destroy(){this.menu.remove(),this.hammer.destroy(),document.removeEventListener(\"keydown\",this),document.removeEventListener(\"keyup\",this)}handleEvent(t){\"keydown\"==t.type?this._key_down(t):\"keyup\"==t.type&&this._key_up(t)}_configure_hammerjs(){this.hammer.get(\"doubletap\").recognizeWith(\"tap\"),this.hammer.get(\"tap\").requireFailure(\"doubletap\"),this.hammer.get(\"doubletap\").dropRequireFailure(\"tap\"),this.hammer.on(\"doubletap\",(t=>this._doubletap(t))),this.hammer.on(\"tap\",(t=>this._tap(t))),this.hammer.on(\"press\",(t=>this._press(t))),this.hammer.on(\"pressup\",(t=>this._pressup(t))),this.hammer.get(\"pan\").set({direction:a.default.DIRECTION_ALL}),this.hammer.on(\"panstart\",(t=>this._pan_start(t))),this.hammer.on(\"pan\",(t=>this._pan(t))),this.hammer.on(\"panend\",(t=>this._pan_end(t))),this.hammer.get(\"pinch\").set({enable:!0}),this.hammer.on(\"pinchstart\",(t=>this._pinch_start(t))),this.hammer.on(\"pinch\",(t=>this._pinch(t))),this.hammer.on(\"pinchend\",(t=>this._pinch_end(t))),this.hammer.get(\"rotate\").set({enable:!0}),this.hammer.on(\"rotatestart\",(t=>this._rotate_start(t))),this.hammer.on(\"rotate\",(t=>this._rotate(t))),this.hammer.on(\"rotateend\",(t=>this._rotate_end(t)))}register_tool(t){const e=t.model.event_type;null!=e&&((0,u.isString)(e)?this._register_tool(t,e):e.forEach(((e,s)=>this._register_tool(t,e,s<1))))}_register_tool(t,e,s=!0){const n=t,{id:i}=n.model,r=t=>e=>{e.id==i&&t(e.e)},a=t=>e=>{t(e.e)};switch(e){case\"pan\":null!=n._pan_start&&n.connect(this.pan_start,r(n._pan_start.bind(n))),null!=n._pan&&n.connect(this.pan,r(n._pan.bind(n))),null!=n._pan_end&&n.connect(this.pan_end,r(n._pan_end.bind(n)));break;case\"pinch\":null!=n._pinch_start&&n.connect(this.pinch_start,r(n._pinch_start.bind(n))),null!=n._pinch&&n.connect(this.pinch,r(n._pinch.bind(n))),null!=n._pinch_end&&n.connect(this.pinch_end,r(n._pinch_end.bind(n)));break;case\"rotate\":null!=n._rotate_start&&n.connect(this.rotate_start,r(n._rotate_start.bind(n))),null!=n._rotate&&n.connect(this.rotate,r(n._rotate.bind(n))),null!=n._rotate_end&&n.connect(this.rotate_end,r(n._rotate_end.bind(n)));break;case\"move\":null!=n._move_enter&&n.connect(this.move_enter,r(n._move_enter.bind(n))),null!=n._move&&n.connect(this.move,r(n._move.bind(n))),null!=n._move_exit&&n.connect(this.move_exit,r(n._move_exit.bind(n)));break;case\"tap\":null!=n._tap&&n.connect(this.tap,r(n._tap.bind(n))),null!=n._doubletap&&n.connect(this.doubletap,r(n._doubletap.bind(n)));break;case\"press\":null!=n._press&&n.connect(this.press,r(n._press.bind(n))),null!=n._pressup&&n.connect(this.pressup,r(n._pressup.bind(n)));break;case\"scroll\":null!=n._scroll&&n.connect(this.scroll,r(n._scroll.bind(n)));break;default:throw new Error(`unsupported event_type: ${e}`)}s&&(null!=n._keydown&&n.connect(this.keydown,a(n._keydown.bind(n))),null!=n._keyup&&n.connect(this.keyup,a(n._keyup.bind(n))),v.is_mobile&&null!=n._scroll&&\"pinch\"==e&&(h.logger.debug(\"Registering scroll on touch screen\"),n.connect(this.scroll,r(n._scroll.bind(n)))))}_hit_test_renderers(t,e,s){var n;const i=t.get_renderer_views();for(const t of(0,p.reversed)(i))if(null===(n=t.interactive_hit)||void 0===n?void 0:n.call(t,e,s))return t;return null}set_cursor(t=\"default\"){this.hit_area.style.cursor=t}_hit_test_frame(t,e,s){return t.frame.bbox.contains(e,s)}_hit_test_canvas(t,e,s){return t.layout.bbox.contains(e,s)}_hit_test_plot(t,e){for(const s of this.canvas_view.plot_views)if(s.layout.bbox.relative().contains(t,e))return s;return null}_trigger(t,e,s){var n;const{sx:i,sy:r}=e,a=this._hit_test_plot(i,r),_=t=>{const[s,n]=[i,r];return Object.assign(Object.assign({},e),{sx:s,sy:n})};if(\"panstart\"==e.type||\"pan\"==e.type||\"panend\"==e.type){let n;if(\"panstart\"==e.type&&null!=a?(this._curr_pan={plot_view:a},n=a):\"pan\"==e.type&&null!=this._curr_pan?n=this._curr_pan.plot_view:\"panend\"==e.type&&null!=this._curr_pan?(n=this._curr_pan.plot_view,this._curr_pan=null):n=null,null!=n){const e=_();this.__trigger(n,t,e,s)}}else if(\"pinchstart\"==e.type||\"pinch\"==e.type||\"pinchend\"==e.type){let n;if(\"pinchstart\"==e.type&&null!=a?(this._curr_pinch={plot_view:a},n=a):\"pinch\"==e.type&&null!=this._curr_pinch?n=this._curr_pinch.plot_view:\"pinchend\"==e.type&&null!=this._curr_pinch?(n=this._curr_pinch.plot_view,this._curr_pinch=null):n=null,null!=n){const e=_();this.__trigger(n,t,e,s)}}else if(\"rotatestart\"==e.type||\"rotate\"==e.type||\"rotateend\"==e.type){let n;if(\"rotatestart\"==e.type&&null!=a?(this._curr_rotate={plot_view:a},n=a):\"rotate\"==e.type&&null!=this._curr_rotate?n=this._curr_rotate.plot_view:\"rotateend\"==e.type&&null!=this._curr_rotate?(n=this._curr_rotate.plot_view,this._curr_rotate=null):n=null,null!=n){const e=_();this.__trigger(n,t,e,s)}}else if(\"mouseenter\"==e.type||\"mousemove\"==e.type||\"mouseleave\"==e.type){const h=null===(n=this._prev_move)||void 0===n?void 0:n.plot_view;if(null!=h&&(\"mouseleave\"==e.type||h!=a)){const{sx:t,sy:e}=_();this.__trigger(h,this.move_exit,{type:\"mouseleave\",sx:t,sy:e,shiftKey:!1,ctrlKey:!1},s)}if(null!=a&&(\"mouseenter\"==e.type||h!=a)){const{sx:t,sy:e}=_();this.__trigger(a,this.move_enter,{type:\"mouseenter\",sx:t,sy:e,shiftKey:!1,ctrlKey:!1},s)}if(null!=a&&\"mousemove\"==e.type){const e=_();this.__trigger(a,t,e,s)}this._prev_move={sx:i,sy:r,plot_view:a}}else if(null!=a){const e=_();this.__trigger(a,t,e,s)}}__trigger(t,e,s,n){var i,r,a;const _=t.model.toolbar.gestures,h=e.name.split(\":\")[0],o=this._hit_test_renderers(t,s.sx,s.sy),l=this._hit_test_canvas(t,s.sx,s.sy);switch(h){case\"move\":{const n=_.move.active;null!=n&&this.trigger(e,s,n.id);const r=t.model.toolbar.inspectors.filter((t=>t.active));let a=\"default\";null!=o?(a=null!==(i=o.cursor(s.sx,s.sy))&&void 0!==i?i:a,(0,p.is_empty)(r)||(e=this.move_exit)):this._hit_test_frame(t,s.sx,s.sy)&&((0,p.is_empty)(r)||(a=\"crosshair\")),this.set_cursor(a),t.set_toolbar_visibility(l),r.map((t=>this.trigger(e,s,t.id)));break}case\"tap\":{const{target:i}=n;if(null!=i&&i!=this.hit_area)return;if(null===(r=null==o?void 0:o.on_hit)||void 0===r||r.call(o,s.sx,s.sy),this._hit_test_frame(t,s.sx,s.sy)){const t=_.tap.active;null!=t&&this.trigger(e,s,t.id)}break}case\"doubletap\":if(this._hit_test_frame(t,s.sx,s.sy)){const t=null!==(a=_.doubletap.active)&&void 0!==a?a:_.tap.active;null!=t&&this.trigger(e,s,t.id)}break;case\"scroll\":{const t=_[v.is_mobile?\"pinch\":\"scroll\"].active;null!=t&&(n.preventDefault(),n.stopPropagation(),this.trigger(e,s,t.id));break}case\"pan\":{const t=_.pan.active;null!=t&&(n.preventDefault(),this.trigger(e,s,t.id));break}default:{const t=_[h].active;null!=t&&this.trigger(e,s,t.id)}}this._trigger_bokeh_event(t,s)}trigger(t,e,s=null){t.emit({id:s,e})}_trigger_bokeh_event(t,e){const s=(()=>{const{sx:s,sy:n}=e,i=t.frame.x_scale.invert(s),r=t.frame.y_scale.invert(n);switch(e.type){case\"wheel\":return new l.MouseWheel(s,n,i,r,e.delta);case\"mousemove\":return new l.MouseMove(s,n,i,r);case\"mouseenter\":return new l.MouseEnter(s,n,i,r);case\"mouseleave\":return new l.MouseLeave(s,n,i,r);case\"tap\":return new l.Tap(s,n,i,r);case\"doubletap\":return new l.DoubleTap(s,n,i,r);case\"press\":return new l.Press(s,n,i,r);case\"pressup\":return new l.PressUp(s,n,i,r);case\"pan\":return new l.Pan(s,n,i,r,e.deltaX,e.deltaY);case\"panstart\":return new l.PanStart(s,n,i,r);case\"panend\":return new l.PanEnd(s,n,i,r);case\"pinch\":return new l.Pinch(s,n,i,r,e.scale);case\"pinchstart\":return new l.PinchStart(s,n,i,r);case\"pinchend\":return new l.PinchEnd(s,n,i,r);case\"rotate\":return new l.Rotate(s,n,i,r,e.rotation);case\"rotatestart\":return new l.RotateStart(s,n,i,r);case\"rotateend\":return new l.RotateEnd(s,n,i,r);default:return}})();null!=s&&t.model.trigger_event(s)}_get_sxy(t){const{pageX:e,pageY:s}=function(t){return\"undefined\"!=typeof TouchEvent&&t instanceof TouchEvent}(t)?(0!=t.touches.length?t.touches:t.changedTouches)[0]:t,{left:n,top:i}=(0,o.offset)(this.hit_area);return{sx:e-n,sy:s-i}}_pan_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{deltaX:t.deltaX,deltaY:t.deltaY,shiftKey:t.srcEvent.shiftKey,ctrlKey:t.srcEvent.ctrlKey})}_pinch_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{scale:t.scale,shiftKey:t.srcEvent.shiftKey,ctrlKey:t.srcEvent.ctrlKey})}_rotate_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{rotation:t.rotation,shiftKey:t.srcEvent.shiftKey,ctrlKey:t.srcEvent.ctrlKey})}_tap_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{shiftKey:t.srcEvent.shiftKey,ctrlKey:t.srcEvent.ctrlKey})}_move_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t)),{shiftKey:t.shiftKey,ctrlKey:t.ctrlKey})}_scroll_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t)),{delta:(0,c.getDeltaY)(t),shiftKey:t.shiftKey,ctrlKey:t.ctrlKey})}_key_event(t){return{type:t.type,keyCode:t.keyCode}}_pan_start(t){const e=this._pan_event(t);e.sx-=t.deltaX,e.sy-=t.deltaY,this._trigger(this.pan_start,e,t.srcEvent)}_pan(t){this._trigger(this.pan,this._pan_event(t),t.srcEvent)}_pan_end(t){this._trigger(this.pan_end,this._pan_event(t),t.srcEvent)}_pinch_start(t){this._trigger(this.pinch_start,this._pinch_event(t),t.srcEvent)}_pinch(t){this._trigger(this.pinch,this._pinch_event(t),t.srcEvent)}_pinch_end(t){this._trigger(this.pinch_end,this._pinch_event(t),t.srcEvent)}_rotate_start(t){this._trigger(this.rotate_start,this._rotate_event(t),t.srcEvent)}_rotate(t){this._trigger(this.rotate,this._rotate_event(t),t.srcEvent)}_rotate_end(t){this._trigger(this.rotate_end,this._rotate_event(t),t.srcEvent)}_tap(t){this._trigger(this.tap,this._tap_event(t),t.srcEvent)}_doubletap(t){this._trigger(this.doubletap,this._tap_event(t),t.srcEvent)}_press(t){this._trigger(this.press,this._tap_event(t),t.srcEvent)}_pressup(t){this._trigger(this.pressup,this._tap_event(t),t.srcEvent)}_mouse_enter(t){this._trigger(this.move_enter,this._move_event(t),t)}_mouse_move(t){this._trigger(this.move,this._move_event(t),t)}_mouse_exit(t){this._trigger(this.move_exit,this._move_event(t),t)}_mouse_wheel(t){this._trigger(this.scroll,this._scroll_event(t),t)}_context_menu(t){!this.menu.is_open&&this.menu.can_open&&t.preventDefault();const{sx:e,sy:s}=this._get_sxy(t);this.menu.toggle({left:e,top:s})}_key_down(t){this.trigger(this.keydown,this._key_event(t))}_key_up(t){this.trigger(this.keyup,this._key_event(t))}}s.UIEventBus=g,g.__name__=\"UIEventBus\"},\n function _(e,t,s,n,_){n();var a=this&&this.__decorate||function(e,t,s,n){var _,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,s):n;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,s,n);else for(var r=e.length-1;r>=0;r--)(_=e[r])&&(o=(a<3?_(o):a>3?_(t,s,o):_(t,s))||o);return a>3&&o&&Object.defineProperty(t,s,o),o};function o(e){return function(t){t.prototype.event_name=e}}class r{to_json(){const{event_name:e}=this;return{event_name:e,event_values:this._to_json()}}}s.BokehEvent=r,r.__name__=\"BokehEvent\";class c extends r{constructor(){super(...arguments),this.origin=null}_to_json(){return{model:this.origin}}}s.ModelEvent=c,c.__name__=\"ModelEvent\";let l=class extends r{_to_json(){return{}}};s.DocumentReady=l,l.__name__=\"DocumentReady\",s.DocumentReady=l=a([o(\"document_ready\")],l);let i=class extends c{};s.ButtonClick=i,i.__name__=\"ButtonClick\",s.ButtonClick=i=a([o(\"button_click\")],i);let u=class extends c{constructor(e){super(),this.item=e}_to_json(){const{item:e}=this;return Object.assign(Object.assign({},super._to_json()),{item:e})}};s.MenuItemClick=u,u.__name__=\"MenuItemClick\",s.MenuItemClick=u=a([o(\"menu_item_click\")],u);class d extends c{}s.UIEvent=d,d.__name__=\"UIEvent\";let m=class extends d{};s.LODStart=m,m.__name__=\"LODStart\",s.LODStart=m=a([o(\"lodstart\")],m);let h=class extends d{};s.LODEnd=h,h.__name__=\"LODEnd\",s.LODEnd=h=a([o(\"lodend\")],h);let p=class extends d{constructor(e,t,s,n){super(),this.x0=e,this.x1=t,this.y0=s,this.y1=n}_to_json(){const{x0:e,x1:t,y0:s,y1:n}=this;return Object.assign(Object.assign({},super._to_json()),{x0:e,x1:t,y0:s,y1:n})}};s.RangesUpdate=p,p.__name__=\"RangesUpdate\",s.RangesUpdate=p=a([o(\"rangesupdate\")],p);let x=class extends d{constructor(e,t){super(),this.geometry=e,this.final=t}_to_json(){const{geometry:e,final:t}=this;return Object.assign(Object.assign({},super._to_json()),{geometry:e,final:t})}};s.SelectionGeometry=x,x.__name__=\"SelectionGeometry\",s.SelectionGeometry=x=a([o(\"selectiongeometry\")],x);let j=class extends d{};s.Reset=j,j.__name__=\"Reset\",s.Reset=j=a([o(\"reset\")],j);class y extends d{constructor(e,t,s,n){super(),this.sx=e,this.sy=t,this.x=s,this.y=n}_to_json(){const{sx:e,sy:t,x:s,y:n}=this;return Object.assign(Object.assign({},super._to_json()),{sx:e,sy:t,x:s,y:n})}}s.PointEvent=y,y.__name__=\"PointEvent\";let g=class extends y{constructor(e,t,s,n,_,a){super(e,t,s,n),this.delta_x=_,this.delta_y=a}_to_json(){const{delta_x:e,delta_y:t}=this;return Object.assign(Object.assign({},super._to_json()),{delta_x:e,delta_y:t})}};s.Pan=g,g.__name__=\"Pan\",s.Pan=g=a([o(\"pan\")],g);let P=class extends y{constructor(e,t,s,n,_){super(e,t,s,n),this.scale=_}_to_json(){const{scale:e}=this;return Object.assign(Object.assign({},super._to_json()),{scale:e})}};s.Pinch=P,P.__name__=\"Pinch\",s.Pinch=P=a([o(\"pinch\")],P);let O=class extends y{constructor(e,t,s,n,_){super(e,t,s,n),this.rotation=_}_to_json(){const{rotation:e}=this;return Object.assign(Object.assign({},super._to_json()),{rotation:e})}};s.Rotate=O,O.__name__=\"Rotate\",s.Rotate=O=a([o(\"rotate\")],O);let b=class extends y{constructor(e,t,s,n,_){super(e,t,s,n),this.delta=_}_to_json(){const{delta:e}=this;return Object.assign(Object.assign({},super._to_json()),{delta:e})}};s.MouseWheel=b,b.__name__=\"MouseWheel\",s.MouseWheel=b=a([o(\"wheel\")],b);let v=class extends y{};s.MouseMove=v,v.__name__=\"MouseMove\",s.MouseMove=v=a([o(\"mousemove\")],v);let E=class extends y{};s.MouseEnter=E,E.__name__=\"MouseEnter\",s.MouseEnter=E=a([o(\"mouseenter\")],E);let R=class extends y{};s.MouseLeave=R,R.__name__=\"MouseLeave\",s.MouseLeave=R=a([o(\"mouseleave\")],R);let M=class extends y{};s.Tap=M,M.__name__=\"Tap\",s.Tap=M=a([o(\"tap\")],M);let f=class extends y{};s.DoubleTap=f,f.__name__=\"DoubleTap\",s.DoubleTap=f=a([o(\"doubletap\")],f);let S=class extends y{};s.Press=S,S.__name__=\"Press\",s.Press=S=a([o(\"press\")],S);let D=class extends y{};s.PressUp=D,D.__name__=\"PressUp\",s.PressUp=D=a([o(\"pressup\")],D);let k=class extends y{};s.PanStart=k,k.__name__=\"PanStart\",s.PanStart=k=a([o(\"panstart\")],k);let L=class extends y{};s.PanEnd=L,L.__name__=\"PanEnd\",s.PanEnd=L=a([o(\"panend\")],L);let U=class extends y{};s.PinchStart=U,U.__name__=\"PinchStart\",s.PinchStart=U=a([o(\"pinchstart\")],U);let C=class extends y{};s.PinchEnd=C,C.__name__=\"PinchEnd\",s.PinchEnd=C=a([o(\"pinchend\")],C);let T=class extends y{};s.RotateStart=T,T.__name__=\"RotateStart\",s.RotateStart=T=a([o(\"rotatestart\")],T);let B=class extends y{};s.RotateEnd=B,B.__name__=\"RotateEnd\",s.RotateEnd=B=a([o(\"rotateend\")],B)},\n function _(t,e,n,l,o){\n /*!\n * jQuery Mousewheel 3.1.13\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n */\n function u(t){const e=getComputedStyle(t).fontSize;return null!=e?parseInt(e,10):null}l(),n.getDeltaY=function(t){let e=-t.deltaY;if(t.target instanceof HTMLElement)switch(t.deltaMode){case t.DOM_DELTA_LINE:e*=(n=t.target,null!==(a=null!==(o=u(null!==(l=n.offsetParent)&&void 0!==l?l:document.body))&&void 0!==o?o:u(n))&&void 0!==a?a:16);break;case t.DOM_DELTA_PAGE:e*=function(t){return t.clientHeight}(t.target)}var n,l,o,a;return e}},\n function _(m,o,n,r,a){r(),a(\"Expression\",m(254).Expression),a(\"CustomJSExpr\",m(255).CustomJSExpr),a(\"Stack\",m(256).Stack),a(\"CumSum\",m(257).CumSum),a(\"ScalarExpression\",m(254).ScalarExpression),a(\"Minimum\",m(258).Minimum),a(\"Maximum\",m(259).Maximum);var s=m(260);a(\"XComponent\",s.XComponent),a(\"YComponent\",s.YComponent),a(\"PolarTransform\",m(261).PolarTransform)},\n function _(e,t,s,i,r){i();const n=e(53);class _ extends n.Model{constructor(e){super(e)}initialize(){super.initialize(),this._result=new Map}v_compute(e){let t=this._result.get(e);return(void 0===t||e.changed_for(this))&&(t=this._v_compute(e),this._result.set(e,t)),t}}s.Expression=_,_.__name__=\"Expression\";class o extends n.Model{constructor(e){super(e)}initialize(){super.initialize(),this._result=new Map}compute(e){let t=this._result.get(e);return(void 0===t||e.changed_for(this))&&(t=this._compute(e),this._result.set(e,t)),t}}s.ScalarExpression=o,o.__name__=\"ScalarExpression\"},\n function _(e,s,t,n,r){var a;n();const o=e(14),c=e(254),i=e(24),u=e(9),l=e(13),h=e(34),g=e(8);class p extends c.Expression{constructor(e){super(e)}connect_signals(){super.connect_signals();for(const e of(0,l.values)(this.args))e instanceof o.HasProps&&e.change.connect((()=>{this._result.clear(),this.change.emit()}))}get names(){return(0,l.keys)(this.args)}get values(){return(0,l.values)(this.args)}get func(){const e=(0,h.use_strict)(this.code);return new i.GeneratorFunction(...this.names,e)}_v_compute(e){const s=this.func.apply(e,this.values);let t=s.next();if(t.done&&void 0!==t.value){const{value:s}=t;return(0,g.isArray)(s)||(0,g.isTypedArray)(s)?s:(0,g.isIterable)(s)?[...s]:(0,u.repeat)(s,e.length)}{const e=[];do{e.push(t.value),t=s.next()}while(!t.done);return e}}}t.CustomJSExpr=p,a=p,p.__name__=\"CustomJSExpr\",a.define((({Unknown:e,String:s,Dict:t})=>({args:[t(e),{}],code:[s,\"\"]})))},\n function _(t,n,e,o,r){var s;o();const a=t(254);class c extends a.Expression{constructor(t){super(t)}_v_compute(t){var n;const e=null!==(n=t.get_length())&&void 0!==n?n:0,o=new Float64Array(e);for(const n of this.fields){const r=t.data[n];if(null!=r){const t=Math.min(e,r.length);for(let n=0;n({fields:[n(t),[]]})))},\n function _(e,n,t,o,r){var i;o();const l=e(254);class u extends l.Expression{constructor(e){super(e)}_v_compute(e){var n;const t=new Float64Array(null!==(n=e.get_length())&&void 0!==n?n:0),o=e.data[this.field],r=this.include_zero?1:0;t[0]=this.include_zero?0:o[0];for(let e=1;e({field:[n],include_zero:[e,!1]})))},\n function _(i,n,l,t,e){var a;t();const u=i(254),r=i(9);class s extends u.ScalarExpression{constructor(i){super(i)}_compute(i){var n,l;const t=null!==(n=i.data[this.field])&&void 0!==n?n:[];return Math.min(null!==(l=this.initial)&&void 0!==l?l:1/0,(0,r.min)(t))}}l.Minimum=s,a=s,s.__name__=\"Minimum\",a.define((({Number:i,String:n,Nullable:l})=>({field:[n],initial:[l(i),null]})))},\n function _(i,a,n,l,t){var e;l();const u=i(254),r=i(9);class s extends u.ScalarExpression{constructor(i){super(i)}_compute(i){var a,n;const l=null!==(a=i.data[this.field])&&void 0!==a?a:[];return Math.max(null!==(n=this.initial)&&void 0!==n?n:-1/0,(0,r.max)(l))}}n.Maximum=s,e=s,s.__name__=\"Maximum\",e.define((({Number:i,String:a,Nullable:n})=>({field:[a],initial:[n(i),null]})))},\n function _(n,e,t,o,r){var s;o();const _=n(254);class m extends _.Expression{constructor(n){super(n)}get x(){return new c({transform:this})}get y(){return new u({transform:this})}}t.CoordinateTransform=m,m.__name__=\"CoordinateTransform\";class a extends _.Expression{constructor(n){super(n)}}t.XYComponent=a,s=a,a.__name__=\"XYComponent\",s.define((({Ref:n})=>({transform:[n(m)]})));class c extends a{constructor(n){super(n)}_v_compute(n){return this.transform.v_compute(n).x}}t.XComponent=c,c.__name__=\"XComponent\";class u extends a{constructor(n){super(n)}_v_compute(n){return this.transform.v_compute(n).y}}t.YComponent=u,u.__name__=\"YComponent\"},\n function _(r,t,n,e,o){e();const i=r(1);var a;const s=r(260),c=r(20),l=(0,i.__importStar)(r(18));class d extends s.CoordinateTransform{constructor(r){super(r)}_v_compute(r){const t=this.properties.radius.uniform(r),n=this.properties.angle.uniform(r),e=\"anticlock\"==this.direction?-1:1,o=Math.min(t.length,n.length),i=new Float64Array(o),a=new Float64Array(o);for(let r=0;r({radius:[l.DistanceSpec,{field:\"radius\"}],angle:[l.AngleSpec,{field:\"angle\"}],direction:[c.Direction,\"anticlock\"]})))},\n function _(e,t,l,r,i){r(),i(\"BooleanFilter\",e(263).BooleanFilter),i(\"CustomJSFilter\",e(264).CustomJSFilter),i(\"Filter\",e(191).Filter),i(\"GroupFilter\",e(265).GroupFilter),i(\"IndexFilter\",e(266).IndexFilter)},\n function _(e,n,l,o,s){var t;o();const a=e(191),r=e(24);class c extends a.Filter{constructor(e){super(e)}compute_indices(e){const n=e.length,{booleans:l}=this;return null==l?r.Indices.all_set(n):r.Indices.from_booleans(n,l)}}l.BooleanFilter=c,t=c,c.__name__=\"BooleanFilter\",t.define((({Boolean:e,Array:n,Nullable:l})=>({booleans:[l(n(e)),null]})))},\n function _(e,n,r,s,t){var i;s();const o=e(191),c=e(24),u=e(13),a=e(8),l=e(34);class f extends o.Filter{constructor(e){super(e)}get names(){return(0,u.keys)(this.args)}get values(){return(0,u.values)(this.args)}get func(){const e=(0,l.use_strict)(this.code);return new Function(...this.names,\"source\",e)}compute_indices(e){const n=e.length,r=this.func(...this.values,e);if(null==r)return c.Indices.all_set(n);if((0,a.isArrayOf)(r,a.isInteger))return c.Indices.from_indices(n,r);if((0,a.isArrayOf)(r,a.isBoolean))return c.Indices.from_booleans(n,r);throw new Error(`expect an array of integers or booleans, or null, got ${r}`)}}r.CustomJSFilter=f,i=f,f.__name__=\"CustomJSFilter\",i.define((({Unknown:e,String:n,Dict:r})=>({args:[r(e),{}],code:[n,\"\"]})))},\n function _(n,e,t,o,r){var u;o();const s=n(191),c=n(24),i=n(19);class l extends s.Filter{constructor(n){super(n)}compute_indices(n){const e=n.get_column(this.column_name);if(null==e)return i.logger.warn(`${this}: groupby column '${this.column_name}' not found in the data source`),new c.Indices(n.length,1);{const t=new c.Indices(n.length);for(let n=0;n({column_name:[n],group:[n]})))},\n function _(e,n,i,s,t){var l;s();const c=e(191),r=e(24);class d extends c.Filter{constructor(e){super(e)}compute_indices(e){const n=e.length,{indices:i}=this;return null==i?r.Indices.all_set(n):r.Indices.from_indices(n,i)}}i.IndexFilter=d,l=d,d.__name__=\"IndexFilter\",l.define((({Int:e,Array:n,Nullable:i})=>({indices:[i(n(e)),null]})))},\n function _(e,a,l,i,t){i(),t(\"AnnularWedge\",e(268).AnnularWedge),t(\"Annulus\",e(269).Annulus),t(\"Arc\",e(270).Arc),t(\"Bezier\",e(271).Bezier),t(\"Circle\",e(272).Circle),t(\"Ellipse\",e(273).Ellipse),t(\"EllipseOval\",e(274).EllipseOval),t(\"Glyph\",e(179).Glyph),t(\"HArea\",e(187).HArea),t(\"HBar\",e(276).HBar),t(\"HexTile\",e(278).HexTile),t(\"Image\",e(279).Image),t(\"ImageRGBA\",e(281).ImageRGBA),t(\"ImageURL\",e(282).ImageURL),t(\"Line\",e(177).Line),t(\"MultiLine\",e(283).MultiLine),t(\"MultiPolygons\",e(284).MultiPolygons),t(\"Oval\",e(285).Oval),t(\"Patch\",e(186).Patch),t(\"Patches\",e(286).Patches),t(\"Quad\",e(287).Quad),t(\"Quadratic\",e(288).Quadratic),t(\"Ray\",e(289).Ray),t(\"Rect\",e(290).Rect),t(\"Scatter\",e(291).Scatter),t(\"Segment\",e(294).Segment),t(\"Spline\",e(295).Spline),t(\"Step\",e(297).Step),t(\"Text\",e(298).Text),t(\"VArea\",e(189).VArea),t(\"VBar\",e(299).VBar),t(\"Wedge\",e(300).Wedge)},\n function _(e,s,t,i,r){i();const n=e(1);var a;const _=e(178),o=e(184),d=e(48),u=e(24),h=e(20),c=(0,n.__importStar)(e(18)),l=e(10),g=e(72),p=e(12);class x extends _.XYGlyphView{_map_data(){\"data\"==this.model.properties.inner_radius.units?this.sinner_radius=this.sdist(this.renderer.xscale,this._x,this.inner_radius):this.sinner_radius=(0,u.to_screen)(this.inner_radius),\"data\"==this.model.properties.outer_radius.units?this.souter_radius=this.sdist(this.renderer.xscale,this._x,this.outer_radius):this.souter_radius=(0,u.to_screen)(this.outer_radius),this.max_souter_radius=(0,p.max)(this.souter_radius)}_render(e,s,t){const{sx:i,sy:r,start_angle:n,end_angle:a,sinner_radius:_,souter_radius:o}=null!=t?t:this,d=\"anticlock\"==this.model.direction;for(const t of s){const s=i[t],u=r[t],h=_[t],c=o[t],l=n.get(t),g=a.get(t);if(!isFinite(s+u+h+c+l+g))continue;const p=g-l;e.translate(s,u),e.rotate(l),e.beginPath(),e.moveTo(c,0),e.arc(0,0,c,0,p,d),e.rotate(p),e.lineTo(h,0),e.arc(0,0,h,0,-p,!d),e.closePath(),e.rotate(-p-l),e.translate(-s,-u),this.visuals.fill.apply(e,t),this.visuals.hatch.apply(e,t),this.visuals.line.apply(e,t)}}_hit_point(e){const{sx:s,sy:t}=e,i=this.renderer.xscale.invert(s),r=this.renderer.yscale.invert(t),n=s-this.max_souter_radius,a=s+this.max_souter_radius,[_,o]=this.renderer.xscale.r_invert(n,a),d=t-this.max_souter_radius,u=t+this.max_souter_radius,[h,c]=this.renderer.yscale.r_invert(d,u),p=[];for(const e of this.index.indices({x0:_,x1:o,y0:h,y1:c})){const s=this.souter_radius[e]**2,t=this.sinner_radius[e]**2,[n,a]=this.renderer.xscale.r_compute(i,this._x[e]),[_,o]=this.renderer.yscale.r_compute(r,this._y[e]),d=(n-a)**2+(_-o)**2;d<=s&&d>=t&&p.push(e)}const x=\"anticlock\"==this.model.direction,m=[];for(const e of p){const i=Math.atan2(t-this.sy[e],s-this.sx[e]);(0,l.angle_between)(-i,-this.start_angle.get(e),-this.end_angle.get(e),x)&&m.push(e)}return new g.Selection({indices:m})}draw_legend_for_index(e,s,t){(0,o.generic_area_vector_legend)(this.visuals,e,s,t)}scenterxy(e){const s=(this.sinner_radius[e]+this.souter_radius[e])/2,t=(this.start_angle.get(e)+this.end_angle.get(e))/2;return[this.sx[e]+s*Math.cos(t),this.sy[e]+s*Math.sin(t)]}}t.AnnularWedgeView=x,x.__name__=\"AnnularWedgeView\";class m extends _.XYGlyph{constructor(e){super(e)}}t.AnnularWedge=m,a=m,m.__name__=\"AnnularWedge\",a.prototype.default_view=x,a.mixins([d.LineVector,d.FillVector,d.HatchVector]),a.define((({})=>({direction:[h.Direction,\"anticlock\"],inner_radius:[c.DistanceSpec,{field:\"inner_radius\"}],outer_radius:[c.DistanceSpec,{field:\"outer_radius\"}],start_angle:[c.AngleSpec,{field:\"start_angle\"}],end_angle:[c.AngleSpec,{field:\"end_angle\"}]})))},\n function _(s,e,i,r,t){r();const n=s(1);var a;const u=s(178),o=s(24),_=s(48),d=(0,n.__importStar)(s(18)),h=s(27),c=s(72);class l extends u.XYGlyphView{_map_data(){\"data\"==this.model.properties.inner_radius.units?this.sinner_radius=this.sdist(this.renderer.xscale,this._x,this.inner_radius):this.sinner_radius=(0,o.to_screen)(this.inner_radius),\"data\"==this.model.properties.outer_radius.units?this.souter_radius=this.sdist(this.renderer.xscale,this._x,this.outer_radius):this.souter_radius=(0,o.to_screen)(this.outer_radius)}_render(s,e,i){const{sx:r,sy:t,sinner_radius:n,souter_radius:a}=null!=i?i:this;for(const i of e){const e=r[i],u=t[i],o=n[i],_=a[i];if(isFinite(e+u+o+_)){if(s.beginPath(),h.is_ie)for(const i of[!1,!0])s.moveTo(e,u),s.arc(e,u,o,0,Math.PI,i),s.moveTo(e+_,u),s.arc(e,u,_,Math.PI,0,!i);else s.arc(e,u,o,0,2*Math.PI,!0),s.moveTo(e+_,u),s.arc(e,u,_,2*Math.PI,0,!1);this.visuals.fill.apply(s,i),this.visuals.hatch.apply(s,i),this.visuals.line.apply(s,i)}}}_hit_point(s){const{sx:e,sy:i}=s,r=this.renderer.xscale.invert(e),t=this.renderer.yscale.invert(i);let n,a,u,o;if(\"data\"==this.model.properties.outer_radius.units)n=r-this.max_outer_radius,u=r+this.max_outer_radius,a=t-this.max_outer_radius,o=t+this.max_outer_radius;else{const s=e-this.max_outer_radius,r=e+this.max_outer_radius;[n,u]=this.renderer.xscale.r_invert(s,r);const t=i-this.max_outer_radius,_=i+this.max_outer_radius;[a,o]=this.renderer.yscale.r_invert(t,_)}const _=[];for(const s of this.index.indices({x0:n,x1:u,y0:a,y1:o})){const e=this.souter_radius[s]**2,i=this.sinner_radius[s]**2,[n,a]=this.renderer.xscale.r_compute(r,this._x[s]),[u,o]=this.renderer.yscale.r_compute(t,this._y[s]),d=(n-a)**2+(u-o)**2;d<=e&&d>=i&&_.push(s)}return new c.Selection({indices:_})}draw_legend_for_index(s,{x0:e,y0:i,x1:r,y1:t},n){const a=n+1,u=new Array(a);u[n]=(e+r)/2;const o=new Array(a);o[n]=(i+t)/2;const _=.5*Math.min(Math.abs(r-e),Math.abs(t-i)),d=new Array(a);d[n]=.4*_;const h=new Array(a);h[n]=.8*_,this._render(s,[n],{sx:u,sy:o,sinner_radius:d,souter_radius:h})}}i.AnnulusView=l,l.__name__=\"AnnulusView\";class x extends u.XYGlyph{constructor(s){super(s)}}i.Annulus=x,a=x,x.__name__=\"Annulus\",a.prototype.default_view=l,a.mixins([_.LineVector,_.FillVector,_.HatchVector]),a.define((({})=>({inner_radius:[d.DistanceSpec,{field:\"inner_radius\"}],outer_radius:[d.DistanceSpec,{field:\"outer_radius\"}]})))},\n function _(e,i,s,t,n){t();const r=e(1);var a;const c=e(178),d=e(184),l=e(48),_=e(24),o=e(20),u=(0,r.__importStar)(e(18));class h extends c.XYGlyphView{_map_data(){\"data\"==this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this.radius):this.sradius=(0,_.to_screen)(this.radius)}_render(e,i,s){if(this.visuals.line.doit){const{sx:t,sy:n,sradius:r,start_angle:a,end_angle:c}=null!=s?s:this,d=\"anticlock\"==this.model.direction;for(const s of i){const i=t[s],l=n[s],_=r[s],o=a.get(s),u=c.get(s);isFinite(i+l+_+o+u)&&(e.beginPath(),e.arc(i,l,_,o,u,d),this.visuals.line.set_vectorize(e,s),e.stroke())}}}draw_legend_for_index(e,i,s){(0,d.generic_line_vector_legend)(this.visuals,e,i,s)}}s.ArcView=h,h.__name__=\"ArcView\";class g extends c.XYGlyph{constructor(e){super(e)}}s.Arc=g,a=g,g.__name__=\"Arc\",a.prototype.default_view=h,a.mixins(l.LineVector),a.define((({})=>({direction:[o.Direction,\"anticlock\"],radius:[u.DistanceSpec,{field:\"radius\"}],start_angle:[u.AngleSpec,{field:\"start_angle\"}],end_angle:[u.AngleSpec,{field:\"end_angle\"}]})))},\n function _(e,t,i,n,s){n();const o=e(1);var c;const r=e(48),a=e(179),_=e(184),d=e(78),l=(0,o.__importStar)(e(18));function x(e,t,i,n,s,o,c,r){const a=[],_=[[],[]];for(let _=0;_<=2;_++){let d,l,x;if(0===_?(l=6*e-12*i+6*s,d=-3*e+9*i-9*s+3*c,x=3*i-3*e):(l=6*t-12*n+6*o,d=-3*t+9*n-9*o+3*r,x=3*n-3*t),Math.abs(d)<1e-12){if(Math.abs(l)<1e-12)continue;const e=-x/l;0({x0:[l.XCoordinateSpec,{field:\"x0\"}],y0:[l.YCoordinateSpec,{field:\"y0\"}],x1:[l.XCoordinateSpec,{field:\"x1\"}],y1:[l.YCoordinateSpec,{field:\"y1\"}],cx0:[l.XCoordinateSpec,{field:\"cx0\"}],cy0:[l.YCoordinateSpec,{field:\"cy0\"}],cx1:[l.XCoordinateSpec,{field:\"cx1\"}],cy1:[l.YCoordinateSpec,{field:\"cy1\"}]}))),c.mixins(r.LineVector)},\n function _(s,i,e,t,r){t();const a=s(1);var n;const h=s(178),d=s(48),l=s(24),_=s(20),c=(0,a.__importStar)(s(185)),u=(0,a.__importStar)(s(18)),o=s(9),x=s(12),m=s(72);class p extends h.XYGlyphView{async lazy_initialize(){await super.lazy_initialize();const{webgl:i}=this.renderer.plot_view.canvas_view;if(null!=i&&i.regl_wrapper.has_webgl){const{CircleGL:e}=await Promise.resolve().then((()=>(0,a.__importStar)(s(423))));this.glglyph=new e(i.regl_wrapper,this)}}get use_radius(){return!(this.radius.is_Scalar()&&isNaN(this.radius.value))}_set_data(s){super._set_data(s);const i=(()=>{if(this.use_radius)return 2*this.max_radius;{const{size:s}=this;return s.is_Scalar()?s.value:(0,x.max)(s.array)}})();this._configure(\"max_size\",{value:i})}_map_data(){if(this.use_radius)if(\"data\"==this.model.properties.radius.units)switch(this.model.radius_dimension){case\"x\":this.sradius=this.sdist(this.renderer.xscale,this._x,this.radius);break;case\"y\":this.sradius=this.sdist(this.renderer.yscale,this._y,this.radius);break;case\"max\":{const s=this.sdist(this.renderer.xscale,this._x,this.radius),i=this.sdist(this.renderer.yscale,this._y,this.radius);this.sradius=(0,x.map)(s,((s,e)=>Math.max(s,i[e])));break}case\"min\":{const s=this.sdist(this.renderer.xscale,this._x,this.radius),i=this.sdist(this.renderer.yscale,this._y,this.radius);this.sradius=(0,x.map)(s,((s,e)=>Math.min(s,i[e])));break}}else this.sradius=(0,l.to_screen)(this.radius);else{const s=l.ScreenArray.from(this.size);this.sradius=(0,x.map)(s,(s=>s/2))}}_mask_data(){const{frame:s}=this.renderer.plot_view,i=s.x_target,e=s.y_target;let t,r;return this.use_radius&&\"data\"==this.model.properties.radius.units?(t=i.map((s=>this.renderer.xscale.invert(s))).widen(this.max_radius),r=e.map((s=>this.renderer.yscale.invert(s))).widen(this.max_radius)):(t=i.widen(this.max_size).map((s=>this.renderer.xscale.invert(s))),r=e.widen(this.max_size).map((s=>this.renderer.yscale.invert(s)))),this.index.indices({x0:t.start,x1:t.end,y0:r.start,y1:r.end})}_render(s,i,e){const{sx:t,sy:r,sradius:a}=null!=e?e:this;for(const e of i){const i=t[e],n=r[e],h=a[e];isFinite(i+n+h)&&(s.beginPath(),s.arc(i,n,h,0,2*Math.PI,!1),this.visuals.fill.apply(s,e),this.visuals.hatch.apply(s,e),this.visuals.line.apply(s,e))}}_hit_point(s){const{sx:i,sy:e}=s,t=this.renderer.xscale.invert(i),r=this.renderer.yscale.invert(e),{hit_dilation:a}=this.model;let n,h,d,l;if(this.use_radius&&\"data\"==this.model.properties.radius.units)n=t-this.max_radius*a,h=t+this.max_radius*a,d=r-this.max_radius*a,l=r+this.max_radius*a;else{const s=i-this.max_size*a,t=i+this.max_size*a;[n,h]=this.renderer.xscale.r_invert(s,t);const r=e-this.max_size*a,_=e+this.max_size*a;[d,l]=this.renderer.yscale.r_invert(r,_)}const _=this.index.indices({x0:n,x1:h,y0:d,y1:l}),c=[];if(this.use_radius&&\"data\"==this.model.properties.radius.units)for(const s of _){const i=(this.sradius[s]*a)**2,[e,n]=this.renderer.xscale.r_compute(t,this._x[s]),[h,d]=this.renderer.yscale.r_compute(r,this._y[s]);(e-n)**2+(h-d)**2<=i&&c.push(s)}else for(const s of _){const t=(this.sradius[s]*a)**2;(this.sx[s]-i)**2+(this.sy[s]-e)**2<=t&&c.push(s)}return new m.Selection({indices:c})}_hit_span(s){const{sx:i,sy:e}=s,t=this.bounds();let r,a,n,h;if(\"h\"==s.direction){let s,e;if(n=t.y0,h=t.y1,this.use_radius&&\"data\"==this.model.properties.radius.units)s=i-this.max_radius,e=i+this.max_radius,[r,a]=this.renderer.xscale.r_invert(s,e);else{const t=this.max_size/2;s=i-t,e=i+t,[r,a]=this.renderer.xscale.r_invert(s,e)}}else{let s,i;if(r=t.x0,a=t.x1,this.use_radius&&\"data\"==this.model.properties.radius.units)s=e-this.max_radius,i=e+this.max_radius,[n,h]=this.renderer.yscale.r_invert(s,i);else{const t=this.max_size/2;s=e-t,i=e+t,[n,h]=this.renderer.yscale.r_invert(s,i)}}const d=[...this.index.indices({x0:r,x1:a,y0:n,y1:h})];return new m.Selection({indices:d})}_hit_rect(s){const{sx0:i,sx1:e,sy0:t,sy1:r}=s,[a,n]=this.renderer.xscale.r_invert(i,e),[h,d]=this.renderer.yscale.r_invert(t,r),l=[...this.index.indices({x0:a,x1:n,y0:h,y1:d})];return new m.Selection({indices:l})}_hit_poly(s){const{sx:i,sy:e}=s,t=(0,o.range)(0,this.sx.length),r=[];for(let s=0,a=t.length;s({angle:[u.AngleSpec,0],size:[u.ScreenSizeSpec,{value:4}],radius:[u.NullDistanceSpec,null],radius_dimension:[_.RadiusDimension,\"x\"],hit_dilation:[s,1]})))},\n function _(e,l,s,i,_){var p;i();const t=e(274);class a extends t.EllipseOvalView{}s.EllipseView=a,a.__name__=\"EllipseView\";class n extends t.EllipseOval{constructor(e){super(e)}}s.Ellipse=n,p=n,n.__name__=\"Ellipse\",p.prototype.default_view=a},\n function _(t,s,e,i,h){i();const n=t(1),r=t(275),a=(0,n.__importStar)(t(185)),l=t(24),_=t(72),o=(0,n.__importStar)(t(18));class d extends r.CenterRotatableView{_map_data(){\"data\"==this.model.properties.width.units?this.sw=this.sdist(this.renderer.xscale,this._x,this.width,\"center\"):this.sw=(0,l.to_screen)(this.width),\"data\"==this.model.properties.height.units?this.sh=this.sdist(this.renderer.yscale,this._y,this.height,\"center\"):this.sh=(0,l.to_screen)(this.height)}_render(t,s,e){const{sx:i,sy:h,sw:n,sh:r,angle:a}=null!=e?e:this;for(const e of s){const s=i[e],l=h[e],_=n[e],o=r[e],d=a.get(e);isFinite(s+l+_+o+d)&&(t.beginPath(),t.ellipse(s,l,_/2,o/2,d,0,2*Math.PI),this.visuals.fill.apply(t,e),this.visuals.hatch.apply(t,e),this.visuals.line.apply(t,e))}}_hit_point(t){let s,e,i,h,n,r,l,o,d;const{sx:c,sy:p}=t,w=this.renderer.xscale.invert(c),x=this.renderer.yscale.invert(p);\"data\"==this.model.properties.width.units?(s=w-this.max_width,e=w+this.max_width):(r=c-this.max_width,l=c+this.max_width,[s,e]=this.renderer.xscale.r_invert(r,l)),\"data\"==this.model.properties.height.units?(i=x-this.max_height,h=x+this.max_height):(o=p-this.max_height,d=p+this.max_height,[i,h]=this.renderer.yscale.r_invert(o,d));const m=this.index.indices({x0:s,x1:e,y0:i,y1:h}),y=[];for(const t of m)n=a.point_in_ellipse(c,p,this.angle.get(t),this.sh[t]/2,this.sw[t]/2,this.sx[t],this.sy[t]),n&&y.push(t);return new _.Selection({indices:y})}draw_legend_for_index(t,{x0:s,y0:e,x1:i,y1:h},n){const r=n+1,a=new Array(r);a[n]=(s+i)/2;const l=new Array(r);l[n]=(e+h)/2;const _=this.sw[n]/this.sh[n],d=.8*Math.min(Math.abs(i-s),Math.abs(h-e)),c=new Array(r),p=new Array(r);_>1?(c[n]=d,p[n]=d/_):(c[n]=d*_,p[n]=d);const w=new o.UniformScalar(0,r);this._render(t,[n],{sx:a,sy:l,sw:c,sh:p,angle:w})}}e.EllipseOvalView=d,d.__name__=\"EllipseOvalView\";class c extends r.CenterRotatable{constructor(t){super(t)}}e.EllipseOval=c,c.__name__=\"EllipseOval\"},\n function _(e,t,i,a,n){a();const s=e(1);var r;const h=e(178),o=e(48),_=(0,s.__importStar)(e(18));class c extends h.XYGlyphView{get max_w2(){return\"data\"==this.model.properties.width.units?this.max_width/2:0}get max_h2(){return\"data\"==this.model.properties.height.units?this.max_height/2:0}_bounds({x0:e,x1:t,y0:i,y1:a}){const{max_w2:n,max_h2:s}=this;return{x0:e-n,x1:t+n,y0:i-s,y1:a+s}}}i.CenterRotatableView=c,c.__name__=\"CenterRotatableView\";class l extends h.XYGlyph{constructor(e){super(e)}}i.CenterRotatable=l,r=l,l.__name__=\"CenterRotatable\",r.mixins([o.LineVector,o.FillVector,o.HatchVector]),r.define((({})=>({angle:[_.AngleSpec,0],width:[_.DistanceSpec,{field:\"width\"}],height:[_.DistanceSpec,{field:\"height\"}]})))},\n function _(t,e,s,i,r){i();const h=t(1);var a;const n=t(277),_=t(24),o=(0,h.__importStar)(t(18));class l extends n.BoxView{async lazy_initialize(){await super.lazy_initialize();const{webgl:e}=this.renderer.plot_view.canvas_view;if(null!=e&&e.regl_wrapper.has_webgl){const{LRTBGL:s}=await Promise.resolve().then((()=>(0,h.__importStar)(t(427))));this.glglyph=new s(e.regl_wrapper,this)}}scenterxy(t){return[(this.sleft[t]+this.sright[t])/2,this.sy[t]]}_lrtb(t){const e=this._left[t],s=this._right[t],i=this._y[t],r=this.height.get(t)/2;return[Math.min(e,s),Math.max(e,s),i+r,i-r]}_map_data(){this.sy=this.renderer.yscale.v_compute(this._y),this.sh=this.sdist(this.renderer.yscale,this._y,this.height,\"center\"),this.sleft=this.renderer.xscale.v_compute(this._left),this.sright=this.renderer.xscale.v_compute(this._right);const t=this.sy.length;this.stop=new _.ScreenArray(t),this.sbottom=new _.ScreenArray(t);for(let e=0;e({left:[o.XCoordinateSpec,{value:0}],y:[o.YCoordinateSpec,{field:\"y\"}],height:[o.NumberSpec,{value:1}],right:[o.XCoordinateSpec,{field:\"right\"}]})))},\n function _(t,e,s,r,i){var n;r();const a=t(48),h=t(179),o=t(184),c=t(72);class _ extends h.GlyphView{get_anchor_point(t,e,s){const r=Math.min(this.sleft[e],this.sright[e]),i=Math.max(this.sright[e],this.sleft[e]),n=Math.min(this.stop[e],this.sbottom[e]),a=Math.max(this.sbottom[e],this.stop[e]);switch(t){case\"top_left\":return{x:r,y:n};case\"top\":case\"top_center\":return{x:(r+i)/2,y:n};case\"top_right\":return{x:i,y:n};case\"bottom_left\":return{x:r,y:a};case\"bottom\":case\"bottom_center\":return{x:(r+i)/2,y:a};case\"bottom_right\":return{x:i,y:a};case\"left\":case\"center_left\":return{x:r,y:(n+a)/2};case\"center\":case\"center_center\":return{x:(r+i)/2,y:(n+a)/2};case\"right\":case\"center_right\":return{x:i,y:(n+a)/2}}}_index_data(t){const{min:e,max:s}=Math,{data_size:r}=this;for(let i=0;i(0,n.__importStar)(e(425))));this.glglyph=new s(t.regl_wrapper,this)}}scenterxy(e){return[this.sx[e],this.sy[e]]}_set_data(){const{orientation:e,size:t,aspect_scale:s}=this.model,{q:i,r}=this,n=this.q.length;this._x=new Float64Array(n),this._y=new Float64Array(n);const{_x:a,_y:l}=this,o=Math.sqrt(3);if(\"pointytop\"==e)for(let e=0;e({r:[c.NumberSpec,{field:\"r\"}],q:[c.NumberSpec,{field:\"q\"}],scale:[c.NumberSpec,1],size:[e,1],aspect_scale:[e,1],orientation:[_.HexTileOrientation,\"pointytop\"]}))),a.override({line_color:null})},\n function _(e,a,t,_,r){var n;_();const s=e(280),o=e(173),i=e(201);class p extends s.ImageBaseView{connect_signals(){super.connect_signals(),this.connect(this.model.color_mapper.change,(()=>this._update_image()))}_update_image(){null!=this.image_data&&(this._set_data(null),this.renderer.request_render())}_flat_img_to_buf8(e){return this.model.color_mapper.rgba_mapper.v_compute(e)}}t.ImageView=p,p.__name__=\"ImageView\";class m extends s.ImageBase{constructor(e){super(e)}}t.Image=m,n=m,m.__name__=\"Image\",n.prototype.default_view=p,n.define((({Ref:e})=>({color_mapper:[e(o.ColorMapper),()=>new i.LinearColorMapper({palette:[\"#000000\",\"#252525\",\"#525252\",\"#737373\",\"#969696\",\"#bdbdbd\",\"#d9d9d9\",\"#f0f0f0\",\"#ffffff\"]})]})))},\n function _(e,t,i,s,a){s();const h=e(1);var n;const r=e(178),_=e(24),d=(0,h.__importStar)(e(18)),l=e(72),g=e(9),o=e(29),c=e(11);class m extends r.XYGlyphView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.global_alpha.change,(()=>this.renderer.request_render()))}_render(e,t,i){const{image_data:s,sx:a,sy:h,sw:n,sh:r,global_alpha:_}=null!=i?i:this,d=e.getImageSmoothingEnabled();e.setImageSmoothingEnabled(!1);const l=_.is_Scalar();l&&(e.globalAlpha=_.value);for(const i of t){const t=s[i],_=a[i],d=h[i],g=n[i],o=r[i],c=this.global_alpha.get(i);if(null==t||!isFinite(_+d+g+o+c))continue;l||(e.globalAlpha=c);const m=d;e.translate(0,m),e.scale(1,-1),e.translate(0,-m),e.drawImage(t,0|_,0|d,g,o),e.translate(0,m),e.scale(1,-1),e.translate(0,-m)}e.setImageSmoothingEnabled(d)}_set_data(e){this._set_width_heigh_data();for(let t=0,i=this.image.length;t({image:[d.NDArraySpec,{field:\"image\"}],dw:[d.DistanceSpec,{field:\"dw\"}],dh:[d.DistanceSpec,{field:\"dh\"}],global_alpha:[d.NumberSpec,{value:1}],dilate:[e,!1]})))},\n function _(e,a,t,r,_){var n;r();const s=e(280),m=e(8);class i extends s.ImageBaseView{_flat_img_to_buf8(e){let a;return a=(0,m.isArray)(e)?new Uint32Array(e):e,new Uint8ClampedArray(a.buffer)}}t.ImageRGBAView=i,i.__name__=\"ImageRGBAView\";class g extends s.ImageBase{constructor(e){super(e)}}t.ImageRGBA=g,n=g,g.__name__=\"ImageRGBA\",n.prototype.default_view=i},\n function _(e,t,s,r,a){r();const i=e(1);var n;const o=e(178),c=e(24),_=e(20),h=(0,i.__importStar)(e(18)),l=e(12),d=e(136);class m extends o.XYGlyphView{constructor(){super(...arguments),this._images_rendered=!1,this._set_data_iteration=0}connect_signals(){super.connect_signals(),this.connect(this.model.properties.global_alpha.change,(()=>this.renderer.request_render()))}_index_data(e){const{data_size:t}=this;for(let s=0;s{this._set_data_iteration==r&&(this.image[a]=e,this.renderer.request_render())},attempts:t+1,timeout:s})}const a=\"data\"==this.model.properties.w.units,i=\"data\"==this.model.properties.h.units,n=this._x.length,o=new c.ScreenArray(a?2*n:n),_=new c.ScreenArray(i?2*n:n),{anchor:h}=this.model;function m(e,t){switch(h){case\"top_left\":case\"bottom_left\":case\"left\":case\"center_left\":return[e,e+t];case\"top\":case\"top_center\":case\"bottom\":case\"bottom_center\":case\"center\":case\"center_center\":return[e-t/2,e+t/2];case\"top_right\":case\"bottom_right\":case\"right\":case\"center_right\":return[e-t,e]}}function g(e,t){switch(h){case\"top_left\":case\"top\":case\"top_center\":case\"top_right\":return[e,e-t];case\"bottom_left\":case\"bottom\":case\"bottom_center\":case\"bottom_right\":return[e+t,e];case\"left\":case\"center_left\":case\"center\":case\"center_center\":case\"right\":case\"center_right\":return[e+t/2,e-t/2]}}if(a)for(let e=0;e({url:[h.StringSpec,{field:\"url\"}],anchor:[_.Anchor,\"top_left\"],global_alpha:[h.NumberSpec,{value:1}],angle:[h.AngleSpec,0],w:[h.NullDistanceSpec,null],h:[h.NullDistanceSpec,null],dilate:[e,!1],retry_attempts:[t,0],retry_timeout:[t,0]})))},\n function _(e,t,s,i,n){i();const o=e(1);var r;const l=e(78),_=e(48),c=(0,o.__importStar)(e(185)),h=(0,o.__importStar)(e(18)),a=e(12),d=e(13),x=e(179),y=e(184),g=e(72);class p extends x.GlyphView{_project_data(){l.inplace.project_xy(this._xs.array,this._ys.array)}_index_data(e){const{data_size:t}=this;for(let s=0;s0&&o.set(e,s)}return new g.Selection({indices:[...o.keys()],multiline_indices:(0,d.to_object)(o)})}get_interpolation_hit(e,t,s){const i=this._xs.get(e),n=this._ys.get(e),o=i[t],r=n[t],l=i[t+1],_=n[t+1];return(0,y.line_interpolation)(this.renderer,s,o,r,l,_)}draw_legend_for_index(e,t,s){(0,y.generic_line_vector_legend)(this.visuals,e,t,s)}scenterxy(){throw new Error(`${this}.scenterxy() is not implemented`)}}s.MultiLineView=p,p.__name__=\"MultiLineView\";class u extends x.Glyph{constructor(e){super(e)}}s.MultiLine=u,r=u,u.__name__=\"MultiLine\",r.prototype.default_view=p,r.define((({})=>({xs:[h.XCoordinateSeqSpec,{field:\"xs\"}],ys:[h.YCoordinateSeqSpec,{field:\"ys\"}]}))),r.mixins(_.LineVector)},\n function _(t,e,s,n,i){n();const o=t(1);var r;const l=t(181),h=t(179),a=t(184),_=t(12),c=t(12),d=t(48),x=(0,o.__importStar)(t(185)),y=(0,o.__importStar)(t(18)),f=t(72),g=t(11);class p extends h.GlyphView{_project_data(){}_index_data(t){const{min:e,max:s}=Math,{data_size:n}=this;for(let i=0;i1&&c.length>1)for(let s=1,n=i.length;s1){let r=!1;for(let t=1;t({xs:[y.XCoordinateSeqSeqSeqSpec,{field:\"xs\"}],ys:[y.YCoordinateSeqSeqSeqSpec,{field:\"ys\"}]}))),r.mixins([d.LineVector,d.FillVector,d.HatchVector])},\n function _(a,e,l,s,_){var t;s();const i=a(274),n=a(12);class p extends i.EllipseOvalView{_map_data(){super._map_data(),(0,n.mul)(this.sw,.75)}}l.OvalView=p,p.__name__=\"OvalView\";class v extends i.EllipseOval{constructor(a){super(a)}}l.Oval=v,t=v,v.__name__=\"Oval\",t.prototype.default_view=p},\n function _(e,t,s,i,n){i();const r=e(1);var a;const o=e(179),c=e(184),_=e(12),h=e(48),l=(0,r.__importStar)(e(185)),d=(0,r.__importStar)(e(18)),y=e(72),p=e(11),x=e(78);class f extends o.GlyphView{_project_data(){x.inplace.project_xy(this._xs.array,this._ys.array)}_index_data(e){const{data_size:t}=this;for(let s=0;s({xs:[d.XCoordinateSeqSpec,{field:\"xs\"}],ys:[d.YCoordinateSeqSpec,{field:\"ys\"}]}))),a.mixins([h.LineVector,h.FillVector,h.HatchVector])},\n function _(t,e,i,o,r){o();const s=t(1);var a;const n=t(277),l=(0,s.__importStar)(t(18));class _ extends n.BoxView{async lazy_initialize(){await super.lazy_initialize();const{webgl:e}=this.renderer.plot_view.canvas_view;if(null!=e&&e.regl_wrapper.has_webgl){const{LRTBGL:i}=await Promise.resolve().then((()=>(0,s.__importStar)(t(427))));this.glglyph=new i(e.regl_wrapper,this)}}scenterxy(t){return[this.sleft[t]/2+this.sright[t]/2,this.stop[t]/2+this.sbottom[t]/2]}_lrtb(t){return[this._left[t],this._right[t],this._top[t],this._bottom[t]]}}i.QuadView=_,_.__name__=\"QuadView\";class p extends n.Box{constructor(t){super(t)}}i.Quad=p,a=p,p.__name__=\"Quad\",a.prototype.default_view=_,a.define((({})=>({right:[l.XCoordinateSpec,{field:\"right\"}],bottom:[l.YCoordinateSpec,{field:\"bottom\"}],left:[l.XCoordinateSpec,{field:\"left\"}],top:[l.YCoordinateSpec,{field:\"top\"}]})))},\n function _(e,t,i,n,s){n();const c=e(1);var o;const r=e(48),a=e(78),_=e(179),d=e(184),l=(0,c.__importStar)(e(18));function x(e,t,i){if(t==(e+i)/2)return[e,i];{const n=(e-t)/(e-2*t+i),s=e*(1-n)**2+2*t*(1-n)*n+i*n**2;return[Math.min(e,i,s),Math.max(e,i,s)]}}class y extends _.GlyphView{_project_data(){a.inplace.project_xy(this._x0,this._y0),a.inplace.project_xy(this._x1,this._y1)}_index_data(e){const{_x0:t,_x1:i,_y0:n,_y1:s,_cx:c,_cy:o,data_size:r}=this;for(let a=0;a({x0:[l.XCoordinateSpec,{field:\"x0\"}],y0:[l.YCoordinateSpec,{field:\"y0\"}],x1:[l.XCoordinateSpec,{field:\"x1\"}],y1:[l.YCoordinateSpec,{field:\"y1\"}],cx:[l.XCoordinateSpec,{field:\"cx\"}],cy:[l.YCoordinateSpec,{field:\"cy\"}]}))),o.mixins(r.LineVector)},\n function _(e,t,s,i,n){i();const l=e(1);var a;const r=e(178),o=e(184),h=e(48),_=e(24),c=(0,l.__importStar)(e(18));class g extends r.XYGlyphView{_map_data(){\"data\"==this.model.properties.length.units?this.slength=this.sdist(this.renderer.xscale,this._x,this.length):this.slength=(0,_.to_screen)(this.length);const{width:e,height:t}=this.renderer.plot_view.frame.bbox,s=2*(e+t),{slength:i}=this;for(let e=0,t=i.length;e({length:[c.DistanceSpec,0],angle:[c.AngleSpec,0]})))},\n function _(t,e,s,i,r){var n,h=this&&this.__createBinding||(Object.create?function(t,e,s,i){void 0===i&&(i=s),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[s]}})}:function(t,e,s,i){void 0===i&&(i=s),t[i]=e[s]}),a=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,\"default\",{enumerable:!0,value:e})}:function(t,e){t.default=e}),l=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var s in t)\"default\"!==s&&Object.prototype.hasOwnProperty.call(t,s)&&h(e,t,s);return a(e,t),e};i();const o=t(275),c=t(184),_=t(24),d=t(12),f=t(72);class y extends o.CenterRotatableView{async lazy_initialize(){await super.lazy_initialize();const{webgl:e}=this.renderer.plot_view.canvas_view;if(null==e?void 0:e.regl_wrapper.has_webgl){const{RectGL:s}=await Promise.resolve().then((()=>l(t(429))));this.glglyph=new s(e.regl_wrapper,this)}}_map_data(){if(\"data\"==this.model.properties.width.units)[this.sw,this.sx0]=this._map_dist_corner_for_data_side_length(this._x,this.width,this.renderer.xscale);else{this.sw=(0,_.to_screen)(this.width);const t=this.sx.length;this.sx0=new _.ScreenArray(t);for(let e=0;e({dilate:[t,!1]})))},\n function _(e,t,r,a,s){a();const i=e(1);var n;const l=e(292),_=e(293),c=(0,i.__importStar)(e(18));class o extends l.MarkerView{async lazy_initialize(){await super.lazy_initialize();const{webgl:t}=this.renderer.plot_view.canvas_view;if(null!=t&&t.regl_wrapper.has_webgl){const{MultiMarkerGL:r}=await Promise.resolve().then((()=>(0,i.__importStar)(e(428))));this.glglyph=new r(t.regl_wrapper,this)}}_render(e,t,r){const{sx:a,sy:s,size:i,angle:n,marker:l}=null!=r?r:this;for(const r of t){const t=a[r],c=s[r],o=i.get(r),g=n.get(r),w=l.get(r);if(!isFinite(t+c+o+g)||null==w)continue;const p=o/2;e.beginPath(),e.translate(t,c),g&&e.rotate(g),_.marker_funcs[w](e,r,p,this.visuals),g&&e.rotate(-g),e.translate(-t,-c)}}draw_legend_for_index(e,{x0:t,x1:r,y0:a,y1:s},i){const n=i+1,l=this.marker.get(i),_=Object.assign(Object.assign({},this._get_legend_args({x0:t,x1:r,y0:a,y1:s},i)),{marker:new c.UniformScalar(l,n)});this._render(e,[i],_)}}r.ScatterView=o,o.__name__=\"ScatterView\";class g extends l.Marker{constructor(e){super(e)}}r.Scatter=g,n=g,g.__name__=\"Scatter\",n.prototype.default_view=o,n.define((()=>({marker:[c.MarkerSpec,{value:\"circle\"}]})))},\n function _(e,t,s,n,i){n();const r=e(1);var a;const c=e(178),o=e(48),_=(0,r.__importStar)(e(185)),h=(0,r.__importStar)(e(18)),l=e(9),x=e(72);class d extends c.XYGlyphView{_render(e,t,s){const{sx:n,sy:i,size:r,angle:a}=null!=s?s:this;for(const s of t){const t=n[s],c=i[s],o=r.get(s),_=a.get(s);if(!isFinite(t+c+o+_))continue;const h=o/2;e.beginPath(),e.translate(t,c),_&&e.rotate(_),this._render_one(e,s,h,this.visuals),_&&e.rotate(-_),e.translate(-t,-c)}}_mask_data(){const{x_target:e,y_target:t}=this.renderer.plot_view.frame,s=e.widen(this.max_size).map((e=>this.renderer.xscale.invert(e))),n=t.widen(this.max_size).map((e=>this.renderer.yscale.invert(e)));return this.index.indices({x0:s.start,x1:s.end,y0:n.start,y1:n.end})}_hit_point(e){const{sx:t,sy:s}=e,{max_size:n}=this,{hit_dilation:i}=this.model,r=t-n*i,a=t+n*i,[c,o]=this.renderer.xscale.r_invert(r,a),_=s-n*i,h=s+n*i,[l,d]=this.renderer.yscale.r_invert(_,h),y=this.index.indices({x0:c,x1:o,y0:l,y1:d}),g=[];for(const e of y){const n=this.size.get(e)/2*i;Math.abs(this.sx[e]-t)<=n&&Math.abs(this.sy[e]-s)<=n&&g.push(e)}return new x.Selection({indices:g})}_hit_span(e){const{sx:t,sy:s}=e,n=this.bounds(),i=this.max_size/2;let r,a,c,o;if(\"h\"==e.direction){c=n.y0,o=n.y1;const e=t-i,s=t+i;[r,a]=this.renderer.xscale.r_invert(e,s)}else{r=n.x0,a=n.x1;const e=s-i,t=s+i;[c,o]=this.renderer.yscale.r_invert(e,t)}const _=[...this.index.indices({x0:r,x1:a,y0:c,y1:o})];return new x.Selection({indices:_})}_hit_rect(e){const{sx0:t,sx1:s,sy0:n,sy1:i}=e,[r,a]=this.renderer.xscale.r_invert(t,s),[c,o]=this.renderer.yscale.r_invert(n,i),_=[...this.index.indices({x0:r,x1:a,y0:c,y1:o})];return new x.Selection({indices:_})}_hit_poly(e){const{sx:t,sy:s}=e,n=(0,l.range)(0,this.sx.length),i=[];for(let e=0,r=n.length;e({size:[h.ScreenSizeSpec,{value:4}],angle:[h.AngleSpec,0],hit_dilation:[e,1]})))},\n function _(l,o,n,t,i){t();const e=Math.sqrt(3),a=Math.sqrt(5),c=(a+1)/4,p=Math.sqrt((5-a)/8),r=(a-1)/4,h=Math.sqrt((5+a)/8);function u(l,o){l.rotate(Math.PI/4),s(l,o),l.rotate(-Math.PI/4)}function f(l,o){const n=o*e,t=n/3;l.moveTo(-n/2,-t),l.lineTo(0,0),l.lineTo(n/2,-t),l.lineTo(0,0),l.lineTo(0,o)}function s(l,o){l.moveTo(0,o),l.lineTo(0,-o),l.moveTo(-o,0),l.lineTo(o,0)}function T(l,o){l.moveTo(0,o),l.lineTo(o/1.5,0),l.lineTo(0,-o),l.lineTo(-o/1.5,0),l.closePath()}function y(l,o){const n=o*e,t=n/3;l.moveTo(-o,t),l.lineTo(o,t),l.lineTo(0,t-n),l.closePath()}function v(l,o,n,t){l.arc(0,0,n,0,2*Math.PI,!1),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)}function d(l,o,n,t){T(l,n),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)}function _(l,o,n,t){!function(l,o){l.beginPath(),l.arc(0,0,o/4,0,2*Math.PI,!1),l.closePath()}(l,n),t.line.set_vectorize(l,o),l.fillStyle=l.strokeStyle,l.fill()}function P(l,o,n,t){!function(l,o){const n=o/2,t=e*n;l.moveTo(o,0),l.lineTo(n,-t),l.lineTo(-n,-t),l.lineTo(-o,0),l.lineTo(-n,t),l.lineTo(n,t),l.closePath()}(l,n),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)}function m(l,o,n,t){const i=2*n;l.rect(-n,-n,i,i),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)}function q(l,o,n,t){!function(l,o){const n=Math.sqrt(5-2*a)*o;l.moveTo(0,-o),l.lineTo(n*r,n*h-o),l.lineTo(n*(1+r),n*h-o),l.lineTo(n*(1+r-c),n*(h+p)-o),l.lineTo(n*(1+2*r-c),n*(2*h+p)-o),l.lineTo(0,2*n*h-o),l.lineTo(-n*(1+2*r-c),n*(2*h+p)-o),l.lineTo(-n*(1+r-c),n*(h+p)-o),l.lineTo(-n*(1+r),n*h-o),l.lineTo(-n*r,n*h-o),l.closePath()}(l,n),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)}function M(l,o,n,t){y(l,n),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)}n.marker_funcs={asterisk:function(l,o,n,t){s(l,n),u(l,n),t.line.apply(l,o)},circle:v,circle_cross:function(l,o,n,t){l.arc(0,0,n,0,2*Math.PI,!1),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.doit&&(t.line.set_vectorize(l,o),s(l,n),l.stroke())},circle_dot:function(l,o,n,t){v(l,o,n,t),_(l,o,n,t)},circle_y:function(l,o,n,t){l.arc(0,0,n,0,2*Math.PI,!1),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.doit&&(t.line.set_vectorize(l,o),f(l,n),l.stroke())},circle_x:function(l,o,n,t){l.arc(0,0,n,0,2*Math.PI,!1),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.doit&&(t.line.set_vectorize(l,o),u(l,n),l.stroke())},cross:function(l,o,n,t){s(l,n),t.line.apply(l,o)},diamond:d,diamond_dot:function(l,o,n,t){d(l,o,n,t),_(l,o,n,t)},diamond_cross:function(l,o,n,t){T(l,n),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.doit&&(t.line.set_vectorize(l,o),l.moveTo(0,n),l.lineTo(0,-n),l.moveTo(-n/1.5,0),l.lineTo(n/1.5,0),l.stroke())},dot:_,hex:P,hex_dot:function(l,o,n,t){P(l,o,n,t),_(l,o,n,t)},inverted_triangle:function(l,o,n,t){l.rotate(Math.PI),y(l,n),l.rotate(-Math.PI),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)},plus:function(l,o,n,t){const i=3*n/8,e=[i,i,n,n,i,i,-i,-i,-n,-n,-i,-i],a=[n,i,i,-i,-i,-n,-n,-i,-i,i,i,n];l.beginPath();for(let o=0;o<12;o++)l.lineTo(e[o],a[o]);l.closePath(),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)},square:m,square_cross:function(l,o,n,t){const i=2*n;l.rect(-n,-n,i,i),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.doit&&(t.line.set_vectorize(l,o),s(l,n),l.stroke())},square_dot:function(l,o,n,t){m(l,o,n,t),_(l,o,n,t)},square_pin:function(l,o,n,t){const i=3*n/8;l.moveTo(-n,-n),l.quadraticCurveTo(0,-i,n,-n),l.quadraticCurveTo(i,0,n,n),l.quadraticCurveTo(0,i,-n,n),l.quadraticCurveTo(-i,0,-n,-n),l.closePath(),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)},square_x:function(l,o,n,t){const i=2*n;l.rect(-n,-n,i,i),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.doit&&(t.line.set_vectorize(l,o),l.moveTo(-n,n),l.lineTo(n,-n),l.moveTo(-n,-n),l.lineTo(n,n),l.stroke())},star:q,star_dot:function(l,o,n,t){q(l,o,n,t),_(l,o,n,t)},triangle:M,triangle_dot:function(l,o,n,t){M(l,o,n,t),_(l,o,n,t)},triangle_pin:function(l,o,n,t){const i=n*e,a=i/3,c=3*a/8;l.moveTo(-n,a),l.quadraticCurveTo(0,c,n,a),l.quadraticCurveTo(e*c/2,c/2,0,a-i),l.quadraticCurveTo(-e*c/2,c/2,-n,a),l.closePath(),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)},dash:function(l,o,n,t){!function(l,o){l.moveTo(-o,0),l.lineTo(o,0)}(l,n),t.line.apply(l,o)},x:function(l,o,n,t){u(l,n),t.line.apply(l,o)},y:function(l,o,n,t){f(l,n),t.line.apply(l,o)}}},\n function _(e,t,s,i,n){i();const r=e(1);var o;const _=(0,r.__importStar)(e(185)),h=(0,r.__importStar)(e(18)),c=e(48),a=e(78),d=e(179),x=e(184),l=e(72);class y extends d.GlyphView{_project_data(){a.inplace.project_xy(this._x0,this._y0),a.inplace.project_xy(this._x1,this._y1)}_index_data(e){const{min:t,max:s}=Math,{_x0:i,_x1:n,_y0:r,_y1:o,data_size:_}=this;for(let h=0;h<_;h++){const _=i[h],c=n[h],a=r[h],d=o[h];e.add_rect(t(_,c),t(a,d),s(_,c),s(a,d))}}_render(e,t,s){if(this.visuals.line.doit){const{sx0:i,sy0:n,sx1:r,sy1:o}=null!=s?s:this;for(const s of t){const t=i[s],_=n[s],h=r[s],c=o[s];isFinite(t+_+h+c)&&(e.beginPath(),e.moveTo(t,_),e.lineTo(h,c),this.visuals.line.set_vectorize(e,s),e.stroke())}}}_hit_point(e){const{sx:t,sy:s}=e,i={x:t,y:s},[n,r]=this.renderer.xscale.r_invert(t-2,t+2),[o,h]=this.renderer.yscale.r_invert(s-2,s+2),c=this.index.indices({x0:n,y0:o,x1:r,y1:h}),a=[];for(const e of c){const t=Math.max(2,this.line_width.get(e)/2)**2,s={x:this.sx0[e],y:this.sy0[e]},n={x:this.sx1[e],y:this.sy1[e]};_.dist_to_segment_squared(i,s,n)({x0:[h.XCoordinateSpec,{field:\"x0\"}],y0:[h.YCoordinateSpec,{field:\"y0\"}],x1:[h.XCoordinateSpec,{field:\"x1\"}],y1:[h.YCoordinateSpec,{field:\"y1\"}]}))),o.mixins(c.LineVector)},\n function _(t,e,s,i,n){i();const o=t(1);var _;const l=t(178),a=(0,o.__importStar)(t(48)),c=t(296);class r extends l.XYGlyphView{_set_data(){const{tension:t,closed:e}=this.model;[this._xt,this._yt]=(0,c.catmullrom_spline)(this._x,this._y,20,t,e)}_map_data(){const{x_scale:t,y_scale:e}=this.renderer.coordinates;this.sxt=t.v_compute(this._xt),this.syt=e.v_compute(this._yt)}_render(t,e,s){const{sxt:i,syt:n}=null!=s?s:this;let o=!0;t.beginPath();const _=i.length;for(let e=0;e<_;e++){const s=i[e],_=n[e];isFinite(s+_)?o?(t.moveTo(s,_),o=!1):t.lineTo(s,_):o=!0}this.visuals.line.set_value(t),t.stroke()}}s.SplineView=r,r.__name__=\"SplineView\";class h extends l.XYGlyph{constructor(t){super(t)}}s.Spline=h,_=h,h.__name__=\"Spline\",_.prototype.default_view=r,_.mixins(a.LineScalar),_.define((({Boolean:t,Number:e})=>({tension:[e,.5],closed:[t,!1]})))},\n function _(n,t,e,o,s){o();const c=n(24),l=n(11);e.catmullrom_spline=function(n,t,e=10,o=.5,s=!1){(0,l.assert)(n.length==t.length);const r=n.length,f=s?r+1:r,w=(0,c.infer_type)(n,t),i=new w(f+2),u=new w(f+2);i.set(n,1),u.set(t,1),s?(i[0]=n[r-1],u[0]=t[r-1],i[f]=n[0],u[f]=t[0],i[f+1]=n[1],u[f+1]=t[1]):(i[0]=n[0],u[0]=t[0],i[f+1]=n[r-1],u[f+1]=t[r-1]);const g=new w(4*(e+1));for(let n=0,t=0;n<=e;n++){const o=n/e,s=o**2,c=o*s;g[t++]=2*c-3*s+1,g[t++]=-2*c+3*s,g[t++]=c-2*s+o,g[t++]=c-s}const h=new w((f-1)*(e+1)),_=new w((f-1)*(e+1));for(let n=1,t=0;n1&&(e.stroke(),o=!1)}o?(e.lineTo(t,r),e.lineTo(a,c)):(e.beginPath(),e.moveTo(s[n],i[n]),o=!0),l=n}e.lineTo(s[a-1],i[a-1]),e.stroke()}}draw_legend_for_index(e,t,n){(0,r.generic_line_scalar_legend)(this.visuals,e,t)}}n.StepView=f,f.__name__=\"StepView\";class u extends a.XYGlyph{constructor(e){super(e)}}n.Step=u,l=u,u.__name__=\"Step\",l.prototype.default_view=f,l.mixins(c.LineScalar),l.define((()=>({mode:[_.StepMode,\"before\"]})))},\n function _(t,e,s,i,n){i();const o=t(1);var _;const h=t(178),l=t(48),r=(0,o.__importStar)(t(185)),a=(0,o.__importStar)(t(18)),c=t(121),x=t(11),u=t(72);class f extends h.XYGlyphView{_rotate_point(t,e,s,i,n){return[(t-s)*Math.cos(n)-(e-i)*Math.sin(n)+s,(t-s)*Math.sin(n)+(e-i)*Math.cos(n)+i]}_text_bounds(t,e,s,i){return[[t,t+s,t+s,t,t],[e,e,e-i,e-i,e]]}_render(t,e,s){const{sx:i,sy:n,x_offset:o,y_offset:_,angle:h,text:l}=null!=s?s:this;this._sys=[],this._sxs=[];for(const s of e){const e=this._sxs[s]=[],r=this._sys[s]=[],a=i[s],x=n[s],u=o.get(s),f=_.get(s),p=h.get(s),g=l.get(s);if(isFinite(a+x+u+f+p)&&null!=g&&this.visuals.text.doit){const i=`${g}`;t.save(),t.translate(a+u,x+f),t.rotate(p),this.visuals.text.set_vectorize(t,s);const n=this.visuals.text.font_value(s),{height:o}=(0,c.font_metrics)(n),_=this.text_line_height.get(s)*o;if(-1==i.indexOf(\"\\n\")){t.fillText(i,0,0);const s=a+u,n=x+f,o=t.measureText(i).width,[h,l]=this._text_bounds(s,n,o,_);e.push(h),r.push(l)}else{const n=i.split(\"\\n\"),o=_*n.length,h=this.text_baseline.get(s);let l;switch(h){case\"top\":l=0;break;case\"middle\":l=-o/2+_/2;break;case\"bottom\":l=-o+_;break;default:l=0,console.warn(`'${h}' baseline not supported with multi line text`)}for(const s of n){t.fillText(s,0,l);const i=a+u,n=l+x+f,o=t.measureText(s).width,[h,c]=this._text_bounds(i,n,o,_);e.push(h),r.push(c),l+=_}}t.restore()}}}_hit_point(t){const{sx:e,sy:s}=t,i=[];for(let t=0;t({text:[a.NullStringSpec,{field:\"text\"}],angle:[a.AngleSpec,0],x_offset:[a.NumberSpec,0],y_offset:[a.NumberSpec,0]})))},\n function _(t,e,s,i,r){i();const h=t(1);var o;const a=t(277),n=t(24),_=(0,h.__importStar)(t(18));class l extends a.BoxView{async lazy_initialize(){await super.lazy_initialize();const{webgl:e}=this.renderer.plot_view.canvas_view;if(null!=e&&e.regl_wrapper.has_webgl){const{LRTBGL:s}=await Promise.resolve().then((()=>(0,h.__importStar)(t(427))));this.glglyph=new s(e.regl_wrapper,this)}}scenterxy(t){return[this.sx[t],(this.stop[t]+this.sbottom[t])/2]}_lrtb(t){const e=this.width.get(t)/2,s=this._x[t],i=this._top[t],r=this._bottom[t];return[s-e,s+e,Math.max(i,r),Math.min(i,r)]}_map_data(){this.sx=this.renderer.xscale.v_compute(this._x),this.sw=this.sdist(this.renderer.xscale,this._x,this.width,\"center\"),this.stop=this.renderer.yscale.v_compute(this._top),this.sbottom=this.renderer.yscale.v_compute(this._bottom);const t=this.sx.length;this.sleft=new n.ScreenArray(t),this.sright=new n.ScreenArray(t);for(let e=0;e({x:[_.XCoordinateSpec,{field:\"x\"}],bottom:[_.YCoordinateSpec,{value:0}],width:[_.NumberSpec,{value:1}],top:[_.YCoordinateSpec,{field:\"top\"}]})))},\n function _(e,s,t,i,n){i();const r=e(1);var a;const c=e(178),d=e(184),l=e(48),h=e(24),o=e(20),_=(0,r.__importStar)(e(18)),u=e(10),g=e(72),x=e(12);class p extends c.XYGlyphView{_map_data(){\"data\"==this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this.radius):this.sradius=(0,h.to_screen)(this.radius),this.max_sradius=(0,x.max)(this.sradius)}_render(e,s,t){const{sx:i,sy:n,sradius:r,start_angle:a,end_angle:c}=null!=t?t:this,d=\"anticlock\"==this.model.direction;for(const t of s){const s=i[t],l=n[t],h=r[t],o=a.get(t),_=c.get(t);isFinite(s+l+h+o+_)&&(e.beginPath(),e.arc(s,l,h,o,_,d),e.lineTo(s,l),e.closePath(),this.visuals.fill.apply(e,t),this.visuals.hatch.apply(e,t),this.visuals.line.apply(e,t))}}_hit_point(e){let s,t,i,n,r;const{sx:a,sy:c}=e,d=this.renderer.xscale.invert(a),l=this.renderer.yscale.invert(c);t=a-this.max_sradius,i=a+this.max_sradius;const[h,o]=this.renderer.xscale.r_invert(t,i);n=c-this.max_sradius,r=c+this.max_sradius;const[_,x]=this.renderer.yscale.r_invert(n,r),p=[];for(const e of this.index.indices({x0:h,x1:o,y0:_,y1:x})){const a=this.sradius[e]**2;[t,i]=this.renderer.xscale.r_compute(d,this._x[e]),[n,r]=this.renderer.yscale.r_compute(l,this._y[e]),s=(t-i)**2+(n-r)**2,s<=a&&p.push(e)}const y=\"anticlock\"==this.model.direction,m=[];for(const e of p){const s=Math.atan2(c-this.sy[e],a-this.sx[e]);(0,u.angle_between)(-s,-this.start_angle.get(e),-this.end_angle.get(e),y)&&m.push(e)}return new g.Selection({indices:m})}draw_legend_for_index(e,s,t){(0,d.generic_area_vector_legend)(this.visuals,e,s,t)}scenterxy(e){const s=this.sradius[e]/2,t=(this.start_angle.get(e)+this.end_angle.get(e))/2;return[this.sx[e]+s*Math.cos(t),this.sy[e]+s*Math.sin(t)]}}t.WedgeView=p,p.__name__=\"WedgeView\";class y extends c.XYGlyph{constructor(e){super(e)}}t.Wedge=y,a=y,y.__name__=\"Wedge\",a.prototype.default_view=p,a.mixins([l.LineVector,l.FillVector,l.HatchVector]),a.define((({})=>({direction:[o.Direction,\"anticlock\"],radius:[_.DistanceSpec,{field:\"radius\"}],start_angle:[_.AngleSpec,{field:\"start_angle\"}],end_angle:[_.AngleSpec,{field:\"end_angle\"}]})))},\n function _(t,_,r,o,a){o();const e=t(1);(0,e.__exportStar)(t(302),r),(0,e.__exportStar)(t(303),r),(0,e.__exportStar)(t(304),r)},\n function _(e,t,d,n,s){n();const o=e(53),r=e(12),_=e(9),i=e(72);class c extends o.Model{constructor(e){super(e)}_hit_test(e,t,d){if(!t.model.visible)return null;const n=d.glyph.hit_test(e);return null==n?null:d.model.view.convert_selection_from_subset(n)}}d.GraphHitTestPolicy=c,c.__name__=\"GraphHitTestPolicy\";class a extends c{constructor(e){super(e)}hit_test(e,t){return this._hit_test(e,t,t.edge_view)}do_selection(e,t,d,n){if(null==e)return!1;const s=t.edge_renderer.data_source.selected;return s.update(e,d,n),t.edge_renderer.data_source._select.emit(),!s.is_empty()}do_inspection(e,t,d,n,s){if(null==e)return!1;const{edge_renderer:o}=d.model,r=o.get_selection_manager().get_or_create_inspector(d.edge_view.model);return r.update(e,n,s),d.edge_view.model.data_source.setv({inspected:r},{silent:!0}),d.edge_view.model.data_source.inspect.emit([d.edge_view.model,{geometry:t}]),!r.is_empty()}}d.EdgesOnly=a,a.__name__=\"EdgesOnly\";class l extends c{constructor(e){super(e)}hit_test(e,t){return this._hit_test(e,t,t.node_view)}do_selection(e,t,d,n){if(null==e)return!1;const s=t.node_renderer.data_source.selected;return s.update(e,d,n),t.node_renderer.data_source._select.emit(),!s.is_empty()}do_inspection(e,t,d,n,s){if(null==e)return!1;const{node_renderer:o}=d.model,r=o.get_selection_manager().get_or_create_inspector(d.node_view.model);return r.update(e,n,s),d.node_view.model.data_source.setv({inspected:r},{silent:!0}),d.node_view.model.data_source.inspect.emit([d.node_view.model,{geometry:t}]),!r.is_empty()}}d.NodesOnly=l,l.__name__=\"NodesOnly\";class u extends c{constructor(e){super(e)}hit_test(e,t){return this._hit_test(e,t,t.node_view)}get_linked_edges(e,t,d){let n=[];\"selection\"==d?n=e.selected.indices.map((t=>e.data.index[t])):\"inspection\"==d&&(n=e.inspected.indices.map((t=>e.data.index[t])));const s=[];for(let e=0;e(0,r.indexOf)(e.data.index,t)));return new i.Selection({indices:o})}do_selection(e,t,d,n){if(null==e)return!1;const s=t.edge_renderer.data_source.selected;s.update(e,d,n);const o=t.node_renderer.data_source.selected,r=this.get_linked_nodes(t.node_renderer.data_source,t.edge_renderer.data_source,\"selection\");return o.update(r,d,n),t.edge_renderer.data_source._select.emit(),!s.is_empty()}do_inspection(e,t,d,n,s){if(null==e)return!1;const o=d.edge_view.model.data_source.selection_manager.get_or_create_inspector(d.edge_view.model);o.update(e,n,s),d.edge_view.model.data_source.setv({inspected:o},{silent:!0});const r=d.node_view.model.data_source.selection_manager.get_or_create_inspector(d.node_view.model),_=this.get_linked_nodes(d.node_view.model.data_source,d.edge_view.model.data_source,\"inspection\");return r.update(_,n,s),d.node_view.model.data_source.setv({inspected:r},{silent:!0}),d.edge_view.model.data_source.inspect.emit([d.edge_view.model,{geometry:t}]),!o.is_empty()}}d.EdgesAndLinkedNodes=m,m.__name__=\"EdgesAndLinkedNodes\"},\n function _(e,o,t,r,n){var s;r();const a=e(53),d=e(260);class _ extends a.Model{constructor(e){super(e)}get node_coordinates(){return new u({layout:this})}get edge_coordinates(){return new i({layout:this})}}t.LayoutProvider=_,_.__name__=\"LayoutProvider\";class c extends d.CoordinateTransform{constructor(e){super(e)}}t.GraphCoordinates=c,s=c,c.__name__=\"GraphCoordinates\",s.define((({Ref:e})=>({layout:[e(_)]})));class u extends c{constructor(e){super(e)}_v_compute(e){const[o,t]=this.layout.get_node_coordinates(e);return{x:o,y:t}}}t.NodeCoordinates=u,u.__name__=\"NodeCoordinates\";class i extends c{constructor(e){super(e)}_v_compute(e){const[o,t]=this.layout.get_edge_coordinates(e);return{x:o,y:t}}}t.EdgeCoordinates=i,i.__name__=\"EdgeCoordinates\"},\n function _(t,a,l,e,n){var o;e();const r=t(303);class u extends r.LayoutProvider{constructor(t){super(t)}get_node_coordinates(t){var a;const l=null!==(a=t.data.index)&&void 0!==a?a:[],e=l.length,n=new Float64Array(e),o=new Float64Array(e);for(let t=0;t({graph_layout:[l(a(t,t)),{}]})))},\n function _(i,d,n,r,G){r(),G(\"Grid\",i(306).Grid)},\n function _(i,e,n,s,t){s();const r=i(1);var o;const d=i(127),_=i(129),a=i(130),l=(0,r.__importStar)(i(48)),h=i(8);class c extends _.GuideRendererView{_render(){const i=this.layer.ctx;i.save(),this._draw_regions(i),this._draw_minor_grids(i),this._draw_grids(i),i.restore()}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render()))}_draw_regions(i){if(!this.visuals.band_fill.doit&&!this.visuals.band_hatch.doit)return;const[e,n]=this.grid_coords(\"major\",!1);for(let s=0;sn[1]&&(t=n[1]);else{[s,t]=n;for(const i of this.plot_view.axis_views)i.dimension==this.model.dimension&&i.model.x_range_name==this.model.x_range_name&&i.model.y_range_name==this.model.y_range_name&&([s,t]=i.computed_bounds)}return[s,t]}grid_coords(i,e=!0){const n=this.model.dimension,s=(n+1)%2,[t,r]=this.ranges();let[o,d]=this.computed_bounds();[o,d]=[Math.min(o,d),Math.max(o,d)];const _=[[],[]],a=this.model.get_ticker();if(null==a)return _;const l=a.get_ticks(o,d,t,r.min)[i],h=t.min,c=t.max,u=r.min,m=r.max;e||(l[0]!=h&&l.splice(0,0,h),l[l.length-1]!=c&&l.push(c));for(let i=0;i({bounds:[r(t(i,i),e),\"auto\"],dimension:[n(0,1),0],axis:[o(s(d.Axis)),null],ticker:[o(s(a.Ticker)),null]}))),o.override({level:\"underlay\",band_fill_color:null,band_fill_alpha:0,grid_line_color:\"#e5e5e5\",minor_grid_line_color:null})},\n function _(o,a,x,B,e){B(),e(\"Box\",o(308).Box),e(\"Column\",o(310).Column),e(\"GridBox\",o(311).GridBox),e(\"HTMLBox\",o(312).HTMLBox),e(\"LayoutDOM\",o(309).LayoutDOM),e(\"Panel\",o(313).Panel),e(\"Row\",o(314).Row),e(\"Spacer\",o(315).Spacer),e(\"Tabs\",o(316).Tabs),e(\"WidgetBox\",o(319).WidgetBox)},\n function _(e,n,s,t,c){var i;t();const o=e(309);class r extends o.LayoutDOMView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.children.change,(()=>this.rebuild()))}get child_models(){return this.model.children}}s.BoxView=r,r.__name__=\"BoxView\";class a extends o.LayoutDOM{constructor(e){super(e)}}s.Box=a,i=a,a.__name__=\"Box\",i.define((({Number:e,Array:n,Ref:s})=>({children:[n(s(o.LayoutDOM)),[]],spacing:[e,0]})))},\n function _(t,i,e,s,o){var l;s();const n=t(53),h=t(20),a=t(43),r=t(19),_=t(8),c=t(22),u=t(121),d=t(113),p=t(226),m=t(207),g=t(44),w=t(235);class f extends p.DOMView{constructor(){super(...arguments),this._offset_parent=null,this._viewport={}}get is_layout_root(){return this.is_root||!(this.parent instanceof f)}get base_font_size(){const t=getComputedStyle(this.el).fontSize,i=(0,u.parse_css_font_size)(t);if(null!=i){const{value:t,unit:e}=i;if(\"px\"==e)return t}return null}initialize(){super.initialize(),this.el.style.position=this.is_layout_root?\"relative\":\"absolute\",this._child_views=new Map}async lazy_initialize(){await super.lazy_initialize(),await this.build_child_views()}remove(){for(const t of this.child_views)t.remove();this._child_views.clear(),super.remove()}connect_signals(){super.connect_signals(),this.is_layout_root&&(this._on_resize=()=>this.resize_layout(),window.addEventListener(\"resize\",this._on_resize),this._parent_observer=setInterval((()=>{const t=this.el.offsetParent;this._offset_parent!=t&&(this._offset_parent=t,null!=t&&(this.compute_viewport(),this.invalidate_layout()))}),250));const t=this.model.properties;this.on_change([t.width,t.height,t.min_width,t.min_height,t.max_width,t.max_height,t.margin,t.width_policy,t.height_policy,t.sizing_mode,t.aspect_ratio,t.visible],(()=>this.invalidate_layout())),this.on_change([t.background,t.css_classes],(()=>this.invalidate_render()))}disconnect_signals(){null!=this._parent_observer&&clearTimeout(this._parent_observer),null!=this._on_resize&&window.removeEventListener(\"resize\",this._on_resize),super.disconnect_signals()}css_classes(){return super.css_classes().concat(this.model.css_classes)}get child_views(){return this.child_models.map((t=>this._child_views.get(t)))}async build_child_views(){await(0,d.build_views)(this._child_views,this.child_models,{parent:this})}render(){super.render(),(0,a.empty)(this.el);const{background:t}=this.model;this.el.style.backgroundColor=null!=t?(0,c.color2css)(t):\"\",(0,a.classes)(this.el).clear().add(...this.css_classes());for(const t of this.child_views)this.el.appendChild(t.el),t.render()}update_layout(){for(const t of this.child_views)t.update_layout();this._update_layout()}update_position(){this.el.style.display=this.model.visible?\"block\":\"none\";const t=this.is_layout_root?this.layout.sizing.margin:void 0;(0,a.position)(this.el,this.layout.bbox,t);for(const t of this.child_views)t.update_position()}after_layout(){for(const t of this.child_views)t.after_layout();this._has_finished=!0}compute_viewport(){this._viewport=this._viewport_size()}renderTo(t){t.appendChild(this.el),this._offset_parent=this.el.offsetParent,this.compute_viewport(),this.build(),this.notify_finished()}build(){if(!this.is_layout_root)throw new Error(`${this.toString()} is not a root layout`);return this.render(),this.update_layout(),this.compute_layout(),this}async rebuild(){await this.build_child_views(),this.invalidate_render()}compute_layout(){const t=Date.now();this.layout.compute(this._viewport),this.update_position(),this.after_layout(),r.logger.debug(`layout computed in ${Date.now()-t} ms`)}resize_layout(){this.root.compute_viewport(),this.root.compute_layout()}invalidate_layout(){this.root.update_layout(),this.root.compute_layout()}invalidate_render(){this.render(),this.invalidate_layout()}has_finished(){if(!super.has_finished())return!1;for(const t of this.child_views)if(!t.has_finished())return!1;return!0}_width_policy(){return null!=this.model.width?\"fixed\":\"fit\"}_height_policy(){return null!=this.model.height?\"fixed\":\"fit\"}box_sizing(){let{width_policy:t,height_policy:i,aspect_ratio:e}=this.model;\"auto\"==t&&(t=this._width_policy()),\"auto\"==i&&(i=this._height_policy());const{sizing_mode:s}=this.model;if(null!=s)if(\"fixed\"==s)t=i=\"fixed\";else if(\"stretch_both\"==s)t=i=\"max\";else if(\"stretch_width\"==s)t=\"max\";else if(\"stretch_height\"==s)i=\"max\";else switch(null==e&&(e=\"auto\"),s){case\"scale_width\":t=\"max\",i=\"min\";break;case\"scale_height\":t=\"min\",i=\"max\";break;case\"scale_both\":t=\"max\",i=\"max\"}const o={width_policy:t,height_policy:i},{min_width:l,min_height:n}=this.model;null!=l&&(o.min_width=l),null!=n&&(o.min_height=n);const{width:h,height:a}=this.model;null!=h&&(o.width=h),null!=a&&(o.height=a);const{max_width:r,max_height:c}=this.model;null!=r&&(o.max_width=r),null!=c&&(o.max_height=c),\"auto\"==e&&null!=h&&null!=a?o.aspect=h/a:(0,_.isNumber)(e)&&(o.aspect=e);const{margin:u}=this.model;if(null!=u)if((0,_.isNumber)(u))o.margin={top:u,right:u,bottom:u,left:u};else if(2==u.length){const[t,i]=u;o.margin={top:t,right:i,bottom:t,left:i}}else{const[t,i,e,s]=u;o.margin={top:t,right:i,bottom:e,left:s}}o.visible=this.model.visible;const{align:d}=this.model;return(0,_.isArray)(d)?[o.halign,o.valign]=d:o.halign=o.valign=d,o}_viewport_size(){return(0,a.undisplayed)(this.el,(()=>{let t=this.el;for(;t=t.parentElement;){if(t.classList.contains(g.root))continue;if(t==document.body){const{margin:{left:t,right:i,top:e,bottom:s}}=(0,a.extents)(document.body);return{width:Math.ceil(document.documentElement.clientWidth-t-i),height:Math.ceil(document.documentElement.clientHeight-e-s)}}const{padding:{left:i,right:e,top:s,bottom:o}}=(0,a.extents)(t),{width:l,height:n}=t.getBoundingClientRect(),h=Math.ceil(l-i-e),r=Math.ceil(n-s-o);if(h>0||r>0)return{width:h>0?h:void 0,height:r>0?r:void 0}}return{}}))}export(t,i=!0){const e=\"png\"==t?\"canvas\":\"svg\",s=new w.CanvasLayer(e,i),{width:o,height:l}=this.layout.bbox;s.resize(o,l);for(const e of this.child_views){const o=e.export(t,i),{x:l,y:n}=e.layout.bbox;s.ctx.drawImage(o.canvas,l,n)}return s}serializable_state(){return Object.assign(Object.assign({},super.serializable_state()),{bbox:this.layout.bbox.box,children:this.child_views.map((t=>t.serializable_state()))})}}e.LayoutDOMView=f,f.__name__=\"LayoutDOMView\";class y extends n.Model{constructor(t){super(t)}}e.LayoutDOM=y,l=y,y.__name__=\"LayoutDOM\",l.define((t=>{const{Boolean:i,Number:e,String:s,Auto:o,Color:l,Array:n,Tuple:a,Or:r,Null:_,Nullable:c}=t,u=a(e,e),d=a(e,e,e,e);return{width:[c(e),null],height:[c(e),null],min_width:[c(e),null],min_height:[c(e),null],max_width:[c(e),null],max_height:[c(e),null],margin:[c(r(e,u,d)),[0,0,0,0]],width_policy:[r(m.SizingPolicy,o),\"auto\"],height_policy:[r(m.SizingPolicy,o),\"auto\"],aspect_ratio:[r(e,o,_),null],sizing_mode:[c(h.SizingMode),null],visible:[i,!0],disabled:[i,!1],align:[r(h.Align,a(h.Align,h.Align)),\"start\"],background:[c(l),null],css_classes:[n(s),[]]}}))},\n function _(o,s,t,i,e){var n;i();const a=o(308),l=o(209);class u extends a.BoxView{_update_layout(){const o=this.child_views.map((o=>o.layout));this.layout=new l.Column(o),this.layout.rows=this.model.rows,this.layout.spacing=[this.model.spacing,0],this.layout.set_sizing(this.box_sizing())}}t.ColumnView=u,u.__name__=\"ColumnView\";class _ extends a.Box{constructor(o){super(o)}}t.Column=_,n=_,_.__name__=\"Column\",n.prototype.default_view=u,n.define((({Any:o})=>({rows:[o,\"auto\"]})))},\n function _(s,o,t,i,e){var n;i();const l=s(309),a=s(209);class r extends l.LayoutDOMView{connect_signals(){super.connect_signals();const{children:s,rows:o,cols:t,spacing:i}=this.model.properties;this.on_change([s,o,t,i],(()=>this.rebuild()))}get child_models(){return this.model.children.map((([s])=>s))}_update_layout(){this.layout=new a.Grid,this.layout.rows=this.model.rows,this.layout.cols=this.model.cols,this.layout.spacing=this.model.spacing;for(const[s,o,t,i,e]of this.model.children){const n=this._child_views.get(s);this.layout.items.push({layout:n.layout,row:o,col:t,row_span:i,col_span:e})}this.layout.set_sizing(this.box_sizing())}}t.GridBoxView=r,r.__name__=\"GridBoxView\";class c extends l.LayoutDOM{constructor(s){super(s)}}t.GridBox=c,n=c,c.__name__=\"GridBox\",n.prototype.default_view=r,n.define((({Any:s,Int:o,Number:t,Tuple:i,Array:e,Ref:n,Or:a,Opt:r})=>({children:[e(i(n(l.LayoutDOM),o,o,r(o),r(o))),[]],rows:[s,\"auto\"],cols:[s,\"auto\"],spacing:[a(t,i(t,t)),0]})))},\n function _(t,e,o,s,n){s();const _=t(309),i=t(207);class a extends _.LayoutDOMView{get child_models(){return[]}_update_layout(){this.layout=new i.ContentBox(this.el),this.layout.set_sizing(this.box_sizing())}}o.HTMLBoxView=a,a.__name__=\"HTMLBoxView\";class u extends _.LayoutDOM{constructor(t){super(t)}}o.HTMLBox=u,u.__name__=\"HTMLBox\"},\n function _(e,n,l,a,o){var t;a();const s=e(53),c=e(309);class d extends s.Model{constructor(e){super(e)}}l.Panel=d,t=d,d.__name__=\"Panel\",t.define((({Boolean:e,String:n,Ref:l})=>({title:[n,\"\"],child:[l(c.LayoutDOM)],closable:[e,!1],disabled:[e,!1]})))},\n function _(o,s,t,i,e){var a;i();const n=o(308),l=o(209);class _ extends n.BoxView{_update_layout(){const o=this.child_views.map((o=>o.layout));this.layout=new l.Row(o),this.layout.cols=this.model.cols,this.layout.spacing=[0,this.model.spacing],this.layout.set_sizing(this.box_sizing())}}t.RowView=_,_.__name__=\"RowView\";class c extends n.Box{constructor(o){super(o)}}t.Row=c,a=c,c.__name__=\"Row\",a.prototype.default_view=_,a.define((({Any:o})=>({cols:[o,\"auto\"]})))},\n function _(e,t,a,s,_){var o;s();const i=e(309),n=e(207);class u extends i.LayoutDOMView{get child_models(){return[]}_update_layout(){this.layout=new n.LayoutItem,this.layout.set_sizing(this.box_sizing())}}a.SpacerView=u,u.__name__=\"SpacerView\";class c extends i.LayoutDOM{constructor(e){super(e)}}a.Spacer=c,o=c,c.__name__=\"Spacer\",o.prototype.default_view=u},\n function _(e,t,s,i,l){i();const h=e(1);var a;const o=e(207),d=e(43),r=e(9),c=e(10),n=e(20),_=e(309),p=e(313),b=(0,h.__importStar)(e(317)),m=b,u=(0,h.__importStar)(e(318)),g=u,v=(0,h.__importStar)(e(229)),w=v;class f extends _.LayoutDOMView{constructor(){super(...arguments),this._scroll_index=0}connect_signals(){super.connect_signals(),this.connect(this.model.properties.tabs.change,(()=>this.rebuild())),this.connect(this.model.properties.active.change,(()=>this.on_active_change()))}styles(){return[...super.styles(),u.default,v.default,b.default]}get child_models(){return this.model.tabs.map((e=>e.child))}_update_layout(){const e=this.model.tabs_location,t=\"above\"==e||\"below\"==e,{scroll_el:s,headers_el:i}=this;this.header=new class extends o.ContentBox{_measure(e){const l=(0,d.size)(s),h=(0,d.children)(i).slice(0,3).map((e=>(0,d.size)(e))),{width:a,height:o}=super._measure(e);if(t){const t=l.width+(0,r.sum)(h.map((e=>e.width)));return{width:e.width!=1/0?e.width:t,height:o}}{const t=l.height+(0,r.sum)(h.map((e=>e.height)));return{width:a,height:e.height!=1/0?e.height:t}}}}(this.header_el),t?this.header.set_sizing({width_policy:\"fit\",height_policy:\"fixed\"}):this.header.set_sizing({width_policy:\"fixed\",height_policy:\"fit\"});let l=1,h=1;switch(e){case\"above\":l-=1;break;case\"below\":l+=1;break;case\"left\":h-=1;break;case\"right\":h+=1}const a={layout:this.header,row:l,col:h},c=this.child_views.map((e=>({layout:e.layout,row:1,col:1})));this.layout=new o.Grid([a,...c]),this.layout.set_sizing(this.box_sizing())}update_position(){super.update_position(),this.header_el.style.position=\"absolute\",(0,d.position)(this.header_el,this.header.bbox);const e=this.model.tabs_location,t=\"above\"==e||\"below\"==e,s=(0,d.size)(this.scroll_el),i=(0,d.scroll_size)(this.headers_el);if(t){const{width:e}=this.header.bbox;i.width>e?(this.wrapper_el.style.maxWidth=e-s.width+\"px\",(0,d.display)(this.scroll_el),this.do_scroll(this.model.active)):(this.wrapper_el.style.maxWidth=\"\",(0,d.undisplay)(this.scroll_el))}else{const{height:e}=this.header.bbox;i.height>e?(this.wrapper_el.style.maxHeight=e-s.height+\"px\",(0,d.display)(this.scroll_el),this.do_scroll(this.model.active)):(this.wrapper_el.style.maxHeight=\"\",(0,d.undisplay)(this.scroll_el))}const{child_views:l}=this;for(const e of l)(0,d.hide)(e.el);const h=l[this.model.active];null!=h&&(0,d.show)(h.el)}render(){super.render();const{active:e}=this.model,t=this.model.tabs.map(((t,s)=>{const i=(0,d.div)({class:[m.tab,s==e?m.active:null]},t.title);if(i.addEventListener(\"click\",(e=>{this.model.disabled||e.target==e.currentTarget&&this.change_active(s)})),t.closable){const e=(0,d.div)({class:m.close});e.addEventListener(\"click\",(e=>{if(e.target==e.currentTarget){this.model.tabs=(0,r.remove_at)(this.model.tabs,s);const e=this.model.tabs.length;this.model.active>e-1&&(this.model.active=e-1)}})),i.appendChild(e)}return(this.model.disabled||t.disabled)&&i.classList.add(m.disabled),i}));this.headers_el=(0,d.div)({class:[m.headers]},t),this.wrapper_el=(0,d.div)({class:m.headers_wrapper},this.headers_el),this.left_el=(0,d.div)({class:[g.btn,g.btn_default],disabled:\"\"},(0,d.div)({class:[w.caret,m.left]})),this.right_el=(0,d.div)({class:[g.btn,g.btn_default]},(0,d.div)({class:[w.caret,m.right]})),this.left_el.addEventListener(\"click\",(()=>this.do_scroll(\"left\"))),this.right_el.addEventListener(\"click\",(()=>this.do_scroll(\"right\"))),this.scroll_el=(0,d.div)({class:g.btn_group},this.left_el,this.right_el);const s=this.model.tabs_location;this.header_el=(0,d.div)({class:[m.tabs_header,m[s]]},this.scroll_el,this.wrapper_el),this.el.appendChild(this.header_el)}do_scroll(e){const t=this.model.tabs.length;\"left\"==e?this._scroll_index-=1:\"right\"==e?this._scroll_index+=1:this._scroll_index=e,this._scroll_index=(0,c.clamp)(this._scroll_index,0,t-1),0==this._scroll_index?this.left_el.setAttribute(\"disabled\",\"\"):this.left_el.removeAttribute(\"disabled\"),this._scroll_index==t-1?this.right_el.setAttribute(\"disabled\",\"\"):this.right_el.removeAttribute(\"disabled\");const s=(0,d.children)(this.headers_el).slice(0,this._scroll_index).map((e=>e.getBoundingClientRect())),i=this.model.tabs_location;if(\"above\"==i||\"below\"==i){const e=-(0,r.sum)(s.map((e=>e.width)));this.headers_el.style.left=`${e}px`}else{const e=-(0,r.sum)(s.map((e=>e.height)));this.headers_el.style.top=`${e}px`}}change_active(e){e!=this.model.active&&(this.model.active=e)}on_active_change(){const e=this.model.active,t=(0,d.children)(this.headers_el);for(const e of t)e.classList.remove(m.active);t[e].classList.add(m.active);const{child_views:s}=this;for(const e of s)(0,d.hide)(e.el);(0,d.show)(s[e].el)}}s.TabsView=f,f.__name__=\"TabsView\";class x extends _.LayoutDOM{constructor(e){super(e)}}s.Tabs=x,a=x,x.__name__=\"Tabs\",a.prototype.default_view=f,a.define((({Int:e,Array:t,Ref:s})=>({tabs:[t(s(p.Panel)),[]],tabs_location:[n.Location,\"above\"],active:[e,0]})))},\n function _(e,r,b,o,t){o(),b.root=\"bk-root\",b.tabs_header=\"bk-tabs-header\",b.btn_group=\"bk-btn-group\",b.btn=\"bk-btn\",b.headers_wrapper=\"bk-headers-wrapper\",b.above=\"bk-above\",b.right=\"bk-right\",b.below=\"bk-below\",b.left=\"bk-left\",b.headers=\"bk-headers\",b.tab=\"bk-tab\",b.active=\"bk-active\",b.close=\"bk-close\",b.disabled=\"bk-disabled\",b.default='.bk-root .bk-tabs-header{display:flex;flex-wrap:nowrap;align-items:center;overflow:hidden;user-select:none;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;}.bk-root .bk-tabs-header .bk-btn-group{height:auto;margin-right:5px;}.bk-root .bk-tabs-header .bk-btn-group > .bk-btn{flex-grow:0;height:auto;padding:4px 4px;}.bk-root .bk-tabs-header .bk-headers-wrapper{flex-grow:1;overflow:hidden;color:#666666;}.bk-root .bk-tabs-header.bk-above .bk-headers-wrapper{border-bottom:1px solid #e6e6e6;}.bk-root .bk-tabs-header.bk-right .bk-headers-wrapper{border-left:1px solid #e6e6e6;}.bk-root .bk-tabs-header.bk-below .bk-headers-wrapper{border-top:1px solid #e6e6e6;}.bk-root .bk-tabs-header.bk-left .bk-headers-wrapper{border-right:1px solid #e6e6e6;}.bk-root .bk-tabs-header.bk-above,.bk-root .bk-tabs-header.bk-below{flex-direction:row;}.bk-root .bk-tabs-header.bk-above .bk-headers,.bk-root .bk-tabs-header.bk-below .bk-headers{flex-direction:row;}.bk-root .bk-tabs-header.bk-left,.bk-root .bk-tabs-header.bk-right{flex-direction:column;}.bk-root .bk-tabs-header.bk-left .bk-headers,.bk-root .bk-tabs-header.bk-right .bk-headers{flex-direction:column;}.bk-root .bk-tabs-header .bk-headers{position:relative;display:flex;flex-wrap:nowrap;align-items:center;}.bk-root .bk-tabs-header .bk-tab{padding:4px 8px;border:solid transparent;white-space:nowrap;cursor:pointer;}.bk-root .bk-tabs-header .bk-tab:hover{background-color:#f2f2f2;}.bk-root .bk-tabs-header .bk-tab.bk-active{color:#4d4d4d;background-color:white;border-color:#e6e6e6;}.bk-root .bk-tabs-header .bk-tab .bk-close{margin-left:10px;}.bk-root .bk-tabs-header .bk-tab.bk-disabled{cursor:not-allowed;pointer-events:none;opacity:0.65;}.bk-root .bk-tabs-header.bk-above .bk-tab{border-width:3px 1px 0px 1px;border-radius:4px 4px 0 0;}.bk-root .bk-tabs-header.bk-right .bk-tab{border-width:1px 3px 1px 0px;border-radius:0 4px 4px 0;}.bk-root .bk-tabs-header.bk-below .bk-tab{border-width:0px 1px 3px 1px;border-radius:0 0 4px 4px;}.bk-root .bk-tabs-header.bk-left .bk-tab{border-width:1px 0px 1px 3px;border-radius:4px 0 0 4px;}.bk-root .bk-close{display:inline-block;width:10px;height:10px;vertical-align:middle;background-image:url(\\'data:image/svg+xml;utf8, \\');}.bk-root .bk-close:hover{background-image:url(\\'data:image/svg+xml;utf8, \\');}'},\n function _(o,b,r,t,e){t(),r.root=\"bk-root\",r.btn=\"bk-btn\",r.active=\"bk-active\",r.btn_default=\"bk-btn-default\",r.btn_primary=\"bk-btn-primary\",r.btn_success=\"bk-btn-success\",r.btn_warning=\"bk-btn-warning\",r.btn_danger=\"bk-btn-danger\",r.btn_light=\"bk-btn-light\",r.btn_group=\"bk-btn-group\",r.vertical=\"bk-vertical\",r.horizontal=\"bk-horizontal\",r.dropdown_toggle=\"bk-dropdown-toggle\",r.default=\".bk-root .bk-btn{height:100%;display:inline-block;text-align:center;vertical-align:middle;white-space:nowrap;cursor:pointer;padding:6px 12px;font-size:12px;border:1px solid transparent;border-radius:4px;outline:0;user-select:none;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;}.bk-root .bk-btn:hover,.bk-root .bk-btn:focus{text-decoration:none;}.bk-root .bk-btn:active,.bk-root .bk-btn.bk-active{background-image:none;box-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);}.bk-root .bk-btn[disabled]{cursor:not-allowed;pointer-events:none;opacity:0.65;box-shadow:none;}.bk-root .bk-btn-default{color:#333;background-color:#fff;border-color:#ccc;}.bk-root .bk-btn-default:hover{background-color:#f5f5f5;border-color:#b8b8b8;}.bk-root .bk-btn-default.bk-active{background-color:#ebebeb;border-color:#adadad;}.bk-root .bk-btn-default[disabled],.bk-root .bk-btn-default[disabled]:hover,.bk-root .bk-btn-default[disabled]:focus,.bk-root .bk-btn-default[disabled]:active,.bk-root .bk-btn-default[disabled].bk-active{background-color:#e6e6e6;border-color:#ccc;}.bk-root .bk-btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd;}.bk-root .bk-btn-primary:hover{background-color:#3681c1;border-color:#2c699e;}.bk-root .bk-btn-primary.bk-active{background-color:#3276b1;border-color:#285e8e;}.bk-root .bk-btn-primary[disabled],.bk-root .bk-btn-primary[disabled]:hover,.bk-root .bk-btn-primary[disabled]:focus,.bk-root .bk-btn-primary[disabled]:active,.bk-root .bk-btn-primary[disabled].bk-active{background-color:#506f89;border-color:#357ebd;}.bk-root .bk-btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c;}.bk-root .bk-btn-success:hover{background-color:#4eb24e;border-color:#409240;}.bk-root .bk-btn-success.bk-active{background-color:#47a447;border-color:#398439;}.bk-root .bk-btn-success[disabled],.bk-root .bk-btn-success[disabled]:hover,.bk-root .bk-btn-success[disabled]:focus,.bk-root .bk-btn-success[disabled]:active,.bk-root .bk-btn-success[disabled].bk-active{background-color:#667b66;border-color:#4cae4c;}.bk-root .bk-btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236;}.bk-root .bk-btn-warning:hover{background-color:#eea43b;border-color:#e89014;}.bk-root .bk-btn-warning.bk-active{background-color:#ed9c28;border-color:#d58512;}.bk-root .bk-btn-warning[disabled],.bk-root .bk-btn-warning[disabled]:hover,.bk-root .bk-btn-warning[disabled]:focus,.bk-root .bk-btn-warning[disabled]:active,.bk-root .bk-btn-warning[disabled].bk-active{background-color:#c89143;border-color:#eea236;}.bk-root .bk-btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a;}.bk-root .bk-btn-danger:hover{background-color:#d5433e;border-color:#bd2d29;}.bk-root .bk-btn-danger.bk-active{background-color:#d2322d;border-color:#ac2925;}.bk-root .bk-btn-danger[disabled],.bk-root .bk-btn-danger[disabled]:hover,.bk-root .bk-btn-danger[disabled]:focus,.bk-root .bk-btn-danger[disabled]:active,.bk-root .bk-btn-danger[disabled].bk-active{background-color:#a55350;border-color:#d43f3a;}.bk-root .bk-btn-light{color:#333;background-color:#fff;border-color:#ccc;border-color:transparent;}.bk-root .bk-btn-light:hover{background-color:#f5f5f5;border-color:#b8b8b8;}.bk-root .bk-btn-light.bk-active{background-color:#ebebeb;border-color:#adadad;}.bk-root .bk-btn-light[disabled],.bk-root .bk-btn-light[disabled]:hover,.bk-root .bk-btn-light[disabled]:focus,.bk-root .bk-btn-light[disabled]:active,.bk-root .bk-btn-light[disabled].bk-active{background-color:#e6e6e6;border-color:#ccc;}.bk-root .bk-btn-group{height:100%;display:flex;flex-wrap:nowrap;align-items:center;}.bk-root .bk-btn-group:not(.bk-vertical),.bk-root .bk-btn-group.bk-horizontal{flex-direction:row;}.bk-root .bk-btn-group.bk-vertical{flex-direction:column;}.bk-root .bk-btn-group > .bk-btn{flex-grow:1;}.bk-root .bk-btn-group:not(.bk-vertical) > .bk-btn + .bk-btn{margin-left:-1px;}.bk-root .bk-btn-group.bk-vertical > .bk-btn + .bk-btn{margin-top:-1px;}.bk-root .bk-btn-group:not(.bk-vertical) > .bk-btn:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;}.bk-root .bk-btn-group.bk-vertical > .bk-btn:first-child:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0;}.bk-root .bk-btn-group:not(.bk-vertical) > .bk-btn:not(:first-child):last-child{border-bottom-left-radius:0;border-top-left-radius:0;}.bk-root .bk-btn-group.bk-vertical > .bk-btn:not(:first-child):last-child{border-top-left-radius:0;border-top-right-radius:0;}.bk-root .bk-btn-group > .bk-btn:not(:first-child):not(:last-child){border-radius:0;}.bk-root .bk-btn-group.bk-vertical > .bk-btn{width:100%;}.bk-root .bk-btn-group .bk-dropdown-toggle{flex:0 0 0;padding:6px 6px;}\"},\n function _(e,t,o,n,_){var i;n();const s=e(310);class d extends s.ColumnView{}o.WidgetBoxView=d,d.__name__=\"WidgetBoxView\";class a extends s.Column{constructor(e){super(e)}}o.WidgetBox=a,i=a,a.__name__=\"WidgetBox\",i.prototype.default_view=d},\n function _(t,a,i,e,M){e();var T=t(135);M(\"MathText\",T.MathText),M(\"Ascii\",T.Ascii),M(\"MathML\",T.MathML),M(\"TeX\",T.TeX),M(\"PlainText\",t(139).PlainText)},\n function _(r,o,t,e,n){e(),n(\"CustomJSTransform\",r(322).CustomJSTransform),n(\"Dodge\",r(323).Dodge),n(\"Interpolator\",r(325).Interpolator),n(\"Jitter\",r(326).Jitter),n(\"LinearInterpolator\",r(327).LinearInterpolator),n(\"StepInterpolator\",r(328).StepInterpolator),n(\"Transform\",r(56).Transform)},\n function _(r,t,s,n,e){var a;n();const u=r(56),o=r(13),m=r(34);class _ extends u.Transform{constructor(r){super(r)}get names(){return(0,o.keys)(this.args)}get values(){return(0,o.values)(this.args)}_make_transform(r,t){return new Function(...this.names,r,(0,m.use_strict)(t))}get scalar_transform(){return this._make_transform(\"x\",this.func)}get vector_transform(){return this._make_transform(\"xs\",this.v_func)}compute(r){return this.scalar_transform(...this.values,r)}v_compute(r){return this.vector_transform(...this.values,r)}}s.CustomJSTransform=_,a=_,_.__name__=\"CustomJSTransform\",a.define((({Unknown:r,String:t,Dict:s})=>({args:[s(r),{}],func:[t,\"\"],v_func:[t,\"\"]})))},\n function _(e,n,r,o,s){var t;o();const u=e(324);class a extends u.RangeTransform{constructor(e){super(e)}_compute(e){return e+this.value}}r.Dodge=a,t=a,a.__name__=\"Dodge\",t.define((({Number:e})=>({value:[e,0]})))},\n function _(e,n,t,r,a){var s;r();const c=e(56),o=e(57),i=e(67),u=e(24),h=e(8),l=e(11);class g extends c.Transform{constructor(e){super(e)}v_compute(e){let n;this.range instanceof i.FactorRange?n=this.range.v_synthetic(e):(0,h.isArrayableOf)(e,h.isNumber)?n=e:(0,l.unreachable)();const t=new((0,u.infer_type)(n))(n.length);for(let e=0;e({range:[n(e(o.Range)),null]})))},\n function _(t,e,r,n,s){var o;n();const i=t(56),a=t(70),h=t(24),l=t(9),d=t(8);class c extends i.Transform{constructor(t){super(t),this._sorted_dirty=!0}connect_signals(){super.connect_signals(),this.connect(this.change,(()=>this._sorted_dirty=!0))}v_compute(t){const e=new((0,h.infer_type)(t))(t.length);for(let r=0;ro*(e[t]-e[r]))),this._x_sorted=new((0,h.infer_type)(e))(n),this._y_sorted=new((0,h.infer_type)(r))(n);for(let t=0;t({x:[o(r,s(e))],y:[o(r,s(e))],data:[i(n(a.ColumnarDataSource)),null],clip:[t,!0]})))},\n function _(t,s,e,i,r){i();const n=t(1);var o;const a=t(324),u=t(67),h=t(20),c=t(8),m=t(12),f=(0,n.__importStar)(t(10)),_=t(11);class p extends a.RangeTransform{constructor(t){super(t)}v_compute(t){var s;let e;this.range instanceof u.FactorRange?e=this.range.v_synthetic(t):(0,c.isArrayableOf)(t,c.isNumber)?e=t:(0,_.unreachable)();const i=e.length;(null===(s=this.previous_offsets)||void 0===s?void 0:s.length)!=i&&(this.previous_offsets=new Array(i),this.previous_offsets=(0,m.map)(this.previous_offsets,(()=>this._compute())));const r=this.previous_offsets;return(0,m.map)(e,((t,s)=>r[s]+t))}_compute(){switch(this.distribution){case\"uniform\":return this.mean+(f.random()-.5)*this.width;case\"normal\":return f.rnorm(this.mean,this.width)}}}e.Jitter=p,o=p,p.__name__=\"Jitter\",o.define((({Number:t})=>({mean:[t,0],width:[t,1],distribution:[h.Distribution,\"uniform\"]})))},\n function _(t,s,_,r,e){r();const i=t(9),o=t(325);class n extends o.Interpolator{constructor(t){super(t)}compute(t){if(this.sort(!1),this.clip){if(tthis._x_sorted[this._x_sorted.length-1])return NaN}else{if(tthis._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}if(t==this._x_sorted[0])return this._y_sorted[0];const s=(0,i.find_last_index)(this._x_sorted,(s=>sthis._x_sorted[this._x_sorted.length-1])return NaN}else{if(tthis._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}let e;switch(this.mode){case\"after\":e=(0,d.find_last_index)(this._x_sorted,(e=>t>=e));break;case\"before\":e=(0,d.find_index)(this._x_sorted,(e=>t<=e));break;case\"center\":{const s=(0,d.map)(this._x_sorted,(e=>Math.abs(e-t))),r=(0,d.min)(s);e=(0,d.find_index)(s,(t=>r===t));break}default:throw new Error(`unknown mode: ${this.mode}`)}return-1!=e?this._y_sorted[e]:NaN}}s.StepInterpolator=h,_=h,h.__name__=\"StepInterpolator\",_.define((()=>({mode:[n.StepMode,\"after\"]})))},\n function _(p,o,t,a,n){a(),n(\"MapOptions\",p(330).MapOptions),n(\"GMapOptions\",p(330).GMapOptions),n(\"GMapPlot\",p(330).GMapPlot),n(\"Plot\",p(331).Plot)},\n function _(e,t,n,o,a){var s,p,_;o();const i=e(331),r=e(53),l=e(58),c=e(336);a(\"GMapPlotView\",c.GMapPlotView);class d extends r.Model{constructor(e){super(e)}}n.MapOptions=d,s=d,d.__name__=\"MapOptions\",s.define((({Int:e,Number:t})=>({lat:[t],lng:[t],zoom:[e,12]})));class u extends d{constructor(e){super(e)}}n.GMapOptions=u,p=u,u.__name__=\"GMapOptions\",p.define((({Boolean:e,Int:t,String:n})=>({map_type:[n,\"roadmap\"],scale_control:[e,!1],styles:[n],tilt:[t,45]})));class M extends i.Plot{constructor(e){super(e),this.use_map=!0}}n.GMapPlot=M,_=M,M.__name__=\"GMapPlot\",_.prototype.default_view=c.GMapPlotView,_.define((({String:e,Ref:t})=>({map_options:[t(u)],api_key:[e],api_version:[e,\"weekly\"]}))),_.override({x_range:()=>new l.Range1d,y_range:()=>new l.Range1d})},\n function _(e,t,r,n,i){n();const o=e(1);var a;const s=(0,o.__importStar)(e(48)),l=(0,o.__importStar)(e(18)),_=e(15),c=e(20),h=e(9),d=e(13),u=e(8),g=e(309),p=e(128),f=e(306),b=e(40),w=e(118),y=e(59),m=e(221),x=e(57),v=e(55),A=e(75),S=e(41),R=e(176),D=e(175),L=e(63),P=e(332);i(\"PlotView\",P.PlotView);class k extends g.LayoutDOM{constructor(e){super(e),this.use_map=!1}_doc_attached(){super._doc_attached(),this._push_changes([[this.properties.inner_height,null,this.inner_height],[this.properties.inner_width,null,this.inner_width]])}initialize(){super.initialize(),this.reset=new _.Signal0(this,\"reset\");for(const e of(0,d.values)(this.extra_x_ranges).concat(this.x_range)){let t=e.plots;(0,u.isArray)(t)&&(t=t.concat(this),e.setv({plots:t},{silent:!0}))}for(const e of(0,d.values)(this.extra_y_ranges).concat(this.y_range)){let t=e.plots;(0,u.isArray)(t)&&(t=t.concat(this),e.setv({plots:t},{silent:!0}))}}add_layout(e,t=\"center\"){const r=this.properties[t].get_value();this.setv({[t]:[...r,e]})}remove_layout(e){const t=t=>{(0,h.remove_by)(t,(t=>t==e))};t(this.left),t(this.right),t(this.above),t(this.below),t(this.center)}get data_renderers(){return this.renderers.filter((e=>e instanceof R.DataRenderer))}add_renderers(...e){this.renderers=this.renderers.concat(e)}add_glyph(e,t=new A.ColumnDataSource,r={}){const n=new D.GlyphRenderer(Object.assign(Object.assign({},r),{data_source:t,glyph:e}));return this.add_renderers(n),n}add_tools(...e){this.toolbar.tools=this.toolbar.tools.concat(e)}get panels(){return[...this.side_panels,...this.center]}get side_panels(){const{above:e,below:t,left:r,right:n}=this;return(0,h.concat)([e,t,r,n])}}r.Plot=k,a=k,k.__name__=\"Plot\",a.prototype.default_view=P.PlotView,a.mixins([[\"outline_\",s.Line],[\"background_\",s.Fill],[\"border_\",s.Fill]]),a.define((({Boolean:e,Number:t,String:r,Array:n,Dict:i,Or:o,Ref:a,Null:s,Nullable:_})=>({toolbar:[a(m.Toolbar),()=>new m.Toolbar],toolbar_location:[_(c.Location),\"right\"],toolbar_sticky:[e,!0],plot_width:[l.Alias(\"width\")],plot_height:[l.Alias(\"height\")],frame_width:[_(t),null],frame_height:[_(t),null],title:[o(a(w.Title),r,s),\"\",{convert:e=>(0,u.isString)(e)?new w.Title({text:e}):e}],title_location:[_(c.Location),\"above\"],above:[n(o(a(b.Annotation),a(p.Axis))),[]],below:[n(o(a(b.Annotation),a(p.Axis))),[]],left:[n(o(a(b.Annotation),a(p.Axis))),[]],right:[n(o(a(b.Annotation),a(p.Axis))),[]],center:[n(o(a(b.Annotation),a(f.Grid))),[]],renderers:[n(a(S.Renderer)),[]],x_range:[a(x.Range),()=>new L.DataRange1d],y_range:[a(x.Range),()=>new L.DataRange1d],x_scale:[a(v.Scale),()=>new y.LinearScale],y_scale:[a(v.Scale),()=>new y.LinearScale],extra_x_ranges:[i(a(x.Range)),{}],extra_y_ranges:[i(a(x.Range)),{}],extra_x_scales:[i(a(v.Scale)),{}],extra_y_scales:[i(a(v.Scale)),{}],lod_factor:[t,10],lod_interval:[t,300],lod_threshold:[_(t),2e3],lod_timeout:[t,500],hidpi:[e,!0],output_backend:[c.OutputBackend,\"canvas\"],min_border:[_(t),5],min_border_top:[_(t),null],min_border_left:[_(t),null],min_border_bottom:[_(t),null],min_border_right:[_(t),null],inner_width:[t,0],inner_height:[t,0],outer_width:[t,0],outer_height:[t,0],match_aspect:[e,!1],aspect_scale:[t,1],reset_policy:[c.ResetPolicy,\"standard\"]}))),a.override({width:600,height:600,outline_line_color:\"#e5e5e5\",border_fill_color:\"#ffffff\",background_fill_color:\"#ffffff\"})},\n function _(e,t,i,s,a){s();const n=e(1),o=e(126),l=e(249),r=e(309),_=e(40),h=e(118),d=e(128),u=e(220),c=e(251),p=e(113),v=e(45),g=e(19),b=e(251),m=e(333),y=e(8),w=e(9),f=e(235),x=e(208),z=e(211),k=e(209),q=e(123),M=e(65),R=e(334),V=e(335),S=e(28);class O extends r.LayoutDOMView{constructor(){super(...arguments),this._outer_bbox=new M.BBox,this._inner_bbox=new M.BBox,this._needs_paint=!0,this._needs_layout=!1,this._invalidated_painters=new Set,this._invalidate_all=!0,this._needs_notify=!1}get canvas(){return this.canvas_view}get state(){return this._state_manager}set invalidate_dataranges(e){this._range_manager.invalidate_dataranges=e}renderer_view(e){const t=this.renderer_views.get(e);if(null==t)for(const[,t]of this.renderer_views){const i=t.renderer_view(e);if(null!=i)return i}return t}get is_paused(){return null!=this._is_paused&&0!==this._is_paused}get child_models(){return[]}pause(){null==this._is_paused?this._is_paused=1:this._is_paused+=1}unpause(e=!1){if(null==this._is_paused)throw new Error(\"wasn't paused\");this._is_paused-=1,0!=this._is_paused||e||this.request_paint(\"everything\")}notify_finished_after_paint(){this._needs_notify=!0}request_render(){this.request_paint(\"everything\")}request_paint(e){this.invalidate_painters(e),this.schedule_paint()}invalidate_painters(e){if(\"everything\"==e)this._invalidate_all=!0;else if((0,y.isArray)(e))for(const t of e)this._invalidated_painters.add(t);else this._invalidated_painters.add(e)}schedule_paint(){if(!this.is_paused){const e=this.throttled_paint();this._ready=this._ready.then((()=>e))}}request_layout(){this._needs_layout=!0,this.request_paint(\"everything\")}reset(){\"standard\"==this.model.reset_policy&&(this.state.clear(),this.reset_range(),this.reset_selection()),this.model.trigger_event(new c.Reset)}remove(){(0,p.remove_views)(this.renderer_views),(0,p.remove_views)(this.tool_views),this.canvas_view.remove(),super.remove()}render(){super.render(),this.el.appendChild(this.canvas_view.el),this.canvas_view.render()}initialize(){this.pause(),super.initialize(),this.lod_started=!1,this.visuals=new v.Visuals(this),this._initial_state={selection:new Map,dimensions:{width:0,height:0}},this.visibility_callbacks=[],this.renderer_views=new Map,this.tool_views=new Map,this.frame=new o.CartesianFrame(this.model.x_scale,this.model.y_scale,this.model.x_range,this.model.y_range,this.model.extra_x_ranges,this.model.extra_y_ranges,this.model.extra_x_scales,this.model.extra_y_scales),this._range_manager=new R.RangeManager(this),this._state_manager=new V.StateManager(this,this._initial_state),this.throttled_paint=(0,m.throttle)((()=>this.repaint()),1e3/60);const{title_location:e,title:t}=this.model;null!=e&&null!=t&&(this._title=t instanceof h.Title?t:new h.Title({text:t}));const{toolbar_location:i,toolbar:s}=this.model;null!=i&&null!=s&&(this._toolbar=new u.ToolbarPanel({toolbar:s}),s.toolbar_location=i)}async lazy_initialize(){await super.lazy_initialize();const{hidpi:e,output_backend:t}=this.model,i=new l.Canvas({hidpi:e,output_backend:t});this.canvas_view=await(0,p.build_view)(i,{parent:this}),this.canvas_view.plot_views=[this],await this.build_renderer_views(),await this.build_tool_views(),this._range_manager.update_dataranges(),this.unpause(!0),g.logger.debug(\"PlotView initialized\")}_width_policy(){return null==this.model.frame_width?super._width_policy():\"min\"}_height_policy(){return null==this.model.frame_height?super._height_policy():\"min\"}_update_layout(){var e,t,i,s,a;this.layout=new z.BorderLayout,this.layout.set_sizing(this.box_sizing());const n=(0,w.copy)(this.model.above),o=(0,w.copy)(this.model.below),l=(0,w.copy)(this.model.left),r=(0,w.copy)(this.model.right),d=e=>{switch(e){case\"above\":return n;case\"below\":return o;case\"left\":return l;case\"right\":return r}},{title_location:c,title:p}=this.model;null!=c&&null!=p&&d(c).push(this._title);const{toolbar_location:v,toolbar:g}=this.model;if(null!=v&&null!=g){const e=d(v);let t=!0;if(this.model.toolbar_sticky)for(let i=0;i{var i;const s=this.renderer_view(t);return s.panel=new q.Panel(e),null===(i=s.update_layout)||void 0===i||i.call(s),s.layout},m=(e,t)=>{const i=\"above\"==e||\"below\"==e,s=[];for(const a of t)if((0,y.isArray)(a)){const t=a.map((t=>{const s=b(e,t);if(t instanceof u.ToolbarPanel){const e=i?\"width_policy\":\"height_policy\";s.set_sizing(Object.assign(Object.assign({},s.sizing),{[e]:\"min\"}))}return s}));let n;i?(n=new k.Row(t),n.set_sizing({width_policy:\"max\",height_policy:\"min\"})):(n=new k.Column(t),n.set_sizing({width_policy:\"min\",height_policy:\"max\"})),n.absolute=!0,s.push(n)}else s.push(b(e,a));return s},f=null!==(e=this.model.min_border)&&void 0!==e?e:0;this.layout.min_border={left:null!==(t=this.model.min_border_left)&&void 0!==t?t:f,top:null!==(i=this.model.min_border_top)&&void 0!==i?i:f,right:null!==(s=this.model.min_border_right)&&void 0!==s?s:f,bottom:null!==(a=this.model.min_border_bottom)&&void 0!==a?a:f};const M=new x.NodeLayout,R=new x.VStack,V=new x.VStack,S=new x.HStack,O=new x.HStack;M.absolute=!0,R.absolute=!0,V.absolute=!0,S.absolute=!0,O.absolute=!0,M.children=this.model.center.filter((e=>e instanceof _.Annotation)).map((e=>{var t;const i=this.renderer_view(e);return null===(t=i.update_layout)||void 0===t||t.call(i),i.layout})).filter((e=>null!=e));const{frame_width:P,frame_height:j}=this.model;M.set_sizing(Object.assign(Object.assign({},null!=P?{width_policy:\"fixed\",width:P}:{width_policy:\"fit\"}),null!=j?{height_policy:\"fixed\",height:j}:{height_policy:\"fit\"})),M.on_resize((e=>this.frame.set_geometry(e))),R.children=(0,w.reversed)(m(\"above\",n)),V.children=m(\"below\",o),S.children=(0,w.reversed)(m(\"left\",l)),O.children=m(\"right\",r),R.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),V.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),S.set_sizing({width_policy:\"min\",height_policy:\"fit\"}),O.set_sizing({width_policy:\"min\",height_policy:\"fit\"}),this.layout.center_panel=M,this.layout.top_panel=R,this.layout.bottom_panel=V,this.layout.left_panel=S,this.layout.right_panel=O}get axis_views(){const e=[];for(const[,t]of this.renderer_views)t instanceof d.AxisView&&e.push(t);return e}set_toolbar_visibility(e){for(const t of this.visibility_callbacks)t(e)}update_range(e,t){this.pause(),this._range_manager.update(e,t),this.unpause()}reset_range(){this.update_range(null),this.trigger_ranges_update_event()}trigger_ranges_update_event(){const{x_range:e,y_range:t}=this.model;this.model.trigger_event(new b.RangesUpdate(e.start,e.end,t.start,t.end))}get_selection(){const e=new Map;for(const t of this.model.data_renderers){const{selected:i}=t.selection_manager.source;e.set(t,i)}return e}update_selection(e){for(const t of this.model.data_renderers){const i=t.selection_manager.source;if(null!=e){const s=e.get(t);null!=s&&i.selected.update(s,!0)}else i.selection_manager.clear()}}reset_selection(){this.update_selection(null)}_invalidate_layout(){(()=>{var e;for(const t of this.model.side_panels){const i=this.renderer_views.get(t);if(null===(e=i.layout)||void 0===e?void 0:e.has_size_changed())return this.invalidate_painters(i),!0}return!1})()&&this.root.compute_layout()}get_renderer_views(){return this.computed_renderers.map((e=>this.renderer_views.get(e)))}*_compute_renderers(){const{above:e,below:t,left:i,right:s,center:a,renderers:n}=this.model;yield*n,yield*e,yield*t,yield*i,yield*s,yield*a,null!=this._title&&(yield this._title),null!=this._toolbar&&(yield this._toolbar);for(const e of this.model.toolbar.tools)null!=e.overlay&&(yield e.overlay),yield*e.synthetic_renderers}async build_renderer_views(){this.computed_renderers=[...this._compute_renderers()],await(0,p.build_views)(this.renderer_views,this.computed_renderers,{parent:this})}async build_tool_views(){const e=this.model.toolbar.tools;(await(0,p.build_views)(this.tool_views,e,{parent:this})).map((e=>this.canvas_view.ui_event_bus.register_tool(e)))}connect_signals(){super.connect_signals();const{x_ranges:e,y_ranges:t}=this.frame;for(const[,t]of e)this.connect(t.change,(()=>{this._needs_layout=!0,this.request_paint(\"everything\")}));for(const[,e]of t)this.connect(e.change,(()=>{this._needs_layout=!0,this.request_paint(\"everything\")}));const{above:i,below:s,left:a,right:n,center:o,renderers:l}=this.model.properties;this.on_change([i,s,a,n,o,l],(async()=>await this.build_renderer_views())),this.connect(this.model.toolbar.properties.tools.change,(async()=>{await this.build_renderer_views(),await this.build_tool_views()})),this.connect(this.model.change,(()=>this.request_paint(\"everything\"))),this.connect(this.model.reset,(()=>this.reset()))}has_finished(){if(!super.has_finished())return!1;if(this.model.visible)for(const[,e]of this.renderer_views)if(!e.has_finished())return!1;return!0}after_layout(){var e;super.after_layout();for(const[,t]of this.renderer_views)t instanceof _.AnnotationView&&(null===(e=t.after_layout)||void 0===e||e.call(t));if(this._needs_layout=!1,this.model.setv({inner_width:Math.round(this.frame.bbox.width),inner_height:Math.round(this.frame.bbox.height),outer_width:Math.round(this.layout.bbox.width),outer_height:Math.round(this.layout.bbox.height)},{no_change:!0}),!1!==this.model.match_aspect&&(this.pause(),this._range_manager.update_dataranges(),this.unpause(!0)),!this._outer_bbox.equals(this.layout.bbox)){const{width:e,height:t}=this.layout.bbox;this.canvas_view.resize(e,t),this._outer_bbox=this.layout.bbox,this._invalidate_all=!0,this._needs_paint=!0}const{inner_bbox:t}=this.layout;this._inner_bbox.equals(t)||(this._inner_bbox=t,this._needs_paint=!0),this._needs_paint&&this.paint()}repaint(){this._needs_layout&&this._invalidate_layout(),this.paint()}paint(){this.is_paused||(this.model.visible&&(g.logger.trace(`${this.toString()}.paint()`),this._actual_paint()),this._needs_notify&&(this._needs_notify=!1,this.notify_finished()))}_actual_paint(){var e;const{document:t}=this.model;if(null!=t){const e=t.interactive_duration();e>=0&&e{t.interactive_duration()>this.model.lod_timeout&&t.interactive_stop(),this.request_paint(\"everything\")}),this.model.lod_timeout):t.interactive_stop()}this._range_manager.invalidate_dataranges&&(this._range_manager.update_dataranges(),this._invalidate_layout());let i=!1,s=!1;if(this._invalidate_all)i=!0,s=!0;else for(const e of this._invalidated_painters){const{level:t}=e.model;if(\"overlay\"!=t?i=!0:s=!0,i&&s)break}this._invalidated_painters.clear(),this._invalidate_all=!1;const a=[this.frame.bbox.left,this.frame.bbox.top,this.frame.bbox.width,this.frame.bbox.height],{primary:n,overlays:o}=this.canvas_view;i&&(n.prepare(),this.canvas_view.prepare_webgl(a),this._map_hook(n.ctx,a),this._paint_empty(n.ctx,a),this._paint_outline(n.ctx,a),this._paint_levels(n.ctx,\"image\",a,!0),this._paint_levels(n.ctx,\"underlay\",a,!0),this._paint_levels(n.ctx,\"glyph\",a,!0),this._paint_levels(n.ctx,\"guide\",a,!1),this._paint_levels(n.ctx,\"annotation\",a,!1),n.finish()),(s||S.settings.wireframe)&&(o.prepare(),this._paint_levels(o.ctx,\"overlay\",a,!1),S.settings.wireframe&&this._paint_layout(o.ctx,this.layout),o.finish()),null==this._initial_state.range&&(this._initial_state.range=null!==(e=this._range_manager.compute_initial())&&void 0!==e?e:void 0),this._needs_paint=!1}_paint_levels(e,t,i,s){for(const a of this.computed_renderers){if(a.level!=t)continue;const n=this.renderer_views.get(a);e.save(),(s||n.needs_clip)&&(e.beginPath(),e.rect(...i),e.clip()),n.render(),e.restore(),n.has_webgl&&n.needs_webgl_blit&&this.canvas_view.blit_webgl(e)}}_paint_layout(e,t){const{x:i,y:s,width:a,height:n}=t.bbox;e.strokeStyle=\"blue\",e.strokeRect(i,s,a,n);for(const a of t)e.save(),t.absolute||e.translate(i,s),this._paint_layout(e,a),e.restore()}_map_hook(e,t){}_paint_empty(e,t){const[i,s,a,n]=[0,0,this.layout.bbox.width,this.layout.bbox.height],[o,l,r,_]=t;this.visuals.border_fill.doit&&(this.visuals.border_fill.set_value(e),e.fillRect(i,s,a,n),e.clearRect(o,l,r,_)),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(e),e.fillRect(o,l,r,_))}_paint_outline(e,t){if(this.visuals.outline_line.doit){e.save(),this.visuals.outline_line.set_value(e);let[i,s,a,n]=t;i+a==this.layout.bbox.width&&(a-=1),s+n==this.layout.bbox.height&&(n-=1),e.strokeRect(i,s,a,n),e.restore()}}to_blob(){return this.canvas_view.to_blob()}export(e,t=!0){const i=\"png\"==e?\"canvas\":\"svg\",s=new f.CanvasLayer(i,t),{width:a,height:n}=this.layout.bbox;s.resize(a,n);const{canvas:o}=this.canvas_view.compose();return s.ctx.drawImage(o,0,0),s}serializable_state(){const e=super.serializable_state(),{children:t}=e,i=(0,n.__rest)(e,[\"children\"]),s=this.get_renderer_views().map((e=>e.serializable_state())).filter((e=>null!=e.bbox));return Object.assign(Object.assign({},i),{children:[...null!=t?t:[],...s]})}}i.PlotView=O,O.__name__=\"PlotView\"},\n function _(t,n,e,o,u){o(),e.throttle=function(t,n){let e=null,o=0,u=!1;return function(){return new Promise(((r,i)=>{const l=function(){o=Date.now(),e=null,u=!1;try{t(),r()}catch(t){i(t)}},a=Date.now(),c=n-(a-o);c<=0&&!u?(null!=e&&clearTimeout(e),u=!0,requestAnimationFrame(l)):e||u?r():e=setTimeout((()=>requestAnimationFrame(l)),c)}))}}},\n function _(t,n,e,a,s){a();const o=t(63),r=t(19);class l{constructor(t){this.parent=t,this.invalidate_dataranges=!0}get frame(){return this.parent.frame}update(t,n){const{x_ranges:e,y_ranges:a}=this.frame;if(null==t){for(const[,t]of e)t.reset();for(const[,t]of a)t.reset();this.update_dataranges()}else{const s=[];for(const[n,a]of e)s.push([a,t.xrs.get(n)]);for(const[n,e]of a)s.push([e,t.yrs.get(n)]);(null==n?void 0:n.scrolling)&&this._update_ranges_together(s),this._update_ranges_individually(s,n)}}reset(){this.update(null)}_update_dataranges(t){const n=new Map,e=new Map;let a=!1;for(const[,n]of t.x_ranges)n instanceof o.DataRange1d&&\"log\"==n.scale_hint&&(a=!0);for(const[,n]of t.y_ranges)n instanceof o.DataRange1d&&\"log\"==n.scale_hint&&(a=!0);for(const t of this.parent.model.data_renderers){const s=this.parent.renderer_view(t);if(null==s)continue;const o=s.glyph_view.bounds();if(null!=o&&n.set(t,o),a){const n=s.glyph_view.log_bounds();null!=n&&e.set(t,n)}}let s=!1,l=!1;const i=t.x_target.span,d=t.y_target.span;let u;!1!==this.parent.model.match_aspect&&0!=i&&0!=d&&(u=1/this.parent.model.aspect_scale*(i/d));for(const[,a]of t.x_ranges){if(a instanceof o.DataRange1d){const t=\"log\"==a.scale_hint?e:n;a.update(t,0,this.parent.model,u),a.follow&&(s=!0)}null!=a.bounds&&(l=!0)}for(const[,a]of t.y_ranges){if(a instanceof o.DataRange1d){const t=\"log\"==a.scale_hint?e:n;a.update(t,1,this.parent.model,u),a.follow&&(s=!0)}null!=a.bounds&&(l=!0)}if(s&&l){r.logger.warn(\"Follow enabled so bounds are unset.\");for(const[,n]of t.x_ranges)n.bounds=null;for(const[,n]of t.y_ranges)n.bounds=null}}update_dataranges(){this._update_dataranges(this.frame);for(const t of this.parent.model.renderers){const{coordinates:n}=t;null!=n&&this._update_dataranges(n)}null!=this.compute_initial()&&(this.invalidate_dataranges=!1)}compute_initial(){let t=!0;const{x_ranges:n,y_ranges:e}=this.frame,a=new Map,s=new Map;for(const[e,s]of n){const{start:n,end:o}=s;if(null==n||null==o||isNaN(n+o)){t=!1;break}a.set(e,{start:n,end:o})}if(t)for(const[n,a]of e){const{start:e,end:o}=a;if(null==e||null==o||isNaN(e+o)){t=!1;break}s.set(n,{start:e,end:o})}return t?{xrs:a,yrs:s}:(r.logger.warn(\"could not set initial ranges\"),null)}_update_ranges_together(t){let n=1;for(const[e,a]of t)n=Math.min(n,this._get_weight_to_constrain_interval(e,a));if(n<1)for(const[e,a]of t)a.start=n*a.start+(1-n)*e.start,a.end=n*a.end+(1-n)*e.end}_update_ranges_individually(t,n){const e=!!(null==n?void 0:n.panning),a=!!(null==n?void 0:n.scrolling);let s=!1;for(const[n,o]of t){if(!a){const t=this._get_weight_to_constrain_interval(n,o);t<1&&(o.start=t*o.start+(1-t)*n.start,o.end=t*o.end+(1-t)*n.end)}if(null!=n.bounds&&\"auto\"!=n.bounds){const[t,r]=n.bounds,l=Math.abs(o.end-o.start);n.is_reversed?(null!=t&&t>o.end&&(s=!0,o.end=t,(e||a)&&(o.start=t+l)),null!=r&&ro.start&&(s=!0,o.start=t,(e||a)&&(o.end=t+l)),null!=r&&r0&&r0&&r>a&&(s=(a-o)/(r-o)),s=Math.max(0,Math.min(1,s))}return s}}e.RangeManager=l,l.__name__=\"RangeManager\"},\n function _(t,i,s,e,n){e();const h=t(15);class a{constructor(t,i){this.parent=t,this.initial_state=i,this.changed=new h.Signal0(this.parent,\"state_changed\"),this.history=[],this.index=-1}_do_state_change(t){const i=null!=this.history[t]?this.history[t].state:this.initial_state;return null!=i.range&&this.parent.update_range(i.range),null!=i.selection&&this.parent.update_selection(i.selection),i}push(t,i){const{history:s,index:e}=this,n=null!=s[e]?s[e].state:{},h=Object.assign(Object.assign(Object.assign({},this.initial_state),n),i);this.history=this.history.slice(0,this.index+1),this.history.push({type:t,state:h}),this.index=this.history.length-1,this.changed.emit()}clear(){this.history=[],this.index=-1,this.changed.emit()}undo(){if(this.can_undo){this.index-=1;const t=this._do_state_change(this.index);return this.changed.emit(),t}return null}redo(){if(this.can_redo){this.index+=1;const t=this._do_state_change(this.index);return this.changed.emit(),t}return null}get can_undo(){return this.index>=0}get can_redo(){return this.indexm.emit();const s=encodeURIComponent,o=document.createElement(\"script\");o.type=\"text/javascript\",o.src=`https://maps.googleapis.com/maps/api/js?v=${s(e)}&key=${s(t)}&callback=_bokeh_gmaps_callback`,document.body.appendChild(o)}(t,e)}m.connect((()=>this.request_paint(\"everything\")))}this.unpause()}remove(){(0,p.remove)(this.map_el),super.remove()}update_range(t,e){var s,o;if(null==t)this.map.setCenter({lat:this.initial_lat,lng:this.initial_lng}),this.map.setOptions({zoom:this.initial_zoom}),super.update_range(null,e);else if(null!=t.sdx||null!=t.sdy)this.map.panBy(null!==(s=t.sdx)&&void 0!==s?s:0,null!==(o=t.sdy)&&void 0!==o?o:0),super.update_range(t,e);else if(null!=t.factor){if(10!==this.zoom_count)return void(this.zoom_count+=1);this.zoom_count=0,this.pause(),super.update_range(t,e);const s=t.factor<0?-1:1,o=this.map.getZoom();if(null!=o){const t=o+s;if(t>=2){this.map.setZoom(t);const[e,s]=this._get_projected_bounds();s-e<0&&this.map.setZoom(o)}}this.unpause()}this._set_bokeh_ranges()}_build_map(){const{maps:t}=google;this.map_types={satellite:t.MapTypeId.SATELLITE,terrain:t.MapTypeId.TERRAIN,roadmap:t.MapTypeId.ROADMAP,hybrid:t.MapTypeId.HYBRID};const e=this.model.map_options,s={center:new t.LatLng(e.lat,e.lng),zoom:e.zoom,disableDefaultUI:!0,mapTypeId:this.map_types[e.map_type],scaleControl:e.scale_control,tilt:e.tilt};null!=e.styles&&(s.styles=JSON.parse(e.styles)),this.map_el=(0,p.div)({style:{position:\"absolute\"}}),this.canvas_view.add_underlay(this.map_el),this.map=new t.Map(this.map_el,s),t.event.addListener(this.map,\"idle\",(()=>this._set_bokeh_ranges())),t.event.addListener(this.map,\"bounds_changed\",(()=>this._set_bokeh_ranges())),t.event.addListenerOnce(this.map,\"tilesloaded\",(()=>this._render_finished())),this.connect(this.model.properties.map_options.change,(()=>this._update_options())),this.connect(this.model.map_options.properties.styles.change,(()=>this._update_styles())),this.connect(this.model.map_options.properties.lat.change,(()=>this._update_center(\"lat\"))),this.connect(this.model.map_options.properties.lng.change,(()=>this._update_center(\"lng\"))),this.connect(this.model.map_options.properties.zoom.change,(()=>this._update_zoom())),this.connect(this.model.map_options.properties.map_type.change,(()=>this._update_map_type())),this.connect(this.model.map_options.properties.scale_control.change,(()=>this._update_scale_control())),this.connect(this.model.map_options.properties.tilt.change,(()=>this._update_tilt()))}_render_finished(){this._tiles_loaded=!0,this.notify_finished()}has_finished(){return super.has_finished()&&!0===this._tiles_loaded}_get_latlon_bounds(){const t=this.map.getBounds(),e=t.getNorthEast(),s=t.getSouthWest();return[s.lng(),e.lng(),s.lat(),e.lat()]}_get_projected_bounds(){const[t,e,s,o]=this._get_latlon_bounds(),[i,a]=l.wgs84_mercator.compute(t,s),[n,p]=l.wgs84_mercator.compute(e,o);return[i,n,a,p]}_set_bokeh_ranges(){const[t,e,s,o]=this._get_projected_bounds();this.frame.x_range.setv({start:t,end:e}),this.frame.y_range.setv({start:s,end:o})}_update_center(t){var e;const s=null===(e=this.map.getCenter())||void 0===e?void 0:e.toJSON();null!=s&&(s[t]=this.model.map_options[t],this.map.setCenter(s),this._set_bokeh_ranges())}_update_map_type(){this.map.setOptions({mapTypeId:this.map_types[this.model.map_options.map_type]})}_update_scale_control(){this.map.setOptions({scaleControl:this.model.map_options.scale_control})}_update_tilt(){this.map.setOptions({tilt:this.model.map_options.tilt})}_update_options(){this._update_styles(),this._update_center(\"lat\"),this._update_center(\"lng\"),this._update_zoom(),this._update_map_type()}_update_styles(){this.map.setOptions({styles:JSON.parse(this.model.map_options.styles)})}_update_zoom(){this.map.setOptions({zoom:this.model.map_options.zoom}),this._set_bokeh_ranges()}_map_hook(t,e){if(null==this.map&&\"undefined\"!=typeof google&&null!=google.maps&&this._build_map(),null!=this.map_el){const[t,s,o,i]=e;this.map_el.style.top=`${s}px`,this.map_el.style.left=`${t}px`,this.map_el.style.width=`${o}px`,this.map_el.style.height=`${i}px`}}_paint_empty(t,e){const s=this.layout.bbox.width,o=this.layout.bbox.height,[i,a,n,p]=e;t.clearRect(0,0,s,o),t.beginPath(),t.moveTo(0,0),t.lineTo(0,o),t.lineTo(s,o),t.lineTo(s,0),t.lineTo(0,0),t.moveTo(i,a),t.lineTo(i+n,a),t.lineTo(i+n,a+p),t.lineTo(i,a+p),t.lineTo(i,a),t.closePath(),null!=this.model.border_fill_color&&(t.fillStyle=(0,_.color2css)(this.model.border_fill_color),t.fill())}}s.GMapPlotView=d,d.__name__=\"GMapPlotView\"},\n function _(t,_,n,o,r){o();(0,t(1).__exportStar)(t(132),n)},\n function _(e,r,d,n,R){n(),R(\"GlyphRenderer\",e(175).GlyphRenderer),R(\"GraphRenderer\",e(339).GraphRenderer),R(\"GuideRenderer\",e(129).GuideRenderer);var G=e(41);R(\"Renderer\",G.Renderer),R(\"RendererGroup\",G.RendererGroup)},\n function _(e,r,i,n,t){var o;n();const s=e(176),d=e(175),a=e(303),p=e(302),l=e(113),_=e(178),h=e(283),y=e(286);class c extends s.DataRendererView{get glyph_view(){return this.node_view.glyph}async lazy_initialize(){await super.lazy_initialize(),this.apply_coordinates();const{parent:e}=this,{edge_renderer:r,node_renderer:i}=this.model;this.edge_view=await(0,l.build_view)(r,{parent:e}),this.node_view=await(0,l.build_view)(i,{parent:e})}connect_signals(){super.connect_signals(),this.connect(this.model.layout_provider.change,(()=>{this.apply_coordinates(),this.edge_view.set_data(),this.node_view.set_data(),this.request_render()}))}apply_coordinates(){const{edge_renderer:e,node_renderer:r}=this.model;if(!(e.glyph instanceof h.MultiLine||e.glyph instanceof y.Patches))throw new Error(`${this}.edge_renderer.glyph must be a MultiLine glyph`);if(!(r.glyph instanceof _.XYGlyph))throw new Error(`${this}.node_renderer.glyph must be a XYGlyph glyph`);const i=this.model.layout_provider.edge_coordinates,n=this.model.layout_provider.node_coordinates;e.glyph.properties.xs.internal=!0,e.glyph.properties.ys.internal=!0,r.glyph.properties.x.internal=!0,r.glyph.properties.y.internal=!0,e.glyph.xs={expr:i.x},e.glyph.ys={expr:i.y},r.glyph.x={expr:n.x},r.glyph.y={expr:n.y}}remove(){this.edge_view.remove(),this.node_view.remove(),super.remove()}_render(){this.edge_view.render(),this.node_view.render()}renderer_view(e){if(e instanceof d.GlyphRenderer){if(e==this.edge_view.model)return this.edge_view;if(e==this.node_view.model)return this.node_view}return super.renderer_view(e)}}i.GraphRendererView=c,c.__name__=\"GraphRendererView\";class g extends s.DataRenderer{constructor(e){super(e)}get_selection_manager(){return this.node_renderer.data_source.selection_manager}}i.GraphRenderer=g,o=g,g.__name__=\"GraphRenderer\",o.prototype.default_view=c,o.define((({Ref:e})=>({layout_provider:[e(a.LayoutProvider)],node_renderer:[e(d.GlyphRenderer)],edge_renderer:[e(d.GlyphRenderer)],selection_policy:[e(p.GraphHitTestPolicy),()=>new p.NodesOnly],inspection_policy:[e(p.GraphHitTestPolicy),()=>new p.NodesOnly]})))},\n function _(e,t,n,o,c){o();(0,e(1).__exportStar)(e(74),n),c(\"Selection\",e(72).Selection)},\n function _(a,e,S,o,r){o(),r(\"ServerSentDataSource\",a(342).ServerSentDataSource),r(\"AjaxDataSource\",a(344).AjaxDataSource),r(\"ColumnDataSource\",a(75).ColumnDataSource),r(\"ColumnarDataSource\",a(70).ColumnarDataSource),r(\"CDSView\",a(190).CDSView),r(\"DataSource\",a(71).DataSource),r(\"GeoJSONDataSource\",a(345).GeoJSONDataSource),r(\"WebDataSource\",a(343).WebDataSource)},\n function _(e,t,i,a,s){a();const n=e(343);class r extends n.WebDataSource{constructor(e){super(e),this.initialized=!1}setup(){if(!this.initialized){this.initialized=!0;new EventSource(this.data_url).onmessage=e=>{var t;this.load_data(JSON.parse(e.data),this.mode,null!==(t=this.max_size)&&void 0!==t?t:void 0)}}}}i.ServerSentDataSource=r,r.__name__=\"ServerSentDataSource\"},\n function _(e,t,a,n,r){var s;n();const l=e(75),o=e(20);class c extends l.ColumnDataSource{constructor(e){super(e)}get_column(e){const t=this.data[e];return null!=t?t:[]}get_length(){var e;return null!==(e=super.get_length())&&void 0!==e?e:0}initialize(){super.initialize(),this.setup()}load_data(e,t,a){const{adapter:n}=this;let r;switch(r=null!=n?n.execute(this,{response:e}):e,t){case\"replace\":this.data=r;break;case\"append\":{const e=this.data;for(const t of this.columns()){const n=Array.from(e[t]),s=Array.from(r[t]),l=n.concat(s);r[t]=null!=a?l.slice(-a):l}this.data=r;break}}}}a.WebDataSource=c,s=c,c.__name__=\"WebDataSource\",s.define((({Any:e,Int:t,String:a,Nullable:n})=>({max_size:[n(t),null],mode:[o.UpdateMode,\"replace\"],adapter:[n(e),null],data_url:[a]})))},\n function _(t,e,i,s,a){var n;s();const r=t(343),o=t(20),l=t(19),d=t(13);class h extends r.WebDataSource{constructor(t){super(t),this.interval=null,this.initialized=!1}destroy(){null!=this.interval&&clearInterval(this.interval),super.destroy()}setup(){if(!this.initialized&&(this.initialized=!0,this.get_data(this.mode),null!=this.polling_interval)){const t=()=>this.get_data(this.mode,this.max_size,this.if_modified);this.interval=setInterval(t,this.polling_interval)}}get_data(t,e=null,i=!1){const s=this.prepare_request();s.addEventListener(\"load\",(()=>this.do_load(s,t,null!=e?e:void 0))),s.addEventListener(\"error\",(()=>this.do_error(s))),s.send()}prepare_request(){const t=new XMLHttpRequest;t.open(this.method,this.data_url,!0),t.withCredentials=!1,t.setRequestHeader(\"Content-Type\",this.content_type);const e=this.http_headers;for(const[i,s]of(0,d.entries)(e))t.setRequestHeader(i,s);return t}do_load(t,e,i){if(200===t.status){const s=JSON.parse(t.responseText);this.load_data(s,e,i)}}do_error(t){l.logger.error(`Failed to fetch JSON from ${this.data_url} with code ${t.status}`)}}i.AjaxDataSource=h,n=h,h.__name__=\"AjaxDataSource\",n.define((({Boolean:t,Int:e,String:i,Dict:s,Nullable:a})=>({polling_interval:[a(e),null],content_type:[i,\"application/json\"],http_headers:[s(i),{}],method:[o.HTTPMethod,\"POST\"],if_modified:[t,!1]})))},\n function _(e,t,o,r,n){var s;r();const a=e(70),i=e(19),l=e(9),c=e(13);function _(e){return null!=e?e:NaN}const{hasOwnProperty:g}=Object.prototype;class u extends a.ColumnarDataSource{constructor(e){super(e)}initialize(){super.initialize(),this._update_data()}connect_signals(){super.connect_signals(),this.connect(this.properties.geojson.change,(()=>this._update_data()))}_update_data(){this.data=this.geojson_to_column_data()}_get_new_list_array(e){return(0,l.range)(0,e).map((e=>[]))}_get_new_nan_array(e){return(0,l.range)(0,e).map((e=>NaN))}_add_properties(e,t,o,r){var n;const s=null!==(n=e.properties)&&void 0!==n?n:{};for(const[e,n]of(0,c.entries)(s))g.call(t,e)||(t[e]=this._get_new_nan_array(r)),t[e][o]=_(n)}_add_geometry(e,t,o){function r(e,t){return e.concat([[NaN,NaN,NaN]]).concat(t)}switch(e.type){case\"Point\":{const[r,n,s]=e.coordinates;t.x[o]=r,t.y[o]=n,t.z[o]=_(s);break}case\"LineString\":{const{coordinates:r}=e;for(let e=0;e1&&i.logger.warn(\"Bokeh does not support Polygons with holes in, only exterior ring used.\");const r=e.coordinates[0];for(let e=0;e1&&i.logger.warn(\"Bokeh does not support Polygons with holes in, only exterior ring used.\"),n.push(t[0]);const s=n.reduce(r);for(let e=0;e({geojson:[e]}))),s.internal((({Dict:e,Arrayable:t})=>({data:[e(t),{}]})))},\n function _(e,r,T,o,S){o(),S(\"BBoxTileSource\",e(347).BBoxTileSource),S(\"MercatorTileSource\",e(348).MercatorTileSource),S(\"QUADKEYTileSource\",e(351).QUADKEYTileSource),S(\"TileRenderer\",e(352).TileRenderer),S(\"TileSource\",e(349).TileSource),S(\"TMSTileSource\",e(355).TMSTileSource),S(\"WMTSTileSource\",e(353).WMTSTileSource)},\n function _(e,t,r,o,l){var i;o();const n=e(348);class s extends n.MercatorTileSource{constructor(e){super(e)}get_image_url(e,t,r){const o=this.string_lookup_replace(this.url,this.extra_url_vars);let l,i,n,s;return this.use_latlon?[i,s,l,n]=this.get_tile_geographic_bounds(e,t,r):[i,s,l,n]=this.get_tile_meter_bounds(e,t,r),o.replace(\"{XMIN}\",i.toString()).replace(\"{YMIN}\",s.toString()).replace(\"{XMAX}\",l.toString()).replace(\"{YMAX}\",n.toString())}}r.BBoxTileSource=s,i=s,s.__name__=\"BBoxTileSource\",i.define((({Boolean:e})=>({use_latlon:[e,!1]})))},\n function _(t,e,i,_,s){var r;_();const o=t(349),n=t(9),l=t(350);class u extends o.TileSource{constructor(t){super(t)}initialize(){super.initialize(),this._resolutions=(0,n.range)(this.min_zoom,this.max_zoom+1).map((t=>this.get_resolution(t)))}_computed_initial_resolution(){return null!=this.initial_resolution?this.initial_resolution:2*Math.PI*6378137/this.tile_size}is_valid_tile(t,e,i){return!(!this.wrap_around&&(t<0||t>=2**i))&&!(e<0||e>=2**i)}parent_by_tile_xyz(t,e,i){const _=this.tile_xyz_to_quadkey(t,e,i),s=_.substring(0,_.length-1);return this.quadkey_to_tile_xyz(s)}get_resolution(t){return this._computed_initial_resolution()/2**t}get_resolution_by_extent(t,e,i){return[(t[2]-t[0])/i,(t[3]-t[1])/e]}get_level_by_extent(t,e,i){const _=(t[2]-t[0])/i,s=(t[3]-t[1])/e,r=Math.max(_,s);let o=0;for(const t of this._resolutions){if(r>t){if(0==o)return 0;if(o>0)return o-1}o+=1}return o-1}get_closest_level_by_extent(t,e,i){const _=(t[2]-t[0])/i,s=(t[3]-t[1])/e,r=Math.max(_,s),o=this._resolutions.reduce((function(t,e){return Math.abs(e-r)e?(u=o-s,a*=t):(u*=e,a=n-r)}const h=(u-(o-s))/2,c=(a-(n-r))/2;return[s-h,r-c,o+h,n+c]}tms_to_wmts(t,e,i){return[t,2**i-1-e,i]}wmts_to_tms(t,e,i){return[t,2**i-1-e,i]}pixels_to_meters(t,e,i){const _=this.get_resolution(i);return[t*_-this.x_origin_offset,e*_-this.y_origin_offset]}meters_to_pixels(t,e,i){const _=this.get_resolution(i);return[(t+this.x_origin_offset)/_,(e+this.y_origin_offset)/_]}pixels_to_tile(t,e){let i=Math.ceil(t/this.tile_size);i=0===i?i:i-1;return[i,Math.max(Math.ceil(e/this.tile_size)-1,0)]}pixels_to_raster(t,e,i){return[t,(this.tile_size<=l;t--)for(let i=n;i<=u;i++)this.is_valid_tile(i,t,e)&&h.push([i,t,e,this.get_tile_meter_bounds(i,t,e)]);return this.sort_tiles_from_center(h,[n,l,u,a]),h}quadkey_to_tile_xyz(t){let e=0,i=0;const _=t.length;for(let s=_;s>0;s--){const r=1<0;s--){const i=1<0;)if(s=s.substring(0,s.length-1),[t,e,i]=this.quadkey_to_tile_xyz(s),[t,e,i]=this.denormalize_xyz(t,e,i,_),this.tiles.has(this.tile_xyz_to_key(t,e,i)))return[t,e,i];return[0,0,0]}normalize_xyz(t,e,i){if(this.wrap_around){const _=2**i;return[(t%_+_)%_,e,i]}return[t,e,i]}denormalize_xyz(t,e,i,_){return[t+_*2**i,e,i]}denormalize_meters(t,e,i,_){return[t+2*_*Math.PI*6378137,e]}calculate_world_x_by_tile_xyz(t,e,i){return Math.floor(t/2**i)}}i.MercatorTileSource=u,r=u,u.__name__=\"MercatorTileSource\",r.define((({Boolean:t})=>({snap_to_zoom:[t,!1],wrap_around:[t,!0]}))),r.override({x_origin_offset:20037508.34,y_origin_offset:20037508.34,initial_resolution:156543.03392804097})},\n function _(e,t,r,i,n){var l;i();const a=e(53),s=e(13);class c extends a.Model{constructor(e){super(e)}initialize(){super.initialize(),this.tiles=new Map,this._normalize_case()}connect_signals(){super.connect_signals(),this.connect(this.change,(()=>this._clear_cache()))}string_lookup_replace(e,t){let r=e;for(const[e,i]of(0,s.entries)(t))r=r.replace(`{${e}}`,i);return r}_normalize_case(){const e=this.url.replace(\"{x}\",\"{X}\").replace(\"{y}\",\"{Y}\").replace(\"{z}\",\"{Z}\").replace(\"{q}\",\"{Q}\").replace(\"{xmin}\",\"{XMIN}\").replace(\"{ymin}\",\"{YMIN}\").replace(\"{xmax}\",\"{XMAX}\").replace(\"{ymax}\",\"{YMAX}\");this.url=e}_clear_cache(){this.tiles=new Map}tile_xyz_to_key(e,t,r){return`${e}:${t}:${r}`}key_to_tile_xyz(e){const[t,r,i]=e.split(\":\").map((e=>parseInt(e)));return[t,r,i]}sort_tiles_from_center(e,t){const[r,i,n,l]=t,a=(n-r)/2+r,s=(l-i)/2+i;e.sort((function(e,t){return Math.sqrt((a-e[0])**2+(s-e[1])**2)-Math.sqrt((a-t[0])**2+(s-t[1])**2)}))}get_image_url(e,t,r){return this.string_lookup_replace(this.url,this.extra_url_vars).replace(\"{X}\",e.toString()).replace(\"{Y}\",t.toString()).replace(\"{Z}\",r.toString())}}r.TileSource=c,l=c,c.__name__=\"TileSource\",l.define((({Number:e,String:t,Dict:r,Nullable:i})=>({url:[t,\"\"],tile_size:[e,256],max_zoom:[e,30],min_zoom:[e,0],extra_url_vars:[r(t),{}],attribution:[t,\"\"],x_origin_offset:[e],y_origin_offset:[e],initial_resolution:[i(e),null]})))},\n function _(t,e,r,n,o){n();const c=t(78);function _(t,e){return c.wgs84_mercator.compute(t,e)}function g(t,e){return c.wgs84_mercator.invert(t,e)}r.geographic_to_meters=_,r.meters_to_geographic=g,r.geographic_extent_to_meters=function(t){const[e,r,n,o]=t,[c,g]=_(e,r),[i,u]=_(n,o);return[c,g,i,u]},r.meters_extent_to_geographic=function(t){const[e,r,n,o]=t,[c,_]=g(e,r),[i,u]=g(n,o);return[c,_,i,u]}},\n function _(e,t,r,s,_){s();const o=e(348);class c extends o.MercatorTileSource{constructor(e){super(e)}get_image_url(e,t,r){const s=this.string_lookup_replace(this.url,this.extra_url_vars),[_,o,c]=this.tms_to_wmts(e,t,r),i=this.tile_xyz_to_quadkey(_,o,c);return s.replace(\"{Q}\",i)}}r.QUADKEYTileSource=c,c.__name__=\"QUADKEYTileSource\"},\n function _(t,e,i,s,_){s();const n=t(1);var a;const o=t(349),r=t(353),h=t(41),l=t(58),d=t(43),m=t(136),c=t(9),u=t(8),p=(0,n.__importStar)(t(354));class g extends h.RendererView{initialize(){this._tiles=[],super.initialize()}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render())),this.connect(this.model.tile_source.change,(()=>this.request_render()))}remove(){null!=this.attribution_el&&(0,d.removeElement)(this.attribution_el),super.remove()}styles(){return[...super.styles(),p.default]}get_extent(){return[this.x_range.start,this.y_range.start,this.x_range.end,this.y_range.end]}get map_plot(){return this.plot_model}get map_canvas(){return this.layer.ctx}get map_frame(){return this.plot_view.frame}get x_range(){return this.map_plot.x_range}get y_range(){return this.map_plot.y_range}_set_data(){this.extent=this.get_extent(),this._last_height=void 0,this._last_width=void 0}_update_attribution(){null!=this.attribution_el&&(0,d.removeElement)(this.attribution_el);const{attribution:t}=this.model.tile_source;if((0,u.isString)(t)&&t.length>0){const{layout:e,frame:i}=this.plot_view,s=e.bbox.width-i.bbox.right,_=e.bbox.height-i.bbox.bottom,n=i.bbox.width;this.attribution_el=(0,d.div)({class:p.tile_attribution,style:{position:\"absolute\",right:`${s}px`,bottom:`${_}px`,\"max-width\":n-4+\"px\",padding:\"2px\",\"background-color\":\"rgba(255,255,255,0.5)\",\"font-size\":\"9px\",\"line-height\":\"1.05\",\"white-space\":\"nowrap\",overflow:\"hidden\",\"text-overflow\":\"ellipsis\"}}),this.plot_view.canvas_view.add_event(this.attribution_el),this.attribution_el.innerHTML=t,this.attribution_el.title=this.attribution_el.textContent.replace(/\\s*\\n\\s*/g,\" \")}}_map_data(){this.initial_extent=this.get_extent();const t=this.model.tile_source.get_level_by_extent(this.initial_extent,this.map_frame.bbox.height,this.map_frame.bbox.width),e=this.model.tile_source.snap_to_zoom_level(this.initial_extent,this.map_frame.bbox.height,this.map_frame.bbox.width,t);this.x_range.start=e[0],this.y_range.start=e[1],this.x_range.end=e[2],this.y_range.end=e[3],this.x_range instanceof l.Range1d&&(this.x_range.reset_start=e[0],this.x_range.reset_end=e[2]),this.y_range instanceof l.Range1d&&(this.y_range.reset_start=e[1],this.y_range.reset_end=e[3]),this._update_attribution()}_create_tile(t,e,i,s,_=!1){const n=this.model.tile_source.tile_xyz_to_quadkey(t,e,i),a=this.model.tile_source.tile_xyz_to_key(t,e,i);if(this.model.tile_source.tiles.has(a))return;const[o,r,h]=this.model.tile_source.normalize_xyz(t,e,i),l=this.model.tile_source.get_image_url(o,r,h),d={img:void 0,tile_coords:[t,e,i],normalized_coords:[o,r,h],quadkey:n,cache_key:a,bounds:s,loaded:!1,finished:!1,x_coord:s[0],y_coord:s[3]};this.model.tile_source.tiles.set(a,d),this._tiles.push(d),new m.ImageLoader(l,{loaded:t=>{Object.assign(d,{img:t,loaded:!0}),_?(d.finished=!0,this.notify_finished()):this.request_render()},failed(){d.finished=!0}})}_enforce_aspect_ratio(){if(this._last_height!==this.map_frame.bbox.height||this._last_width!==this.map_frame.bbox.width){const t=this.get_extent(),e=this.model.tile_source.get_level_by_extent(t,this.map_frame.bbox.height,this.map_frame.bbox.width),i=this.model.tile_source.snap_to_zoom_level(t,this.map_frame.bbox.height,this.map_frame.bbox.width,e);this.x_range.setv({start:i[0],end:i[2]}),this.y_range.setv({start:i[1],end:i[3]}),this.extent=i,this._last_height=this.map_frame.bbox.height,this._last_width=this.map_frame.bbox.width}}has_finished(){if(!super.has_finished())return!1;if(0==this._tiles.length)return!1;for(const t of this._tiles)if(!t.finished)return!1;return!0}_render(){null==this.map_initialized&&(this._set_data(),this._map_data(),this.map_initialized=!0),this._enforce_aspect_ratio(),this._update(),null!=this.prefetch_timer&&clearTimeout(this.prefetch_timer),this.prefetch_timer=setTimeout(this._prefetch_tiles.bind(this),500),this.has_finished()&&this.notify_finished()}_draw_tile(t){const e=this.model.tile_source.tiles.get(t);if(null!=e&&e.loaded){const[[t],[i]]=this.coordinates.map_to_screen([e.bounds[0]],[e.bounds[3]]),[[s],[_]]=this.coordinates.map_to_screen([e.bounds[2]],[e.bounds[1]]),n=s-t,a=_-i,o=t,r=i,h=this.map_canvas.getImageSmoothingEnabled();this.map_canvas.setImageSmoothingEnabled(this.model.smoothing),this.map_canvas.drawImage(e.img,o,r,n,a),this.map_canvas.setImageSmoothingEnabled(h),e.finished=!0}}_set_rect(){const t=this.plot_model.outline_line_width,e=this.map_frame.bbox.left+t/2,i=this.map_frame.bbox.top+t/2,s=this.map_frame.bbox.width-t,_=this.map_frame.bbox.height-t;this.map_canvas.rect(e,i,s,_),this.map_canvas.clip()}_render_tiles(t){this.map_canvas.save(),this._set_rect(),this.map_canvas.globalAlpha=this.model.alpha;for(const e of t)this._draw_tile(e);this.map_canvas.restore()}_prefetch_tiles(){const{tile_source:t}=this.model,e=this.get_extent(),i=this.map_frame.bbox.height,s=this.map_frame.bbox.width,_=this.model.tile_source.get_level_by_extent(e,i,s),n=this.model.tile_source.get_tiles_by_extent(e,_);for(let e=0,i=Math.min(10,n.length);ei&&(s=this.extent,o=i,r=!0),r&&(this.x_range.setv({start:s[0],end:s[2]}),this.y_range.setv({start:s[1],end:s[3]})),this.extent=s;const h=t.get_tiles_by_extent(s,o),l=[],d=[],m=[],u=[];for(const e of h){const[i,s,n]=e,a=t.tile_xyz_to_key(i,s,n),o=t.tiles.get(a);if(null!=o&&o.loaded)d.push(a);else if(this.model.render_parents){const[e,a,o]=t.get_closest_parent_by_tile_xyz(i,s,n),r=t.tile_xyz_to_key(e,a,o),h=t.tiles.get(r);if(null!=h&&h.loaded&&!(0,c.includes)(m,r)&&m.push(r),_){const e=t.children_by_tile_xyz(i,s,n);for(const[i,s,_]of e){const e=t.tile_xyz_to_key(i,s,_);t.tiles.has(e)&&u.push(e)}}}null==o&&l.push(e)}this._render_tiles(m),this._render_tiles(u),this._render_tiles(d),null!=this.render_timer&&clearTimeout(this.render_timer),this.render_timer=setTimeout((()=>this._fetch_tiles(l)),65)}}i.TileRendererView=g,g.__name__=\"TileRendererView\";class b extends h.Renderer{constructor(t){super(t)}}i.TileRenderer=b,a=b,b.__name__=\"TileRenderer\",a.prototype.default_view=g,a.define((({Boolean:t,Number:e,Ref:i})=>({alpha:[e,1],smoothing:[t,!0],tile_source:[i(o.TileSource),()=>new r.WMTSTileSource],render_parents:[t,!0]}))),a.override({level:\"image\"})},\n function _(t,e,r,o,s){o();const c=t(348);class i extends c.MercatorTileSource{constructor(t){super(t)}get_image_url(t,e,r){const o=this.string_lookup_replace(this.url,this.extra_url_vars),[s,c,i]=this.tms_to_wmts(t,e,r);return o.replace(\"{X}\",s.toString()).replace(\"{Y}\",c.toString()).replace(\"{Z}\",i.toString())}}r.WMTSTileSource=i,i.__name__=\"WMTSTileSource\"},\n function _(t,o,i,b,r){b(),i.root=\"bk-root\",i.tile_attribution=\"bk-tile-attribution\",i.default=\".bk-root .bk-tile-attribution a{color:black;}\"},\n function _(e,r,t,c,o){c();const i=e(348);class l extends i.MercatorTileSource{constructor(e){super(e)}get_image_url(e,r,t){return this.string_lookup_replace(this.url,this.extra_url_vars).replace(\"{X}\",e.toString()).replace(\"{Y}\",r.toString()).replace(\"{Z}\",t.toString())}}t.TMSTileSource=l,l.__name__=\"TMSTileSource\"},\n function _(e,t,u,a,r){a(),r(\"CanvasTexture\",e(357).CanvasTexture),r(\"ImageURLTexture\",e(359).ImageURLTexture),r(\"Texture\",e(358).Texture)},\n function _(t,e,n,c,s){var r;c();const o=t(358),a=t(34);class u extends o.Texture{constructor(t){super(t)}get func(){const t=(0,a.use_strict)(this.code);return new Function(\"ctx\",\"color\",\"scale\",\"weight\",t)}get_pattern(t,e,n){const c=document.createElement(\"canvas\");c.width=e,c.height=e;const s=c.getContext(\"2d\");return this.func.call(this,s,t,e,n),c}}n.CanvasTexture=u,r=u,u.__name__=\"CanvasTexture\",r.define((({String:t})=>({code:[t]})))},\n function _(e,t,n,r,o){var i;r();const s=e(53),u=e(20);class c extends s.Model{constructor(e){super(e)}}n.Texture=c,i=c,c.__name__=\"Texture\",i.define((()=>({repetition:[u.TextureRepetition,\"repeat\"]})))},\n function _(e,t,i,r,n){var a;r();const s=e(358),o=e(136);class u extends s.Texture{constructor(e){super(e)}initialize(){super.initialize(),this._loader=new o.ImageLoader(this.url)}get_pattern(e,t,i){const{_loader:r}=this;return this._loader.finished?r.image:r.promise}}i.ImageURLTexture=u,a=u,u.__name__=\"ImageURLTexture\",a.define((({String:e})=>({url:[e]})))},\n function _(o,l,T,e,t){e(),t(\"ActionTool\",o(238).ActionTool),t(\"CustomAction\",o(361).CustomAction),t(\"HelpTool\",o(239).HelpTool),t(\"RedoTool\",o(362).RedoTool),t(\"ResetTool\",o(363).ResetTool),t(\"SaveTool\",o(364).SaveTool),t(\"UndoTool\",o(365).UndoTool),t(\"ZoomInTool\",o(366).ZoomInTool),t(\"ZoomOutTool\",o(369).ZoomOutTool),t(\"ButtonTool\",o(224).ButtonTool),t(\"EditTool\",o(370).EditTool),t(\"BoxEditTool\",o(371).BoxEditTool),t(\"FreehandDrawTool\",o(372).FreehandDrawTool),t(\"PointDrawTool\",o(373).PointDrawTool),t(\"PolyDrawTool\",o(374).PolyDrawTool),t(\"PolyTool\",o(375).PolyTool),t(\"PolyEditTool\",o(376).PolyEditTool),t(\"BoxSelectTool\",o(377).BoxSelectTool),t(\"BoxZoomTool\",o(379).BoxZoomTool),t(\"GestureTool\",o(223).GestureTool),t(\"LassoSelectTool\",o(380).LassoSelectTool),t(\"LineEditTool\",o(382).LineEditTool),t(\"PanTool\",o(384).PanTool),t(\"PolySelectTool\",o(381).PolySelectTool),t(\"RangeTool\",o(385).RangeTool),t(\"SelectTool\",o(378).SelectTool),t(\"TapTool\",o(386).TapTool),t(\"WheelPanTool\",o(387).WheelPanTool),t(\"WheelZoomTool\",o(388).WheelZoomTool),t(\"CrosshairTool\",o(389).CrosshairTool),t(\"CustomJSHover\",o(390).CustomJSHover),t(\"HoverTool\",o(391).HoverTool),t(\"InspectTool\",o(232).InspectTool),t(\"Tool\",o(222).Tool),t(\"ToolProxy\",o(394).ToolProxy),t(\"Toolbar\",o(221).Toolbar),t(\"ToolbarBase\",o(233).ToolbarBase),t(\"ProxyToolbar\",o(395).ProxyToolbar),t(\"ToolbarBox\",o(395).ToolbarBox)},\n function _(t,o,e,s,n){var c;s();const i=t(238);class u extends i.ActionToolButtonView{css_classes(){return super.css_classes().concat(\"bk-toolbar-button-custom-action\")}}e.CustomActionButtonView=u,u.__name__=\"CustomActionButtonView\";class l extends i.ActionToolView{doit(){var t;null===(t=this.model.callback)||void 0===t||t.execute(this.model)}}e.CustomActionView=l,l.__name__=\"CustomActionView\";class a extends i.ActionTool{constructor(t){super(t),this.tool_name=\"Custom Action\",this.button_view=u}}e.CustomAction=a,c=a,a.__name__=\"CustomAction\",c.prototype.default_view=l,c.define((({Any:t,String:o,Nullable:e})=>({callback:[e(t)],icon:[o]}))),c.override({description:\"Perform a Custom Action\"})},\n function _(e,o,t,i,s){var n;i();const l=e(238),_=e(228);class d extends l.ActionToolView{connect_signals(){super.connect_signals(),this.connect(this.plot_view.state.changed,(()=>this.model.disabled=!this.plot_view.state.can_redo))}doit(){const e=this.plot_view.state.redo();null!=(null==e?void 0:e.range)&&this.plot_view.trigger_ranges_update_event()}}t.RedoToolView=d,d.__name__=\"RedoToolView\";class a extends l.ActionTool{constructor(e){super(e),this.tool_name=\"Redo\",this.icon=_.tool_icon_redo}}t.RedoTool=a,n=a,a.__name__=\"RedoTool\",n.prototype.default_view=d,n.override({disabled:!0}),n.register_alias(\"redo\",(()=>new a))},\n function _(e,o,t,s,i){var _;s();const n=e(238),l=e(228);class c extends n.ActionToolView{doit(){this.plot_view.reset()}}t.ResetToolView=c,c.__name__=\"ResetToolView\";class r extends n.ActionTool{constructor(e){super(e),this.tool_name=\"Reset\",this.icon=l.tool_icon_reset}}t.ResetTool=r,_=r,r.__name__=\"ResetTool\",_.prototype.default_view=c,_.register_alias(\"reset\",(()=>new r))},\n function _(e,o,t,a,i){var s;a();const c=e(238),n=e(228);class l extends c.ActionToolView{async copy(){const e=await this.plot_view.to_blob(),o=new ClipboardItem({[e.type]:Promise.resolve(e)});await navigator.clipboard.write([o])}async save(e){const o=await this.plot_view.to_blob(),t=document.createElement(\"a\");t.href=URL.createObjectURL(o),t.download=e,t.target=\"_blank\",t.dispatchEvent(new MouseEvent(\"click\"))}doit(e=\"save\"){switch(e){case\"save\":this.save(\"bokeh_plot\");break;case\"copy\":this.copy()}}}t.SaveToolView=l,l.__name__=\"SaveToolView\";class r extends c.ActionTool{constructor(e){super(e),this.tool_name=\"Save\",this.icon=n.tool_icon_save}get menu(){return[{icon:\"bk-tool-icon-copy-to-clipboard\",tooltip:\"Copy image to clipboard\",if:()=>\"undefined\"!=typeof ClipboardItem,handler:()=>{this.do.emit(\"copy\")}}]}}t.SaveTool=r,s=r,r.__name__=\"SaveTool\",s.prototype.default_view=l,s.register_alias(\"save\",(()=>new r))},\n function _(o,e,t,n,i){var s;n();const l=o(238),_=o(228);class d extends l.ActionToolView{connect_signals(){super.connect_signals(),this.connect(this.plot_view.state.changed,(()=>this.model.disabled=!this.plot_view.state.can_undo))}doit(){const o=this.plot_view.state.undo();null!=(null==o?void 0:o.range)&&this.plot_view.trigger_ranges_update_event()}}t.UndoToolView=d,d.__name__=\"UndoToolView\";class a extends l.ActionTool{constructor(o){super(o),this.tool_name=\"Undo\",this.icon=_.tool_icon_undo}}t.UndoTool=a,s=a,a.__name__=\"UndoTool\",s.prototype.default_view=d,s.override({disabled:!0}),s.register_alias(\"undo\",(()=>new a))},\n function _(o,n,e,i,s){var t;i();const _=o(367),m=o(228);class a extends _.ZoomBaseToolView{}e.ZoomInToolView=a,a.__name__=\"ZoomInToolView\";class l extends _.ZoomBaseTool{constructor(o){super(o),this.sign=1,this.tool_name=\"Zoom In\",this.icon=m.tool_icon_zoom_in}}e.ZoomInTool=l,t=l,l.__name__=\"ZoomInTool\",t.prototype.default_view=a,t.register_alias(\"zoom_in\",(()=>new l({dimensions:\"both\"}))),t.register_alias(\"xzoom_in\",(()=>new l({dimensions:\"width\"}))),t.register_alias(\"yzoom_in\",(()=>new l({dimensions:\"height\"})))},\n function _(o,t,e,i,s){var n;i();const a=o(238),_=o(20),l=o(368);class m extends a.ActionToolView{doit(){var o;const t=this.plot_view.frame,e=this.model.dimensions,i=\"width\"==e||\"both\"==e,s=\"height\"==e||\"both\"==e,n=(0,l.scale_range)(t,this.model.sign*this.model.factor,i,s);this.plot_view.state.push(\"zoom_out\",{range:n}),this.plot_view.update_range(n,{scrolling:!0,maintain_focus:this.model.maintain_focus}),null===(o=this.model.document)||void 0===o||o.interactive_start(this.plot_model),this.plot_view.trigger_ranges_update_event()}}e.ZoomBaseToolView=m,m.__name__=\"ZoomBaseToolView\";class h extends a.ActionTool{constructor(o){super(o),this.maintain_focus=!0}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}e.ZoomBaseTool=h,n=h,h.__name__=\"ZoomBaseTool\",n.define((({Percent:o})=>({factor:[o,.1],dimensions:[_.Dimensions,\"both\"]})))},\n function _(n,t,o,r,s){r();const c=n(10);function e(n,t,o){const[r,s]=[n.start,n.end],c=null!=o?o:(s+r)/2;return[r-(r-c)*t,s-(s-c)*t]}function a(n,[t,o]){const r=new Map;for(const[s,c]of n){const[n,e]=c.r_invert(t,o);r.set(s,{start:n,end:e})}return r}o.scale_highlow=e,o.get_info=a,o.scale_range=function(n,t,o=!0,r=!0,s){t=(0,c.clamp)(t,-.9,.9);const l=o?t:0,[u,i]=e(n.bbox.h_range,l,null!=s?s.x:void 0),_=a(n.x_scales,[u,i]),f=r?t:0,[g,x]=e(n.bbox.v_range,f,null!=s?s.y:void 0);return{xrs:_,yrs:a(n.y_scales,[g,x]),factor:t}}},\n function _(o,e,t,i,s){var n;i();const _=o(367),a=o(228);class m extends _.ZoomBaseToolView{}t.ZoomOutToolView=m,m.__name__=\"ZoomOutToolView\";class l extends _.ZoomBaseTool{constructor(o){super(o),this.sign=-1,this.tool_name=\"Zoom Out\",this.icon=a.tool_icon_zoom_out}}t.ZoomOutTool=l,n=l,l.__name__=\"ZoomOutTool\",n.prototype.default_view=m,n.define((({Boolean:o})=>({maintain_focus:[o,!0]}))),n.register_alias(\"zoom_out\",(()=>new l({dimensions:\"both\"}))),n.register_alias(\"xzoom_out\",(()=>new l({dimensions:\"width\"}))),n.register_alias(\"yzoom_out\",(()=>new l({dimensions:\"height\"})))},\n function _(e,t,s,o,n){var r;o();const i=e(9),c=e(8),a=e(11),_=e(175),l=e(223);class d extends l.GestureToolView{constructor(){super(...arguments),this._mouse_in_frame=!0}_select_mode(e){const{shiftKey:t,ctrlKey:s}=e;return t||s?t&&!s?\"append\":!t&&s?\"intersect\":t&&s?\"subtract\":void(0,a.unreachable)():\"replace\"}_move_enter(e){this._mouse_in_frame=!0}_move_exit(e){this._mouse_in_frame=!1}_map_drag(e,t,s){if(!this.plot_view.frame.bbox.contains(e,t))return null;const o=this.plot_view.renderer_view(s);if(null==o)return null;return[o.coordinates.x_scale.invert(e),o.coordinates.y_scale.invert(t)]}_delete_selected(e){const t=e.data_source,s=t.selected.indices;s.sort();for(const e of t.columns()){const o=t.get_array(e);for(let e=0;e({custom_icon:[n(t),null],empty_value:[e],renderers:[s(o(_.GlyphRenderer)),[]]})))},\n function _(e,t,s,i,_){var o;i();const n=e(43),a=e(20),d=e(370),l=e(228);class r extends d.EditToolView{_tap(e){null==this._draw_basepoint&&null==this._basepoint&&this._select_event(e,this._select_mode(e),this.model.renderers)}_keyup(e){if(this.model.active&&this._mouse_in_frame)for(const t of this.model.renderers)if(e.keyCode===n.Keys.Backspace)this._delete_selected(t);else if(e.keyCode==n.Keys.Esc){t.data_source.selection_manager.clear()}}_set_extent([e,t],[s,i],_,o=!1){const n=this.model.renderers[0],a=this.plot_view.renderer_view(n);if(null==a)return;const d=n.glyph,l=n.data_source,[r,h]=a.coordinates.x_scale.r_invert(e,t),[p,u]=a.coordinates.y_scale.r_invert(s,i),[c,m]=[(r+h)/2,(p+u)/2],[f,b]=[h-r,u-p],[y,x]=[d.x.field,d.y.field],[w,v]=[d.width.field,d.height.field];if(_)this._pop_glyphs(l,this.model.num_objects),y&&l.get_array(y).push(c),x&&l.get_array(x).push(m),w&&l.get_array(w).push(f),v&&l.get_array(v).push(b),this._pad_empty_columns(l,[y,x,w,v]);else{const e=l.data[y].length-1;y&&(l.data[y][e]=c),x&&(l.data[x][e]=m),w&&(l.data[w][e]=f),v&&(l.data[v][e]=b)}this._emit_cds_changes(l,!0,!1,o)}_update_box(e,t=!1,s=!1){if(null==this._draw_basepoint)return;const i=[e.sx,e.sy],_=this.plot_view.frame,o=this.model.dimensions,n=this.model._get_dim_limits(this._draw_basepoint,i,_,o);if(null!=n){const[e,i]=n;this._set_extent(e,i,t,s)}}_doubletap(e){this.model.active&&(null!=this._draw_basepoint?(this._update_box(e,!1,!0),this._draw_basepoint=null):(this._draw_basepoint=[e.sx,e.sy],this._select_event(e,\"append\",this.model.renderers),this._update_box(e,!0,!1)))}_move(e){this._update_box(e,!1,!1)}_pan_start(e){if(e.shiftKey){if(null!=this._draw_basepoint)return;this._draw_basepoint=[e.sx,e.sy],this._update_box(e,!0,!1)}else{if(null!=this._basepoint)return;this._select_event(e,\"append\",this.model.renderers),this._basepoint=[e.sx,e.sy]}}_pan(e,t=!1,s=!1){if(e.shiftKey){if(null==this._draw_basepoint)return;this._update_box(e,t,s)}else{if(null==this._basepoint)return;this._drag_points(e,this.model.renderers)}}_pan_end(e){if(this._pan(e,!1,!0),e.shiftKey)this._draw_basepoint=null;else{this._basepoint=null;for(const e of this.model.renderers)this._emit_cds_changes(e.data_source,!1,!0,!0)}}}s.BoxEditToolView=r,r.__name__=\"BoxEditToolView\";class h extends d.EditTool{constructor(e){super(e),this.tool_name=\"Box Edit Tool\",this.icon=l.tool_icon_box_edit,this.event_type=[\"tap\",\"pan\",\"move\"],this.default_order=1}}s.BoxEditTool=h,o=h,h.__name__=\"BoxEditTool\",o.prototype.default_view=r,o.define((({Int:e})=>({dimensions:[a.Dimensions,\"both\"],num_objects:[e,0]})))},\n function _(e,t,a,s,r){var _;s();const d=e(43),o=e(8),n=e(370),i=e(228);class l extends n.EditToolView{_draw(e,t,a=!1){if(!this.model.active)return;const s=this.model.renderers[0],r=this._map_drag(e.sx,e.sy,s);if(null==r)return;const[_,d]=r,n=s.data_source,i=s.glyph,[l,h]=[i.xs.field,i.ys.field];if(\"new\"==t)this._pop_glyphs(n,this.model.num_objects),l&&n.get_array(l).push([_]),h&&n.get_array(h).push([d]),this._pad_empty_columns(n,[l,h]);else if(\"add\"==t){if(l){const e=n.data[l].length-1;let t=n.get_array(l)[e];(0,o.isArray)(t)||(t=Array.from(t),n.data[l][e]=t),t.push(_)}if(h){const e=n.data[h].length-1;let t=n.get_array(h)[e];(0,o.isArray)(t)||(t=Array.from(t),n.data[h][e]=t),t.push(d)}}this._emit_cds_changes(n,!0,!0,a)}_pan_start(e){this._draw(e,\"new\")}_pan(e){this._draw(e,\"add\")}_pan_end(e){this._draw(e,\"add\",!0)}_tap(e){this._select_event(e,this._select_mode(e),this.model.renderers)}_keyup(e){if(this.model.active&&this._mouse_in_frame)for(const t of this.model.renderers)e.keyCode===d.Keys.Esc?t.data_source.selection_manager.clear():e.keyCode===d.Keys.Backspace&&this._delete_selected(t)}}a.FreehandDrawToolView=l,l.__name__=\"FreehandDrawToolView\";class h extends n.EditTool{constructor(e){super(e),this.tool_name=\"Freehand Draw Tool\",this.icon=i.tool_icon_freehand_draw,this.event_type=[\"pan\",\"tap\"],this.default_order=3}}a.FreehandDrawTool=h,_=h,h.__name__=\"FreehandDrawTool\",_.prototype.default_view=l,_.define((({Int:e})=>({num_objects:[e,0]}))),_.register_alias(\"freehand_draw\",(()=>new h))},\n function _(e,t,s,o,a){var i;o();const n=e(43),_=e(370),r=e(228);class d extends _.EditToolView{_tap(e){if(this._select_event(e,this._select_mode(e),this.model.renderers).length||!this.model.add)return;const t=this.model.renderers[0],s=this._map_drag(e.sx,e.sy,t);if(null==s)return;const o=t.glyph,a=t.data_source,[i,n]=[o.x.field,o.y.field],[_,r]=s;this._pop_glyphs(a,this.model.num_objects),i&&a.get_array(i).push(_),n&&a.get_array(n).push(r),this._pad_empty_columns(a,[i,n]),a.change.emit(),a.data=a.data,a.properties.data.change.emit()}_keyup(e){if(this.model.active&&this._mouse_in_frame)for(const t of this.model.renderers)e.keyCode===n.Keys.Backspace?this._delete_selected(t):e.keyCode==n.Keys.Esc&&t.data_source.selection_manager.clear()}_pan_start(e){this.model.drag&&(this._select_event(e,\"append\",this.model.renderers),this._basepoint=[e.sx,e.sy])}_pan(e){this.model.drag&&null!=this._basepoint&&this._drag_points(e,this.model.renderers)}_pan_end(e){if(this.model.drag){this._pan(e);for(const e of this.model.renderers)this._emit_cds_changes(e.data_source,!1,!0,!0);this._basepoint=null}}}s.PointDrawToolView=d,d.__name__=\"PointDrawToolView\";class l extends _.EditTool{constructor(e){super(e),this.tool_name=\"Point Draw Tool\",this.icon=r.tool_icon_point_draw,this.event_type=[\"tap\",\"pan\",\"move\"],this.default_order=2}}s.PointDrawTool=l,i=l,l.__name__=\"PointDrawTool\",i.prototype.default_view=d,i.define((({Boolean:e,Int:t})=>({add:[e,!0],drag:[e,!0],num_objects:[t,0]})))},\n function _(e,t,s,i,a){var r;i();const o=e(43),n=e(8),d=e(375),_=e(228);class h extends d.PolyToolView{constructor(){super(...arguments),this._drawing=!1,this._initialized=!1}_tap(e){this._drawing?this._draw(e,\"add\",!0):this._select_event(e,this._select_mode(e),this.model.renderers)}_draw(e,t,s=!1){const i=this.model.renderers[0],a=this._map_drag(e.sx,e.sy,i);if(this._initialized||this.activate(),null==a)return;const[r,o]=this._snap_to_vertex(e,...a),d=i.data_source,_=i.glyph,[h,l]=[_.xs.field,_.ys.field];if(\"new\"==t)this._pop_glyphs(d,this.model.num_objects),h&&d.get_array(h).push([r,r]),l&&d.get_array(l).push([o,o]),this._pad_empty_columns(d,[h,l]);else if(\"edit\"==t){if(h){const e=d.data[h][d.data[h].length-1];e[e.length-1]=r}if(l){const e=d.data[l][d.data[l].length-1];e[e.length-1]=o}}else if(\"add\"==t){if(h){const e=d.data[h].length-1;let t=d.get_array(h)[e];const s=t[t.length-1];t[t.length-1]=r,(0,n.isArray)(t)||(t=Array.from(t),d.data[h][e]=t),t.push(s)}if(l){const e=d.data[l].length-1;let t=d.get_array(l)[e];const s=t[t.length-1];t[t.length-1]=o,(0,n.isArray)(t)||(t=Array.from(t),d.data[l][e]=t),t.push(s)}}this._emit_cds_changes(d,!0,!1,s)}_show_vertices(){if(!this.model.active)return;const e=[],t=[];for(let s=0;sthis._show_vertices()))}this._initialized=!0}}deactivate(){this._drawing&&(this._remove(),this._drawing=!1),this.model.vertex_renderer&&this._hide_vertices()}}s.PolyDrawToolView=h,h.__name__=\"PolyDrawToolView\";class l extends d.PolyTool{constructor(e){super(e),this.tool_name=\"Polygon Draw Tool\",this.icon=_.tool_icon_poly_draw,this.event_type=[\"pan\",\"tap\",\"move\"],this.default_order=3}}s.PolyDrawTool=l,r=l,l.__name__=\"PolyDrawTool\",r.prototype.default_view=h,r.define((({Boolean:e,Int:t})=>({drag:[e,!0],num_objects:[t,0]})))},\n function _(e,r,t,s,o){var _;s();const d=e(8),i=e(370);class l extends i.EditToolView{_set_vertices(e,r){const t=this.model.vertex_renderer.glyph,s=this.model.vertex_renderer.data_source,[o,_]=[t.x.field,t.y.field];o&&((0,d.isArray)(e)?s.data[o]=e:t.x={value:e}),_&&((0,d.isArray)(r)?s.data[_]=r:t.y={value:r}),this._emit_cds_changes(s,!0,!0,!1)}_hide_vertices(){this._set_vertices([],[])}_snap_to_vertex(e,r,t){if(this.model.vertex_renderer){const s=this._select_event(e,\"replace\",[this.model.vertex_renderer]),o=this.model.vertex_renderer.data_source,_=this.model.vertex_renderer.glyph,[d,i]=[_.x.field,_.y.field];if(s.length){const e=o.selected.indices[0];d&&(r=o.data[d][e]),i&&(t=o.data[i][e]),o.selection_manager.clear()}}return[r,t]}}t.PolyToolView=l,l.__name__=\"PolyToolView\";class n extends i.EditTool{constructor(e){super(e)}}t.PolyTool=n,_=n,n.__name__=\"PolyTool\",_.define((({AnyRef:e})=>({vertex_renderer:[e()]})))},\n function _(e,t,s,r,i){var _;r();const d=e(43),n=e(8),l=e(375),a=e(228);class c extends l.PolyToolView{constructor(){super(...arguments),this._drawing=!1,this._cur_index=null}_doubletap(e){if(!this.model.active)return;const t=this._map_drag(e.sx,e.sy,this.model.vertex_renderer);if(null==t)return;const[s,r]=t,i=this._select_event(e,\"replace\",[this.model.vertex_renderer]),_=this.model.vertex_renderer.data_source,d=this.model.vertex_renderer.glyph,[n,l]=[d.x.field,d.y.field];if(i.length&&null!=this._selected_renderer){const e=_.selected.indices[0];this._drawing?(this._drawing=!1,_.selection_manager.clear()):(_.selected.indices=[e+1],n&&_.get_array(n).splice(e+1,0,s),l&&_.get_array(l).splice(e+1,0,r),this._drawing=!0),_.change.emit(),this._emit_cds_changes(this._selected_renderer.data_source)}else this._show_vertices(e)}_show_vertices(e){if(!this.model.active)return;const t=this.model.renderers[0],s=()=>this._update_vertices(t),r=null==t?void 0:t.data_source,i=this._select_event(e,\"replace\",this.model.renderers);if(!i.length)return this._set_vertices([],[]),this._selected_renderer=null,this._drawing=!1,this._cur_index=null,void(null!=r&&r.disconnect(r.properties.data.change,s));null!=r&&r.connect(r.properties.data.change,s),this._cur_index=i[0].data_source.selected.indices[0],this._update_vertices(i[0])}_update_vertices(e){const t=e.glyph,s=e.data_source,r=this._cur_index,[i,_]=[t.xs.field,t.ys.field];if(this._drawing)return;if(null==r&&(i||_))return;let d,l;i&&null!=r?(d=s.data[i][r],(0,n.isArray)(d)||(s.data[i][r]=d=Array.from(d))):d=t.xs.value,_&&null!=r?(l=s.data[_][r],(0,n.isArray)(l)||(s.data[_][r]=l=Array.from(l))):l=t.ys.value,this._selected_renderer=e,this._set_vertices(d,l)}_move(e){if(this._drawing&&null!=this._selected_renderer){const t=this.model.vertex_renderer,s=t.data_source,r=t.glyph,i=this._map_drag(e.sx,e.sy,t);if(null==i)return;let[_,d]=i;const n=s.selected.indices;[_,d]=this._snap_to_vertex(e,_,d),s.selected.indices=n;const[l,a]=[r.x.field,r.y.field],c=n[0];l&&(s.data[l][c]=_),a&&(s.data[a][c]=d),s.change.emit(),this._selected_renderer.data_source.change.emit()}}_tap(e){const t=this.model.vertex_renderer,s=this._map_drag(e.sx,e.sy,t);if(null==s)return;if(this._drawing&&this._selected_renderer){let[r,i]=s;const _=t.data_source,d=t.glyph,[n,l]=[d.x.field,d.y.field],a=_.selected.indices;[r,i]=this._snap_to_vertex(e,r,i);const c=a[0];if(_.selected.indices=[c+1],n){const e=_.get_array(n),t=e[c];e[c]=r,e.splice(c+1,0,t)}if(l){const e=_.get_array(l),t=e[c];e[c]=i,e.splice(c+1,0,t)}return _.change.emit(),void this._emit_cds_changes(this._selected_renderer.data_source,!0,!1,!0)}const r=this._select_mode(e);this._select_event(e,r,[t]),this._select_event(e,r,this.model.renderers)}_remove_vertex(){if(!this._drawing||!this._selected_renderer)return;const e=this.model.vertex_renderer,t=e.data_source,s=e.glyph,r=t.selected.indices[0],[i,_]=[s.x.field,s.y.field];i&&t.get_array(i).splice(r,1),_&&t.get_array(_).splice(r,1),t.change.emit(),this._emit_cds_changes(this._selected_renderer.data_source)}_pan_start(e){this._select_event(e,\"append\",[this.model.vertex_renderer]),this._basepoint=[e.sx,e.sy]}_pan(e){null!=this._basepoint&&(this._drag_points(e,[this.model.vertex_renderer]),this._selected_renderer&&this._selected_renderer.data_source.change.emit())}_pan_end(e){null!=this._basepoint&&(this._drag_points(e,[this.model.vertex_renderer]),this._emit_cds_changes(this.model.vertex_renderer.data_source,!1,!0,!0),this._selected_renderer&&this._emit_cds_changes(this._selected_renderer.data_source),this._basepoint=null)}_keyup(e){if(!this.model.active||!this._mouse_in_frame)return;let t;t=this._selected_renderer?[this.model.vertex_renderer]:this.model.renderers;for(const s of t)e.keyCode===d.Keys.Backspace?(this._delete_selected(s),this._selected_renderer&&this._emit_cds_changes(this._selected_renderer.data_source)):e.keyCode==d.Keys.Esc&&(this._drawing?(this._remove_vertex(),this._drawing=!1):this._selected_renderer&&this._hide_vertices(),s.data_source.selection_manager.clear())}deactivate(){this._selected_renderer&&(this._drawing&&(this._remove_vertex(),this._drawing=!1),this._hide_vertices())}}s.PolyEditToolView=c,c.__name__=\"PolyEditToolView\";class o extends l.PolyTool{constructor(e){super(e),this.tool_name=\"Poly Edit Tool\",this.icon=a.tool_icon_poly_edit,this.event_type=[\"tap\",\"pan\",\"move\"],this.default_order=4}}s.PolyEditTool=o,_=o,o.__name__=\"PolyEditTool\",_.prototype.default_view=c},\n function _(e,t,o,s,i){var l;s();const n=e(378),_=e(116),c=e(20),r=e(228);class a extends n.SelectToolView{_compute_limits(e){const t=this.plot_view.frame,o=this.model.dimensions;let s=this._base_point;if(\"center\"==this.model.origin){const[t,o]=s,[i,l]=e;s=[t-(i-t),o-(l-o)]}return this.model._get_dim_limits(s,e,t,o)}_pan_start(e){const{sx:t,sy:o}=e;this._base_point=[t,o]}_pan(e){const{sx:t,sy:o}=e,s=[t,o],[i,l]=this._compute_limits(s);this.model.overlay.update({left:i[0],right:i[1],top:l[0],bottom:l[1]}),this.model.select_every_mousemove&&this._do_select(i,l,!1,this._select_mode(e))}_pan_end(e){const{sx:t,sy:o}=e,s=[t,o],[i,l]=this._compute_limits(s);this._do_select(i,l,!0,this._select_mode(e)),this.model.overlay.update({left:null,right:null,top:null,bottom:null}),this._base_point=null,this.plot_view.state.push(\"box_select\",{selection:this.plot_view.get_selection()})}_do_select([e,t],[o,s],i,l=\"replace\"){const n={type:\"rect\",sx0:e,sx1:t,sy0:o,sy1:s};this._select(n,i,l)}}o.BoxSelectToolView=a,a.__name__=\"BoxSelectToolView\";const h=()=>new _.BoxAnnotation({level:\"overlay\",top_units:\"screen\",left_units:\"screen\",bottom_units:\"screen\",right_units:\"screen\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:2,line_dash:[4,4]});class m extends n.SelectTool{constructor(e){super(e),this.tool_name=\"Box Select\",this.icon=r.tool_icon_box_select,this.event_type=\"pan\",this.default_order=30}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}o.BoxSelectTool=m,l=m,m.__name__=\"BoxSelectTool\",l.prototype.default_view=a,l.define((({Boolean:e,Ref:t})=>({dimensions:[c.Dimensions,\"both\"],select_every_mousemove:[e,!1],overlay:[t(_.BoxAnnotation),h],origin:[c.BoxOrigin,\"corner\"]}))),l.register_alias(\"box_select\",(()=>new m)),l.register_alias(\"xbox_select\",(()=>new m({dimensions:\"width\"}))),l.register_alias(\"ybox_select\",(()=>new m({dimensions:\"height\"})))},\n function _(e,t,s,n,r){var o;n();const c=e(223),i=e(175),a=e(339),l=e(176),d=e(66),_=e(20),h=e(43),p=e(251),u=e(15),m=e(11);class v extends c.GestureToolView{connect_signals(){super.connect_signals(),this.model.clear.connect((()=>this._clear()))}get computed_renderers(){const{renderers:e,names:t}=this.model,s=this.plot_model.data_renderers;return(0,d.compute_renderers)(e,s,t)}_computed_renderers_by_data_source(){var e;const t=new Map;for(const s of this.computed_renderers){let n;if(s instanceof i.GlyphRenderer)n=s.data_source;else{if(!(s instanceof a.GraphRenderer))continue;n=s.node_renderer.data_source}const r=null!==(e=t.get(n))&&void 0!==e?e:[];t.set(n,[...r,s])}return t}_select_mode(e){const{shiftKey:t,ctrlKey:s}=e;return t||s?t&&!s?\"append\":!t&&s?\"intersect\":t&&s?\"subtract\":void(0,m.unreachable)():this.model.mode}_keyup(e){e.keyCode==h.Keys.Esc&&this._clear()}_clear(){for(const e of this.computed_renderers)e.get_selection_manager().clear();const e=this.computed_renderers.map((e=>this.plot_view.renderer_view(e)));this.plot_view.request_paint(e)}_select(e,t,s){const n=this._computed_renderers_by_data_source();for(const[,r]of n){const n=r[0].get_selection_manager(),o=[];for(const e of r){const t=this.plot_view.renderer_view(e);null!=t&&o.push(t)}n.select(o,e,t,s)}null!=this.model.callback&&this._emit_callback(e),this._emit_selection_event(e,t)}_emit_selection_event(e,t=!0){const{x_scale:s,y_scale:n}=this.plot_view.frame;let r;switch(e.type){case\"point\":{const{sx:t,sy:o}=e,c=s.invert(t),i=n.invert(o);r=Object.assign(Object.assign({},e),{x:c,y:i});break}case\"span\":{const{sx:t,sy:o}=e,c=s.invert(t),i=n.invert(o);r=Object.assign(Object.assign({},e),{x:c,y:i});break}case\"rect\":{const{sx0:t,sx1:o,sy0:c,sy1:i}=e,[a,l]=s.r_invert(t,o),[d,_]=n.r_invert(c,i);r=Object.assign(Object.assign({},e),{x0:a,y0:d,x1:l,y1:_});break}case\"poly\":{const{sx:t,sy:o}=e,c=s.v_invert(t),i=n.v_invert(o);r=Object.assign(Object.assign({},e),{x:c,y:i});break}}this.plot_model.trigger_event(new p.SelectionGeometry(r,t))}}s.SelectToolView=v,v.__name__=\"SelectToolView\";class b extends c.GestureTool{constructor(e){super(e)}initialize(){super.initialize(),this.clear=new u.Signal0(this,\"clear\")}get menu(){return[{icon:\"bk-tool-icon-replace-mode\",tooltip:\"Replace the current selection\",active:()=>\"replace\"==this.mode,handler:()=>{this.mode=\"replace\",this.active=!0}},{icon:\"bk-tool-icon-append-mode\",tooltip:\"Append to the current selection (Shift)\",active:()=>\"append\"==this.mode,handler:()=>{this.mode=\"append\",this.active=!0}},{icon:\"bk-tool-icon-intersect-mode\",tooltip:\"Intersect with the current selection (Ctrl)\",active:()=>\"intersect\"==this.mode,handler:()=>{this.mode=\"intersect\",this.active=!0}},{icon:\"bk-tool-icon-subtract-mode\",tooltip:\"Subtract from the current selection (Shift+Ctrl)\",active:()=>\"subtract\"==this.mode,handler:()=>{this.mode=\"subtract\",this.active=!0}},null,{icon:\"bk-tool-icon-clear-selection\",tooltip:\"Clear the current selection (Esc)\",handler:()=>{this.clear.emit()}}]}}s.SelectTool=b,o=b,b.__name__=\"SelectTool\",o.define((({String:e,Array:t,Ref:s,Or:n,Auto:r})=>({renderers:[n(t(s(l.DataRenderer)),r),\"auto\"],names:[t(e),[]],mode:[_.SelectionMode,\"replace\"]})))},\n function _(t,o,e,s,i){var n;s();const _=t(223),a=t(116),l=t(20),r=t(228);class h extends _.GestureToolView{_match_aspect(t,o,e){const s=e.bbox.aspect,i=e.bbox.h_range.end,n=e.bbox.h_range.start,_=e.bbox.v_range.end,a=e.bbox.v_range.start;let l=Math.abs(t[0]-o[0]),r=Math.abs(t[1]-o[1]);const h=0==r?0:l/r,[c]=h>=s?[1,h/s]:[s/h,1];let m,p,d,b;return t[0]<=o[0]?(m=t[0],p=t[0]+l*c,p>i&&(p=i)):(p=t[0],m=t[0]-l*c,m_&&(d=_)):(d=t[1],b=t[1]-l/s,bnew a.BoxAnnotation({level:\"overlay\",top_units:\"screen\",left_units:\"screen\",bottom_units:\"screen\",right_units:\"screen\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:2,line_dash:[4,4]});class m extends _.GestureTool{constructor(t){super(t),this.tool_name=\"Box Zoom\",this.icon=r.tool_icon_box_zoom,this.event_type=\"pan\",this.default_order=20}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}e.BoxZoomTool=m,n=m,m.__name__=\"BoxZoomTool\",n.prototype.default_view=h,n.define((({Boolean:t,Ref:o})=>({dimensions:[l.Dimensions,\"both\"],overlay:[o(a.BoxAnnotation),c],match_aspect:[t,!1],origin:[l.BoxOrigin,\"corner\"]}))),n.register_alias(\"box_zoom\",(()=>new m({dimensions:\"both\"}))),n.register_alias(\"xbox_zoom\",(()=>new m({dimensions:\"width\"}))),n.register_alias(\"ybox_zoom\",(()=>new m({dimensions:\"height\"})))},\n function _(s,e,t,o,_){var l;o();const i=s(378),a=s(217),c=s(381),n=s(43),h=s(228);class r extends i.SelectToolView{constructor(){super(...arguments),this.sxs=[],this.sys=[]}connect_signals(){super.connect_signals(),this.connect(this.model.properties.active.change,(()=>this._active_change()))}_active_change(){this.model.active||this._clear_overlay()}_keyup(s){s.keyCode==n.Keys.Enter&&this._clear_overlay()}_pan_start(s){this.sxs=[],this.sys=[];const{sx:e,sy:t}=s;this._append_overlay(e,t)}_pan(s){const[e,t]=this.plot_view.frame.bbox.clip(s.sx,s.sy);this._append_overlay(e,t),this.model.select_every_mousemove&&this._do_select(this.sxs,this.sys,!1,this._select_mode(s))}_pan_end(s){const{sxs:e,sys:t}=this;this._clear_overlay(),this._do_select(e,t,!0,this._select_mode(s)),this.plot_view.state.push(\"lasso_select\",{selection:this.plot_view.get_selection()})}_append_overlay(s,e){const{sxs:t,sys:o}=this;t.push(s),o.push(e),this.model.overlay.update({xs:t,ys:o})}_clear_overlay(){this.sxs=[],this.sys=[],this.model.overlay.update({xs:this.sxs,ys:this.sys})}_do_select(s,e,t,o){const _={type:\"poly\",sx:s,sy:e};this._select(_,t,o)}}t.LassoSelectToolView=r,r.__name__=\"LassoSelectToolView\";class y extends i.SelectTool{constructor(s){super(s),this.tool_name=\"Lasso Select\",this.icon=h.tool_icon_lasso_select,this.event_type=\"pan\",this.default_order=12}}t.LassoSelectTool=y,l=y,y.__name__=\"LassoSelectTool\",l.prototype.default_view=r,l.define((({Boolean:s,Ref:e})=>({select_every_mousemove:[s,!0],overlay:[e(a.PolyAnnotation),c.DEFAULT_POLY_OVERLAY]}))),l.register_alias(\"lasso_select\",(()=>new y))},\n function _(e,t,s,l,o){var i;l();const a=e(378),_=e(217),c=e(43),n=e(9),h=e(228);class y extends a.SelectToolView{initialize(){super.initialize(),this.data={sx:[],sy:[]}}connect_signals(){super.connect_signals(),this.connect(this.model.properties.active.change,(()=>this._active_change()))}_active_change(){this.model.active||this._clear_data()}_keyup(e){e.keyCode==c.Keys.Enter&&this._clear_data()}_doubletap(e){this._do_select(this.data.sx,this.data.sy,!0,this._select_mode(e)),this.plot_view.state.push(\"poly_select\",{selection:this.plot_view.get_selection()}),this._clear_data()}_clear_data(){this.data={sx:[],sy:[]},this.model.overlay.update({xs:[],ys:[]})}_tap(e){const{sx:t,sy:s}=e;this.plot_view.frame.bbox.contains(t,s)&&(this.data.sx.push(t),this.data.sy.push(s),this.model.overlay.update({xs:(0,n.copy)(this.data.sx),ys:(0,n.copy)(this.data.sy)}))}_do_select(e,t,s,l){const o={type:\"poly\",sx:e,sy:t};this._select(o,s,l)}}s.PolySelectToolView=y,y.__name__=\"PolySelectToolView\";s.DEFAULT_POLY_OVERLAY=()=>new _.PolyAnnotation({level:\"overlay\",xs_units:\"screen\",ys_units:\"screen\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:2,line_dash:[4,4]});class d extends a.SelectTool{constructor(e){super(e),this.tool_name=\"Poly Select\",this.icon=h.tool_icon_polygon_select,this.event_type=\"tap\",this.default_order=11}}s.PolySelectTool=d,i=d,d.__name__=\"PolySelectTool\",i.prototype.default_view=y,i.define((({Ref:e})=>({overlay:[e(_.PolyAnnotation),s.DEFAULT_POLY_OVERLAY]}))),i.register_alias(\"poly_select\",(()=>new d))},\n function _(e,t,s,i,r){var n;i();const _=e(20),d=e(383),o=e(228);class l extends d.LineToolView{constructor(){super(...arguments),this._drawing=!1}_doubletap(e){if(!this.model.active)return;const t=this.model.renderers;for(const s of t){1==this._select_event(e,\"replace\",[s]).length&&(this._selected_renderer=s)}this._show_intersections(),this._update_line_cds()}_show_intersections(){if(!this.model.active)return;if(null==this._selected_renderer)return;if(!this.model.renderers.length)return this._set_intersection([],[]),this._selected_renderer=null,void(this._drawing=!1);const e=this._selected_renderer.data_source,t=this._selected_renderer.glyph,[s,i]=[t.x.field,t.y.field],r=e.get_array(s),n=e.get_array(i);this._set_intersection(r,n)}_tap(e){const t=this.model.intersection_renderer;if(null==this._map_drag(e.sx,e.sy,t))return;if(this._drawing&&this._selected_renderer){const s=this._select_mode(e);if(0==this._select_event(e,s,[t]).length)return}const s=this._select_mode(e);this._select_event(e,s,[t]),this._select_event(e,s,this.model.renderers)}_update_line_cds(){if(null==this._selected_renderer)return;const e=this.model.intersection_renderer.glyph,t=this.model.intersection_renderer.data_source,[s,i]=[e.x.field,e.y.field];if(s&&i){const e=t.data[s],r=t.data[i];this._selected_renderer.data_source.data[s]=e,this._selected_renderer.data_source.data[i]=r}this._emit_cds_changes(this._selected_renderer.data_source,!0,!0,!1)}_pan_start(e){this._select_event(e,\"append\",[this.model.intersection_renderer]),this._basepoint=[e.sx,e.sy]}_pan(e){null!=this._basepoint&&(this._drag_points(e,[this.model.intersection_renderer],this.model.dimensions),this._selected_renderer&&this._selected_renderer.data_source.change.emit())}_pan_end(e){null!=this._basepoint&&(this._drag_points(e,[this.model.intersection_renderer]),this._emit_cds_changes(this.model.intersection_renderer.data_source,!1,!0,!0),this._selected_renderer&&this._emit_cds_changes(this._selected_renderer.data_source),this._basepoint=null)}activate(){this._drawing=!0}deactivate(){this._selected_renderer&&(this._drawing&&(this._drawing=!1),this._hide_intersections())}}s.LineEditToolView=l,l.__name__=\"LineEditToolView\";class h extends d.LineTool{constructor(e){super(e),this.tool_name=\"Line Edit Tool\",this.icon=o.tool_icon_line_edit,this.event_type=[\"tap\",\"pan\",\"move\"],this.default_order=4}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}s.LineEditTool=h,n=h,h.__name__=\"LineEditTool\",n.prototype.default_view=l,n.define((()=>({dimensions:[_.Dimensions,\"both\"]})))},\n function _(e,i,n,t,s){var o;t();const r=e(8),_=e(370);class d extends _.EditToolView{_set_intersection(e,i){const n=this.model.intersection_renderer.glyph,t=this.model.intersection_renderer.data_source,[s,o]=[n.x.field,n.y.field];s&&((0,r.isArray)(e)?t.data[s]=e:n.x={value:e}),o&&((0,r.isArray)(i)?t.data[o]=i:n.y={value:i}),this._emit_cds_changes(t,!0,!0,!1)}_hide_intersections(){this._set_intersection([],[])}}n.LineToolView=d,d.__name__=\"LineToolView\";class a extends _.EditTool{constructor(e){super(e)}}n.LineTool=a,o=a,a.__name__=\"LineTool\",o.define((({AnyRef:e})=>({intersection_renderer:[e()]})))},\n function _(t,s,n,e,i){e();const o=t(1);var a;const _=t(223),l=t(20),r=(0,o.__importStar)(t(228));function h(t,s,n){const e=new Map;for(const[i,o]of t){const[t,a]=o.r_invert(s,n);e.set(i,{start:t,end:a})}return e}n.update_ranges=h;class d extends _.GestureToolView{_pan_start(t){var s;this.last_dx=0,this.last_dy=0;const{sx:n,sy:e}=t,i=this.plot_view.frame.bbox;if(!i.contains(n,e)){const t=i.h_range,s=i.v_range;(nt.end)&&(this.v_axis_only=!0),(es.end)&&(this.h_axis_only=!0)}null===(s=this.model.document)||void 0===s||s.interactive_start(this.plot_model)}_pan(t){var s;this._update(t.deltaX,t.deltaY),null===(s=this.model.document)||void 0===s||s.interactive_start(this.plot_model)}_pan_end(t){this.h_axis_only=!1,this.v_axis_only=!1,null!=this.pan_info&&this.plot_view.state.push(\"pan\",{range:this.pan_info}),this.plot_view.trigger_ranges_update_event()}_update(t,s){const n=this.plot_view.frame,e=t-this.last_dx,i=s-this.last_dy,o=n.bbox.h_range,a=o.start-e,_=o.end-e,l=n.bbox.v_range,r=l.start-i,d=l.end-i,p=this.model.dimensions;let c,u,m,v,x,g;\"width\"!=p&&\"both\"!=p||this.v_axis_only?(c=o.start,u=o.end,m=0):(c=a,u=_,m=-e),\"height\"!=p&&\"both\"!=p||this.h_axis_only?(v=l.start,x=l.end,g=0):(v=r,x=d,g=-i),this.last_dx=t,this.last_dy=s;const{x_scales:w,y_scales:y}=n,f=h(w,c,u),b=h(y,v,x);this.pan_info={xrs:f,yrs:b,sdx:m,sdy:g},this.plot_view.update_range(this.pan_info,{panning:!0})}}n.PanToolView=d,d.__name__=\"PanToolView\";class p extends _.GestureTool{constructor(t){super(t),this.tool_name=\"Pan\",this.event_type=\"pan\",this.default_order=10}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}n.PanTool=p,a=p,p.__name__=\"PanTool\",a.prototype.default_view=d,a.define((()=>({dimensions:[l.Dimensions,\"both\",{on_update(t,s){switch(t){case\"both\":s.icon=r.tool_icon_pan;break;case\"width\":s.icon=r.tool_icon_xpan;break;case\"height\":s.icon=r.tool_icon_ypan}}}]}))),a.register_alias(\"pan\",(()=>new p({dimensions:\"both\"}))),a.register_alias(\"xpan\",(()=>new p({dimensions:\"width\"}))),a.register_alias(\"ypan\",(()=>new p({dimensions:\"height\"})))},\n function _(e,t,i,s,n){var l;s();const a=e(116),r=e(58),o=e(19),_=e(223),h=e(228);function d(e){switch(e){case 1:return 2;case 2:return 1;case 4:return 5;case 5:return 4;default:return e}}function u(e,t,i,s){if(null==t)return!1;const n=i.compute(t);return Math.abs(e-n)n.right)&&(l=!1)}if(null!=n.bottom&&null!=n.top){const e=s.invert(t);(en.top)&&(l=!1)}return l}function g(e,t,i){let s=0;return e>=i.start&&e<=i.end&&(s+=1),t>=i.start&&t<=i.end&&(s+=1),s}function y(e,t,i,s){const n=t.compute(e),l=t.invert(n+i);return l>=s.start&&l<=s.end?l:e}function f(e,t,i){return e>t.start?(t.end=e,i):(t.end=t.start,t.start=e,d(i))}function v(e,t,i){return e=o&&(e.start=a,e.end=r)}i.flip_side=d,i.is_near=u,i.is_inside=c,i.sides_inside=g,i.compute_value=y,i.update_range_end_side=f,i.update_range_start_side=v,i.update_range=m;class p extends _.GestureToolView{initialize(){super.initialize(),this.side=0,this.model.update_overlay_from_ranges()}connect_signals(){super.connect_signals(),null!=this.model.x_range&&this.connect(this.model.x_range.change,(()=>this.model.update_overlay_from_ranges())),null!=this.model.y_range&&this.connect(this.model.y_range.change,(()=>this.model.update_overlay_from_ranges()))}_pan_start(e){this.last_dx=0,this.last_dy=0;const t=this.model.x_range,i=this.model.y_range,{frame:s}=this.plot_view,n=s.x_scale,l=s.y_scale,r=this.model.overlay,{left:o,right:_,top:h,bottom:d}=r,g=this.model.overlay.line_width+a.EDGE_TOLERANCE;null!=t&&this.model.x_interaction&&(u(e.sx,o,n,g)?this.side=1:u(e.sx,_,n,g)?this.side=2:c(e.sx,e.sy,n,l,r)&&(this.side=3)),null!=i&&this.model.y_interaction&&(0==this.side&&u(e.sy,d,l,g)&&(this.side=4),0==this.side&&u(e.sy,h,l,g)?this.side=5:c(e.sx,e.sy,n,l,this.model.overlay)&&(3==this.side?this.side=7:this.side=6))}_pan(e){const t=this.plot_view.frame,i=e.deltaX-this.last_dx,s=e.deltaY-this.last_dy,n=this.model.x_range,l=this.model.y_range,a=t.x_scale,r=t.y_scale;if(null!=n)if(3==this.side||7==this.side)m(n,a,i,t.x_range);else if(1==this.side){const e=y(n.start,a,i,t.x_range);this.side=v(e,n,this.side)}else if(2==this.side){const e=y(n.end,a,i,t.x_range);this.side=f(e,n,this.side)}if(null!=l)if(6==this.side||7==this.side)m(l,r,s,t.y_range);else if(4==this.side){const e=y(l.start,r,s,t.y_range);this.side=v(e,l,this.side)}else if(5==this.side){const e=y(l.end,r,s,t.y_range);this.side=f(e,l,this.side)}this.last_dx=e.deltaX,this.last_dy=e.deltaY}_pan_end(e){this.side=0,this.plot_view.trigger_ranges_update_event()}}i.RangeToolView=p,p.__name__=\"RangeToolView\";const x=()=>new a.BoxAnnotation({level:\"overlay\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:.5,line_dash:[2,2]});class w extends _.GestureTool{constructor(e){super(e),this.tool_name=\"Range Tool\",this.icon=h.tool_icon_range,this.event_type=\"pan\",this.default_order=1}initialize(){super.initialize(),this.overlay.in_cursor=\"grab\",this.overlay.ew_cursor=null!=this.x_range&&this.x_interaction?\"ew-resize\":null,this.overlay.ns_cursor=null!=this.y_range&&this.y_interaction?\"ns-resize\":null}update_overlay_from_ranges(){null==this.x_range&&null==this.y_range&&(this.overlay.left=null,this.overlay.right=null,this.overlay.bottom=null,this.overlay.top=null,o.logger.warn(\"RangeTool not configured with any Ranges.\")),null==this.x_range?(this.overlay.left=null,this.overlay.right=null):(this.overlay.left=this.x_range.start,this.overlay.right=this.x_range.end),null==this.y_range?(this.overlay.bottom=null,this.overlay.top=null):(this.overlay.bottom=this.y_range.start,this.overlay.top=this.y_range.end)}}i.RangeTool=w,l=w,w.__name__=\"RangeTool\",l.prototype.default_view=p,l.define((({Boolean:e,Ref:t,Nullable:i})=>({x_range:[i(t(r.Range1d)),null],x_interaction:[e,!0],y_range:[i(t(r.Range1d)),null],y_interaction:[e,!0],overlay:[t(a.BoxAnnotation),x]})))},\n function _(e,t,s,o,i){var l;o();const a=e(378),n=e(20),c=e(228);class _ extends a.SelectToolView{_tap(e){\"tap\"==this.model.gesture&&this._handle_tap(e)}_doubletap(e){\"doubletap\"==this.model.gesture&&this._handle_tap(e)}_handle_tap(e){const{sx:t,sy:s}=e,o={type:\"point\",sx:t,sy:s};this._select(o,!0,this._select_mode(e))}_select(e,t,s){const{callback:o}=this.model;if(\"select\"==this.model.behavior){const i=this._computed_renderers_by_data_source();for(const[,l]of i){const i=l[0].get_selection_manager(),a=l.map((e=>this.plot_view.renderer_view(e))).filter((e=>null!=e));if(i.select(a,e,t,s)&&null!=o){const t=a[0].coordinates.x_scale.invert(e.sx),s=a[0].coordinates.y_scale.invert(e.sy),l={geometries:Object.assign(Object.assign({},e),{x:t,y:s}),source:i.source};o.execute(this.model,l)}}this._emit_selection_event(e),this.plot_view.state.push(\"tap\",{selection:this.plot_view.get_selection()})}else for(const t of this.computed_renderers){const s=this.plot_view.renderer_view(t);if(null==s)continue;const i=t.get_selection_manager();if(i.inspect(s,e)&&null!=o){const t=s.coordinates.x_scale.invert(e.sx),l=s.coordinates.y_scale.invert(e.sy),a={geometries:Object.assign(Object.assign({},e),{x:t,y:l}),source:i.source};o.execute(this.model,a)}}}}s.TapToolView=_,_.__name__=\"TapToolView\";class r extends a.SelectTool{constructor(e){super(e),this.tool_name=\"Tap\",this.icon=c.tool_icon_tap_select,this.event_type=\"tap\",this.default_order=10}}s.TapTool=r,l=r,r.__name__=\"TapTool\",l.prototype.default_view=_,l.define((({Any:e,Enum:t,Nullable:s})=>({behavior:[n.TapBehavior,\"select\"],gesture:[t(\"tap\",\"doubletap\"),\"tap\"],callback:[s(e)]}))),l.register_alias(\"click\",(()=>new r({behavior:\"inspect\"}))),l.register_alias(\"tap\",(()=>new r)),l.register_alias(\"doubletap\",(()=>new r({gesture:\"doubletap\"})))},\n function _(e,t,s,n,i){var a;n();const o=e(223),l=e(20),_=e(228),r=e(384);class h extends o.GestureToolView{_scroll(e){let t=this.model.speed*e.delta;t>.9?t=.9:t<-.9&&(t=-.9),this._update_ranges(t)}_update_ranges(e){var t;const{frame:s}=this.plot_view,n=s.bbox.h_range,i=s.bbox.v_range,[a,o]=[n.start,n.end],[l,_]=[i.start,i.end];let h,d,p,c;switch(this.model.dimension){case\"height\":{const t=Math.abs(_-l);h=a,d=o,p=l-t*e,c=_-t*e;break}case\"width\":{const t=Math.abs(o-a);h=a-t*e,d=o-t*e,p=l,c=_;break}}const{x_scales:g,y_scales:u}=s,w={xrs:(0,r.update_ranges)(g,h,d),yrs:(0,r.update_ranges)(u,p,c),factor:e};this.plot_view.state.push(\"wheel_pan\",{range:w}),this.plot_view.update_range(w,{scrolling:!0}),null===(t=this.model.document)||void 0===t||t.interactive_start(this.plot_model,(()=>this.plot_view.trigger_ranges_update_event()))}}s.WheelPanToolView=h,h.__name__=\"WheelPanToolView\";class d extends o.GestureTool{constructor(e){super(e),this.tool_name=\"Wheel Pan\",this.icon=_.tool_icon_wheel_pan,this.event_type=\"scroll\",this.default_order=12}get tooltip(){return this._get_dim_tooltip(this.dimension)}}s.WheelPanTool=d,a=d,d.__name__=\"WheelPanTool\",a.prototype.default_view=h,a.define((()=>({dimension:[l.Dimension,\"width\"]}))),a.internal((({Number:e})=>({speed:[e,.001]}))),a.register_alias(\"xwheel_pan\",(()=>new d({dimension:\"width\"}))),a.register_alias(\"ywheel_pan\",(()=>new d({dimension:\"height\"})))},\n function _(e,o,t,s,i){var n;s();const l=e(223),_=e(368),h=e(20),a=e(27),r=e(228);class m extends l.GestureToolView{_pinch(e){const{sx:o,sy:t,scale:s,ctrlKey:i,shiftKey:n}=e;let l;l=s>=1?20*(s-1):-20/s,this._scroll({type:\"wheel\",sx:o,sy:t,delta:l,ctrlKey:i,shiftKey:n})}_scroll(e){var o;const{frame:t}=this.plot_view,s=t.bbox.h_range,i=t.bbox.v_range,{sx:n,sy:l}=e,h=this.model.dimensions,a=(\"width\"==h||\"both\"==h)&&s.startthis.plot_view.trigger_ranges_update_event()))}}t.WheelZoomToolView=m,m.__name__=\"WheelZoomToolView\";class d extends l.GestureTool{constructor(e){super(e),this.tool_name=\"Wheel Zoom\",this.icon=r.tool_icon_wheel_zoom,this.event_type=a.is_mobile?\"pinch\":\"scroll\",this.default_order=10}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}t.WheelZoomTool=d,n=d,d.__name__=\"WheelZoomTool\",n.prototype.default_view=m,n.define((({Boolean:e,Number:o})=>({dimensions:[h.Dimensions,\"both\"],maintain_focus:[e,!0],zoom_on_axis:[e,!0],speed:[o,1/600]}))),n.register_alias(\"wheel_zoom\",(()=>new d({dimensions:\"both\"}))),n.register_alias(\"xwheel_zoom\",(()=>new d({dimensions:\"width\"}))),n.register_alias(\"ywheel_zoom\",(()=>new d({dimensions:\"height\"})))},\n function _(i,e,s,t,o){var n;t();const l=i(232),a=i(219),h=i(20),r=i(13),_=i(228);class c extends l.InspectToolView{_move(i){if(!this.model.active)return;const{sx:e,sy:s}=i;this.plot_view.frame.bbox.contains(e,s)?this._update_spans(e,s):this._update_spans(null,null)}_move_exit(i){this._update_spans(null,null)}_update_spans(i,e){const s=this.model.dimensions;\"width\"!=s&&\"both\"!=s||(this.model.spans.width.location=e),\"height\"!=s&&\"both\"!=s||(this.model.spans.height.location=i)}}s.CrosshairToolView=c,c.__name__=\"CrosshairToolView\";class p extends l.InspectTool{constructor(i){super(i),this.tool_name=\"Crosshair\",this.icon=_.tool_icon_crosshair}get tooltip(){return this._get_dim_tooltip(this.dimensions)}get synthetic_renderers(){return(0,r.values)(this.spans)}}s.CrosshairTool=p,n=p,p.__name__=\"CrosshairTool\",(()=>{function i(i,e){return new a.Span({for_hover:!0,dimension:e,location_units:\"screen\",level:\"overlay\",line_color:i.line_color,line_width:i.line_width,line_alpha:i.line_alpha})}n.prototype.default_view=c,n.define((({Alpha:i,Number:e,Color:s})=>({dimensions:[h.Dimensions,\"both\"],line_color:[s,\"black\"],line_width:[e,1],line_alpha:[i,1]}))),n.internal((({Struct:e,Ref:s})=>({spans:[e({width:s(a.Span),height:s(a.Span)}),e=>({width:i(e,\"width\"),height:i(e,\"height\")})]}))),n.register_alias(\"crosshair\",(()=>new p))})()},\n function _(e,s,t,r,n){var o;r();const a=e(53),u=e(13),c=e(34);class i extends a.Model{constructor(e){super(e)}get values(){return(0,u.values)(this.args)}_make_code(e,s,t,r){return new Function(...(0,u.keys)(this.args),e,s,t,(0,c.use_strict)(r))}format(e,s,t){return this._make_code(\"value\",\"format\",\"special_vars\",this.code)(...this.values,e,s,t)}}t.CustomJSHover=i,o=i,i.__name__=\"CustomJSHover\",o.define((({Unknown:e,String:s,Dict:t})=>({args:[t(e),{}],code:[s,\"\"]})))},\n function _(e,t,n,s,i){s();const o=e(1);var r;const l=e(232),a=e(390),c=e(241),_=e(175),d=e(339),p=e(176),h=e(177),u=e(283),m=e(186),y=e(187),f=e(189),x=(0,o.__importStar)(e(185)),v=e(152),w=e(43),g=e(22),b=e(13),k=e(234),C=e(8),S=e(113),T=e(20),$=e(228),R=e(15),A=e(66),M=(0,o.__importStar)(e(242)),V=e(392);function G(e,t,n,s,i,o){const r={x:i[e],y:o[e]},l={x:i[e+1],y:o[e+1]};let a,c;if(\"span\"==t.type)\"h\"==t.direction?(a=Math.abs(r.x-n),c=Math.abs(l.x-n)):(a=Math.abs(r.y-s),c=Math.abs(l.y-s));else{const e={x:n,y:s};a=x.dist_2_pts(r,e),c=x.dist_2_pts(l,e)}return adelete this._template_el)),this.on_change([e,t,n],(async()=>await this._update_ttmodels()))}async _update_ttmodels(){const{_ttmodels:e,computed_renderers:t}=this;e.clear();const{tooltips:n}=this.model;if(null!=n)for(const t of this.computed_renderers){const s=new c.Tooltip({custom:(0,C.isString)(n)||(0,C.isFunction)(n),attachment:this.model.attachment,show_arrow:this.model.show_arrow});t instanceof _.GlyphRenderer?e.set(t,s):t instanceof d.GraphRenderer&&(e.set(t.node_renderer,s),e.set(t.edge_renderer,s))}const s=await(0,S.build_views)(this._ttviews,[...e.values()],{parent:this.plot_view});for(const e of s)e.render();const i=[...function*(){for(const e of t)e instanceof _.GlyphRenderer?yield e:e instanceof d.GraphRenderer&&(yield e.node_renderer,yield e.edge_renderer)}()],o=this._slots.get(this._update);if(null!=o){const e=new Set(i.map((e=>e.data_source)));R.Signal.disconnect_receiver(this,o,e)}for(const e of i)this.connect(e.data_source.inspect,this._update)}get computed_renderers(){const{renderers:e,names:t}=this.model,n=this.plot_model.data_renderers;return(0,A.compute_renderers)(e,n,t)}get ttmodels(){return this._ttmodels}_clear(){this._inspect(1/0,1/0);for(const[,e]of this.ttmodels)e.clear()}_move(e){if(!this.model.active)return;const{sx:t,sy:n}=e;this.plot_view.frame.bbox.contains(t,n)?this._inspect(t,n):this._clear()}_move_exit(){this._clear()}_inspect(e,t){let n;if(\"mouse\"==this.model.mode)n={type:\"point\",sx:e,sy:t};else{n={type:\"span\",direction:\"vline\"==this.model.mode?\"h\":\"v\",sx:e,sy:t}}for(const e of this.computed_renderers){const t=e.get_selection_manager(),s=this.plot_view.renderer_view(e);null!=s&&t.inspect(s,n)}this._emit_callback(n)}_update([e,{geometry:t}]){var n,s;if(!this.model.active)return;if(\"point\"!=t.type&&\"span\"!=t.type)return;if(!(e instanceof _.GlyphRenderer))return;if(\"ignore\"==this.model.muted_policy&&e.muted)return;const i=this.ttmodels.get(e);if(null==i)return;const o=e.get_selection_manager(),r=o.inspectors.get(e),l=e.view.convert_selection_to_subset(r);if(r.is_empty()&&null==r.view)return void i.clear();const a=o.source,c=this.plot_view.renderer_view(e);if(null==c)return;const{sx:d,sy:p}=t,x=c.coordinates.x_scale,v=c.coordinates.y_scale,g=x.invert(d),k=v.invert(p),{glyph:C}=c,S=[];if(C instanceof m.PatchView){const[t,n]=[d,p],s={x:g,y:k,sx:d,sy:p,rx:t,ry:n,name:e.name};S.push([t,n,this._render_tooltips(a,-1,s)])}if(C instanceof y.HAreaView)for(const t of l.line_indices){const n=C._x1,s=C._x2,i=C._y,[o,r]=[d,p],c={index:t,x:g,y:k,sx:d,sy:p,data_x1:n,data_x2:s,data_y:i,rx:o,ry:r,indices:l.line_indices,name:e.name};S.push([o,r,this._render_tooltips(a,t,c)])}if(C instanceof f.VAreaView)for(const t of l.line_indices){const n=C._x,s=C._y1,i=C._y2,[o,r]=[d,p],c={index:t,x:g,y:k,sx:d,sy:p,data_x:n,data_y1:s,data_y2:i,rx:o,ry:r,indices:l.line_indices,name:e.name};S.push([o,r,this._render_tooltips(a,t,c)])}if(C instanceof h.LineView)for(const n of l.line_indices){let s,i,o=C._x[n+1],r=C._y[n+1],c=n;switch(this.model.line_policy){case\"interp\":[o,r]=C.get_interpolation_hit(n,t),s=x.compute(o),i=v.compute(r);break;case\"prev\":[[s,i],c]=H(C.sx,C.sy,n);break;case\"next\":[[s,i],c]=H(C.sx,C.sy,n+1);break;case\"nearest\":[[s,i],c]=G(n,t,d,p,C.sx,C.sy),o=C._x[c],r=C._y[c];break;default:[s,i]=[d,p]}const _={index:c,x:g,y:k,sx:d,sy:p,data_x:o,data_y:r,rx:s,ry:i,indices:l.line_indices,name:e.name};S.push([s,i,this._render_tooltips(a,c,_)])}for(const t of r.image_indices){const n={index:t.index,x:g,y:k,sx:d,sy:p,name:e.name},s=this._render_tooltips(a,t,n);S.push([d,p,s])}for(const i of l.indices)if(C instanceof u.MultiLineView&&!(0,b.isEmpty)(l.multiline_indices))for(const n of l.multiline_indices[i.toString()]){let s,o,r,c=C._xs.get(i)[n],h=C._ys.get(i)[n],u=n;switch(this.model.line_policy){case\"interp\":[c,h]=C.get_interpolation_hit(i,n,t),s=x.compute(c),o=v.compute(h);break;case\"prev\":[[s,o],u]=H(C.sxs.get(i),C.sys.get(i),n);break;case\"next\":[[s,o],u]=H(C.sxs.get(i),C.sys.get(i),n+1);break;case\"nearest\":[[s,o],u]=G(n,t,d,p,C.sxs.get(i),C.sys.get(i)),c=C._xs.get(i)[u],h=C._ys.get(i)[u];break;default:throw new Error(\"shouldn't have happened\")}r=e instanceof _.GlyphRenderer?e.view.convert_indices_from_subset([i])[0]:i;const m={index:r,x:g,y:k,sx:d,sy:p,data_x:c,data_y:h,segment_index:u,indices:l.multiline_indices,name:e.name};S.push([s,o,this._render_tooltips(a,r,m)])}else{const t=null===(n=C._x)||void 0===n?void 0:n[i],o=null===(s=C._y)||void 0===s?void 0:s[i];let r,c,h;if(\"snap_to_data\"==this.model.point_policy){let e=C.get_anchor_point(this.model.anchor,i,[d,p]);if(null==e&&(e=C.get_anchor_point(\"center\",i,[d,p]),null==e))continue;r=e.x,c=e.y}else[r,c]=[d,p];h=e instanceof _.GlyphRenderer?e.view.convert_indices_from_subset([i])[0]:i;const u={index:h,x:g,y:k,sx:d,sy:p,data_x:t,data_y:o,indices:l.indices,name:e.name};S.push([r,c,this._render_tooltips(a,h,u)])}if(0==S.length)i.clear();else{const{content:e}=i;(0,w.empty)(i.content);for(const[,,t]of S)null!=t&&e.appendChild(t);const[t,n]=S[S.length-1];i.setv({position:[t,n]},{check_eq:!1})}}_emit_callback(e){const{callback:t}=this.model;if(null!=t)for(const n of this.computed_renderers){if(!(n instanceof _.GlyphRenderer))continue;const s=this.plot_view.renderer_view(n);if(null==s)continue;const{x_scale:i,y_scale:o}=s.coordinates,r=i.invert(e.sx),l=o.invert(e.sy),a=n.data_source.inspected;t.execute(this.model,{geometry:Object.assign({x:r,y:l},e),renderer:n,index:a})}}_create_template(e){const t=(0,w.div)({style:{display:\"table\",borderSpacing:\"2px\"}});for(const[n]of e){const e=(0,w.div)({style:{display:\"table-row\"}});t.appendChild(e);const s=(0,w.div)({style:{display:\"table-cell\"},class:M.tooltip_row_label},0!=n.length?`${n}: `:\"\");e.appendChild(s);const i=(0,w.span)();i.dataset.value=\"\";const o=(0,w.span)({class:M.tooltip_color_block},\" \");o.dataset.swatch=\"\",(0,w.undisplay)(o);const r=(0,w.div)({style:{display:\"table-cell\"},class:M.tooltip_row_value},i,o);e.appendChild(r)}return t}_render_template(e,t,n,s,i){const o=e.cloneNode(!0),r=o.querySelectorAll(\"[data-value]\"),l=o.querySelectorAll(\"[data-swatch]\"),a=/\\$color(\\[.*\\])?:(\\w*)/,c=/\\$swatch:(\\w*)/;for(const[[,e],o]of(0,k.enumerate)(t)){const t=e.match(c),_=e.match(a);if(null!=t||null!=_){if(null!=t){const[,e]=t,i=n.get_column(e);if(null==i)r[o].textContent=`${e} unknown`;else{const e=(0,C.isNumber)(s)?i[s]:null;null!=e&&(l[o].style.backgroundColor=(0,g.color2css)(e),(0,w.display)(l[o]))}}if(null!=_){const[,e=\"\",t]=_,i=n.get_column(t);if(null==i){r[o].textContent=`${t} unknown`;continue}const a=e.indexOf(\"hex\")>=0,c=e.indexOf(\"swatch\")>=0,d=(0,C.isNumber)(s)?i[s]:null;if(null==d){r[o].textContent=\"(null)\";continue}r[o].textContent=a?(0,g.color2hex)(d):(0,g.color2css)(d),c&&(l[o].style.backgroundColor=(0,g.color2css)(d),(0,w.display)(l[o]))}}else{const t=(0,v.replace_placeholders)(e.replace(\"$~\",\"$data_\"),n,s,this.model.formatters,i);if((0,C.isString)(t))r[o].textContent=t;else for(const e of t)r[o].appendChild(e)}}return o}_render_tooltips(e,t,n){var s;const{tooltips:i}=this.model;if((0,C.isString)(i)){const s=(0,v.replace_placeholders)({html:i},e,t,this.model.formatters,n);return(0,w.div)(s)}if((0,C.isFunction)(i))return i(e,n);if(i instanceof V.Template)return this._template_view.update(e,t,n),this._template_view.el;if(null!=i){const o=null!==(s=this._template_el)&&void 0!==s?s:this._template_el=this._create_template(i);return this._render_template(o,i,e,t,n)}return null}}n.HoverToolView=z,z.__name__=\"HoverToolView\";class P extends l.InspectTool{constructor(e){super(e),this.tool_name=\"Hover\",this.icon=$.tool_icon_hover}}n.HoverTool=P,r=P,P.__name__=\"HoverTool\",r.prototype.default_view=z,r.define((({Any:e,Boolean:t,String:n,Array:s,Tuple:i,Dict:o,Or:r,Ref:l,Function:c,Auto:_,Nullable:d})=>({tooltips:[d(r(l(V.Template),n,s(i(n,n)),c())),[[\"index\",\"$index\"],[\"data (x, y)\",\"($x, $y)\"],[\"screen (x, y)\",\"($sx, $sy)\"]]],formatters:[o(r(l(a.CustomJSHover),v.FormatterType)),{}],renderers:[r(s(l(p.DataRenderer)),_),\"auto\"],names:[s(n),[]],mode:[T.HoverMode,\"mouse\"],muted_policy:[T.MutedPolicy,\"show\"],point_policy:[T.PointPolicy,\"snap_to_data\"],line_policy:[T.LinePolicy,\"nearest\"],show_arrow:[t,!0],anchor:[T.Anchor,\"center\"],attachment:[T.TooltipAttachment,\"horizontal\"],callback:[d(e)]}))),r.register_alias(\"hover\",(()=>new P))},\n function _(e,t,s,n,a){n();const l=e(1);var i,_,o,r,c,d,p,u,m,w,f,h,x;const v=e(53),y=e(309),V=e(393);a(\"Styles\",V.Styles);const g=e(43),T=e(42),b=e(226),R=e(113),D=e(8),M=e(13),S=(0,l.__importStar)(e(242)),O=e(152);class C extends b.DOMView{}s.DOMNodeView=C,C.__name__=\"DOMNodeView\";class z extends v.Model{constructor(e){super(e)}}s.DOMNode=z,z.__name__=\"DOMNode\",z.__module__=\"bokeh.models.dom\";class P extends C{render(){super.render(),this.el.textContent=this.model.content}_createElement(){return document.createTextNode(\"\")}}s.TextView=P,P.__name__=\"TextView\";class A extends z{constructor(e){super(e)}}s.Text=A,i=A,A.__name__=\"Text\",i.prototype.default_view=P,i.define((({String:e})=>({content:[e,\"\"]})));class N extends C{}s.PlaceholderView=N,N.__name__=\"PlaceholderView\",N.tag_name=\"span\";class E extends z{constructor(e){super(e)}}s.Placeholder=E,_=E,E.__name__=\"Placeholder\",_.define((({})=>({})));class G extends N{update(e,t,s){this.el.textContent=t.toString()}}s.IndexView=G,G.__name__=\"IndexView\";class I extends E{constructor(e){super(e)}}s.Index=I,o=I,I.__name__=\"Index\",o.prototype.default_view=G,o.define((({})=>({})));class k extends N{update(e,t,s){const n=(0,O._get_column_value)(this.model.field,e,t),a=null==n?\"???\":`${n}`;this.el.textContent=a}}s.ValueRefView=k,k.__name__=\"ValueRefView\";class $ extends E{constructor(e){super(e)}}s.ValueRef=$,r=$,$.__name__=\"ValueRef\",r.prototype.default_view=k,r.define((({String:e})=>({field:[e]})));class B extends k{render(){super.render(),this.value_el=(0,g.span)(),this.swatch_el=(0,g.span)({class:S.tooltip_color_block},\" \"),this.el.appendChild(this.value_el),this.el.appendChild(this.swatch_el)}update(e,t,s){const n=(0,O._get_column_value)(this.model.field,e,t),a=null==n?\"???\":`${n}`;this.el.textContent=a}}s.ColorRefView=B,B.__name__=\"ColorRefView\";class L extends ${constructor(e){super(e)}}s.ColorRef=L,c=L,L.__name__=\"ColorRef\",c.prototype.default_view=B,c.define((({Boolean:e})=>({hex:[e,!0],swatch:[e,!0]})));class j extends C{constructor(){super(...arguments),this.child_views=new Map}async lazy_initialize(){await super.lazy_initialize();const e=this.model.children.filter((e=>e instanceof v.Model));await(0,R.build_views)(this.child_views,e,{parent:this})}render(){super.render();const{style:e}=this.model;if(null!=e)if(e instanceof V.Styles)for(const t of e){const e=t.get_value();if((0,D.isString)(e)){const s=t.attr.replace(/_/g,\"-\");this.el.style.hasOwnProperty(s)&&this.el.style.setProperty(s,e)}}else for(const[t,s]of(0,M.entries)(e)){const e=t.replace(/_/g,\"-\");this.el.style.hasOwnProperty(e)&&this.el.style.setProperty(e,s)}for(const e of this.model.children)if((0,D.isString)(e)){const t=document.createTextNode(e);this.el.appendChild(t)}else{this.child_views.get(e).renderTo(this.el)}}}s.DOMElementView=j,j.__name__=\"DOMElementView\";class q extends z{constructor(e){super(e)}}s.DOMElement=q,d=q,q.__name__=\"DOMElement\",d.define((({String:e,Array:t,Dict:s,Or:n,Nullable:a,Ref:l})=>({style:[a(n(l(V.Styles),s(e))),null],children:[t(n(e,l(z),l(y.LayoutDOM))),[]]})));class F extends T.View{}s.ActionView=F,F.__name__=\"ActionView\";class H extends v.Model{constructor(e){super(e)}}s.Action=H,p=H,H.__name__=\"Action\",H.__module__=\"bokeh.models.dom\",p.define((({})=>({})));class J extends j{constructor(){super(...arguments),this.action_views=new Map}async lazy_initialize(){await super.lazy_initialize(),await(0,R.build_views)(this.action_views,this.model.actions,{parent:this})}remove(){(0,R.remove_views)(this.action_views),super.remove()}update(e,t,s={}){!function n(a){for(const l of a.child_views.values())l instanceof N?l.update(e,t,s):l instanceof j&&n(l)}(this);for(const n of this.action_views.values())n.update(e,t,s)}}s.TemplateView=J,J.__name__=\"TemplateView\",J.tag_name=\"div\";class K extends q{}s.Template=K,u=K,K.__name__=\"Template\",u.prototype.default_view=J,u.define((({Array:e,Ref:t})=>({actions:[e(t(H)),[]]})));class Q extends j{}s.SpanView=Q,Q.__name__=\"SpanView\",Q.tag_name=\"span\";class U extends q{}s.Span=U,m=U,U.__name__=\"Span\",m.prototype.default_view=Q;class W extends j{}s.DivView=W,W.__name__=\"DivView\",W.tag_name=\"div\";class X extends q{}s.Div=X,w=X,X.__name__=\"Div\",w.prototype.default_view=W;class Y extends j{}s.TableView=Y,Y.__name__=\"TableView\",Y.tag_name=\"table\";class Z extends q{}s.Table=Z,f=Z,Z.__name__=\"Table\",f.prototype.default_view=Y;class ee extends j{}s.TableRowView=ee,ee.__name__=\"TableRowView\",ee.tag_name=\"tr\";class te extends q{}s.TableRow=te,h=te,te.__name__=\"TableRow\",h.prototype.default_view=ee;const se=e(41),ne=e(234);class ae extends F{update(e,t,s){for(const[e,s]of(0,ne.enumerate)(this.model.groups))e.visible=t==s}}s.ToggleGroupView=ae,ae.__name__=\"ToggleGroupView\";class le extends H{constructor(e){super(e)}}s.ToggleGroup=le,x=le,le.__name__=\"ToggleGroup\",x.prototype.default_view=ae,x.define((({Array:e,Ref:t})=>({groups:[e(t(se.RendererGroup)),[]]})))},\n function _(l,n,u,_,e){var t;_();const o=l(53);class r extends o.Model{constructor(l){super(l)}}u.Styles=r,t=r,r.__name__=\"Styles\",r.__module__=\"bokeh.models.css\",t.define((({String:l,Nullable:n})=>({align_content:[n(l),null],align_items:[n(l),null],align_self:[n(l),null],alignment_baseline:[n(l),null],all:[n(l),null],animation:[n(l),null],animation_delay:[n(l),null],animation_direction:[n(l),null],animation_duration:[n(l),null],animation_fill_mode:[n(l),null],animation_iteration_count:[n(l),null],animation_name:[n(l),null],animation_play_state:[n(l),null],animation_timing_function:[n(l),null],backface_visibility:[n(l),null],background:[n(l),null],background_attachment:[n(l),null],background_clip:[n(l),null],background_color:[n(l),null],background_image:[n(l),null],background_origin:[n(l),null],background_position:[n(l),null],background_position_x:[n(l),null],background_position_y:[n(l),null],background_repeat:[n(l),null],background_size:[n(l),null],baseline_shift:[n(l),null],block_size:[n(l),null],border:[n(l),null],border_block_end:[n(l),null],border_block_end_color:[n(l),null],border_block_end_style:[n(l),null],border_block_end_width:[n(l),null],border_block_start:[n(l),null],border_block_start_color:[n(l),null],border_block_start_style:[n(l),null],border_block_start_width:[n(l),null],border_bottom:[n(l),null],border_bottom_color:[n(l),null],border_bottom_left_radius:[n(l),null],border_bottom_right_radius:[n(l),null],border_bottom_style:[n(l),null],border_bottom_width:[n(l),null],border_collapse:[n(l),null],border_color:[n(l),null],border_image:[n(l),null],border_image_outset:[n(l),null],border_image_repeat:[n(l),null],border_image_slice:[n(l),null],border_image_source:[n(l),null],border_image_width:[n(l),null],border_inline_end:[n(l),null],border_inline_end_color:[n(l),null],border_inline_end_style:[n(l),null],border_inline_end_width:[n(l),null],border_inline_start:[n(l),null],border_inline_start_color:[n(l),null],border_inline_start_style:[n(l),null],border_inline_start_width:[n(l),null],border_left:[n(l),null],border_left_color:[n(l),null],border_left_style:[n(l),null],border_left_width:[n(l),null],border_radius:[n(l),null],border_right:[n(l),null],border_right_color:[n(l),null],border_right_style:[n(l),null],border_right_width:[n(l),null],border_spacing:[n(l),null],border_style:[n(l),null],border_top:[n(l),null],border_top_color:[n(l),null],border_top_left_radius:[n(l),null],border_top_right_radius:[n(l),null],border_top_style:[n(l),null],border_top_width:[n(l),null],border_width:[n(l),null],bottom:[n(l),null],box_shadow:[n(l),null],box_sizing:[n(l),null],break_after:[n(l),null],break_before:[n(l),null],break_inside:[n(l),null],caption_side:[n(l),null],caret_color:[n(l),null],clear:[n(l),null],clip:[n(l),null],clip_path:[n(l),null],clip_rule:[n(l),null],color:[n(l),null],color_interpolation:[n(l),null],color_interpolation_filters:[n(l),null],column_count:[n(l),null],column_fill:[n(l),null],column_gap:[n(l),null],column_rule:[n(l),null],column_rule_color:[n(l),null],column_rule_style:[n(l),null],column_rule_width:[n(l),null],column_span:[n(l),null],column_width:[n(l),null],columns:[n(l),null],content:[n(l),null],counter_increment:[n(l),null],counter_reset:[n(l),null],css_float:[n(l),null],css_text:[n(l),null],cursor:[n(l),null],direction:[n(l),null],display:[n(l),null],dominant_baseline:[n(l),null],empty_cells:[n(l),null],fill:[n(l),null],fill_opacity:[n(l),null],fill_rule:[n(l),null],filter:[n(l),null],flex:[n(l),null],flex_basis:[n(l),null],flex_direction:[n(l),null],flex_flow:[n(l),null],flex_grow:[n(l),null],flex_shrink:[n(l),null],flex_wrap:[n(l),null],float:[n(l),null],flood_color:[n(l),null],flood_opacity:[n(l),null],font:[n(l),null],font_family:[n(l),null],font_feature_settings:[n(l),null],font_kerning:[n(l),null],font_size:[n(l),null],font_size_adjust:[n(l),null],font_stretch:[n(l),null],font_style:[n(l),null],font_synthesis:[n(l),null],font_variant:[n(l),null],font_variant_caps:[n(l),null],font_variant_east_asian:[n(l),null],font_variant_ligatures:[n(l),null],font_variant_numeric:[n(l),null],font_variant_position:[n(l),null],font_weight:[n(l),null],gap:[n(l),null],glyph_orientation_vertical:[n(l),null],grid:[n(l),null],grid_area:[n(l),null],grid_auto_columns:[n(l),null],grid_auto_flow:[n(l),null],grid_auto_rows:[n(l),null],grid_column:[n(l),null],grid_column_end:[n(l),null],grid_column_gap:[n(l),null],grid_column_start:[n(l),null],grid_gap:[n(l),null],grid_row:[n(l),null],grid_row_end:[n(l),null],grid_row_gap:[n(l),null],grid_row_start:[n(l),null],grid_template:[n(l),null],grid_template_areas:[n(l),null],grid_template_columns:[n(l),null],grid_template_rows:[n(l),null],height:[n(l),null],hyphens:[n(l),null],image_orientation:[n(l),null],image_rendering:[n(l),null],inline_size:[n(l),null],justify_content:[n(l),null],justify_items:[n(l),null],justify_self:[n(l),null],left:[n(l),null],letter_spacing:[n(l),null],lighting_color:[n(l),null],line_break:[n(l),null],line_height:[n(l),null],list_style:[n(l),null],list_style_image:[n(l),null],list_style_position:[n(l),null],list_style_type:[n(l),null],margin:[n(l),null],margin_block_end:[n(l),null],margin_block_start:[n(l),null],margin_bottom:[n(l),null],margin_inline_end:[n(l),null],margin_inline_start:[n(l),null],margin_left:[n(l),null],margin_right:[n(l),null],margin_top:[n(l),null],marker:[n(l),null],marker_end:[n(l),null],marker_mid:[n(l),null],marker_start:[n(l),null],mask:[n(l),null],mask_composite:[n(l),null],mask_image:[n(l),null],mask_position:[n(l),null],mask_repeat:[n(l),null],mask_size:[n(l),null],mask_type:[n(l),null],max_block_size:[n(l),null],max_height:[n(l),null],max_inline_size:[n(l),null],max_width:[n(l),null],min_block_size:[n(l),null],min_height:[n(l),null],min_inline_size:[n(l),null],min_width:[n(l),null],object_fit:[n(l),null],object_position:[n(l),null],opacity:[n(l),null],order:[n(l),null],orphans:[n(l),null],outline:[n(l),null],outline_color:[n(l),null],outline_offset:[n(l),null],outline_style:[n(l),null],outline_width:[n(l),null],overflow:[n(l),null],overflow_anchor:[n(l),null],overflow_wrap:[n(l),null],overflow_x:[n(l),null],overflow_y:[n(l),null],overscroll_behavior:[n(l),null],overscroll_behavior_block:[n(l),null],overscroll_behavior_inline:[n(l),null],overscroll_behavior_x:[n(l),null],overscroll_behavior_y:[n(l),null],padding:[n(l),null],padding_block_end:[n(l),null],padding_block_start:[n(l),null],padding_bottom:[n(l),null],padding_inline_end:[n(l),null],padding_inline_start:[n(l),null],padding_left:[n(l),null],padding_right:[n(l),null],padding_top:[n(l),null],page_break_after:[n(l),null],page_break_before:[n(l),null],page_break_inside:[n(l),null],paint_order:[n(l),null],perspective:[n(l),null],perspective_origin:[n(l),null],place_content:[n(l),null],place_items:[n(l),null],place_self:[n(l),null],pointer_events:[n(l),null],position:[n(l),null],quotes:[n(l),null],resize:[n(l),null],right:[n(l),null],rotate:[n(l),null],row_gap:[n(l),null],ruby_align:[n(l),null],ruby_position:[n(l),null],scale:[n(l),null],scroll_behavior:[n(l),null],shape_rendering:[n(l),null],stop_color:[n(l),null],stop_opacity:[n(l),null],stroke:[n(l),null],stroke_dasharray:[n(l),null],stroke_dashoffset:[n(l),null],stroke_linecap:[n(l),null],stroke_linejoin:[n(l),null],stroke_miterlimit:[n(l),null],stroke_opacity:[n(l),null],stroke_width:[n(l),null],tab_size:[n(l),null],table_layout:[n(l),null],text_align:[n(l),null],text_align_last:[n(l),null],text_anchor:[n(l),null],text_combine_upright:[n(l),null],text_decoration:[n(l),null],text_decoration_color:[n(l),null],text_decoration_line:[n(l),null],text_decoration_style:[n(l),null],text_emphasis:[n(l),null],text_emphasis_color:[n(l),null],text_emphasis_position:[n(l),null],text_emphasis_style:[n(l),null],text_indent:[n(l),null],text_justify:[n(l),null],text_orientation:[n(l),null],text_overflow:[n(l),null],text_rendering:[n(l),null],text_shadow:[n(l),null],text_transform:[n(l),null],text_underline_position:[n(l),null],top:[n(l),null],touch_action:[n(l),null],transform:[n(l),null],transform_box:[n(l),null],transform_origin:[n(l),null],transform_style:[n(l),null],transition:[n(l),null],transition_delay:[n(l),null],transition_duration:[n(l),null],transition_property:[n(l),null],transition_timing_function:[n(l),null],translate:[n(l),null],unicode_bidi:[n(l),null],user_select:[n(l),null],vertical_align:[n(l),null],visibility:[n(l),null],white_space:[n(l),null],widows:[n(l),null],width:[n(l),null],will_change:[n(l),null],word_break:[n(l),null],word_spacing:[n(l),null],word_wrap:[n(l),null],writing_mode:[n(l),null],z_index:[n(l),null]})))},\n function _(t,o,e,n,s){var i;n();const l=t(15),c=t(53),r=t(224),a=t(232),u=t(234);class h extends c.Model{constructor(t){super(t)}get button_view(){return this.tools[0].button_view}get event_type(){return this.tools[0].event_type}get tooltip(){return this.tools[0].tooltip}get tool_name(){return this.tools[0].tool_name}get icon(){return this.tools[0].computed_icon}get computed_icon(){return this.icon}get toggleable(){const t=this.tools[0];return t instanceof a.InspectTool&&t.toggleable}initialize(){super.initialize(),this.do=new l.Signal0(this,\"do\")}connect_signals(){super.connect_signals(),this.connect(this.do,(()=>this.doit())),this.connect(this.properties.active.change,(()=>this.set_active()));for(const t of this.tools)this.connect(t.properties.active.change,(()=>{this.active=t.active}))}doit(){for(const t of this.tools)t.do.emit()}set_active(){for(const t of this.tools)t.active=this.active}get menu(){const{menu:t}=this.tools[0];if(null==t)return null;const o=[];for(const[e,n]of(0,u.enumerate)(t))if(null==e)o.push(null);else{const t=()=>{var t,o,e;for(const s of this.tools)null===(e=null===(o=null===(t=s.menu)||void 0===t?void 0:t[n])||void 0===o?void 0:o.handler)||void 0===e||e.call(o)};o.push(Object.assign(Object.assign({},e),{handler:t}))}return o}}e.ToolProxy=h,i=h,h.__name__=\"ToolProxy\",i.define((({Boolean:t,Array:o,Ref:e})=>({tools:[o(e(r.ButtonTool)),[]],active:[t,!1],disabled:[t,!1]})))},\n function _(o,t,s,e,i){var n,r;e();const l=o(20),c=o(9),h=o(13),a=o(233),_=o(221),p=o(394),u=o(309),f=o(207);class y extends a.ToolbarBase{constructor(o){super(o)}initialize(){super.initialize(),this._merge_tools()}_merge_tools(){this._proxied_tools=[];const o={},t={},s={},e=[],i=[];for(const o of this.help)(0,c.includes)(i,o.redirect)||(e.push(o),i.push(o.redirect));this._proxied_tools.push(...e),this.help=e;for(const[o,t]of(0,h.entries)(this.gestures)){o in s||(s[o]={});for(const e of t.tools)e.type in s[o]||(s[o][e.type]=[]),s[o][e.type].push(e)}for(const t of this.inspectors)t.type in o||(o[t.type]=[]),o[t.type].push(t);for(const o of this.actions)o.type in t||(t[o.type]=[]),t[o.type].push(o);const n=(o,t=!1)=>{const s=new p.ToolProxy({tools:o,active:t});return this._proxied_tools.push(s),s};for(const o of(0,h.keys)(s)){const t=this.gestures[o];t.tools=[];for(const e of(0,h.keys)(s[o])){const i=s[o][e];if(i.length>0)if(\"multi\"==o)for(const o of i){const s=n([o]);t.tools.push(s),this.connect(s.properties.active.change,(()=>this._active_change(s)))}else{const o=n(i);t.tools.push(o),this.connect(o.properties.active.change,(()=>this._active_change(o)))}}}this.actions=[];for(const[o,s]of(0,h.entries)(t))if(\"CustomAction\"==o)for(const o of s)this.actions.push(n([o]));else s.length>0&&this.actions.push(n(s));this.inspectors=[];for(const t of(0,h.values)(o))t.length>0&&this.inspectors.push(n(t,!0));for(const[o,t]of(0,h.entries)(this.gestures))0!=t.tools.length&&(t.tools=(0,c.sort_by)(t.tools,(o=>o.default_order)),\"pinch\"!=o&&\"scroll\"!=o&&\"multi\"!=o&&(t.tools[0].active=!0))}}s.ProxyToolbar=y,n=y,y.__name__=\"ProxyToolbar\",n.define((({Array:o,Ref:t})=>({toolbars:[o(t(_.Toolbar)),[]]})));class d extends u.LayoutDOMView{initialize(){this.model.toolbar.toolbar_location=this.model.toolbar_location,super.initialize()}get child_models(){return[this.model.toolbar]}_update_layout(){this.layout=new f.ContentBox(this.child_views[0].el);const{toolbar:o}=this.model;o.horizontal?this.layout.set_sizing({width_policy:\"fit\",min_width:100,height_policy:\"fixed\"}):this.layout.set_sizing({width_policy:\"fixed\",height_policy:\"fit\",min_height:100})}after_layout(){super.after_layout();const o=this.child_views[0];o.layout.bbox=this.layout.bbox,o.render()}}s.ToolbarBoxView=d,d.__name__=\"ToolbarBoxView\";class b extends u.LayoutDOM{constructor(o){super(o)}}s.ToolbarBox=b,r=b,b.__name__=\"ToolbarBox\",r.prototype.default_view=d,r.define((({Ref:o})=>({toolbar:[o(a.ToolbarBase)],toolbar_location:[l.Location,\"right\"]})))},\n function _(e,n,r,t,o){t();const s=e(1),u=e(53),c=(0,s.__importStar)(e(21)),a=e(8),l=e(13);r.resolve_defs=function(e,n){var r,t,o,s;function i(e){return null!=e.module?`${e.module}.${e.name}`:e.name}function f(e){if((0,a.isString)(e))switch(e){case\"Any\":return c.Any;case\"Unknown\":return c.Unknown;case\"Boolean\":return c.Boolean;case\"Number\":return c.Number;case\"Int\":return c.Int;case\"String\":return c.String;case\"Null\":return c.Null}else switch(e[0]){case\"Nullable\":{const[,n]=e;return c.Nullable(f(n))}case\"Or\":{const[,...n]=e;return c.Or(...n.map(f))}case\"Tuple\":{const[,n,...r]=e;return c.Tuple(f(n),...r.map(f))}case\"Array\":{const[,n]=e;return c.Array(f(n))}case\"Struct\":{const[,...n]=e,r=n.map((([e,n])=>[e,f(n)]));return c.Struct((0,l.to_object)(r))}case\"Dict\":{const[,n]=e;return c.Dict(f(n))}case\"Map\":{const[,n,r]=e;return c.Map(f(n),f(r))}case\"Enum\":{const[,...n]=e;return c.Enum(...n)}case\"Ref\":{const[,r]=e,t=n.get(i(r));if(null!=t)return c.Ref(t);throw new Error(`${i(r)} wasn't defined before referencing it`)}case\"AnyRef\":return c.AnyRef()}}for(const c of e){const e=(()=>{if(null==c.extends)return u.Model;{const e=n.get(i(c.extends));if(null!=e)return e;throw new Error(`base model ${i(c.extends)} of ${i(c)} is not defined`)}})(),a=((s=class extends e{}).__name__=c.name,s.__module__=c.module,s);for(const e of null!==(r=c.properties)&&void 0!==r?r:[]){const n=f(null!==(t=e.kind)&&void 0!==t?t:\"Unknown\");a.define({[e.name]:[n,e.default]})}for(const e of null!==(o=c.overrides)&&void 0!==o?o:[])a.override({[e.name]:e.default});n.register(a)}}},\n function _(n,e,t,o,i){o();const d=n(5),c=n(226),s=n(113),a=n(43),l=n(398);t.index={},t.add_document_standalone=async function(n,e,o=[],i=!1){const u=new Map;async function f(i){let d;const f=n.roots().indexOf(i),r=o[f];null!=r?d=r:e.classList.contains(l.BOKEH_ROOT)?d=e:(d=(0,a.div)({class:l.BOKEH_ROOT}),e.appendChild(d));const w=await(0,s.build_view)(i,{parent:null});return w instanceof c.DOMView&&w.renderTo(d),u.set(i,w),t.index[i.id]=w,w}for(const e of n.roots())await f(e);return i&&(window.document.title=n.title()),n.on_change((n=>{n instanceof d.RootAddedEvent?f(n.model):n instanceof d.RootRemovedEvent?function(n){const e=u.get(n);null!=e&&(e.remove(),u.delete(n),delete t.index[n.id])}(n.model):i&&n instanceof d.TitleChangedEvent&&(window.document.title=n.title)})),[...u.values()]}},\n function _(o,e,n,t,r){t();const l=o(43),d=o(44);function u(o){let e=document.getElementById(o);if(null==e)throw new Error(`Error rendering Bokeh model: could not find #${o} HTML tag`);if(!document.body.contains(e))throw new Error(`Error rendering Bokeh model: element #${o} must be under `);if(\"SCRIPT\"==e.tagName){const o=(0,l.div)({class:n.BOKEH_ROOT});(0,l.replaceWith)(e,o),e=o}return e}n.BOKEH_ROOT=d.root,n._resolve_element=function(o){const{elementid:e}=o;return null!=e?u(e):document.body},n._resolve_root_elements=function(o){const e=[];if(null!=o.root_ids&&null!=o.roots)for(const n of o.root_ids)e.push(u(o.roots[n]));return e}},\n function _(n,o,t,s,e){s();const c=n(400),r=n(19),a=n(397);t._get_ws_url=function(n,o){let t,s=\"ws:\";return\"https:\"==window.location.protocol&&(s=\"wss:\"),null!=o?(t=document.createElement(\"a\"),t.href=o):t=window.location,null!=n?\"/\"==n&&(n=\"\"):n=t.pathname.replace(/\\/+$/,\"\"),`${s}//${t.host}${n}/ws`};const i={};t.add_document_from_session=async function(n,o,t,s=[],e=!1){const l=window.location.search.substr(1);let d;try{d=await function(n,o,t){const s=(0,c.parse_token)(o).session_id;n in i||(i[n]={});const e=i[n];return s in e||(e[s]=(0,c.pull_session)(n,o,t)),e[s]}(n,o,l)}catch(n){const t=(0,c.parse_token)(o).session_id;throw r.logger.error(`Failed to load Bokeh session ${t}: ${n}`),n}return(0,a.add_document_standalone)(d.document,t,s,e)}},\n function _(e,s,n,t,o){t();const r=e(19),i=e(5),c=e(401),l=e(402),_=e(403);n.DEFAULT_SERVER_WEBSOCKET_URL=\"ws://localhost:5006/ws\",n.DEFAULT_TOKEN=\"eyJzZXNzaW9uX2lkIjogImRlZmF1bHQifQ\";let h=0;function a(e){let s=e.split(\".\")[0];const n=s.length%4;return 0!=n&&(s+=\"=\".repeat(4-n)),JSON.parse(atob(s.replace(/_/g,\"/\").replace(/-/g,\"+\")))}n.parse_token=a;class d{constructor(e=n.DEFAULT_SERVER_WEBSOCKET_URL,s=n.DEFAULT_TOKEN,t=null){this.url=e,this.token=s,this.args_string=t,this._number=h++,this.socket=null,this.session=null,this.closed_permanently=!1,this._current_handler=null,this._pending_replies=new Map,this._pending_messages=[],this._receiver=new l.Receiver,this.id=a(s).session_id.split(\".\")[0],r.logger.debug(`Creating websocket ${this._number} to '${this.url}' session '${this.id}'`)}async connect(){if(this.closed_permanently)throw new Error(\"Cannot connect() a closed ClientConnection\");if(null!=this.socket)throw new Error(\"Already connected\");this._current_handler=null,this._pending_replies.clear(),this._pending_messages=[];try{let e=`${this.url}`;return null!=this.args_string&&this.args_string.length>0&&(e+=`?${this.args_string}`),this.socket=new WebSocket(e,[\"bokeh\",this.token]),new Promise(((e,s)=>{this.socket.binaryType=\"arraybuffer\",this.socket.onopen=()=>this._on_open(e,s),this.socket.onmessage=e=>this._on_message(e),this.socket.onclose=e=>this._on_close(e,s),this.socket.onerror=()=>this._on_error(s)}))}catch(e){throw r.logger.error(`websocket creation failed to url: ${this.url}`),r.logger.error(` - ${e}`),e}}close(){this.closed_permanently||(r.logger.debug(`Permanently closing websocket connection ${this._number}`),this.closed_permanently=!0,null!=this.socket&&this.socket.close(1e3,`close method called on ClientConnection ${this._number}`),this.session._connection_closed())}_schedule_reconnect(e){setTimeout((()=>{this.closed_permanently||r.logger.info(`Websocket connection ${this._number} disconnected, will not attempt to reconnect`)}),e)}send(e){if(null==this.socket)throw new Error(`not connected so cannot send ${e}`);e.send(this.socket)}async send_with_reply(e){const s=await new Promise(((s,n)=>{this._pending_replies.set(e.msgid(),{resolve:s,reject:n}),this.send(e)}));if(\"ERROR\"===s.msgtype())throw new Error(`Error reply ${s.content.text}`);return s}async _pull_doc_json(){const e=c.Message.create(\"PULL-DOC-REQ\",{}),s=await this.send_with_reply(e);if(!(\"doc\"in s.content))throw new Error(\"No 'doc' field in PULL-DOC-REPLY\");return s.content.doc}async _repull_session_doc(e,s){var n;r.logger.debug(this.session?\"Repulling session\":\"Pulling session for first time\");try{const n=await this._pull_doc_json();if(null==this.session)if(this.closed_permanently)r.logger.debug(\"Got new document after connection was already closed\"),s(new Error(\"The connection has been closed\"));else{const s=i.Document.from_json(n),t=i.Document._compute_patch_since_json(n,s);if(t.events.length>0){r.logger.debug(`Sending ${t.events.length} changes from model construction back to server`);const e=c.Message.create(\"PATCH-DOC\",{},t);this.send(e)}this.session=new _.ClientSession(this,s,this.id);for(const e of this._pending_messages)this.session.handle(e);this._pending_messages=[],r.logger.debug(\"Created a new session from new pulled doc\"),e(this.session)}else this.session.document.replace_with_json(n),r.logger.debug(\"Updated existing session with new pulled doc\")}catch(e){null===(n=console.trace)||void 0===n||n.call(console,e),r.logger.error(`Failed to repull session ${e}`),s(e instanceof Error?e:`${e}`)}}_on_open(e,s){r.logger.info(`Websocket connection ${this._number} is now open`),this._current_handler=n=>{this._awaiting_ack_handler(n,e,s)}}_on_message(e){null==this._current_handler&&r.logger.error(\"Got a message with no current handler set\");try{this._receiver.consume(e.data)}catch(e){this._close_bad_protocol(`${e}`)}const s=this._receiver.message;if(null!=s){const e=s.problem();null!=e&&this._close_bad_protocol(e),this._current_handler(s)}}_on_close(e,s){r.logger.info(`Lost websocket ${this._number} connection, ${e.code} (${e.reason})`),this.socket=null,this._pending_replies.forEach((e=>e.reject(\"Disconnected\"))),this._pending_replies.clear(),this.closed_permanently||this._schedule_reconnect(2e3),s(new Error(`Lost websocket connection, ${e.code} (${e.reason})`))}_on_error(e){r.logger.debug(`Websocket error on socket ${this._number}`);const s=\"Could not open websocket\";r.logger.error(`Failed to connect to Bokeh server: ${s}`),e(new Error(s))}_close_bad_protocol(e){r.logger.error(`Closing connection: ${e}`),null!=this.socket&&this.socket.close(1002,e)}_awaiting_ack_handler(e,s,n){\"ACK\"===e.msgtype()?(this._current_handler=e=>this._steady_state_handler(e),this._repull_session_doc(s,n)):this._close_bad_protocol(\"First message was not an ACK\")}_steady_state_handler(e){const s=e.reqid(),n=this._pending_replies.get(s);n?(this._pending_replies.delete(s),n.resolve(e)):this.session?this.session.handle(e):\"PATCH-DOC\"!=e.msgtype()&&this._pending_messages.push(e)}}n.ClientConnection=d,d.__name__=\"ClientConnection\",n.pull_session=function(e,s,n){return new d(e,s,n).connect()}},\n function _(e,s,t,r,n){r();const i=e(34);class a{constructor(e,s,t){this.header=e,this.metadata=s,this.content=t,this.buffers=new Map}static assemble(e,s,t){const r=JSON.parse(e),n=JSON.parse(s),i=JSON.parse(t);return new a(r,n,i)}assemble_buffer(e,s){const t=null!=this.header.num_buffers?this.header.num_buffers:0;if(t<=this.buffers.size)throw new Error(`too many buffers received, expecting ${t}`);const{id:r}=JSON.parse(e);this.buffers.set(r,s)}static create(e,s,t={}){const r=a.create_header(e);return new a(r,s,t)}static create_header(e){return{msgid:(0,i.uniqueId)(),msgtype:e}}complete(){return null!=this.header&&null!=this.metadata&&null!=this.content&&(null==this.header.num_buffers||this.buffers.size==this.header.num_buffers)}send(e){if((null!=this.header.num_buffers?this.header.num_buffers:0)>0)throw new Error(\"BokehJS only supports receiving buffers, not sending\");const s=JSON.stringify(this.header),t=JSON.stringify(this.metadata),r=JSON.stringify(this.content);e.send(s),e.send(t),e.send(r)}msgid(){return this.header.msgid}msgtype(){return this.header.msgtype}reqid(){return this.header.reqid}problem(){return\"msgid\"in this.header?\"msgtype\"in this.header?null:\"No msgtype in header\":\"No msgid in header\"}}t.Message=a,a.__name__=\"Message\"},\n function _(e,t,s,_,r){_();const i=e(401),h=e(8);class a{constructor(){this.message=null,this._partial=null,this._fragments=[],this._buf_header=null,this._current_consumer=this._HEADER}consume(e){this._current_consumer(e)}_HEADER(e){this._assume_text(e),this.message=null,this._partial=null,this._fragments=[e],this._buf_header=null,this._current_consumer=this._METADATA}_METADATA(e){this._assume_text(e),this._fragments.push(e),this._current_consumer=this._CONTENT}_CONTENT(e){this._assume_text(e),this._fragments.push(e);const[t,s,_]=this._fragments.slice(0,3);this._partial=i.Message.assemble(t,s,_),this._check_complete()}_BUFFER_HEADER(e){this._assume_text(e),this._buf_header=e,this._current_consumer=this._BUFFER_PAYLOAD}_BUFFER_PAYLOAD(e){this._assume_binary(e),this._partial.assemble_buffer(this._buf_header,e),this._check_complete()}_assume_text(e){if(!(0,h.isString)(e))throw new Error(\"Expected text fragment but received binary fragment\")}_assume_binary(e){if(!(e instanceof ArrayBuffer))throw new Error(\"Expected binary fragment but received text fragment\")}_check_complete(){this._partial.complete()?(this.message=this._partial,this._current_consumer=this._HEADER):this._current_consumer=this._BUFFER_HEADER}}s.Receiver=a,a.__name__=\"Receiver\"},\n function _(e,t,n,s,o){s();const c=e(5),i=e(401),_=e(19);class r{constructor(e,t,n){this._connection=e,this.document=t,this.id=n,this._document_listener=e=>{this._document_changed(e)},this.document.on_change(this._document_listener,!0)}handle(e){const t=e.msgtype();\"PATCH-DOC\"===t?this._handle_patch(e):\"OK\"===t?this._handle_ok(e):\"ERROR\"===t?this._handle_error(e):_.logger.debug(`Doing nothing with message ${e.msgtype()}`)}close(){this._connection.close()}_connection_closed(){this.document.remove_on_change(this._document_listener)}async request_server_info(){const e=i.Message.create(\"SERVER-INFO-REQ\",{});return(await this._connection.send_with_reply(e)).content}async force_roundtrip(){await this.request_server_info()}_document_changed(e){if(e.setter_id===this.id)return;const t=e instanceof c.DocumentEventBatch?e.events:[e],n=this.document.create_json_patch(t),s=i.Message.create(\"PATCH-DOC\",{},n);this._connection.send(s)}_handle_patch(e){this.document.apply_json_patch(e.content,e.buffers,this.id)}_handle_ok(e){_.logger.trace(`Unhandled OK reply to ${e.reqid()}`)}_handle_error(e){_.logger.error(`Unhandled ERROR reply to ${e.reqid()}: ${e.content.text}`)}}n.ClientSession=r,r.__name__=\"ClientSession\"},\n function _(e,o,t,n,r){n();const s=e(1),l=e(5),i=e(402),a=e(19),c=e(43),g=e(13),f=e(397),u=e(398),m=(0,s.__importDefault)(e(44)),p=(0,s.__importDefault)(e(240)),d=(0,s.__importDefault)(e(405));function _(e,o){o.buffers.length>0?e.consume(o.buffers[0].buffer):e.consume(o.content.data);const t=e.message;null!=t&&this.apply_json_patch(t.content,t.buffers)}function b(e,o){if(\"undefined\"!=typeof Jupyter&&null!=Jupyter.notebook.kernel){a.logger.info(`Registering Jupyter comms for target ${e}`);const t=Jupyter.notebook.kernel.comm_manager;try{t.register_target(e,(t=>{a.logger.info(`Registering Jupyter comms for target ${e}`);const n=new i.Receiver;t.on_msg(_.bind(o,n))}))}catch(e){a.logger.warn(`Jupyter comms failed to register. push_notebook() will not function. (exception reported: ${e})`)}}else if(o.roots()[0].id in t.kernels){a.logger.info(`Registering JupyterLab comms for target ${e}`);const n=t.kernels[o.roots()[0].id];try{n.registerCommTarget(e,(t=>{a.logger.info(`Registering JupyterLab comms for target ${e}`);const n=new i.Receiver;t.onMsg=_.bind(o,n)}))}catch(e){a.logger.warn(`Jupyter comms failed to register. push_notebook() will not function. (exception reported: ${e})`)}}else if(\"undefined\"!=typeof google&&null!=google.colab.kernel){a.logger.info(`Registering Google Colab comms for target ${e}`);const t=google.colab.kernel.comms;try{t.registerTarget(e,(async t=>{var n,r,l;a.logger.info(`Registering Google Colab comms for target ${e}`);const c=new i.Receiver;try{for(var g,f=(0,s.__asyncValues)(t.messages);!(g=await f.next()).done;){const e=g.value,t={data:e.data},n=[];for(const o of null!==(l=e.buffers)&&void 0!==l?l:[])n.push(new DataView(o));const r={content:t,buffers:n};_.bind(o)(c,r)}}catch(e){n={error:e}}finally{try{g&&!g.done&&(r=f.return)&&await r.call(f)}finally{if(n)throw n.error}}}))}catch(e){a.logger.warn(`Google Colab comms failed to register. push_notebook() will not function. (exception reported: ${e})`)}}else console.warn(\"Jupyter notebooks comms not available. push_notebook() will not function. If running JupyterLab ensure the latest @bokeh/jupyter_bokeh extension is installed. In an exported notebook this warning is expected.\")}c.stylesheet.append(m.default),c.stylesheet.append(p.default),c.stylesheet.append(d.default),t.kernels={},t.embed_items_notebook=function(e,o){if(1!=(0,g.size)(e))throw new Error(\"embed_items_notebook expects exactly one document in docs_json\");const t=l.Document.from_json((0,g.values)(e)[0]);for(const e of o){null!=e.notebook_comms_target&&b(e.notebook_comms_target,t);const o=(0,u._resolve_element)(e),n=(0,u._resolve_root_elements)(e);(0,f.add_document_standalone)(t,o,n)}}},\n function _(t,o,r,e,d){e(),r.root=\"bk-root\",r.tooltip=\"bk-tooltip\",r.default=\".rendered_html .bk-root .bk-tooltip table,.rendered_html .bk-root .bk-tooltip tr,.rendered_html .bk-root .bk-tooltip th,.rendered_html .bk-root .bk-tooltip td{border:none;padding:1px;}\"},\n function _(t,_,o,r,n){r();const a=t(1);(0,a.__exportStar)(t(401),o),(0,a.__exportStar)(t(402),o)},\n function _(e,t,n,s,o){function l(){const e=document.getElementsByTagName(\"body\")[0],t=document.getElementsByClassName(\"bokeh-test-div\");1==t.length&&(e.removeChild(t[0]),delete t[0]);const n=document.createElement(\"div\");n.classList.add(\"bokeh-test-div\"),n.style.display=\"none\",e.insertBefore(n,e.firstChild)}s(),n.results={},n.init=function(){l()},n.record0=function(e,t){n.results[e]=t},n.record=function(e,t){n.results[e]=t,l()},n.count=function(e){null==n.results[e]&&(n.results[e]=0),n.results[e]+=1,l()}},\n function _(e,t,o,n,l){n(),o.safely=function(e,t=!1){try{return e()}catch(e){if(function(e){const t=document.createElement(\"div\");t.style.backgroundColor=\"#f2dede\",t.style.border=\"1px solid #a94442\",t.style.borderRadius=\"4px\",t.style.display=\"inline-block\",t.style.fontFamily=\"sans-serif\",t.style.marginTop=\"5px\",t.style.minWidth=\"200px\",t.style.padding=\"5px 5px 5px 10px\",t.classList.add(\"bokeh-error-box-into-flames\");const o=document.createElement(\"span\");o.style.backgroundColor=\"#a94442\",o.style.borderRadius=\"0px 4px 0px 0px\",o.style.color=\"white\",o.style.cursor=\"pointer\",o.style.cssFloat=\"right\",o.style.fontSize=\"0.8em\",o.style.margin=\"-6px -6px 0px 0px\",o.style.padding=\"2px 5px 4px 5px\",o.title=\"close\",o.setAttribute(\"aria-label\",\"close\"),o.appendChild(document.createTextNode(\"x\")),o.addEventListener(\"click\",(()=>s.removeChild(t)));const n=document.createElement(\"h3\");n.style.color=\"#a94442\",n.style.margin=\"8px 0px 0px 0px\",n.style.padding=\"0px\",n.appendChild(document.createTextNode(\"Bokeh Error\"));const l=document.createElement(\"pre\");l.style.whiteSpace=\"unset\",l.style.overflowX=\"auto\",l.appendChild(document.createTextNode(e)),t.appendChild(o),t.appendChild(n),t.appendChild(l);const s=document.getElementsByTagName(\"body\")[0];s.insertBefore(t,s.firstChild)}(e instanceof Error&&e.stack?e.stack:`${e}`),t)return;throw e}}},\n ], 0, {\"main\":0,\"tslib\":1,\"index\":2,\"version\":3,\"embed/index\":4,\"document/index\":5,\"document/document\":6,\"base\":7,\"core/util/types\":8,\"core/util/array\":9,\"core/util/math\":10,\"core/util/assert\":11,\"core/util/arrayable\":12,\"core/util/object\":13,\"core/has_props\":14,\"core/signaling\":15,\"core/util/defer\":16,\"core/util/refs\":17,\"core/properties\":18,\"core/logging\":19,\"core/enums\":20,\"core/kinds\":21,\"core/util/color\":22,\"core/util/svg_colors\":23,\"core/types\":24,\"core/util/bitset\":25,\"core/util/eq\":26,\"core/util/platform\":27,\"core/settings\":28,\"core/util/ndarray\":29,\"core/serializer\":30,\"core/util/serialization\":31,\"core/util/buffer\":32,\"core/uniforms\":33,\"core/util/string\":34,\"document/events\":35,\"core/util/pretty\":36,\"core/util/cloneable\":37,\"models/index\":38,\"models/annotations/index\":39,\"models/annotations/annotation\":40,\"models/renderers/renderer\":41,\"core/view\":42,\"core/dom\":43,\"styles/root.css\":44,\"core/visuals/index\":45,\"core/visuals/line\":46,\"core/visuals/visual\":47,\"core/property_mixins\":48,\"core/visuals/fill\":49,\"core/visuals/text\":50,\"core/visuals/hatch\":51,\"core/visuals/patterns\":52,\"model\":53,\"models/canvas/coordinates\":54,\"models/scales/scale\":55,\"models/transforms/transform\":56,\"models/ranges/range\":57,\"models/ranges/range1d\":58,\"models/scales/linear_scale\":59,\"models/scales/continuous_scale\":60,\"models/scales/log_scale\":61,\"models/scales/categorical_scale\":62,\"models/ranges/data_range1d\":63,\"models/ranges/data_range\":64,\"core/util/bbox\":65,\"models/util\":66,\"models/ranges/factor_range\":67,\"models/annotations/arrow\":68,\"models/annotations/data_annotation\":69,\"models/sources/columnar_data_source\":70,\"models/sources/data_source\":71,\"models/selections/selection\":72,\"core/selection_manager\":73,\"models/selections/interaction_policy\":74,\"models/sources/column_data_source\":75,\"core/util/typed_array\":76,\"core/util/set\":77,\"core/util/projections\":78,\"models/annotations/arrow_head\":112,\"core/build_views\":113,\"models/annotations/band\":114,\"models/annotations/upper_lower\":115,\"models/annotations/box_annotation\":116,\"models/annotations/color_bar\":117,\"models/annotations/title\":118,\"models/annotations/text_annotation\":119,\"core/graphics\":120,\"core/util/text\":121,\"core/util/affine\":122,\"core/layout/side_panel\":123,\"core/layout/types\":124,\"core/layout/layoutable\":125,\"models/canvas/cartesian_frame\":126,\"models/axes/index\":127,\"models/axes/axis\":128,\"models/renderers/guide_renderer\":129,\"models/tickers/ticker\":130,\"models/formatters/tick_formatter\":131,\"models/policies/labeling\":132,\"models/text/base_text\":133,\"models/text/utils\":134,\"models/text/math_text\":135,\"core/util/image\":136,\"models/text/providers\":137,\"core/util/modules\":138,\"models/text/plain_text\":139,\"models/axes/categorical_axis\":140,\"models/tickers/categorical_ticker\":141,\"models/formatters/categorical_tick_formatter\":142,\"models/axes/continuous_axis\":143,\"models/axes/datetime_axis\":144,\"models/axes/linear_axis\":145,\"models/formatters/basic_tick_formatter\":146,\"models/tickers/basic_ticker\":147,\"models/tickers/adaptive_ticker\":148,\"models/tickers/continuous_ticker\":149,\"models/formatters/datetime_tick_formatter\":150,\"core/util/templating\":152,\"models/tickers/datetime_ticker\":155,\"models/tickers/composite_ticker\":156,\"models/tickers/days_ticker\":157,\"models/tickers/single_interval_ticker\":158,\"models/tickers/util\":159,\"models/tickers/months_ticker\":160,\"models/tickers/years_ticker\":161,\"models/axes/log_axis\":162,\"models/formatters/log_tick_formatter\":163,\"models/tickers/log_ticker\":164,\"models/axes/mercator_axis\":165,\"models/formatters/mercator_tick_formatter\":166,\"models/tickers/mercator_ticker\":167,\"models/tickers/index\":168,\"models/tickers/fixed_ticker\":169,\"models/tickers/binned_ticker\":170,\"models/mappers/scanning_color_mapper\":171,\"models/mappers/continuous_color_mapper\":172,\"models/mappers/color_mapper\":173,\"models/mappers/mapper\":174,\"models/renderers/glyph_renderer\":175,\"models/renderers/data_renderer\":176,\"models/glyphs/line\":177,\"models/glyphs/xy_glyph\":178,\"models/glyphs/glyph\":179,\"core/util/ragged_array\":180,\"core/util/spatial\":181,\"models/glyphs/utils\":184,\"core/hittest\":185,\"models/glyphs/patch\":186,\"models/glyphs/harea\":187,\"models/glyphs/area\":188,\"models/glyphs/varea\":189,\"models/sources/cds_view\":190,\"models/filters/filter\":191,\"models/formatters/index\":192,\"models/formatters/func_tick_formatter\":193,\"models/formatters/numeral_tick_formatter\":194,\"models/formatters/printf_tick_formatter\":195,\"models/mappers/index\":196,\"models/mappers/categorical_color_mapper\":197,\"models/mappers/categorical_mapper\":198,\"models/mappers/categorical_marker_mapper\":199,\"models/mappers/categorical_pattern_mapper\":200,\"models/mappers/linear_color_mapper\":201,\"models/mappers/log_color_mapper\":202,\"models/mappers/eqhist_color_mapper\":203,\"models/scales/index\":204,\"models/scales/linear_interpolation_scale\":205,\"models/ranges/index\":206,\"core/layout/index\":207,\"core/layout/alignments\":208,\"core/layout/grid\":209,\"core/layout/html\":210,\"core/layout/border\":211,\"models/annotations/label\":212,\"models/annotations/label_set\":213,\"models/annotations/legend\":214,\"models/annotations/legend_item\":215,\"core/vectorization\":216,\"models/annotations/poly_annotation\":217,\"models/annotations/slope\":218,\"models/annotations/span\":219,\"models/annotations/toolbar_panel\":220,\"models/tools/toolbar\":221,\"models/tools/tool\":222,\"models/tools/gestures/gesture_tool\":223,\"models/tools/button_tool\":224,\"core/dom_view\":226,\"styles/toolbar.css\":227,\"styles/icons.css\":228,\"styles/menus.css\":229,\"core/util/menus\":230,\"models/tools/on_off_button\":231,\"models/tools/inspectors/inspect_tool\":232,\"models/tools/toolbar_base\":233,\"core/util/iterator\":234,\"core/util/canvas\":235,\"core/util/svg\":236,\"core/util/random\":237,\"models/tools/actions/action_tool\":238,\"models/tools/actions/help_tool\":239,\"styles/logo.css\":240,\"models/annotations/tooltip\":241,\"styles/tooltips.css\":242,\"models/annotations/whisker\":243,\"models/callbacks/index\":244,\"models/callbacks/customjs\":245,\"models/callbacks/callback\":246,\"models/callbacks/open_url\":247,\"models/canvas/index\":248,\"models/canvas/canvas\":249,\"core/ui_events\":250,\"core/bokeh_events\":251,\"core/util/wheel\":252,\"models/expressions/index\":253,\"models/expressions/expression\":254,\"models/expressions/customjs_expr\":255,\"models/expressions/stack\":256,\"models/expressions/cumsum\":257,\"models/expressions/minimum\":258,\"models/expressions/maximum\":259,\"models/expressions/coordinate_transform\":260,\"models/expressions/polar\":261,\"models/filters/index\":262,\"models/filters/boolean_filter\":263,\"models/filters/customjs_filter\":264,\"models/filters/group_filter\":265,\"models/filters/index_filter\":266,\"models/glyphs/index\":267,\"models/glyphs/annular_wedge\":268,\"models/glyphs/annulus\":269,\"models/glyphs/arc\":270,\"models/glyphs/bezier\":271,\"models/glyphs/circle\":272,\"models/glyphs/ellipse\":273,\"models/glyphs/ellipse_oval\":274,\"models/glyphs/center_rotatable\":275,\"models/glyphs/hbar\":276,\"models/glyphs/box\":277,\"models/glyphs/hex_tile\":278,\"models/glyphs/image\":279,\"models/glyphs/image_base\":280,\"models/glyphs/image_rgba\":281,\"models/glyphs/image_url\":282,\"models/glyphs/multi_line\":283,\"models/glyphs/multi_polygons\":284,\"models/glyphs/oval\":285,\"models/glyphs/patches\":286,\"models/glyphs/quad\":287,\"models/glyphs/quadratic\":288,\"models/glyphs/ray\":289,\"models/glyphs/rect\":290,\"models/glyphs/scatter\":291,\"models/glyphs/marker\":292,\"models/glyphs/defs\":293,\"models/glyphs/segment\":294,\"models/glyphs/spline\":295,\"core/util/interpolation\":296,\"models/glyphs/step\":297,\"models/glyphs/text\":298,\"models/glyphs/vbar\":299,\"models/glyphs/wedge\":300,\"models/graphs/index\":301,\"models/graphs/graph_hit_test_policy\":302,\"models/graphs/layout_provider\":303,\"models/graphs/static_layout_provider\":304,\"models/grids/index\":305,\"models/grids/grid\":306,\"models/layouts/index\":307,\"models/layouts/box\":308,\"models/layouts/layout_dom\":309,\"models/layouts/column\":310,\"models/layouts/grid_box\":311,\"models/layouts/html_box\":312,\"models/layouts/panel\":313,\"models/layouts/row\":314,\"models/layouts/spacer\":315,\"models/layouts/tabs\":316,\"styles/tabs.css\":317,\"styles/buttons.css\":318,\"models/layouts/widget_box\":319,\"models/text/index\":320,\"models/transforms/index\":321,\"models/transforms/customjs_transform\":322,\"models/transforms/dodge\":323,\"models/transforms/range_transform\":324,\"models/transforms/interpolator\":325,\"models/transforms/jitter\":326,\"models/transforms/linear_interpolator\":327,\"models/transforms/step_interpolator\":328,\"models/plots/index\":329,\"models/plots/gmap_plot\":330,\"models/plots/plot\":331,\"models/plots/plot_canvas\":332,\"core/util/throttle\":333,\"models/plots/range_manager\":334,\"models/plots/state_manager\":335,\"models/plots/gmap_plot_canvas\":336,\"models/policies/index\":337,\"models/renderers/index\":338,\"models/renderers/graph_renderer\":339,\"models/selections/index\":340,\"models/sources/index\":341,\"models/sources/server_sent_data_source\":342,\"models/sources/web_data_source\":343,\"models/sources/ajax_data_source\":344,\"models/sources/geojson_data_source\":345,\"models/tiles/index\":346,\"models/tiles/bbox_tile_source\":347,\"models/tiles/mercator_tile_source\":348,\"models/tiles/tile_source\":349,\"models/tiles/tile_utils\":350,\"models/tiles/quadkey_tile_source\":351,\"models/tiles/tile_renderer\":352,\"models/tiles/wmts_tile_source\":353,\"styles/tiles.css\":354,\"models/tiles/tms_tile_source\":355,\"models/textures/index\":356,\"models/textures/canvas_texture\":357,\"models/textures/texture\":358,\"models/textures/image_url_texture\":359,\"models/tools/index\":360,\"models/tools/actions/custom_action\":361,\"models/tools/actions/redo_tool\":362,\"models/tools/actions/reset_tool\":363,\"models/tools/actions/save_tool\":364,\"models/tools/actions/undo_tool\":365,\"models/tools/actions/zoom_in_tool\":366,\"models/tools/actions/zoom_base_tool\":367,\"core/util/zoom\":368,\"models/tools/actions/zoom_out_tool\":369,\"models/tools/edit/edit_tool\":370,\"models/tools/edit/box_edit_tool\":371,\"models/tools/edit/freehand_draw_tool\":372,\"models/tools/edit/point_draw_tool\":373,\"models/tools/edit/poly_draw_tool\":374,\"models/tools/edit/poly_tool\":375,\"models/tools/edit/poly_edit_tool\":376,\"models/tools/gestures/box_select_tool\":377,\"models/tools/gestures/select_tool\":378,\"models/tools/gestures/box_zoom_tool\":379,\"models/tools/gestures/lasso_select_tool\":380,\"models/tools/gestures/poly_select_tool\":381,\"models/tools/edit/line_edit_tool\":382,\"models/tools/edit/line_tool\":383,\"models/tools/gestures/pan_tool\":384,\"models/tools/gestures/range_tool\":385,\"models/tools/gestures/tap_tool\":386,\"models/tools/gestures/wheel_pan_tool\":387,\"models/tools/gestures/wheel_zoom_tool\":388,\"models/tools/inspectors/crosshair_tool\":389,\"models/tools/inspectors/customjs_hover\":390,\"models/tools/inspectors/hover_tool\":391,\"models/dom/index\":392,\"models/dom/styles\":393,\"models/tools/tool_proxy\":394,\"models/tools/toolbar_box\":395,\"document/defs\":396,\"embed/standalone\":397,\"embed/dom\":398,\"embed/server\":399,\"client/connection\":400,\"protocol/message\":401,\"protocol/receiver\":402,\"client/session\":403,\"embed/notebook\":404,\"styles/notebook.css\":405,\"protocol/index\":406,\"testing\":407,\"safely\":408}, {});});\n\n /* END bokeh.min.js */\n },\n function(Bokeh) {\n /* BEGIN bokeh-gl.min.js */\n /*!\n * Copyright (c) 2012 - 2022, Anaconda, Inc., and Bokeh Contributors\n * All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n * \n * Redistributions of source code must retain the above copyright notice,\n * this list of conditions and the following disclaimer.\n * \n * Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n * \n * Neither the name of Anaconda nor the names of any contributors\n * may be used to endorse or promote products derived from this software\n * without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n * THE POSSIBILITY OF SUCH DAMAGE.\n */\n (function(root, factory) {\n factory(root[\"Bokeh\"], \"2.4.3\");\n })(this, function(Bokeh, version) {\n let define;\n return (function(modules, entry, aliases, externals) {\n const bokeh = typeof Bokeh !== \"undefined\" && (version != null ? Bokeh[version] : Bokeh);\n if (bokeh != null) {\n return bokeh.register_plugin(modules, entry, aliases);\n } else {\n throw new Error(\"Cannot find Bokeh \" + version + \". You have to load it prior to loading plugins.\");\n }\n })\n ({\n 409: function _(n,c,f,i,o){i(),n(410)},\n 410: function _(t,_,r,e,o){e();const a=t(1);o(\"get_regl\",t(411).get_regl),(0,a.__exportStar)(t(419),r),(0,a.__exportStar)(t(423),r),(0,a.__exportStar)(t(425),r),(0,a.__exportStar)(t(426),r),(0,a.__exportStar)(t(427),r),(0,a.__exportStar)(t(428),r),(0,a.__exportStar)(t(429),r),(0,a.__exportStar)(t(424),r)},\n 411: function _(t,i,e,_,a){_();const r=t(1),o=(0,r.__importDefault)(t(412)),n=t(413),s=(0,r.__importDefault)(t(415)),l=(0,r.__importDefault)(t(416)),p=(0,r.__importDefault)(t(417)),h=(0,r.__importDefault)(t(418));let c;e.get_regl=function(t){return null==c&&(c=new u(t)),c};class u{constructor(t){try{this._regl=(0,o.default)({gl:t,extensions:[\"ANGLE_instanced_arrays\",\"EXT_blend_minmax\"]}),this._regl_available=!0,this._line_geometry=this._regl.buffer({usage:\"static\",type:\"float\",data:[[-2,0],[-1,-1],[1,-1],[2,0],[1,1],[-1,1]]}),this._line_triangles=this._regl.elements({usage:\"static\",primitive:\"triangles\",data:[[0,1,5],[1,2,5],[5,2,4],[2,3,4]]})}catch(t){this._regl_available=!1}}buffer(t){return this._regl.buffer(t)}clear(t,i){this._viewport={x:0,y:0,width:t,height:i},this._regl.clear({color:[0,0,0,0]})}get has_webgl(){return this._regl_available}get scissor(){return this._scissor}set_scissor(t,i,e,_){this._scissor={x:t,y:i,width:e,height:_}}get viewport(){return this._viewport}dashed_line(){return null==this._dashed_line&&(this._dashed_line=function(t,i,e){const _={vert:`#define DASHED\\n\\n${s.default}`,frag:`#define DASHED\\n\\n${l.default}`,attributes:{a_position:{buffer:i,divisor:0},a_point_prev:(t,i)=>i.points.to_attribute_config(),a_point_start:(t,i)=>i.points.to_attribute_config(2*Float32Array.BYTES_PER_ELEMENT),a_point_end:(t,i)=>i.points.to_attribute_config(4*Float32Array.BYTES_PER_ELEMENT),a_point_next:(t,i)=>i.points.to_attribute_config(6*Float32Array.BYTES_PER_ELEMENT),a_show_prev:(t,i)=>i.show.to_attribute_config(),a_show_curr:(t,i)=>i.show.to_attribute_config(Uint8Array.BYTES_PER_ELEMENT),a_show_next:(t,i)=>i.show.to_attribute_config(2*Uint8Array.BYTES_PER_ELEMENT),a_length_so_far:(t,i)=>i.length_so_far.to_attribute_config()},uniforms:{u_canvas_size:t.prop(\"canvas_size\"),u_pixel_ratio:t.prop(\"pixel_ratio\"),u_antialias:t.prop(\"antialias\"),u_line_color:t.prop(\"line_color\"),u_linewidth:t.prop(\"linewidth\"),u_miter_limit:t.prop(\"miter_limit\"),u_line_join:t.prop(\"line_join\"),u_line_cap:t.prop(\"line_cap\"),u_dash_tex:t.prop(\"dash_tex\"),u_dash_tex_info:t.prop(\"dash_tex_info\"),u_dash_scale:t.prop(\"dash_scale\"),u_dash_offset:t.prop(\"dash_offset\")},elements:e,instances:t.prop(\"nsegments\"),blend:{enable:!0,equation:\"max\",func:{srcRGB:1,srcAlpha:1,dstRGB:1,dstAlpha:1}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"scissor\")},viewport:t.prop(\"viewport\")};return t(_)}(this._regl,this._line_geometry,this._line_triangles)),this._dashed_line}get_dash(t){return null==this._dash_cache&&(this._dash_cache=new n.DashCache(this._regl)),this._dash_cache.get(t)}marker_no_hatch(t){null==this._marker_no_hatch_map&&(this._marker_no_hatch_map=new Map);let i=this._marker_no_hatch_map.get(t);return null==i&&(i=function(t,i){const e={vert:p.default,frag:`#define USE_${i.toUpperCase()}\\n${h.default}`,attributes:{a_position:{buffer:t.buffer([[-.5,-.5],[-.5,.5],[.5,.5],[.5,-.5]]),divisor:0},a_center:(t,i)=>i.center.to_attribute_config(),a_width:(t,i)=>i.width.to_attribute_config(),a_height:(t,i)=>i.height.to_attribute_config(),a_angle:(t,i)=>i.angle.to_attribute_config(),a_linewidth:(t,i)=>i.linewidth.to_attribute_config(),a_line_color:(t,i)=>i.line_color.to_attribute_config(),a_fill_color:(t,i)=>i.fill_color.to_attribute_config(),a_line_cap:(t,i)=>i.line_cap.to_attribute_config(),a_line_join:(t,i)=>i.line_join.to_attribute_config(),a_show:(t,i)=>i.show.to_attribute_config()},uniforms:{u_canvas_size:t.prop(\"canvas_size\"),u_pixel_ratio:t.prop(\"pixel_ratio\"),u_antialias:t.prop(\"antialias\"),u_size_hint:t.prop(\"size_hint\")},count:4,primitive:\"triangle fan\",instances:t.prop(\"nmarkers\"),blend:{enable:!0,func:{srcRGB:\"one\",srcAlpha:\"one\",dstRGB:\"one minus src alpha\",dstAlpha:\"one minus src alpha\"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"scissor\")},viewport:t.prop(\"viewport\")};return t(e)}(this._regl,t),this._marker_no_hatch_map.set(t,i)),i}marker_hatch(t){null==this._marker_hatch_map&&(this._marker_hatch_map=new Map);let i=this._marker_hatch_map.get(t);return null==i&&(i=function(t,i){const e={vert:`#define HATCH\\n${p.default}`,frag:`#define USE_${i.toUpperCase()}\\n#define HATCH\\n${h.default}`,attributes:{a_position:{buffer:t.buffer([[-.5,-.5],[-.5,.5],[.5,.5],[.5,-.5]]),divisor:0},a_center:(t,i)=>i.center.to_attribute_config(),a_width:(t,i)=>i.width.to_attribute_config(),a_height:(t,i)=>i.height.to_attribute_config(),a_angle:(t,i)=>i.angle.to_attribute_config(),a_linewidth:(t,i)=>i.linewidth.to_attribute_config(),a_line_color:(t,i)=>i.line_color.to_attribute_config(),a_fill_color:(t,i)=>i.fill_color.to_attribute_config(),a_line_cap:(t,i)=>i.line_cap.to_attribute_config(),a_line_join:(t,i)=>i.line_join.to_attribute_config(),a_show:(t,i)=>i.show.to_attribute_config(),a_hatch_pattern:(t,i)=>i.hatch_pattern.to_attribute_config(),a_hatch_scale:(t,i)=>i.hatch_scale.to_attribute_config(),a_hatch_weight:(t,i)=>i.hatch_weight.to_attribute_config(),a_hatch_color:(t,i)=>i.hatch_color.to_attribute_config()},uniforms:{u_canvas_size:t.prop(\"canvas_size\"),u_pixel_ratio:t.prop(\"pixel_ratio\"),u_antialias:t.prop(\"antialias\"),u_size_hint:t.prop(\"size_hint\")},count:4,primitive:\"triangle fan\",instances:t.prop(\"nmarkers\"),blend:{enable:!0,func:{srcRGB:\"one\",srcAlpha:\"one\",dstRGB:\"one minus src alpha\",dstAlpha:\"one minus src alpha\"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"scissor\")},viewport:t.prop(\"viewport\")};return t(e)}(this._regl,t),this._marker_hatch_map.set(t,i)),i}solid_line(){return null==this._solid_line&&(this._solid_line=function(t,i,e){const _={vert:s.default,frag:l.default,attributes:{a_position:{buffer:i,divisor:0},a_point_prev:(t,i)=>i.points.to_attribute_config(),a_point_start:(t,i)=>i.points.to_attribute_config(2*Float32Array.BYTES_PER_ELEMENT),a_point_end:(t,i)=>i.points.to_attribute_config(4*Float32Array.BYTES_PER_ELEMENT),a_point_next:(t,i)=>i.points.to_attribute_config(6*Float32Array.BYTES_PER_ELEMENT),a_show_prev:(t,i)=>i.show.to_attribute_config(),a_show_curr:(t,i)=>i.show.to_attribute_config(Uint8Array.BYTES_PER_ELEMENT),a_show_next:(t,i)=>i.show.to_attribute_config(2*Uint8Array.BYTES_PER_ELEMENT)},uniforms:{u_canvas_size:t.prop(\"canvas_size\"),u_pixel_ratio:t.prop(\"pixel_ratio\"),u_antialias:t.prop(\"antialias\"),u_line_color:t.prop(\"line_color\"),u_linewidth:t.prop(\"linewidth\"),u_miter_limit:t.prop(\"miter_limit\"),u_line_join:t.prop(\"line_join\"),u_line_cap:t.prop(\"line_cap\")},elements:e,instances:t.prop(\"nsegments\"),blend:{enable:!0,equation:\"max\",func:{srcRGB:1,srcAlpha:1,dstRGB:1,dstAlpha:1}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"scissor\")},viewport:t.prop(\"viewport\")};return t(_)}(this._regl,this._line_geometry,this._line_triangles)),this._solid_line}}e.ReglWrapper=u,u.__name__=\"ReglWrapper\"},\n 412: function _(e,t,r,n,a){var i,o;i=this,o=function(){\"use strict\";var e=function(e){return e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array||e instanceof Uint8ClampedArray},t=function(e,t){for(var r=Object.keys(t),n=0;n=0&&(0|e)===e||n(\"invalid parameter type, (\"+e+\")\"+i(t)+\". must be a nonnegative integer\")},oneOf:f,shaderError:function(e,t,n,i,o){if(!e.getShaderParameter(t,e.COMPILE_STATUS)){var f=e.getShaderInfoLog(t),u=i===e.FRAGMENT_SHADER?\"fragment\":\"vertex\";g(n,\"string\",u+\" shader source must be a string\",o);var c=h(n,o),l=function(e){var t=[];return e.split(\"\\n\").forEach((function(e){if(!(e.length<5)){var r=/^ERROR:\\s+(\\d+):(\\d+):\\s*(.*)$/.exec(e);r?t.push(new d(0|r[1],0|r[2],r[3].trim())):e.length>0&&t.push(new d(\"unknown\",0,e))}})),t}(f);!function(e,t){t.forEach((function(t){var r=e[t.file];if(r){var n=r.index[t.line];if(n)return n.errors.push(t),void(r.hasErrors=!0)}e.unknown.hasErrors=!0,e.unknown.lines[0].errors.push(t)}))}(c,l),Object.keys(c).forEach((function(e){var t=c[e];if(t.hasErrors){var n=[\"\"],a=[\"\"];i(\"file number \"+e+\": \"+t.name+\"\\n\",\"color:red;text-decoration:underline;font-weight:bold\"),t.lines.forEach((function(e){if(e.errors.length>0){i(s(e.number,4)+\"| \",\"background-color:yellow; font-weight:bold\"),i(e.line+r,\"color:red; background-color:yellow; font-weight:bold\");var t=0;e.errors.forEach((function(n){var a=n.message,o=/^\\s*'(.*)'\\s*:\\s*(.*)$/.exec(a);if(o){var f=o[1];a=o[2],\"assign\"===f&&(f=\"=\"),t=Math.max(e.line.indexOf(f,t),0)}else t=0;i(s(\"| \",6)),i(s(\"^^^\",t+3)+r,\"font-weight:bold\"),i(s(\"| \",6)),i(a+r,\"font-weight:bold\")})),i(s(\"| \",6)+r)}else i(s(e.number,4)+\"| \"),i(e.line+r,\"color:red\")})),\"undefined\"==typeof document||window.chrome?console.log(n.join(\"\")):(a[0]=n.join(\"%c\"),console.log.apply(console,a))}function i(e,t){n.push(e),a.push(t||\"\")}})),a.raise(\"Error compiling \"+u+\" shader, \"+c[0].name)}},linkError:function(e,t,n,i,o){if(!e.getProgramParameter(t,e.LINK_STATUS)){var f=e.getProgramInfoLog(t),u=h(n,o),s='Error linking program with vertex shader, \"'+h(i,o)[0].name+'\", and fragment shader \"'+u[0].name+'\"';\"undefined\"!=typeof document?console.log(\"%c\"+s+\"\\n%c\"+f,\"color:red;text-decoration:underline;font-weight:bold\",\"color:red\"):console.log(s+r+f),a.raise(s)}},callSite:p,saveCommandRef:b,saveDrawInfo:function(e,t,r,n){function a(e){return e?n.id(e):0}function i(e,t){Object.keys(t).forEach((function(t){e[n.id(t)]=!0}))}b(e),e._fragId=a(e.static.frag),e._vertId=a(e.static.vert);var o=e._uniformSet={};i(o,t.static),i(o,t.dynamic);var f=e._attributeSet={};i(f,r.static),i(f,r.dynamic),e._hasCount=\"count\"in e.static||\"count\"in e.dynamic||\"elements\"in e.static||\"elements\"in e.dynamic},framebufferFormat:function(e,t,r){e.texture?f(e.texture._texture.internalformat,t,\"unsupported texture format for attachment\"):f(e.renderbuffer._renderbuffer.format,r,\"unsupported renderbuffer format for attachment\")},guessCommand:m,texture2D:function(e,t,r){var n,i=t.width,o=t.height,f=t.channels;a(i>0&&i<=r.maxTextureSize&&o>0&&o<=r.maxTextureSize,\"invalid texture shape\"),e.wrapS===y&&e.wrapT===y||a(A(i)&&A(o),\"incompatible wrap mode for texture, both width and height must be power of 2\"),1===t.mipmask?1!==i&&1!==o&&a(9984!==e.minFilter&&9986!==e.minFilter&&9985!==e.minFilter&&9987!==e.minFilter,\"min filter requires mipmap\"):(a(A(i)&&A(o),\"texture must be a square power of 2 to support mipmapping\"),a(t.mipmask===(i<<1)-1,\"missing or incomplete mipmap data\")),5126===t.type&&(r.extensions.indexOf(\"oes_texture_float_linear\")<0&&a(9728===e.minFilter&&9728===e.magFilter,\"filter not supported, must enable oes_texture_float_linear\"),a(!e.genMipmaps,\"mipmap generation not supported with float textures\"));var u=t.images;for(n=0;n<16;++n)if(u[n]){var s=i>>n,c=o>>n;a(t.mipmask&1<0&&i<=n.maxTextureSize&&o>0&&o<=n.maxTextureSize,\"invalid texture shape\"),a(i===o,\"cube map must be square\"),a(t.wrapS===y&&t.wrapT===y,\"wrap mode not supported by cube map\");for(var u=0;u>l,p=o>>l;a(s.mipmask&1<1&&t===r&&('\"'===t||\"'\"===t))return['\"'+O(e.substr(1,e.length-2))+'\"'];var n=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(e);if(n)return E(e.substr(0,n.index)).concat(E(n[1])).concat(E(e.substr(n.index+n[0].length)));var a=e.split(\".\");if(1===a.length)return['\"'+O(e)+'\"'];for(var i=[],o=0;o0,\"invalid pixel ratio\"))):_.raise(\"invalid arguments to regl\"),r&&(\"canvas\"===r.nodeName.toLowerCase()?a=r:n=r),!i){if(!a){_(\"undefined\"!=typeof document,\"must manually specify webgl context outside of DOM environments\");var h=function(e,r,n){var a,i=document.createElement(\"canvas\");function o(){var t=window.innerWidth,r=window.innerHeight;if(e!==document.body){var a=i.getBoundingClientRect();t=a.right-a.left,r=a.bottom-a.top}i.width=n*t,i.height=n*r}return t(i.style,{border:0,margin:0,padding:0,top:0,left:0,width:\"100%\",height:\"100%\"}),e.appendChild(i),e===document.body&&(i.style.position=\"absolute\",t(e.style,{margin:0,padding:0})),e!==document.body&&\"function\"==typeof ResizeObserver?(a=new ResizeObserver((function(){setTimeout(o)}))).observe(e):window.addEventListener(\"resize\",o,!1),o(),{canvas:i,onDestroy:function(){a?a.disconnect():window.removeEventListener(\"resize\",o),e.removeChild(i)}}}(n||document.body,0,l);if(!h)return null;a=h.canvas,p=h.onDestroy}void 0===u.premultipliedAlpha&&(u.premultipliedAlpha=!0),i=function(e,t){function r(r){try{return e.getContext(r,t)}catch(e){return null}}return r(\"webgl\")||r(\"experimental-webgl\")||r(\"webgl-experimental\")}(a,u)}return i?{gl:i,canvas:a,container:n,extensions:s,optionalExtensions:c,pixelRatio:l,profile:d,onDone:m,onDestroy:p}:(p(),m(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function V(e,t){for(var r=Array(e),n=0;n65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1}function P(){var e=V(8,(function(){return[]}));function t(t){var r=function(e){for(var t=16;t<=1<<28;t*=16)if(e<=t)return t;return 0}(t),n=e[I(r)>>2];return n.length>0?n.pop():new ArrayBuffer(r)}function r(t){e[I(t.byteLength)>>2].push(t)}return{alloc:t,free:r,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(e){r(e.buffer)}}}var L=P();L.zero=P();var R=3553,M=6408,W=5126,U=36160;function G(t){return!!t&&\"object\"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&\"number\"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||e(t.data))}var H=function(e){return Object.keys(e).map((function(t){return e[t]}))},N={shape:function(e){for(var t=[],r=e;r.length;r=r[0])t.push(r.length);return t},flatten:function(e,t,r,n){var a=1;if(t.length)for(var i=0;i>>31<<15,i=(n<<1>>>24)-127,o=n>>13&1023;if(i<-24)t[r]=a;else if(i<-14){var f=-14-i;t[r]=a+(o+1024>>f)}else t[r]=i>15?a+31744:a+(i+15<<10)+o}return t}function me(t){return Array.isArray(t)||e(t)}var pe=function(e){return!(e&e-1||!e)},he=3553,be=34067,ve=34069,ge=6408,ye=6406,xe=6407,we=6409,Ae=6410,_e=32855,ke=6402,Se=34041,Oe=35904,Ee=35906,Te=36193,De=33776,je=33777,Ce=33778,ze=33779,Fe=5121,Be=5123,Ve=5125,Ie=5126,Pe=33071,Le=9728,Re=9984,Me=9987,We=4352,Ue=33984,Ge=[Re,9986,9985,Me],He=[0,we,Ae,xe,ge],Ne={};function qe(e){return\"[object \"+e+\"]\"}Ne[6409]=Ne[6406]=Ne[6402]=1,Ne[34041]=Ne[6410]=2,Ne[6407]=Ne[35904]=3,Ne[6408]=Ne[35906]=4;var Qe=qe(\"HTMLCanvasElement\"),Ye=qe(\"OffscreenCanvas\"),Xe=qe(\"CanvasRenderingContext2D\"),$e=qe(\"ImageBitmap\"),Ke=qe(\"HTMLImageElement\"),Je=qe(\"HTMLVideoElement\"),Ze=Object.keys(Y).concat([Qe,Ye,Xe,$e,Ke,Je]),et=[];et[5121]=1,et[5126]=4,et[36193]=2,et[5123]=2,et[5125]=4;var tt=[];function rt(e){return Array.isArray(e)&&(0===e.length||\"number\"==typeof e[0])}function nt(e){return!!Array.isArray(e)&&!(0===e.length||!me(e[0]))}function at(e){return Object.prototype.toString.call(e)}function it(e){return at(e)===Qe}function ot(e){return at(e)===Ye}function ft(e){if(!e)return!1;var t=at(e);return Ze.indexOf(t)>=0||rt(e)||nt(e)||G(e)}function ut(e){return 0|Y[Object.prototype.toString.call(e)]}function st(e,t){return L.allocType(e.type===Te?Ie:e.type,t)}function ct(e,t){e.type===Te?(e.data=de(t),L.freeType(t)):e.data=t}function lt(e,t,r,n,a,i){var o;if(o=void 0!==tt[e]?tt[e]:Ne[e]*et[t],i&&(o*=6),a){for(var f=0,u=r;u>=1;)f+=o*u*u,u/=2;return f}return o*r*n}function dt(r,n,a,i,o,f,u){var s={\"don't care\":We,\"dont care\":We,nice:4354,fast:4353},c={repeat:10497,clamp:Pe,mirror:33648},l={nearest:Le,linear:9729},d=t({mipmap:Me,\"nearest mipmap nearest\":Re,\"linear mipmap nearest\":9985,\"nearest mipmap linear\":9986,\"linear mipmap linear\":Me},l),m={none:0,browser:37444},p={uint8:Fe,rgba4:32819,rgb565:33635,\"rgb5 a1\":32820},h={alpha:ye,luminance:we,\"luminance alpha\":Ae,rgb:xe,rgba:ge,rgba4:32854,\"rgb5 a1\":_e,rgb565:36194},b={};n.ext_srgb&&(h.srgb=Oe,h.srgba=Ee),n.oes_texture_float&&(p.float32=p.float=Ie),n.oes_texture_half_float&&(p.float16=p[\"half float\"]=Te),n.webgl_depth_texture&&(t(h,{depth:ke,\"depth stencil\":Se}),t(p,{uint16:Be,uint32:Ve,\"depth stencil\":34042})),n.webgl_compressed_texture_s3tc&&t(b,{\"rgb s3tc dxt1\":De,\"rgba s3tc dxt1\":je,\"rgba s3tc dxt3\":Ce,\"rgba s3tc dxt5\":ze}),n.webgl_compressed_texture_atc&&t(b,{\"rgb atc\":35986,\"rgba atc explicit alpha\":35987,\"rgba atc interpolated alpha\":34798}),n.webgl_compressed_texture_pvrtc&&t(b,{\"rgb pvrtc 4bppv1\":35840,\"rgb pvrtc 2bppv1\":35841,\"rgba pvrtc 4bppv1\":35842,\"rgba pvrtc 2bppv1\":35843}),n.webgl_compressed_texture_etc1&&(b[\"rgb etc1\"]=36196);var v=Array.prototype.slice.call(r.getParameter(34467));Object.keys(b).forEach((function(e){var t=b[e];v.indexOf(t)>=0&&(h[e]=t)}));var g=Object.keys(h);a.textureFormats=g;var y=[];Object.keys(h).forEach((function(e){var t=h[e];y[t]=e}));var x=[];Object.keys(p).forEach((function(e){var t=p[e];x[t]=e}));var w=[];Object.keys(l).forEach((function(e){w[l[e]]=e}));var A=[];Object.keys(d).forEach((function(e){var t=d[e];A[t]=e}));var k=[];Object.keys(c).forEach((function(e){k[c[e]]=e}));var S=g.reduce((function(e,t){var r=h[t];return r===we||r===ye||r===we||r===Ae||r===ke||r===Se||n.ext_srgb&&(r===Oe||r===Ee)?e[r]=r:r===_e||t.indexOf(\"rgba\")>=0?e[r]=ge:e[r]=xe,e}),{});function O(){this.internalformat=ge,this.format=ge,this.type=Fe,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=37444,this.width=0,this.height=0,this.channels=0}function E(e,t){e.internalformat=t.internalformat,e.format=t.format,e.type=t.type,e.compressed=t.compressed,e.premultiplyAlpha=t.premultiplyAlpha,e.flipY=t.flipY,e.unpackAlignment=t.unpackAlignment,e.colorSpace=t.colorSpace,e.width=t.width,e.height=t.height,e.channels=t.channels}function T(e,t){if(\"object\"==typeof t&&t){if(\"premultiplyAlpha\"in t&&(_.type(t.premultiplyAlpha,\"boolean\",\"invalid premultiplyAlpha\"),e.premultiplyAlpha=t.premultiplyAlpha),\"flipY\"in t&&(_.type(t.flipY,\"boolean\",\"invalid texture flip\"),e.flipY=t.flipY),\"alignment\"in t&&(_.oneOf(t.alignment,[1,2,4,8],\"invalid texture unpack alignment\"),e.unpackAlignment=t.alignment),\"colorSpace\"in t&&(_.parameter(t.colorSpace,m,\"invalid colorSpace\"),e.colorSpace=m[t.colorSpace]),\"type\"in t){var r=t.type;_(n.oes_texture_float||!(\"float\"===r||\"float32\"===r),\"you must enable the OES_texture_float extension in order to use floating point textures.\"),_(n.oes_texture_half_float||!(\"half float\"===r||\"float16\"===r),\"you must enable the OES_texture_half_float extension in order to use 16-bit floating point textures.\"),_(n.webgl_depth_texture||!(\"uint16\"===r||\"uint32\"===r||\"depth stencil\"===r),\"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures.\"),_.parameter(r,p,\"invalid texture type\"),e.type=p[r]}var i=e.width,o=e.height,f=e.channels,u=!1;\"shape\"in t?(_(Array.isArray(t.shape)&&t.shape.length>=2,\"shape must be an array\"),i=t.shape[0],o=t.shape[1],3===t.shape.length&&(f=t.shape[2],_(f>0&&f<=4,\"invalid number of channels\"),u=!0),_(i>=0&&i<=a.maxTextureSize,\"invalid width\"),_(o>=0&&o<=a.maxTextureSize,\"invalid height\")):(\"radius\"in t&&(i=o=t.radius,_(i>=0&&i<=a.maxTextureSize,\"invalid radius\")),\"width\"in t&&(i=t.width,_(i>=0&&i<=a.maxTextureSize,\"invalid width\")),\"height\"in t&&(o=t.height,_(o>=0&&o<=a.maxTextureSize,\"invalid height\")),\"channels\"in t&&(f=t.channels,_(f>0&&f<=4,\"invalid number of channels\"),u=!0)),e.width=0|i,e.height=0|o,e.channels=0|f;var s=!1;if(\"format\"in t){var c=t.format;_(n.webgl_depth_texture||!(\"depth\"===c||\"depth stencil\"===c),\"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures.\"),_.parameter(c,h,\"invalid texture format\");var l=e.internalformat=h[c];e.format=S[l],c in p&&(\"type\"in t||(e.type=p[c])),c in b&&(e.compressed=!0),s=!0}!u&&s?e.channels=Ne[e.format]:u&&!s?e.channels!==He[e.format]&&(e.format=e.internalformat=He[e.channels]):s&&u&&_(e.channels===Ne[e.format],\"number of channels inconsistent with specified format\")}}function D(e){r.pixelStorei(37440,e.flipY),r.pixelStorei(37441,e.premultiplyAlpha),r.pixelStorei(37443,e.colorSpace),r.pixelStorei(3317,e.unpackAlignment)}function j(){O.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function C(t,r){var n=null;if(ft(r)?n=r:r&&(_.type(r,\"object\",\"invalid pixel data type\"),T(t,r),\"x\"in r&&(t.xOffset=0|r.x),\"y\"in r&&(t.yOffset=0|r.y),ft(r.data)&&(n=r.data)),_(!t.compressed||n instanceof Uint8Array,\"compressed texture data must be stored in a uint8array\"),r.copy){_(!n,\"can not specify copy and data field for the same texture\");var i=o.viewportWidth,f=o.viewportHeight;t.width=t.width||i-t.xOffset,t.height=t.height||f-t.yOffset,t.needsCopy=!0,_(t.xOffset>=0&&t.xOffset=0&&t.yOffset0&&t.width<=i&&t.height>0&&t.height<=f,\"copy texture read out of bounds\")}else if(n){if(e(n))t.channels=t.channels||4,t.data=n,\"type\"in r||t.type!==Fe||(t.type=ut(n));else if(rt(n))t.channels=t.channels||4,function(e,t){var r=t.length;switch(e.type){case Fe:case Be:case Ve:case Ie:var n=L.allocType(e.type,r);n.set(t),e.data=n;break;case Te:e.data=de(t);break;default:_.raise(\"unsupported texture type, must specify a typed array\")}}(t,n),t.alignment=1,t.needsFree=!0;else if(G(n)){var u=n.data;Array.isArray(u)||t.type!==Fe||(t.type=ut(u));var s,c,l,d,m,p,h=n.shape,b=n.stride;3===h.length?(l=h[2],p=b[2]):(_(2===h.length,\"invalid ndarray pixel data, must be 2 or 3D\"),l=1,p=1),s=h[0],c=h[1],d=b[0],m=b[1],t.alignment=1,t.width=s,t.height=c,t.channels=l,t.format=t.internalformat=He[l],t.needsFree=!0,function(e,t,r,n,a,i){for(var o=e.width,f=e.height,u=e.channels,s=st(e,o*f*u),c=0,l=0;l=0,\"oes_texture_float extension not enabled\"):t.type===Te&&_(a.extensions.indexOf(\"oes_texture_half_float\")>=0,\"oes_texture_half_float extension not enabled\")}function z(e,t,n){var a=e.element,o=e.data,f=e.internalformat,u=e.format,s=e.type,c=e.width,l=e.height;D(e),a?r.texImage2D(t,n,u,u,s,a):e.compressed?r.compressedTexImage2D(t,n,f,c,l,0,o):e.needsCopy?(i(),r.copyTexImage2D(t,n,u,e.xOffset,e.yOffset,c,l,0)):r.texImage2D(t,n,u,c,l,0,u,s,o||null)}function F(e,t,n,a,o){var f=e.element,u=e.data,s=e.internalformat,c=e.format,l=e.type,d=e.width,m=e.height;D(e),f?r.texSubImage2D(t,o,n,a,c,l,f):e.compressed?r.compressedTexSubImage2D(t,o,n,a,s,d,m,u):e.needsCopy?(i(),r.copyTexSubImage2D(t,o,n,a,e.xOffset,e.yOffset,d,m)):r.texSubImage2D(t,o,n,a,d,m,c,l,u)}var B=[];function V(){return B.pop()||new j}function I(e){e.needsFree&&L.freeType(e.data),j.call(e),B.push(e)}function P(){O.call(this),this.genMipmaps=!1,this.mipmapHint=We,this.mipmask=0,this.images=Array(16)}function R(e,t,r){var n=e.images[0]=V();e.mipmask=1,n.width=e.width=t,n.height=e.height=r,n.channels=e.channels=4}function M(e,t){var r=null;if(ft(t))E(r=e.images[0]=V(),e),C(r,t),e.mipmask=1;else if(T(e,t),Array.isArray(t.mipmap))for(var n=t.mipmap,a=0;a>=a,r.height>>=a,C(r,n[a]),e.mipmask|=1<=0&&!(\"faces\"in t)&&(e.genMipmaps=!0)}if(\"mag\"in t){var n=t.mag;_.parameter(n,l),e.magFilter=l[n]}var i=e.wrapS,o=e.wrapT;if(\"wrap\"in t){var f=t.wrap;\"string\"==typeof f?(_.parameter(f,c),i=o=c[f]):Array.isArray(f)&&(_.parameter(f[0],c),_.parameter(f[1],c),i=c[f[0]],o=c[f[1]])}else{if(\"wrapS\"in t){var u=t.wrapS;_.parameter(u,c),i=c[u]}if(\"wrapT\"in t){var m=t.wrapT;_.parameter(m,c),o=c[m]}}if(e.wrapS=i,e.wrapT=o,\"anisotropic\"in t){var p=t.anisotropic;_(\"number\"==typeof p&&p>=1&&p<=a.maxAnisotropic,\"aniso samples must be between 1 and \"),e.anisotropic=t.anisotropic}if(\"mipmap\"in t){var h=!1;switch(typeof t.mipmap){case\"string\":_.parameter(t.mipmap,s,\"invalid mipmap hint\"),e.mipmapHint=s[t.mipmap],e.genMipmaps=!0,h=!0;break;case\"boolean\":h=e.genMipmaps=t.mipmap;break;case\"object\":_(Array.isArray(t.mipmap),\"invalid mipmap type\"),e.genMipmaps=!1,h=!0;break;default:_.raise(\"invalid mipmap type\")}h&&!(\"min\"in t)&&(e.minFilter=Re)}}function $(e,t){r.texParameteri(t,10241,e.minFilter),r.texParameteri(t,10240,e.magFilter),r.texParameteri(t,10242,e.wrapS),r.texParameteri(t,10243,e.wrapT),n.ext_texture_filter_anisotropic&&r.texParameteri(t,34046,e.anisotropic),e.genMipmaps&&(r.hint(33170,e.mipmapHint),r.generateMipmap(t))}var K=0,J={},Z=a.maxTextureUnits,ee=Array(Z).map((function(){return null}));function te(e){O.call(this),this.mipmask=0,this.internalformat=ge,this.id=K++,this.refCount=1,this.target=e,this.texture=r.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new Y,u.profile&&(this.stats={size:0})}function re(e){r.activeTexture(Ue),r.bindTexture(e.target,e.texture)}function ne(){var e=ee[0];e?r.bindTexture(e.target,e.texture):r.bindTexture(he,null)}function ae(e){var t=e.texture;_(t,\"must not double destroy texture\");var n=e.unit,a=e.target;n>=0&&(r.activeTexture(Ue+n),r.bindTexture(a,null),ee[n]=null),r.deleteTexture(t),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete J[e.id],f.textureCount--}return t(te.prototype,{bind:function(){var e=this;e.bindCount+=1;var t=e.unit;if(t<0){for(var n=0;n0)continue;a.unit=-1}ee[n]=e,t=n;break}t>=Z&&_.raise(\"insufficient number of texture units\"),u.profile&&f.maxTextureUnits>u)-o,s.height=s.height||(n.height>>u)-f,_(n.type===s.type&&n.format===s.format&&n.internalformat===s.internalformat,\"incompatible format for texture.subimage\"),_(o>=0&&f>=0&&o+s.width<=n.width&&f+s.height<=n.height,\"texture.subimage write out of bounds\"),_(n.mipmask&1<>f;++f){var s=a>>f,c=o>>f;if(!s||!c)break;r.texImage2D(he,f,n.format,s,c,0,n.format,n.type,null)}return ne(),u.profile&&(n.stats.size=lt(n.internalformat,n.type,a,o,!1,!1)),i},i._reglType=\"texture2d\",i._texture=n,u.profile&&(i.stats=n.stats),i.destroy=function(){n.decRef()},i},createCube:function(e,t,n,i,o,s){var c=new te(be);J[c.id]=c,f.cubeCount++;var l=new Array(6);function d(e,t,r,n,i,o){var f,s=c.texInfo;for(Y.call(s),f=0;f<6;++f)l[f]=q();if(\"number\"!=typeof e&&e)if(\"object\"==typeof e)if(t)M(l[0],e),M(l[1],t),M(l[2],r),M(l[3],n),M(l[4],i),M(l[5],o);else if(X(s,e),T(c,e),\"faces\"in e){var m=e.faces;for(_(Array.isArray(m)&&6===m.length,\"cube faces must be a length 6 array\"),f=0;f<6;++f)_(\"object\"==typeof m[f]&&!!m[f],\"invalid input for cube map face\"),E(l[f],c),M(l[f],m[f])}else for(f=0;f<6;++f)M(l[f],e);else _.raise(\"invalid arguments to cube map\");else{var p=0|e||1;for(f=0;f<6;++f)R(l[f],p,p)}for(E(c,l[0]),_.optional((function(){a.npotTextureCube||_(pe(c.width)&&pe(c.height),\"your browser does not support non power or two texture dimensions\")})),s.genMipmaps?c.mipmask=(l[0].width<<1)-1:c.mipmask=l[0].mipmask,_.textureCube(c,s,l,a),c.internalformat=l[0].internalformat,d.width=l[0].width,d.height=l[0].height,re(c),f=0;f<6;++f)W(l[f],ve+f);for($(s,be),ne(),u.profile&&(c.stats.size=lt(c.internalformat,c.type,d.width,d.height,s.genMipmaps,!0)),d.format=y[c.internalformat],d.type=x[c.type],d.mag=w[s.magFilter],d.min=A[s.minFilter],d.wrapS=k[s.wrapS],d.wrapT=k[s.wrapT],f=0;f<6;++f)Q(l[f]);return d}return d(e,t,n,i,o,s),d.subimage=function(e,t,r,n,a){_(!!t,\"must specify image data\"),_(\"number\"==typeof e&&e===(0|e)&&e>=0&&e<6,\"invalid face\");var i=0|r,o=0|n,f=0|a,u=V();return E(u,c),u.width=0,u.height=0,C(u,t),u.width=u.width||(c.width>>f)-i,u.height=u.height||(c.height>>f)-o,_(c.type===u.type&&c.format===u.format&&c.internalformat===u.internalformat,\"incompatible format for texture.subimage\"),_(i>=0&&o>=0&&i+u.width<=c.width&&o+u.height<=c.height,\"texture.subimage write out of bounds\"),_(c.mipmask&1<>a;++a)r.texImage2D(ve+n,a,c.format,t>>a,t>>a,0,c.format,c.type,null);return ne(),u.profile&&(c.stats.size=lt(c.internalformat,c.type,d.width,d.height,!1,!0)),d}},d._reglType=\"textureCube\",d._texture=c,u.profile&&(d.stats=c.stats),d.destroy=function(){c.decRef()},d},clear:function(){for(var e=0;e>t,e.height>>t,0,e.internalformat,e.type,null);else for(var n=0;n<6;++n)r.texImage2D(ve+n,t,e.internalformat,e.width>>t,e.height>>t,0,e.internalformat,e.type,null);$(e.texInfo,e.target)}))},refresh:function(){for(var e=0;e=0&&c=0&&l0&&d+c<=a.framebufferWidth,\"invalid width for read pixels\"),_(m>0&&m+l<=a.framebufferHeight,\"invalid height for read pixels\"),n();var h=d*m*4;return p||(s===Dt?p=new Uint8Array(h):s===jt&&(p=p||new Float32Array(h))),_.isTypedArray(p,\"data buffer for regl.read() must be a typedarray\"),_(p.byteLength>=h,\"data buffer for regl.read() too small\"),t.pixelStorei(3333,4),t.readPixels(c,l,d,m,6408,s,p),p}return function(e){return e&&\"framebuffer\"in e?function(e){var t;return r.setFBO({framebuffer:e.framebuffer},(function(){t=u(e)})),t}(e):u(e)}}function zt(e){return Array.prototype.slice.call(e)}function Ft(e){return zt(e).join(\"\")}var Bt=\"xyzw\".split(\"\"),Vt=\"dither\",It=\"blend.enable\",Pt=\"blend.color\",Lt=\"blend.equation\",Rt=\"blend.func\",Mt=\"depth.enable\",Wt=\"depth.func\",Ut=\"depth.range\",Gt=\"depth.mask\",Ht=\"colorMask\",Nt=\"cull.enable\",qt=\"cull.face\",Qt=\"frontFace\",Yt=\"lineWidth\",Xt=\"polygonOffset.enable\",$t=\"polygonOffset.offset\",Kt=\"sample.alpha\",Jt=\"sample.enable\",Zt=\"sample.coverage\",er=\"stencil.enable\",tr=\"stencil.mask\",rr=\"stencil.func\",nr=\"stencil.opFront\",ar=\"stencil.opBack\",ir=\"scissor.enable\",or=\"scissor.box\",fr=\"viewport\",ur=\"profile\",sr=\"framebuffer\",cr=\"vert\",lr=\"frag\",dr=\"elements\",mr=\"primitive\",pr=\"count\",hr=\"offset\",br=\"instances\",vr=\"vao\",gr=\"Width\",yr=\"Height\",xr=sr+gr,wr=sr+yr,Ar=\"drawingBufferWidth\",_r=\"drawingBufferHeight\",kr=[Rt,Lt,rr,nr,ar,Zt,fr,or,$t],Sr=34962,Or=34963,Er=5126,Tr=35664,Dr=35665,jr=35666,Cr=5124,zr=35667,Fr=35668,Br=35669,Vr=35670,Ir=35671,Pr=35672,Lr=35673,Rr=35674,Mr=35675,Wr=35676,Ur=35678,Gr=35680,Hr=1028,Nr=1029,qr=2305,Qr=7680,Yr={0:0,1:1,zero:0,one:1,\"src color\":768,\"one minus src color\":769,\"src alpha\":770,\"one minus src alpha\":771,\"dst color\":774,\"one minus dst color\":775,\"dst alpha\":772,\"one minus dst alpha\":773,\"constant color\":32769,\"one minus constant color\":32770,\"constant alpha\":32771,\"one minus constant alpha\":32772,\"src alpha saturate\":776},Xr=[\"constant color, constant alpha\",\"one minus constant color, constant alpha\",\"constant color, one minus constant alpha\",\"one minus constant color, one minus constant alpha\",\"constant alpha, constant color\",\"constant alpha, one minus constant color\",\"one minus constant alpha, constant color\",\"one minus constant alpha, one minus constant color\"],$r={never:512,less:513,\"<\":513,equal:514,\"=\":514,\"==\":514,\"===\":514,lequal:515,\"<=\":515,greater:516,\">\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},Kr={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},Jr={frag:35632,vert:35633},Zr={cw:2304,ccw:qr};function en(t){return Array.isArray(t)||e(t)||G(t)}function tn(e){return e.sort((function(e,t){return e===fr?-1:t===fr?1:e=1,n>=2,t)}if(4===r){var a=e.data;return new rn(a.thisDep,a.contextDep,a.propDep,t)}if(5===r)return new rn(!1,!1,!1,t);if(6===r){for(var i=!1,o=!1,f=!1,u=0;u=1&&(o=!0),c>=2&&(f=!0)}else 4===s.type&&(i=i||s.data.thisDep,o=o||s.data.contextDep,f=f||s.data.propDep)}return new rn(i,o,f,t)}return new rn(3===r,2===r,1===r,t)}var fn=new rn(!1,!1,!1,(function(){}));function un(e,r,n,a,i,o,f,u,s,c,l,d,m,p,h){var b=c.Record,v={add:32774,subtract:32778,\"reverse subtract\":32779};n.ext_blend_minmax&&(v.min=32775,v.max=32776);var g=n.angle_instanced_arrays,y=n.webgl_draw_buffers,x=n.oes_vertex_array_object,w={dirty:!0,profile:h.profile},A={},k=[],S={},O={};function E(e){return e.replace(\".\",\"_\")}function T(e,t,r){var n=E(e);k.push(e),A[n]=w[n]=!!r,S[n]=t}function j(e,t,r){var n=E(e);k.push(e),Array.isArray(r)?(w[n]=r.slice(),A[n]=r.slice()):w[n]=A[n]=r,O[n]=t}T(Vt,3024),T(It,3042),j(Pt,\"blendColor\",[0,0,0,0]),j(Lt,\"blendEquationSeparate\",[32774,32774]),j(Rt,\"blendFuncSeparate\",[1,0,1,0]),T(Mt,2929,!0),j(Wt,\"depthFunc\",513),j(Ut,\"depthRange\",[0,1]),j(Gt,\"depthMask\",!0),j(Ht,Ht,[!0,!0,!0,!0]),T(Nt,2884),j(qt,\"cullFace\",Nr),j(Qt,Qt,qr),j(Yt,Yt,1),T(Xt,32823),j($t,\"polygonOffset\",[0,0]),T(Kt,32926),T(Jt,32928),j(Zt,\"sampleCoverage\",[1,!1]),T(er,2960),j(tr,\"stencilMask\",-1),j(rr,\"stencilFunc\",[519,0,-1]),j(nr,\"stencilOpSeparate\",[Hr,Qr,Qr,Qr]),j(ar,\"stencilOpSeparate\",[Nr,Qr,Qr,Qr]),T(ir,3089),j(or,\"scissor\",[0,0,e.drawingBufferWidth,e.drawingBufferHeight]),j(fr,fr,[0,0,e.drawingBufferWidth,e.drawingBufferHeight]);var C={gl:e,context:m,strings:r,next:A,current:w,draw:d,elements:o,buffer:i,shader:l,attributes:c.state,vao:c,uniforms:s,framebuffer:u,extensions:n,timer:p,isBufferArgs:en},z={primTypes:ie,compareFuncs:$r,blendFuncs:Yr,blendEquations:v,stencilOps:Kr,glTypes:X,orientationType:Zr};_.optional((function(){C.isArrayLike=me})),y&&(z.backBuffer=[Nr],z.drawBuffer=V(a.maxDrawbuffers,(function(e){return 0===e?[0]:V(e,(function(e){return 36064+e}))})));var F=0;function B(){var e=function(){var e=0,r=[],n=[];function a(){var r=[],n=[];return t((function(){r.push.apply(r,zt(arguments))}),{def:function(){var t=\"v\"+e++;return n.push(t),arguments.length>0&&(r.push(t,\"=\"),r.push.apply(r,zt(arguments)),r.push(\";\")),t},toString:function(){return Ft([n.length>0?\"var \"+n.join(\",\")+\";\":\"\",Ft(r)])}})}function i(){var e=a(),r=a(),n=e.toString,i=r.toString;function o(t,n){r(t,n,\"=\",e.def(t,n),\";\")}return t((function(){e.apply(e,zt(arguments))}),{def:e.def,entry:e,exit:r,save:o,set:function(t,r,n){o(t,r),e(t,r,\"=\",n,\";\")},toString:function(){return n()+i()}})}var o=a(),f={};return{global:o,link:function(t){for(var a=0;a=0,'unknown parameter \"'+t+'\"',d.commandStr)}))}t(m),t(p)}));var h=function(e,t){var r=e.static;if(\"string\"==typeof r[lr]&&\"string\"==typeof r[cr]){if(Object.keys(t.dynamic).length>0)return null;var n=t.static,a=Object.keys(n);if(a.length>0&&\"number\"==typeof n[a[0]]){for(var i=[],o=0;o=0,\"invalid \"+e,r.commandStr)):u=!1,\"height\"in i?(f=0|i.height,_.command(f>=0,\"invalid \"+e,r.commandStr)):u=!1,new rn(!u&&t&&t.thisDep,!u&&t&&t.contextDep,!u&&t&&t.propDep,(function(e,t){var r=e.shared.context,n=o;\"width\"in i||(n=t.def(r,\".\",xr,\"-\",s));var a=f;return\"height\"in i||(a=t.def(r,\".\",wr,\"-\",c)),[s,c,n,a]}))}if(e in a){var l=a[e],d=on(l,(function(t,r){var n=t.invoke(r,l);_.optional((function(){t.assert(r,n+\"&&typeof \"+n+'===\"object\"',\"invalid \"+e)}));var a=t.shared.context,i=r.def(n,\".x|0\"),o=r.def(n,\".y|0\"),f=r.def('\"width\" in ',n,\"?\",n,\".width|0:\",\"(\",a,\".\",xr,\"-\",i,\")\"),u=r.def('\"height\" in ',n,\"?\",n,\".height|0:\",\"(\",a,\".\",wr,\"-\",o,\")\");return _.optional((function(){t.assert(r,f+\">=0&&\"+u+\">=0\",\"invalid \"+e)})),[i,o,f,u]}));return t&&(d.thisDep=d.thisDep||t.thisDep,d.contextDep=d.contextDep||t.contextDep,d.propDep=d.propDep||t.propDep),d}return t?new rn(t.thisDep,t.contextDep,t.propDep,(function(e,t){var r=e.shared.context;return[0,0,t.def(r,\".\",xr),t.def(r,\".\",wr)]})):null}var o=i(fr);if(o){var f=o;o=new rn(o.thisDep,o.contextDep,o.propDep,(function(e,t){var r=f.append(e,t),n=e.shared.context;return t.set(n,\".viewportWidth\",r[2]),t.set(n,\".viewportHeight\",r[3]),r}))}return{viewport:o,scissor_box:i(or)}}(e,y,d),w=function(e,t){var r=e.static,n=e.dynamic,a={},i=!1,f=function(){if(vr in r){var e=r[vr];return null!==e&&null===c.getVAO(e)&&(e=c.createVAO(e)),i=!0,a.vao=e,an((function(t){var r=c.getVAO(e);return r?t.link(r):\"null\"}))}if(vr in n){i=!0;var t=n[vr];return on(t,(function(e,r){var n=e.invoke(r,t);return r.def(e.shared.vao+\".getVAO(\"+n+\")\")}))}return null}(),u=!1,s=function(){if(dr in r){var e=r[dr];if(a.elements=e,en(e)){var s=a.elements=o.create(e,!0);e=o.getElements(s),u=!0}else e&&(e=o.getElements(e),u=!0,_.command(e,\"invalid elements\",t.commandStr));var c=an((function(t,r){if(e){var n=t.link(e);return t.ELEMENTS=n,n}return t.ELEMENTS=null,null}));return c.value=e,c}if(dr in n){u=!0;var l=n[dr];return on(l,(function(e,t){var r=e.shared,n=r.isBufferArgs,a=r.elements,i=e.invoke(t,l),o=t.def(\"null\"),f=t.def(n,\"(\",i,\")\"),u=e.cond(f).then(o,\"=\",a,\".createStream(\",i,\");\").else(o,\"=\",a,\".getElements(\",i,\");\");return _.optional((function(){e.assert(u.else,\"!\"+i+\"||\"+o,\"invalid elements\")})),t.entry(u),t.exit(e.cond(f).then(a,\".destroyStream(\",o,\");\")),e.ELEMENTS=o,o}))}return i?new rn(f.thisDep,f.contextDep,f.propDep,(function(e,t){return t.def(e.shared.vao+\".currentVAO?\"+e.shared.elements+\".getElements(\"+e.shared.vao+\".currentVAO.elements):null\")})):null}();function l(e,o){if(e in r){var s=0|r[e];return o?a.offset=s:a.instances=s,_.command(!o||s>=0,\"invalid \"+e,t.commandStr),an((function(e,t){return o&&(e.OFFSET=s),s}))}if(e in n){var c=n[e];return on(c,(function(t,r){var n=t.invoke(r,c);return o&&(t.OFFSET=n,_.optional((function(){t.assert(r,n+\">=0\",\"invalid \"+e)}))),n}))}if(o){if(u)return an((function(e,t){return e.OFFSET=0,0}));if(i)return new rn(f.thisDep,f.contextDep,f.propDep,(function(e,t){return t.def(e.shared.vao+\".currentVAO?\"+e.shared.vao+\".currentVAO.offset:0\")}))}else if(i)return new rn(f.thisDep,f.contextDep,f.propDep,(function(e,t){return t.def(e.shared.vao+\".currentVAO?\"+e.shared.vao+\".currentVAO.instances:-1\")}));return null}var d=l(hr,!0),m=function(){if(mr in r){var e=r[mr];return a.primitive=e,_.commandParameter(e,ie,\"invalid primitve\",t.commandStr),an((function(t,r){return ie[e]}))}if(mr in n){var o=n[mr];return on(o,(function(e,t){var r=e.constants.primTypes,n=e.invoke(t,o);return _.optional((function(){e.assert(t,n+\" in \"+r,\"invalid primitive, must be one of \"+Object.keys(ie))})),t.def(r,\"[\",n,\"]\")}))}return u?nn(s)?s.value?an((function(e,t){return t.def(e.ELEMENTS,\".primType\")})):an((function(){return 4})):new rn(s.thisDep,s.contextDep,s.propDep,(function(e,t){var r=e.ELEMENTS;return t.def(r,\"?\",r,\".primType:\",4)})):i?new rn(f.thisDep,f.contextDep,f.propDep,(function(e,t){return t.def(e.shared.vao+\".currentVAO?\"+e.shared.vao+\".currentVAO.primitive:4\")})):null}(),p=function(){if(pr in r){var e=0|r[pr];return a.count=e,_.command(\"number\"==typeof e&&e>=0,\"invalid vertex count\",t.commandStr),an((function(){return e}))}if(pr in n){var o=n[pr];return on(o,(function(e,t){var r=e.invoke(t,o);return _.optional((function(){e.assert(t,\"typeof \"+r+'===\"number\"&&'+r+\">=0&&\"+r+\"===(\"+r+\"|0)\",\"invalid vertex count\")})),r}))}if(u){if(nn(s)){if(s)return d?new rn(d.thisDep,d.contextDep,d.propDep,(function(e,t){var r=t.def(e.ELEMENTS,\".vertCount-\",e.OFFSET);return _.optional((function(){e.assert(t,r+\">=0\",\"invalid vertex offset/element buffer too small\")})),r})):an((function(e,t){return t.def(e.ELEMENTS,\".vertCount\")}));var c=an((function(){return-1}));return _.optional((function(){c.MISSING=!0})),c}var l=new rn(s.thisDep||d.thisDep,s.contextDep||d.contextDep,s.propDep||d.propDep,(function(e,t){var r=e.ELEMENTS;return e.OFFSET?t.def(r,\"?\",r,\".vertCount-\",e.OFFSET,\":-1\"):t.def(r,\"?\",r,\".vertCount:-1\")}));return _.optional((function(){l.DYNAMIC=!0})),l}if(i){var m=new rn(f.thisDep,f.contextDep,f.propDep,(function(e,t){return t.def(e.shared.vao,\".currentVAO?\",e.shared.vao,\".currentVAO.count:-1\")}));return m}return null}(),h=l(br,!1);return{elements:s,primitive:m,count:p,instances:h,offset:d,vao:f,vaoActive:i,elementsActive:u,static:a}}(e,d),A=function(e,t){var r=e.static,n=e.dynamic,i={};return k.forEach((function(e){var o=E(e);function f(t,a){if(e in r){var f=t(r[e]);i[o]=an((function(){return f}))}else if(e in n){var u=n[e];i[o]=on(u,(function(e,t){return a(e,t,e.invoke(t,u))}))}}switch(e){case Nt:case It:case Vt:case er:case Mt:case ir:case Xt:case Kt:case Jt:case Gt:return f((function(r){return _.commandType(r,\"boolean\",e,t.commandStr),r}),(function(t,r,n){return _.optional((function(){t.assert(r,\"typeof \"+n+'===\"boolean\"',\"invalid flag \"+e,t.commandStr)})),n}));case Wt:return f((function(r){return _.commandParameter(r,$r,\"invalid \"+e,t.commandStr),$r[r]}),(function(t,r,n){var a=t.constants.compareFuncs;return _.optional((function(){t.assert(r,n+\" in \"+a,\"invalid \"+e+\", must be one of \"+Object.keys($r))})),r.def(a,\"[\",n,\"]\")}));case Ut:return f((function(e){return _.command(me(e)&&2===e.length&&\"number\"==typeof e[0]&&\"number\"==typeof e[1]&&e[0]<=e[1],\"depth range is 2d array\",t.commandStr),e}),(function(e,t,r){return _.optional((function(){e.assert(t,e.shared.isArrayLike+\"(\"+r+\")&&\"+r+\".length===2&&typeof \"+r+'[0]===\"number\"&&typeof '+r+'[1]===\"number\"&&'+r+\"[0]<=\"+r+\"[1]\",\"depth range must be a 2d array\")})),[t.def(\"+\",r,\"[0]\"),t.def(\"+\",r,\"[1]\")]}));case Rt:return f((function(e){_.commandType(e,\"object\",\"blend.func\",t.commandStr);var r=\"srcRGB\"in e?e.srcRGB:e.src,n=\"srcAlpha\"in e?e.srcAlpha:e.src,a=\"dstRGB\"in e?e.dstRGB:e.dst,i=\"dstAlpha\"in e?e.dstAlpha:e.dst;return _.commandParameter(r,Yr,o+\".srcRGB\",t.commandStr),_.commandParameter(n,Yr,o+\".srcAlpha\",t.commandStr),_.commandParameter(a,Yr,o+\".dstRGB\",t.commandStr),_.commandParameter(i,Yr,o+\".dstAlpha\",t.commandStr),_.command(-1===Xr.indexOf(r+\", \"+a),\"unallowed blending combination (srcRGB, dstRGB) = (\"+r+\", \"+a+\")\",t.commandStr),[Yr[r],Yr[a],Yr[n],Yr[i]]}),(function(t,r,n){var a=t.constants.blendFuncs;function i(i,o){var f=r.def('\"',i,o,'\" in ',n,\"?\",n,\".\",i,o,\":\",n,\".\",i);return _.optional((function(){t.assert(r,f+\" in \"+a,\"invalid \"+e+\".\"+i+o+\", must be one of \"+Object.keys(Yr))})),f}_.optional((function(){t.assert(r,n+\"&&typeof \"+n+'===\"object\"',\"invalid blend func, must be an object\")}));var o=i(\"src\",\"RGB\"),f=i(\"dst\",\"RGB\");_.optional((function(){var e=t.constants.invalidBlendCombinations;t.assert(r,e+\".indexOf(\"+o+'+\", \"+'+f+\") === -1 \",\"unallowed blending combination for (srcRGB, dstRGB)\")}));var u=r.def(a,\"[\",o,\"]\"),s=r.def(a,\"[\",i(\"src\",\"Alpha\"),\"]\");return[u,r.def(a,\"[\",f,\"]\"),s,r.def(a,\"[\",i(\"dst\",\"Alpha\"),\"]\")]}));case Lt:return f((function(r){return\"string\"==typeof r?(_.commandParameter(r,v,\"invalid \"+e,t.commandStr),[v[r],v[r]]):\"object\"==typeof r?(_.commandParameter(r.rgb,v,e+\".rgb\",t.commandStr),_.commandParameter(r.alpha,v,e+\".alpha\",t.commandStr),[v[r.rgb],v[r.alpha]]):void _.commandRaise(\"invalid blend.equation\",t.commandStr)}),(function(t,r,n){var a=t.constants.blendEquations,i=r.def(),o=r.def(),f=t.cond(\"typeof \",n,'===\"string\"');return _.optional((function(){function r(e,r,n){t.assert(e,n+\" in \"+a,\"invalid \"+r+\", must be one of \"+Object.keys(v))}r(f.then,e,n),t.assert(f.else,n+\"&&typeof \"+n+'===\"object\"',\"invalid \"+e),r(f.else,e+\".rgb\",n+\".rgb\"),r(f.else,e+\".alpha\",n+\".alpha\")})),f.then(i,\"=\",o,\"=\",a,\"[\",n,\"];\"),f.else(i,\"=\",a,\"[\",n,\".rgb];\",o,\"=\",a,\"[\",n,\".alpha];\"),r(f),[i,o]}));case Pt:return f((function(e){return _.command(me(e)&&4===e.length,\"blend.color must be a 4d array\",t.commandStr),V(4,(function(t){return+e[t]}))}),(function(e,t,r){return _.optional((function(){e.assert(t,e.shared.isArrayLike+\"(\"+r+\")&&\"+r+\".length===4\",\"blend.color must be a 4d array\")})),V(4,(function(e){return t.def(\"+\",r,\"[\",e,\"]\")}))}));case tr:return f((function(e){return _.commandType(e,\"number\",o,t.commandStr),0|e}),(function(e,t,r){return _.optional((function(){e.assert(t,\"typeof \"+r+'===\"number\"',\"invalid stencil.mask\")})),t.def(r,\"|0\")}));case rr:return f((function(r){_.commandType(r,\"object\",o,t.commandStr);var n=r.cmp||\"keep\",a=r.ref||0,i=\"mask\"in r?r.mask:-1;return _.commandParameter(n,$r,e+\".cmp\",t.commandStr),_.commandType(a,\"number\",e+\".ref\",t.commandStr),_.commandType(i,\"number\",e+\".mask\",t.commandStr),[$r[n],a,i]}),(function(e,t,r){var n=e.constants.compareFuncs;return _.optional((function(){function a(){e.assert(t,Array.prototype.join.call(arguments,\"\"),\"invalid stencil.func\")}a(r+\"&&typeof \",r,'===\"object\"'),a('!(\"cmp\" in ',r,\")||(\",r,\".cmp in \",n,\")\")})),[t.def('\"cmp\" in ',r,\"?\",n,\"[\",r,\".cmp]\",\":\",Qr),t.def(r,\".ref|0\"),t.def('\"mask\" in ',r,\"?\",r,\".mask|0:-1\")]}));case nr:case ar:return f((function(r){_.commandType(r,\"object\",o,t.commandStr);var n=r.fail||\"keep\",a=r.zfail||\"keep\",i=r.zpass||\"keep\";return _.commandParameter(n,Kr,e+\".fail\",t.commandStr),_.commandParameter(a,Kr,e+\".zfail\",t.commandStr),_.commandParameter(i,Kr,e+\".zpass\",t.commandStr),[e===ar?Nr:Hr,Kr[n],Kr[a],Kr[i]]}),(function(t,r,n){var a=t.constants.stencilOps;function i(i){return _.optional((function(){t.assert(r,'!(\"'+i+'\" in '+n+\")||(\"+n+\".\"+i+\" in \"+a+\")\",\"invalid \"+e+\".\"+i+\", must be one of \"+Object.keys(Kr))})),r.def('\"',i,'\" in ',n,\"?\",a,\"[\",n,\".\",i,\"]:\",Qr)}return _.optional((function(){t.assert(r,n+\"&&typeof \"+n+'===\"object\"',\"invalid \"+e)})),[e===ar?Nr:Hr,i(\"fail\"),i(\"zfail\"),i(\"zpass\")]}));case $t:return f((function(e){_.commandType(e,\"object\",o,t.commandStr);var r=0|e.factor,n=0|e.units;return _.commandType(r,\"number\",o+\".factor\",t.commandStr),_.commandType(n,\"number\",o+\".units\",t.commandStr),[r,n]}),(function(t,r,n){return _.optional((function(){t.assert(r,n+\"&&typeof \"+n+'===\"object\"',\"invalid \"+e)})),[r.def(n,\".factor|0\"),r.def(n,\".units|0\")]}));case qt:return f((function(e){var r=0;return\"front\"===e?r=Hr:\"back\"===e&&(r=Nr),_.command(!!r,o,t.commandStr),r}),(function(e,t,r){return _.optional((function(){e.assert(t,r+'===\"front\"||'+r+'===\"back\"',\"invalid cull.face\")})),t.def(r,'===\"front\"?',Hr,\":\",Nr)}));case Yt:return f((function(e){return _.command(\"number\"==typeof e&&e>=a.lineWidthDims[0]&&e<=a.lineWidthDims[1],\"invalid line width, must be a positive number between \"+a.lineWidthDims[0]+\" and \"+a.lineWidthDims[1],t.commandStr),e}),(function(e,t,r){return _.optional((function(){e.assert(t,\"typeof \"+r+'===\"number\"&&'+r+\">=\"+a.lineWidthDims[0]+\"&&\"+r+\"<=\"+a.lineWidthDims[1],\"invalid line width\")})),r}));case Qt:return f((function(e){return _.commandParameter(e,Zr,o,t.commandStr),Zr[e]}),(function(e,t,r){return _.optional((function(){e.assert(t,r+'===\"cw\"||'+r+'===\"ccw\"',\"invalid frontFace, must be one of cw,ccw\")})),t.def(r+'===\"cw\"?2304:'+qr)}));case Ht:return f((function(e){return _.command(me(e)&&4===e.length,\"color.mask must be length 4 array\",t.commandStr),e.map((function(e){return!!e}))}),(function(e,t,r){return _.optional((function(){e.assert(t,e.shared.isArrayLike+\"(\"+r+\")&&\"+r+\".length===4\",\"invalid color.mask\")})),V(4,(function(e){return\"!!\"+r+\"[\"+e+\"]\"}))}));case Zt:return f((function(e){_.command(\"object\"==typeof e&&e,o,t.commandStr);var r=\"value\"in e?e.value:1,n=!!e.invert;return _.command(\"number\"==typeof r&&r>=0&&r<=1,\"sample.coverage.value must be a number between 0 and 1\",t.commandStr),[r,n]}),(function(e,t,r){return _.optional((function(){e.assert(t,r+\"&&typeof \"+r+'===\"object\"',\"invalid sample.coverage\")})),[t.def('\"value\" in ',r,\"?+\",r,\".value:1\"),t.def(\"!!\",r,\".invert\")]}))}})),i}(e,d),S=function(e,t,n){var a=e.static,i=e.dynamic;function o(e){if(e in a){var t=r.id(a[e]);_.optional((function(){l.shader(Jr[e],t,_.guessCommand())}));var n=an((function(){return t}));return n.id=t,n}if(e in i){var o=i[e];return on(o,(function(t,r){var n=t.invoke(r,o),a=r.def(t.shared.strings,\".id(\",n,\")\");return _.optional((function(){r(t.shared.shader,\".shader(\",Jr[e],\",\",a,\",\",t.command,\");\")})),a}))}return null}var f,u=o(lr),s=o(cr),c=null;return nn(u)&&nn(s)?(c=l.program(s.id,u.id,null,n),f=an((function(e,t){return e.link(c)}))):f=new rn(u&&u.thisDep||s&&s.thisDep,u&&u.contextDep||s&&s.contextDep,u&&u.propDep||s&&s.propDep,(function(e,t){var r,n=e.shared.shader;r=u?u.append(e,t):t.def(n,\".\",lr);var a=n+\".program(\"+(s?s.append(e,t):t.def(n,\".\",cr))+\",\"+r;return _.optional((function(){a+=\",\"+e.command})),t.def(a+\")\")})),{frag:u,vert:s,progVar:f,program:c}}(e,0,h);function O(e){var t=x[e];t&&(A[e]=t)}O(fr),O(E(or));var T=Object.keys(A).length>0,D={framebuffer:y,draw:w,shader:S,state:A,dirty:T,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(D.profile=function(e){var t,r=e.static,n=e.dynamic;if(ur in r){var a=!!r[ur];(t=an((function(e,t){return a}))).enable=a}else if(ur in n){var i=n[ur];t=on(i,(function(e,t){return e.invoke(t,i)}))}return t}(e),D.uniforms=function(e,t){var r=e.static,n=e.dynamic,a={};return Object.keys(r).forEach((function(e){var n,i=r[e];if(\"number\"==typeof i||\"boolean\"==typeof i)n=an((function(){return i}));else if(\"function\"==typeof i){var o=i._reglType;\"texture2d\"===o||\"textureCube\"===o?n=an((function(e){return e.link(i)})):\"framebuffer\"===o||\"framebufferCube\"===o?(_.command(i.color.length>0,'missing color attachment for framebuffer sent to uniform \"'+e+'\"',t.commandStr),n=an((function(e){return e.link(i.color[0])}))):_.commandRaise('invalid data for uniform \"'+e+'\"',t.commandStr)}else me(i)?n=an((function(t){return t.global.def(\"[\",V(i.length,(function(r){return _.command(\"number\"==typeof i[r]||\"boolean\"==typeof i[r],\"invalid uniform \"+e,t.commandStr),i[r]})),\"]\")})):_.commandRaise('invalid or missing data for uniform \"'+e+'\"',t.commandStr);n.value=i,a[e]=n})),Object.keys(n).forEach((function(e){var t=n[e];a[e]=on(t,(function(e,r){return e.invoke(r,t)}))})),a}(f,d),D.drawVAO=D.scopeVAO=w.vao,!D.drawVAO&&S.program&&!h&&n.angle_instanced_arrays&&w.static.elements){var j=!0,C=S.program.attributes.map((function(e){var r=t.static[e];return j=j&&!!r,r}));if(j&&C.length>0){var z=c.getVAO(c.createVAO({attributes:C,elements:w.static.elements}));D.drawVAO=new rn(null,null,null,(function(e,t){return e.link(z)})),D.useVAO=!0}}return h?D.useVAO=!0:D.attributes=function(e,t){var n=e.static,a=e.dynamic,o={};return Object.keys(n).forEach((function(e){var a=n[e],f=r.id(e),u=new b;if(en(a))u.state=1,u.buffer=i.getBuffer(i.create(a,Sr,!1,!0)),u.type=0;else{var s=i.getBuffer(a);if(s)u.state=1,u.buffer=s,u.type=0;else if(_.command(\"object\"==typeof a&&a,\"invalid data for attribute \"+e,t.commandStr),\"constant\"in a){var c=a.constant;u.buffer=\"null\",u.state=2,\"number\"==typeof c?u.x=c:(_.command(me(c)&&c.length>0&&c.length<=4,\"invalid constant for attribute \"+e,t.commandStr),Bt.forEach((function(e,t){t=0,'invalid offset for attribute \"'+e+'\"',t.commandStr);var d=0|a.stride;_.command(d>=0&&d<256,'invalid stride for attribute \"'+e+'\", must be integer betweeen [0, 255]',t.commandStr);var m=0|a.size;_.command(!(\"size\"in a)||m>0&&m<=4,'invalid size for attribute \"'+e+'\", must be 1,2,3,4',t.commandStr);var p=!!a.normalized,h=0;\"type\"in a&&(_.commandParameter(a.type,X,\"invalid type for attribute \"+e,t.commandStr),h=X[a.type]);var v=0|a.divisor;_.optional((function(){\"divisor\"in a&&(_.command(0===v||g,'cannot specify divisor for attribute \"'+e+'\", instancing not supported',t.commandStr),_.command(v>=0,'invalid divisor for attribute \"'+e+'\"',t.commandStr));var r=t.commandStr,n=[\"buffer\",\"offset\",\"divisor\",\"normalized\",\"type\",\"size\",\"stride\"];Object.keys(a).forEach((function(t){_.command(n.indexOf(t)>=0,'unknown parameter \"'+t+'\" for attribute pointer \"'+e+'\" (valid parameters are '+n+\")\",r)}))})),u.buffer=s,u.state=1,u.size=m,u.normalized=p,u.type=h||s.dtype,u.offset=l,u.stride=d,u.divisor=v}}o[e]=an((function(e,t){var r=e.attribCache;if(f in r)return r[f];var n={isStream:!1};return Object.keys(u).forEach((function(e){n[e]=u[e]})),u.buffer&&(n.buffer=e.link(u.buffer),n.type=n.type||n.buffer+\".dtype\"),r[f]=n,n}))})),Object.keys(a).forEach((function(e){var t=a[e];o[e]=on(t,(function(r,n){var a=r.invoke(n,t),i=r.shared,o=r.constants,f=i.isBufferArgs,u=i.buffer;_.optional((function(){r.assert(n,a+\"&&(typeof \"+a+'===\"object\"||typeof '+a+'===\"function\")&&('+f+\"(\"+a+\")||\"+u+\".getBuffer(\"+a+\")||\"+u+\".getBuffer(\"+a+\".buffer)||\"+f+\"(\"+a+'.buffer)||(\"constant\" in '+a+\"&&(typeof \"+a+'.constant===\"number\"||'+i.isArrayLike+\"(\"+a+\".constant))))\",'invalid dynamic attribute \"'+e+'\"')}));var s={isStream:n.def(!1)},c=new b;c.state=1,Object.keys(c).forEach((function(e){s[e]=n.def(\"\"+c[e])}));var l=s.buffer,d=s.type;function m(e){n(s[e],\"=\",a,\".\",e,\"|0;\")}return n(\"if(\",f,\"(\",a,\")){\",s.isStream,\"=true;\",l,\"=\",u,\".createStream(\",Sr,\",\",a,\");\",d,\"=\",l,\".dtype;\",\"}else{\",l,\"=\",u,\".getBuffer(\",a,\");\",\"if(\",l,\"){\",d,\"=\",l,\".dtype;\",'}else if(\"constant\" in ',a,\"){\",s.state,\"=\",2,\";\",\"if(typeof \"+a+'.constant === \"number\"){',s[Bt[0]],\"=\",a,\".constant;\",Bt.slice(1).map((function(e){return s[e]})).join(\"=\"),\"=0;\",\"}else{\",Bt.map((function(e,t){return s[e]+\"=\"+a+\".constant.length>\"+t+\"?\"+a+\".constant[\"+t+\"]:0;\"})).join(\"\"),\"}}else{\",\"if(\",f,\"(\",a,\".buffer)){\",l,\"=\",u,\".createStream(\",Sr,\",\",a,\".buffer);\",\"}else{\",l,\"=\",u,\".getBuffer(\",a,\".buffer);\",\"}\",d,'=\"type\" in ',a,\"?\",o.glTypes,\"[\",a,\".type]:\",l,\".dtype;\",s.normalized,\"=!!\",a,\".normalized;\"),m(\"size\"),m(\"offset\"),m(\"stride\"),m(\"divisor\"),n(\"}}\"),n.exit(\"if(\",s.isStream,\"){\",u,\".destroyStream(\",l,\");\",\"}\"),s}))})),o}(t,d),D.context=function(e){var t=e.static,r=e.dynamic,n={};return Object.keys(t).forEach((function(e){var r=t[e];n[e]=an((function(e,t){return\"number\"==typeof r||\"boolean\"==typeof r?\"\"+r:e.link(r)}))})),Object.keys(r).forEach((function(e){var t=r[e];n[e]=on(t,(function(e,r){return e.invoke(r,t)}))})),n}(s),D}function P(e,t,r){var n=e.shared.context,a=e.scope();Object.keys(r).forEach((function(i){t.save(n,\".\"+i);var o=r[i].append(e,t);Array.isArray(o)?a(n,\".\",i,\"=[\",o.join(),\"];\"):a(n,\".\",i,\"=\",o,\";\")})),t(a)}function L(e,t,r,n){var a,i=e.shared,o=i.gl,f=i.framebuffer;y&&(a=t.def(i.extensions,\".webgl_draw_buffers\"));var u,s=e.constants,c=s.drawBuffer,l=s.backBuffer;u=r?r.append(e,t):t.def(f,\".next\"),n||t(\"if(\",u,\"!==\",f,\".cur){\"),t(\"if(\",u,\"){\",o,\".bindFramebuffer(\",36160,\",\",u,\".framebuffer);\"),y&&t(a,\".drawBuffersWEBGL(\",c,\"[\",u,\".colorAttachments.length]);\"),t(\"}else{\",o,\".bindFramebuffer(\",36160,\",null);\"),y&&t(a,\".drawBuffersWEBGL(\",l,\");\"),t(\"}\",f,\".cur=\",u,\";\"),n||t(\"}\")}function R(e,t,r){var n=e.shared,a=n.gl,i=e.current,o=e.next,f=n.current,u=n.next,s=e.cond(f,\".dirty\");k.forEach((function(t){var n,c,l=E(t);if(!(l in r.state))if(l in o){n=o[l],c=i[l];var d=V(w[l].length,(function(e){return s.def(n,\"[\",e,\"]\")}));s(e.cond(d.map((function(e,t){return e+\"!==\"+c+\"[\"+t+\"]\"})).join(\"||\")).then(a,\".\",O[l],\"(\",d,\");\",d.map((function(e,t){return c+\"[\"+t+\"]=\"+e})).join(\";\"),\";\"))}else{n=s.def(u,\".\",l);var m=e.cond(n,\"!==\",f,\".\",l);s(m),l in S?m(e.cond(n).then(a,\".enable(\",S[l],\");\").else(a,\".disable(\",S[l],\");\"),f,\".\",l,\"=\",n,\";\"):m(a,\".\",O[l],\"(\",n,\");\",f,\".\",l,\"=\",n,\";\")}})),0===Object.keys(r.state).length&&s(f,\".dirty=false;\"),t(s)}function M(e,t,r,n){var a=e.shared,i=e.current,o=a.current,f=a.gl;tn(Object.keys(r)).forEach((function(a){var u=r[a];if(!n||n(u)){var s=u.append(e,t);if(S[a]){var c=S[a];nn(u)?t(f,s?\".enable(\":\".disable(\",c,\");\"):t(e.cond(s).then(f,\".enable(\",c,\");\").else(f,\".disable(\",c,\");\")),t(o,\".\",a,\"=\",s,\";\")}else if(me(s)){var l=i[a];t(f,\".\",O[a],\"(\",s,\");\",s.map((function(e,t){return l+\"[\"+t+\"]=\"+e})).join(\";\"),\";\")}else t(f,\".\",O[a],\"(\",s,\");\",o,\".\",a,\"=\",s,\";\")}}))}function W(e,t){g&&(e.instancing=t.def(e.shared.extensions,\".angle_instanced_arrays\"))}function U(e,t,r,n,a){var i,o,f,u=e.shared,s=e.stats,c=u.current,l=u.timer,d=r.profile;function m(){return\"undefined\"==typeof performance?\"Date.now()\":\"performance.now()\"}function h(e){e(i=t.def(),\"=\",m(),\";\"),\"string\"==typeof a?e(s,\".count+=\",a,\";\"):e(s,\".count++;\"),p&&(n?e(o=t.def(),\"=\",l,\".getNumPendingQueries();\"):e(l,\".beginQuery(\",s,\");\"))}function b(e){e(s,\".cpuTime+=\",m(),\"-\",i,\";\"),p&&(n?e(l,\".pushScopeStats(\",o,\",\",l,\".getNumPendingQueries(),\",s,\");\"):e(l,\".endQuery();\"))}function v(e){var r=t.def(c,\".profile\");t(c,\".profile=\",e,\";\"),t.exit(c,\".profile=\",r,\";\")}if(d){if(nn(d))return void(d.enable?(h(t),b(t.exit),v(\"true\")):v(\"false\"));v(f=d.append(e,t))}else f=t.def(c,\".profile\");var g=e.block();h(g),t(\"if(\",f,\"){\",g,\"}\");var y=e.block();b(y),t.exit(\"if(\",f,\"){\",y,\"}\")}function G(e,t,r,n,a){var i=e.shared;n.forEach((function(n){var o,f=n.name,u=r.attributes[f];if(u){if(!a(u))return;o=u.append(e,t)}else{if(!a(fn))return;var s=e.scopeAttrib(f);_.optional((function(){e.assert(t,s+\".state\",\"missing attribute \"+f)})),o={},Object.keys(new b).forEach((function(e){o[e]=t.def(s,\".\",e)}))}!function(r,n,a){var o=i.gl,f=t.def(r,\".location\"),u=t.def(i.attributes,\"[\",f,\"]\"),s=a.state,c=a.buffer,l=[a.x,a.y,a.z,a.w],d=[\"buffer\",\"normalized\",\"offset\",\"stride\"];function m(){t(\"if(!\",u,\".buffer){\",o,\".enableVertexAttribArray(\",f,\");}\");var r,i=a.type;if(r=a.size?t.def(a.size,\"||\",n):n,t(\"if(\",u,\".type!==\",i,\"||\",u,\".size!==\",r,\"||\",d.map((function(e){return u+\".\"+e+\"!==\"+a[e]})).join(\"||\"),\"){\",o,\".bindBuffer(\",Sr,\",\",c,\".buffer);\",o,\".vertexAttribPointer(\",[f,r,i,a.normalized,a.stride,a.offset],\");\",u,\".type=\",i,\";\",u,\".size=\",r,\";\",d.map((function(e){return u+\".\"+e+\"=\"+a[e]+\";\"})).join(\"\"),\"}\"),g){var s=a.divisor;t(\"if(\",u,\".divisor!==\",s,\"){\",e.instancing,\".vertexAttribDivisorANGLE(\",[f,s],\");\",u,\".divisor=\",s,\";}\")}}function p(){t(\"if(\",u,\".buffer){\",o,\".disableVertexAttribArray(\",f,\");\",u,\".buffer=null;\",\"}if(\",Bt.map((function(e,t){return u+\".\"+e+\"!==\"+l[t]})).join(\"||\"),\"){\",o,\".vertexAttrib4f(\",f,\",\",l,\");\",Bt.map((function(e,t){return u+\".\"+e+\"=\"+l[t]+\";\"})).join(\"\"),\"}\")}1===s?m():2===s?p():(t(\"if(\",s,\"===\",1,\"){\"),m(),t(\"}else{\"),p(),t(\"}\"))}(e.link(n),function(e){switch(e){case Tr:case zr:case Ir:return 2;case Dr:case Fr:case Pr:return 3;case jr:case Br:case Lr:return 4;default:return 1}}(n.info.type),o)}))}function H(e,t,n,a,i,o){for(var f,u=e.shared,s=u.gl,c={},l=0;l1){if(!b)continue;var v=m.replace(\"[0]\",\"\");if(c[v])continue;c[v]=1}var g,y=e.link(d)+\".location\";if(b){if(!i(b))continue;if(nn(b)){var x=b.value;if(_.command(null!=x,'missing uniform \"'+m+'\"',e.commandStr),p===Ur||p===Gr){_.command(\"function\"==typeof x&&(p===Ur&&(\"texture2d\"===x._reglType||\"framebuffer\"===x._reglType)||p===Gr&&(\"textureCube\"===x._reglType||\"framebufferCube\"===x._reglType)),\"invalid texture for uniform \"+m,e.commandStr);var w=e.link(x._texture||x.color[0]._texture);t(s,\".uniform1i(\",y,\",\",w+\".bind());\"),t.exit(w,\".unbind();\")}else if(p===Rr||p===Mr||p===Wr){_.optional((function(){_.command(me(x),\"invalid matrix for uniform \"+m,e.commandStr),_.command(p===Rr&&4===x.length||p===Mr&&9===x.length||p===Wr&&16===x.length,\"invalid length for matrix uniform \"+m,e.commandStr)}));var A=e.global.def(\"new Float32Array([\"+Array.prototype.slice.call(x)+\"])\"),k=2;p===Mr?k=3:p===Wr&&(k=4),t(s,\".uniformMatrix\",k,\"fv(\",y,\",false,\",A,\");\")}else{switch(p){case Er:1===h?_.commandType(x,\"number\",\"uniform \"+m,e.commandStr):_.command(me(x)&&x.length===h,\"uniform \"+m,e.commandStr),f=\"1f\";break;case Tr:_.command(me(x)&&x.length&&x.length%2==0&&x.length<=2*h,\"uniform \"+m,e.commandStr),f=\"2f\";break;case Dr:_.command(me(x)&&x.length&&x.length%3==0&&x.length<=3*h,\"uniform \"+m,e.commandStr),f=\"3f\";break;case jr:_.command(me(x)&&x.length&&x.length%4==0&&x.length<=4*h,\"uniform \"+m,e.commandStr),f=\"4f\";break;case Vr:1===h?_.commandType(x,\"boolean\",\"uniform \"+m,e.commandStr):_.command(me(x)&&x.length===h,\"uniform \"+m,e.commandStr),f=\"1i\";break;case Cr:1===h?_.commandType(x,\"number\",\"uniform \"+m,e.commandStr):_.command(me(x)&&x.length===h,\"uniform \"+m,e.commandStr),f=\"1i\";break;case Ir:case zr:_.command(me(x)&&x.length&&x.length%2==0&&x.length<=2*h,\"uniform \"+m,e.commandStr),f=\"2i\";break;case Pr:case Fr:_.command(me(x)&&x.length&&x.length%3==0&&x.length<=3*h,\"uniform \"+m,e.commandStr),f=\"3i\";break;case Lr:case Br:_.command(me(x)&&x.length&&x.length%4==0&&x.length<=4*h,\"uniform \"+m,e.commandStr),f=\"4i\"}h>1?(f+=\"v\",x=e.global.def(\"[\"+Array.prototype.slice.call(x)+\"]\")):x=me(x)?Array.prototype.slice.call(x):x,t(s,\".uniform\",f,\"(\",y,\",\",x,\");\")}continue}g=b.append(e,t)}else{if(!i(fn))continue;g=t.def(u.uniforms,\"[\",r.id(m),\"]\")}p===Ur?(_(!Array.isArray(g),\"must specify a scalar prop for textures\"),t(\"if(\",g,\"&&\",g,'._reglType===\"framebuffer\"){',g,\"=\",g,\".color[0];\",\"}\")):p===Gr&&(_(!Array.isArray(g),\"must specify a scalar prop for cube maps\"),t(\"if(\",g,\"&&\",g,'._reglType===\"framebufferCube\"){',g,\"=\",g,\".color[0];\",\"}\")),_.optional((function(){function r(r,n){e.assert(t,r,'bad data or missing for uniform \"'+m+'\". '+n)}function n(e,t){1===t&&_(!Array.isArray(g),\"must not specify an array type for uniform\"),r(\"Array.isArray(\"+g+\") && typeof \"+g+'[0]===\" '+e+'\" || typeof '+g+'===\"'+e+'\"',\"invalid type, expected \"+e)}function a(t,n,a){Array.isArray(g)?_(g.length&&g.length%t==0&&g.length<=t*a,\"must have length of \"+(1===a?\"\":\"n * \")+t):r(u.isArrayLike+\"(\"+g+\")&&\"+g+\".length && \"+g+\".length % \"+t+\" === 0 && \"+g+\".length<=\"+t*a,\"invalid vector, should have length of \"+(1===a?\"\":\"n * \")+t,e.commandStr)}function i(t){_(!Array.isArray(g),\"must not specify a value type\"),r(\"typeof \"+g+'===\"function\"&&'+g+'._reglType===\"texture'+(3553===t?\"2d\":\"Cube\")+'\"',\"invalid texture type\",e.commandStr)}switch(p){case Cr:n(\"number\",h);break;case zr:a(2,0,h);break;case Fr:a(3,0,h);break;case Br:a(4,0,h);break;case Er:n(\"number\",h);break;case Tr:a(2,0,h);break;case Dr:a(3,0,h);break;case jr:a(4,0,h);break;case Vr:n(\"boolean\",h);break;case Ir:a(2,0,h);break;case Pr:a(3,0,h);break;case Lr:case Rr:a(4,0,h);break;case Mr:a(9,0,h);break;case Wr:a(16,0,h);break;case Ur:i(3553);break;case Gr:i(34067)}}));var S=1;switch(p){case Ur:case Gr:var O=t.def(g,\"._texture\");t(s,\".uniform1i(\",y,\",\",O,\".bind());\"),t.exit(O,\".unbind();\");continue;case Cr:case Vr:f=\"1i\";break;case zr:case Ir:f=\"2i\",S=2;break;case Fr:case Pr:f=\"3i\",S=3;break;case Br:case Lr:f=\"4i\",S=4;break;case Er:f=\"1f\";break;case Tr:f=\"2f\",S=2;break;case Dr:f=\"3f\",S=3;break;case jr:f=\"4f\",S=4;break;case Rr:f=\"Matrix2fv\";break;case Mr:f=\"Matrix3fv\";break;case Wr:f=\"Matrix4fv\"}if(-1===f.indexOf(\"Matrix\")&&h>1&&(f+=\"v\",S=1),\"M\"===f.charAt(0)){t(s,\".uniform\",f,\"(\",y,\",\");var E=Math.pow(p-Rr+2,2),T=e.global.def(\"new Float32Array(\",E,\")\");Array.isArray(g)?t(\"false,(\",V(E,(function(e){return T+\"[\"+e+\"]=\"+g[e]})),\",\",T,\")\"):t(\"false,(Array.isArray(\",g,\")||\",g,\" instanceof Float32Array)?\",g,\":(\",V(E,(function(e){return T+\"[\"+e+\"]=\"+g+\"[\"+e+\"]\"})),\",\",T,\")\"),t(\");\")}else if(S>1){for(var D=[],j=[],C=0;C=0\",\"missing vertex count\")}))):(a=u.def(o,\".\",pr),_.optional((function(){e.assert(u,a+\">=0\",\"missing vertex count\")}))),a}();if(\"number\"==typeof p){if(0===p)return}else r(\"if(\",p,\"){\"),r.exit(\"}\");g&&(c=s(br),l=e.instancing);var h=u+\".type\",b=f.elements&&nn(f.elements)&&!f.vaoActive;function v(){function e(){r(l,\".drawElementsInstancedANGLE(\",[d,p,h,m+\"<<((\"+h+\"-5121)>>1)\",c],\");\")}function t(){r(l,\".drawArraysInstancedANGLE(\",[d,m,p,c],\");\")}u&&\"null\"!==u?b?e():(r(\"if(\",u,\"){\"),e(),r(\"}else{\"),t(),r(\"}\")):t()}function y(){function e(){r(i+\".drawElements(\"+[d,p,h,m+\"<<((\"+h+\"-5121)>>1)\"]+\");\")}function t(){r(i+\".drawArrays(\"+[d,m,p]+\");\")}u&&\"null\"!==u?b?e():(r(\"if(\",u,\"){\"),e(),r(\"}else{\"),t(),r(\"}\")):t()}g&&(\"number\"!=typeof c||c>=0)?\"string\"==typeof c?(r(\"if(\",c,\">0){\"),v(),r(\"}else if(\",c,\"<0){\"),y(),r(\"}\")):v():y()}function q(e,t,r,n,a){var i=B(),o=i.proc(\"body\",a);return _.optional((function(){i.commandStr=t.commandStr,i.command=i.link(t.commandStr)})),g&&(i.instancing=o.def(i.shared.extensions,\".angle_instanced_arrays\")),e(i,o,r,n),i.compile().body}function Q(e,t,r,n){W(e,t),r.useVAO?r.drawVAO?t(e.shared.vao,\".setVAO(\",r.drawVAO.append(e,t),\");\"):t(e.shared.vao,\".setVAO(\",e.shared.vao,\".targetVAO);\"):(t(e.shared.vao,\".setVAO(null);\"),G(e,t,r,n.attributes,(function(){return!0}))),H(e,t,r,n.uniforms,(function(){return!0}),!1),N(e,t,t,r)}function Y(e,t,r,n){function a(){return!0}e.batchId=\"a1\",W(e,t),G(e,t,r,n.attributes,a),H(e,t,r,n.uniforms,a,!1),N(e,t,t,r)}function $(e,t,r,n){W(e,t);var a=r.contextDep,i=t.def(),o=t.def();e.shared.props=o,e.batchId=i;var f=e.scope(),u=e.scope();function s(e){return e.contextDep&&a||e.propDep}function c(e){return!s(e)}if(t(f.entry,\"for(\",i,\"=0;\",i,\"<\",\"a1\",\";++\",i,\"){\",o,\"=\",\"a0\",\"[\",i,\"];\",u,\"}\",f.exit),r.needsContext&&P(e,u,r.context),r.needsFramebuffer&&L(e,u,r.framebuffer),M(e,u,r.state,s),r.profile&&s(r.profile)&&U(e,u,r,!1,!0),n)r.useVAO?r.drawVAO?s(r.drawVAO)?u(e.shared.vao,\".setVAO(\",r.drawVAO.append(e,u),\");\"):f(e.shared.vao,\".setVAO(\",r.drawVAO.append(e,f),\");\"):f(e.shared.vao,\".setVAO(\",e.shared.vao,\".targetVAO);\"):(f(e.shared.vao,\".setVAO(null);\"),G(e,f,r,n.attributes,c),G(e,u,r,n.attributes,s)),H(e,f,r,n.uniforms,c,!1),H(e,u,r,n.uniforms,s,!0),N(e,f,u,r);else{var l=e.global.def(\"{}\"),d=r.shader.progVar.append(e,u),m=u.def(d,\".id\"),p=u.def(l,\"[\",m,\"]\");u(e.shared.gl,\".useProgram(\",d,\".program);\",\"if(!\",p,\"){\",p,\"=\",l,\"[\",m,\"]=\",e.link((function(t){return q(Y,e,r,t,2)})),\"(\",d,\");}\",p,\".call(this,a0[\",i,\"],\",i,\");\")}}function K(e,t,r){var n=t.static[r];if(n&&function(e){if(\"object\"==typeof e&&!me(e)){for(var t=Object.keys(e),r=0;r0&&r(e.shared.current,\".dirty=true;\"),e.shared.vao&&r(e.shared.vao,\".setVAO(null);\")}(f,u),function(e,t){var n=e.proc(\"scope\",3);e.batchId=\"a2\";var a=e.shared,i=a.current;function o(r){var i=t.shader[r];i&&n.set(a.shader,\".\"+r,i.append(e,n))}P(e,n,t.context),t.framebuffer&&t.framebuffer.append(e,n),tn(Object.keys(t.state)).forEach((function(r){var i=t.state[r].append(e,n);me(i)?i.forEach((function(t,a){n.set(e.next[r],\"[\"+a+\"]\",t)})):n.set(a.next,\".\"+r,i)})),U(e,n,t,!0,!0),[dr,hr,pr,br,mr].forEach((function(r){var i=t.draw[r];i&&n.set(a.draw,\".\"+r,\"\"+i.append(e,n))})),Object.keys(t.uniforms).forEach((function(i){var o=t.uniforms[i].append(e,n);Array.isArray(o)&&(o=\"[\"+o.join()+\"]\"),n.set(a.uniforms,\"[\"+r.id(i)+\"]\",o)})),Object.keys(t.attributes).forEach((function(r){var a=t.attributes[r].append(e,n),i=e.scopeAttrib(r);Object.keys(new b).forEach((function(e){n.set(i,\".\"+e,a[e])}))})),t.scopeVAO&&n.set(a.vao,\".targetVAO\",t.scopeVAO.append(e,n)),o(cr),o(lr),Object.keys(t.state).length>0&&(n(i,\".dirty=true;\"),n.exit(i,\".dirty=true;\")),n(\"a1(\",e.shared.context,\",a0,\",e.batchId,\");\")}(f,u),function(e,t){var r=e.proc(\"batch\",2);e.batchId=\"0\",W(e,r);var n=!1,a=!0;Object.keys(t.context).forEach((function(e){n=n||t.context[e].propDep})),n||(P(e,r,t.context),a=!1);var i=t.framebuffer,o=!1;function f(e){return e.contextDep&&n||e.propDep}i?(i.propDep?n=o=!0:i.contextDep&&n&&(o=!0),o||L(e,r,i)):L(e,r,null),t.state.viewport&&t.state.viewport.propDep&&(n=!0),R(e,r,t),M(e,r,t.state,(function(e){return!f(e)})),t.profile&&f(t.profile)||U(e,r,t,!1,\"a1\"),t.contextDep=n,t.needsContext=a,t.needsFramebuffer=o;var u=t.shader.progVar;if(u.contextDep&&n||u.propDep)$(e,r,t,null);else{var s=u.append(e,r);if(r(e.shared.gl,\".useProgram(\",s,\".program);\"),t.shader.program)$(e,r,t,t.shader.program);else{r(e.shared.vao,\".setVAO(null);\");var c=e.global.def(\"{}\"),l=r.def(s,\".id\"),d=r.def(c,\"[\",l,\"]\");r(e.cond(d).then(d,\".call(this,a0,a1);\").else(d,\"=\",c,\"[\",l,\"]=\",e.link((function(r){return q($,e,t,r,2)})),\"(\",s,\");\",d,\".call(this,a0,a1);\"))}}Object.keys(t.state).length>0&&r(e.shared.current,\".dirty=true;\"),e.shared.vao&&r(e.shared.vao,\".setVAO(null);\")}(f,u),t(f.compile(),{destroy:function(){u.shader.program.destroy()}})}}}var sn=function(e,t){if(!t.ext_disjoint_timer_query)return null;var r=[];function n(e){r.push(e)}var a=[];function i(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var o=[];function f(e){o.push(e)}var u=[];function s(e,t,r){var n=o.pop()||new i;n.startQueryIndex=e,n.endQueryIndex=t,n.sum=0,n.stats=r,u.push(n)}var c=[],l=[];return{beginQuery:function(e){var n=r.pop()||t.ext_disjoint_timer_query.createQueryEXT();t.ext_disjoint_timer_query.beginQueryEXT(35007,n),a.push(n),s(a.length-1,a.length,e)},endQuery:function(){t.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:s,update:function(){var e,r,i=a.length;if(0!==i){l.length=Math.max(l.length,i+1),c.length=Math.max(c.length,i+1),c[0]=0,l[0]=0;var o=0;for(e=0,r=0;r0)if(Array.isArray(r[0])){f=J(r);for(var c=1,l=1;l0)if(\"number\"==typeof t[0]){var i=L.allocType(d.dtype,t.length);ne(i,t),p(i,a),L.freeType(i)}else if(Array.isArray(t[0])||e(t[0])){n=J(t);var o=K(t,n,d.dtype);p(o,a),L.freeType(o)}else _.raise(\"invalid buffer data\")}else if(G(t)){n=t.shape;var f=t.stride,u=0,s=0,c=0,l=0;1===n.length?(u=n[0],s=1,c=f[0],l=0):2===n.length?(u=n[0],s=n[1],c=f[0],l=f[1]):_.raise(\"invalid shape\");var h=Array.isArray(t.data)?d.dtype:re(t.data),b=L.allocType(h,u*s);ae(b,t.data,u,s,c,l,t.offset),p(b,a),L.freeType(b)}else _.raise(\"invalid data for buffer subdata\");return m},n.profile&&(m.stats=d.stats),m.destroy=function(){l(d)},m},createStream:function(e,t){var r=u.pop();return r||(r=new f(e)),r.bind(),c(r,t,35040,0,1,!1),r},destroyStream:function(e){u.push(e)},clear:function(){H(o).forEach(l),u.forEach(l)},getBuffer:function(e){return e&&e._buffer instanceof f?e._buffer:null},restore:function(){H(o).forEach((function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)}))},_initBuffer:c}}(a,l,n,(function(e){return A.destroyBuffer(e)})),w=function(t,r,n,a){var i={},o=0,f={uint8:oe,uint16:fe};function u(e){this.id=o++,i[this.id]=this,this.buffer=e,this.primType=4,this.vertCount=0,this.type=0}r.oes_element_index_uint&&(f.uint32=ue),u.prototype.bind=function(){this.buffer.bind()};var s=[];function c(a,i,o,f,u,s,c){var l;if(a.buffer.bind(),i){var d=c;c||e(i)&&(!G(i)||e(i.data))||(d=r.oes_element_index_uint?ue:fe),n._initBuffer(a.buffer,i,o,d,3)}else t.bufferData(se,s,o),a.buffer.dtype=l||oe,a.buffer.usage=o,a.buffer.dimension=3,a.buffer.byteLength=s;if(l=c,!c){switch(a.buffer.dtype){case oe:case 5120:l=oe;break;case fe:case 5122:l=fe;break;case ue:case 5124:l=ue;break;default:_.raise(\"unsupported type for element array\")}a.buffer.dtype=l}a.type=l,_(l!==ue||!!r.oes_element_index_uint,\"32 bit element buffers not supported, enable oes_element_index_uint first\");var m=u;m<0&&(m=a.buffer.byteLength,l===fe?m>>=1:l===ue&&(m>>=2)),a.vertCount=m;var p=f;if(f<0){p=4;var h=a.buffer.dimension;1===h&&(p=0),2===h&&(p=1),3===h&&(p=4)}a.primType=p}function l(e){a.elementsCount--,_(null!==e.buffer,\"must not double destroy elements\"),delete i[e.id],e.buffer.destroy(),e.buffer=null}return{create:function(t,r){var i=n.create(null,se,!0),o=new u(i._buffer);function s(t){if(t)if(\"number\"==typeof t)i(t),o.primType=4,o.vertCount=0|t,o.type=oe;else{var r=null,n=35044,a=-1,u=-1,l=0,d=0;Array.isArray(t)||e(t)||G(t)?r=t:(_.type(t,\"object\",\"invalid arguments for elements\"),\"data\"in t&&(r=t.data,_(Array.isArray(r)||e(r)||G(r),\"invalid data for element buffer\")),\"usage\"in t&&(_.parameter(t.usage,$,\"invalid element buffer usage\"),n=$[t.usage]),\"primitive\"in t&&(_.parameter(t.primitive,ie,\"invalid element buffer primitive\"),a=ie[t.primitive]),\"count\"in t&&(_(\"number\"==typeof t.count&&t.count>=0,\"invalid vertex count for elements\"),u=0|t.count),\"type\"in t&&(_.parameter(t.type,f,\"invalid buffer type\"),d=f[t.type]),\"length\"in t?l=0|t.length:(l=u,d===fe||5122===d?l*=2:d!==ue&&5124!==d||(l*=4))),c(o,r,n,a,u,l,d)}else i(),o.primType=4,o.vertCount=0,o.type=oe;return s}return a.elementsCount++,s(t),s._reglType=\"elements\",s._elements=o,s.subdata=function(e,t){return i.subdata(e,t),s},s.destroy=function(){l(o)},s},createStream:function(e){var t=s.pop();return t||(t=new u(n.create(null,se,!0,!1)._buffer)),c(t,e,35040,-1,-1,0,0),t},destroyStream:function(e){s.push(e)},getElements:function(e){return\"function\"==typeof e&&e._elements instanceof u?e._elements:null},clear:function(){H(i).forEach(l)}}}(a,d,x,l),A=function(t,r,n,a,i,o,f){for(var u=n.maxAttributes,s=new Array(u),c=0;c{for(var e=Object.keys(t),r=0;r=0,'invalid option for vao: \"'+e[r]+'\" valid options are '+Et)})),_(Array.isArray(a),\"attributes must be an array\")}_(a.length0,\"must specify at least one attribute\");var c={},l=n.attributes;l.length=a.length;for(var d=0;d=b.byteLength?m.subdata(b):(m.destroy(),n.buffers[d]=null)),n.buffers[d]||(m=n.buffers[d]=i.create(p,34962,!1,!0)),h.buffer=i.getBuffer(m),h.size=0|h.buffer.dimension,h.normalized=!1,h.type=h.buffer.dtype,h.offset=0,h.stride=0,h.divisor=0,h.state=1,c[d]=1):i.getBuffer(p)?(h.buffer=i.getBuffer(p),h.size=0|h.buffer.dimension,h.normalized=!1,h.type=h.buffer.dtype,h.offset=0,h.stride=0,h.divisor=0,h.state=1):i.getBuffer(p.buffer)?(h.buffer=i.getBuffer(p.buffer),h.size=0|(+p.size||h.buffer.dimension),h.normalized=!!p.normalized||!1,\"type\"in p?(_.parameter(p.type,X,\"invalid buffer type\"),h.type=X[p.type]):h.type=h.buffer.dtype,h.offset=0|(p.offset||0),h.stride=0|(p.stride||0),h.divisor=0|(p.divisor||0),h.state=1,_(h.size>=1&&h.size<=4,\"size must be between 1 and 4\"),_(h.offset>=0,\"invalid offset\"),_(h.stride>=0&&h.stride<=255,\"stride must be between 0 and 255\"),_(h.divisor>=0,\"divisor must be positive\"),_(!h.divisor||!!r.angle_instanced_arrays,\"ANGLE_instanced_arrays must be enabled to use divisor\")):\"x\"in p?(_(d>0,\"first attribute must not be a constant\"),h.x=+p.x||0,h.y=+p.y||0,h.z=+p.z||0,h.w=+p.w||0,h.state=2):_(!1,\"invalid attribute spec for location \"+d)}for(var v=0;v1)for(var v=0;v1&&(y=y.replace(\"[0]\",\"\")),u(b,new f(y,r.id(y),e.getUniformLocation(m,y),c))}var x=e.getProgramParameter(m,35721);a.profile&&(t.stats.attributesCount=x);var w=t.attributes;for(o=0;oe&&(e=t.stats.uniformsCount)})),e},n.getMaxAttributesCount=function(){var e=0;return l.forEach((function(t){t.stats.attributesCount>e&&(e=t.stats.attributesCount)})),e}),{clear:function(){var t=e.deleteShader.bind(e);H(i).forEach(t),i={},H(o).forEach(t),o={},l.forEach((function(t){e.deleteProgram(t.program)})),l.length=0,c={},n.shaderCount=0},program:function(r,a,f,u){_.command(r>=0,\"missing vertex shader\",f),_.command(a>=0,\"missing fragment shader\",f);var s=c[a];s||(s=c[a]={});var d=s[r];if(d&&(d.refCount++,!u))return d;var h=new m(a,r);return n.shaderCount++,p(h,f,u),d||(s[r]=h),l.push(h),t(h,{destroy:function(){if(h.refCount--,h.refCount<=0){e.deleteProgram(h.program);var t=l.indexOf(h);l.splice(t,1),n.shaderCount--}s[h.vertId].refCount<=0&&(e.deleteShader(o[h.vertId]),delete o[h.vertId],delete c[h.fragId][h.vertId]),Object.keys(c[h.fragId]).length||(e.deleteShader(i[h.fragId]),delete i[h.fragId],delete c[h.fragId])}})},restore:function(){i={},o={};for(var e=0;e=2,\"invalid renderbuffer shape\"),f=0|m[0],u=0|m[1]}else\"radius\"in d&&(f=u=0|d.radius),\"width\"in d&&(f=0|d.width),\"height\"in d&&(u=0|d.height);\"format\"in d&&(_.parameter(d.format,i,\"invalid renderbuffer format\"),s=i[d.format])}else\"number\"==typeof t?(f=0|t,u=\"number\"==typeof n?0|n:f):t?_.raise(\"invalid arguments to renderbuffer constructor\"):f=u=1;if(_(f>0&&u>0&&f<=r.maxRenderbufferSize&&u<=r.maxRenderbufferSize,\"invalid renderbuffer size\"),f!==c.width||u!==c.height||s!==c.format)return l.width=c.width=f,l.height=c.height=u,c.format=s,e.bindRenderbuffer(mt,c.renderbuffer),e.renderbufferStorage(mt,s,f,u),_(0===e.getError(),\"invalid render buffer format\"),a.profile&&(c.stats.size=bt(c.format,c.width,c.height)),l.format=o[c.format],l}return u[c.id]=c,n.renderbufferCount++,l(t,f),l.resize=function(t,n){var i=0|t,o=0|n||i;return i===c.width&&o===c.height||(_(i>0&&o>0&&i<=r.maxRenderbufferSize&&o<=r.maxRenderbufferSize,\"invalid renderbuffer size\"),l.width=c.width=i,l.height=c.height=o,e.bindRenderbuffer(mt,c.renderbuffer),e.renderbufferStorage(mt,c.format,i,o),_(0===e.getError(),\"invalid render buffer format\"),a.profile&&(c.stats.size=bt(c.format,c.width,c.height))),l},l._reglType=\"renderbuffer\",l._renderbuffer=c,a.profile&&(l.stats=c.stats),l.destroy=function(){c.decRef()},l},clear:function(){H(u).forEach(c)},restore:function(){H(u).forEach((function(t){t.renderbuffer=e.createRenderbuffer(),e.bindRenderbuffer(mt,t.renderbuffer),e.renderbufferStorage(mt,t.format,t.width,t.height)})),e.bindRenderbuffer(mt,null)}}}(a,d,y,l,n),E=function(e,r,n,a,i,o){var f={cur:null,next:null,dirty:!1,setFBO:null},u=[\"rgba\"],s=[\"rgba4\",\"rgb565\",\"rgb5 a1\"];r.ext_srgb&&s.push(\"srgba\"),r.ext_color_buffer_half_float&&s.push(\"rgba16f\",\"rgb16f\"),r.webgl_color_buffer_float&&s.push(\"rgba32f\");var c=[\"uint8\"];function l(e,t,r){this.target=e,this.texture=t,this.renderbuffer=r;var n=0,a=0;t?(n=t.width,a=t.height):r&&(n=r.width,a=r.height),this.width=n,this.height=a}function d(e){e&&(e.texture&&e.texture._texture.decRef(),e.renderbuffer&&e.renderbuffer._renderbuffer.decRef())}function m(e,t,r){if(e)if(e.texture){var n=e.texture._texture,a=Math.max(1,n.width),i=Math.max(1,n.height);_(a===t&&i===r,\"inconsistent width/height for supplied texture\"),n.refCount+=1}else{var o=e.renderbuffer._renderbuffer;_(o.width===t&&o.height===r,\"inconsistent width/height for renderbuffer\"),o.refCount+=1}}function p(t,r){r&&(r.texture?e.framebufferTexture2D(vt,t,r.target,r.texture._texture.texture,0):e.framebufferRenderbuffer(vt,t,gt,r.renderbuffer._renderbuffer.renderbuffer))}function h(e){var t=yt,r=null,n=null,a=e;\"object\"==typeof e&&(a=e.data,\"target\"in e&&(t=0|e.target)),_.type(a,\"function\",\"invalid attachment data\");var i=a._reglType;return\"texture2d\"===i?(r=a,_(t===yt)):\"textureCube\"===i?(r=a,_(t>=xt&&t<34075,\"invalid cube map target\")):\"renderbuffer\"===i?(n=a,t=gt):_.raise(\"invalid regl object for attachment\"),new l(t,r,n)}function b(e,t,r,n,o){if(r){var f=a.create2D({width:e,height:t,format:n,type:o});return f._texture.refCount=0,new l(yt,f,null)}var u=i.create({width:e,height:t,format:n});return u._renderbuffer.refCount=0,new l(gt,null,u)}function v(e){return e&&(e.texture||e.renderbuffer)}function g(e,t,r){e&&(e.texture?e.texture.resize(t,r):e.renderbuffer&&e.renderbuffer.resize(t,r),e.width=t,e.height=r)}r.oes_texture_half_float&&c.push(\"half float\",\"float16\"),r.oes_texture_float&&c.push(\"float\",\"float32\");var y=0,x={};function w(){this.id=y++,x[this.id]=this,this.framebuffer=e.createFramebuffer(),this.width=0,this.height=0,this.colorAttachments=[],this.depthAttachment=null,this.stencilAttachment=null,this.depthStencilAttachment=null}function A(e){e.colorAttachments.forEach(d),d(e.depthAttachment),d(e.stencilAttachment),d(e.depthStencilAttachment)}function k(t){var r=t.framebuffer;_(r,\"must not double destroy framebuffer\"),e.deleteFramebuffer(r),t.framebuffer=null,o.framebufferCount--,delete x[t.id]}function S(t){var r;e.bindFramebuffer(vt,t.framebuffer);var a=t.colorAttachments;for(r=0;r=2,\"invalid shape for framebuffer\"),o=z[0],d=z[1]}else\"radius\"in C&&(o=d=C.radius),\"width\"in C&&(o=C.width),\"height\"in C&&(d=C.height);(\"color\"in C||\"colors\"in C)&&(y=C.color||C.colors,Array.isArray(y)&&_(1===y.length||r.webgl_draw_buffers,\"multiple render targets not supported\")),y||(\"colorCount\"in C&&(O=0|C.colorCount,_(O>0,\"invalid color buffer count\")),\"colorTexture\"in C&&(x=!!C.colorTexture,w=\"rgba4\"),\"colorType\"in C&&(k=C.colorType,x?(_(r.oes_texture_float||!(\"float\"===k||\"float32\"===k),\"you must enable OES_texture_float in order to use floating point framebuffer objects\"),_(r.oes_texture_half_float||!(\"half float\"===k||\"float16\"===k),\"you must enable OES_texture_half_float in order to use 16-bit floating point framebuffer objects\")):\"half float\"===k||\"float16\"===k?(_(r.ext_color_buffer_half_float,\"you must enable EXT_color_buffer_half_float to use 16-bit render buffers\"),w=\"rgba16f\"):\"float\"!==k&&\"float32\"!==k||(_(r.webgl_color_buffer_float,\"you must enable WEBGL_color_buffer_float in order to use 32-bit floating point renderbuffers\"),w=\"rgba32f\"),_.oneOf(k,c,\"invalid color type\")),\"colorFormat\"in C&&(w=C.colorFormat,u.indexOf(w)>=0?x=!0:s.indexOf(w)>=0?x=!1:_.optional((function(){x?_.oneOf(C.colorFormat,u,\"invalid color format for texture\"):_.oneOf(C.colorFormat,s,\"invalid color format for renderbuffer\")})))),(\"depthTexture\"in C||\"depthStencilTexture\"in C)&&(j=!(!C.depthTexture&&!C.depthStencilTexture),_(!j||r.webgl_depth_texture,\"webgl_depth_texture extension not supported\")),\"depth\"in C&&(\"boolean\"==typeof C.depth?p=C.depth:(E=C.depth,g=!1)),\"stencil\"in C&&(\"boolean\"==typeof C.stencil?g=C.stencil:(T=C.stencil,p=!1)),\"depthStencil\"in C&&(\"boolean\"==typeof C.depthStencil?p=g=C.depthStencil:(D=C.depthStencil,p=!1,g=!1))}else o=d=1;var F=null,B=null,V=null,I=null;if(Array.isArray(y))F=y.map(h);else if(y)F=[h(y)];else for(F=new Array(O),a=0;a=0||F[a].renderbuffer&&kt.indexOf(F[a].renderbuffer._renderbuffer.format)>=0,\"framebuffer color attachment \"+a+\" is invalid\"),F[a]&&F[a].texture){var L=At[F[a].texture._texture.format]*_t[F[a].texture._texture.type];null===P?P=L:_(P===L,\"all color attachments much have the same number of bits per pixel.\")}return m(B,o,d),_(!B||B.texture&&6402===B.texture._texture.format||B.renderbuffer&&33189===B.renderbuffer._renderbuffer.format,\"invalid depth attachment for framebuffer object\"),m(V,o,d),_(!V||V.renderbuffer&&36168===V.renderbuffer._renderbuffer.format,\"invalid stencil attachment for framebuffer object\"),m(I,o,d),_(!I||I.texture&&34041===I.texture._texture.format||I.renderbuffer&&34041===I.renderbuffer._renderbuffer.format,\"invalid depth-stencil attachment for framebuffer object\"),A(i),i.width=o,i.height=d,i.colorAttachments=F,i.depthAttachment=B,i.stencilAttachment=V,i.depthStencilAttachment=I,l.color=F.map(v),l.depth=v(B),l.stencil=v(V),l.depthStencil=v(I),l.width=i.width,l.height=i.height,S(i),l}return o.framebufferCount++,l(e,a),t(l,{resize:function(e,t){_(f.next!==i,\"can not resize a framebuffer which is currently in use\");var r=Math.max(0|e,1),n=Math.max(0|t||r,1);if(r===i.width&&n===i.height)return l;for(var a=i.colorAttachments,o=0;o=2,\"invalid shape for framebuffer\"),_(g[0]===g[1],\"cube framebuffer must be square\"),d=g[0]}else\"radius\"in v&&(d=0|v.radius),\"width\"in v?(d=0|v.width,\"height\"in v&&_(v.height===d,\"must be square\")):\"height\"in v&&(d=0|v.height);(\"color\"in v||\"colors\"in v)&&(m=v.color||v.colors,Array.isArray(m)&&_(1===m.length||r.webgl_draw_buffers,\"multiple render targets not supported\")),m||(\"colorCount\"in v&&(b=0|v.colorCount,_(b>0,\"invalid color buffer count\")),\"colorType\"in v&&(_.oneOf(v.colorType,c,\"invalid color type\"),h=v.colorType),\"colorFormat\"in v&&(p=v.colorFormat,_.oneOf(v.colorFormat,u,\"invalid color format for texture\"))),\"depth\"in v&&(l.depth=v.depth),\"stencil\"in v&&(l.stencil=v.stencil),\"depthStencil\"in v&&(l.depthStencil=v.depthStencil)}else d=1;if(m)if(Array.isArray(m))for(s=[],n=0;n0&&(l.depth=i[0].depth,l.stencil=i[0].stencil,l.depthStencil=i[0].depthStencil),i[n]?i[n](l):i[n]=O(l)}return t(o,{width:d,height:d,color:s})}return o(e),t(o,{faces:i,resize:function(e){var t,r=0|e;if(_(r>0&&r<=n.maxCubeMapSize,\"invalid radius for cube fbo\"),r===o.width)return o;var a=o.color;for(t=0;t=0;--e){var t=I[e];t&&t(v,null,0)}a.flush(),m&&m.update()}function ce(){!Q&&I.length>0&&(Q=j.next(Y))}function le(){Q&&(j.cancel(Y),Q=null)}function de(e){e.preventDefault(),o=!0,le(),P.forEach((function(e){e()}))}function me(e){a.getError(),o=!1,f.restore(),k.restore(),x.restore(),S.restore(),O.restore(),E.restore(),A.restore(),m&&m.restore(),T.procs.refresh(),ce(),N.forEach((function(e){e()}))}function pe(e){function r(e,t){var r={},n={};return Object.keys(e).forEach((function(a){var i=e[a];if(D.isDynamic(i))n[a]=D.unbox(i,a);else{if(t&&Array.isArray(i))for(var o=0;o0)return l.call(this,function(e){for(;m.length=0,\"cannot cancel a frame twice\"),I[t]=function e(){var t=dn(I,e);I[t]=I[I.length-1],I.length-=1,I.length<=0&&le()}}}}function ge(){var e=F.viewport,t=F.scissor_box;e[0]=e[1]=t[0]=t[1]=0,v.viewportWidth=v.framebufferWidth=v.drawingBufferWidth=e[2]=t[2]=a.drawingBufferWidth,v.viewportHeight=v.framebufferHeight=v.drawingBufferHeight=e[3]=t[3]=a.drawingBufferHeight}function ye(){v.tick+=1,v.time=we(),ge(),T.procs.poll()}function xe(){S.refresh(),ge(),T.procs.refresh(),m&&m.update()}function we(){return(C()-p)/1e3}xe();var Ae=t(pe,{clear:function(e){if(_(\"object\"==typeof e&&e,\"regl.clear() takes an object as input\"),\"framebuffer\"in e)if(e.framebuffer&&\"framebufferCube\"===e.framebuffer_reglType)for(var r=0;r<6;++r)he(t({framebuffer:e.framebuffer.faces[r]},e),be);else he(e,be);else be(0,e)},prop:D.define.bind(null,1),context:D.define.bind(null,2),this:D.define.bind(null,3),draw:pe({}),buffer:function(e){return x.create(e,34962,!1,!1)},elements:function(e){return w.create(e,!1)},texture:S.create2D,cube:S.createCube,renderbuffer:O.create,framebuffer:E.create,framebufferCube:E.createCube,vao:A.createVAO,attributes:i,frame:ve,on:function(e,t){var r;switch(_.type(t,\"function\",\"listener callback must be a function\"),e){case\"frame\":return ve(t);case\"lost\":r=P;break;case\"restore\":r=N;break;case\"destroy\":r=q;break;default:_.raise(\"invalid event, must be one of frame,lost,restore,destroy\")}return r.push(t),{cancel:function(){for(var e=0;e=0},read:z,destroy:function(){I.length=0,le(),V&&(V.removeEventListener(cn,de),V.removeEventListener(ln,me)),k.clear(),E.clear(),O.clear(),A.clear(),S.clear(),w.clear(),x.clear(),m&&m.clear(),q.forEach((function(e){e()}))},_gl:a,_refresh:xe,poll:function(){ye(),m&&m.update()},now:we,stats:l});return n.onDone(null,Ae),Ae}},\"object\"==typeof r&&void 0!==t?t.exports=o():\"function\"==typeof define&&define.amd?define(o):i.createREGL=o()},\n 413: function _(t,e,a,s,r){s();const n=t(414),_=t(9),o=t(12);class c{constructor(t){this._regl=t,this._map=new Map}_create_texture(t){const e=t.length;let a=0;const s=[];let r=0,_=0;for(let n=0;nc[f+1]&&f++;const s=t[f],n=c[f]+.5*s;let o=.5*s-Math.abs(a-n);f%2==1&&(o=-o),m[e]=Math.round(255*(o-r)/(_-r))}return[[a,u,r,_],this._regl.texture({shape:[l,1,1],data:m,wrapS:\"repeat\",format:\"alpha\",type:\"uint8\",mag:\"linear\",min:\"linear\"})]}_get_key(t){return t.join(\",\")}_get_or_create(t){const e=this._get_key(t);let a=this._map.get(e);if(null==a){const s=(0,n.gcd)(t);if(s>1){t=(0,o.map)(t,(t=>t/s)),a=this._get_or_create(t);const[r,n,_]=a;a=[r,n,s],this._map.set(e,a)}else{const[r,n]=this._create_texture(t);a=[r,n,s],this._map.set(e,a)}}return a}get(t){return t.length%2==1&&(t=(0,_.concat)([t,t])),this._get_or_create(t)}}a.DashCache=c,c.__name__=\"DashCache\"},\n 414: function _(n,t,e,r,o){function u(n,t){let e,r;n>t?(e=n,r=t):(e=t,r=n);let o=e%r;for(;0!=o;)e=r,r=o,o=e%r;return r}r(),e.gcd=function(n){let t=n[0];for(let e=1;e= 0.0 ? 1.0 : -1.0;\\n}\\n\\nvoid main()\\n{\\n if (a_show_curr < 0.5) {\\n // Line segment has non-finite value at one or both ends, do not render.\\n gl_Position = vec4(-2.0, -2.0, 0.0, 1.0);\\n return;\\n }\\n\\n const float min_miter_factor_round_join_mesh = sqrt(2.0);\\n\\n int join_type = int(u_line_join + 0.5);\\n int cap_type = int(u_line_cap + 0.5);\\n float halfwidth = 0.5*(u_linewidth + u_antialias);\\n vec2 segment_along = normalize(a_point_end - a_point_start); // unit vector.\\n v_segment_length = length(a_point_end - a_point_start);\\n vec2 segment_right = right_vector(segment_along); // unit vector.\\n vec2 xy;\\n\\n bool miter_too_large_start = false;\\n bool miter_too_large_end = false;\\n\\n v_coords.y = a_position.y*halfwidth; // Overwritten later for end points.\\n\\n bool has_start_cap = a_show_prev < 0.5;\\n bool has_end_cap = a_show_next < 0.5;\\n\\n vec2 point_normal_start;\\n float cos_theta_start;\\n float turn_right_start;\\n if (has_start_cap)\\n point_normal_start = segment_right;\\n else {\\n vec2 prev_right = right_vector(normalize(a_point_start - a_point_prev));\\n point_normal_start = normalize(segment_right + prev_right);\\n cos_theta_start = dot(segment_right, point_normal_start); // Always +ve\\n turn_right_start = sign_no_zero(dot(segment_right, a_point_prev - a_point_start));\\n }\\n\\n vec2 point_normal_end;\\n float cos_theta_end;\\n float turn_right_end;\\n if (has_end_cap)\\n point_normal_end = segment_right;\\n else {\\n vec2 next_right = right_vector(normalize(a_point_next - a_point_end));\\n point_normal_end = normalize(segment_right + next_right);\\n cos_theta_end = dot(segment_right, point_normal_end); // Always +ve\\n turn_right_end = sign_no_zero(dot(segment_right, a_point_next - a_point_end));\\n }\\n\\n float miter_factor_start = 1.0 / dot(segment_right, point_normal_start);\\n float miter_factor_end = 1.0 / dot(segment_right, point_normal_end);\\n if (join_type == miter_join) {\\n // If miter too large, use bevel join instead.\\n miter_too_large_start = (miter_factor_start > u_miter_limit);\\n miter_too_large_end = (miter_factor_end > u_miter_limit);\\n }\\n\\n float sign_at_start = -sign(a_position.x); // +ve at segment start, -ve end.\\n vec2 point = sign_at_start > 0.0 ? a_point_start : a_point_end;\\n vec2 adjacent_point =\\n sign_at_start > 0.0 ? (has_start_cap ? a_point_start : a_point_prev)\\n : (has_end_cap ? a_point_end : a_point_next);\\n\\n if ( (has_start_cap && sign_at_start > 0.0) ||\\n (has_end_cap && sign_at_start < 0.0) ) {\\n // Cap.\\n xy = point - segment_right*(halfwidth*a_position.y);\\n if (cap_type == butt_cap)\\n xy -= sign_at_start*0.5*u_antialias*segment_along;\\n else\\n xy -= sign_at_start*halfwidth*segment_along;\\n }\\n else { // Join.\\n // +ve if turning to right, -ve if to left.\\n float turn_sign = sign_at_start > 0.0 ? turn_right_start : turn_right_end;\\n\\n vec2 adjacent_right = sign_at_start*normalize(right_vector(point - adjacent_point));\\n vec2 point_right = normalize(segment_right + adjacent_right);\\n float miter_factor = sign_at_start > 0.0 ? miter_factor_start : miter_factor_end;\\n bool miter_too_large = sign_at_start > 0.0 ? miter_too_large_start : miter_too_large_end;\\n\\n if (abs(a_position.x) > 1.5) {\\n // Outer point, meets prev/next segment.\\n float factor; // multiplied by halfwidth...\\n\\n if (join_type == bevel_join || (join_type == miter_join && miter_too_large))\\n factor = 1.0 / miter_factor; // cos_theta.\\n else if (join_type == round_join &&\\n miter_factor > min_miter_factor_round_join_mesh)\\n factor = 1.0;\\n else // miter, or round (small angle only).\\n factor = miter_factor;\\n\\n xy = point - point_right*(halfwidth*turn_sign*factor);\\n v_coords.y = turn_sign*halfwidth*factor / miter_factor;\\n }\\n else if (turn_sign*a_position.y < 0.0) {\\n // Inner point, meets prev/next segment.\\n float len = halfwidth*miter_factor;\\n float segment_len = v_segment_length;\\n float adjacent_len = distance(point, adjacent_point);\\n\\n if (len <= min(segment_len, adjacent_len))\\n // Normal behaviour.\\n xy = point - point_right*(len*a_position.y);\\n else\\n // For short wide line segments the inner point using the above\\n // calculation can be outside of the line. Here clipping it.\\n xy = point + segment_right*(halfwidth*turn_sign);\\n }\\n else {\\n // Point along outside edge.\\n xy = point - segment_right*(halfwidth*a_position.y);\\n if (join_type == round_join &&\\n miter_factor > min_miter_factor_round_join_mesh) {\\n xy = line_intersection(xy, segment_along,\\n point - turn_sign*point_right*halfwidth,\\n right_vector(point_right));\\n }\\n }\\n }\\n\\n vec2 pos = xy + 0.5; // Bokeh's offset.\\n pos /= u_canvas_size / u_pixel_ratio; // in 0..1\\n gl_Position = vec4(2.0*pos.x - 1.0, 1.0 - 2.0*pos.y, 0.0, 1.0);\\n\\n v_coords.x = dot(xy - a_point_start, segment_along);\\n v_flags = float(int(has_start_cap) +\\n 2*int(has_end_cap) +\\n 4*int(miter_too_large_start) +\\n 8*int(miter_too_large_end));\\n v_cos_theta_turn_right_start = cos_theta_start*turn_right_start;\\n v_cos_theta_turn_right_end = cos_theta_end*turn_right_end;\\n\\n#ifdef DASHED\\n v_length_so_far = a_length_so_far;\\n#endif\\n}\\n\"},\n 416: function _(n,t,a,i,e){i();a.default=\"\\nprecision mediump float;\\n\\nconst int butt_cap = 0;\\nconst int round_cap = 1;\\nconst int square_cap = 2;\\n\\nconst int miter_join = 0;\\nconst int round_join = 1;\\nconst int bevel_join = 2;\\n\\nuniform float u_linewidth;\\nuniform float u_antialias;\\nuniform float u_line_join;\\nuniform float u_line_cap;\\nuniform vec4 u_line_color;\\n#ifdef DASHED\\nuniform sampler2D u_dash_tex;\\nuniform vec4 u_dash_tex_info;\\nuniform float u_dash_scale;\\nuniform float u_dash_offset;\\n#endif\\n\\nvarying float v_segment_length;\\nvarying vec2 v_coords;\\nvarying float v_flags;\\nvarying float v_cos_theta_turn_right_start;\\nvarying float v_cos_theta_turn_right_end;\\n#ifdef DASHED\\nvarying float v_length_so_far;\\n#endif\\n\\nfloat cross_z(in vec2 v0, in vec2 v1)\\n{\\n return v0.x*v1.y - v0.y*v1.x;\\n}\\n\\nfloat point_line_side(in vec2 point, in vec2 start, in vec2 end)\\n{\\n // +ve if point to right of line.\\n // Alternatively could do dot product with right_vector.\\n return cross_z(point - start, end - start);\\n}\\n\\nfloat point_line_distance(in vec2 point, in vec2 start, in vec2 end)\\n{\\n return point_line_side(point, start, end) / distance(start, end);\\n}\\n\\nvec2 right_vector(in vec2 v)\\n{\\n return vec2(v.y, -v.x);\\n}\\n\\nfloat bevel_join_distance(in float sign_start, in float halfwidth)\\n{\\n float cos_theta_turn_right = sign_start > 0.0 ? v_cos_theta_turn_right_start\\n : v_cos_theta_turn_right_end;\\n float cos_theta = abs(cos_theta_turn_right);\\n float turn_right = sign(cos_theta_turn_right);\\n float distance_along = sign_start > 0.0 ? 0.0 : v_segment_length;\\n\\n // In v_coords reference frame (x is along segment, y across).\\n vec2 line_start = vec2(distance_along, halfwidth*turn_right);\\n float sin_alpha = cos_theta;\\n float cos_alpha = sqrt(1.0 - sin_alpha*sin_alpha);\\n vec2 line_along = vec2(-sign_start*turn_right*sin_alpha, -cos_alpha);\\n\\n return halfwidth + sign_start*point_line_distance(\\n v_coords, line_start, line_start+line_along);\\n}\\n\\nfloat cap(in int cap_type, in float x, in float y)\\n{\\n // x is distance along segment in direction away from end of segment,\\n // y is distance across segment.\\n if (cap_type == butt_cap)\\n return max(0.5*u_linewidth - x, abs(y));\\n else if (cap_type == square_cap)\\n return max(-x, abs(y));\\n else // cap_type == round_cap\\n return distance(vec2(min(x, 0.0), y), vec2(0.0, 0.0));\\n}\\n\\nfloat distance_to_alpha(in float dist)\\n{\\n return 1.0 - smoothstep(0.5*(u_linewidth - u_antialias),\\n 0.5*(u_linewidth + u_antialias), dist);\\n}\\n\\n#ifdef DASHED\\nfloat dash_distance(in float x)\\n{\\n // x is in direction of v_coords.x, i.e. along segment.\\n float tex_length = u_dash_tex_info.x;\\n float tex_offset = u_dash_tex_info.y;\\n float tex_dist_min = u_dash_tex_info.z;\\n float tex_dist_max = u_dash_tex_info.w;\\n\\n // Apply offset.\\n x += v_length_so_far - u_dash_scale*tex_offset + u_dash_offset;\\n\\n // Interpolate within texture to obtain distance to dash.\\n float dist = texture2D(u_dash_tex,\\n vec2(x / (tex_length*u_dash_scale), 0.0)).a;\\n\\n // Scale distance within min and max limits.\\n dist = tex_dist_min + dist*(tex_dist_max - tex_dist_min);\\n\\n return u_dash_scale*dist;\\n}\\n\\nfloat clip_dash_distance(in float x, in float offset, in float sign_along)\\n{\\n // Return clipped dash distance, sign_along is +1.0 if looking forward\\n // into next segment and -1.0 if looking backward into previous segment.\\n float half_antialias = 0.5*u_antialias;\\n\\n if (sign_along*x > half_antialias) {\\n // Outside antialias region, use usual dash distance.\\n return dash_distance(offset + x);\\n }\\n else {\\n // Inside antialias region.\\n // Dash distance at edge of antialias region clipped to half_antialias.\\n float edge_dist = min(dash_distance(offset + sign_along*half_antialias), half_antialias);\\n\\n // Physical distance from dash distance at edge of antialias region.\\n return edge_dist + sign_along*x - half_antialias;\\n }\\n}\\n\\nmat2 rotation_matrix(in float sign_start)\\n{\\n // Rotation matrix for v_coords from this segment to prev or next segment.\\n float cos_theta_turn_right = sign_start > 0.0 ? v_cos_theta_turn_right_start\\n : v_cos_theta_turn_right_end;\\n float cos_theta = abs(cos_theta_turn_right);\\n float turn_right = sign(cos_theta_turn_right);\\n\\n float sin_theta = sqrt(1.0 - cos_theta*cos_theta)*sign_start*turn_right;\\n float cos_2theta = 2.0*cos_theta*cos_theta - 1.0;\\n float sin_2theta = 2.0*sin_theta*cos_theta;\\n return mat2(cos_2theta, -sin_2theta, sin_2theta, cos_2theta);\\n}\\n#endif\\n\\nvoid main()\\n{\\n int join_type = int(u_line_join + 0.5);\\n int cap_type = int(u_line_cap + 0.5);\\n float halfwidth = 0.5*(u_linewidth + u_antialias);\\n float half_antialias = 0.5*u_antialias;\\n\\n // Extract flags.\\n int flags = int(v_flags + 0.5);\\n bool miter_too_large_end = (flags / 8 > 0);\\n flags -= 8*int(miter_too_large_end);\\n bool miter_too_large_start = (flags / 4 > 0);\\n flags -= 4*int(miter_too_large_start);\\n bool has_end_cap = (flags / 2 > 0);\\n flags -= 2*int(has_end_cap);\\n bool has_start_cap = flags > 0;\\n\\n float dist = v_coords.y; // For straight segment, and miter join.\\n\\n // Along-segment coords with respect to end of segment, +ve inside segment\\n // so equivalent to v_coords.x at start of segment.\\n float end_coords_x = v_segment_length - v_coords.x;\\n\\n if (v_coords.x <= half_antialias) {\\n // At start of segment, either cap or join.\\n if (has_start_cap)\\n dist = cap(cap_type, v_coords.x, v_coords.y);\\n else if (join_type == round_join)\\n dist = distance(v_coords, vec2(0.0, 0.0));\\n else if (join_type == bevel_join ||\\n (join_type == miter_join && miter_too_large_start))\\n dist = max(abs(dist), bevel_join_distance(1.0, halfwidth));\\n // else a miter join which uses the default dist calculation.\\n }\\n else if (end_coords_x <= half_antialias) {\\n // At end of segment, either cap or join.\\n if (has_end_cap)\\n dist = cap(cap_type, end_coords_x, v_coords.y);\\n else if (join_type == round_join)\\n dist = distance(v_coords, vec2(v_segment_length, 0));\\n else if ((join_type == bevel_join ||\\n (join_type == miter_join && miter_too_large_end)))\\n dist = max(abs(dist), bevel_join_distance(-1.0, halfwidth));\\n // else a miter join which uses the default dist calculation.\\n }\\n\\n float alpha = distance_to_alpha(abs(dist));\\n\\n#ifdef DASHED\\n if (u_dash_tex_info.x >= 0.0) {\\n // Dashes in straight segments (outside of joins) are easily calculated.\\n dist = dash_distance(v_coords.x);\\n\\n if (!has_start_cap && cap_type == butt_cap) {\\n if (v_coords.x < half_antialias) {\\n // Outer of start join rendered solid color or not at all\\n // depending on whether corner point is in dash or gap, with\\n // antialiased ends.\\n if (dash_distance(0.0) > 0.0) {\\n // Corner is solid color.\\n dist = max(dist, min(half_antialias, -v_coords.x));\\n // Avoid visible antialiasing band between corner and dash.\\n dist = max(dist, dash_distance(half_antialias));\\n }\\n else {\\n // Use large negative value so corner not colored.\\n dist = -halfwidth;\\n\\n if (v_coords.x > -half_antialias) {\\n // Consider antialias region of dash after start region.\\n float edge_dist = min(dash_distance(half_antialias), half_antialias);\\n dist = max(dist, edge_dist + v_coords.x - half_antialias);\\n }\\n }\\n }\\n\\n vec2 prev_coords = rotation_matrix(1.0)*v_coords;\\n\\n if (abs(prev_coords.y) < halfwidth && prev_coords.x < half_antialias) {\\n // Extend dashes across from end of previous segment, with antialiased end.\\n float new_dist = clip_dash_distance(prev_coords.x, 0.0, -1.0);\\n new_dist = min(new_dist, 0.5*u_linewidth - abs(prev_coords.y));\\n dist = max(dist, new_dist);\\n }\\n }\\n\\n if (!has_end_cap && cap_type == butt_cap) {\\n if (end_coords_x < half_antialias) {\\n // Similar for end join.\\n if (dash_distance(v_segment_length) > 0.0) {\\n // Corner is solid color.\\n dist = max(dist, min(half_antialias, -end_coords_x));\\n // Avoid visible antialiasing band between corner and dash.\\n dist = max(dist, dash_distance(v_segment_length - half_antialias));\\n }\\n else {\\n // Use large negative value so corner not colored.\\n dist = -halfwidth;\\n\\n if (end_coords_x > -half_antialias) {\\n // Consider antialias region of dash before end region.\\n float edge_dist = min(dash_distance(v_segment_length - half_antialias),\\n half_antialias);\\n dist = max(dist, edge_dist + end_coords_x - half_antialias);\\n }\\n }\\n }\\n\\n vec2 next_coords = rotation_matrix(-1.0)*(v_coords - vec2(v_segment_length, 0.0));\\n\\n if (abs(next_coords.y) < halfwidth && next_coords.x > -half_antialias) {\\n // Extend dashes across from next segment, with antialiased end.\\n float new_dist = clip_dash_distance(next_coords.x, v_segment_length, 1.0);\\n new_dist = min(new_dist, 0.5*u_linewidth - abs(next_coords.y));\\n dist = max(dist, new_dist);\\n }\\n }\\n\\n dist = cap(cap_type, dist, v_coords.y);\\n\\n float dash_alpha = distance_to_alpha(dist);\\n alpha = min(alpha, dash_alpha);\\n }\\n#endif\\n\\n alpha = u_line_color.a*alpha;\\n gl_FragColor = vec4(u_line_color.rgb*alpha, alpha); // Premultiplied alpha.\\n}\\n\"},\n 417: function _(n,i,e,t,a){t();e.default=\"\\nprecision mediump float;\\n\\nattribute vec2 a_position;\\nattribute vec2 a_center;\\nattribute float a_width;\\nattribute float a_height;\\nattribute float a_angle; // In radians\\nattribute float a_linewidth;\\nattribute vec4 a_line_color;\\nattribute vec4 a_fill_color;\\nattribute float a_line_cap;\\nattribute float a_line_join;\\nattribute float a_show;\\n#ifdef HATCH\\nattribute float a_hatch_pattern;\\nattribute float a_hatch_scale;\\nattribute float a_hatch_weight;\\nattribute vec4 a_hatch_color;\\n#endif\\n\\nuniform float u_pixel_ratio;\\nuniform vec2 u_canvas_size;\\nuniform float u_antialias;\\nuniform float u_size_hint;\\n\\nvarying float v_linewidth;\\nvarying vec2 v_size; // 2D size for rects compared to 1D for markers.\\nvarying vec4 v_line_color;\\nvarying vec4 v_fill_color;\\nvarying float v_line_cap;\\nvarying float v_line_join;\\nvarying vec2 v_coords;\\n#ifdef HATCH\\nvarying float v_hatch_pattern;\\nvarying float v_hatch_scale;\\nvarying float v_hatch_weight;\\nvarying vec4 v_hatch_color;\\nvarying vec2 v_hatch_coords;\\n#endif\\n\\nvoid main()\\n{\\n if (a_show < 0.5) {\\n // Do not show this rect.\\n gl_Position = vec4(-2.0, -2.0, 0.0, 1.0);\\n return;\\n }\\n\\n v_size = vec2(a_width, a_height);\\n v_linewidth = a_linewidth;\\n v_line_color = a_line_color;\\n v_fill_color = a_fill_color;\\n v_line_cap = a_line_cap;\\n v_line_join = a_line_join;\\n\\n if (v_linewidth < 1.0) {\\n // Linewidth less than 1 is implemented as 1 but with reduced alpha.\\n v_line_color.a *= v_linewidth;\\n v_linewidth = 1.0;\\n }\\n\\n#ifdef HATCH\\n v_hatch_pattern = a_hatch_pattern;\\n v_hatch_scale = a_hatch_scale;\\n v_hatch_weight = a_hatch_weight;\\n v_hatch_color = a_hatch_color;\\n#endif\\n\\n vec2 enclosing_size;\\n // Need extra size of (v_linewidth+u_antialias) if edge of marker parallel to\\n // edge of bounding box. If symmetric spike towards edge then multiply by\\n // 1/cos(theta) where theta is angle between spike and bbox edges.\\n int size_hint = int(u_size_hint + 0.5);\\n if (size_hint == 1) // Dash\\n enclosing_size = vec2(v_size.x + v_linewidth + u_antialias,\\n v_linewidth + u_antialias);\\n else if (size_hint == 2) // Dot\\n enclosing_size = 0.25*v_size + u_antialias;\\n else if (size_hint == 3) // Diamond\\n enclosing_size = vec2(v_size.x*(2.0/3.0) + (v_linewidth + u_antialias)*1.20185,\\n v_size.y + (v_linewidth + u_antialias)*1.80278);\\n else if (size_hint == 4) // Hex\\n enclosing_size = v_size + (v_linewidth + u_antialias)*vec2(2.0/sqrt(3.0), 1.0);\\n else if (size_hint == 5) // Square pin\\n enclosing_size = v_size + (v_linewidth + u_antialias)*3.1;\\n else if (size_hint == 6) // Triangle\\n enclosing_size = vec2(v_size.x + (v_linewidth + u_antialias)*sqrt(3.0),\\n v_size.y*(2.0/sqrt(3.0)) + (v_linewidth + u_antialias)*2.0);\\n else if (size_hint == 7) // Triangle pin\\n enclosing_size = v_size + (v_linewidth + u_antialias)*vec2(4.8, 6.0);\\n else if (size_hint == 8) // Star\\n enclosing_size = vec2(v_size.x*0.95106 + (v_linewidth + u_antialias)*3.0,\\n v_size.y + (v_linewidth + u_antialias)*3.2);\\n else\\n enclosing_size = v_size + v_linewidth + u_antialias;\\n\\n // Coordinates in rotated frame with respect to center of marker, used for\\n // distance functions in fragment shader.\\n v_coords = a_position*enclosing_size;\\n\\n float c = cos(-a_angle);\\n float s = sin(-a_angle);\\n mat2 rotation = mat2(c, -s, s, c);\\n\\n vec2 pos = a_center + rotation*v_coords;\\n#ifdef HATCH\\n // Coordinates for hatching in unrotated frame of reference.\\n v_hatch_coords = pos - 0.5;\\n#endif\\n pos += 0.5; // Make up for Bokeh's offset.\\n pos /= u_canvas_size / u_pixel_ratio; // 0 to 1.\\n gl_Position = vec4(2.0*pos.x - 1.0, 1.0 - 2.0*pos.y, 0.0, 1.0);\\n}\\n\"},\n 418: function _(n,i,e,t,a){t();e.default=\"\\nprecision mediump float;\\n\\nconst float SQRT2 = sqrt(2.0);\\nconst float SQRT3 = sqrt(3.0);\\nconst float PI = 3.14159265358979323846;\\n\\nconst int butt_cap = 0;\\nconst int round_cap = 1;\\nconst int square_cap = 2;\\n\\nconst int miter_join = 0;\\nconst int round_join = 1;\\nconst int bevel_join = 2;\\n\\n#ifdef HATCH\\nconst int hatch_dot = 1;\\nconst int hatch_ring = 2;\\nconst int hatch_horizontal_line = 3;\\nconst int hatch_vertical_line = 4;\\nconst int hatch_cross = 5;\\nconst int hatch_horizontal_dash = 6;\\nconst int hatch_vertical_dash = 7;\\nconst int hatch_spiral = 8;\\nconst int hatch_right_diagonal_line = 9;\\nconst int hatch_left_diagonal_line = 10;\\nconst int hatch_diagonal_cross = 11;\\nconst int hatch_right_diagonal_dash = 12;\\nconst int hatch_left_diagonal_dash = 13;\\nconst int hatch_horizontal_wave = 14;\\nconst int hatch_vertical_wave = 15;\\nconst int hatch_criss_cross = 16;\\n#endif\\n\\nuniform float u_antialias;\\n\\nvarying float v_linewidth;\\nvarying vec2 v_size;\\nvarying vec4 v_line_color;\\nvarying vec4 v_fill_color;\\nvarying float v_line_cap;\\nvarying float v_line_join;\\nvarying vec2 v_coords;\\n#ifdef HATCH\\nvarying float v_hatch_pattern;\\nvarying float v_hatch_scale;\\nvarying float v_hatch_weight;\\nvarying vec4 v_hatch_color;\\nvarying vec2 v_hatch_coords;\\n#endif\\n\\n// Lines within the marker (dot, cross, x and y) are added at the end as they are\\n// on top of the fill rather than astride it.\\n#if defined(USE_CIRCLE_DOT) || defined(USE_DIAMOND_DOT) || defined(USE_DOT) || defined(USE_HEX_DOT) || defined(USE_SQUARE_DOT) || defined(USE_STAR_DOT) || defined(USE_TRIANGLE_DOT)\\n #define APPEND_DOT\\n#endif\\n\\n#if defined(USE_CIRCLE_CROSS) || defined(USE_SQUARE_CROSS)\\n #define APPEND_CROSS\\n#endif\\n\\n#ifdef USE_DIAMOND_CROSS\\n #define APPEND_CROSS_2\\n#endif\\n\\n#ifdef USE_CIRCLE_X\\n #define APPEND_X\\n #define APPEND_X_LEN (0.5*v_size.x)\\n#endif\\n\\n#ifdef USE_SQUARE_X\\n #define APPEND_X\\n #define APPEND_X_LEN (v_size.x/SQRT2)\\n#endif\\n\\n#ifdef USE_CIRCLE_Y\\n #define APPEND_Y\\n#endif\\n\\n#if defined(USE_ASTERISK) || defined(USE_CROSS) || defined(USE_DASH) || defined(USE_DOT) || defined(USE_X) || defined(USE_Y)\\n // No fill.\\n #define LINE_ONLY\\n#endif\\n\\n#if defined(LINE_ONLY) || defined(APPEND_CROSS) || defined(APPEND_CROSS_2) || defined(APPEND_X) || defined(APPEND_Y)\\nfloat end_cap_distance(in vec2 p, in vec2 end_point, in vec2 unit_direction, in int line_cap)\\n{\\n vec2 offset = p - end_point;\\n if (line_cap == butt_cap)\\n return dot(offset, unit_direction) + 0.5*v_linewidth;\\n else if (line_cap == square_cap)\\n return dot(offset, unit_direction);\\n else if (line_cap == round_cap && dot(offset, unit_direction) > 0.0)\\n return length(offset);\\n else\\n // Default is outside of line and should be -0.5*(v_linewidth+u_antialias) or less,\\n // so here avoid the multiplication.\\n return -v_linewidth-u_antialias;\\n}\\n#endif\\n\\n#if !(defined(LINE_ONLY) || defined(USE_SQUARE_PIN) || defined(USE_TRIANGLE_PIN))\\n// For line join at a vec2 corner where 2 line segments meet, consider bevel points which are the 2\\n// points obtained by moving half a linewidth away from the corner point in the directions normal to\\n// the line segments. The line through these points is the bevel line, characterised by a vec2\\n// unit_normal and offset distance from the corner point. Edge of bevel join straddles this line,\\n// round join occurs outside of this line centred on the corner point. In general\\n// offset = (linewidth/2)*sin(alpha/2)\\n// where alpha is the angle between the 2 line segments at the corner.\\nfloat line_join_distance_no_miter(\\n in vec2 p, in vec2 corner, in vec2 unit_normal, in float offset, in int line_join)\\n{\\n // Simplified version of line_join_distance ignoring miter which most markers do implicitly\\n // as they are composed of straight line segments.\\n float dist_outside = dot((p - corner), unit_normal) - offset;\\n\\n if (line_join == bevel_join && dist_outside > -0.5*u_antialias)\\n return dist_outside + 0.5*v_linewidth;\\n else if (dist_outside > 0.0) // round_join\\n return distance(p, corner);\\n else\\n // Default is outside of line and should be -0.5*(v_linewidth+u_antialias) or less,\\n // so here avoid the multiplication.\\n return -v_linewidth-u_antialias;\\n}\\n#endif\\n\\n#if defined(USE_SQUARE_PIN) || defined(USE_TRIANGLE_PIN)\\n// Line join distance including miter but only one-sided check as assuming use of symmetry in\\n// calling function.\\nfloat line_join_distance_incl_miter(\\n in vec2 p, in vec2 corner, in vec2 unit_normal, in float offset, in int line_join,\\n vec2 miter_unit_normal)\\n{\\n float dist_outside = dot((p - corner), unit_normal) - offset;\\n\\n if (line_join == miter_join && dist_outside > 0.0)\\n return dot((p - corner), miter_unit_normal);\\n else if (line_join == bevel_join && dist_outside > -0.5*u_antialias)\\n return dist_outside + 0.5*v_linewidth;\\n else if (dist_outside > 0.0) // round_join\\n return distance(p, corner);\\n else\\n return -v_linewidth-u_antialias;\\n}\\n#endif\\n\\n#if defined(APPEND_CROSS) || defined(APPEND_X) || defined(USE_ASTERISK) || defined(USE_CROSS) || defined(USE_X)\\nfloat one_cross(in vec2 p, in int line_cap, in float len)\\n{\\n p = abs(p);\\n p = (p.y > p.x) ? p.yx : p.xy;\\n float dist = p.y;\\n float end_dist = end_cap_distance(p, vec2(len, 0.0), vec2(1.0, 0.0), line_cap);\\n return max(dist, end_dist);\\n}\\n#endif\\n\\n#ifdef APPEND_CROSS_2\\nfloat one_cross_2(in vec2 p, in int line_cap, in vec2 lengths)\\n{\\n // Cross with different length in x and y directions.\\n p = abs(p);\\n bool switch_xy = (p.y > p.x);\\n p = switch_xy ? p.yx : p.xy;\\n float len = switch_xy ? lengths.y : lengths.x;\\n float dist = p.y;\\n float end_dist = end_cap_distance(p, vec2(len, 0.0), vec2(1.0, 0.0), line_cap);\\n return max(dist, end_dist);\\n}\\n#endif\\n\\n#if defined(APPEND_Y) || defined(USE_Y)\\nfloat one_y(in vec2 p, in int line_cap, in float len)\\n{\\n p = vec2(abs(p.x), -p.y);\\n\\n // End point of line to right is (1/2, 1/3)*len*SQRT3.\\n // Unit vector along line is (1/2, 1/3)*k where k = 6/SQRT13.\\n const float k = 6.0/sqrt(13.0);\\n vec2 unit_along = vec2(0.5*k, k/3.0);\\n vec2 end_point = vec2(0.5*len*SQRT3, len*SQRT3/3.0);\\n float dist = max(abs(dot(p, vec2(-unit_along.y, unit_along.x))),\\n end_cap_distance(p, end_point, unit_along, line_cap));\\n\\n if (p.y < 0.0) {\\n // Vertical line.\\n float vert_dist = max(p.x,\\n end_cap_distance(p, vec2(0.0, -len), vec2(0.0, -1.0), line_cap));\\n dist = min(dist, vert_dist);\\n }\\n return dist;\\n}\\n#endif\\n\\n// One marker_distance function per marker type.\\n// Distance is zero on edge of marker, +ve outside and -ve inside.\\n\\n#ifdef USE_ASTERISK\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n vec2 p_diag = vec2((p.x + p.y)/SQRT2, (p.x - p.y)/SQRT2);\\n float len = 0.5*v_size.x;\\n return min(one_cross(p, line_cap, len), // cross\\n one_cross(p_diag, line_cap, len)); // x\\n}\\n#endif\\n\\n#if defined(USE_CIRCLE) || defined(USE_CIRCLE_CROSS) || defined(USE_CIRCLE_DOT) || defined(USE_CIRCLE_X) || defined(USE_CIRCLE_Y)\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n return length(p) - 0.5*v_size.x;\\n}\\n#endif\\n\\n#ifdef USE_CROSS\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n return one_cross(p, line_cap, 0.5*v_size.x);\\n}\\n#endif\\n\\n#ifdef USE_DASH\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n p = abs(p);\\n float dist = p.y;\\n float end_dist = end_cap_distance(p, vec2(0.5*v_size.x, 0.0), vec2(1.0, 0.0), line_cap);\\n return max(dist, end_dist);\\n}\\n#endif\\n\\n#if defined(USE_DIAMOND) || defined(USE_DIAMOND_CROSS) || defined(USE_DIAMOND_DOT)\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n // Only need to consider +ve quadrant, the 2 end points are (2r/3, 0) and (0, r)\\n // where r = radius = v_size.x/2.\\n // Line has outward-facing unit normal vec2(1, 2/3)/k where k = SQRT13/3\\n // hence vec2(3, 2)/SQRT13, and distance from origin of 2r/(3k) = 2r/SQRT13.\\n p = abs(p);\\n float r = 0.5*v_size.x;\\n const float SQRT13 = sqrt(13.0);\\n float dist = dot(p, vec2(3.0, 2.0))/SQRT13 - 2.0*r/SQRT13;\\n\\n if (line_join != miter_join) {\\n dist = max(dist, line_join_distance_no_miter(\\n p, vec2(0.0, r), vec2(0.0, 1.0), v_linewidth/SQRT13, line_join));\\n\\n dist = max(dist, line_join_distance_no_miter(\\n p, vec2(r*2.0/3.0, 0.0), vec2(1.0, 0.0), v_linewidth*(1.5/SQRT13), line_join));\\n }\\n\\n return dist;\\n}\\n#endif\\n\\n#ifdef USE_DOT\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Dot is always appended.\\n return v_linewidth+u_antialias;\\n}\\n#endif\\n\\n#if defined(USE_HEX) || defined(USE_HEX_DOT)\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // A regular hexagon has v_size.x == v.size_y = r where r is the length of\\n // each of the 3 sides of the 6 equilateral triangles that comprise the hex.\\n // Only consider +ve quadrant, the 3 corners are at (0, h), (rx/2, h), (rx, 0)\\n // where rx = 0.5*v_size.x, ry = 0.5*v_size.y and h = ry*SQRT3/2.\\n // Sloping line has outward normal vec2(h, rx/2). Length of this is\\n // len = sqrt(h**2 + rx**2/4) to give unit normal (h, rx/2)/len and distance\\n // from origin of this line is rx*h/len.\\n p = abs(p);\\n float rx = v_size.x/2.0;\\n float h = v_size.y*(SQRT3/4.0);\\n float len_normal = sqrt(h*h + 0.25*rx*rx);\\n vec2 unit_normal = vec2(h, 0.5*rx) / len_normal;\\n float dist = max(dot(p, unit_normal) - rx*h/len_normal, // Distance from sloping line.\\n p.y - h); // Distance from horizontal line.\\n\\n if (line_join != miter_join) {\\n dist = max(dist, line_join_distance_no_miter(\\n p, vec2(rx, 0.0), vec2(1.0, 0.0), 0.5*v_linewidth*unit_normal.x, line_join));\\n\\n unit_normal = normalize(unit_normal + vec2(0.0, 1.0)); // At (rx/2, h) corner.\\n dist = max(dist, line_join_distance_no_miter(\\n p, vec2(0.5*rx, h), unit_normal, 0.5*v_linewidth*unit_normal.y, line_join));\\n }\\n return dist;\\n}\\n#endif\\n\\n#ifdef USE_PLUS\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n // Only need to consider one octant, the +ve quadrant with x >= y.\\n p = abs(p);\\n p = (p.y > p.x) ? p.yx : p.xy;\\n\\n // 3 corners are (r, 0), (r, 3r/8) and (3r/8, 3r/8).\\n float r = 0.5*v_size.x;\\n p = p - vec2(r, 0.375*r); // Distance with respect to outside corner\\n float dist = max(p.x, p.y);\\n\\n if (line_join != miter_join) {\\n // Outside corner\\n dist = max(dist, line_join_distance_no_miter(\\n p, vec2(0.0, 0.0), vec2(1.0/SQRT2, 1.0/SQRT2), v_linewidth/(2.0*SQRT2), line_join));\\n\\n // Inside corner\\n dist = min(dist, -line_join_distance_no_miter(\\n p, vec2(-5.0*r/8.0, 0.0), vec2(-1.0/SQRT2, -1.0/SQRT2), v_linewidth/(2.0*SQRT2), line_join));\\n }\\n\\n return dist;\\n}\\n#endif\\n\\n#if defined(USE_SQUARE) || defined(USE_SQUARE_CROSS) || defined(USE_SQUARE_DOT) || defined(USE_SQUARE_X)\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n vec2 p2 = abs(p) - v_size/2.0; // Offset from corner\\n float dist = max(p2.x, p2.y);\\n\\n if (line_join != miter_join)\\n dist = max(dist, line_join_distance_no_miter(\\n p2, vec2(0.0, 0.0), vec2(1.0/SQRT2, 1.0/SQRT2), v_linewidth/(2.0*SQRT2), line_join));\\n\\n return dist;\\n}\\n#endif\\n\\n#ifdef USE_SQUARE_PIN\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n p = abs(p);\\n p = (p.y > p.x) ? p.yx : p.xy;\\n // p is in octant between y=0 and y=x.\\n // Quadratic bezier curve passes through (r, r), (11r/16, 0) and (r, -r).\\n // Circular arc that passes through the same points has center at\\n // x = r + 231r/160 = 2.44275r and y = 0 and hence radius is\\n // x - 11r/16 = 1.75626 precisely.\\n float r = 0.5*v_size.x;\\n float center_x = r*2.44375;\\n float radius = r*1.75626;\\n float dist = radius - distance(p, vec2(center_x, 0.0));\\n\\n // Magic number is 0.5*sin(atan(8/5) - pi/4)\\n dist = max(dist, line_join_distance_incl_miter(\\n p, vec2(r, r), vec2(1.0/SQRT2, 1.0/SQRT2), v_linewidth*0.1124297533493792, line_join,\\n vec2(8.0/sqrt(89.0), -5.0/sqrt(89.0))));\\n\\n return dist;\\n}\\n#endif\\n\\n#if defined(USE_STAR) || defined(USE_STAR_DOT)\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n const float SQRT5 = sqrt(5.0);\\n const float COS72 = 0.25*(SQRT5 - 1.0);\\n const float SIN72 = sqrt((5.0+SQRT5) / 8.0);\\n\\n float angle = atan(p.x, p.y); // In range -pi to +pi clockwise from +y direction.\\n angle = mod(angle, 0.4*PI) - 0.2*PI; // In range -pi/5 to +pi/5 clockwise from +y direction.\\n p = length(p)*vec2(cos(angle), abs(sin(angle))); // (x,y) in pi/10 (36 degree) sector.\\n\\n // 2 corners are at (r, 0) and (r-a*SIN72, a*COS72) where a = r sqrt(5-2*sqrt(5)).\\n // Line has outward-facing unit normal vec2(COS72, SIN72) and distance from\\n // origin of dot(vec2(r, 0), vec2(COS72, SIN72)) = r*COS72\\n float r = 0.5*v_size.x;\\n float a = r*sqrt(5.0 - 2.0*SQRT5);\\n float dist = dot(p, vec2(COS72, SIN72)) - r*COS72;\\n\\n if (line_join != miter_join) {\\n // Outside corner\\n dist = max(dist, line_join_distance_no_miter(\\n p, vec2(r, 0.0), vec2(1.0, 0.0), v_linewidth*(0.5*COS72), line_join));\\n\\n // Inside corner\\n const float COS36 = sqrt(0.5 + COS72/2.0);\\n const float SIN36 = sqrt(0.5 - COS72/2.0);\\n dist = min(dist, -line_join_distance_no_miter(\\n p, vec2(r-a*SIN72, a*COS72), vec2(-COS36, -SIN36), v_linewidth*(0.5*COS36), line_join));\\n }\\n\\n return dist;\\n}\\n#endif\\n\\n#if defined(USE_TRIANGLE) || defined(USE_TRIANGLE_DOT) || defined(USE_INVERTED_TRIANGLE)\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n // For normal triangle 3 corners are at (-r, a), (r, a), (0, a-h)=(0, -2h/3)\\n // given r = radius = v_size.x/2, h = SQRT3*r, a = h/3.\\n // Sloping line has outward-facing unit normal vec2(h, -r)/2r = vec2(SQRT3, -1)/2\\n // and distance from origin of a. Horizontal line has outward-facing unit normal\\n // vec2(0, 1) and distance from origin of a.\\n float r = 0.5*v_size.x;\\n float a = r*SQRT3/3.0;\\n\\n // Only need to consider +ve x.\\n#ifdef USE_INVERTED_TRIANGLE\\n p = vec2(abs(p.x), -p.y);\\n#else\\n p = vec2(abs(p.x), p.y);\\n#endif\\n\\n float dist = max(0.5*dot(p, vec2(SQRT3, -1.0)) - a, // Distance from sloping line.\\n p.y - a); // Distance from horizontal line.\\n\\n if (line_join != miter_join) {\\n dist = max(dist, line_join_distance_no_miter(\\n p, vec2(0.0, -(2.0/SQRT3)*r), vec2(0.0, -1.0), v_linewidth*0.25, line_join));\\n\\n dist = max(dist, line_join_distance_no_miter(\\n p, vec2(r, a), vec2(SQRT3/2.0, 0.5), v_linewidth*0.25, line_join));\\n }\\n\\n return dist;\\n}\\n#endif\\n\\n#ifdef USE_TRIANGLE_PIN\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n float angle = atan(p.x, -p.y); // In range -pi to +pi.\\n angle = mod(angle, PI*2.0/3.0) - PI/3.0; // In range -pi/3 to pi/3.\\n p = length(p)*vec2(cos(angle), abs(sin(angle))); // (x,y) in range 0 to pi/3.\\n // Quadratic bezier curve passes through (a, r), ((a+b)/2, 0) and (a, -r) where\\n // a = r/SQRT3, b = 3a/8 = r SQRT3/8. Circular arc that passes through the same points has\\n // center at (a+x, 0) and radius x+c where c = (a-b)/2 and x = (r**2 - c**2) / (2c).\\n // Ignore r factor until the end so can use const.\\n const float a = 1.0/SQRT3;\\n const float b = SQRT3/8.0;\\n const float c = (a-b)/2.0;\\n const float x = (1.0 - c*c) / (2.0*c);\\n const float center_x = x + a;\\n const float radius = x + c;\\n float r = 0.5*v_size.x;\\n float dist = r*radius - distance(p, vec2(r*center_x, 0.0));\\n\\n // Magic number is 0.5*sin(atan(8*sqrt(3)/5) - pi/3)\\n dist = max(dist, line_join_distance_incl_miter(\\n p, vec2(a*r, r), vec2(0.5, 0.5*SQRT3), v_linewidth*0.0881844526878324, line_join,\\n vec2(8.0*SQRT3, -5.0)/sqrt(217.0)));\\n\\n return dist;\\n}\\n#endif\\n\\n#ifdef USE_X\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n p = vec2((p.x + p.y)/SQRT2, (p.x - p.y)/SQRT2);\\n return one_cross(p, line_cap, 0.5*v_size.x);\\n}\\n#endif\\n\\n#ifdef USE_Y\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n return one_y(p, line_cap, 0.5*v_size.x);\\n}\\n#endif\\n\\n// Convert distance from edge of marker to fraction in range 0 to 1, depending\\n// on antialiasing width.\\nfloat distance_to_fraction(in float dist)\\n{\\n return 1.0 - smoothstep(-0.5*u_antialias, 0.5*u_antialias, dist);\\n}\\n\\n// Return fraction from 0 (no fill color) to 1 (full fill color).\\nfloat fill_fraction(in float dist)\\n{\\n return distance_to_fraction(dist);\\n}\\n\\n// Return fraction in range 0 (no line color) to 1 (full line color).\\nfloat line_fraction(in float dist)\\n{\\n return distance_to_fraction(abs(dist) - 0.5*v_linewidth);\\n}\\n\\n// Return fraction (in range 0 to 1) of a color, with premultiplied alpha.\\nvec4 fractional_color(in vec4 color, in float fraction)\\n{\\n color.a *= fraction;\\n color.rgb *= color.a;\\n return color;\\n}\\n\\n// Blend colors that have premultiplied alpha.\\nvec4 blend_colors(in vec4 src, in vec4 dest)\\n{\\n return (1.0 - src.a)*dest + src;\\n}\\n\\n#ifdef APPEND_DOT\\nfloat dot_fraction(in vec2 p)\\n{\\n // Assuming v_size.x == v_size.y\\n float radius = 0.125*v_size.x;\\n float dot_distance = max(length(p) - radius, -0.5*u_antialias);\\n return fill_fraction(dot_distance);\\n}\\n#endif\\n\\n#ifdef HATCH\\n// Wrap coordinate(s) by removing integer part to give distance from center of\\n// repeat, in the range -0.5 to +0.5.\\nfloat wrap(in float x)\\n{\\n return fract(x) - 0.5;\\n}\\n\\nvec2 wrap(in vec2 xy)\\n{\\n return fract(xy) - 0.5;\\n}\\n\\n// Return fraction from 0 (no hatch color) to 1 (full hatch color).\\nfloat hatch_fraction(in vec2 coords, in int hatch_pattern)\\n{\\n float scale = v_hatch_scale; // Hatch repeat distance.\\n\\n // Coordinates and linewidth/halfwidth are scaled to hatch repeat distance.\\n coords = coords / scale;\\n float halfwidth = 0.5*v_hatch_weight / scale; // Half the hatch linewidth.\\n\\n // Default is to return fraction of zero, i.e. no pattern.\\n float dist = u_antialias;\\n\\n if (hatch_pattern == hatch_dot) {\\n const float dot_radius = 0.25;\\n dist = length(wrap(coords)) - dot_radius;\\n }\\n else if (hatch_pattern == hatch_ring) {\\n const float ring_radius = 0.25;\\n dist = abs(length(wrap(coords)) - ring_radius) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_horizontal_line) {\\n dist = abs(wrap(coords.y)) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_vertical_line) {\\n dist = abs(wrap(coords.x)) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_cross) {\\n dist = min(abs(wrap(coords.x)), abs(wrap(coords.y))) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_horizontal_dash) {\\n // Dashes have square caps.\\n const float halflength = 0.25;\\n dist = max(abs(wrap(coords.y)),\\n abs(wrap(coords.x) + 0.25) - halflength) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_vertical_dash) {\\n const float halflength = 0.25;\\n dist = max(abs(wrap(coords.x)),\\n abs(wrap(coords.y) + 0.25) - halflength) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_spiral) {\\n vec2 wrap2 = wrap(coords);\\n float angle = wrap(atan(wrap2.y, wrap2.x) / (2.0*PI));\\n // Canvas spiral radius increases by scale*pi/15 each rotation.\\n const float dr = PI/15.0;\\n float radius = length(wrap2);\\n // At any angle, spiral lines are equally spaced dr apart.\\n // Find distance to nearest of these lines.\\n float frac = fract((radius - dr*angle) / dr); // 0 to 1.\\n dist = dr*(abs(frac - 0.5));\\n dist = min(dist, radius) - halfwidth; // Consider center point also.\\n }\\n else if (hatch_pattern == hatch_right_diagonal_line) {\\n dist = abs(wrap(2.0*coords.x + coords.y))/sqrt(5.0) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_left_diagonal_line) {\\n dist = abs(wrap(2.0*coords.x - coords.y))/sqrt(5.0) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_diagonal_cross) {\\n coords = vec2(coords.x + coords.y + 0.5, coords.x - coords.y + 0.5);\\n dist = min(abs(wrap(coords.x)), abs(wrap(coords.y))) / SQRT2 - halfwidth;\\n }\\n else if (hatch_pattern == hatch_right_diagonal_dash) {\\n float across = coords.x + coords.y + 0.5;\\n dist = abs(wrap(across)) / SQRT2; // Distance to nearest solid line.\\n\\n across = floor(across); // Offset for dash.\\n float along = wrap(0.5*(coords.x - coords.y + across));\\n const float halflength = 0.25;\\n along = abs(along) - halflength; // Distance along line.\\n\\n dist = max(dist, along) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_left_diagonal_dash) {\\n float across = coords.x - coords.y + 0.5;\\n dist = abs(wrap(across)) / SQRT2; // Distance to nearest solid line.\\n\\n across = floor(across); // Offset for dash.\\n float along = wrap(0.5*(coords.x + coords.y + across));\\n const float halflength = 0.25;\\n along = abs(along) - halflength; // Distance along line.\\n\\n dist = max(dist, along) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_horizontal_wave) {\\n float wrapx = wrap(coords.x);\\n float wrapy = wrap(coords.y - 0.25 + abs(wrapx));\\n dist = abs(wrapy) / SQRT2 - halfwidth;\\n }\\n else if (hatch_pattern == hatch_vertical_wave) {\\n float wrapy = wrap(coords.y);\\n float wrapx = wrap(coords.x - 0.25 + abs(wrapy));\\n dist = abs(wrapx) / SQRT2 - halfwidth;\\n }\\n else if (hatch_pattern == hatch_criss_cross) {\\n float plus = min(abs(wrap(coords.x)), abs(wrap(coords.y)));\\n\\n coords = vec2(coords.x + coords.y + 0.5, coords.x - coords.y + 0.5);\\n float X = min(abs(wrap(coords.x)), abs(wrap(coords.y))) / SQRT2;\\n\\n dist = min(plus, X) - halfwidth;\\n }\\n\\n return distance_to_fraction(dist*scale);\\n}\\n#endif\\n\\nvoid main()\\n{\\n int line_cap = int(v_line_cap + 0.5);\\n int line_join = int(v_line_join + 0.5);\\n#ifdef HATCH\\n int hatch_pattern = int(v_hatch_pattern + 0.5);\\n#endif\\n\\n float dist = marker_distance(v_coords, line_cap, line_join);\\n\\n#ifdef LINE_ONLY\\n vec4 color = vec4(0.0, 0.0, 0.0, 0.0);\\n#else\\n float fill_frac = fill_fraction(dist);\\n vec4 color = fractional_color(v_fill_color, fill_frac);\\n#endif\\n\\n#if defined(HATCH) && !defined(LINE_ONLY)\\n if (hatch_pattern > 0 && fill_frac > 0.0) {\\n float hatch_frac = hatch_fraction(v_hatch_coords, hatch_pattern);\\n vec4 hatch_color = fractional_color(v_hatch_color, hatch_frac*fill_frac);\\n color = blend_colors(hatch_color, color);\\n }\\n#endif\\n\\n float line_frac = line_fraction(dist);\\n\\n#ifdef APPEND_DOT\\n line_frac = max(line_frac, dot_fraction(v_coords));\\n#endif\\n#ifdef APPEND_CROSS\\n line_frac = max(line_frac, line_fraction(one_cross(v_coords, line_cap, 0.5*v_size.x)));\\n#endif\\n#ifdef APPEND_CROSS_2\\n vec2 lengths = vec2(v_size.x/3.0, v_size.x/2.0);\\n line_frac = max(line_frac, line_fraction(one_cross_2(v_coords, line_cap, lengths)));\\n#endif\\n#ifdef APPEND_X\\n vec2 p = vec2((v_coords.x + v_coords.y)/SQRT2, (v_coords.x - v_coords.y)/SQRT2);\\n line_frac = max(line_frac, line_fraction(one_cross(p, line_cap, APPEND_X_LEN)));\\n#endif\\n#ifdef APPEND_Y\\n line_frac = max(line_frac, line_fraction(one_y(v_coords, line_cap, 0.5*v_size.x)));\\n#endif\\n\\n if (line_frac > 0.0) {\\n vec4 line_color = fractional_color(v_line_color, line_frac);\\n color = blend_colors(line_color, color);\\n }\\n\\n gl_FragColor = color;\\n}\\n\"},\n 419: function _(t,_,i,h,e){h();const s=t(420),a=t(421),r=t(422);class l extends s.BaseGLGlyph{constructor(t,_){super(t,_),this.glyph=_,this._antialias=1.5,this._show_all=!1}_draw_one_marker_type(t,_,i){const h={scissor:this.regl_wrapper.scissor,viewport:this.regl_wrapper.viewport,canvas_size:[_.width,_.height],pixel_ratio:_.pixel_ratio,center:i._centers,width:i._widths,height:i._heights,angle:i._angles,size_hint:(0,r.marker_type_to_size_hint)(t),nmarkers:i.nvertices,antialias:this._antialias,linewidth:this._linewidths,line_color:this._line_rgba,fill_color:this._fill_rgba,line_cap:this._line_caps,line_join:this._line_joins,show:this._show};if(this._have_hatch){const _=Object.assign(Object.assign({},h),{hatch_pattern:this._hatch_patterns,hatch_scale:this._hatch_scales,hatch_weight:this._hatch_weights,hatch_color:this._hatch_rgba});this.regl_wrapper.marker_hatch(t)(_)}else this.regl_wrapper.marker_no_hatch(t)(h)}_set_visuals(){const t=this._get_visuals(),_=t.fill,i=t.line;if(null==this._linewidths&&(this._linewidths=new a.Float32Buffer(this.regl_wrapper),this._line_caps=new a.Uint8Buffer(this.regl_wrapper),this._line_joins=new a.Uint8Buffer(this.regl_wrapper),this._line_rgba=new a.NormalizedUint8Buffer(this.regl_wrapper),this._fill_rgba=new a.NormalizedUint8Buffer(this.regl_wrapper)),this._linewidths.set_from_prop(i.line_width),this._line_caps.set_from_line_cap(i.line_cap),this._line_joins.set_from_line_join(i.line_join),this._line_rgba.set_from_color(i.line_color,i.line_alpha),this._fill_rgba.set_from_color(_.fill_color,_.fill_alpha),this._have_hatch=t.hatch.doit,this._have_hatch){const _=t.hatch;null==this._hatch_patterns&&(this._hatch_patterns=new a.Uint8Buffer(this.regl_wrapper),this._hatch_scales=new a.Float32Buffer(this.regl_wrapper),this._hatch_weights=new a.Float32Buffer(this.regl_wrapper),this._hatch_rgba=new a.NormalizedUint8Buffer(this.regl_wrapper)),this._hatch_patterns.set_from_hatch_pattern(_.hatch_pattern),this._hatch_scales.set_from_prop(_.hatch_scale),this._hatch_weights.set_from_prop(_.hatch_weight),this._hatch_rgba.set_from_color(_.hatch_color,_.hatch_alpha)}}}i.BaseMarkerGL=l,l.__name__=\"BaseMarkerGL\",l.missing_point=-1e4},\n 420: function _(e,t,s,i,h){i();class a{constructor(e,t){this.glyph=t,this.nvertices=0,this.size_changed=!1,this.data_changed=!1,this.visuals_changed=!1,this.regl_wrapper=e}set_data_changed(){const{data_size:e}=this.glyph;e!=this.nvertices&&(this.nvertices=e,this.size_changed=!0),this.data_changed=!0}set_visuals_changed(){this.visuals_changed=!0}render(e,t,s){if(0==t.length)return!0;const{width:i,height:h}=this.glyph.renderer.plot_view.canvas_view.webgl.canvas,a={pixel_ratio:this.glyph.renderer.plot_view.canvas_view.pixel_ratio,width:i,height:h};return this.draw(t,s,a),!0}}s.BaseGLGlyph=a,a.__name__=\"BaseGLGlyph\"},\n 421: function _(r,t,a,e,s){e();const i=r(422),_=r(22);class n{constructor(r){this.regl_wrapper=r,this.is_scalar=!0}get_sized_array(r){return null!=this.array&&this.array.length==r||(this.array=this.new_array(r)),this.array}is_normalized(){return!1}get length(){return null!=this.array?this.array.length:0}set_from_array(r){const t=r.length,a=this.get_sized_array(t);for(let e=0;e0}_set_data(){const s=this.glyph.sx.length,i=s-1;this._is_closed=s>2&&this.glyph.sx[0]==this.glyph.sx[s-1]&&this.glyph.sy[0]==this.glyph.sy[s-1]&&isFinite(this.glyph.sx[0])&&isFinite(this.glyph.sy[0]),null==this._points&&(this._points=new o.Float32Buffer(this.regl_wrapper));const t=this._points.get_sized_array(2*(s+2));for(let i=1;is/255)),this._linewidth=s.line_width.value,this._linewidth<1&&(this._color[3]*=this._linewidth,this._linewidth=1),this._line_dash=(0,a.resolve_line_dash)(s.line_dash.value),this._is_dashed()&&([this._dash_tex_info,this._dash_tex,this._dash_scale]=this.regl_wrapper.get_dash(this._line_dash),this._dash_offset=s.line_dash_offset.value)}}t.LineGL=r,r.__name__=\"LineGL\"},\n 427: function _(s,t,i,e,r){e();const h=s(421),a=s(424);class n extends a.SingleMarkerGL{constructor(s,t){super(s,t),this.glyph=t}draw(s,t,i){this._draw_impl(s,i,t.glglyph,\"square\")}_get_visuals(){return this.glyph.visuals}_set_data(){const s=this.nvertices;null==this._centers&&(this._centers=new h.Float32Buffer(this.regl_wrapper),this._widths=new h.Float32Buffer(this.regl_wrapper),this._heights=new h.Float32Buffer(this.regl_wrapper),this._angles=new h.Float32Buffer(this.regl_wrapper),this._angles.set_from_scalar(0));const t=this._centers.get_sized_array(2*s),i=this._heights.get_sized_array(s),e=this._widths.get_sized_array(s);for(let r=0;r1||s.length<_){this._show_all=!1,n.fill(0),r=0;for(const e of s)1!=h&&i._marker_types.get(e)!=t||(n[e]=255,r++)}else this._show_all&&a==_||(this._show_all=!0,n.fill(255));this._show.update(),0!=r&&this._draw_one_marker_type(t,e,i)}}_get_visuals(){return this.glyph.visuals}_set_data(){const s=this.nvertices;null==this._centers&&(this._centers=new r.Float32Buffer(this.regl_wrapper),this._widths=new r.Float32Buffer(this.regl_wrapper),this._heights=this._widths,this._angles=new r.Float32Buffer(this.regl_wrapper));const t=this._centers.get_sized_array(2*s);for(let e=0;ethis.render()))}remove(){null!=this.icon_view&&this.icon_view.remove(),super.remove()}styles(){return[...super.styles(),d.default]}_render_button(...t){return(0,c.button)({type:\"button\",disabled:this.model.disabled,class:[h.btn,h[`btn_${this.model.button_type}`]]},...t)}render(){super.render(),this.button_el=this._render_button(this.model.label),this.button_el.addEventListener(\"click\",(()=>this.click())),null!=this.icon_view&&(\"\"!=this.model.label?(0,c.prepend)(this.button_el,this.icon_view.el,(0,c.nbsp)()):(0,c.prepend)(this.button_el,this.icon_view.el),this.icon_view.render()),this.group_el=(0,c.div)({class:h.btn_group},this.button_el),this.el.appendChild(this.group_el)}click(){}}n.AbstractButtonView=b,b.__name__=\"AbstractButtonView\";class p extends _.Control{constructor(t){super(t)}}n.AbstractButton=p,o=p,p.__name__=\"AbstractButton\",o.define((({String:t,Ref:e,Nullable:n})=>({label:[t,\"Button\"],icon:[n(e(a.AbstractIcon)),null],button_type:[r.ButtonType,\"default\"]})))},\n 442: function _(t,e,o,s,n){s();const i=t(512),l=t(43);class c extends i.WidgetView{connect_signals(){super.connect_signals();const t=this.model.properties;this.on_change(t.disabled,(()=>{for(const t of this.controls())(0,l.toggle_attribute)(t,\"disabled\",this.model.disabled)}))}}o.ControlView=c,c.__name__=\"ControlView\";class r extends i.Widget{constructor(t){super(t)}}o.Control=r,r.__name__=\"Control\"},\n 512: function _(i,e,t,n,o){var r;n();const s=i(312);class _ extends s.HTMLBoxView{get orientation(){return\"horizontal\"}get default_size(){return this.model.default_size}_width_policy(){return\"horizontal\"==this.orientation?super._width_policy():\"fixed\"}_height_policy(){return\"horizontal\"==this.orientation?\"fixed\":super._height_policy()}box_sizing(){const i=super.box_sizing();return\"horizontal\"==this.orientation?null==i.width&&(i.width=this.default_size):null==i.height&&(i.height=this.default_size),i}}t.WidgetView=_,_.__name__=\"WidgetView\";class h extends s.HTMLBox{constructor(i){super(i)}}t.Widget=h,r=h,h.__name__=\"Widget\",r.define((({Number:i})=>({default_size:[i,300]}))),r.override({margin:[5,5,5,5]})},\n 444: function _(c,t,s,n,e){n();const o=c(53),_=c(226);class a extends _.DOMView{}s.AbstractIconView=a,a.__name__=\"AbstractIconView\";class r extends o.Model{constructor(c){super(c)}}s.AbstractIcon=r,r.__name__=\"AbstractIcon\"},\n 445: function _(e,t,n,s,i){s();const h=e(1);var o;const _=e(446),u=e(43),r=e(10),c=(0,h.__importStar)(e(229)),a=c;class l extends _.TextInputView{constructor(){super(...arguments),this._open=!1,this._last_value=\"\",this._hover_index=0}styles(){return[...super.styles(),c.default]}render(){super.render(),this.input_el.addEventListener(\"keydown\",(e=>this._keydown(e))),this.input_el.addEventListener(\"keyup\",(e=>this._keyup(e))),this.menu=(0,u.div)({class:[a.menu,a.below]}),this.menu.addEventListener(\"click\",(e=>this._menu_click(e))),this.menu.addEventListener(\"mouseover\",(e=>this._menu_hover(e))),this.el.appendChild(this.menu),(0,u.undisplay)(this.menu)}change_input(){this._open&&this.menu.children.length>0?(this.model.value=this.menu.children[this._hover_index].textContent,this.input_el.focus(),this._hide_menu()):this.model.restrict||super.change_input()}_update_completions(e){(0,u.empty)(this.menu);for(const t of e){const e=(0,u.div)(t);this.menu.appendChild(e)}e.length>0&&this.menu.children[0].classList.add(a.active)}_show_menu(){if(!this._open){this._open=!0,this._hover_index=0,this._last_value=this.model.value,(0,u.display)(this.menu);const e=t=>{const{target:n}=t;n instanceof HTMLElement&&!this.el.contains(n)&&(document.removeEventListener(\"click\",e),this._hide_menu())};document.addEventListener(\"click\",e)}}_hide_menu(){this._open&&(this._open=!1,(0,u.undisplay)(this.menu))}_menu_click(e){e.target!=e.currentTarget&&e.target instanceof Element&&(this.model.value=e.target.textContent,this.input_el.focus(),this._hide_menu())}_menu_hover(e){if(e.target!=e.currentTarget&&e.target instanceof Element){let t=0;for(t=0;t0&&(this.menu.children[this._hover_index].classList.remove(a.active),this._hover_index=(0,r.clamp)(e,0,t-1),this.menu.children[this._hover_index].classList.add(a.active))}_keydown(e){}_keyup(e){switch(e.keyCode){case u.Keys.Enter:this.change_input();break;case u.Keys.Esc:this._hide_menu();break;case u.Keys.Up:this._bump_hover(this._hover_index-1);break;case u.Keys.Down:this._bump_hover(this._hover_index+1);break;default:{const e=this.input_el.value;if(e.lengthe:e=>e.toLowerCase();for(const n of this.model.completions)s(n).startsWith(s(e))&&t.push(n);this._update_completions(t),0==t.length?this._hide_menu():this._show_menu()}}}}n.AutocompleteInputView=l,l.__name__=\"AutocompleteInputView\";class d extends _.TextInput{constructor(e){super(e)}}n.AutocompleteInput=d,o=d,d.__name__=\"AutocompleteInput\",o.prototype.default_view=l,o.define((({Boolean:e,Int:t,String:n,Array:s})=>({completions:[s(n),[]],min_characters:[t,2],case_sensitive:[e,!0],restrict:[e,!0]})))},\n 446: function _(t,e,n,p,_){p();const u=t(1);var i;const s=t(447),r=t(43),x=(0,u.__importStar)(t(449));class a extends s.TextLikeInputView{_render_input(){this.input_el=(0,r.input)({type:\"text\",class:x.input})}}n.TextInputView=a,a.__name__=\"TextInputView\";class c extends s.TextLikeInput{constructor(t){super(t)}}n.TextInput=c,i=c,c.__name__=\"TextInput\",i.prototype.default_view=a},\n 447: function _(e,t,n,i,l){var s;i();const h=e(448);class a extends h.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.name.change,(()=>{var e;return this.input_el.name=null!==(e=this.model.name)&&void 0!==e?e:\"\"})),this.connect(this.model.properties.value.change,(()=>this.input_el.value=this.model.value)),this.connect(this.model.properties.value_input.change,(()=>this.input_el.value=this.model.value_input)),this.connect(this.model.properties.disabled.change,(()=>this.input_el.disabled=this.model.disabled)),this.connect(this.model.properties.placeholder.change,(()=>this.input_el.placeholder=this.model.placeholder)),this.connect(this.model.properties.max_length.change,(()=>{const{max_length:e}=this.model;null!=e?this.input_el.maxLength=e:this.input_el.removeAttribute(\"maxLength\")}))}render(){var e;super.render(),this._render_input();const{input_el:t}=this;t.name=null!==(e=this.model.name)&&void 0!==e?e:\"\",t.value=this.model.value,t.disabled=this.model.disabled,t.placeholder=this.model.placeholder,null!=this.model.max_length&&(t.maxLength=this.model.max_length),t.addEventListener(\"change\",(()=>this.change_input())),t.addEventListener(\"input\",(()=>this.change_input_value())),this.group_el.appendChild(t)}change_input(){this.model.value=this.input_el.value,super.change_input()}change_input_value(){this.model.value_input=this.input_el.value,super.change_input()}}n.TextLikeInputView=a,a.__name__=\"TextLikeInputView\";class u extends h.InputWidget{constructor(e){super(e)}}n.TextLikeInput=u,s=u,u.__name__=\"TextLikeInput\",s.define((({Int:e,String:t,Nullable:n})=>({value:[t,\"\"],value_input:[t,\"\"],placeholder:[t,\"\"],max_length:[n(e),null]})))},\n 448: function _(e,t,n,s,l){s();const i=e(1);var o;const r=e(442),_=e(43),p=(0,i.__importStar)(e(449)),a=p;class c extends r.ControlView{*controls(){yield this.input_el}connect_signals(){super.connect_signals(),this.connect(this.model.properties.title.change,(()=>{this.label_el.textContent=this.model.title}))}styles(){return[...super.styles(),p.default]}render(){super.render();const{title:e}=this.model;this.label_el=(0,_.label)({style:{display:0==e.length?\"none\":\"\"}},e),this.group_el=(0,_.div)({class:a.input_group},this.label_el),this.el.appendChild(this.group_el)}change_input(){}}n.InputWidgetView=c,c.__name__=\"InputWidgetView\";class d extends r.Control{constructor(e){super(e)}}n.InputWidget=d,o=d,d.__name__=\"InputWidget\",o.define((({String:e})=>({title:[e,\"\"]})))},\n 449: function _(o,p,t,n,i){n(),t.root=\"bk-root\",t.input=\"bk-input\",t.input_group=\"bk-input-group\",t.inline=\"bk-inline\",t.spin_wrapper=\"bk-spin-wrapper\",t.spin_btn=\"bk-spin-btn\",t.spin_btn_up=\"bk-spin-btn-up\",t.spin_btn_down=\"bk-spin-btn-down\",t.default='.bk-root .bk-input{display:inline-block;width:100%;flex-grow:1;min-height:31px;padding:0 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;}.bk-root .bk-input:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);}.bk-root .bk-input::placeholder,.bk-root .bk-input:-ms-input-placeholder,.bk-root .bk-input::-moz-placeholder,.bk-root .bk-input::-webkit-input-placeholder{color:#999;opacity:1;}.bk-root .bk-input[disabled]{cursor:not-allowed;background-color:#eee;opacity:1;}.bk-root select:not([multiple]).bk-input,.bk-root select:not([size]).bk-input{height:auto;appearance:none;-webkit-appearance:none;background-image:url(\\'data:image/svg+xml;utf8,\\');background-position:right 0.5em center;background-size:8px 6px;background-repeat:no-repeat;}.bk-root select[multiple].bk-input,.bk-root select[size].bk-input,.bk-root textarea.bk-input{height:auto;}.bk-root .bk-input-group{width:100%;height:100%;display:inline-flex;flex-wrap:nowrap;align-items:start;flex-direction:column;white-space:nowrap;}.bk-root .bk-input-group.bk-inline{flex-direction:row;}.bk-root .bk-input-group.bk-inline > *:not(:first-child){margin-left:5px;}.bk-root .bk-input-group input[type=\"checkbox\"] + span,.bk-root .bk-input-group input[type=\"radio\"] + span{position:relative;top:-2px;margin-left:3px;}.bk-root .bk-input-group > .bk-spin-wrapper{display:inherit;width:inherit;height:inherit;position:relative;overflow:hidden;padding:0;vertical-align:middle;}.bk-root .bk-input-group > .bk-spin-wrapper input{padding-right:20px;}.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn{position:absolute;display:block;height:50%;min-height:0;min-width:0;width:30px;padding:0;margin:0;right:0;border:none;background:none;cursor:pointer;}.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn:before{content:\"\";display:inline-block;transform:translateY(-50%);border-left:5px solid transparent;border-right:5px solid transparent;}.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up{top:0;}.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up:before{border-bottom:5px solid black;}.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up:disabled:before{border-bottom-color:grey;}.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down{bottom:0;}.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down:before{border-top:5px solid black;}.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down:disabled:before{border-top-color:grey;}'},\n 450: function _(t,e,n,o,c){var s;o();const u=t(441),r=t(251);class i extends u.AbstractButtonView{click(){this.model.trigger_event(new r.ButtonClick),super.click()}}n.ButtonView=i,i.__name__=\"ButtonView\";class _ extends u.AbstractButton{constructor(t){super(t)}}n.Button=_,s=_,_.__name__=\"Button\",s.prototype.default_view=i,s.override({label:\"Button\"})},\n 451: function _(t,e,o,c,a){c();const s=t(1);var n;const i=t(452),r=t(43),u=(0,s.__importStar)(t(318));class _ extends i.ButtonGroupView{get active(){return new Set(this.model.active)}change_active(t){const{active:e}=this;e.has(t)?e.delete(t):e.add(t),this.model.active=[...e].sort()}_update_active(){const{active:t}=this;this._buttons.forEach(((e,o)=>{(0,r.classes)(e).toggle(u.active,t.has(o))}))}}o.CheckboxButtonGroupView=_,_.__name__=\"CheckboxButtonGroupView\";class h extends i.ButtonGroup{constructor(t){super(t)}}o.CheckboxButtonGroup=h,n=h,h.__name__=\"CheckboxButtonGroup\",n.prototype.default_view=_,n.define((({Int:t,Array:e})=>({active:[e(t),[]]})))},\n 452: function _(t,e,n,s,i){s();const o=t(1);var r;const a=t(453),l=t(20),d=t(43),u=(0,o.__importStar)(t(318)),_=u;class c extends a.OrientedControlView{get default_size(){return\"horizontal\"==this.orientation?this.model.default_size:void 0}*controls(){yield*this._buttons}connect_signals(){super.connect_signals();const t=this.model.properties;this.on_change(t.button_type,(()=>this.render())),this.on_change(t.labels,(()=>this.render())),this.on_change(t.active,(()=>this._update_active()))}styles(){return[...super.styles(),u.default]}render(){super.render(),this._buttons=this.model.labels.map(((t,e)=>{const n=(0,d.div)({class:[_.btn,_[`btn_${this.model.button_type}`]],disabled:this.model.disabled},t);return n.addEventListener(\"click\",(()=>this.change_active(e))),n})),this._update_active();const t=\"horizontal\"==this.model.orientation?_.horizontal:_.vertical,e=(0,d.div)({class:[_.btn_group,t]},this._buttons);this.el.appendChild(e)}}n.ButtonGroupView=c,c.__name__=\"ButtonGroupView\";class h extends a.OrientedControl{constructor(t){super(t)}}n.ButtonGroup=h,r=h,h.__name__=\"ButtonGroup\",r.define((({String:t,Array:e})=>({labels:[e(t),[]],button_type:[l.ButtonType,\"default\"]})))},\n 453: function _(n,t,e,o,r){var i;o();const a=n(442),l=n(20);class s extends a.ControlView{get orientation(){return this.model.orientation}}e.OrientedControlView=s,s.__name__=\"OrientedControlView\";class _ extends a.Control{constructor(n){super(n)}}e.OrientedControl=_,i=_,_.__name__=\"OrientedControl\",i.define((()=>({orientation:[l.Orientation,\"horizontal\"]})))},\n 454: function _(e,t,n,i,s){i();const o=e(1);var a;const c=e(455),l=e(43),d=e(9),p=(0,o.__importStar)(e(449));class r extends c.InputGroupView{render(){super.render();const e=(0,l.div)({class:[p.input_group,this.model.inline?p.inline:null]});this.el.appendChild(e);const{active:t,labels:n}=this.model;this._inputs=[];for(let i=0;ithis.change_active(i))),this._inputs.push(s),this.model.disabled&&(s.disabled=!0),(0,d.includes)(t,i)&&(s.checked=!0);const o=(0,l.label)(s,(0,l.span)(n[i]));e.appendChild(o)}}change_active(e){const t=new Set(this.model.active);t.has(e)?t.delete(e):t.add(e),this.model.active=[...t].sort()}}n.CheckboxGroupView=r,r.__name__=\"CheckboxGroupView\";class h extends c.InputGroup{constructor(e){super(e)}}n.CheckboxGroup=h,a=h,h.__name__=\"CheckboxGroup\",a.prototype.default_view=r,a.define((({Boolean:e,Int:t,String:n,Array:i})=>({active:[i(t),[]],labels:[i(n),[]],inline:[e,!1]})))},\n 455: function _(n,t,e,s,o){s();const r=n(1),u=n(442),c=(0,r.__importDefault)(n(449));class _ extends u.ControlView{*controls(){yield*this._inputs}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.render()))}styles(){return[...super.styles(),c.default]}}e.InputGroupView=_,_.__name__=\"InputGroupView\";class i extends u.Control{constructor(n){super(n)}}e.InputGroup=i,i.__name__=\"InputGroup\"},\n 456: function _(e,t,i,n,o){n();const s=e(1);var l;const r=e(448),c=e(43),a=e(22),d=(0,s.__importStar)(e(449));class h extends r.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.name.change,(()=>{var e;return this.input_el.name=null!==(e=this.model.name)&&void 0!==e?e:\"\"})),this.connect(this.model.properties.color.change,(()=>this.input_el.value=(0,a.color2hexrgb)(this.model.color))),this.connect(this.model.properties.disabled.change,(()=>this.input_el.disabled=this.model.disabled))}render(){super.render(),this.input_el=(0,c.input)({type:\"color\",class:d.input,name:this.model.name,value:this.model.color,disabled:this.model.disabled}),this.input_el.addEventListener(\"change\",(()=>this.change_input())),this.group_el.appendChild(this.input_el)}change_input(){this.model.color=this.input_el.value,super.change_input()}}i.ColorPickerView=h,h.__name__=\"ColorPickerView\";class p extends r.InputWidget{constructor(e){super(e)}}i.ColorPicker=p,l=p,p.__name__=\"ColorPicker\",l.prototype.default_view=h,l.define((({Color:e})=>({color:[e,\"#000000\"]})))},\n 457: function _(e,t,i,n,s){n();const a=e(1);var l;const o=(0,a.__importDefault)(e(458)),d=e(448),r=e(43),c=e(20),u=e(8),h=(0,a.__importStar)(e(449)),_=(0,a.__importDefault)(e(459));function p(e){const t=[];for(const i of e)if((0,u.isString)(i))t.push(i);else{const[e,n]=i;t.push({from:e,to:n})}return t}class m extends d.InputWidgetView{connect_signals(){super.connect_signals();const{value:e,min_date:t,max_date:i,disabled_dates:n,enabled_dates:s,position:a,inline:l}=this.model.properties;this.connect(e.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.setDate(this.model.value)})),this.connect(t.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"minDate\",this.model.min_date)})),this.connect(i.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"maxDate\",this.model.max_date)})),this.connect(n.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"disable\",this.model.disabled_dates)})),this.connect(s.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"enable\",this.model.enabled_dates)})),this.connect(a.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"position\",this.model.position)})),this.connect(l.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"inline\",this.model.inline)}))}remove(){var e;null===(e=this._picker)||void 0===e||e.destroy(),super.remove()}styles(){return[...super.styles(),_.default]}render(){var e,t;null==this._picker&&(super.render(),this.input_el=(0,r.input)({type:\"text\",class:h.input,disabled:this.model.disabled}),this.group_el.appendChild(this.input_el),this._picker=(0,o.default)(this.input_el,{defaultDate:this.model.value,minDate:null!==(e=this.model.min_date)&&void 0!==e?e:void 0,maxDate:null!==(t=this.model.max_date)&&void 0!==t?t:void 0,inline:this.model.inline,position:this.model.position,disable:p(this.model.disabled_dates),enable:p(this.model.enabled_dates),onChange:(e,t,i)=>this._on_change(e,t,i)}))}_on_change(e,t,i){this.model.value=t,this.change_input()}}i.DatePickerView=m,m.__name__=\"DatePickerView\";class v extends d.InputWidget{constructor(e){super(e)}}i.DatePicker=v,l=v,v.__name__=\"DatePicker\",l.prototype.default_view=m,l.define((({Boolean:e,String:t,Array:i,Tuple:n,Or:s,Nullable:a})=>{const l=i(s(t,n(t,t)));return{value:[t],min_date:[a(t),null],max_date:[a(t),null],disabled_dates:[l,[]],enabled_dates:[l,[]],position:[c.CalendarPosition,\"auto\"],inline:[e,!1]}}))},\n 458: function _(e,n,t,a,i){\n /* flatpickr v4.6.6, @license MIT */var o,r;o=this,r=function(){\"use strict\";\n /*! *****************************************************************************\n Copyright (c) Microsoft Corporation.\n \n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted.\n \n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n PERFORMANCE OF THIS SOFTWARE.\n ***************************************************************************** */var e=function(){return e=Object.assign||function(e){for(var n,t=1,a=arguments.length;t\",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:\"auto\",positionElement:void 0,prevArrow:\"\",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},i={weekdays:{shorthand:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],longhand:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"]},months:{shorthand:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],longhand:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var n=e%100;if(n>3&&n<21)return\"th\";switch(n%10){case 1:return\"st\";case 2:return\"nd\";case 3:return\"rd\";default:return\"th\"}},rangeSeparator:\" to \",weekAbbreviation:\"Wk\",scrollTitle:\"Scroll to increment\",toggleTitle:\"Click to toggle\",amPM:[\"AM\",\"PM\"],yearAriaLabel:\"Year\",monthAriaLabel:\"Month\",hourAriaLabel:\"Hour\",minuteAriaLabel:\"Minute\",time_24hr:!1},o=function(e,n){return void 0===n&&(n=2),(\"000\"+e).slice(-1*n)},r=function(e){return!0===e?1:0};function l(e,n,t){var a;return void 0===t&&(t=!1),function(){var i=this,o=arguments;null!==a&&clearTimeout(a),a=window.setTimeout((function(){a=null,t||e.apply(i,o)}),n),t&&!a&&e.apply(i,o)}}var c=function(e){return e instanceof Array?e:[e]};function d(e,n,t){if(!0===t)return e.classList.add(n);e.classList.remove(n)}function s(e,n,t){var a=window.document.createElement(e);return n=n||\"\",t=t||\"\",a.className=n,void 0!==t&&(a.textContent=t),a}function u(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function f(e,n){return n(e)?e:e.parentNode?f(e.parentNode,n):void 0}function m(e,n){var t=s(\"div\",\"numInputWrapper\"),a=s(\"input\",\"numInput \"+e),i=s(\"span\",\"arrowUp\"),o=s(\"span\",\"arrowDown\");if(-1===navigator.userAgent.indexOf(\"MSIE 9.0\")?a.type=\"number\":(a.type=\"text\",a.pattern=\"\\\\d*\"),void 0!==n)for(var r in n)a.setAttribute(r,n[r]);return t.appendChild(a),t.appendChild(i),t.appendChild(o),t}function g(e){try{return\"function\"==typeof e.composedPath?e.composedPath()[0]:e.target}catch(n){return e.target}}var p=function(){},h=function(e,n,t){return t.months[n?\"shorthand\":\"longhand\"][e]},v={D:p,F:function(e,n,t){e.setMonth(t.months.longhand.indexOf(n))},G:function(e,n){e.setHours(parseFloat(n))},H:function(e,n){e.setHours(parseFloat(n))},J:function(e,n){e.setDate(parseFloat(n))},K:function(e,n,t){e.setHours(e.getHours()%12+12*r(new RegExp(t.amPM[1],\"i\").test(n)))},M:function(e,n,t){e.setMonth(t.months.shorthand.indexOf(n))},S:function(e,n){e.setSeconds(parseFloat(n))},U:function(e,n){return new Date(1e3*parseFloat(n))},W:function(e,n,t){var a=parseInt(n),i=new Date(e.getFullYear(),0,2+7*(a-1),0,0,0,0);return i.setDate(i.getDate()-i.getDay()+t.firstDayOfWeek),i},Y:function(e,n){e.setFullYear(parseFloat(n))},Z:function(e,n){return new Date(n)},d:function(e,n){e.setDate(parseFloat(n))},h:function(e,n){e.setHours(parseFloat(n))},i:function(e,n){e.setMinutes(parseFloat(n))},j:function(e,n){e.setDate(parseFloat(n))},l:p,m:function(e,n){e.setMonth(parseFloat(n)-1)},n:function(e,n){e.setMonth(parseFloat(n)-1)},s:function(e,n){e.setSeconds(parseFloat(n))},u:function(e,n){return new Date(parseFloat(n))},w:p,y:function(e,n){e.setFullYear(2e3+parseFloat(n))}},D={D:\"(\\\\w+)\",F:\"(\\\\w+)\",G:\"(\\\\d\\\\d|\\\\d)\",H:\"(\\\\d\\\\d|\\\\d)\",J:\"(\\\\d\\\\d|\\\\d)\\\\w+\",K:\"\",M:\"(\\\\w+)\",S:\"(\\\\d\\\\d|\\\\d)\",U:\"(.+)\",W:\"(\\\\d\\\\d|\\\\d)\",Y:\"(\\\\d{4})\",Z:\"(.+)\",d:\"(\\\\d\\\\d|\\\\d)\",h:\"(\\\\d\\\\d|\\\\d)\",i:\"(\\\\d\\\\d|\\\\d)\",j:\"(\\\\d\\\\d|\\\\d)\",l:\"(\\\\w+)\",m:\"(\\\\d\\\\d|\\\\d)\",n:\"(\\\\d\\\\d|\\\\d)\",s:\"(\\\\d\\\\d|\\\\d)\",u:\"(.+)\",w:\"(\\\\d\\\\d|\\\\d)\",y:\"(\\\\d{2})\"},w={Z:function(e){return e.toISOString()},D:function(e,n,t){return n.weekdays.shorthand[w.w(e,n,t)]},F:function(e,n,t){return h(w.n(e,n,t)-1,!1,n)},G:function(e,n,t){return o(w.h(e,n,t))},H:function(e){return o(e.getHours())},J:function(e,n){return void 0!==n.ordinal?e.getDate()+n.ordinal(e.getDate()):e.getDate()},K:function(e,n){return n.amPM[r(e.getHours()>11)]},M:function(e,n){return h(e.getMonth(),!0,n)},S:function(e){return o(e.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,n,t){return t.getWeek(e)},Y:function(e){return o(e.getFullYear(),4)},d:function(e){return o(e.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(e){return o(e.getMinutes())},j:function(e){return e.getDate()},l:function(e,n){return n.weekdays.longhand[e.getDay()]},m:function(e){return o(e.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},u:function(e){return e.getTime()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}},b=function(e){var n=e.config,t=void 0===n?a:n,o=e.l10n,r=void 0===o?i:o,l=e.isMobile,c=void 0!==l&&l;return function(e,n,a){var i=a||r;return void 0===t.formatDate||c?n.split(\"\").map((function(n,a,o){return w[n]&&\"\\\\\"!==o[a-1]?w[n](e,i,t):\"\\\\\"!==n?n:\"\"})).join(\"\"):t.formatDate(e,n,i)}},C=function(e){var n=e.config,t=void 0===n?a:n,o=e.l10n,r=void 0===o?i:o;return function(e,n,i,o){if(0===e||e){var l,c=o||r,d=e;if(e instanceof Date)l=new Date(e.getTime());else if(\"string\"!=typeof e&&void 0!==e.toFixed)l=new Date(e);else if(\"string\"==typeof e){var s=n||(t||a).dateFormat,u=String(e).trim();if(\"today\"===u)l=new Date,i=!0;else if(/Z$/.test(u)||/GMT$/.test(u))l=new Date(e);else if(t&&t.parseDate)l=t.parseDate(e,s);else{l=t&&t.noCalendar?new Date((new Date).setHours(0,0,0,0)):new Date((new Date).getFullYear(),0,1,0,0,0,0);for(var f=void 0,m=[],g=0,p=0,h=\"\";gl&&(u=a===w.hourElement?u-l-r(!w.amPM):i,m&&H(void 0,1,w.hourElement)),w.amPM&&f&&(1===c?u+d===23:Math.abs(u-d)>c)&&(w.amPM.textContent=w.l10n.amPM[r(w.amPM.textContent===w.l10n.amPM[0])]),a.value=o(u)}}(e);var c=w._input.value;I(),be(),w._input.value!==c&&w._debouncedChange()}function I(){if(void 0!==w.hourElement&&void 0!==w.minuteElement){var e,n,t=(parseInt(w.hourElement.value.slice(-2),10)||0)%24,a=(parseInt(w.minuteElement.value,10)||0)%60,i=void 0!==w.secondElement?(parseInt(w.secondElement.value,10)||0)%60:0;void 0!==w.amPM&&(e=t,n=w.amPM.textContent,t=e%12+12*r(n===w.l10n.amPM[1]));var o=void 0!==w.config.minTime||w.config.minDate&&w.minDateHasTime&&w.latestSelectedDateObj&&0===M(w.latestSelectedDateObj,w.config.minDate,!0);if(void 0!==w.config.maxTime||w.config.maxDate&&w.maxDateHasTime&&w.latestSelectedDateObj&&0===M(w.latestSelectedDateObj,w.config.maxDate,!0)){var l=void 0!==w.config.maxTime?w.config.maxTime:w.config.maxDate;(t=Math.min(t,l.getHours()))===l.getHours()&&(a=Math.min(a,l.getMinutes())),a===l.getMinutes()&&(i=Math.min(i,l.getSeconds()))}if(o){var c=void 0!==w.config.minTime?w.config.minTime:w.config.minDate;(t=Math.max(t,c.getHours()))===c.getHours()&&(a=Math.max(a,c.getMinutes())),a===c.getMinutes()&&(i=Math.max(i,c.getSeconds()))}O(t,a,i)}}function S(e){var n=e||w.latestSelectedDateObj;n&&O(n.getHours(),n.getMinutes(),n.getSeconds())}function _(){var e=w.config.defaultHour,n=w.config.defaultMinute,t=w.config.defaultSeconds;if(void 0!==w.config.minDate){var a=w.config.minDate.getHours(),i=w.config.minDate.getMinutes();(e=Math.max(e,a))===a&&(n=Math.max(i,n)),e===a&&n===i&&(t=w.config.minDate.getSeconds())}if(void 0!==w.config.maxDate){var o=w.config.maxDate.getHours(),r=w.config.maxDate.getMinutes();(e=Math.min(e,o))===o&&(n=Math.min(r,n)),e===o&&n===r&&(t=w.config.maxDate.getSeconds())}return{hours:e,minutes:n,seconds:t}}function O(e,n,t){void 0!==w.latestSelectedDateObj&&w.latestSelectedDateObj.setHours(e%24,n,t||0,0),w.hourElement&&w.minuteElement&&!w.isMobile&&(w.hourElement.value=o(w.config.time_24hr?e:(12+e)%12+12*r(e%12==0)),w.minuteElement.value=o(n),void 0!==w.amPM&&(w.amPM.textContent=w.l10n.amPM[r(e>=12)]),void 0!==w.secondElement&&(w.secondElement.value=o(t)))}function F(e){var n=g(e),t=parseInt(n.value)+(e.delta||0);(t/1e3>1||\"Enter\"===e.key&&!/[^\\d]/.test(t.toString()))&&Q(t)}function N(e,n,t,a){return n instanceof Array?n.forEach((function(n){return N(e,n,t,a)})):e instanceof Array?e.forEach((function(e){return N(e,n,t,a)})):(e.addEventListener(n,t,a),void w._handlers.push({element:e,event:n,handler:t,options:a}))}function A(){pe(\"onChange\")}function P(e,n){var t=void 0!==e?w.parseDate(e):w.latestSelectedDateObj||(w.config.minDate&&w.config.minDate>w.now?w.config.minDate:w.config.maxDate&&w.config.maxDate=0&&M(e,w.selectedDates[1])<=0}(n)&&!ve(n)&&o.classList.add(\"inRange\"),w.weekNumbers&&1===w.config.showMonths&&\"prevMonthDay\"!==e&&t%7==1&&w.weekNumbers.insertAdjacentHTML(\"beforeend\",\"\"+w.config.getWeek(n)+\"\"),pe(\"onDayCreate\",o),o}function L(e){e.focus(),\"range\"===w.config.mode&&ae(e)}function W(e){for(var n=e>0?0:w.config.showMonths-1,t=e>0?w.config.showMonths:-1,a=n;a!=t;a+=e)for(var i=w.daysContainer.children[a],o=e>0?0:i.children.length-1,r=e>0?i.children.length:-1,l=o;l!=r;l+=e){var c=i.children[l];if(-1===c.className.indexOf(\"hidden\")&&X(c.dateObj))return c}}function R(e,n){var t=ee(document.activeElement||document.body),a=void 0!==e?e:t?document.activeElement:void 0!==w.selectedDateElem&&ee(w.selectedDateElem)?w.selectedDateElem:void 0!==w.todayDateElem&&ee(w.todayDateElem)?w.todayDateElem:W(n>0?1:-1);void 0===a?w._input.focus():t?function(e,n){for(var t=-1===e.className.indexOf(\"Month\")?e.dateObj.getMonth():w.currentMonth,a=n>0?w.config.showMonths:-1,i=n>0?1:-1,o=t-w.currentMonth;o!=a;o+=i)for(var r=w.daysContainer.children[o],l=t-w.currentMonth===o?e.$i+n:n<0?r.children.length-1:0,c=r.children.length,d=l;d>=0&&d0?c:-1);d+=i){var s=r.children[d];if(-1===s.className.indexOf(\"hidden\")&&X(s.dateObj)&&Math.abs(e.$i-d)>=Math.abs(n))return L(s)}w.changeMonth(i),R(W(i),0)}(a,n):L(a)}function B(e,n){for(var t=(new Date(e,n,1).getDay()-w.l10n.firstDayOfWeek+7)%7,a=w.utils.getDaysInMonth((n-1+12)%12,e),i=w.utils.getDaysInMonth(n,e),o=window.document.createDocumentFragment(),r=w.config.showMonths>1,l=r?\"prevMonthDay hidden\":\"prevMonthDay\",c=r?\"nextMonthDay hidden\":\"nextMonthDay\",d=a+1-t,u=0;d<=a;d++,u++)o.appendChild(j(l,new Date(e,n-1,d),d,u));for(d=1;d<=i;d++,u++)o.appendChild(j(\"\",new Date(e,n,d),d,u));for(var f=i+1;f<=42-t&&(1===w.config.showMonths||u%7!=0);f++,u++)o.appendChild(j(c,new Date(e,n+1,f%i),f,u));var m=s(\"div\",\"dayContainer\");return m.appendChild(o),m}function J(){if(void 0!==w.daysContainer){u(w.daysContainer),w.weekNumbers&&u(w.weekNumbers);for(var e=document.createDocumentFragment(),n=0;n1||\"dropdown\"!==w.config.monthSelectorType)){var e=function(e){return!(void 0!==w.config.minDate&&w.currentYear===w.config.minDate.getFullYear()&&ew.config.maxDate.getMonth())};w.monthsDropdownContainer.tabIndex=-1,w.monthsDropdownContainer.innerHTML=\"\";for(var n=0;n<12;n++)if(e(n)){var t=s(\"option\",\"flatpickr-monthDropdown-month\");t.value=new Date(w.currentYear,n).getMonth().toString(),t.textContent=h(n,w.config.shorthandCurrentMonth,w.l10n),t.tabIndex=-1,w.currentMonth===n&&(t.selected=!0),w.monthsDropdownContainer.appendChild(t)}}}function U(){var e,n=s(\"div\",\"flatpickr-month\"),t=window.document.createDocumentFragment();w.config.showMonths>1||\"static\"===w.config.monthSelectorType?e=s(\"span\",\"cur-month\"):(w.monthsDropdownContainer=s(\"select\",\"flatpickr-monthDropdown-months\"),w.monthsDropdownContainer.setAttribute(\"aria-label\",w.l10n.monthAriaLabel),N(w.monthsDropdownContainer,\"change\",(function(e){var n=g(e),t=parseInt(n.value,10);w.changeMonth(t-w.currentMonth),pe(\"onMonthChange\")})),K(),e=w.monthsDropdownContainer);var a=m(\"cur-year\",{tabindex:\"-1\"}),i=a.getElementsByTagName(\"input\")[0];i.setAttribute(\"aria-label\",w.l10n.yearAriaLabel),w.config.minDate&&i.setAttribute(\"min\",w.config.minDate.getFullYear().toString()),w.config.maxDate&&(i.setAttribute(\"max\",w.config.maxDate.getFullYear().toString()),i.disabled=!!w.config.minDate&&w.config.minDate.getFullYear()===w.config.maxDate.getFullYear());var o=s(\"div\",\"flatpickr-current-month\");return o.appendChild(e),o.appendChild(a),t.appendChild(o),n.appendChild(t),{container:n,yearElement:i,monthElement:e}}function q(){u(w.monthNav),w.monthNav.appendChild(w.prevMonthNav),w.config.showMonths&&(w.yearElements=[],w.monthElements=[]);for(var e=w.config.showMonths;e--;){var n=U();w.yearElements.push(n.yearElement),w.monthElements.push(n.monthElement),w.monthNav.appendChild(n.container)}w.monthNav.appendChild(w.nextMonthNav)}function $(){w.weekdayContainer?u(w.weekdayContainer):w.weekdayContainer=s(\"div\",\"flatpickr-weekdays\");for(var e=w.config.showMonths;e--;){var n=s(\"div\",\"flatpickr-weekdaycontainer\");w.weekdayContainer.appendChild(n)}return z(),w.weekdayContainer}function z(){if(w.weekdayContainer){var e=w.l10n.firstDayOfWeek,t=n(w.l10n.weekdays.shorthand);e>0&&e\\n \"+t.join(\"\")+\"\\n \\n \"}}function G(e,n){void 0===n&&(n=!0);var t=n?e:e-w.currentMonth;t<0&&!0===w._hidePrevMonthArrow||t>0&&!0===w._hideNextMonthArrow||(w.currentMonth+=t,(w.currentMonth<0||w.currentMonth>11)&&(w.currentYear+=w.currentMonth>11?1:-1,w.currentMonth=(w.currentMonth+12)%12,pe(\"onYearChange\"),K()),J(),pe(\"onMonthChange\"),De())}function V(e){return!(!w.config.appendTo||!w.config.appendTo.contains(e))||w.calendarContainer.contains(e)}function Z(e){if(w.isOpen&&!w.config.inline){var n=g(e),t=V(n),a=n===w.input||n===w.altInput||w.element.contains(n)||e.path&&e.path.indexOf&&(~e.path.indexOf(w.input)||~e.path.indexOf(w.altInput)),i=\"blur\"===e.type?a&&e.relatedTarget&&!V(e.relatedTarget):!a&&!t&&!V(e.relatedTarget),o=!w.config.ignoredFocusElements.some((function(e){return e.contains(n)}));i&&o&&(void 0!==w.timeContainer&&void 0!==w.minuteElement&&void 0!==w.hourElement&&\"\"!==w.input.value&&void 0!==w.input.value&&T(),w.close(),w.config&&\"range\"===w.config.mode&&1===w.selectedDates.length&&(w.clear(!1),w.redraw()))}}function Q(e){if(!(!e||w.config.minDate&&ew.config.maxDate.getFullYear())){var n=e,t=w.currentYear!==n;w.currentYear=n||w.currentYear,w.config.maxDate&&w.currentYear===w.config.maxDate.getFullYear()?w.currentMonth=Math.min(w.config.maxDate.getMonth(),w.currentMonth):w.config.minDate&&w.currentYear===w.config.minDate.getFullYear()&&(w.currentMonth=Math.max(w.config.minDate.getMonth(),w.currentMonth)),t&&(w.redraw(),pe(\"onYearChange\"),K())}}function X(e,n){void 0===n&&(n=!0);var t=w.parseDate(e,void 0,n);if(w.config.minDate&&t&&M(t,w.config.minDate,void 0!==n?n:!w.minDateHasTime)<0||w.config.maxDate&&t&&M(t,w.config.maxDate,void 0!==n?n:!w.maxDateHasTime)>0)return!1;if(0===w.config.enable.length&&0===w.config.disable.length)return!0;if(void 0===t)return!1;for(var a=w.config.enable.length>0,i=a?w.config.enable:w.config.disable,o=0,r=void 0;o=r.from.getTime()&&t.getTime()<=r.to.getTime())return a}return!a}function ee(e){return void 0!==w.daysContainer&&-1===e.className.indexOf(\"hidden\")&&-1===e.className.indexOf(\"flatpickr-disabled\")&&w.daysContainer.contains(e)}function ne(e){e.target!==w._input||e.relatedTarget&&V(e.relatedTarget)||w.setDate(w._input.value,!0,e.target===w.altInput?w.config.altFormat:w.config.dateFormat)}function te(e){var n=g(e),t=w.config.wrap?p.contains(n):n===w._input,a=w.config.allowInput,i=w.isOpen&&(!a||!t),o=w.config.inline&&t&&!a;if(13===e.keyCode&&t){if(a)return w.setDate(w._input.value,!0,n===w.altInput?w.config.altFormat:w.config.dateFormat),n.blur();w.open()}else if(V(n)||i||o){var r=!!w.timeContainer&&w.timeContainer.contains(n);switch(e.keyCode){case 13:r?(e.preventDefault(),T(),se()):ue(e);break;case 27:e.preventDefault(),se();break;case 8:case 46:t&&!w.config.allowInput&&(e.preventDefault(),w.clear());break;case 37:case 39:if(r||t)w.hourElement&&w.hourElement.focus();else if(e.preventDefault(),void 0!==w.daysContainer&&(!1===a||document.activeElement&&ee(document.activeElement))){var l=39===e.keyCode?1:-1;e.ctrlKey?(e.stopPropagation(),G(l),R(W(1),0)):R(void 0,l)}break;case 38:case 40:e.preventDefault();var c=40===e.keyCode?1:-1;w.daysContainer&&void 0!==n.$i||n===w.input||n===w.altInput?e.ctrlKey?(e.stopPropagation(),Q(w.currentYear-c),R(W(1),0)):r||R(void 0,7*c):n===w.currentYearElement?Q(w.currentYear-c):w.config.enableTime&&(!r&&w.hourElement&&w.hourElement.focus(),T(e),w._debouncedChange());break;case 9:if(r){var d=[w.hourElement,w.minuteElement,w.secondElement,w.amPM].concat(w.pluginElements).filter((function(e){return e})),s=d.indexOf(n);if(-1!==s){var u=d[s+(e.shiftKey?-1:1)];e.preventDefault(),(u||w._input).focus()}}else!w.config.noCalendar&&w.daysContainer&&w.daysContainer.contains(n)&&e.shiftKey&&(e.preventDefault(),w._input.focus())}}if(void 0!==w.amPM&&n===w.amPM)switch(e.key){case w.l10n.amPM[0].charAt(0):case w.l10n.amPM[0].charAt(0).toLowerCase():w.amPM.textContent=w.l10n.amPM[0],I(),be();break;case w.l10n.amPM[1].charAt(0):case w.l10n.amPM[1].charAt(0).toLowerCase():w.amPM.textContent=w.l10n.amPM[1],I(),be()}(t||V(n))&&pe(\"onKeyDown\",e)}function ae(e){if(1===w.selectedDates.length&&(!e||e.classList.contains(\"flatpickr-day\")&&!e.classList.contains(\"flatpickr-disabled\"))){for(var n=e?e.dateObj.getTime():w.days.firstElementChild.dateObj.getTime(),t=w.parseDate(w.selectedDates[0],void 0,!0).getTime(),a=Math.min(n,w.selectedDates[0].getTime()),i=Math.max(n,w.selectedDates[0].getTime()),o=!1,r=0,l=0,c=a;ca&&cr)?r=c:c>t&&(!l||c0&&m0&&m>l;return g?(f.classList.add(\"notAllowed\"),[\"inRange\",\"startRange\",\"endRange\"].forEach((function(e){f.classList.remove(e)})),\"continue\"):o&&!g?\"continue\":([\"startRange\",\"inRange\",\"endRange\",\"notAllowed\"].forEach((function(e){f.classList.remove(e)})),void(void 0!==e&&(e.classList.add(n<=w.selectedDates[0].getTime()?\"startRange\":\"endRange\"),tn&&m===t&&f.classList.add(\"endRange\"),m>=r&&(0===l||m<=l)&&(d=t,u=n,(c=m)>Math.min(d,u)&&c0||t.getMinutes()>0||t.getSeconds()>0),w.selectedDates&&(w.selectedDates=w.selectedDates.filter((function(e){return X(e)})),w.selectedDates.length||\"min\"!==e||S(t),be()),w.daysContainer&&(de(),void 0!==t?w.currentYearElement[e]=t.getFullYear().toString():w.currentYearElement.removeAttribute(e),w.currentYearElement.disabled=!!a&&void 0!==t&&a.getFullYear()===t.getFullYear())}}function re(){return w.config.wrap?p.querySelector(\"[data-input]\"):p}function le(){\"object\"!=typeof w.config.locale&&void 0===k.l10ns[w.config.locale]&&w.config.errorHandler(new Error(\"flatpickr: invalid locale \"+w.config.locale)),w.l10n=e(e({},k.l10ns.default),\"object\"==typeof w.config.locale?w.config.locale:\"default\"!==w.config.locale?k.l10ns[w.config.locale]:void 0),D.K=\"(\"+w.l10n.amPM[0]+\"|\"+w.l10n.amPM[1]+\"|\"+w.l10n.amPM[0].toLowerCase()+\"|\"+w.l10n.amPM[1].toLowerCase()+\")\",void 0===e(e({},v),JSON.parse(JSON.stringify(p.dataset||{}))).time_24hr&&void 0===k.defaultConfig.time_24hr&&(w.config.time_24hr=w.l10n.time_24hr),w.formatDate=b(w),w.parseDate=C({config:w.config,l10n:w.l10n})}function ce(e){if(void 0!==w.calendarContainer){pe(\"onPreCalendarPosition\");var n=e||w._positionElement,t=Array.prototype.reduce.call(w.calendarContainer.children,(function(e,n){return e+n.offsetHeight}),0),a=w.calendarContainer.offsetWidth,i=w.config.position.split(\" \"),o=i[0],r=i.length>1?i[1]:null,l=n.getBoundingClientRect(),c=window.innerHeight-l.bottom,s=\"above\"===o||\"below\"!==o&&ct,u=window.pageYOffset+l.top+(s?-t-2:n.offsetHeight+2);if(d(w.calendarContainer,\"arrowTop\",!s),d(w.calendarContainer,\"arrowBottom\",s),!w.config.inline){var f=window.pageXOffset+l.left,m=!1,g=!1;\"center\"===r?(f-=(a-l.width)/2,m=!0):\"right\"===r&&(f-=a-l.width,g=!0),d(w.calendarContainer,\"arrowLeft\",!m&&!g),d(w.calendarContainer,\"arrowCenter\",m),d(w.calendarContainer,\"arrowRight\",g);var p=window.document.body.offsetWidth-(window.pageXOffset+l.right),h=f+a>window.document.body.offsetWidth,v=p+a>window.document.body.offsetWidth;if(d(w.calendarContainer,\"rightMost\",h),!w.config.static)if(w.calendarContainer.style.top=u+\"px\",h)if(v){var D=function(){for(var e=null,n=0;nw.currentMonth+w.config.showMonths-1)&&\"range\"!==w.config.mode;if(w.selectedDateElem=t,\"single\"===w.config.mode)w.selectedDates=[a];else if(\"multiple\"===w.config.mode){var o=ve(a);o?w.selectedDates.splice(parseInt(o),1):w.selectedDates.push(a)}else\"range\"===w.config.mode&&(2===w.selectedDates.length&&w.clear(!1,!1),w.latestSelectedDateObj=a,w.selectedDates.push(a),0!==M(a,w.selectedDates[0],!0)&&w.selectedDates.sort((function(e,n){return e.getTime()-n.getTime()})));if(I(),i){var r=w.currentYear!==a.getFullYear();w.currentYear=a.getFullYear(),w.currentMonth=a.getMonth(),r&&(pe(\"onYearChange\"),K()),pe(\"onMonthChange\")}if(De(),J(),be(),i||\"range\"===w.config.mode||1!==w.config.showMonths?void 0!==w.selectedDateElem&&void 0===w.hourElement&&w.selectedDateElem&&w.selectedDateElem.focus():L(t),void 0!==w.hourElement&&void 0!==w.hourElement&&w.hourElement.focus(),w.config.closeOnSelect){var l=\"single\"===w.config.mode&&!w.config.enableTime,c=\"range\"===w.config.mode&&2===w.selectedDates.length&&!w.config.enableTime;(l||c)&&se()}A()}}w.parseDate=C({config:w.config,l10n:w.l10n}),w._handlers=[],w.pluginElements=[],w.loadedPlugins=[],w._bind=N,w._setHoursFromDate=S,w._positionCalendar=ce,w.changeMonth=G,w.changeYear=Q,w.clear=function(e,n){if(void 0===e&&(e=!0),void 0===n&&(n=!0),w.input.value=\"\",void 0!==w.altInput&&(w.altInput.value=\"\"),void 0!==w.mobileInput&&(w.mobileInput.value=\"\"),w.selectedDates=[],w.latestSelectedDateObj=void 0,!0===n&&(w.currentYear=w._initialDate.getFullYear(),w.currentMonth=w._initialDate.getMonth()),!0===w.config.enableTime){var t=_(),a=t.hours,i=t.minutes,o=t.seconds;O(a,i,o)}w.redraw(),e&&pe(\"onChange\")},w.close=function(){w.isOpen=!1,w.isMobile||(void 0!==w.calendarContainer&&w.calendarContainer.classList.remove(\"open\"),void 0!==w._input&&w._input.classList.remove(\"active\")),pe(\"onClose\")},w._createElement=s,w.destroy=function(){void 0!==w.config&&pe(\"onDestroy\");for(var e=w._handlers.length;e--;){var n=w._handlers[e];n.element.removeEventListener(n.event,n.handler,n.options)}if(w._handlers=[],w.mobileInput)w.mobileInput.parentNode&&w.mobileInput.parentNode.removeChild(w.mobileInput),w.mobileInput=void 0;else if(w.calendarContainer&&w.calendarContainer.parentNode)if(w.config.static&&w.calendarContainer.parentNode){var t=w.calendarContainer.parentNode;if(t.lastChild&&t.removeChild(t.lastChild),t.parentNode){for(;t.firstChild;)t.parentNode.insertBefore(t.firstChild,t);t.parentNode.removeChild(t)}}else w.calendarContainer.parentNode.removeChild(w.calendarContainer);w.altInput&&(w.input.type=\"text\",w.altInput.parentNode&&w.altInput.parentNode.removeChild(w.altInput),delete w.altInput),w.input&&(w.input.type=w.input._type,w.input.classList.remove(\"flatpickr-input\"),w.input.removeAttribute(\"readonly\")),[\"_showTimeInput\",\"latestSelectedDateObj\",\"_hideNextMonthArrow\",\"_hidePrevMonthArrow\",\"__hideNextMonthArrow\",\"__hidePrevMonthArrow\",\"isMobile\",\"isOpen\",\"selectedDateElem\",\"minDateHasTime\",\"maxDateHasTime\",\"days\",\"daysContainer\",\"_input\",\"_positionElement\",\"innerContainer\",\"rContainer\",\"monthNav\",\"todayDateElem\",\"calendarContainer\",\"weekdayContainer\",\"prevMonthNav\",\"nextMonthNav\",\"monthsDropdownContainer\",\"currentMonthElement\",\"currentYearElement\",\"navigationCurrentMonth\",\"selectedDateElem\",\"config\"].forEach((function(e){try{delete w[e]}catch(e){}}))},w.isEnabled=X,w.jumpToDate=P,w.open=function(e,n){if(void 0===n&&(n=w._positionElement),!0===w.isMobile){if(e){e.preventDefault();var t=g(e);t&&t.blur()}return void 0!==w.mobileInput&&(w.mobileInput.focus(),w.mobileInput.click()),void pe(\"onOpen\")}if(!w._input.disabled&&!w.config.inline){var a=w.isOpen;w.isOpen=!0,a||(w.calendarContainer.classList.add(\"open\"),w._input.classList.add(\"active\"),pe(\"onOpen\"),ce(n)),!0===w.config.enableTime&&!0===w.config.noCalendar&&(!1!==w.config.allowInput||void 0!==e&&w.timeContainer.contains(e.relatedTarget)||setTimeout((function(){return w.hourElement.select()}),50))}},w.redraw=de,w.set=function(e,n){if(null!==e&&\"object\"==typeof e)for(var a in Object.assign(w.config,e),e)void 0!==fe[a]&&fe[a].forEach((function(e){return e()}));else w.config[e]=n,void 0!==fe[e]?fe[e].forEach((function(e){return e()})):t.indexOf(e)>-1&&(w.config[e]=c(n));w.redraw(),be(!0)},w.setDate=function(e,n,t){if(void 0===n&&(n=!1),void 0===t&&(t=w.config.dateFormat),0!==e&&!e||e instanceof Array&&0===e.length)return w.clear(n);me(e,t),w.latestSelectedDateObj=w.selectedDates[w.selectedDates.length-1],w.redraw(),P(void 0,n),S(),0===w.selectedDates.length&&w.clear(!1),be(n),n&&pe(\"onChange\")},w.toggle=function(e){if(!0===w.isOpen)return w.close();w.open(e)};var fe={locale:[le,z],showMonths:[q,E,$],minDate:[P],maxDate:[P]};function me(e,n){var t=[];if(e instanceof Array)t=e.map((function(e){return w.parseDate(e,n)}));else if(e instanceof Date||\"number\"==typeof e)t=[w.parseDate(e,n)];else if(\"string\"==typeof e)switch(w.config.mode){case\"single\":case\"time\":t=[w.parseDate(e,n)];break;case\"multiple\":t=e.split(w.config.conjunction).map((function(e){return w.parseDate(e,n)}));break;case\"range\":t=e.split(w.l10n.rangeSeparator).map((function(e){return w.parseDate(e,n)}))}else w.config.errorHandler(new Error(\"Invalid date supplied: \"+JSON.stringify(e)));w.selectedDates=w.config.allowInvalidPreload?t:t.filter((function(e){return e instanceof Date&&X(e,!1)})),\"range\"===w.config.mode&&w.selectedDates.sort((function(e,n){return e.getTime()-n.getTime()}))}function ge(e){return e.slice().map((function(e){return\"string\"==typeof e||\"number\"==typeof e||e instanceof Date?w.parseDate(e,void 0,!0):e&&\"object\"==typeof e&&e.from&&e.to?{from:w.parseDate(e.from,void 0),to:w.parseDate(e.to,void 0)}:e})).filter((function(e){return e}))}function pe(e,n){if(void 0!==w.config){var t=w.config[e];if(void 0!==t&&t.length>0)for(var a=0;t[a]&&a1||\"static\"===w.config.monthSelectorType?w.monthElements[n].textContent=h(t.getMonth(),w.config.shorthandCurrentMonth,w.l10n)+\" \":w.monthsDropdownContainer.value=t.getMonth().toString(),e.value=t.getFullYear().toString()})),w._hidePrevMonthArrow=void 0!==w.config.minDate&&(w.currentYear===w.config.minDate.getFullYear()?w.currentMonth<=w.config.minDate.getMonth():w.currentYearw.config.maxDate.getMonth():w.currentYear>w.config.maxDate.getFullYear()))}function we(e){return w.selectedDates.map((function(n){return w.formatDate(n,e)})).filter((function(e,n,t){return\"range\"!==w.config.mode||w.config.enableTime||t.indexOf(e)===n})).join(\"range\"!==w.config.mode?w.config.conjunction:w.l10n.rangeSeparator)}function be(e){void 0===e&&(e=!0),void 0!==w.mobileInput&&w.mobileFormatStr&&(w.mobileInput.value=void 0!==w.latestSelectedDateObj?w.formatDate(w.latestSelectedDateObj,w.mobileFormatStr):\"\"),w.input.value=we(w.config.dateFormat),void 0!==w.altInput&&(w.altInput.value=we(w.config.altFormat)),!1!==e&&pe(\"onValueUpdate\")}function Ce(e){var n=g(e),t=w.prevMonthNav.contains(n),a=w.nextMonthNav.contains(n);t||a?G(t?-1:1):w.yearElements.indexOf(n)>=0?n.select():n.classList.contains(\"arrowUp\")?w.changeYear(w.currentYear+1):n.classList.contains(\"arrowDown\")&&w.changeYear(w.currentYear-1)}return function(){w.element=w.input=p,w.isOpen=!1,function(){var n=[\"wrap\",\"weekNumbers\",\"allowInput\",\"allowInvalidPreload\",\"clickOpens\",\"time_24hr\",\"enableTime\",\"noCalendar\",\"altInput\",\"shorthandCurrentMonth\",\"inline\",\"static\",\"enableSeconds\",\"disableMobile\"],i=e(e({},JSON.parse(JSON.stringify(p.dataset||{}))),v),o={};w.config.parseDate=i.parseDate,w.config.formatDate=i.formatDate,Object.defineProperty(w.config,\"enable\",{get:function(){return w.config._enable},set:function(e){w.config._enable=ge(e)}}),Object.defineProperty(w.config,\"disable\",{get:function(){return w.config._disable},set:function(e){w.config._disable=ge(e)}});var r=\"time\"===i.mode;if(!i.dateFormat&&(i.enableTime||r)){var l=k.defaultConfig.dateFormat||a.dateFormat;o.dateFormat=i.noCalendar||r?\"H:i\"+(i.enableSeconds?\":S\":\"\"):l+\" H:i\"+(i.enableSeconds?\":S\":\"\")}if(i.altInput&&(i.enableTime||r)&&!i.altFormat){var d=k.defaultConfig.altFormat||a.altFormat;o.altFormat=i.noCalendar||r?\"h:i\"+(i.enableSeconds?\":S K\":\" K\"):d+\" h:i\"+(i.enableSeconds?\":S\":\"\")+\" K\"}Object.defineProperty(w.config,\"minDate\",{get:function(){return w.config._minDate},set:oe(\"min\")}),Object.defineProperty(w.config,\"maxDate\",{get:function(){return w.config._maxDate},set:oe(\"max\")});var s=function(e){return function(n){w.config[\"min\"===e?\"_minTime\":\"_maxTime\"]=w.parseDate(n,\"H:i:S\")}};Object.defineProperty(w.config,\"minTime\",{get:function(){return w.config._minTime},set:s(\"min\")}),Object.defineProperty(w.config,\"maxTime\",{get:function(){return w.config._maxTime},set:s(\"max\")}),\"time\"===i.mode&&(w.config.noCalendar=!0,w.config.enableTime=!0),Object.assign(w.config,o,i);for(var u=0;u-1?w.config[m]=c(f[m]).map(x).concat(w.config[m]):void 0===i[m]&&(w.config[m]=f[m])}i.altInputClass||(w.config.altInputClass=re().className+\" \"+w.config.altInputClass),pe(\"onParseConfig\")}(),le(),w.input=re(),w.input?(w.input._type=w.input.type,w.input.type=\"text\",w.input.classList.add(\"flatpickr-input\"),w._input=w.input,w.config.altInput&&(w.altInput=s(w.input.nodeName,w.config.altInputClass),w._input=w.altInput,w.altInput.placeholder=w.input.placeholder,w.altInput.disabled=w.input.disabled,w.altInput.required=w.input.required,w.altInput.tabIndex=w.input.tabIndex,w.altInput.type=\"text\",w.input.setAttribute(\"type\",\"hidden\"),!w.config.static&&w.input.parentNode&&w.input.parentNode.insertBefore(w.altInput,w.input.nextSibling)),w.config.allowInput||w._input.setAttribute(\"readonly\",\"readonly\"),w._positionElement=w.config.positionElement||w._input):w.config.errorHandler(new Error(\"Invalid input element specified\")),function(){w.selectedDates=[],w.now=w.parseDate(w.config.now)||new Date;var e=w.config.defaultDate||(\"INPUT\"!==w.input.nodeName&&\"TEXTAREA\"!==w.input.nodeName||!w.input.placeholder||w.input.value!==w.input.placeholder?w.input.value:null);e&&me(e,w.config.dateFormat),w._initialDate=w.selectedDates.length>0?w.selectedDates[0]:w.config.minDate&&w.config.minDate.getTime()>w.now.getTime()?w.config.minDate:w.config.maxDate&&w.config.maxDate.getTime()0&&(w.latestSelectedDateObj=w.selectedDates[0]),void 0!==w.config.minTime&&(w.config.minTime=w.parseDate(w.config.minTime,\"H:i\")),void 0!==w.config.maxTime&&(w.config.maxTime=w.parseDate(w.config.maxTime,\"H:i\")),w.minDateHasTime=!!w.config.minDate&&(w.config.minDate.getHours()>0||w.config.minDate.getMinutes()>0||w.config.minDate.getSeconds()>0),w.maxDateHasTime=!!w.config.maxDate&&(w.config.maxDate.getHours()>0||w.config.maxDate.getMinutes()>0||w.config.maxDate.getSeconds()>0)}(),w.utils={getDaysInMonth:function(e,n){return void 0===e&&(e=w.currentMonth),void 0===n&&(n=w.currentYear),1===e&&(n%4==0&&n%100!=0||n%400==0)?29:w.l10n.daysInMonth[e]}},w.isMobile||function(){var e=window.document.createDocumentFragment();if(w.calendarContainer=s(\"div\",\"flatpickr-calendar\"),w.calendarContainer.tabIndex=-1,!w.config.noCalendar){if(e.appendChild((w.monthNav=s(\"div\",\"flatpickr-months\"),w.yearElements=[],w.monthElements=[],w.prevMonthNav=s(\"span\",\"flatpickr-prev-month\"),w.prevMonthNav.innerHTML=w.config.prevArrow,w.nextMonthNav=s(\"span\",\"flatpickr-next-month\"),w.nextMonthNav.innerHTML=w.config.nextArrow,q(),Object.defineProperty(w,\"_hidePrevMonthArrow\",{get:function(){return w.__hidePrevMonthArrow},set:function(e){w.__hidePrevMonthArrow!==e&&(d(w.prevMonthNav,\"flatpickr-disabled\",e),w.__hidePrevMonthArrow=e)}}),Object.defineProperty(w,\"_hideNextMonthArrow\",{get:function(){return w.__hideNextMonthArrow},set:function(e){w.__hideNextMonthArrow!==e&&(d(w.nextMonthNav,\"flatpickr-disabled\",e),w.__hideNextMonthArrow=e)}}),w.currentYearElement=w.yearElements[0],De(),w.monthNav)),w.innerContainer=s(\"div\",\"flatpickr-innerContainer\"),w.config.weekNumbers){var n=function(){w.calendarContainer.classList.add(\"hasWeeks\");var e=s(\"div\",\"flatpickr-weekwrapper\");e.appendChild(s(\"span\",\"flatpickr-weekday\",w.l10n.weekAbbreviation));var n=s(\"div\",\"flatpickr-weeks\");return e.appendChild(n),{weekWrapper:e,weekNumbers:n}}(),t=n.weekWrapper,a=n.weekNumbers;w.innerContainer.appendChild(t),w.weekNumbers=a,w.weekWrapper=t}w.rContainer=s(\"div\",\"flatpickr-rContainer\"),w.rContainer.appendChild($()),w.daysContainer||(w.daysContainer=s(\"div\",\"flatpickr-days\"),w.daysContainer.tabIndex=-1),J(),w.rContainer.appendChild(w.daysContainer),w.innerContainer.appendChild(w.rContainer),e.appendChild(w.innerContainer)}w.config.enableTime&&e.appendChild(function(){w.calendarContainer.classList.add(\"hasTime\"),w.config.noCalendar&&w.calendarContainer.classList.add(\"noCalendar\"),w.timeContainer=s(\"div\",\"flatpickr-time\"),w.timeContainer.tabIndex=-1;var e=s(\"span\",\"flatpickr-time-separator\",\":\"),n=m(\"flatpickr-hour\",{\"aria-label\":w.l10n.hourAriaLabel});w.hourElement=n.getElementsByTagName(\"input\")[0];var t=m(\"flatpickr-minute\",{\"aria-label\":w.l10n.minuteAriaLabel});if(w.minuteElement=t.getElementsByTagName(\"input\")[0],w.hourElement.tabIndex=w.minuteElement.tabIndex=-1,w.hourElement.value=o(w.latestSelectedDateObj?w.latestSelectedDateObj.getHours():w.config.time_24hr?w.config.defaultHour:function(e){switch(e%24){case 0:case 12:return 12;default:return e%12}}(w.config.defaultHour)),w.minuteElement.value=o(w.latestSelectedDateObj?w.latestSelectedDateObj.getMinutes():w.config.defaultMinute),w.hourElement.setAttribute(\"step\",w.config.hourIncrement.toString()),w.minuteElement.setAttribute(\"step\",w.config.minuteIncrement.toString()),w.hourElement.setAttribute(\"min\",w.config.time_24hr?\"0\":\"1\"),w.hourElement.setAttribute(\"max\",w.config.time_24hr?\"23\":\"12\"),w.minuteElement.setAttribute(\"min\",\"0\"),w.minuteElement.setAttribute(\"max\",\"59\"),w.timeContainer.appendChild(n),w.timeContainer.appendChild(e),w.timeContainer.appendChild(t),w.config.time_24hr&&w.timeContainer.classList.add(\"time24hr\"),w.config.enableSeconds){w.timeContainer.classList.add(\"hasSeconds\");var a=m(\"flatpickr-second\");w.secondElement=a.getElementsByTagName(\"input\")[0],w.secondElement.value=o(w.latestSelectedDateObj?w.latestSelectedDateObj.getSeconds():w.config.defaultSeconds),w.secondElement.setAttribute(\"step\",w.minuteElement.getAttribute(\"step\")),w.secondElement.setAttribute(\"min\",\"0\"),w.secondElement.setAttribute(\"max\",\"59\"),w.timeContainer.appendChild(s(\"span\",\"flatpickr-time-separator\",\":\")),w.timeContainer.appendChild(a)}return w.config.time_24hr||(w.amPM=s(\"span\",\"flatpickr-am-pm\",w.l10n.amPM[r((w.latestSelectedDateObj?w.hourElement.value:w.config.defaultHour)>11)]),w.amPM.title=w.l10n.toggleTitle,w.amPM.tabIndex=-1,w.timeContainer.appendChild(w.amPM)),w.timeContainer}()),d(w.calendarContainer,\"rangeMode\",\"range\"===w.config.mode),d(w.calendarContainer,\"animate\",!0===w.config.animate),d(w.calendarContainer,\"multiMonth\",w.config.showMonths>1),w.calendarContainer.appendChild(e);var i=void 0!==w.config.appendTo&&void 0!==w.config.appendTo.nodeType;if((w.config.inline||w.config.static)&&(w.calendarContainer.classList.add(w.config.inline?\"inline\":\"static\"),w.config.inline&&(!i&&w.element.parentNode?w.element.parentNode.insertBefore(w.calendarContainer,w._input.nextSibling):void 0!==w.config.appendTo&&w.config.appendTo.appendChild(w.calendarContainer)),w.config.static)){var l=s(\"div\",\"flatpickr-wrapper\");w.element.parentNode&&w.element.parentNode.insertBefore(l,w.element),l.appendChild(w.element),w.altInput&&l.appendChild(w.altInput),l.appendChild(w.calendarContainer)}w.config.static||w.config.inline||(void 0!==w.config.appendTo?w.config.appendTo:window.document.body).appendChild(w.calendarContainer)}(),function(){if(w.config.wrap&&[\"open\",\"close\",\"toggle\",\"clear\"].forEach((function(e){Array.prototype.forEach.call(w.element.querySelectorAll(\"[data-\"+e+\"]\"),(function(n){return N(n,\"click\",w[e])}))})),w.isMobile)!function(){var e=w.config.enableTime?w.config.noCalendar?\"time\":\"datetime-local\":\"date\";w.mobileInput=s(\"input\",w.input.className+\" flatpickr-mobile\"),w.mobileInput.tabIndex=1,w.mobileInput.type=e,w.mobileInput.disabled=w.input.disabled,w.mobileInput.required=w.input.required,w.mobileInput.placeholder=w.input.placeholder,w.mobileFormatStr=\"datetime-local\"===e?\"Y-m-d\\\\TH:i:S\":\"date\"===e?\"Y-m-d\":\"H:i:S\",w.selectedDates.length>0&&(w.mobileInput.defaultValue=w.mobileInput.value=w.formatDate(w.selectedDates[0],w.mobileFormatStr)),w.config.minDate&&(w.mobileInput.min=w.formatDate(w.config.minDate,\"Y-m-d\")),w.config.maxDate&&(w.mobileInput.max=w.formatDate(w.config.maxDate,\"Y-m-d\")),w.input.getAttribute(\"step\")&&(w.mobileInput.step=String(w.input.getAttribute(\"step\"))),w.input.type=\"hidden\",void 0!==w.altInput&&(w.altInput.type=\"hidden\");try{w.input.parentNode&&w.input.parentNode.insertBefore(w.mobileInput,w.input.nextSibling)}catch(e){}N(w.mobileInput,\"change\",(function(e){w.setDate(g(e).value,!1,w.mobileFormatStr),pe(\"onChange\"),pe(\"onClose\")}))}();else{var e=l(ie,50);if(w._debouncedChange=l(A,300),w.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&N(w.daysContainer,\"mouseover\",(function(e){\"range\"===w.config.mode&&ae(g(e))})),N(window.document.body,\"keydown\",te),w.config.inline||w.config.static||N(window,\"resize\",e),void 0!==window.ontouchstart?N(window.document,\"touchstart\",Z):N(window.document,\"click\",Z),N(window.document,\"focus\",Z,{capture:!0}),!0===w.config.clickOpens&&(N(w._input,\"focus\",w.open),N(w._input,\"click\",w.open)),void 0!==w.daysContainer&&(N(w.monthNav,\"click\",Ce),N(w.monthNav,[\"keyup\",\"increment\"],F),N(w.daysContainer,\"click\",ue)),void 0!==w.timeContainer&&void 0!==w.minuteElement&&void 0!==w.hourElement){var n=function(e){return g(e).select()};N(w.timeContainer,[\"increment\"],T),N(w.timeContainer,\"blur\",T,{capture:!0}),N(w.timeContainer,\"click\",Y),N([w.hourElement,w.minuteElement],[\"focus\",\"click\"],n),void 0!==w.secondElement&&N(w.secondElement,\"focus\",(function(){return w.secondElement&&w.secondElement.select()})),void 0!==w.amPM&&N(w.amPM,\"click\",(function(e){T(e),A()}))}w.config.allowInput&&N(w._input,\"blur\",ne)}}(),(w.selectedDates.length||w.config.noCalendar)&&(w.config.enableTime&&S(w.config.noCalendar?w.latestSelectedDateObj||w.config.minDate:void 0),be(!1)),E();var n=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!w.isMobile&&n&&ce(),pe(\"onReady\")}(),w}function E(e,n){for(var t=Array.prototype.slice.call(e).filter((function(e){return e instanceof HTMLElement})),a=[],i=0;ithis.render()));const{start:s,end:l,value:o,step:r,title:n}=this.model.properties;this.on_change([s,l,o,r],(()=>{const{start:t,end:e,value:i,step:s}=this._calc_to();this._noUiSlider.updateOptions({range:{min:t,max:e},start:i,step:s},!0)}));const{bar_color:a}=this.model.properties;this.on_change(a,(()=>{this._set_bar_color()}));const{show_value:d}=this.model.properties;this.on_change([o,n,d],(()=>this._update_title()))}styles(){return[...super.styles(),p.default,u.default]}_update_title(){var t;(0,a.empty)(this.title_el);const e=null==this.model.title||0==this.model.title.length&&!this.model.show_value;if(this.title_el.style.display=e?\"none\":\"\",!e&&(0!=(null===(t=this.model.title)||void 0===t?void 0:t.length)&&(this.title_el.textContent=`${this.model.title}: `),this.model.show_value)){const{value:t}=this._calc_to(),e=t.map((t=>this.model.pretty(t))).join(\" .. \");this.title_el.appendChild((0,a.span)({class:m.slider_value},e))}}_set_bar_color(){if(!this.model.disabled){this.slider_el.querySelector(\".noUi-connect\").style.backgroundColor=(0,_.color2css)(this.model.bar_color)}}render(){super.render();const{start:t,end:e,value:i,step:s}=this._calc_to();let l;if(this.model.tooltips){const t={to:t=>this.model.pretty(t)};l=(0,d.repeat)(t,i.length)}else l=!1;if(null==this.slider_el){this.slider_el=(0,a.div)(),this._noUiSlider=n.default.create(this.slider_el,{range:{min:t,max:e},start:i,step:s,behaviour:this.model.behaviour,connect:this.model.connected,tooltips:l,orientation:this.model.orientation,direction:this.model.direction}),this._noUiSlider.on(\"slide\",((t,e,i)=>this._slide(i))),this._noUiSlider.on(\"change\",((t,e,i)=>this._change(i)));const o=(t,e)=>{if(!l)return;this.slider_el.querySelectorAll(\".noUi-handle\")[t].querySelector(\".noUi-tooltip\").style.display=e?\"block\":\"\"};this._noUiSlider.on(\"start\",((t,e)=>o(e,!0))),this._noUiSlider.on(\"end\",((t,e)=>o(e,!1)))}else this._noUiSlider.updateOptions({range:{min:t,max:e},start:i,step:s},!0);this._set_bar_color(),this.model.disabled?this.slider_el.setAttribute(\"disabled\",\"true\"):this.slider_el.removeAttribute(\"disabled\"),this.title_el=(0,a.div)({class:m.slider_title}),this._update_title(),this.group_el=(0,a.div)({class:v.input_group},this.title_el,this.slider_el),this.el.appendChild(this.group_el)}_slide(t){this.model.value=this._calc_from(t)}_change(t){const e=this._calc_from(t);this.model.setv({value:e,value_throttled:e})}}b.__name__=\"AbstractBaseSliderView\";class g extends b{_calc_to(){return{start:this.model.start,end:this.model.end,value:[this.model.value],step:this.model.step}}_calc_from([t]){return Number.isInteger(this.model.start)&&Number.isInteger(this.model.end)&&Number.isInteger(this.model.step)?Math.round(t):t}}i.AbstractSliderView=g,g.__name__=\"AbstractSliderView\";class f extends b{_calc_to(){return{start:this.model.start,end:this.model.end,value:this.model.value,step:this.model.step}}_calc_from(t){return t}}i.AbstractRangeSliderView=f,f.__name__=\"AbstractRangeSliderView\";class S extends h.OrientedControl{constructor(t){super(t),this.connected=!1}pretty(t){return this._formatter(t,this.format)}}i.AbstractSlider=S,r=S,S.__name__=\"AbstractSlider\",r.define((({Any:t,Boolean:e,Number:i,String:s,Color:l,Or:o,Enum:r,Ref:n,Nullable:a})=>({title:[a(s),\"\"],show_value:[e,!0],start:[t],end:[t],value:[t],value_throttled:[t],step:[i,1],format:[o(s,n(c.TickFormatter))],direction:[r(\"ltr\",\"rtl\"),\"ltr\"],tooltips:[e,!0],bar_color:[l,\"#e6e6e6\"]})))},\n 462: function _(t,e,r,n,i){var o,s;o=this,s=function(t){\"use strict\";var e,r;function n(t){return\"object\"==typeof t&&\"function\"==typeof t.to}function i(t){t.parentElement.removeChild(t)}function o(t){return null!=t}function s(t){t.preventDefault()}function a(t){return\"number\"==typeof t&&!isNaN(t)&&isFinite(t)}function l(t,e,r){r>0&&(f(t,e),setTimeout((function(){d(t,e)}),r))}function u(t){return Math.max(Math.min(t,100),0)}function c(t){return Array.isArray(t)?t:[t]}function p(t){var e=(t=String(t)).split(\".\");return e.length>1?e[1].length:0}function f(t,e){t.classList&&!/\\s/.test(e)?t.classList.add(e):t.className+=\" \"+e}function d(t,e){t.classList&&!/\\s/.test(e)?t.classList.remove(e):t.className=t.className.replace(new RegExp(\"(^|\\\\b)\"+e.split(\" \").join(\"|\")+\"(\\\\b|$)\",\"gi\"),\" \")}function h(t){var e=void 0!==window.pageXOffset,r=\"CSS1Compat\"===(t.compatMode||\"\");return{x:e?window.pageXOffset:r?t.documentElement.scrollLeft:t.body.scrollLeft,y:e?window.pageYOffset:r?t.documentElement.scrollTop:t.body.scrollTop}}function m(t,e){return 100/(e-t)}function g(t,e,r){return 100*e/(t[r+1]-t[r])}function v(t,e){for(var r=1;t>=e[r];)r+=1;return r}function b(t,e,r){if(r>=t.slice(-1)[0])return 100;var n=v(r,t),i=t[n-1],o=t[n],s=e[n-1],a=e[n];return s+function(t,e){return g(t,t[0]<0?e+Math.abs(t[0]):e-t[0],0)}([i,o],r)/m(s,a)}function S(t,e,r,n){if(100===n)return n;var i=v(n,t),o=t[i-1],s=t[i];return r?n-o>(s-o)/2?s:o:e[i-1]?t[i-1]+function(t,e){return Math.round(t/e)*e}(n-t[i-1],e[i-1]):n}t.PipsMode=void 0,(e=t.PipsMode||(t.PipsMode={})).Range=\"range\",e.Steps=\"steps\",e.Positions=\"positions\",e.Count=\"count\",e.Values=\"values\",t.PipsType=void 0,(r=t.PipsType||(t.PipsType={}))[r.None=-1]=\"None\",r[r.NoValue=0]=\"NoValue\",r[r.LargeValue=1]=\"LargeValue\",r[r.SmallValue=2]=\"SmallValue\";var x=function(){function t(t,e,r){var n;this.xPct=[],this.xVal=[],this.xSteps=[],this.xNumSteps=[],this.xHighestCompleteStep=[],this.xSteps=[r||!1],this.xNumSteps=[!1],this.snap=e;var i=[];for(Object.keys(t).forEach((function(e){i.push([c(t[e]),e])})),i.sort((function(t,e){return t[0][0]-e[0][0]})),n=0;nthis.xPct[i+1];)i++;else t===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);r||t!==this.xPct[i+1]||i++,null===e&&(e=[]);var o=1,s=e[i],a=0,l=0,u=0,c=0;for(n=r?(t-this.xPct[i])/(this.xPct[i+1]-this.xPct[i]):(this.xPct[i+1]-t)/(this.xPct[i+1]-this.xPct[i]);s>0;)a=this.xPct[i+1+c]-this.xPct[i+c],e[i+c]*o+100-100*n>100?(l=a*n,o=(s-100*n)/e[i+c],n=1):(l=e[i+c]*a/100*o,o=0),r?(u-=l,this.xPct.length+c>=1&&c--):(u+=l,this.xPct.length-c>=1&&c++),s=e[i+c]*o;return t+u},t.prototype.toStepping=function(t){return t=b(this.xVal,this.xPct,t)},t.prototype.fromStepping=function(t){return function(t,e,r){if(r>=100)return t.slice(-1)[0];var n=v(r,e),i=t[n-1],o=t[n],s=e[n-1];return function(t,e){return e*(t[1]-t[0])/100+t[0]}([i,o],(r-s)*m(s,e[n]))}(this.xVal,this.xPct,t)},t.prototype.getStep=function(t){return t=S(this.xPct,this.xSteps,this.snap,t)},t.prototype.getDefaultStep=function(t,e,r){var n=v(t,this.xPct);return(100===t||e&&t===this.xPct[n-1])&&(n=Math.max(n-1,1)),(this.xVal[n]-this.xVal[n-1])/r},t.prototype.getNearbySteps=function(t){var e=v(t,this.xPct);return{stepBefore:{startValue:this.xVal[e-2],step:this.xNumSteps[e-2],highestStep:this.xHighestCompleteStep[e-2]},thisStep:{startValue:this.xVal[e-1],step:this.xNumSteps[e-1],highestStep:this.xHighestCompleteStep[e-1]},stepAfter:{startValue:this.xVal[e],step:this.xNumSteps[e],highestStep:this.xHighestCompleteStep[e]}}},t.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(p);return Math.max.apply(null,t)},t.prototype.hasNoSize=function(){return this.xVal[0]===this.xVal[this.xVal.length-1]},t.prototype.convert=function(t){return this.getStep(this.toStepping(t))},t.prototype.handleEntryPoint=function(t,e){var r;if(!a(r=\"min\"===t?0:\"max\"===t?100:parseFloat(t))||!a(e[0]))throw new Error(\"noUiSlider: 'range' value isn't numeric.\");this.xPct.push(r),this.xVal.push(e[0]);var n=Number(e[1]);r?this.xSteps.push(!isNaN(n)&&n):isNaN(n)||(this.xSteps[0]=n),this.xHighestCompleteStep.push(0)},t.prototype.handleStepPoint=function(t,e){if(e)if(this.xVal[t]!==this.xVal[t+1]){this.xSteps[t]=g([this.xVal[t],this.xVal[t+1]],e,0)/m(this.xPct[t],this.xPct[t+1]);var r=(this.xVal[t+1]-this.xVal[t])/this.xNumSteps[t],n=Math.ceil(Number(r.toFixed(3))-1),i=this.xVal[t]+this.xNumSteps[t]*n;this.xHighestCompleteStep[t]=i}else this.xSteps[t]=this.xHighestCompleteStep[t]=this.xVal[t]},t}(),y={to:function(t){return void 0===t?\"\":t.toFixed(2)},from:Number},w={target:\"target\",base:\"base\",origin:\"origin\",handle:\"handle\",handleLower:\"handle-lower\",handleUpper:\"handle-upper\",touchArea:\"touch-area\",horizontal:\"horizontal\",vertical:\"vertical\",background:\"background\",connect:\"connect\",connects:\"connects\",ltr:\"ltr\",rtl:\"rtl\",textDirectionLtr:\"txt-dir-ltr\",textDirectionRtl:\"txt-dir-rtl\",draggable:\"draggable\",drag:\"state-drag\",tap:\"state-tap\",active:\"active\",tooltip:\"tooltip\",pips:\"pips\",pipsHorizontal:\"pips-horizontal\",pipsVertical:\"pips-vertical\",marker:\"marker\",markerHorizontal:\"marker-horizontal\",markerVertical:\"marker-vertical\",markerNormal:\"marker-normal\",markerLarge:\"marker-large\",markerSub:\"marker-sub\",value:\"value\",valueHorizontal:\"value-horizontal\",valueVertical:\"value-vertical\",valueNormal:\"value-normal\",valueLarge:\"value-large\",valueSub:\"value-sub\"},E=\".__tooltips\",P=\".__aria\";function C(t,e){if(!a(e))throw new Error(\"noUiSlider: 'step' is not numeric.\");t.singleStep=e}function N(t,e){if(!a(e))throw new Error(\"noUiSlider: 'keyboardPageMultiplier' is not numeric.\");t.keyboardPageMultiplier=e}function V(t,e){if(!a(e))throw new Error(\"noUiSlider: 'keyboardMultiplier' is not numeric.\");t.keyboardMultiplier=e}function k(t,e){if(!a(e))throw new Error(\"noUiSlider: 'keyboardDefaultStep' is not numeric.\");t.keyboardDefaultStep=e}function M(t,e){if(\"object\"!=typeof e||Array.isArray(e))throw new Error(\"noUiSlider: 'range' is not an object.\");if(void 0===e.min||void 0===e.max)throw new Error(\"noUiSlider: Missing 'min' or 'max' in 'range'.\");t.spectrum=new x(e,t.snap||!1,t.singleStep)}function A(t,e){if(e=c(e),!Array.isArray(e)||!e.length)throw new Error(\"noUiSlider: 'start' option is incorrect.\");t.handles=e.length,t.start=e}function U(t,e){if(\"boolean\"!=typeof e)throw new Error(\"noUiSlider: 'snap' option must be a boolean.\");t.snap=e}function D(t,e){if(\"boolean\"!=typeof e)throw new Error(\"noUiSlider: 'animate' option must be a boolean.\");t.animate=e}function O(t,e){if(\"number\"!=typeof e)throw new Error(\"noUiSlider: 'animationDuration' option must be a number.\");t.animationDuration=e}function L(t,e){var r,n=[!1];if(\"lower\"===e?e=[!0,!1]:\"upper\"===e&&(e=[!1,!0]),!0===e||!1===e){for(r=1;r1)throw new Error(\"noUiSlider: 'padding' option must not exceed 100% of the range.\")}}function F(t,e){switch(e){case\"ltr\":t.dir=0;break;case\"rtl\":t.dir=1;break;default:throw new Error(\"noUiSlider: 'direction' option was not recognized.\")}}function R(t,e){if(\"string\"!=typeof e)throw new Error(\"noUiSlider: 'behaviour' must be a string containing options.\");var r=e.indexOf(\"tap\")>=0,n=e.indexOf(\"drag\")>=0,i=e.indexOf(\"fixed\")>=0,o=e.indexOf(\"snap\")>=0,s=e.indexOf(\"hover\")>=0,a=e.indexOf(\"unconstrained\")>=0,l=e.indexOf(\"drag-all\")>=0;if(i){if(2!==t.handles)throw new Error(\"noUiSlider: 'fixed' behaviour must be used with 2 handles\");j(t,t.start[1]-t.start[0])}if(a&&(t.margin||t.limit))throw new Error(\"noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit\");t.events={tap:r||o,drag:n,dragAll:l,fixed:i,snap:o,hover:s,unconstrained:a}}function _(t,e){if(!1!==e)if(!0===e||n(e)){t.tooltips=[];for(var r=0;r= 2) required for mode 'count'.\");for(var r=e.values-1,n=100/r,i=[];r--;)i[r]=r*n;return i.push(100),q(i,e.stepped)}return e.mode===t.PipsMode.Positions?q(e.values,e.stepped):e.mode===t.PipsMode.Values?e.stepped?e.values.map((function(t){return C.fromStepping(C.getStep(C.toStepping(t)))})):e.values:[]}(e),i={},o=C.xVal[0],s=C.xVal[C.xVal.length-1],a=!1,l=!1,u=0;return r=n.slice().sort((function(t,e){return t-e})),(n=r.filter((function(t){return!this[t]&&(this[t]=!0)}),{}))[0]!==o&&(n.unshift(o),a=!0),n[n.length-1]!==s&&(n.push(s),l=!0),n.forEach((function(r,o){var s,c,p,f,d,h,m,g,v,b,S=r,x=n[o+1],y=e.mode===t.PipsMode.Steps;for(y&&(s=C.xNumSteps[o]),s||(s=x-S),void 0===x&&(x=S),s=Math.max(s,1e-7),c=S;c<=x;c=Number((c+s).toFixed(7))){for(g=(d=(f=C.toStepping(c))-u)/(e.density||1),b=d/(v=Math.round(g)),p=1;p<=v;p+=1)i[(h=u+p*b).toFixed(5)]=[C.fromStepping(h),0];m=n.indexOf(c)>-1?t.PipsType.LargeValue:y?t.PipsType.SmallValue:t.PipsType.NoValue,!o&&a&&c!==x&&(m=0),c===x&&l||(i[f.toFixed(5)]=[c,m]),u=f}})),i}function Y(e,n,i){var o,s,a=U.createElement(\"div\"),l=((o={})[t.PipsType.None]=\"\",o[t.PipsType.NoValue]=r.cssClasses.valueNormal,o[t.PipsType.LargeValue]=r.cssClasses.valueLarge,o[t.PipsType.SmallValue]=r.cssClasses.valueSub,o),u=((s={})[t.PipsType.None]=\"\",s[t.PipsType.NoValue]=r.cssClasses.markerNormal,s[t.PipsType.LargeValue]=r.cssClasses.markerLarge,s[t.PipsType.SmallValue]=r.cssClasses.markerSub,s),c=[r.cssClasses.valueHorizontal,r.cssClasses.valueVertical],p=[r.cssClasses.markerHorizontal,r.cssClasses.markerVertical];function d(t,e){var n=e===r.cssClasses.value,i=n?l:u;return e+\" \"+(n?c:p)[r.ort]+\" \"+i[t]}return f(a,r.cssClasses.pips),f(a,0===r.ort?r.cssClasses.pipsHorizontal:r.cssClasses.pipsVertical),Object.keys(e).forEach((function(o){!function(e,o,s){if((s=n?n(o,s):s)!==t.PipsType.None){var l=T(a,!1);l.className=d(s,r.cssClasses.marker),l.style[r.style]=e+\"%\",s>t.PipsType.NoValue&&((l=T(a,!1)).className=d(s,r.cssClasses.value),l.setAttribute(\"data-value\",String(o)),l.style[r.style]=e+\"%\",l.innerHTML=String(i.to(o)))}}(o,e[o][0],e[o][1])})),a}function I(){g&&(i(g),g=null)}function W(t){I();var e=X(t),r=t.filter,n=t.format||{to:function(t){return String(Math.round(t))}};return g=w.appendChild(Y(e,r,n))}function $(){var t=a.getBoundingClientRect(),e=\"offset\"+[\"Width\",\"Height\"][r.ort];return 0===r.ort?t.width||a[e]:t.height||a[e]}function J(t,e,n,i){var o=function(o){var s,a,l=function(t,e,r){var n=0===t.type.indexOf(\"touch\"),i=0===t.type.indexOf(\"mouse\"),o=0===t.type.indexOf(\"pointer\"),s=0,a=0;if(0===t.type.indexOf(\"MSPointer\")&&(o=!0),\"mousedown\"===t.type&&!t.buttons&&!t.touches)return!1;if(n){var l=function(e){var n=e.target;return n===r||r.contains(n)||t.composed&&t.composedPath().shift()===r};if(\"touchstart\"===t.type){var u=Array.prototype.filter.call(t.touches,l);if(u.length>1)return!1;s=u[0].pageX,a=u[0].pageY}else{var c=Array.prototype.find.call(t.changedTouches,l);if(!c)return!1;s=c.pageX,a=c.pageY}}return e=e||h(U),(i||o)&&(s=t.clientX+e.x,a=t.clientY+e.y),t.pageOffset=e,t.points=[s,a],t.cursor=i||o,t}(o,i.pageOffset,i.target||e);return!!l&&!(F()&&!i.doNotReject)&&(s=w,a=r.cssClasses.tap,!((s.classList?s.classList.contains(a):new RegExp(\"\\\\b\"+a+\"\\\\b\").test(s.className))&&!i.doNotReject)&&!(t===x.start&&void 0!==l.buttons&&l.buttons>1)&&(!i.hover||!l.buttons)&&(y||l.preventDefault(),l.calcPoint=l.points[r.ort],void n(l,i)))},s=[];return t.split(\" \").forEach((function(t){e.addEventListener(t,o,!!y&&{passive:!0}),s.push([t,o])})),s}function K(t){var e,n,i,o,s,l,c=100*(t-(e=a,n=r.ort,i=e.getBoundingClientRect(),o=e.ownerDocument,s=o.documentElement,l=h(o),/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(l.x=0),n?i.top+l.y-s.clientTop:i.left+l.x-s.clientLeft))/$();return c=u(c),r.dir?100-c:c}function Q(t,e){\"mouseout\"===t.type&&\"HTML\"===t.target.nodeName&&null===t.relatedTarget&&tt(t,e)}function Z(t,e){if(-1===navigator.appVersion.indexOf(\"MSIE 9\")&&0===t.buttons&&0!==e.buttonsProperty)return tt(t,e);var n=(r.dir?-1:1)*(t.calcPoint-e.startCalcPoint);ut(n>0,100*n/e.baseSize,e.locations,e.handleNumbers,e.connect)}function tt(t,e){e.handle&&(d(e.handle,r.cssClasses.active),M-=1),e.listeners.forEach((function(t){D.removeEventListener(t[0],t[1])})),0===M&&(d(w,r.cssClasses.drag),pt(),t.cursor&&(O.style.cursor=\"\",O.removeEventListener(\"selectstart\",s))),e.handleNumbers.forEach((function(t){st(\"change\",t),st(\"set\",t),st(\"end\",t)}))}function et(t,e){if(!e.handleNumbers.some(R)){var n;1===e.handleNumbers.length&&(n=p[e.handleNumbers[0]].children[0],M+=1,f(n,r.cssClasses.active)),t.stopPropagation();var i=[],o=J(x.move,D,Z,{target:t.target,handle:n,connect:e.connect,listeners:i,startCalcPoint:t.calcPoint,baseSize:$(),pageOffset:t.pageOffset,handleNumbers:e.handleNumbers,buttonsProperty:t.buttons,locations:V.slice()}),a=J(x.end,D,tt,{target:t.target,handle:n,listeners:i,doNotReject:!0,handleNumbers:e.handleNumbers}),l=J(\"mouseout\",D,Q,{target:t.target,handle:n,listeners:i,doNotReject:!0,handleNumbers:e.handleNumbers});i.push.apply(i,o.concat(a,l)),t.cursor&&(O.style.cursor=getComputedStyle(t.target).cursor,p.length>1&&f(w,r.cssClasses.drag),O.addEventListener(\"selectstart\",s,!1)),e.handleNumbers.forEach((function(t){st(\"start\",t)}))}}function rt(t){t.stopPropagation();var e=K(t.calcPoint),n=function(t){var e=100,r=!1;return p.forEach((function(n,i){if(!R(i)){var o=V[i],s=Math.abs(o-t);(so||100===s&&100===e)&&(r=i,e=s)}})),r}(e);!1!==n&&(r.events.snap||l(w,r.cssClasses.tap,r.animationDuration),ft(n,e,!0,!0),pt(),st(\"slide\",n,!0),st(\"update\",n,!0),r.events.snap?et(t,{handleNumbers:[n]}):(st(\"change\",n,!0),st(\"set\",n,!0)))}function nt(t){var e=K(t.calcPoint),r=C.getStep(e),n=C.fromStepping(r);Object.keys(A).forEach((function(t){\"hover\"===t.split(\".\")[0]&&A[t].forEach((function(t){t.call(bt,n)}))}))}function it(t,e){A[t]=A[t]||[],A[t].push(e),\"update\"===t.split(\".\")[0]&&p.forEach((function(t,e){st(\"update\",e)}))}function ot(t){var e=t&&t.split(\".\")[0],r=e?t.substring(e.length):t;Object.keys(A).forEach((function(t){var n=t.split(\".\")[0],i=t.substring(n.length);e&&e!==n||r&&r!==i||function(t){return t===P||t===E}(i)&&r!==i||delete A[t]}))}function st(t,e,n){Object.keys(A).forEach((function(i){var o=i.split(\".\")[0];t===o&&A[i].forEach((function(t){t.call(bt,N.map(r.format.to),e,N.slice(),n||!1,V.slice(),bt)}))}))}function at(t,e,n,i,o,s){var a;return p.length>1&&!r.events.unconstrained&&(i&&e>0&&(a=C.getAbsoluteDistance(t[e-1],r.margin,!1),n=Math.max(n,a)),o&&e1&&r.limit&&(i&&e>0&&(a=C.getAbsoluteDistance(t[e-1],r.limit,!1),n=Math.min(n,a)),o&&e1?n.forEach((function(t,r){var n=at(o,t,o[t]+e,a[r],l[r],!1);!1===n?e=0:(e=n-o[t],o[t]=n)})):a=l=[!0];var u=!1;n.forEach((function(t,n){u=ft(t,r[t]+e,a[n],l[n])||u})),u&&(n.forEach((function(t){st(\"update\",t),st(\"slide\",t)})),null!=i&&st(\"drag\",s))}function ct(t,e){return r.dir?100-t-e:t}function pt(){k.forEach((function(t){var e=V[t]>50?-1:1,r=3+(p.length+e*t);p[t].style.zIndex=String(r)}))}function ft(t,e,n,i,o){return o||(e=at(V,t,e,n,i,!1)),!1!==e&&(function(t,e){V[t]=e,N[t]=C.fromStepping(e);var n=\"translate(\"+lt(10*(ct(e,0)-L)+\"%\",\"0\")+\")\";p[t].style[r.transformRule]=n,dt(t),dt(t+1)}(t,e),!0)}function dt(t){if(m[t]){var e=0,n=100;0!==t&&(e=V[t-1]),t!==m.length-1&&(n=V[t]);var i=n-e,o=\"translate(\"+lt(ct(e,i)+\"%\",\"0\")+\")\",s=\"scale(\"+lt(i/100,\"1\")+\")\";m[t].style[r.transformRule]=o+\" \"+s}}function ht(t,e){return null===t||!1===t||void 0===t?V[e]:(\"number\"==typeof t&&(t=String(t)),!1!==(t=r.format.from(t))&&(t=C.toStepping(t)),!1===t||isNaN(t)?V[e]:t)}function mt(t,e,n){var i=c(t),o=void 0===V[0];e=void 0===e||e,r.animate&&!o&&l(w,r.cssClasses.tap,r.animationDuration),k.forEach((function(t){ft(t,ht(i[t],t),!0,!1,n)}));var s=1===k.length?0:1;if(o&&C.hasNoSize()&&(n=!0,V[0]=0,k.length>1)){var a=100/(k.length-1);k.forEach((function(t){V[t]=t*a}))}for(;sn.stepAfter.startValue&&(o=n.stepAfter.startValue-i),s=i>n.thisStep.startValue?n.thisStep.step:!1!==n.stepBefore.step&&i-n.stepBefore.highestStep,100===e?o=null:0===e&&(s=null);var a=C.countStepDecimals();return null!==o&&!1!==o&&(o=Number(o.toFixed(a))),null!==s&&!1!==s&&(s=Number(s.toFixed(a))),[s,o]}f(b=w,r.cssClasses.target),0===r.dir?f(b,r.cssClasses.ltr):f(b,r.cssClasses.rtl),0===r.ort?f(b,r.cssClasses.horizontal):f(b,r.cssClasses.vertical),f(b,\"rtl\"===getComputedStyle(b).direction?r.cssClasses.textDirectionRtl:r.cssClasses.textDirectionLtr),a=T(b,r.cssClasses.base),function(t,e){var n=T(e,r.cssClasses.connects);p=[],(m=[]).push(z(n,t[0]));for(var i=0;i=0&&t .noUi-tooltip{-webkit-transform:translate(50%, 0);transform:translate(50%, 0);left:auto;bottom:10px;}.bk-root .noUi-vertical .noUi-origin > .noUi-tooltip{-webkit-transform:translate(0, -18px);transform:translate(0, -18px);top:auto;right:28px;}.bk-root .noUi-handle{cursor:grab;cursor:-webkit-grab;}.bk-root .noUi-handle.noUi-active{cursor:grabbing;cursor:-webkit-grabbing;}.bk-root .noUi-handle:after,.bk-root .noUi-handle:before{display:none;}.bk-root .noUi-tooltip{display:none;white-space:nowrap;}.bk-root .noUi-handle:hover .noUi-tooltip{display:block;}.bk-root .noUi-horizontal{width:100%;height:10px;}.bk-root .noUi-vertical{width:10px;height:100%;}.bk-root .noUi-horizontal .noUi-handle{width:14px;height:18px;right:-7px;top:-5px;}.bk-root .noUi-vertical .noUi-handle{width:18px;height:14px;right:-5px;top:-7px;}.bk-root .noUi-target.noUi-horizontal{margin:5px 0px;}.bk-root .noUi-target.noUi-vertical{margin:0px 5px;}'},\n 465: function _(e,t,r,a,i){a();var s;const d=(0,e(1).__importDefault)(e(151)),o=e(461),_=e(8);class n extends o.AbstractSliderView{}r.DateSliderView=n,n.__name__=\"DateSliderView\";class c extends o.AbstractSlider{constructor(e){super(e),this.behaviour=\"tap\",this.connected=[!0,!1]}_formatter(e,t){return(0,_.isString)(t)?(0,d.default)(e,t):t.compute(e)}}r.DateSlider=c,s=c,c.__name__=\"DateSlider\",s.prototype.default_view=n,s.override({format:\"%d %b %Y\"})},\n 466: function _(e,t,r,a,i){a();var n;const s=(0,e(1).__importDefault)(e(151)),d=e(461),o=e(8);class _ extends d.AbstractRangeSliderView{}r.DatetimeRangeSliderView=_,_.__name__=\"DatetimeRangeSliderView\";class c extends d.AbstractSlider{constructor(e){super(e),this.behaviour=\"drag\",this.connected=[!1,!0,!1]}_formatter(e,t){return(0,o.isString)(t)?(0,s.default)(e,t):t.compute(e)}}r.DatetimeRangeSlider=c,n=c,c.__name__=\"DatetimeRangeSlider\",n.prototype.default_view=_,n.override({format:\"%d %b %Y %H:%M:%S\",step:36e5})},\n 467: function _(e,t,s,r,i){var _;r();const n=e(468);class a extends n.MarkupView{render(){super.render(),this.model.render_as_text?this.markup_el.textContent=this.model.text:this.markup_el.innerHTML=this.has_math_disabled()?this.model.text:this.process_tex()}}s.DivView=a,a.__name__=\"DivView\";class d extends n.Markup{constructor(e){super(e)}}s.Div=d,_=d,d.__name__=\"Div\",_.prototype.default_view=a,_.define((({Boolean:e})=>({render_as_text:[e,!1]})))},\n 468: function _(t,e,s,i,r){i();const a=t(1);var n;const o=t(210),d=t(43),h=t(137),l=t(512),_=(0,a.__importStar)(t(469));class u extends l.WidgetView{get provider(){return h.default_provider}async lazy_initialize(){await super.lazy_initialize(),\"not_started\"==this.provider.status&&await this.provider.fetch(),\"not_started\"!=this.provider.status&&\"loading\"!=this.provider.status||this.provider.ready.connect((()=>{this.contains_tex_string()&&this.rerender()}))}after_layout(){super.after_layout(),\"loading\"===this.provider.status&&(this._has_finished=!1)}rerender(){this.layout.invalidate_cache(),this.render(),this.root.compute_layout()}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>{this.rerender()}))}styles(){return[...super.styles(),_.default]}_update_layout(){this.layout=new o.CachedVariadicBox(this.el),this.layout.set_sizing(this.box_sizing())}render(){super.render();const t=Object.assign(Object.assign({},this.model.style),{display:\"inline-block\"});this.markup_el=(0,d.div)({class:_.clearfix,style:t}),this.el.appendChild(this.markup_el),\"failed\"!=this.provider.status&&\"loaded\"!=this.provider.status||(this._has_finished=!0)}has_math_disabled(){return this.model.disable_math||!this.contains_tex_string()}process_tex(){if(!this.provider.MathJax)return this.model.text;const{text:t}=this.model,e=this.provider.MathJax.find_tex(t),s=[];let i=0;for(const r of e)s.push(t.slice(i,r.start.n)),s.push(this.provider.MathJax.tex2svg(r.math,{display:r.display}).outerHTML),i=r.end.n;return i0}}s.MarkupView=u,u.__name__=\"MarkupView\";class p extends l.Widget{constructor(t){super(t)}}s.Markup=p,n=p,p.__name__=\"Markup\",n.define((({Boolean:t,String:e,Dict:s})=>({text:[e,\"\"],style:[s(e),{}],disable_math:[t,!1]})))},\n 469: function _(o,r,e,t,a){t(),e.root=\"bk-root\",e.clearfix=\"bk-clearfix\",e.default='.bk-root .bk-clearfix:before,.bk-root .bk-clearfix:after{content:\"\";display:table;}.bk-root .bk-clearfix:after{clear:both;}'},\n 470: function _(e,t,i,n,s){n();const o=e(1);var l;const r=e(441),d=e(251),_=e(43),u=e(8),c=(0,o.__importStar)(e(318)),h=(0,o.__importStar)(e(229)),m=h;class p extends r.AbstractButtonView{constructor(){super(...arguments),this._open=!1}styles(){return[...super.styles(),h.default]}render(){super.render();const e=(0,_.div)({class:[m.caret,m.down]});if(this.model.is_split){const t=this._render_button(e);t.classList.add(c.dropdown_toggle),t.addEventListener(\"click\",(()=>this._toggle_menu())),this.group_el.appendChild(t)}else this.button_el.appendChild(e);const t=this.model.menu.map(((e,t)=>{if(null==e)return(0,_.div)({class:m.divider});{const i=(0,u.isString)(e)?e:e[0],n=(0,_.div)(i);return n.addEventListener(\"click\",(()=>this._item_click(t))),n}}));this.menu=(0,_.div)({class:[m.menu,m.below]},t),this.el.appendChild(this.menu),(0,_.undisplay)(this.menu)}_show_menu(){if(!this._open){this._open=!0,(0,_.display)(this.menu);const e=t=>{const{target:i}=t;i instanceof HTMLElement&&!this.el.contains(i)&&(document.removeEventListener(\"click\",e),this._hide_menu())};document.addEventListener(\"click\",e)}}_hide_menu(){this._open&&(this._open=!1,(0,_.undisplay)(this.menu))}_toggle_menu(){this._open?this._hide_menu():this._show_menu()}click(){this.model.is_split?(this._hide_menu(),this.model.trigger_event(new d.ButtonClick),super.click()):this._toggle_menu()}_item_click(e){this._hide_menu();const t=this.model.menu[e];if(null!=t){const i=(0,u.isString)(t)?t:t[1];(0,u.isString)(i)?this.model.trigger_event(new d.MenuItemClick(i)):i.execute(this.model,{index:e})}}}i.DropdownView=p,p.__name__=\"DropdownView\";class a extends r.AbstractButton{constructor(e){super(e)}get is_split(){return this.split}}i.Dropdown=a,l=a,a.__name__=\"Dropdown\",l.prototype.default_view=p,l.define((({Null:e,Boolean:t,String:i,Array:n,Tuple:s,Or:o})=>({split:[t,!1],menu:[n(o(i,s(i,o(i)),e)),[]]}))),l.override({label:\"Dropdown\"})},\n 471: function _(e,l,i,t,s){var n;t();const a=e(43),o=e(512);class d extends o.WidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.render()))}render(){const{multiple:e,accept:l,disabled:i,width:t}=this.model;null==this.dialog_el&&(this.dialog_el=(0,a.input)({type:\"file\",multiple:e}),this.dialog_el.onchange=()=>{const{files:e}=this.dialog_el;null!=e&&this.load_files(e)},this.el.appendChild(this.dialog_el)),null!=l&&\"\"!=l&&(this.dialog_el.accept=l),this.dialog_el.style.width=`${t}px`,this.dialog_el.disabled=i}async load_files(e){const l=[],i=[],t=[];for(const s of e){const e=await this._read_file(s),[,n=\"\",,a=\"\"]=e.split(/[:;,]/,4);l.push(a),i.push(s.name),t.push(n)}this.model.multiple?this.model.setv({value:l,filename:i,mime_type:t}):this.model.setv({value:l[0],filename:i[0],mime_type:t[0]})}_read_file(e){return new Promise(((l,i)=>{const t=new FileReader;t.onload=()=>{var s;const{result:n}=t;null!=n?l(n):i(null!==(s=t.error)&&void 0!==s?s:new Error(`unable to read '${e.name}'`))},t.readAsDataURL(e)}))}}i.FileInputView=d,d.__name__=\"FileInputView\";class r extends o.Widget{constructor(e){super(e)}}i.FileInput=r,n=r,r.__name__=\"FileInput\",n.prototype.default_view=d,n.define((({Boolean:e,String:l,Array:i,Or:t})=>({value:[t(l,i(l)),\"\"],mime_type:[t(l,i(l)),\"\"],filename:[t(l,i(l)),\"\"],accept:[l,\"\"],multiple:[e,!1]})))},\n 472: function _(e,t,i,s,n){s();const l=e(1);var o;const r=e(43),c=e(8),h=e(448),p=(0,l.__importStar)(e(449));class d extends h.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.value.change,(()=>this.render_selection())),this.connect(this.model.properties.options.change,(()=>this.render())),this.connect(this.model.properties.name.change,(()=>this.render())),this.connect(this.model.properties.title.change,(()=>this.render())),this.connect(this.model.properties.size.change,(()=>this.render())),this.connect(this.model.properties.disabled.change,(()=>this.render()))}render(){super.render();const e=this.model.options.map((e=>{let t,i;return(0,c.isString)(e)?t=i=e:[t,i]=e,(0,r.option)({value:t},i)}));this.input_el=(0,r.select)({multiple:!0,class:p.input,name:this.model.name,disabled:this.model.disabled},e),this.input_el.addEventListener(\"change\",(()=>this.change_input())),this.group_el.appendChild(this.input_el),this.render_selection()}render_selection(){const e=new Set(this.model.value);for(const t of this.el.querySelectorAll(\"option\"))t.selected=e.has(t.value);this.input_el.size=this.model.size}change_input(){const e=null!=this.el.querySelector(\"select:focus\"),t=[];for(const e of this.el.querySelectorAll(\"option\"))e.selected&&t.push(e.value);this.model.value=t,super.change_input(),e&&this.input_el.focus()}}i.MultiSelectView=d,d.__name__=\"MultiSelectView\";class u extends h.InputWidget{constructor(e){super(e)}}i.MultiSelect=u,o=u,u.__name__=\"MultiSelect\",o.prototype.default_view=d,o.define((({Int:e,String:t,Array:i,Tuple:s,Or:n})=>({value:[i(t),[]],options:[i(n(t,s(t,t))),[]],size:[e,4]})))},\n 473: function _(e,a,r,t,s){var n;t();const p=e(468),_=e(43);class i extends p.MarkupView{render(){super.render();const e=(0,_.p)({style:{margin:0}});this.has_math_disabled()?e.textContent=this.model.text:e.innerHTML=this.process_tex(),this.markup_el.appendChild(e)}}r.ParagraphView=i,i.__name__=\"ParagraphView\";class h extends p.Markup{constructor(e){super(e)}}r.Paragraph=h,n=h,h.__name__=\"Paragraph\",n.prototype.default_view=i},\n 474: function _(e,s,t,n,r){var p;n();const u=e(446);class a extends u.TextInputView{render(){super.render(),this.input_el.type=\"password\"}}t.PasswordInputView=a,a.__name__=\"PasswordInputView\";class o extends u.TextInput{constructor(e){super(e)}}t.PasswordInput=o,p=o,o.__name__=\"PasswordInput\",p.prototype.default_view=a},\n 475: function _(e,t,i,l,s){l();const o=e(1);var n;const h=(0,o.__importDefault)(e(476)),a=e(43),u=e(8),c=e(210),_=(0,o.__importStar)(e(449)),d=(0,o.__importDefault)(e(477)),r=e(448);class m extends r.InputWidgetView{constructor(){super(...arguments),this._last_height=null}connect_signals(){super.connect_signals(),this.connect(this.model.properties.disabled.change,(()=>this.set_disabled()));const{value:e,max_items:t,option_limit:i,search_option_limit:l,delete_button:s,placeholder:o,options:n,name:h,title:a}=this.model.properties;this.on_change([e,t,i,l,s,o,n,h,a],(()=>this.render()))}styles(){return[...super.styles(),d.default]}_update_layout(){this.layout=new c.CachedVariadicBox(this.el),this.layout.set_sizing(this.box_sizing())}render(){super.render(),this.input_el=(0,a.select)({multiple:!0,class:_.input,name:this.model.name,disabled:this.model.disabled}),this.group_el.appendChild(this.input_el);const e=new Set(this.model.value),t=this.model.options.map((t=>{let i,l;return(0,u.isString)(t)?i=l=t:[i,l]=t,{value:i,label:l,selected:e.has(i)}})),i=this.model.solid?\"solid\":\"light\",l=`choices__item ${i}`,s=`choices__button ${i}`,o={choices:t,duplicateItemsAllowed:!1,removeItemButton:this.model.delete_button,classNames:{item:l,button:s}};null!=this.model.placeholder&&(o.placeholderValue=this.model.placeholder),null!=this.model.max_items&&(o.maxItemCount=this.model.max_items),null!=this.model.option_limit&&(o.renderChoiceLimit=this.model.option_limit),null!=this.model.search_option_limit&&(o.searchResultLimit=this.model.search_option_limit),this.choice_el=new h.default(this.input_el,o);const n=()=>this.choice_el.containerOuter.element.getBoundingClientRect().height;null!=this._last_height&&this._last_height!=n()&&this.root.invalidate_layout(),this._last_height=n(),this.input_el.addEventListener(\"change\",(()=>this.change_input()))}set_disabled(){this.model.disabled?this.choice_el.disable():this.choice_el.enable()}change_input(){const e=null!=this.el.querySelector(\"select:focus\"),t=[];for(const e of this.el.querySelectorAll(\"option\"))e.selected&&t.push(e.value);this.model.value=t,super.change_input(),e&&this.input_el.focus()}}i.MultiChoiceView=m,m.__name__=\"MultiChoiceView\";class p extends r.InputWidget{constructor(e){super(e)}}i.MultiChoice=p,n=p,p.__name__=\"MultiChoice\",n.prototype.default_view=m,n.define((({Boolean:e,Int:t,String:i,Array:l,Tuple:s,Or:o,Nullable:n})=>({value:[l(i),[]],options:[l(o(i,s(i,i))),[]],max_items:[n(t),null],delete_button:[e,!0],placeholder:[n(i),null],option_limit:[n(t),null],search_option_limit:[n(t),null],solid:[e,!0]})))},\n 476: function _(e,t,i,n,s){\n /*! choices.js v9.0.1 | © 2019 Josh Johnson | https://github.com/jshjohnson/Choices#readme */\n var r,o;r=window,o=function(){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var s in e)i.d(n,s,function(t){return e[t]}.bind(null,s));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,\"a\",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p=\"/public/assets/scripts/\",i(i.s=4)}([function(e,t,i){\"use strict\";var n=function(e){return function(e){return!!e&&\"object\"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return\"[object RegExp]\"===t||\"[object Date]\"===t||function(e){return e.$$typeof===s}(e)}(e)},s=\"function\"==typeof Symbol&&Symbol.for?Symbol.for(\"react.element\"):60103;function r(e,t){return!1!==t.clone&&t.isMergeableObject(e)?l((i=e,Array.isArray(i)?[]:{}),e,t):e;var i}function o(e,t,i){return e.concat(t).map((function(e){return r(e,i)}))}function a(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return e.propertyIsEnumerable(t)})):[]}(e))}function c(e,t,i){var n={};return i.isMergeableObject(e)&&a(e).forEach((function(t){n[t]=r(e[t],i)})),a(t).forEach((function(s){(function(e,t){try{return t in e&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}catch(e){return!1}})(e,s)||(i.isMergeableObject(t[s])&&e[s]?n[s]=function(e,t){if(!t.customMerge)return l;var i=t.customMerge(e);return\"function\"==typeof i?i:l}(s,i)(e[s],t[s],i):n[s]=r(t[s],i))})),n}function l(e,t,i){(i=i||{}).arrayMerge=i.arrayMerge||o,i.isMergeableObject=i.isMergeableObject||n,i.cloneUnlessOtherwiseSpecified=r;var s=Array.isArray(t);return s===Array.isArray(e)?s?i.arrayMerge(e,t,i):c(e,t,i):r(t,i)}l.all=function(e,t){if(!Array.isArray(e))throw new Error(\"first argument should be an array\");return e.reduce((function(e,i){return l(e,i,t)}),{})};var h=l;e.exports=h},function(e,t,i){\"use strict\";(function(e,n){var s,r=i(3);s=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:void 0!==e?e:n;var o=Object(r.a)(s);t.a=o}).call(this,i(5),i(6)(e))},function(e,t,i){\n /*!\n * Fuse.js v3.4.5 - Lightweight fuzzy-search (http://fusejs.io)\n *\n * Copyright (c) 2012-2017 Kirollos Risk (http://kiro.me)\n * All Rights Reserved. Apache Software License 2.0\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var s in e)i.d(n,s,function(t){return e[t]}.bind(null,s));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,\"a\",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p=\"\",i(i.s=1)}([function(e,t){e.exports=function(e){return Array.isArray?Array.isArray(e):\"[object Array]\"===Object.prototype.toString.call(e)}},function(e,t,i){function n(e){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function s(e,t){for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:{limit:!1};this._log('---------\\nSearch pattern: \"'.concat(e,'\"'));var i=this._prepareSearchers(e),n=i.tokenSearchers,s=i.fullSearcher,r=this._search(n,s),o=r.weights,a=r.results;return this._computeScore(o,a),this.options.shouldSort&&this._sort(a),t.limit&&\"number\"==typeof t.limit&&(a=a.slice(0,t.limit)),this._format(a)}},{key:\"_prepareSearchers\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=[];if(this.options.tokenize)for(var i=e.split(this.options.tokenSeparator),n=0,s=i.length;n0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,i=this.list,n={},s=[];if(\"string\"==typeof i[0]){for(var r=0,o=i.length;r1)throw new Error(\"Key weight has to be > 0 and <= 1\");p=p.name}else a[p]={weight:1};this._analyze({key:p,value:this.options.getFn(h,p),record:h,index:c},{resultMap:n,results:s,tokenSearchers:e,fullSearcher:t})}return{weights:a,results:s}}},{key:\"_analyze\",value:function(e,t){var i=e.key,n=e.arrayIndex,s=void 0===n?-1:n,r=e.value,o=e.record,c=e.index,l=t.tokenSearchers,h=void 0===l?[]:l,u=t.fullSearcher,d=void 0===u?[]:u,p=t.resultMap,m=void 0===p?{}:p,f=t.results,v=void 0===f?[]:f;if(null!=r){var g=!1,_=-1,b=0;if(\"string\"==typeof r){this._log(\"\\nKey: \".concat(\"\"===i?\"-\":i));var y=d.search(r);if(this._log('Full text: \"'.concat(r,'\", score: ').concat(y.score)),this.options.tokenize){for(var E=r.split(this.options.tokenSeparator),I=[],S=0;S-1&&(P=(P+_)/2),this._log(\"Score average:\",P);var D=!this.options.tokenize||!this.options.matchAllTokens||b>=h.length;if(this._log(\"\\nCheck Matches: \".concat(D)),(g||y.isMatch)&&D){var M=m[c];M?M.output.push({key:i,arrayIndex:s,value:r,score:P,matchedIndices:y.matchedIndices}):(m[c]={item:o,output:[{key:i,arrayIndex:s,value:r,score:P,matchedIndices:y.matchedIndices}]},v.push(m[c]))}}else if(a(r))for(var N=0,F=r.length;N-1&&(o.arrayIndex=r.arrayIndex),t.matches.push(o)}}})),this.options.includeScore&&s.push((function(e,t){t.score=e.score}));for(var r=0,o=e.length;ri)return s(e,this.pattern,n);var o=this.options,a=o.location,c=o.distance,l=o.threshold,h=o.findAllMatches,u=o.minMatchCharLength;return r(e,this.pattern,this.patternAlphabet,{location:a,distance:c,threshold:l,findAllMatches:h,minMatchCharLength:u})}}])&&n(t.prototype,i),a&&n(t,a),e}();e.exports=a},function(e,t){var i=/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;e.exports=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:/ +/g,s=new RegExp(t.replace(i,\"\\\\$&\").replace(n,\"|\")),r=e.match(s),o=!!r,a=[];if(o)for(var c=0,l=r.length;c=P;N-=1){var F=N-1,j=i[e.charAt(F)];if(j&&(E[F]=1),M[N]=(M[N+1]<<1|1)&j,0!==T&&(M[N]|=(O[N+1]|O[N])<<1|1|O[N+1]),M[N]&L&&(C=n(t,{errors:T,currentLocation:F,expectedLocation:v,distance:l}))<=_){if(_=C,(b=F)<=v)break;P=Math.max(1,2*v-b)}}if(n(t,{errors:T+1,currentLocation:v,expectedLocation:v,distance:l})>_)break;O=M}return{isMatch:b>=0,score:0===C?.001:C,matchedIndices:s(E,f)}}},function(e,t){e.exports=function(e,t){var i=t.errors,n=void 0===i?0:i,s=t.currentLocation,r=void 0===s?0:s,o=t.expectedLocation,a=void 0===o?0:o,c=t.distance,l=void 0===c?100:c,h=n/e.length,u=Math.abs(a-r);return l?h+u/l:u?1:h}},function(e,t){e.exports=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=[],n=-1,s=-1,r=0,o=e.length;r=t&&i.push([n,s]),n=-1)}return e[r-1]&&r-n>=t&&i.push([n,r-1]),i}},function(e,t){e.exports=function(e){for(var t={},i=e.length,n=0;n/g,\"&rt;\").replace(/-1?e.map((function(e){var i=e;return i.id===parseInt(t.choiceId,10)&&(i.selected=!0),i})):e;case\"REMOVE_ITEM\":return t.choiceId>-1?e.map((function(e){var i=e;return i.id===parseInt(t.choiceId,10)&&(i.selected=!1),i})):e;case\"FILTER_CHOICES\":return e.map((function(e){var i=e;return i.active=t.results.some((function(e){var t=e.item,n=e.score;return t.id===i.id&&(i.score=n,!0)})),i}));case\"ACTIVATE_CHOICES\":return e.map((function(e){var i=e;return i.active=t.active,i}));case\"CLEAR_CHOICES\":return v;default:return e}},general:_}),A=function(e,t){var i=e;if(\"CLEAR_ALL\"===t.type)i=void 0;else if(\"RESET_TO\"===t.type)return O(t.state);return C(i,t)};function L(e,t){for(var i=0;i\"'+I(e)+'\"'},maxItemText:function(e){return\"Only \"+e+\" values can be added\"},valueComparer:function(e,t){return e===t},fuseOptions:{includeScore:!0},callbackOnInit:null,callbackOnCreateTemplates:null,classNames:{containerOuter:\"choices\",containerInner:\"choices__inner\",input:\"choices__input\",inputCloned:\"choices__input--cloned\",list:\"choices__list\",listItems:\"choices__list--multiple\",listSingle:\"choices__list--single\",listDropdown:\"choices__list--dropdown\",item:\"choices__item\",itemSelectable:\"choices__item--selectable\",itemDisabled:\"choices__item--disabled\",itemChoice:\"choices__item--choice\",placeholder:\"choices__placeholder\",group:\"choices__group\",groupHeading:\"choices__heading\",button:\"choices__button\",activeState:\"is-active\",focusState:\"is-focused\",openState:\"is-open\",disabledState:\"is-disabled\",highlightedState:\"is-highlighted\",selectedState:\"is-selected\",flippedState:\"is-flipped\",loadingState:\"is-loading\",noResults:\"has-no-results\",noChoices:\"has-no-choices\"}},D=\"showDropdown\",M=\"hideDropdown\",N=\"change\",F=\"choice\",j=\"search\",K=\"addItem\",R=\"removeItem\",H=\"highlightItem\",B=\"highlightChoice\",V=\"ADD_CHOICE\",G=\"FILTER_CHOICES\",q=\"ACTIVATE_CHOICES\",U=\"CLEAR_CHOICES\",z=\"ADD_GROUP\",W=\"ADD_ITEM\",X=\"REMOVE_ITEM\",$=\"HIGHLIGHT_ITEM\",J=46,Y=8,Z=13,Q=65,ee=27,te=38,ie=40,ne=33,se=34,re=\"text\",oe=\"select-one\",ae=\"select-multiple\",ce=function(){function e(e){var t=e.element,i=e.type,n=e.classNames,s=e.position;this.element=t,this.classNames=n,this.type=i,this.position=s,this.isOpen=!1,this.isFlipped=!1,this.isFocussed=!1,this.isDisabled=!1,this.isLoading=!1,this._onFocus=this._onFocus.bind(this),this._onBlur=this._onBlur.bind(this)}var t=e.prototype;return t.addEventListeners=function(){this.element.addEventListener(\"focus\",this._onFocus),this.element.addEventListener(\"blur\",this._onBlur)},t.removeEventListeners=function(){this.element.removeEventListener(\"focus\",this._onFocus),this.element.removeEventListener(\"blur\",this._onBlur)},t.shouldFlip=function(e){if(\"number\"!=typeof e)return!1;var t=!1;return\"auto\"===this.position?t=!window.matchMedia(\"(min-height: \"+(e+1)+\"px)\").matches:\"top\"===this.position&&(t=!0),t},t.setActiveDescendant=function(e){this.element.setAttribute(\"aria-activedescendant\",e)},t.removeActiveDescendant=function(){this.element.removeAttribute(\"aria-activedescendant\")},t.open=function(e){this.element.classList.add(this.classNames.openState),this.element.setAttribute(\"aria-expanded\",\"true\"),this.isOpen=!0,this.shouldFlip(e)&&(this.element.classList.add(this.classNames.flippedState),this.isFlipped=!0)},t.close=function(){this.element.classList.remove(this.classNames.openState),this.element.setAttribute(\"aria-expanded\",\"false\"),this.removeActiveDescendant(),this.isOpen=!1,this.isFlipped&&(this.element.classList.remove(this.classNames.flippedState),this.isFlipped=!1)},t.focus=function(){this.isFocussed||this.element.focus()},t.addFocusState=function(){this.element.classList.add(this.classNames.focusState)},t.removeFocusState=function(){this.element.classList.remove(this.classNames.focusState)},t.enable=function(){this.element.classList.remove(this.classNames.disabledState),this.element.removeAttribute(\"aria-disabled\"),this.type===oe&&this.element.setAttribute(\"tabindex\",\"0\"),this.isDisabled=!1},t.disable=function(){this.element.classList.add(this.classNames.disabledState),this.element.setAttribute(\"aria-disabled\",\"true\"),this.type===oe&&this.element.setAttribute(\"tabindex\",\"-1\"),this.isDisabled=!0},t.wrap=function(e){!function(e,t){void 0===t&&(t=document.createElement(\"div\")),e.nextSibling?e.parentNode.insertBefore(t,e.nextSibling):e.parentNode.appendChild(t),t.appendChild(e)}(e,this.element)},t.unwrap=function(e){this.element.parentNode.insertBefore(e,this.element),this.element.parentNode.removeChild(this.element)},t.addLoadingState=function(){this.element.classList.add(this.classNames.loadingState),this.element.setAttribute(\"aria-busy\",\"true\"),this.isLoading=!0},t.removeLoadingState=function(){this.element.classList.remove(this.classNames.loadingState),this.element.removeAttribute(\"aria-busy\"),this.isLoading=!1},t._onFocus=function(){this.isFocussed=!0},t._onBlur=function(){this.isFocussed=!1},e}();function le(e,t){for(var i=0;i0?this.element.scrollTop+o-s:e.offsetTop;requestAnimationFrame((function(){i._animateScroll(a,t)}))}},t._scrollDown=function(e,t,i){var n=(i-e)/t,s=n>1?n:1;this.element.scrollTop=e+s},t._scrollUp=function(e,t,i){var n=(e-i)/t,s=n>1?n:1;this.element.scrollTop=e-s},t._animateScroll=function(e,t){var i=this,n=this.element.scrollTop,s=!1;t>0?(this._scrollDown(n,4,e),ne&&(s=!0)),s&&requestAnimationFrame((function(){i._animateScroll(e,t)}))},e}();function de(e,t){for(var i=0;i0?\"treeitem\":\"option\"),Object.assign(g.dataset,{choice:\"\",id:l,value:h,selectText:i}),m?(g.classList.add(a),g.dataset.choiceDisabled=\"\",g.setAttribute(\"aria-disabled\",\"true\")):(g.classList.add(r),g.dataset.choiceSelectable=\"\"),g},input:function(e,t){var i=e.input,n=e.inputCloned,s=Object.assign(document.createElement(\"input\"),{type:\"text\",className:i+\" \"+n,autocomplete:\"off\",autocapitalize:\"off\",spellcheck:!1});return s.setAttribute(\"role\",\"textbox\"),s.setAttribute(\"aria-autocomplete\",\"list\"),s.setAttribute(\"aria-label\",t),s},dropdown:function(e){var t=e.list,i=e.listDropdown,n=document.createElement(\"div\");return n.classList.add(t,i),n.setAttribute(\"aria-expanded\",\"false\"),n},notice:function(e,t,i){var n=e.item,s=e.itemChoice,r=e.noResults,o=e.noChoices;void 0===i&&(i=\"\");var a=[n,s];return\"no-choices\"===i?a.push(o):\"no-results\"===i&&a.push(r),Object.assign(document.createElement(\"div\"),{innerHTML:t,className:a.join(\" \")})},option:function(e){var t=e.label,i=e.value,n=e.customProperties,s=e.active,r=e.disabled,o=new Option(t,i,!1,s);return n&&(o.dataset.customProperties=n),o.disabled=r,o}},be=function(e){return void 0===e&&(e=!0),{type:q,active:e}},ye=function(e,t){return{type:$,id:e,highlighted:t}},Ee=function(e){var t=e.value,i=e.id,n=e.active,s=e.disabled;return{type:z,value:t,id:i,active:n,disabled:s}},Ie=function(e){return{type:\"SET_IS_LOADING\",isLoading:e}};function Se(e,t){for(var i=0;i=0?this._store.getGroupById(s):null;return this._store.dispatch(ye(i,!0)),t&&this.passedElement.triggerEvent(H,{id:i,value:o,label:c,groupValue:l&&l.value?l.value:null}),this},r.unhighlightItem=function(e){if(!e)return this;var t=e.id,i=e.groupId,n=void 0===i?-1:i,s=e.value,r=void 0===s?\"\":s,o=e.label,a=void 0===o?\"\":o,c=n>=0?this._store.getGroupById(n):null;return this._store.dispatch(ye(t,!1)),this.passedElement.triggerEvent(H,{id:t,value:r,label:a,groupValue:c&&c.value?c.value:null}),this},r.highlightAll=function(){var e=this;return this._store.items.forEach((function(t){return e.highlightItem(t)})),this},r.unhighlightAll=function(){var e=this;return this._store.items.forEach((function(t){return e.unhighlightItem(t)})),this},r.removeActiveItemsByValue=function(e){var t=this;return this._store.activeItems.filter((function(t){return t.value===e})).forEach((function(e){return t._removeItem(e)})),this},r.removeActiveItems=function(e){var t=this;return this._store.activeItems.filter((function(t){return t.id!==e})).forEach((function(e){return t._removeItem(e)})),this},r.removeHighlightedItems=function(e){var t=this;return void 0===e&&(e=!1),this._store.highlightedActiveItems.forEach((function(i){t._removeItem(i),e&&t._triggerChange(i.value)})),this},r.showDropdown=function(e){var t=this;return this.dropdown.isActive||requestAnimationFrame((function(){t.dropdown.show(),t.containerOuter.open(t.dropdown.distanceFromTopWindow),!e&&t._canSearch&&t.input.focus(),t.passedElement.triggerEvent(D,{})})),this},r.hideDropdown=function(e){var t=this;return this.dropdown.isActive?(requestAnimationFrame((function(){t.dropdown.hide(),t.containerOuter.close(),!e&&t._canSearch&&(t.input.removeActiveDescendant(),t.input.blur()),t.passedElement.triggerEvent(M,{})})),this):this},r.getValue=function(e){void 0===e&&(e=!1);var t=this._store.activeItems.reduce((function(t,i){var n=e?i.value:i;return t.push(n),t}),[]);return this._isSelectOneElement?t[0]:t},r.setValue=function(e){var t=this;return this.initialised?(e.forEach((function(e){return t._setChoiceOrItem(e)})),this):this},r.setChoiceByValue=function(e){var t=this;return!this.initialised||this._isTextElement||(Array.isArray(e)?e:[e]).forEach((function(e){return t._findAndSelectChoiceByValue(e)})),this},r.setChoices=function(e,t,i,n){var s=this;if(void 0===e&&(e=[]),void 0===t&&(t=\"value\"),void 0===i&&(i=\"label\"),void 0===n&&(n=!1),!this.initialised)throw new ReferenceError(\"setChoices was called on a non-initialized instance of Choices\");if(!this._isSelectElement)throw new TypeError(\"setChoices can't be used with INPUT based Choices\");if(\"string\"!=typeof t||!t)throw new TypeError(\"value parameter must be a name of 'value' field in passed objects\");if(n&&this.clearChoices(),\"function\"==typeof e){var r=e(this);if(\"function\"==typeof Promise&&r instanceof Promise)return new Promise((function(e){return requestAnimationFrame(e)})).then((function(){return s._handleLoadingState(!0)})).then((function(){return r})).then((function(e){return s.setChoices(e,t,i,n)})).catch((function(e){s.config.silent||console.error(e)})).then((function(){return s._handleLoadingState(!1)})).then((function(){return s}));if(!Array.isArray(r))throw new TypeError(\".setChoices first argument function must return either array of choices or Promise, got: \"+typeof r);return this.setChoices(r,t,i,!1)}if(!Array.isArray(e))throw new TypeError(\".setChoices must be called either with array of choices with a function resulting into Promise of array of choices\");return this.containerOuter.removeLoadingState(),this._startLoading(),e.forEach((function(e){e.choices?s._addGroup({id:parseInt(e.id,10)||null,group:e,valueKey:t,labelKey:i}):s._addChoice({value:e[t],label:e[i],isSelected:e.selected,isDisabled:e.disabled,customProperties:e.customProperties,placeholder:e.placeholder})})),this._stopLoading(),this},r.clearChoices=function(){return this._store.dispatch({type:U}),this},r.clearStore=function(){return this._store.dispatch({type:\"CLEAR_ALL\"}),this},r.clearInput=function(){var e=!this._isSelectOneElement;return this.input.clear(e),!this._isTextElement&&this._canSearch&&(this._isSearching=!1,this._store.dispatch(be(!0))),this},r._render=function(){if(!this._store.isLoading()){this._currentState=this._store.state;var e=this._currentState.choices!==this._prevState.choices||this._currentState.groups!==this._prevState.groups||this._currentState.items!==this._prevState.items,t=this._isSelectElement,i=this._currentState.items!==this._prevState.items;e&&(t&&this._renderChoices(),i&&this._renderItems(),this._prevState=this._currentState)}},r._renderChoices=function(){var e=this,t=this._store,i=t.activeGroups,n=t.activeChoices,s=document.createDocumentFragment();if(this.choiceList.clear(),this.config.resetScrollPosition&&requestAnimationFrame((function(){return e.choiceList.scrollToTop()})),i.length>=1&&!this._isSearching){var r=n.filter((function(e){return!0===e.placeholder&&-1===e.groupId}));r.length>=1&&(s=this._createChoicesFragment(r,s)),s=this._createGroupsFragment(i,n,s)}else n.length>=1&&(s=this._createChoicesFragment(n,s));if(s.childNodes&&s.childNodes.length>0){var o=this._store.activeItems,a=this._canAddItem(o,this.input.value);a.response?(this.choiceList.append(s),this._highlightChoice()):this.choiceList.append(this._getTemplate(\"notice\",a.notice))}else{var c,l;this._isSearching?(l=\"function\"==typeof this.config.noResultsText?this.config.noResultsText():this.config.noResultsText,c=this._getTemplate(\"notice\",l,\"no-results\")):(l=\"function\"==typeof this.config.noChoicesText?this.config.noChoicesText():this.config.noChoicesText,c=this._getTemplate(\"notice\",l,\"no-choices\")),this.choiceList.append(c)}},r._renderItems=function(){var e=this._store.activeItems||[];this.itemList.clear();var t=this._createItemsFragment(e);t.childNodes&&this.itemList.append(t)},r._createGroupsFragment=function(e,t,i){var n=this;return void 0===i&&(i=document.createDocumentFragment()),this.config.shouldSort&&e.sort(this.config.sorter),e.forEach((function(e){var s=function(e){return t.filter((function(t){return n._isSelectOneElement?t.groupId===e.id:t.groupId===e.id&&(\"always\"===n.config.renderSelectedChoices||!t.selected)}))}(e);if(s.length>=1){var r=n._getTemplate(\"choiceGroup\",e);i.appendChild(r),n._createChoicesFragment(s,i,!0)}})),i},r._createChoicesFragment=function(e,t,i){var n=this;void 0===t&&(t=document.createDocumentFragment()),void 0===i&&(i=!1);var s=this.config,r=s.renderSelectedChoices,o=s.searchResultLimit,a=s.renderChoiceLimit,c=this._isSearching?w:this.config.sorter,l=function(e){if(\"auto\"!==r||n._isSelectOneElement||!e.selected){var i=n._getTemplate(\"choice\",e,n.config.itemSelectText);t.appendChild(i)}},h=e;\"auto\"!==r||this._isSelectOneElement||(h=e.filter((function(e){return!e.selected})));var u=h.reduce((function(e,t){return t.placeholder?e.placeholderChoices.push(t):e.normalChoices.push(t),e}),{placeholderChoices:[],normalChoices:[]}),d=u.placeholderChoices,p=u.normalChoices;(this.config.shouldSort||this._isSearching)&&p.sort(c);var m=h.length,f=this._isSelectOneElement?[].concat(d,p):p;this._isSearching?m=o:a&&a>0&&!i&&(m=a);for(var v=0;v=n){var o=s?this._searchChoices(e):0;this.passedElement.triggerEvent(j,{value:e,resultCount:o})}else r&&(this._isSearching=!1,this._store.dispatch(be(!0)))}},r._canAddItem=function(e,t){var i=!0,n=\"function\"==typeof this.config.addItemText?this.config.addItemText(t):this.config.addItemText;if(!this._isSelectOneElement){var s=function(e,t,i){return void 0===i&&(i=\"value\"),e.some((function(e){return\"string\"==typeof t?e[i]===t.trim():e[i]===t}))}(e,t);this.config.maxItemCount>0&&this.config.maxItemCount<=e.length&&(i=!1,n=\"function\"==typeof this.config.maxItemText?this.config.maxItemText(this.config.maxItemCount):this.config.maxItemText),!this.config.duplicateItemsAllowed&&s&&i&&(i=!1,n=\"function\"==typeof this.config.uniqueItemText?this.config.uniqueItemText(t):this.config.uniqueItemText),this._isTextElement&&this.config.addItems&&i&&\"function\"==typeof this.config.addItemFilter&&!this.config.addItemFilter(t)&&(i=!1,n=\"function\"==typeof this.config.customAddItemText?this.config.customAddItemText(t):this.config.customAddItemText)}return{response:i,notice:n}},r._searchChoices=function(e){var t=\"string\"==typeof e?e.trim():e,i=\"string\"==typeof this._currentValue?this._currentValue.trim():this._currentValue;if(t.length<1&&t===i+\" \")return 0;var n=this._store.searchableChoices,r=t,o=[].concat(this.config.searchFields),a=Object.assign(this.config.fuseOptions,{keys:o}),c=new s.a(n,a).search(r);return this._currentValue=t,this._highlightPosition=0,this._isSearching=!0,this._store.dispatch(function(e){return{type:G,results:e}}(c)),c.length},r._addEventListeners=function(){var e=document.documentElement;e.addEventListener(\"touchend\",this._onTouchEnd,!0),this.containerOuter.element.addEventListener(\"keydown\",this._onKeyDown,!0),this.containerOuter.element.addEventListener(\"mousedown\",this._onMouseDown,!0),e.addEventListener(\"click\",this._onClick,{passive:!0}),e.addEventListener(\"touchmove\",this._onTouchMove,{passive:!0}),this.dropdown.element.addEventListener(\"mouseover\",this._onMouseOver,{passive:!0}),this._isSelectOneElement&&(this.containerOuter.element.addEventListener(\"focus\",this._onFocus,{passive:!0}),this.containerOuter.element.addEventListener(\"blur\",this._onBlur,{passive:!0})),this.input.element.addEventListener(\"keyup\",this._onKeyUp,{passive:!0}),this.input.element.addEventListener(\"focus\",this._onFocus,{passive:!0}),this.input.element.addEventListener(\"blur\",this._onBlur,{passive:!0}),this.input.element.form&&this.input.element.form.addEventListener(\"reset\",this._onFormReset,{passive:!0}),this.input.addEventListeners()},r._removeEventListeners=function(){var e=document.documentElement;e.removeEventListener(\"touchend\",this._onTouchEnd,!0),this.containerOuter.element.removeEventListener(\"keydown\",this._onKeyDown,!0),this.containerOuter.element.removeEventListener(\"mousedown\",this._onMouseDown,!0),e.removeEventListener(\"click\",this._onClick),e.removeEventListener(\"touchmove\",this._onTouchMove),this.dropdown.element.removeEventListener(\"mouseover\",this._onMouseOver),this._isSelectOneElement&&(this.containerOuter.element.removeEventListener(\"focus\",this._onFocus),this.containerOuter.element.removeEventListener(\"blur\",this._onBlur)),this.input.element.removeEventListener(\"keyup\",this._onKeyUp),this.input.element.removeEventListener(\"focus\",this._onFocus),this.input.element.removeEventListener(\"blur\",this._onBlur),this.input.element.form&&this.input.element.form.removeEventListener(\"reset\",this._onFormReset),this.input.removeEventListeners()},r._onKeyDown=function(e){var t,i=e.target,n=e.keyCode,s=e.ctrlKey,r=e.metaKey,o=this._store.activeItems,a=this.input.isFocussed,c=this.dropdown.isActive,l=this.itemList.hasChildren(),h=String.fromCharCode(n),u=J,d=Y,p=Z,m=Q,f=ee,v=te,g=ie,_=ne,b=se,y=s||r;!this._isTextElement&&/[a-zA-Z0-9-_ ]/.test(h)&&this.showDropdown();var E=((t={})[m]=this._onAKey,t[p]=this._onEnterKey,t[f]=this._onEscapeKey,t[v]=this._onDirectionKey,t[_]=this._onDirectionKey,t[g]=this._onDirectionKey,t[b]=this._onDirectionKey,t[d]=this._onDeleteKey,t[u]=this._onDeleteKey,t);E[n]&&E[n]({event:e,target:i,keyCode:n,metaKey:r,activeItems:o,hasFocusedInput:a,hasActiveDropdown:c,hasItems:l,hasCtrlDownKeyPressed:y})},r._onKeyUp=function(e){var t=e.target,i=e.keyCode,n=this.input.value,s=this._store.activeItems,r=this._canAddItem(s,n),o=J,a=Y;if(this._isTextElement)if(r.notice&&n){var c=this._getTemplate(\"notice\",r.notice);this.dropdown.element.innerHTML=c.outerHTML,this.showDropdown(!0)}else this.hideDropdown(!0);else{var l=(i===o||i===a)&&!t.value,h=!this._isTextElement&&this._isSearching,u=this._canSearch&&r.response;l&&h?(this._isSearching=!1,this._store.dispatch(be(!0))):u&&this._handleSearch(this.input.value)}this._canSearch=this.config.searchEnabled},r._onAKey=function(e){var t=e.hasItems;e.hasCtrlDownKeyPressed&&t&&(this._canSearch=!1,this.config.removeItems&&!this.input.value&&this.input.element===document.activeElement&&this.highlightAll())},r._onEnterKey=function(e){var t=e.event,i=e.target,n=e.activeItems,s=e.hasActiveDropdown,r=Z,o=i.hasAttribute(\"data-button\");if(this._isTextElement&&i.value){var a=this.input.value;this._canAddItem(n,a).response&&(this.hideDropdown(!0),this._addItem({value:a}),this._triggerChange(a),this.clearInput())}if(o&&(this._handleButtonAction(n,i),t.preventDefault()),s){var c=this.dropdown.getChild(\".\"+this.config.classNames.highlightedState);c&&(n[0]&&(n[0].keyCode=r),this._handleChoiceAction(n,c)),t.preventDefault()}else this._isSelectOneElement&&(this.showDropdown(),t.preventDefault())},r._onEscapeKey=function(e){e.hasActiveDropdown&&(this.hideDropdown(!0),this.containerOuter.focus())},r._onDirectionKey=function(e){var t,i,n,s=e.event,r=e.hasActiveDropdown,o=e.keyCode,a=e.metaKey,c=ie,l=ne,h=se;if(r||this._isSelectOneElement){this.showDropdown(),this._canSearch=!1;var u,d=o===c||o===h?1:-1,p=\"[data-choice-selectable]\";if(a||o===h||o===l)u=d>0?this.dropdown.element.querySelector(\"[data-choice-selectable]:last-of-type\"):this.dropdown.element.querySelector(p);else{var m=this.dropdown.element.querySelector(\".\"+this.config.classNames.highlightedState);u=m?function(e,t,i){if(void 0===i&&(i=1),e instanceof Element&&\"string\"==typeof t){for(var n=(i>0?\"next\":\"previous\")+\"ElementSibling\",s=e[n];s;){if(s.matches(t))return s;s=s[n]}return s}}(m,p,d):this.dropdown.element.querySelector(p)}u&&(t=u,i=this.choiceList.element,void 0===(n=d)&&(n=1),t&&(n>0?i.scrollTop+i.offsetHeight>=t.offsetTop+t.offsetHeight:t.offsetTop>=i.scrollTop)||this.choiceList.scrollToChildElement(u,d),this._highlightChoice(u)),s.preventDefault()}},r._onDeleteKey=function(e){var t=e.event,i=e.target,n=e.hasFocusedInput,s=e.activeItems;!n||i.value||this._isSelectOneElement||(this._handleBackspace(s),t.preventDefault())},r._onTouchMove=function(){this._wasTap&&(this._wasTap=!1)},r._onTouchEnd=function(e){var t=(e||e.touches[0]).target;this._wasTap&&this.containerOuter.element.contains(t)&&((t===this.containerOuter.element||t===this.containerInner.element)&&(this._isTextElement?this.input.focus():this._isSelectMultipleElement&&this.showDropdown()),e.stopPropagation()),this._wasTap=!0},r._onMouseDown=function(e){var t=e.target;if(t instanceof HTMLElement){if(we&&this.choiceList.element.contains(t)){var i=this.choiceList.element.firstElementChild,n=\"ltr\"===this._direction?e.offsetX>=i.offsetWidth:e.offsetX0&&this.unhighlightAll(),this.containerOuter.removeFocusState(),this.hideDropdown(!0))},r._onFocus=function(e){var t,i=this,n=e.target;this.containerOuter.element.contains(n)&&((t={}).text=function(){n===i.input.element&&i.containerOuter.addFocusState()},t[\"select-one\"]=function(){i.containerOuter.addFocusState(),n===i.input.element&&i.showDropdown(!0)},t[\"select-multiple\"]=function(){n===i.input.element&&(i.showDropdown(!0),i.containerOuter.addFocusState())},t)[this.passedElement.element.type]()},r._onBlur=function(e){var t=this,i=e.target;if(this.containerOuter.element.contains(i)&&!this._isScrollingOnIe){var n,s=this._store.activeItems.some((function(e){return e.highlighted}));((n={}).text=function(){i===t.input.element&&(t.containerOuter.removeFocusState(),s&&t.unhighlightAll(),t.hideDropdown(!0))},n[\"select-one\"]=function(){t.containerOuter.removeFocusState(),(i===t.input.element||i===t.containerOuter.element&&!t._canSearch)&&t.hideDropdown(!0)},n[\"select-multiple\"]=function(){i===t.input.element&&(t.containerOuter.removeFocusState(),t.hideDropdown(!0),s&&t.unhighlightAll())},n)[this.passedElement.element.type]()}else this._isScrollingOnIe=!1,this.input.element.focus()},r._onFormReset=function(){this._store.dispatch({type:\"RESET_TO\",state:this._initialState})},r._highlightChoice=function(e){var t=this;void 0===e&&(e=null);var i=Array.from(this.dropdown.element.querySelectorAll(\"[data-choice-selectable]\"));if(i.length){var n=e;Array.from(this.dropdown.element.querySelectorAll(\".\"+this.config.classNames.highlightedState)).forEach((function(e){e.classList.remove(t.config.classNames.highlightedState),e.setAttribute(\"aria-selected\",\"false\")})),n?this._highlightPosition=i.indexOf(n):(n=i.length>this._highlightPosition?i[this._highlightPosition]:i[i.length-1])||(n=i[0]),n.classList.add(this.config.classNames.highlightedState),n.setAttribute(\"aria-selected\",\"true\"),this.passedElement.triggerEvent(B,{el:n}),this.dropdown.isActive&&(this.input.setActiveDescendant(n.id),this.containerOuter.setActiveDescendant(n.id))}},r._addItem=function(e){var t=e.value,i=e.label,n=void 0===i?null:i,s=e.choiceId,r=void 0===s?-1:s,o=e.groupId,a=void 0===o?-1:o,c=e.customProperties,l=void 0===c?null:c,h=e.placeholder,u=void 0!==h&&h,d=e.keyCode,p=void 0===d?null:d,m=\"string\"==typeof t?t.trim():t,f=p,v=l,g=this._store.items,_=n||m,b=r||-1,y=a>=0?this._store.getGroupById(a):null,E=g?g.length+1:1;return this.config.prependValue&&(m=this.config.prependValue+m.toString()),this.config.appendValue&&(m+=this.config.appendValue.toString()),this._store.dispatch(function(e){var t=e.value,i=e.label,n=e.id,s=e.choiceId,r=e.groupId,o=e.customProperties,a=e.placeholder,c=e.keyCode;return{type:W,value:t,label:i,id:n,choiceId:s,groupId:r,customProperties:o,placeholder:a,keyCode:c}}({value:m,label:_,id:E,choiceId:b,groupId:a,customProperties:l,placeholder:u,keyCode:f})),this._isSelectOneElement&&this.removeActiveItems(E),this.passedElement.triggerEvent(K,{id:E,value:m,label:_,customProperties:v,groupValue:y&&y.value?y.value:void 0,keyCode:f}),this},r._removeItem=function(e){if(!e||!E(\"Object\",e))return this;var t=e.id,i=e.value,n=e.label,s=e.choiceId,r=e.groupId,o=r>=0?this._store.getGroupById(r):null;return this._store.dispatch(function(e,t){return{type:X,id:e,choiceId:t}}(t,s)),o&&o.value?this.passedElement.triggerEvent(R,{id:t,value:i,label:n,groupValue:o.value}):this.passedElement.triggerEvent(R,{id:t,value:i,label:n}),this},r._addChoice=function(e){var t=e.value,i=e.label,n=void 0===i?null:i,s=e.isSelected,r=void 0!==s&&s,o=e.isDisabled,a=void 0!==o&&o,c=e.groupId,l=void 0===c?-1:c,h=e.customProperties,u=void 0===h?null:h,d=e.placeholder,p=void 0!==d&&d,m=e.keyCode,f=void 0===m?null:m;if(null!=t){var v=this._store.choices,g=n||t,_=v?v.length+1:1,b=this._baseId+\"-\"+this._idNames.itemChoice+\"-\"+_;this._store.dispatch(function(e){var t=e.value,i=e.label,n=e.id,s=e.groupId,r=e.disabled,o=e.elementId,a=e.customProperties,c=e.placeholder,l=e.keyCode;return{type:V,value:t,label:i,id:n,groupId:s,disabled:r,elementId:o,customProperties:a,placeholder:c,keyCode:l}}({id:_,groupId:l,elementId:b,value:t,label:g,disabled:a,customProperties:u,placeholder:p,keyCode:f})),r&&this._addItem({value:t,label:g,choiceId:_,customProperties:u,placeholder:p,keyCode:f})}},r._addGroup=function(e){var t=this,i=e.group,n=e.id,s=e.valueKey,r=void 0===s?\"value\":s,o=e.labelKey,a=void 0===o?\"label\":o,c=E(\"Object\",i)?i.choices:Array.from(i.getElementsByTagName(\"OPTION\")),l=n||Math.floor((new Date).valueOf()*Math.random()),h=!!i.disabled&&i.disabled;c?(this._store.dispatch(Ee({value:i.label,id:l,active:!0,disabled:h})),c.forEach((function(e){var i=e.disabled||e.parentNode&&e.parentNode.disabled;t._addChoice({value:e[r],label:E(\"Object\",e)?e[a]:e.innerHTML,isSelected:e.selected,isDisabled:i,groupId:l,customProperties:e.customProperties,placeholder:e.placeholder})}))):this._store.dispatch(Ee({value:i.label,id:i.id,active:!1,disabled:i.disabled}))},r._getTemplate=function(e){var t;if(!e)return null;for(var i=this.config.classNames,n=arguments.length,s=new Array(n>1?n-1:0),r=1;r{var e;return this.input_el.name=null!==(e=this.model.name)&&void 0!==e?e:\"\"})),this.connect(this.model.properties.value.change,(()=>{this.input_el.value=this.format_value,this.old_value=this.input_el.value})),this.connect(this.model.properties.low.change,(()=>{const{value:e,low:t,high:l}=this.model;null!=t&&null!=l&&(0,p.assert)(t<=l,\"Invalid bounds, low must be inferior to high\"),null!=e&&null!=t&&e{const{value:e,low:t,high:l}=this.model;null!=t&&null!=l&&(0,p.assert)(l>=t,\"Invalid bounds, high must be superior to low\"),null!=e&&null!=l&&e>l&&(this.model.value=l)})),this.connect(this.model.properties.high.change,(()=>this.input_el.placeholder=this.model.placeholder)),this.connect(this.model.properties.disabled.change,(()=>this.input_el.disabled=this.model.disabled)),this.connect(this.model.properties.placeholder.change,(()=>this.input_el.placeholder=this.model.placeholder))}get format_value(){return null!=this.model.value?this.model.pretty(this.model.value):\"\"}_set_input_filter(e){this.input_el.addEventListener(\"input\",(()=>{const{selectionStart:t,selectionEnd:l}=this.input_el;if(e(this.input_el.value))this.old_value=this.input_el.value;else{const e=this.old_value.length-this.input_el.value.length;this.input_el.value=this.old_value,t&&l&&this.input_el.setSelectionRange(t-1,l+e)}}))}render(){super.render(),this.input_el=(0,r.input)({type:\"text\",class:_.input,name:this.model.name,value:this.format_value,disabled:this.model.disabled,placeholder:this.model.placeholder}),this.old_value=this.format_value,this.set_input_filter(),this.input_el.addEventListener(\"change\",(()=>this.change_input())),this.input_el.addEventListener(\"focusout\",(()=>this.input_el.value=this.format_value)),this.group_el.appendChild(this.input_el)}set_input_filter(){\"int\"==this.model.mode?this._set_input_filter((e=>m.test(e))):\"float\"==this.model.mode&&this._set_input_filter((e=>c.test(e)))}bound_value(e){let t=e;const{low:l,high:i}=this.model;return t=null!=l?Math.max(l,t):t,t=null!=i?Math.min(i,t):t,t}get value(){let e=\"\"!=this.input_el.value?Number(this.input_el.value):null;return null!=e&&(e=this.bound_value(e)),e}change_input(){null==this.value?this.model.value=null:Number.isNaN(this.value)||(this.model.value=this.value)}}l.NumericInputView=v,v.__name__=\"NumericInputView\";class g extends o.InputWidget{constructor(e){super(e)}_formatter(e,t){return(0,d.isString)(t)?h.format(e,t):t.doFormat([e],{loc:0})[0]}pretty(e){return null!=this.format?this._formatter(e,this.format):`${e}`}}l.NumericInput=g,u=g,g.__name__=\"NumericInput\",u.prototype.default_view=v,u.define((({Number:e,String:t,Enum:l,Ref:i,Or:n,Nullable:s})=>({value:[s(e),null],placeholder:[t,\"\"],mode:[l(\"int\",\"float\"),\"int\"],format:[s(n(t,i(a.TickFormatter))),null],low:[s(e),null],high:[s(e),null]})))},\n 479: function _(e,t,r,s,n){var a;s();const o=e(468),_=e(43);class p extends o.MarkupView{render(){super.render();const e=(0,_.pre)({style:{overflow:\"auto\"}},this.model.text);this.markup_el.appendChild(e)}}r.PreTextView=p,p.__name__=\"PreTextView\";class u extends o.Markup{constructor(e){super(e)}}r.PreText=u,a=u,u.__name__=\"PreText\",a.prototype.default_view=p},\n 480: function _(t,o,e,a,i){a();const n=t(1);var u;const s=t(452),c=t(43),_=(0,n.__importStar)(t(318));class r extends s.ButtonGroupView{change_active(t){this.model.active!==t&&(this.model.active=t)}_update_active(){const{active:t}=this.model;this._buttons.forEach(((o,e)=>{(0,c.classes)(o).toggle(_.active,t===e)}))}}e.RadioButtonGroupView=r,r.__name__=\"RadioButtonGroupView\";class l extends s.ButtonGroup{constructor(t){super(t)}}e.RadioButtonGroup=l,u=l,l.__name__=\"RadioButtonGroup\",u.prototype.default_view=r,u.define((({Int:t,Nullable:o})=>({active:[o(t),null]})))},\n 481: function _(e,n,i,t,a){t();const s=e(1);var l;const o=e(43),d=e(34),p=e(455),r=(0,s.__importStar)(e(449));class u extends p.InputGroupView{render(){super.render();const e=(0,o.div)({class:[r.input_group,this.model.inline?r.inline:null]});this.el.appendChild(e);const n=(0,d.uniqueId)(),{active:i,labels:t}=this.model;this._inputs=[];for(let a=0;athis.change_active(a))),this._inputs.push(s),this.model.disabled&&(s.disabled=!0),a==i&&(s.checked=!0);const l=(0,o.label)(s,(0,o.span)(t[a]));e.appendChild(l)}}change_active(e){this.model.active=e}}i.RadioGroupView=u,u.__name__=\"RadioGroupView\";class c extends p.InputGroup{constructor(e){super(e)}}i.RadioGroup=c,l=c,c.__name__=\"RadioGroup\",l.prototype.default_view=u,l.define((({Boolean:e,Int:n,String:i,Array:t,Nullable:a})=>({active:[a(n),null],labels:[t(i),[]],inline:[e,!1]})))},\n 482: function _(e,r,t,a,i){a();var n;const o=(0,e(1).__importStar)(e(153)),s=e(461),_=e(8);class d extends s.AbstractRangeSliderView{}t.RangeSliderView=d,d.__name__=\"RangeSliderView\";class c extends s.AbstractSlider{constructor(e){super(e),this.behaviour=\"drag\",this.connected=[!1,!0,!1]}_formatter(e,r){return(0,_.isString)(r)?o.format(e,r):r.compute(e)}}t.RangeSlider=c,n=c,c.__name__=\"RangeSlider\",n.prototype.default_view=d,n.override({format:\"0[.]00\"})},\n 483: function _(e,t,n,s,i){s();const l=e(1);var u;const a=e(43),o=e(8),p=e(13),_=e(448),r=(0,l.__importStar)(e(449));class c extends _.InputWidgetView{constructor(){super(...arguments),this._known_values=new Set}connect_signals(){super.connect_signals();const{value:e,options:t}=this.model.properties;this.on_change(e,(()=>{this._update_value()})),this.on_change(t,(()=>{(0,a.empty)(this.input_el),(0,a.append)(this.input_el,...this.options_el()),this._update_value()}))}options_el(){const{_known_values:e}=this;function t(t){return t.map((t=>{let n,s;return(0,o.isString)(t)?n=s=t:[n,s]=t,e.add(n),(0,a.option)({value:n},s)}))}e.clear();const{options:n}=this.model;return(0,o.isArray)(n)?t(n):(0,p.entries)(n).map((([e,n])=>(0,a.optgroup)({label:e},t(n))))}render(){super.render(),this.input_el=(0,a.select)({class:r.input,name:this.model.name,disabled:this.model.disabled},this.options_el()),this._update_value(),this.input_el.addEventListener(\"change\",(()=>this.change_input())),this.group_el.appendChild(this.input_el)}change_input(){const e=this.input_el.value;this.model.value=e,super.change_input()}_update_value(){const{value:e}=this.model;this._known_values.has(e)?this.input_el.value=e:this.input_el.removeAttribute(\"value\")}}n.SelectView=c,c.__name__=\"SelectView\";class h extends _.InputWidget{constructor(e){super(e)}}n.Select=h,u=h,h.__name__=\"Select\",u.prototype.default_view=c,u.define((({String:e,Array:t,Tuple:n,Dict:s,Or:i})=>{const l=t(i(e,n(e,e)));return{value:[e,\"\"],options:[i(l,s(l)),[]]}}))},\n 484: function _(e,t,r,i,a){i();var o;const s=(0,e(1).__importStar)(e(153)),_=e(461),n=e(8);class c extends _.AbstractSliderView{}r.SliderView=c,c.__name__=\"SliderView\";class d extends _.AbstractSlider{constructor(e){super(e),this.behaviour=\"tap\",this.connected=[!0,!1]}_formatter(e,t){return(0,n.isString)(t)?s.format(e,t):t.compute(e)}}r.Slider=d,o=d,d.__name__=\"Slider\",o.prototype.default_view=c,o.override({format:\"0[.]00\"})},\n 485: function _(e,t,i,n,s){var l;n();const o=e(478),r=e(43),{min:a,max:h,floor:_,abs:u}=Math;function d(e){return _(e)!==e?e.toFixed(16).replace(/0+$/,\"\").split(\".\")[1].length:0}class p extends o.NumericInputView{*buttons(){yield this.btn_up_el,yield this.btn_down_el}initialize(){super.initialize(),this._handles={interval:void 0,timeout:void 0},this._interval=200}connect_signals(){super.connect_signals();const e=this.model.properties;this.on_change(e.disabled,(()=>{for(const e of this.buttons())(0,r.toggle_attribute)(e,\"disabled\",this.model.disabled)}))}render(){super.render(),this.wrapper_el=(0,r.div)({class:\"bk-spin-wrapper\"}),this.group_el.replaceChild(this.wrapper_el,this.input_el),this.btn_up_el=(0,r.button)({class:\"bk-spin-btn bk-spin-btn-up\"}),this.btn_down_el=(0,r.button)({class:\"bk-spin-btn bk-spin-btn-down\"}),this.wrapper_el.appendChild(this.input_el),this.wrapper_el.appendChild(this.btn_up_el),this.wrapper_el.appendChild(this.btn_down_el);for(const e of this.buttons())(0,r.toggle_attribute)(e,\"disabled\",this.model.disabled),e.addEventListener(\"mousedown\",(e=>this._btn_mouse_down(e))),e.addEventListener(\"mouseup\",(()=>this._btn_mouse_up())),e.addEventListener(\"mouseleave\",(()=>this._btn_mouse_leave()));this.input_el.addEventListener(\"keydown\",(e=>this._input_key_down(e))),this.input_el.addEventListener(\"keyup\",(()=>this.model.value_throttled=this.model.value)),this.input_el.addEventListener(\"wheel\",(e=>this._input_mouse_wheel(e))),this.input_el.addEventListener(\"wheel\",function(e,t,i=!1){let n;return function(...s){const l=this,o=i&&void 0===n;void 0!==n&&clearTimeout(n),n=setTimeout((function(){n=void 0,i||e.apply(l,s)}),t),o&&e.apply(l,s)}}((()=>{this.model.value_throttled=this.model.value}),this.model.wheel_wait,!1))}get precision(){const{low:e,high:t,step:i}=this.model,n=d;return h(n(u(null!=e?e:0)),n(u(null!=t?t:0)),n(u(i)))}remove(){this._stop_incrementation(),super.remove()}_start_incrementation(e){clearInterval(this._handles.interval),this._counter=0;const{step:t}=this.model,i=e=>{if(this._counter+=1,this._counter%5==0){const t=Math.floor(this._counter/5);t<10?(clearInterval(this._handles.interval),this._handles.interval=setInterval((()=>i(e)),this._interval/(t+1))):t>=10&&t<=13&&(clearInterval(this._handles.interval),this._handles.interval=setInterval((()=>i(2*e)),this._interval/10))}this.increment(e)};this._handles.interval=setInterval((()=>i(e*t)),this._interval)}_stop_incrementation(){clearTimeout(this._handles.timeout),this._handles.timeout=void 0,clearInterval(this._handles.interval),this._handles.interval=void 0,this.model.value_throttled=this.model.value}_btn_mouse_down(e){e.preventDefault();const t=e.currentTarget===this.btn_up_el?1:-1;this.increment(t*this.model.step),this.input_el.focus(),this._handles.timeout=setTimeout((()=>this._start_incrementation(t)),this._interval)}_btn_mouse_up(){this._stop_incrementation()}_btn_mouse_leave(){this._stop_incrementation()}_input_mouse_wheel(e){if(document.activeElement===this.input_el){e.preventDefault();const t=e.deltaY>0?-1:1;this.increment(t*this.model.step)}}_input_key_down(e){switch(e.keyCode){case r.Keys.Up:return e.preventDefault(),this.increment(this.model.step);case r.Keys.Down:return e.preventDefault(),this.increment(-this.model.step);case r.Keys.PageUp:return e.preventDefault(),this.increment(this.model.page_step_multiplier*this.model.step);case r.Keys.PageDown:return e.preventDefault(),this.increment(-this.model.page_step_multiplier*this.model.step)}}adjust_to_precision(e){return this.bound_value(Number(e.toFixed(this.precision)))}increment(e){const{low:t,high:i}=this.model;null==this.model.value?e>0?this.model.value=null!=t?t:null!=i?a(0,i):0:e<0&&(this.model.value=null!=i?i:null!=t?h(t,0):0):this.model.value=this.adjust_to_precision(this.model.value+e)}change_input(){super.change_input(),this.model.value_throttled=this.model.value}}i.SpinnerView=p,p.__name__=\"SpinnerView\";class m extends o.NumericInput{constructor(e){super(e)}}i.Spinner=m,l=m,m.__name__=\"Spinner\",l.prototype.default_view=p,l.define((({Number:e,Nullable:t})=>({value_throttled:[t(e),null],step:[e,1],page_step_multiplier:[e,10],wheel_wait:[e,100]}))),l.override({mode:\"float\"})},\n 486: function _(e,t,s,n,i){n();const o=e(1);var r;const c=e(447),l=e(43),p=(0,o.__importStar)(e(449));class _ extends c.TextLikeInputView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.rows.change,(()=>this.input_el.rows=this.model.rows)),this.connect(this.model.properties.cols.change,(()=>this.input_el.cols=this.model.cols))}_render_input(){this.input_el=(0,l.textarea)({class:p.input})}render(){super.render(),this.input_el.cols=this.model.cols,this.input_el.rows=this.model.rows}}s.TextAreaInputView=_,_.__name__=\"TextAreaInputView\";class a extends c.TextLikeInput{constructor(e){super(e)}}s.TextAreaInput=a,r=a,a.__name__=\"TextAreaInput\",r.prototype.default_view=_,r.define((({Int:e})=>({cols:[e,20],rows:[e,2]}))),r.override({max_length:500})},\n 487: function _(e,t,s,c,i){c();const o=e(1);var a;const n=e(441),l=e(43),_=(0,o.__importStar)(e(318));class r extends n.AbstractButtonView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.active.change,(()=>this._update_active()))}render(){super.render(),this._update_active()}click(){this.model.active=!this.model.active,super.click()}_update_active(){(0,l.classes)(this.button_el).toggle(_.active,this.model.active)}}s.ToggleView=r,r.__name__=\"ToggleView\";class g extends n.AbstractButton{constructor(e){super(e)}}s.Toggle=g,a=g,g.__name__=\"Toggle\",a.prototype.default_view=r,a.define((({Boolean:e})=>({active:[e,!1]}))),a.override({label:\"Toggle\"})},\n }, 439, {\"models/widgets/main\":439,\"models/widgets/index\":440,\"models/widgets/abstract_button\":441,\"models/widgets/control\":442,\"models/widgets/widget\":512,\"models/widgets/abstract_icon\":444,\"models/widgets/autocomplete_input\":445,\"models/widgets/text_input\":446,\"models/widgets/text_like_input\":447,\"models/widgets/input_widget\":448,\"styles/widgets/inputs.css\":449,\"models/widgets/button\":450,\"models/widgets/checkbox_button_group\":451,\"models/widgets/button_group\":452,\"models/widgets/oriented_control\":453,\"models/widgets/checkbox_group\":454,\"models/widgets/input_group\":455,\"models/widgets/color_picker\":456,\"models/widgets/date_picker\":457,\"styles/widgets/flatpickr.css\":459,\"models/widgets/date_range_slider\":460,\"models/widgets/abstract_slider\":461,\"styles/widgets/sliders.css\":463,\"styles/widgets/nouislider.css\":464,\"models/widgets/date_slider\":465,\"models/widgets/datetime_range_slider\":466,\"models/widgets/div\":467,\"models/widgets/markup\":468,\"styles/clearfix.css\":469,\"models/widgets/dropdown\":470,\"models/widgets/file_input\":471,\"models/widgets/multiselect\":472,\"models/widgets/paragraph\":473,\"models/widgets/password_input\":474,\"models/widgets/multichoice\":475,\"styles/widgets/choices.css\":477,\"models/widgets/numeric_input\":478,\"models/widgets/pretext\":479,\"models/widgets/radio_button_group\":480,\"models/widgets/radio_group\":481,\"models/widgets/range_slider\":482,\"models/widgets/selectbox\":483,\"models/widgets/slider\":484,\"models/widgets/spinner\":485,\"models/widgets/textarea_input\":486,\"models/widgets/toggle\":487}, {});});\n\n /* END bokeh-widgets.min.js */\n },\n function(Bokeh) {\n /* BEGIN bokeh-tables.min.js */\n /*!\n * Copyright (c) 2012 - 2022, Anaconda, Inc., and Bokeh Contributors\n * All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n * \n * Redistributions of source code must retain the above copyright notice,\n * this list of conditions and the following disclaimer.\n * \n * Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n * \n * Neither the name of Anaconda nor the names of any contributors\n * may be used to endorse or promote products derived from this software\n * without specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n * THE POSSIBILITY OF SUCH DAMAGE.\n */\n (function(root, factory) {\n factory(root[\"Bokeh\"], \"2.4.3\");\n })(this, function(Bokeh, version) {\n let define;\n return (function(modules, entry, aliases, externals) {\n const bokeh = typeof Bokeh !== \"undefined\" && (version != null ? Bokeh[version] : Bokeh);\n if (bokeh != null) {\n return bokeh.register_plugin(modules, entry, aliases);\n } else {\n throw new Error(\"Cannot find Bokeh \" + version + \". You have to load it prior to loading plugins.\");\n }\n })\n ({\n 488: function _(t,e,o,r,s){r();const _=(0,t(1).__importStar)(t(489));o.Tables=_;(0,t(7).register_models)(_)},\n 489: function _(g,a,r,e,t){e();const o=g(1);(0,o.__exportStar)(g(490),r),(0,o.__exportStar)(g(493),r),t(\"DataTable\",g(496).DataTable),t(\"TableColumn\",g(514).TableColumn),t(\"TableWidget\",g(513).TableWidget);var n=g(516);t(\"AvgAggregator\",n.AvgAggregator),t(\"MinAggregator\",n.MinAggregator),t(\"MaxAggregator\",n.MaxAggregator),t(\"SumAggregator\",n.SumAggregator);var A=g(517);t(\"GroupingInfo\",A.GroupingInfo),t(\"DataCube\",A.DataCube)},\n 490: function _(e,t,i,s,a){s();const r=e(1);var l,n,u,d,o,p,_,c,h;const E=e(43),V=e(226),m=e(53),f=e(491),v=(0,r.__importStar)(e(492));class w extends V.DOMView{constructor(e){const{model:t,parent:i}=e.column;super(Object.assign({model:t,parent:i},e)),this.args=e,this.initialize(),this.render()}get emptyValue(){return null}initialize(){super.initialize(),this.inputEl=this._createInput(),this.defaultValue=null}async lazy_initialize(){throw new Error(\"unsupported\")}css_classes(){return super.css_classes().concat(v.cell_editor)}render(){super.render(),this.args.container.append(this.el),this.el.appendChild(this.inputEl),this.renderEditor(),this.disableNavigation()}renderEditor(){}disableNavigation(){this.inputEl.addEventListener(\"keydown\",(e=>{switch(e.keyCode){case E.Keys.Left:case E.Keys.Right:case E.Keys.Up:case E.Keys.Down:case E.Keys.PageUp:case E.Keys.PageDown:e.stopImmediatePropagation()}}))}destroy(){this.remove()}focus(){this.inputEl.focus()}show(){}hide(){}position(){}getValue(){return this.inputEl.value}setValue(e){this.inputEl.value=e}serializeValue(){return this.getValue()}isValueChanged(){return!(\"\"==this.getValue()&&null==this.defaultValue)&&this.getValue()!==this.defaultValue}applyValue(e,t){const i=this.args.grid.getData(),s=i.index.indexOf(e[f.DTINDEX_NAME]);i.setField(s,this.args.column.field,t)}loadValue(e){const t=e[this.args.column.field];this.defaultValue=null!=t?t:this.emptyValue,this.setValue(this.defaultValue)}validateValue(e){if(this.args.column.validator){const t=this.args.column.validator(e);if(!t.valid)return t}return{valid:!0,msg:null}}validate(){return this.validateValue(this.getValue())}}i.CellEditorView=w,w.__name__=\"CellEditorView\";class g extends m.Model{}i.CellEditor=g,g.__name__=\"CellEditor\";class x extends w{get emptyValue(){return\"\"}_createInput(){return(0,E.input)({type:\"text\"})}renderEditor(){this.inputEl.focus(),this.inputEl.select()}loadValue(e){super.loadValue(e),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()}}i.StringEditorView=x,x.__name__=\"StringEditorView\";class y extends g{}i.StringEditor=y,l=y,y.__name__=\"StringEditor\",l.prototype.default_view=x,l.define((({String:e,Array:t})=>({completions:[t(e),[]]})));class I extends w{_createInput(){return(0,E.textarea)()}renderEditor(){this.inputEl.focus(),this.inputEl.select()}}i.TextEditorView=I,I.__name__=\"TextEditorView\";class b extends g{}i.TextEditor=b,n=b,b.__name__=\"TextEditor\",n.prototype.default_view=I;class N extends w{_createInput(){return(0,E.select)()}renderEditor(){for(const e of this.model.options)this.inputEl.appendChild((0,E.option)({value:e},e));this.focus()}}i.SelectEditorView=N,N.__name__=\"SelectEditorView\";class C extends g{}i.SelectEditor=C,u=C,C.__name__=\"SelectEditor\",u.prototype.default_view=N,u.define((({String:e,Array:t})=>({options:[t(e),[]]})));class D extends w{_createInput(){return(0,E.input)({type:\"text\"})}}i.PercentEditorView=D,D.__name__=\"PercentEditorView\";class S extends g{}i.PercentEditor=S,d=S,S.__name__=\"PercentEditor\",d.prototype.default_view=D;class k extends w{_createInput(){return(0,E.input)({type:\"checkbox\"})}renderEditor(){this.focus()}loadValue(e){this.defaultValue=!!e[this.args.column.field],this.inputEl.checked=this.defaultValue}serializeValue(){return this.inputEl.checked}}i.CheckboxEditorView=k,k.__name__=\"CheckboxEditorView\";class z extends g{}i.CheckboxEditor=z,o=z,z.__name__=\"CheckboxEditor\",o.prototype.default_view=k;class P extends w{_createInput(){return(0,E.input)({type:\"text\"})}renderEditor(){this.inputEl.focus(),this.inputEl.select()}remove(){super.remove()}serializeValue(){var e;return null!==(e=parseInt(this.getValue(),10))&&void 0!==e?e:0}loadValue(e){super.loadValue(e),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()}validateValue(e){return isNaN(e)?{valid:!1,msg:\"Please enter a valid integer\"}:super.validateValue(e)}}i.IntEditorView=P,P.__name__=\"IntEditorView\";class T extends g{}i.IntEditor=T,p=T,T.__name__=\"IntEditor\",p.prototype.default_view=P,p.define((({Int:e})=>({step:[e,1]})));class K extends w{_createInput(){return(0,E.input)({type:\"text\"})}renderEditor(){this.inputEl.focus(),this.inputEl.select()}remove(){super.remove()}serializeValue(){var e;return null!==(e=parseFloat(this.getValue()))&&void 0!==e?e:0}loadValue(e){super.loadValue(e),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()}validateValue(e){return isNaN(e)?{valid:!1,msg:\"Please enter a valid number\"}:super.validateValue(e)}}i.NumberEditorView=K,K.__name__=\"NumberEditorView\";class A extends g{}i.NumberEditor=A,_=A,A.__name__=\"NumberEditor\",_.prototype.default_view=K,_.define((({Number:e})=>({step:[e,.01]})));class M extends w{_createInput(){return(0,E.input)({type:\"text\"})}}i.TimeEditorView=M,M.__name__=\"TimeEditorView\";class O extends g{}i.TimeEditor=O,c=O,O.__name__=\"TimeEditor\",c.prototype.default_view=M;class F extends w{_createInput(){return(0,E.input)({type:\"text\"})}get emptyValue(){return new Date}renderEditor(){this.inputEl.focus(),this.inputEl.select()}destroy(){super.destroy()}show(){super.show()}hide(){super.hide()}position(){return super.position()}getValue(){}setValue(e){}}i.DateEditorView=F,F.__name__=\"DateEditorView\";class L extends g{}i.DateEditor=L,h=L,L.__name__=\"DateEditor\",h.prototype.default_view=F},\n 491: function _(_,n,i,t,d){t(),i.DTINDEX_NAME=\"__bkdt_internal_index__\"},\n 492: function _(e,l,o,t,r){t(),o.root=\"bk-root\",o.data_table=\"bk-data-table\",o.cell_special_defaults=\"bk-cell-special-defaults\",o.cell_select=\"bk-cell-select\",o.cell_index=\"bk-cell-index\",o.header_index=\"bk-header-index\",o.cell_editor=\"bk-cell-editor\",o.cell_editor_completion=\"bk-cell-editor-completion\",o.default='.bk-root .bk-data-table{box-sizing:content-box;font-size:11px;}.bk-root .bk-data-table input[type=\"checkbox\"]{margin-left:4px;margin-right:4px;}.bk-root .bk-cell-special-defaults{border-right-color:silver;border-right-style:solid;background:#f5f5f5;}.bk-root .bk-cell-select{border-right-color:silver;border-right-style:solid;background:#f5f5f5;}.bk-root .slick-cell.bk-cell-index{border-right-color:silver;border-right-style:solid;background:#f5f5f5;text-align:right;background:#f0f0f0;color:#909090;}.bk-root .bk-header-index .slick-column-name{float:right;}.bk-root .slick-row.selected .bk-cell-index{background-color:transparent;}.bk-root .slick-row.odd{background:#f0f0f0;}.bk-root .slick-cell{padding-left:4px;padding-right:4px;border-right-color:transparent;border:0.25px solid transparent;}.bk-root .slick-cell .bk{line-height:inherit;}.bk-root .slick-cell.active{border-style:dashed;}.bk-root .slick-cell.selected{background-color:#F0F8FF;}.bk-root .slick-cell.editable{padding-left:0;padding-right:0;}.bk-root .bk-cell-editor{display:contents;}.bk-root .bk-cell-editor input,.bk-root .bk-cell-editor select{width:100%;height:100%;border:0;margin:0;padding:0;outline:0;background:transparent;vertical-align:baseline;}.bk-root .bk-cell-editor input{padding-left:4px;padding-right:4px;}.bk-root .bk-cell-editor-completion{font-size:11px;}'},\n 493: function _(t,e,r,n,o){n();const a=t(1);var s,i,l,c,u,m;const _=(0,a.__importDefault)(t(151)),d=(0,a.__importStar)(t(153)),f=t(494),g=t(43),F=t(20),h=t(8),p=t(34),S=t(22),x=t(53);class b extends x.Model{constructor(t){super(t)}doFormat(t,e,r,n,o){return null==r?\"\":`${r}`.replace(/&/g,\"&\").replace(//g,\">\")}}r.CellFormatter=b,b.__name__=\"CellFormatter\";class M extends b{constructor(t){super(t)}doFormat(t,e,r,n,o){const{font_style:a,text_align:s,text_color:i}=this,l=(0,g.div)(null==r?\"\":`${r}`);switch(a){case\"bold\":l.style.fontWeight=\"bold\";break;case\"italic\":l.style.fontStyle=\"italic\"}return null!=s&&(l.style.textAlign=s),null!=i&&(l.style.color=(0,S.color2css)(i)),l.outerHTML}}r.StringFormatter=M,s=M,M.__name__=\"StringFormatter\",s.define((({Color:t,Nullable:e,String:r})=>({font_style:[F.FontStyle,\"normal\"],text_align:[F.TextAlign,\"left\"],text_color:[e(t),null],nan_format:[r,\"-\"]})));class w extends M{constructor(t){super(t)}get scientific_limit_low(){return 10**this.power_limit_low}get scientific_limit_high(){return 10**this.power_limit_high}doFormat(t,e,r,n,o){const a=Math.abs(r)<=this.scientific_limit_low||Math.abs(r)>=this.scientific_limit_high;let s=this.precision;return s<1&&(s=1),r=null==r||isNaN(r)?this.nan_format:0==r?(0,p.to_fixed)(r,1):a?r.toExponential(s):(0,p.to_fixed)(r,s),super.doFormat(t,e,r,n,o)}}r.ScientificFormatter=w,i=w,w.__name__=\"ScientificFormatter\",i.define((({Number:t})=>({precision:[t,10],power_limit_high:[t,5],power_limit_low:[t,-3]})));class C extends M{constructor(t){super(t)}doFormat(t,e,r,n,o){const{format:a,language:s,nan_format:i}=this,l=(()=>{switch(this.rounding){case\"round\":case\"nearest\":return Math.round;case\"floor\":case\"rounddown\":return Math.floor;case\"ceil\":case\"roundup\":return Math.ceil}})();return r=null==r||isNaN(r)?i:d.format(r,a,s,l),super.doFormat(t,e,r,n,o)}}r.NumberFormatter=C,l=C,C.__name__=\"NumberFormatter\",l.define((({String:t})=>({format:[t,\"0,0\"],language:[t,\"en\"],rounding:[F.RoundingFunction,\"round\"]})));class y extends b{constructor(t){super(t)}doFormat(t,e,r,n,o){return r?(0,g.i)({class:this.icon}).outerHTML:\"\"}}r.BooleanFormatter=y,c=y,y.__name__=\"BooleanFormatter\",c.define((({String:t})=>({icon:[t,\"check\"]})));class N extends M{constructor(t){super(t)}getFormat(){switch(this.format){case\"ATOM\":case\"W3C\":case\"RFC-3339\":case\"ISO-8601\":return\"%Y-%m-%d\";case\"COOKIE\":return\"%a, %d %b %Y\";case\"RFC-850\":return\"%A, %d-%b-%y\";case\"RFC-1123\":case\"RFC-2822\":return\"%a, %e %b %Y\";case\"RSS\":case\"RFC-822\":case\"RFC-1036\":return\"%a, %e %b %y\";case\"TIMESTAMP\":return;default:return this.format}}doFormat(t,e,r,n,o){const{nan_format:a}=this;let s;return s=null==(r=(0,h.isString)(r)?parseInt(r,10):r)||isNaN(r)||-9223372036854776===r?a:(0,_.default)(r,this.getFormat()),super.doFormat(t,e,s,n,o)}}r.DateFormatter=N,u=N,N.__name__=\"DateFormatter\",u.define((({String:t})=>({format:[t,\"ISO-8601\"]})));class T extends b{constructor(t){super(t)}doFormat(t,e,r,n,o){const{template:a}=this;if(null==r)return\"\";return f._.template(a)(Object.assign(Object.assign({},o),{value:r}))}}r.HTMLTemplateFormatter=T,m=T,T.__name__=\"HTMLTemplateFormatter\",m.define((({String:t})=>({template:[t,\"<%= value %>\"]})))},\n 494: function _(e,n,t,f,i){var o=e(495),d=o.template;function r(e,n,t){return d(e,n,t)}r._=o,n.exports=r,\"function\"==typeof define&&define.amd?define((function(){return r})):\"undefined\"==typeof window&&\"undefined\"==typeof navigator||(window.UnderscoreTemplate=r)},\n 495: function _(r,e,n,t,a){\n // (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n // Underscore may be freely distributed under the MIT license.\n var u={},c=Array.prototype,o=Object.prototype,l=c.slice,i=o.toString,f=o.hasOwnProperty,s=c.forEach,p=Object.keys,_=Array.isArray,h=function(){},v=h.each=h.forEach=function(r,e,n){if(null!=r)if(s&&r.forEach===s)r.forEach(e,n);else if(r.length===+r.length){for(var t=0,a=r.length;t\":\">\",'\"':\""\",\"'\":\"'\"}},y={escape:new RegExp(\"[\"+h.keys(g.escape).join(\"\")+\"]\",\"g\")};h.each([\"escape\"],(function(r){h[r]=function(e){return null==e?\"\":(\"\"+e).replace(y[r],(function(e){return g[r][e]}))}})),h.templateSettings={evaluate:/<%([\\s\\S]+?)%>/g,interpolate:/<%=([\\s\\S]+?)%>/g,escape:/<%-([\\s\\S]+?)%>/g};var j=/(.)^/,b={\"'\":\"'\",\"\\\\\":\"\\\\\",\"\\r\":\"r\",\"\\n\":\"n\",\"\\t\":\"t\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},w=/\\\\|'|\\r|\\n|\\t|\\u2028|\\u2029/g;h.template=function(r,e,n){var t;n=h.defaults({},n,h.templateSettings);var a=new RegExp([(n.escape||j).source,(n.interpolate||j).source,(n.evaluate||j).source].join(\"|\")+\"|$\",\"g\"),u=0,c=\"__p+='\";r.replace(a,(function(e,n,t,a,o){return c+=r.slice(u,o).replace(w,(function(r){return\"\\\\\"+b[r]})),n&&(c+=\"'+\\n((__t=(\"+n+\"))==null?'':_.escape(__t))+\\n'\"),t&&(c+=\"'+\\n((__t=(\"+t+\"))==null?'':__t)+\\n'\"),a&&(c+=\"';\\n\"+a+\"\\n__p+='\"),u=o+e.length,e})),c+=\"';\\n\",n.variable||(c=\"with(obj||{}){\\n\"+c+\"}\\n\"),c=\"var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\\n\"+c+\"return __p;\\n\";try{t=new Function(n.variable||\"obj\",\"_\",c)}catch(r){throw r.source=c,r}if(e)return t(e,h);var o=function(r){return t.call(this,r,h)};return o.source=\"function(\"+(n.variable||\"obj\")+\"){\\n\"+c+\"}\",o},e.exports=h},\n 496: function _(e,t,i,s,o){s();const n=e(1);var l;const r=e(497),d=e(501),a=e(502),h=e(503),u=e(34),c=e(8),_=e(9),m=e(13),g=e(19),p=e(512),f=e(491),b=e(513),w=e(514),x=(0,n.__importStar)(e(492)),C=x,v=(0,n.__importDefault)(e(515));i.AutosizeModes={fit_columns:\"FCV\",fit_viewport:\"FVC\",force_fit:\"LFF\",none:\"NOA\"};let z=!1;class A{constructor(e,t){this.init(e,t)}init(e,t){if(f.DTINDEX_NAME in e.data)throw new Error(`special name ${f.DTINDEX_NAME} cannot be used as a data table column`);this.source=e,this.view=t,this.index=[...this.view.indices]}getLength(){return this.index.length}getItem(e){const t={};for(const i of(0,m.keys)(this.source.data))t[i]=this.source.data[i][this.index[e]];return t[f.DTINDEX_NAME]=this.index[e],t}getField(e,t){return t==f.DTINDEX_NAME?this.index[e]:this.source.data[t][this.index[e]]}setField(e,t,i){const s=this.index[e];this.source.patch({[t]:[[s,i]]})}getRecords(){return(0,_.range)(0,this.getLength()).map((e=>this.getItem(e)))}getItems(){return this.getRecords()}slice(e,t,i){return e=null!=e?e:0,t=null!=t?t:this.getLength(),i=null!=i?i:1,(0,_.range)(e,t,i).map((e=>this.getItem(e)))}sort(e){let t=e.map((e=>[e.sortCol.field,e.sortAsc?1:-1]));0==t.length&&(t=[[f.DTINDEX_NAME,1]]);const i=this.getRecords(),s=this.index.slice();this.index.sort(((e,o)=>{for(const[n,l]of t){const t=i[s.indexOf(e)][n],r=i[s.indexOf(o)][n];if(t!==r)return(0,c.isNumber)(t)&&(0,c.isNumber)(r)?l*(t-r||+isNaN(t)-+isNaN(r)):`${t}`>`${r}`?l:-l}return 0}))}}i.TableDataProvider=A,A.__name__=\"TableDataProvider\";class M extends p.WidgetView{constructor(){super(...arguments),this._in_selection_update=!1,this._width=null}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.render())),this.connect(this.model.source.streaming,(()=>this.updateGrid())),this.connect(this.model.source.patching,(()=>this.updateGrid())),this.connect(this.model.source.change,(()=>this.updateGrid())),this.connect(this.model.source.properties.data.change,(()=>this.updateGrid())),this.connect(this.model.source.selected.change,(()=>this.updateSelection())),this.connect(this.model.source.selected.properties.indices.change,(()=>this.updateSelection()));for(const e of this.model.columns)this.connect(e.change,(()=>{this.invalidate_layout(),this.render()}))}remove(){var e;null===(e=this.grid)||void 0===e||e.destroy(),super.remove()}styles(){return[...super.styles(),v.default,x.default]}update_position(){super.update_position(),this.grid.resizeCanvas()}after_layout(){super.after_layout(),this.updateLayout(!0,!1)}box_sizing(){const e=super.box_sizing();return\"fit_viewport\"===this.model.autosize_mode&&null!=this._width&&(e.width=this._width),e}updateLayout(e,t){const s=this.autosize;s===i.AutosizeModes.fit_columns||s===i.AutosizeModes.force_fit?(e||this.grid.resizeCanvas(),this.grid.autosizeColumns()):e&&t&&s===i.AutosizeModes.fit_viewport&&this.invalidate_layout()}updateGrid(){if(this.model.view.compute_indices(),this.data.init(this.model.source,this.model.view),this.model.sortable){const e=this.grid.getColumns(),t=this.grid.getSortColumns().map((t=>({sortCol:{field:e[this.grid.getColumnIndex(t.columnId)].field},sortAsc:t.sortAsc})));this.data.sort(t)}this.grid.invalidate(),this.updateLayout(!0,!0)}updateSelection(){if(this._in_selection_update)return;const{selected:e}=this.model.source,t=e.indices.map((e=>this.data.index.indexOf(e))).sort();this._in_selection_update=!0,this.grid.setSelectedRows(t),this._in_selection_update=!1;const i=this.grid.getViewport(),s=this.model.get_scroll_index(i,t);null!=s&&this.grid.scrollRowToTop(s)}newIndexColumn(){return{id:(0,u.uniqueId)(),name:this.model.index_header,field:f.DTINDEX_NAME,width:this.model.index_width,behavior:\"select\",cannotTriggerInsert:!0,resizable:!1,selectable:!1,sortable:!0,cssClass:C.cell_index,headerCssClass:C.header_index}}css_classes(){return super.css_classes().concat(C.data_table)}get autosize(){let e;return e=!0===this.model.fit_columns?i.AutosizeModes.force_fit:!1===this.model.fit_columns?i.AutosizeModes.none:i.AutosizeModes[this.model.autosize_mode],e}render(){var e;const t=this.model.columns.filter((e=>e.visible)).map((e=>Object.assign(Object.assign({},e.toColumn()),{parent:this})));let s=null;if(\"checkbox\"==this.model.selectable&&(s=new d.CheckboxSelectColumn({cssClass:C.cell_select}),t.unshift(s.getColumnDefinition())),null!=this.model.index_position){const e=this.model.index_position,i=this.newIndexColumn();-1==e?t.push(i):e<-1?t.splice(e+1,0,i):t.splice(e,0,i)}let{reorderable:o}=this.model;!o||\"undefined\"!=typeof $&&null!=$.fn&&null!=$.fn.sortable||(z||(g.logger.warn(\"jquery-ui is required to enable DataTable.reorderable\"),z=!0),o=!1);let n=-1,l=!1;const{frozen_rows:u,frozen_columns:_}=this.model,m=null==_?-1:_-1;null!=u&&(l=u<0,n=Math.abs(u));const p={enableCellNavigation:!1!==this.model.selectable,enableColumnReorder:o,autosizeColsMode:this.autosize,multiColumnSort:this.model.sortable,editable:this.model.editable,autoEdit:this.model.auto_edit,autoHeight:!1,rowHeight:this.model.row_height,frozenColumn:m,frozenRow:n,frozenBottom:l},f=null!=this.grid;if(this.data=new A(this.model.source,this.model.view),this.grid=new h.Grid(this.el,this.data,t,p),this.autosize==i.AutosizeModes.fit_viewport){this.grid.autosizeColumns();let i=0;for(const s of t)i+=null!==(e=s.width)&&void 0!==e?e:0;this._width=Math.ceil(i)}if(this.grid.onSort.subscribe(((e,t)=>{if(!this.model.sortable)return;const i=t.sortCols;null!=i&&(this.data.sort(i),this.grid.invalidate(),this.updateSelection(),this.grid.render(),this.model.header_row||this._hide_header(),this.model.update_sort_columns(i))})),!1!==this.model.selectable){this.grid.setSelectionModel(new r.RowSelectionModel({selectActiveRow:null==s})),null!=s&&this.grid.registerPlugin(s);const e={dataItemColumnValueExtractor(e,t){let i=e[t.field];return(0,c.isString)(i)&&(i=i.replace(/\\n/g,\"\\\\n\")),i},includeHeaderWhenCopying:!1};this.grid.registerPlugin(new a.CellExternalCopyManager(e)),this.grid.onSelectedRowsChanged.subscribe(((e,t)=>{this._in_selection_update||(this.model.source.selected.indices=t.rows.map((e=>this.data.index[e])))})),this.updateSelection(),this.model.header_row||this._hide_header()}f&&this.updateLayout(f,!1)}_hide_header(){for(const e of this.el.querySelectorAll(\".slick-header-columns\"))e.style.height=\"0px\";this.grid.resizeCanvas()}}i.DataTableView=M,M.__name__=\"DataTableView\";class D extends b.TableWidget{constructor(e){super(e),this._sort_columns=[]}get sort_columns(){return this._sort_columns}update_sort_columns(e){this._sort_columns=e.map((({sortCol:e,sortAsc:t})=>({field:e.field,sortAsc:t})))}get_scroll_index(e,t){return this.scroll_to_selection&&0!=t.length?(0,_.some)(t,(t=>e.top<=t&&t<=e.bottom))?null:Math.max(0,Math.min(...t)-1):null}}i.DataTable=D,l=D,D.__name__=\"DataTable\",l.prototype.default_view=M,l.define((({Array:e,Boolean:t,Int:i,Ref:s,String:o,Enum:n,Or:l,Nullable:r})=>({autosize_mode:[n(\"fit_columns\",\"fit_viewport\",\"none\",\"force_fit\"),\"force_fit\"],auto_edit:[t,!1],columns:[e(s(w.TableColumn)),[]],fit_columns:[r(t),null],frozen_columns:[r(i),null],frozen_rows:[r(i),null],sortable:[t,!0],reorderable:[t,!0],editable:[t,!1],selectable:[l(t,n(\"checkbox\")),!0],index_position:[r(i),0],index_header:[o,\"#\"],index_width:[i,40],scroll_to_selection:[t,!0],header_row:[t,!0],row_height:[i,25]}))),l.override({width:600,height:400})},\n 497: function _(e,t,n,o,r){var l=e(498),i=e(500);t.exports={RowSelectionModel:function(e){var t,n,o,r=[],c=this,u=new i.EventHandler,s={selectActiveRow:!0};function a(e){return function(){n||(n=!0,e.apply(this,arguments),n=!1)}}function f(e){for(var t=[],n=0;n=0&&r0&&t-1 in e)}w.fn=w.prototype={jquery:b,constructor:w,length:0,toArray:function(){return i.call(this)},get:function(e){return null==e?i.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(i.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(w.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(w.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|[\\\\x20\\\\t\\\\r\\\\n\\\\f])[\\\\x20\\\\t\\\\r\\\\n\\\\f]*\"),U=new RegExp(M+\"|>\"),X=new RegExp(F),V=new RegExp(\"^\"+I+\"$\"),G={ID:new RegExp(\"^#(\"+I+\")\"),CLASS:new RegExp(\"^\\\\.(\"+I+\")\"),TAG:new RegExp(\"^(\"+I+\"|[*])\"),ATTR:new RegExp(\"^\"+W),PSEUDO:new RegExp(\"^\"+F),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\([\\\\x20\\\\t\\\\r\\\\n\\\\f]*(even|odd|(([+-]|)(\\\\d*)n|)[\\\\x20\\\\t\\\\r\\\\n\\\\f]*(?:([+-]|)[\\\\x20\\\\t\\\\r\\\\n\\\\f]*(\\\\d+)|))[\\\\x20\\\\t\\\\r\\\\n\\\\f]*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+R+\")$\",\"i\"),needsContext:new RegExp(\"^[\\\\x20\\\\t\\\\r\\\\n\\\\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\([\\\\x20\\\\t\\\\r\\\\n\\\\f]*((?:-\\\\d)?\\\\d*)[\\\\x20\\\\t\\\\r\\\\n\\\\f]*\\\\)|)(?=[^-]|$)\",\"i\")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\\d$/i,K=/^[^{]+\\{\\s*\\[native \\w/,Z=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ee=/[+~]/,te=new RegExp(\"\\\\\\\\[\\\\da-fA-F]{1,6}[\\\\x20\\\\t\\\\r\\\\n\\\\f]?|\\\\\\\\([^\\\\r\\\\n\\\\f])\",\"g\"),ne=function(e,t){var n=\"0x\"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,ie=function(e,t){return t?\"\\0\"===e?\"\\ufffd\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},oe=function(){p()},ae=be((function(e){return!0===e.disabled&&\"fieldset\"===e.nodeName.toLowerCase()}),{dir:\"parentNode\",next:\"legend\"});try{H.apply(D=O.call(w.childNodes),w.childNodes),D[w.childNodes.length].nodeType}catch(e){H={apply:D.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,l,c,f,h,y,m=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],\"string\"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;if(!i&&(p(t),t=t||d,g)){if(11!==w&&(f=Z.exec(e)))if(o=f[1]){if(9===w){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return H.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return H.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!A[e+\" \"]&&(!v||!v.test(e))&&(1!==w||\"object\"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===w&&(U.test(e)||z.test(e))){for((m=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute(\"id\"))?c=c.replace(re,ie):t.setAttribute(\"id\",c=b)),s=(h=a(e)).length;s--;)h[s]=(c?\"#\"+c:\":scope\")+\" \"+xe(h[s]);y=h.join(\",\")}try{return H.apply(r,m.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{c===b&&t.removeAttribute(\"id\")}}}return u(e.replace($,\"$1\"),t,r,i)}function ue(){var e=[];return function t(n,i){return e.push(n+\" \")>r.cacheLength&&delete t[e.shift()],t[n+\" \"]=i}}function le(e){return e[b]=!0,e}function ce(e){var t=d.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split(\"|\"),i=n.length;i--;)r.attrHandle[n[i]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return\"input\"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return(\"input\"===n||\"button\"===n)&&t.type===e}}function ge(e){return function(t){return\"form\"in t?t.parentNode&&!1===t.disabled?\"label\"in t?\"label\"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:\"label\"in t&&t.disabled===e}}function ve(e){return le((function(t){return t=+t,le((function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))}))}))}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||\"HTML\")},p=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!=d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,g=!o(d),w!=d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener(\"unload\",oe,!1):i.attachEvent&&i.attachEvent(\"onunload\",oe)),n.scope=ce((function(e){return h.appendChild(e).appendChild(d.createElement(\"div\")),void 0!==e.querySelectorAll&&!e.querySelectorAll(\":scope fieldset div\").length})),n.attributes=ce((function(e){return e.className=\"i\",!e.getAttribute(\"className\")})),n.getElementsByTagName=ce((function(e){return e.appendChild(d.createComment(\"\")),!e.getElementsByTagName(\"*\").length})),n.getElementsByClassName=K.test(d.getElementsByClassName),n.getById=ce((function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length})),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute(\"id\")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode(\"id\");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(\"*\"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=K.test(d.querySelectorAll))&&(ce((function(e){var t;h.appendChild(e).innerHTML=\"\",e.querySelectorAll(\"[msallowcapture^='']\").length&&v.push(\"[*^$]=[\\\\x20\\\\t\\\\r\\\\n\\\\f]*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||v.push(\"\\\\[[\\\\x20\\\\t\\\\r\\\\n\\\\f]*(?:value|\"+R+\")\"),e.querySelectorAll(\"[id~=\"+b+\"-]\").length||v.push(\"~=\"),(t=d.createElement(\"input\")).setAttribute(\"name\",\"\"),e.appendChild(t),e.querySelectorAll(\"[name='']\").length||v.push(\"\\\\[[\\\\x20\\\\t\\\\r\\\\n\\\\f]*name[\\\\x20\\\\t\\\\r\\\\n\\\\f]*=[\\\\x20\\\\t\\\\r\\\\n\\\\f]*(?:''|\\\"\\\")\"),e.querySelectorAll(\":checked\").length||v.push(\":checked\"),e.querySelectorAll(\"a#\"+b+\"+*\").length||v.push(\".#.+[+~]\"),e.querySelectorAll(\"\\\\\\f\"),v.push(\"[\\\\r\\\\n\\\\f]\")})),ce((function(e){e.innerHTML=\"\";var t=d.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&v.push(\"name[\\\\x20\\\\t\\\\r\\\\n\\\\f]*[*^$|!~]?=\"),2!==e.querySelectorAll(\":enabled\").length&&v.push(\":enabled\",\":disabled\"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&v.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),v.push(\",.*:\")}))),(n.matchesSelector=K.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ce((function(e){n.disconnectedMatch=m.call(e,\"*\"),m.call(e,\"[s!='']:x\"),y.push(\"!=\",F)})),v=v.length&&new RegExp(v.join(\"|\")),y=y.length&&new RegExp(y.join(\"|\")),t=K.test(h.compareDocumentPosition),x=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},N=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==d||e.ownerDocument==w&&x(w,e)?-1:t==d||t.ownerDocument==w&&x(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==d?-1:t==d?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},d):d},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(p(e),n.matchesSelector&&g&&!A[t+\" \"]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,d,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=d&&p(e),x(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&j.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+\"\").replace(re,ie)},se.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(N),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=se.getText=function(e){var t,n=\"\",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},r=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||\"\").replace(te,ne),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+\" \"];return t||(t=new RegExp(\"(^|[\\\\x20\\\\t\\\\r\\\\n\\\\f])\"+e+\"(\"+M+\"|$)\"))&&E(e,(function(e){return t.test(\"string\"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute(\"class\")||\"\")}))},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?\"!=\"===t:!t||(i+=\"\",\"=\"===t?i===n:\"!=\"===t?i!==n:\"^=\"===t?n&&0===i.indexOf(n):\"*=\"===t?n&&i.indexOf(n)>-1:\"$=\"===t?n&&i.slice(-n.length)===n:\"~=\"===t?(\" \"+i.replace(B,\" \")+\" \").indexOf(n)>-1:\"|=\"===t&&(i===n||i.slice(0,n.length+1)===n+\"-\"))}},CHILD:function(e,t,n,r,i){var o=\"nth\"!==e.slice(0,3),a=\"last\"!==e.slice(-4),s=\"of-type\"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?\"nextSibling\":\"previousSibling\",v=t.parentNode,y=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g=\"only\"===e&&!h&&\"nextSibling\"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){for(x=(d=(l=(c=(f=(p=v)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==y:1!==p.nodeType)||!++x||(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error(\"unsupported pseudo: \"+e);return i[b]?i(t):i.length>1?(n=[e,e,\"\",t],r.setFilters.hasOwnProperty(e.toLowerCase())?le((function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=P(e,o[a])]=!(n[r]=o[a])})):function(e){return i(e,0,n)}):i}},pseudos:{not:le((function(e){var t=[],n=[],r=s(e.replace($,\"$1\"));return r[b]?le((function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))})):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}})),has:le((function(e){return function(t){return se(e,t).length>0}})),contains:le((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}})),lang:le((function(e){return V.test(e||\"\")||se.error(\"unsupported lang: \"+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute(\"xml:lang\")||t.getAttribute(\"lang\"))return(n=n.toLowerCase())===e||0===n.indexOf(e+\"-\")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:ve((function(){return[0]})),last:ve((function(e,t){return[t-1]})),eq:ve((function(e,t,n){return[n<0?n+t:n]})),even:ve((function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e})),gt:ve((function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s-1&&(o[l]=!(a[l]=f))}}else y=Te(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)}))}function Ee(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[\" \"],u=a?1:0,c=be((function(e){return e===t}),s,!0),f=be((function(e){return P(t,e)>-1}),s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:\" \"===e[u-2].type?\"*\":\"\"})).replace($,\"$1\"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,v,y=0,m=\"0\",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG(\"*\",c),E=T+=null==w?1:Math.random()||.1,S=C.length;for(c&&(l=a==d||a||c);m!==S&&null!=(f=C[m]);m++){if(i&&f){for(h=0,a||f.ownerDocument==d||(p(f),s=!g);v=e[h++];)if(v(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!v&&f)&&y--,o&&x.push(f))}if(y+=m,n&&m!==y){for(h=0;v=t[h++];)v(x,b,a,s);if(o){if(y>0)for(;m--;)x[m]||b[m]||(b[m]=q.call(u));b=Te(b)}H.apply(u,b),c&&!o&&b.length>0&&y+t.length>1&&se.uniqueSort(u)}return c&&(T=E,l=w),x};return n?le(o):o}(o,i)),s.selector=e}return s},u=se.select=function(e,t,n,i){var o,u,l,c,f,p=\"function\"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&\"ID\"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=G.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&xe(u)))return H.apply(n,i),n;break}}return(p||s(e,d))(i,t,!g,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split(\"\").sort(N).join(\"\")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ce((function(e){return 1&e.compareDocumentPosition(d.createElement(\"fieldset\"))})),ce((function(e){return e.innerHTML=\"\",\"#\"===e.firstChild.getAttribute(\"href\")}))||fe(\"type|href|height|width\",(function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)})),n.attributes&&ce((function(e){return e.innerHTML=\"\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")}))||fe(\"value\",(function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue})),ce((function(e){return null==e.getAttribute(\"disabled\")}))||fe(R,(function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null})),se}(e);w.find=C,w.expr=C.selectors,w.expr[\":\"]=w.expr.pseudos,w.uniqueSort=w.unique=C.uniqueSort,w.text=C.getText,w.isXMLDoc=C.isXML,w.contains=C.contains,w.escapeSelector=C.escape;var E=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=w.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function j(e,t,n){return h(t)?w.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?w.grep(e,(function(e){return e===t!==n})):\"string\"!=typeof t?w.grep(e,(function(e){return s.call(t,e)>-1!==n})):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,(function(e){return 1===e.nodeType})))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if(\"string\"!=typeof e)return this.pushStack(w(e).filter((function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,\"string\"==typeof e&&k.test(e)?w(e):e||[],!1).length}});var D,q=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/;(w.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,\"string\"==typeof e){if(!(r=\"<\"===e[0]&&\">\"===e[e.length-1]&&e.length>=3?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:v,!0)),N.test(r[1])&&w.isPlainObject(t))for(r in t)h(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=v.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):h(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,D=w(v);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter((function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?\"string\"==typeof e?s.call(w(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return E(e,\"parentNode\")},parentsUntil:function(e,t,n){return E(e,\"parentNode\",n)},next:function(e){return O(e,\"nextSibling\")},prev:function(e){return O(e,\"previousSibling\")},nextAll:function(e){return E(e,\"nextSibling\")},prevAll:function(e){return E(e,\"previousSibling\")},nextUntil:function(e,t,n){return E(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return E(e,\"previousSibling\",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,\"template\")&&(e=e.content||e),w.merge([],e.childNodes))}},(function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return\"Until\"!==e.slice(-5)&&(r=n),r&&\"string\"==typeof r&&(i=w.filter(r,i)),this.length>1&&(H[e]||w.uniqueSort(i),L.test(e)&&i.reverse()),this.pushStack(i)}}));var P=/[^\\x20\\t\\r\\n\\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&h(i=e.promise)?i.call(e).done(t).fail(n):e&&h(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.Callbacks=function(e){e=\"string\"==typeof e?function(e){var t={};return w.each(e.match(P)||[],(function(e,n){t[n]=!0})),t}(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--})),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n=\"\",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=\"\"),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},w.extend({Deferred:function(t){var n=[[\"notify\",\"progress\",w.Callbacks(\"memory\"),w.Callbacks(\"memory\"),2],[\"resolve\",\"done\",w.Callbacks(\"once memory\"),w.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",w.Callbacks(\"once memory\"),w.Callbacks(\"once memory\"),1,\"rejected\"]],r=\"pending\",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred((function(t){w.each(n,(function(n,r){var i=h(e[r[4]])&&e[r[4]];o[r[1]]((function(){var e=i&&i.apply(this,arguments);e&&h(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+\"With\"](this,i?[e]:arguments)}))})),e=null})).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==M&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred((function(e){n[0][3].add(a(0,e,h(i)?i:R,e.notifyWith)),n[1][3].add(a(0,e,h(t)?t:R)),n[2][3].add(a(0,e,h(r)?r:M))})).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,(function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add((function(){r=s}),n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+\"With\"](this===o?void 0:this,arguments),this},o[t[0]+\"With\"]=a.fireWith})),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),o=i.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?i.call(arguments):n,--t||a.resolveWith(r,o)}};if(t<=1&&(I(e,a.done(s(n)).resolve,a.reject,!t),\"pending\"===a.state()||h(o[n]&&o[n].then)))return a.then();for(;n--;)I(o[n],s(n),a.reject);return a.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&W.test(t.name)&&e.console.warn(\"jQuery.Deferred exception: \"+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout((function(){throw t}))};var F=w.Deferred();function B(){v.removeEventListener(\"DOMContentLoaded\",B),e.removeEventListener(\"load\",B),w.ready()}w.fn.ready=function(e){return F.then(e).catch((function(e){w.readyException(e)})),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(v,[w]))}}),w.ready.then=F.then,\"complete\"===v.readyState||\"loading\"!==v.readyState&&!v.documentElement.doScroll?e.setTimeout(w.ready):(v.addEventListener(\"DOMContentLoaded\",B),e.addEventListener(\"load\",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if(\"object\"===x(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,h(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each((function(){Q.remove(this,e)}))}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t);\"inprogress\"===i&&(i=n.shift(),r--),i&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete o.stop,i.call(e,(function(){w.dequeue(e,t)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return Y.get(e,n)||Y.access(e,n,{empty:w.Callbacks(\"once memory\").add((function(){Y.remove(e,[t+\"queue\",n])}))})}}),w.fn.extend({queue:function(e,t){var n=2;return\"string\"!=typeof e&&(t=e,e=\"fx\",n--),arguments.length\\x20\\t\\r\\n\\f]*)/i,ge=/^$|^module$|\\/(?:java|ecma)script/i;fe=v.createDocumentFragment().appendChild(v.createElement(\"div\")),(pe=v.createElement(\"input\")).setAttribute(\"type\",\"radio\"),pe.setAttribute(\"checked\",\"checked\"),pe.setAttribute(\"name\",\"t\"),fe.appendChild(pe),d.checkClone=fe.cloneNode(!0).cloneNode(!0).lastChild.checked,fe.innerHTML=\"\",d.noCloneChecked=!!fe.cloneNode(!0).lastChild.defaultValue,fe.innerHTML=\"\",d.option=!!fe.lastChild;var ve={thead:[1,\"\",\"
\"],col:[2,\"\",\"
\"],tr:[2,\"\",\"
\"],td:[3,\"\",\"
\"],_default:[0,\"\",\"\"]};function ye(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):void 0!==e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&A(e,t)?w.merge([e],n):n}function me(e,t){for(var n=0,r=e.length;n\",\"\"]);var xe=/<|&#?\\w+;/;function be(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d-1)i&&i.push(o);else if(l=ie(o),a=ye(f.appendChild(o),\"script\"),l&&me(a),n)for(c=0;o=a[c++];)ge.test(o.type||\"\")&&n.push(o);return f}var we=/^([^.]*)(?:\\.(.+)|)/;function Te(){return!0}function Ce(){return!1}function Ee(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==(\"focus\"===t)}function Se(e,t,n,r,i,o){var a,s;if(\"object\"==typeof t){for(s in\"string\"!=typeof n&&(r=r||n,n=void 0),t)Se(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&(\"string\"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ce;else if(!i)return e;return 1===o&&(a=i,i=function(e){return w().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=w.guid++)),e.each((function(){w.event.add(this,t,i,r,n)}))}function ke(e,t,n){n?(Y.set(e,t,!1),w.event.add(e,t,{namespace:!1,handler:function(e){var r,o,a=Y.get(this,t);if(1&e.isTrigger&&this[t]){if(a.length)(w.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=i.call(arguments),Y.set(this,t,a),r=n(this,t),this[t](),a!==(o=Y.get(this,t))||r?Y.set(this,t,!1):o={},a!==o)return e.stopImmediatePropagation(),e.preventDefault(),o&&o.value}else a.length&&(Y.set(this,t,{value:w.event.trigger(w.extend(a[0],w.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,t)&&w.event.add(e,t,Te)}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(e);if(V(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(re,i),n.guid||(n.guid=w.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(t){return void 0!==w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||\"\").match(P)||[\"\"]).length;l--;)d=g=(s=we.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(\".\")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){for(l=(t=(t||\"\").match(P)||[\"\"]).length;l--;)if(d=g=(s=we.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d){for(f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&(\"**\"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||w.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&Y.remove(e,\"handle events\")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=w.event.fix(e),l=(Y.get(this,\"events\")||Object.create(null))[u.type]||[],c=w.event.special[u.type]||{};for(s[0]=u,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&(\"click\"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\\s*$/g;function De(e,t){return A(e,\"table\")&&A(11!==t.nodeType?t:t.firstChild,\"tr\")&&w(e).children(\"tbody\")[0]||e}function qe(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function Le(e){return\"true/\"===(e.type||\"\").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(\"type\"),e}function He(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,\"handle events\"),s)for(n=0,r=s[i].length;n1&&\"string\"==typeof v&&!d.checkClone&&Ne.test(v))return e.each((function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Pe(o,t,n,r)}));if(p&&(a=(i=be(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=a),a||r)){for(u=(s=w.map(ye(i,\"script\"),qe)).length;f0&&me(a,!u&&ye(e,\"script\")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,(function(e){return void 0===e?w.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Pe(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||De(this,e).appendChild(e)}))},prepend:function(){return Pe(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=De(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Pe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Pe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return w.clone(this,e,t)}))},html:function(e){return $(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(\"string\"==typeof e&&!Ae.test(e)&&!ve[(he.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!d.boxSizingReliable()||n)&&\"border-box\"===w.css(e,\"boxSizing\",!1,r),o=i,a=Be(e,t,r),s=\"offset\"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a=\"auto\"}return(!d.boxSizingReliable()&&i||!d.reliableTrDimensions()&&A(e,\"tr\")||\"auto\"===a||!parseFloat(a)&&\"inline\"===w.css(e,\"display\",!1,r))&&e.getClientRects().length&&(i=\"border-box\"===w.css(e,\"boxSizing\",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?\"border\":\"content\"),o,r,a)+\"px\"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,\"opacity\");return\"\"===n?\"1\":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&\"get\"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];\"string\"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o=\"number\"),null!=n&&n==n&&(\"number\"!==o||u||(n+=i&&i[3]||(w.cssNumber[s]?\"\":\"px\")),d.clearCloneStyle||\"\"!==n||0!==t.indexOf(\"background\")||(l[t]=\"inherit\"),a&&\"set\"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&\"get\"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),\"normal\"===i&&t in Qe&&(i=Qe[t]),\"\"===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each([\"height\",\"width\"],(function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!Ve.test(w.css(e,\"display\"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,t,r):We(e,Ye,(function(){return Ze(e,t,r)}))},set:function(e,n,r){var i,o=Ie(e),a=!d.scrollboxSize()&&\"absolute\"===o.position,s=(a||r)&&\"border-box\"===w.css(e,\"boxSizing\",!1,o),u=r?Ke(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ke(e,t,\"border\",!1,o)-.5)),u&&(i=te.exec(n))&&\"px\"!==(i[3]||\"px\")&&(e.style[t]=n,n=w.css(e,t)),Je(0,n,u)}}})),w.cssHooks.marginLeft=$e(d.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(Be(e,\"marginLeft\"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+\"px\"})),w.each({margin:\"\",padding:\"\",border:\"Width\"},(function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o=\"string\"==typeof n?n.split(\" \"):[n];r<4;r++)i[e+ne[r]+t]=o[r]||o[r-2]||o[0];return i}},\"margin\"!==e&&(w.cssHooks[e+t].set=Je)})),w.fn.extend({css:function(e,t){return $(this,(function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a1)}}),w.Tween=et,et.prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?\"\":\"px\")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}},et.prototype.init.prototype=et.prototype,et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,\"\"))&&\"auto\"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||!w.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},et.propHooks.scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:\"swing\"},w.fx=et.prototype.init,w.fx.step={};var tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){nt&&(!1===v.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(ot):e.setTimeout(ot,w.fx.interval),w.fx.tick())}function at(){return e.setTimeout((function(){tt=void 0})),tt=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i[\"margin\"+(n=ne[r])]=i[\"padding\"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners[\"*\"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each((function(){w.removeAttr(this,e)}))}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+\"\"),n):i&&\"get\"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!d.radioValue&&\"radio\"===t&&A(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\\w+/g),(function(e,t){var n=ft[t]||w.find.attr;ft[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ft[a],ft[a]=i,i=null!=n(e,t,r)?a:null,ft[a]=o),i}}));var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(\" \")}function gt(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"}function vt(e){return Array.isArray(e)?e:\"string\"==typeof e&&e.match(P)||[]}w.fn.extend({prop:function(e,t){return $(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[w.propFix[e]||e]}))}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&\"get\"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,\"tabindex\");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:\"htmlFor\",class:\"className\"}}),d.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],(function(){w.propFix[this.toLowerCase()]=this})),w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each((function(t){w(this).addClass(e.call(this,t,gt(this)))}));if((t=vt(e)).length)for(;n=this[u++];)if(i=gt(n),r=1===n.nodeType&&\" \"+ht(i)+\" \"){for(a=0;o=t[a++];)r.indexOf(\" \"+o+\" \")<0&&(r+=o+\" \");i!==(s=ht(r))&&n.setAttribute(\"class\",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each((function(t){w(this).removeClass(e.call(this,t,gt(this)))}));if(!arguments.length)return this.attr(\"class\",\"\");if((t=vt(e)).length)for(;n=this[u++];)if(i=gt(n),r=1===n.nodeType&&\" \"+ht(i)+\" \"){for(a=0;o=t[a++];)for(;r.indexOf(\" \"+o+\" \")>-1;)r=r.replace(\" \"+o+\" \",\" \");i!==(s=ht(r))&&n.setAttribute(\"class\",s)}return this},toggleClass:function(e,t){var n=typeof e,r=\"string\"===n||Array.isArray(e);return\"boolean\"==typeof t&&r?t?this.addClass(e):this.removeClass(e):h(e)?this.each((function(n){w(this).toggleClass(e.call(this,n,gt(this),t),t)})):this.each((function(){var t,i,o,a;if(r)for(i=0,o=w(this),a=vt(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&\"boolean\"!==n||((t=gt(this))&&Y.set(this,\"__className__\",t),this.setAttribute&&this.setAttribute(\"class\",t||!1===e?\"\":Y.get(this,\"__className__\")||\"\"))}))},hasClass:function(e){var t,n,r=0;for(t=\" \"+e+\" \";n=this[r++];)if(1===n.nodeType&&(\" \"+ht(gt(n))+\" \").indexOf(t)>-1)return!0;return!1}});var yt=/\\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=h(e),this.each((function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i=\"\":\"number\"==typeof i?i+=\"\":Array.isArray(i)&&(i=w.map(i,(function(e){return null==e?\"\":e+\"\"}))),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&\"set\"in t&&void 0!==t.set(this,i,\"value\")||(this.value=i))}))):i?(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&\"get\"in t&&void 0!==(n=t.get(i,\"value\"))?n:\"string\"==typeof(n=i.value)?n.replace(yt,\"\"):null==n?\"\":n:void 0}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,\"value\");return null!=t?t:ht(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a=\"select-one\"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each([\"radio\",\"checkbox\"],(function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},d.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})})),d.focusin=\"onfocusin\"in e;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,r,i){var o,a,s,u,l,f,p,d,y=[r||v],m=c.call(t,\"type\")?t.type:t,x=c.call(t,\"namespace\")?t.namespace.split(\".\"):[];if(a=d=s=r=r||v,3!==r.nodeType&&8!==r.nodeType&&!mt.test(m+w.event.triggered)&&(m.indexOf(\".\")>-1&&(x=m.split(\".\"),m=x.shift(),x.sort()),l=m.indexOf(\":\")<0&&\"on\"+m,(t=t[w.expando]?t:new w.Event(m,\"object\"==typeof t&&t)).isTrigger=i?2:3,t.namespace=x.join(\".\"),t.rnamespace=t.namespace?new RegExp(\"(^|\\\\.)\"+x.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:w.makeArray(n,[t]),p=w.event.special[m]||{},i||!p.trigger||!1!==p.trigger.apply(r,n))){if(!i&&!p.noBubble&&!g(r)){for(u=p.delegateType||m,mt.test(u+m)||(a=a.parentNode);a;a=a.parentNode)y.push(a),s=a;s===(r.ownerDocument||v)&&y.push(s.defaultView||s.parentWindow||e)}for(o=0;(a=y[o++])&&!t.isPropagationStopped();)d=a,t.type=o>1?u:p.bindType||m,(f=(Y.get(a,\"events\")||Object.create(null))[t.type]&&Y.get(a,\"handle\"))&&f.apply(a,n),(f=l&&a[l])&&f.apply&&V(a)&&(t.result=f.apply(a,n),!1===t.result&&t.preventDefault());return t.type=m,i||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!V(r)||l&&h(r[m])&&!g(r)&&((s=r[l])&&(r[l]=null),w.event.triggered=m,t.isPropagationStopped()&&d.addEventListener(m,xt),r[m](),t.isPropagationStopped()&&d.removeEventListener(m,xt),w.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each((function(){w.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),d.focusin||w.each({focus:\"focusin\",blur:\"focusout\"},(function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=Y.access(r,t);i||r.addEventListener(e,n,!0),Y.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=Y.access(r,t)-1;i?Y.access(r,t,i):(r.removeEventListener(e,n,!0),Y.remove(r,t))}}}));var bt=e.location,wt={guid:Date.now()},Tt=/\\?/;w.parseXML=function(t){var n,r;if(!t||\"string\"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,\"text/xml\")}catch(e){}return r=n&&n.getElementsByTagName(\"parsererror\")[0],n&&!r||w.error(\"Invalid XML: \"+(r?w.map(r.childNodes,(function(e){return e.textContent})).join(\"\\n\"):t)),n};var Ct=/\\[\\]$/,Et=/\\r?\\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(e,t,n,r){var i;if(Array.isArray(t))w.each(t,(function(t,i){n||Ct.test(e)?r(e,i):At(e+\"[\"+(\"object\"==typeof i&&null!=i?t:\"\")+\"]\",i,n,r)}));else if(n||\"object\"!==x(t))r(e,t);else for(i in t)At(e+\"[\"+i+\"]\",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=h(t)?t():t;r[r.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(null==n?\"\":n)};if(null==e)return\"\";if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,(function(){i(this.name,this.value)}));else for(n in e)At(n,e[n],t,i);return r.join(\"&\")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=w.prop(this,\"elements\");return e?w.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!w(this).is(\":disabled\")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!de.test(e))})).map((function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,(function(e){return{name:t.name,value:e.replace(Et,\"\\r\\n\")}})):{name:t.name,value:n.replace(Et,\"\\r\\n\")}})).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\\/\\//,Ot={},Pt={},Rt=\"*/\".concat(\"*\"),Mt=v.createElement(\"a\");function It(e){return function(t,n){\"string\"!=typeof t&&(n=t,t=\"*\");var r,i=0,o=t.toLowerCase().match(P)||[];if(h(n))for(;r=o[i++];)\"+\"===r[0]?(r=r.slice(1)||\"*\",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Wt(e,t,n,r){var i={},o=e===Pt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],(function(e,s){var l=s(t,n,r);return\"string\"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)})),u}return a(t.dataTypes[0])||!i[\"*\"]&&a(\"*\")}function Ft(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}Mt.href=bt.href,w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:\"GET\",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":Rt,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":JSON.parse,\"text xml\":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,w.ajaxSettings),t):Ft(w.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(t,n){\"object\"==typeof t&&(n=t,t=void 0),n=n||{};var r,i,o,a,s,u,l,c,f,p,d=w.ajaxSetup({},n),h=d.context||d,g=d.context&&(h.nodeType||h.jquery)?w(h):w.event,y=w.Deferred(),m=w.Callbacks(\"once memory\"),x=d.statusCode||{},b={},T={},C=\"canceled\",E={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=qt.exec(o);)a[t[1].toLowerCase()+\" \"]=(a[t[1].toLowerCase()+\" \"]||[]).concat(t[2]);t=a[e.toLowerCase()+\" \"]}return null==t?null:t.join(\", \")},getAllResponseHeaders:function(){return l?o:null},setRequestHeader:function(e,t){return null==l&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return r&&r.abort(t),S(0,t),this}};if(y.promise(E),d.url=((t||d.url||bt.href)+\"\").replace(Ht,bt.protocol+\"//\"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||\"*\").toLowerCase().match(P)||[\"\"],null==d.crossDomain){u=v.createElement(\"a\");try{u.href=d.url,u.href=u.href,d.crossDomain=Mt.protocol+\"//\"+Mt.host!=u.protocol+\"//\"+u.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&\"string\"!=typeof d.data&&(d.data=w.param(d.data,d.traditional)),Wt(Ot,d,n,E),l)return E;for(f in(c=w.event&&d.global)&&0==w.active++&&w.event.trigger(\"ajaxStart\"),d.type=d.type.toUpperCase(),d.hasContent=!Lt.test(d.type),i=d.url.replace(jt,\"\"),d.hasContent?d.data&&d.processData&&0===(d.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&(d.data=d.data.replace(Nt,\"+\")):(p=d.url.slice(i.length),d.data&&(d.processData||\"string\"==typeof d.data)&&(i+=(Tt.test(i)?\"&\":\"?\")+d.data,delete d.data),!1===d.cache&&(i=i.replace(Dt,\"$1\"),p=(Tt.test(i)?\"&\":\"?\")+\"_=\"+wt.guid+++p),d.url=i+p),d.ifModified&&(w.lastModified[i]&&E.setRequestHeader(\"If-Modified-Since\",w.lastModified[i]),w.etag[i]&&E.setRequestHeader(\"If-None-Match\",w.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||n.contentType)&&E.setRequestHeader(\"Content-Type\",d.contentType),E.setRequestHeader(\"Accept\",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(\"*\"!==d.dataTypes[0]?\", \"+Rt+\"; q=0.01\":\"\"):d.accepts[\"*\"]),d.headers)E.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,E,d)||l))return E.abort();if(C=\"abort\",m.add(d.complete),E.done(d.success),E.fail(d.error),r=Wt(Pt,d,n,E)){if(E.readyState=1,c&&g.trigger(\"ajaxSend\",[E,d]),l)return E;d.async&&d.timeout>0&&(s=e.setTimeout((function(){E.abort(\"timeout\")}),d.timeout));try{l=!1,r.send(b,S)}catch(e){if(l)throw e;S(-1,e)}}else S(-1,\"No Transport\");function S(t,n,a,u){var f,p,v,b,T,C=n;l||(l=!0,s&&e.clearTimeout(s),r=void 0,o=u||\"\",E.readyState=t>0?4:0,f=t>=200&&t<300||304===t,a&&(b=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;\"*\"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader(\"Content-Type\"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+\" \"+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(d,E,a)),!f&&w.inArray(\"script\",d.dataTypes)>-1&&w.inArray(\"json\",d.dataTypes)<0&&(d.converters[\"text script\"]=function(){}),b=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if(\"*\"===o)o=u;else if(\"*\"!==u&&u!==o){if(!(a=l[u+\" \"+o]||l[\"* \"+o]))for(i in l)if((s=i.split(\" \"))[1]===o&&(a=l[u+\" \"+s[0]]||l[\"* \"+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:\"parsererror\",error:a?e:\"No conversion from \"+u+\" to \"+o}}}return{state:\"success\",data:t}}(d,b,E,f),f?(d.ifModified&&((T=E.getResponseHeader(\"Last-Modified\"))&&(w.lastModified[i]=T),(T=E.getResponseHeader(\"etag\"))&&(w.etag[i]=T)),204===t||\"HEAD\"===d.type?C=\"nocontent\":304===t?C=\"notmodified\":(C=b.state,p=b.data,f=!(v=b.error))):(v=C,!t&&C||(C=\"error\",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+\"\",f?y.resolveWith(h,[p,C,E]):y.rejectWith(h,[E,C,v]),E.statusCode(x),x=void 0,c&&g.trigger(f?\"ajaxSuccess\":\"ajaxError\",[E,d,f?p:v]),m.fireWith(h,[E,C]),c&&(g.trigger(\"ajaxComplete\",[E,d]),--w.active||w.event.trigger(\"ajaxStop\")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,\"json\")},getScript:function(e,t){return w.get(e,void 0,t,\"script\")}}),w.each([\"get\",\"post\"],(function(e,t){w[t]=function(e,n,r,i){return h(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}})),w.ajaxPrefilter((function(e){var t;for(t in e.headers)\"content-type\"===t.toLowerCase()&&(e.contentType=e.headers[t]||\"\")})),w._evalUrl=function(e,t,n){return w.ajax({url:e,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,converters:{\"text script\":function(){}},dataFilter:function(e){w.globalEval(e,t,n)}})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(h(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return h(e)?this.each((function(t){w(this).wrapInner(e.call(this,t))})):this.each((function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=h(e);return this.each((function(n){w(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not(\"body\").each((function(){w(this).replaceWith(this.childNodes)})),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=w.ajaxSettings.xhr();d.cors=!!$t&&\"withCredentials\"in $t,d.ajax=$t=!!$t,w.ajaxTransport((function(t){var n,r;if(d.cors||$t&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];for(a in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i[\"X-Requested-With\"]||(i[\"X-Requested-With\"]=\"XMLHttpRequest\"),i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,\"abort\"===e?s.abort():\"error\"===e?\"number\"!=typeof s.status?o(0,\"error\"):o(s.status,s.statusText):o(Bt[s.status]||s.status,s.statusText,\"text\"!==(s.responseType||\"text\")||\"string\"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n(\"error\"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout((function(){n&&r()}))},n=n(\"abort\");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}})),w.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),w.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter(\"script\",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\")})),w.ajaxTransport(\"script\",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=w(\"" ], "text/plain": [ "Column\n", " [0] Markdown(str)\n", " [1] Row\n", " [0] TextInput(name='file name', placeholder='Enter a file name...', width=200)\n", " [1] Select(name='file format', options=['png', 'pdf'], value='png', width=60)\n", " [2] IntInput(name='dpi', placeholder='Enter the dip...', start=0, value=100, width=200)\n", " [2] Row\n", " [0] Button(button_type='primary', name='export', width=100)\n", " [1] StaticText(width=800)" ] }, "execution_count": 8, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "1002" } }, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABpcAAAMFCAYAAACRbK7vAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeZxT1fk/8M/JPjO5mY1lGHZFBfevQgGFAgVFRK2KttYNcbegghtarFqLAiKLKG61ij9rbbWtVkWxaAFB0QKKK244yDrsM5PMlu38/ji5N8ksTGYmk/Xzfr3ygiQ3yU0my33Oc57nCCmlBBEREREREREREREREVEMTMneASIiIiIiIiIiIiIiIkofTC4RERERERERERERERFRzJhcIiIiIiIiIiIiIiIiopgxuUREREREREREREREREQxY3KJiIiIiIiIiIiIiIiIYsbkEhEREREREREREREREcWMySUiIiIiIiIiIiIiIiKKGZNLREREREREREREREREFDMml4iIiIiIiIiIiIiIiChmTC4RERERERERERERERFRzJhcIiIiIiIiIiIiIiIiopgxuUREREREREREREREREQxY3KJiIiIiIiIiIiIiIiIYsbkEhEREREREREREREREcWMySUiIiIiIiIiIiIiIiKKGZNLREREREREREREREREFDMml4iIiIiIiIiIiIiIiChmTC4RERERERERERERERFRzJhcIiIiIiIiIiIiIiIiopgxuUREREREREREREREREQxY3KJiIiIiIiIiIiIiIiIYsbkEhEREREREREREREREcWMySUiIiIiIiIiIiIiIiKKGZNLREREREREREREREREFDMml4iIiIiIiIiIiIiIiChmTC4RERERERERERERERFRzJhcIiIiIiIiIiIiIiIiopgxuUREREREREREREREREQxY3KJiIiIiIiIiIiIiIiIYsbkEhEREREREREREREREcWMySUiIiIiIiIiIiIiIiKKGZNLREREREREREREREREFDMml4iIiIiIiIiIiIiIiChmTC4RERERERERERERERFRzJhcIiIiIiIiIiIiIiIiopgxuUREREREREREREREREQxY3KJiIiIiIiIiIiIiIiIYsbkEhEREREREREREREREcWMySUiIiIiIiIiIiIiIiKKGZNLREREREREREREREREFDMml4iIiIiIiIiIiIiIiChmTC4RERERERERERERERFRzJhcIiIiIiIiIiIiIiIiopgxuUREREREREREREREREQxY3KJiIiIiIiIiIiIiIiIYsbkEhEREREREREREREREcWMySUiIiIiIiIiIiIiIiKKGZNLREREREREREREREREFDMml4iIiIiIiIiIiIiIiChmTC4REXWQK664AkII4zRy5Mhk7xIRERERERG1QmRMJ4TAkiVLkr1LREREKcGS7B0gouyzcuVKrFy50jhfUFCAqVOnduhjbtmypVEQMHXqVBQUFHTo41L83XfffVHnzz33XJx44olJ2RciIiIiIiJKTQsXLkRFRYVxfuTIkZz0SUQUR0wuEVHCrVy5En/4wx+M8717905IcinyMQFVWcTkUvpp+Hfs06cPk0tEREREREQUZeHChfjpp5+iLmNyiYgoftgWj4iIiIiIiIiIiIiIiGLG5BIRERERERERERERERHFjMklIkqYK664AkKIRm3Nfvrpp5gWSd25cyfuu+8+DBs2DJ07d4bNZkN+fj6OOeYYXHvttVi7dm2j2yxZsgRCCIwaNarRdX379o16zCuuuMK4bsuWLVi0aBEmTZqEQYMGoU+fPnC5XLBarSgqKsJJJ52E3/72t1i3bl27X5dYff7555g6dSoGDRqETp06wWazoXPnzjjuuONw7bXX4q233mrydlJKvPHGG7j44ovRr18/aJoGu92Obt264fTTT8fChQtRVVXV5G1XrlzZ6G+zZcuWRtv16dMnapuG6yI1dz+7du3CzTffjMMPPxwOhwOdOnXCOeecg48//jjq9lu2bDFu19CkSZOi7rdPnz5R13/77beYOnUqTjrpJBQWFsJqtSI/Px/9+vXDyJEjcdttt+Hll19GdXV18y8+EREREVEzmjoWDgQCeOqpp3DKKacgPz8feXl5+L//+z8sWrQIwWCwXY+3Y8cO3HDDDejduzfsdju6d++OSy+9FF9++SUAxBRb6ZYtW4bLLrsMRxxxBDRNg8PhQM+ePXH++efjlVdegZSyydvpcVbkCQC+++47XHXVVejVqxfsdjtKSkrwm9/8Bt98880hn1MgEMDLL7+MX/3qV+jbty/y8vKQk5ODvn374uKLL8by5csPefv169fjuuuuw3HHHQeXywWLxYKioiIceeSROP300zFjxgy89tpr8Pv9h7yfWHm9XsydOxcnnnginE4nCgoK8Itf/AKvvfZao21Hjx4d9TpdeeWVTd6nz+dDcXFx1LZPP/10m/bvxx9/xO9+9zuceuqp6NKlC2w2G4qKijBgwABcdtll+Otf/9rsbVetWoWrrroKAwYMQH5+Pmw2G7p06YIRI0Zg5syZ2Lt3b5O3i4zZ9FPkWsu6kSNHNhuHH+p+Kisrcffdd+Poo49GTk4OCgoKMHr0aCxbtqzRY+i3a9gS7w9/+EOT71vdjh07MGPGDAwZMsSIuTVNQ9++fXHqqafixhtvxAsvvID9+/c3+/oREWUVSUSUIBMnTpQAYjo999xzUbddvHixtNvtLd7uN7/5jXS73cbtnnvuuZgfc+LEicbtFixYENNthBDylltuien5jhgxok2vm8fjkVdeeWWL+3LCCSc0uu22bdvkKaec0uJtO3XqJJctW9bo9itWrGi0bVlZWaPtevfuHbXNvffe2+L9PPPMM9LlcjW5PzabTb7zzjvG7cvKymL+O/bu3du43T//+U9ps9liut3atWvb9PchIiIiouzW8Fj4pptuksOGDYsp7mitjz/+WBYWFjZ7DP3KK6+0GFtJKeXOnTvlyJEjWzxGHjZsmNy1a1ej2zcVZ/3lL39p9tjb5XLJjRs3NvmcvvnmG3n88ce3uC/nnXeerKqqanT7RYsWSSFETMf8TT2XljS8jwULFsiBAwc2+xg33XRT1O1fe+21qOtzc3NlZWVlo8dZunRpTNsdis/nk3feeac0mUyHfB3y8/Mb3fbAgQPynHPOafE1zMvLk88//3yj2zcVs61YsaLRdiNGjDjk56Gp+1m4cKEsLS1tcn+EEPLPf/5z1H3EGjsC4WHRDz74oNn4tOHppZdeatXfhYgoU7FyiYhS3uLFizF58mTU19e3uO1LL72ECy+8EIFAIAF7BkgpMX/+fPz5z3/ukPv3+/04//zz8eyzz7b6tgcOHMDo0aPx4Ycftrjtvn37cPbZZzc5s6yjXHPNNc1WTHm9Xlx77bXt+jt6vV5cc8018Hq9bb4PIiIiIqLWevTRR7FmzZpmr3/++efx3nvvtfp+9+3bh3POOQcHDx5s8nqv14uLL764xfuprKzE6NGjYzr2X7NmDcaOHRtTlf9ll13W7LF3VVUVpkyZ0ujyrVu3YuTIkfj8889bvP9XX30VF1xwQVSMUF5ejltvvbXZCquOMGPGDKxfv77Z6xctWoQnn3zSOH/22Wejb9++xvmamhq8+OKLjW738ssvR52/4IIL4HK5WrVv1157LWbPnt3q6rj6+nqcffbZeP3111vctrq6GhMnTmzyOXSUadOmYefOnU1eJ6XEzTffjMrKynY9xnXXXddsfEpERE1jcomIEubhhx9GWVkZbr755qjLu3fvjrKysqjTBRdcAADYvn07brvttqjtCwoK8NRTT+Gzzz7D0qVLcfLJJ0ddv2zZMrzwwgsA1AF5WVkZXnrppUb7s3r16qjHfPjhh43rbDYbfvGLX2D+/PlYunQp/ve//+H777/HJ598gv/3//4fjjnmmKj7mjt3bttfmEN48skn8Z///CfqspKSEixatAgbN27Et99+i7feegvXXnstcnJyora755578N1330Vddt555+G9997Dhg0b8Mc//hEWi8W4zufz4Zprrolbq4iWSClx8cUXY926dfjggw8wYsSIqOt/+uknIzHWo0cP4+/U0Ny5c6P+jnog/+WXX+LAgQPGdkVFRXjxxRfx1Vdf4dtvv8Xq1avx1FNP4dJLL0VRUVEHPlMiIiIiyiZSShx++OH497//jS+++KJRW3AAh2xL1pw5c+Zg9+7dUZedffbZWLt2Lb788kvcc889MR3L33vvvdi0aZNxXtM0zJ8/H5988gm+/PJLPPXUUygsLDSu//zzzzFnzpwW71dKialTp+Kzzz7De++91yhmWrNmDbZt2xZ12U033YTy8nLjfLdu3fD000/js88+w8aNGzF37lzY7Xbj+v/85z94/vnnjfMffvghfD6fcb5Pnz547bXXsGnTJmzatAkrVqzAokWLMGHCBDidzhafQyxqamowdOhQLFu2DJ9++ikeeugh2Gy2qG1mzJiB2tpaAIDJZGqUWPvTn/4Udd7r9TZqqXfVVVe1ar/efPNNPPfcc1GXaZqGBx54AOvXr8d3332Hd999F7feeisKCgqitnv00UfxwQcfRF02fPhwLFu2DJ999hkeffRR5OXlRV0/ZcoUVFRUtGof20pKidNPPx2rV6/GunXrcOGFF0Zd7/F4ohJjemzYvXv3qO1uvvnmRmMPgJqYqbeVBAC73Y7HH38cX3zxBb777jusXbsWzz33HK6++mqUlpZ24DMlIkozSayaIqIsde+990aVlEe2MWvo/vvvb1SC/u6770Zt43a7ZadOnaK2+dnPfha1Tazt3WK1fv36RvdXXl4etU082uIdccQRUfdRWFjY7H4fPHjQ+H9dXZ3Mzc2Nuu3w4cMb3WbWrFmNnsdbb71lXN+RbfGGDh0qg8Ggsc2ePXsabfPYY481eqyG2zTV5kNK1TIkcrszzjijye2klNLr9cra2tpmryciIiIiak7DY2GTySS//vrrqG3Gjx8ftc3AgQNb/Thdu3aNuo/DDjtM+ny+qG1uuOGGQx4vNxUnvPLKK40e65lnnonapnPnzlHH7k21xbvoooui7mPdunWNtnnzzTeN67dt29bo+v/973+N9uXuu++O2ubkk082rvv73/8edd3111/f7OtXU1PT6PWKRcN97Nq1q6ypqYnaZt68eY22+8c//mFcX1FRIfPy8pp9rq+//nrUdUcccUSr9/O0006Lug+r1SrXrVvX5LaRsaOUUh522GFRt+3bt6/0er1R27z00kuNnuPjjz9uXN+RbfF69+4t6+vrjW28Xq8sKCiI2ua2225r9Fgtxam63bt3R203YMCAqPd7pEAgID0eT5PXERFlG1YuEVFKW7VqVdT5ww8/HKNHj466zOl0Nmr/sH79etTU1LTrsTdv3owZM2Zg+PDh6NatG3JycoxFPwcOHNho++3bt7fr8RrasWMHvv/++6jLrr32WvTp06fJ7SNnn61bt67R87/mmmsa3ea6665rdNn777/f+p1tg8mTJ0ctoNq5c2cUFxdHbdNcy49Y6Au96pYtW4bhw4fjtttuw9NPP41Vq1YZrROsViscDkebH4uIiIiISPeLX/wCAwYMiLqsf//+Uedbe5z7008/NapauuKKK6I6EQDA1Vdffcj7aSpOuvDCC404Rz81vJ+9e/dGVTs1pWF1TsPnDEQ/74axHgD87Gc/a7QvM2fOjNrm008/hcfjAQCcdNJJUTHF008/jbFjx+LOO+/Es88+iw8//NB4vjk5OY1er7b4zW9+06hrRFNVRh999JHx//z8fFx++eVR10dWL/3973+Pum7SpEmt2qdgMNgojjv//PObjFuB6Nhx+/bt+PHHHxs9vtVqjbrsV7/6VVRFG5C42PGaa66Jqg6zWq04/PDDo7ZpT+zYpUsX9OzZ0zi/adMmnHzyybj55puxePFivPvuu9i7dy8AVYnWsIqLiChbMblERCmtYV/lww47rMntGl4eDAYbBV+t8fTTT6N///548MEHsWbNGpSXl6Ouru6Qt9EDnHhpqqd0wxaArbltw4NvACgsLGzUEqG5Xtbx1lSw2TBIa0+LPqfTiQceeCDqsjVr1mDevHm47rrrMHLkSBQVFeGUU05p1N+ciIiIiKitOuI4N7J1nK6p4/umLou0Y8eOVj1upF27dh3y+obPu+FzBqKfd1v3JTLW69evH2688cao6/7zn/9gzpw5uOqqq3DqqaeioKAAp512Gt599902PV5Dkesn6fLz8xslXhr+zW666aaoRNhLL70Ej8eDurq6qJZuZrMZEydObNU+7d+/v9EaxfGOHU0mE3r37t3ibTtCR8eOADB//nyYzWbj/KeffopFixZhypQpOO2009ClSxeceOKJeOqpp1q9phURUaZicomIqIGvv/4av/3tb1t9cCoTuIhsMkUuoKvbv39/q++nYZUSgKiD+XiYNm0aVqxYgQsuuKBRsAeo4HPt2rX49a9/jfnz58f1sYmIiIgoOyXiOBdAVKIiEfQ1hJrT8Hl3xHNual8eeeQRvPrqqzjzzDObXFfJ5/Ph3Xffxemnn45//vOfHbZPLenfvz9OO+0047zH48FLL72Et99+G26327h83LhxGbOuT1Ox4759+1p9P4n4TF1wwQVYt24dJk6ciK5duza5zWeffYbrr78eU6dOjetjExGlq/bXAxMRdaDS0tKo9gubN29ucruGZfwmk6nZA8KWvPLKK1EHwSaTCdOnT8cvf/lLdOrUCWazGZs3b8aYMWPadP+xaiqg2LBhQ6PFS2O97ebNm3HKKadEXXbgwIFGi7B269bN+H9TbSMattHYuXNn3Ku24mnkyJEYOXIkANXyYfPmzfjmm2/w8ssv47///a+x3QMPPICpU6fCZOK8CyIiIiJKLSUlJY0u27JlS6PLmouXdE3FCUuXLsXRRx/d4j60Nb6KdV+EEPjkk08adVZoSvfu3aPOn3vuuTj33HMRDAbx008/YfPmzdi0aROef/55bNiwAYCaDDhz5kxMmDChXftdVlbW6LKKiopGbdma+pvddNNN+M9//mOcf/rpp9GvX7+oba688spW71NxcTHsdntU9ZL+vFvSXOzYkP7aRmpt7Oj1ehvdRyr5v//7PyxZsgQAsHv3bvzwww/47rvvsHTp0qjE5OOPP4777rsPRUVFSdpTIqLUwBE0Ikq4yF7JwKFnwI0YMSLq/I8//tionYHH48GLL74YddnJJ5+M3NzcZh/zUI/bsD3DscceiwcffBCDBw/G4Ycfjj59+uDTTz9tdp/jpXv37jjiiCOiLvvTn/6ErVu3Nrl9ZJJo0KBBjdoEPP30041u09RlP//5z43/NxXYNey1vnjx4ib3p6M07P3d3N8xEAg0ao3Yo0cPjBgxAtddd12jWYsHDhzAnj174ruzRERERERx0Lt370bJir/85S+N2nM988wzh7yfQYMGRcVJAPDvf/8bffr0afYkhMCmTZuabHPXHg1jPSkl3n777UPuS3V1NbZu3WrEBDU1NcY6qoCaGNi3b1+MGTMGN954Y6PXo6V1o2Lx0ksvNYpBnn322UbbDR48uNFlZ555ZlSMt379+qi4pEuXLjjrrLNavU8mkykqjgOAf/3rX83GrZGxY48ePRq1mX/uuefg8/miLnv55ZcbJdBaGzs+//zzCZ2Y2Jqxh4Yt/rp27YpTTz0VkyZNwj/+8Q/k5+cb1wUCAXz33Xfx3VkiojTE5BIRJVznzp2jzu/ZswdPPfUUvvvuO2zZsiVqBt6kSZPgcDiitr/wwgvxpz/9CV988QXefvttjBw5slFbtt/+9reHfEwAWLhwIb766ivjMfU1lRpu+/XXX2PhwoX4+uuv8b///Q+/+93v8Lvf/a7Vz7stIvuHAyoBMmTIECxevBiff/45vvvuOyxfvhw333wzxo8fb2xnt9sbzXhbs2YNzj//fKxYsQKffvopHnjgAfz+97+P2ubwww/H6aefbpw/8sgjG73+06ZNwxtvvIGvv/4as2bNwpw5c+L1dGPS8O/zwgsvYN26dcbfUQ+Uamtr0aNHD4wbNw7z5s3D8uXL8dVXX+GHH37ABx980Oi1BcCFWYmIiIgoZV122WVR57/++mucc845WLlyJb766ivcd999ePLJJw95H3a7HVdddVXUZU8//TQuuOACvPXWW/j666/x9ddfY/ny5XjooYcwYsQIHHbYYfj73/8e9+fTs2dPnH322VGX3X333bjmmmvw7rvv4ttvv8WXX36Jt956C/fffz8GDRqEY489Nqr7wI8//ohu3brh/PPPx2OPPYYVK1Zg06ZN+P7777FixQrcddddUfffVNu81tq9ezdGjx6Nd955B5999hnmzp3b6HEKCwuj4jOdEAJTpkyJuiwyiXP55Zc3mkwXq4bxjc/nw6hRozB79mx88skn+OGHH7Bq1SrMmDGj0XpMN9xwQ9T5srIy4zl+/vnnWLx4Ma6++uqobQoKCnDxxRcb551OZ6P1qB544AG8+OKL2LRpE5588klMmzatTc+trRrGjq+++ipWr16NsrIybNmyJapF34knnogRI0bgwQcfxFtvvYUvvvgCmzdvxrp163DLLbdEJTGB+LyXiIjSniQiSrAvvvhCAjjkKdKiRYta3D7yNHbsWOn3+6PuIxAIyM6dOx/yditWrJBSSrlu3boWH6Nbt27N3l43ceLEqOtHjBjR6tfK6/XK0aNHx/S8TzjhhKjb7t+/Xx5xxBExv25Wq7XRc5BSyksuuaTF2wohos7fe++9UfexYsWKRrcpKytr9Fi9e/c+5P1IKeWECRMOuS/6bdxud6veN235+xARERERxXIMe++990Zt07t371Y/zr59+2TXrl0PeUybk5PT6LLnnnsu6n4OHDgg+/fv36pj5YkTJ0bdx3PPPXfIGE7X0r6UlZW1+JyaO96XMrbY8lDPIxYN78NisbT4OIsXL272/qqqqqSmaU3e7uuvv271/kW6/PLLY3od8vPzo25XV1cnTznllFa9ln/5y18aPf6MGTNavF3D2LHh36SsrKzRbZqKU0eMGNHi3/bWW2+N+f1QXFwc83Pv27evDAQCbfgLERFlFlYuEVHCHXvssTjnnHNi3v7GG2/EY489Brvd3uK2F110Ef7xj380WtzTZDI1mk3WnIEDB2L69OnNXt+rV69Gbfg6itVqxWuvvYbLL7+81bctKirCe++9h6FDh7a4badOnfD6668baxNFmj17drMLygohMHPmTPTq1avV+9dWd9xxR5tn8zWnd+/e+NOf/hTX+yQiIiIiiqfi4mK8/vrrza5JlJOTg7/97W+NLm8YRxUWFuK///0vfvGLX8T0uEII9OjRo9X7G4s+ffpg1apVOPHEE2Pa3mw2R63z0xonnHAC5s6d26bbRvrDH/6A/v37N3v9b3/720aVQJE0TcOkSZMaXT506FAMGDCgXfv25z//Gbfddlur15G12+148803G1WSNSU3NxfPP/88LrnkkkbX3XnnnTjmmGOave3111+PYcOGtWrf2mPKlClwuVxxvc+ioiL89a9/5Vq9RERgWzwiSpKXX34Zf/jDH3Dcccc16vndlMmTJ2Pz5s245557cMopp6C4uBgWiwWapmHAgAG4+uqr8cEHH+Cll15qtjx92rRp+Mtf/oLhw4cjPz8fQohmH2/27Nl45ZVX8POf/xyapsHhcOCII47A7bffjo0bNzYq9+9ITqcTzz//PD799FPcdNNNOOmkk1BYWAiLxYLi4mIce+yxuOaaa/Dggw82um3Pnj2xZs0avPbaa7jooovQt29f5Obmwmq1omvXrhgzZgzmz5+PzZs344wzzmjy8Xv06IH//e9/uPbaa9GjRw/jthMmTMCHH36IGTNmdPRLEOVnP/sZ3n//fZx77rno2rVro0SiLi8vD//73/+wYMECXHDBBTj++OPRrVs3WK1W2O12dO/eHaeffjoeeeQRfPXVV43WtyIiIiIiSjU/+9nP8OWXX+K6665Dz549YbPZUFpaiksvvRSffvppk0mPLl26NLqsW7dueO+997B8+XJMmjQJAwYMgMvlgtlshsvlwoABA3DhhRfi0UcfRVlZGWbOnNlhz+moo47C+vXr8a9//QsXX3wx+vXrB6fTCbPZjIKCAhx//PG49NJL8cwzz2Dnzp247rrrjNv2798fq1evxuzZs3HOOefg2GOPRZcuXWCxWJCTk4PevXvjnHPOwbPPPot169Y12S69tUpLS7Fhwwbcf//9OPbYY5GbmwuXy4WRI0fin//8JxYvXnzIWBNQEygbbtOwXWFbWCwWzJ07F99++y2mT5+OoUOHori4GFarFQUFBejfvz8uvfRSPP74441uW1hYiNdffx3//e9/MWnSJBx11FHQNA0WiwWdOnXC8OHDcf/996OsrKzZyY9OpxNr1qzBbbfdhsMOOww2mw3FxcUYN24c3nrrLTzxxBMJTcr06dMHH330ES6++GJ07979kJMUV61ahSeeeAKXXHIJTjrpJPTo0QN2ux02mw1du3bFiBEj8MADD+C7777DkCFDEvYciIhSmZBSymTvBBERERERERERtc/MmTOj1lW1WCzYt28f8vPzk7hX1FBtbS26dOkCj8cDQE2MKy8v5zo+RESUVizJ3gEiIiIiIiIiImrZzJkzUVVVhQkTJuD//u//YLPZAAAHDhzACy+8gD/+8Y9R20+YMIGJpRTj9/txzz33GIklALj00kuZWCIiorTDyiUiIiIiIiIiojQwdepUPPLIIwBUVVJRURECgQD279/faNvS0lJ89NFH6NmzZ6J3k5pwySWX4KOPPsKePXuiEkt2ux2bNm1KaOt1IiKieGDlEhERERERERFRmvH7/dizZ0+T1w0aNAh/+ctfmFhKITt27MCPP/7Y6PJFixYxsURERGmJySUiIiIiIiIiojRwww03oKSkBO+//z5++OEH7N27Fx6PB06nEz179sTAgQNx4YUXYuzYsTCZTMneXWpG165dccIJJ+DOO+/EqFGjkr07REREbcK2eERERERERERERERERBQzTmMhIiIiIiIiIiIiIiKimLEtXjsEg0Hs3LkTmqZBCJHs3SEiIiJKKCkl3G43SktLU6b1Tl1dHbxeb1Ie22azweFwJOWxibIR4zEiIiLKVozFojEWSw4ml9ph586dXByTiIiIst62bdvQo0ePZO8G6urq0CsvD3uDwaQ8fklJCcrKyhjUECUI4zEiIiLKdozFFMZiycHkUjtomgZAfYhdLleS94aIiIgosaqqqtCzZ0/jmCjZvF4v9gaDWFVaCmeCZ+95gkGM2LkTXq+XAQ1RgjAeIyIiomzFWCyMsVjyMLnUDnrrBZfLxWCGiIiIslaqtaNyWkwJD2iQnAl6RFmN8RgRERFlO8ZiYCyWRKnRkJGIiIiIiIiIiIiIiIjSAiuXiIiIiCijCJOAMCV2Bp9Aas0YJCIiIiIiSjTGYtmFlUtEREREREREREREREQUMyaXiIiIiIiIiIiIiIiIKGZsi0dEREREmUWETol+TCIiIiIiomzGWCyrsHKJiIiIiIiIiIiIiIiIYsbKJSIiIiLKLCLxi8hCcrocERERERFlOcZiWYWVS0RERERERERERERERBQzJpeIiIiIiIiIiIiIiIgoZmyLR0RERESZxYTET6GSCX48IiIiIiKiVMNYLKuwcomIiIiIiIiIiIiIiIhixsolIiIiIsosnC1HRERERESUeIzFsgorl4iIiIiIiIiIiIiIiChmrFwiIiIioowihIAQIuGPSURERERElM0Yi2UXVi4RERERERERERERERFRzJhcIiIiIiIiIiIiIiIiopixLR4RERERZRYuIktERERERJR4jMWyCiuXiIiIiIiIiIiIiIiIKGasXCIiIiKijCJMAsKU4EVkJReRJSIiIiKi7MZYLLuwcomIiIiIiIiIiIiIiIhixuQSERERERERERERERERxYxt8YiIiIgos3ARWSIiIiIiosRjLJZVWLlEREREREREREREREREMWNyiYiIiIgyi0jSKUb33XcfhBBRp/79+xvX19XVYfLkySguLobT6cSECROwe/fuqPvYunUrxo8fj9zcXHTp0gW33347/H5/1DYrV67ESSedBLvdjn79+mHJkiWx7yQREREREVFrpXgsBgDvv/8+zj77bJSWlkIIgddee63RNps2bcI555yD/Px85OXlYdCgQdi6datxfbxitnTH5BIRERERUYIdc8wx2LVrl3Fas2aNcd20adPwxhtv4JVXXsGqVauwc+dOnH/++cb1gUAA48ePh9frxYcffojnn38eS5YswT333GNsU1ZWhvHjx2PUqFHYuHEjpk6diquvvhrvvPNOQp8nERERERFRKqmursYJJ5yAxYsXN3n95s2bMWzYMPTv3x8rV67E559/jt///vdwOBzGNvGI2TKBkFKyK2EbVVVVIT8/H5WVlXC5XMneHSIiIqKESrVjIX1/PjuxLzRzYudQuQNBnLCxLKbX4r777sNrr72GjRs3NrqusrISnTt3xl//+ldccMEFAIBvvvkGAwYMwNq1azFkyBC8/fbbOOuss7Bz50507doVAPDkk09i+vTp2Lt3L2w2G6ZPn46lS5fiyy+/NO77oosuQkVFBZYtWxa/J06URKn2HURERESUKKl2HJQusVhDQgi8+uqrOPfcc43LLrroIlitVrzwwgtN3iZeMVsmYOUSEREREVGcVFVVRZ3q6+ub3O77779HaWkpDjvsMFxyySVGi4UNGzbA5/NhzJgxxrb9+/dHr169sHbtWgDA2rVrcdxxxxlBCgCMHTsWVVVV+Oqrr4xtIu9D30a/DyIiIiIiokwSayx2KMFgEEuXLsWRRx6JsWPHokuXLhg8eHBU67x4xWyZgMklIiIiIqI46dmzJ/Lz843TrFmzGm0zePBgLFmyBMuWLcMTTzyBsrIyDB8+HG63G+Xl5bDZbCgoKIi6TdeuXVFeXg4AKC8vjwpS9Ov16w61TVVVFWpra+P1dImIiIiIiFJCLLFYS/bs2QOPx4PZs2fjjDPOwH/+8x+cd955OP/887Fq1SoAiFvMlgksyd4BIiIiIqK4MiHxU6hCjaa3bdsW1YrBbrc32nTcuHHG/48//ngMHjwYvXv3xssvv4ycnJwO31UiIiIiIqIOkeKxWEuCwSAA4Je//CWmTZsGADjxxBPx4Ycf4sknn8SIESPav78ZhJVLRERERERx4nK5ok6xBDQFBQU48sgj8cMPP6CkpARerxcVFRVR2+zevRslJSUAgJKSEuzevbvR9fp1h9rG5XIxgUVERERERBmnLbFYQ506dYLFYsHRRx8ddfmAAQOMVubxitkyAZNLRERERJRZhABMCT4J0ebd9Xg82Lx5M7p164aTTz4ZVqsV7733nnH9t99+i61bt2Lo0KEAgKFDh+KLL77Anj17jG2WL18Ol8tlBEFDhw6Nug99G/0+iIiIiIiI4i7NYrGGbDYbBg0ahG+//Tbq8u+++w69e/cGgLjFbJmAbfGIiIiIiBLotttuw9lnn43evXtj586duPfee2E2m/Gb3/wG+fn5uOqqq3DLLbegqKgILpcLN954I4YOHYohQ4YAAE4//XQcffTRuOyyy/DQQw+hvLwcd999NyZPnmzMzrv++uvx2GOP4Y477sCVV16J//73v3j55ZexdOnSZD51IiIiIiKipPJ4PPjhhx+M82VlZdi4cSOKiorQq1cv3H777fj1r3+Nn//85xg1ahSWLVuGN954AytXrgSAuMVsmYDJJSIiIiKiBNq+fTt+85vfYP/+/ejcuTOGDRuGjz76CJ07dwYALFiwACaTCRMmTEB9fT3Gjh2Lxx9/3Li92WzGm2++iRtuuAFDhw5FXl4eJk6ciPvvv9/Ypm/fvli6dCmmTZuGRx55BD169MAzzzyDsWPHJvz5EhERERERpYr169dj1KhRxvlbbrkFADBx4kQsWbIE5513Hp588knMmjULN910E4466ij885//xLBhw4zbxCNmywRCSimTvRPpqqqqCvn5+aisrIxaLIyIiIgoG6TasZC+P58POgyaJbHdn93+II5f92PKvBZE2SDVvoOIiIiIEiXVjoMYi2UnrrlEREREREREREREREREMWNbPCIiIiLKLAJxXdQ15sckIiIiIiLKZozFsgorl4iIiIiIiIiIiIiIiChmrFwiIiIioowiTOqU6MckIiIiIiLKZozFsgtfeiIiIiIiIiIiIiIiIooZk0tEREREREREREREREQUM7bFIyIiIqLMYkLip1BxyhYREREREWU7xmJZhS89ERERERERERERERERxYyVS0RERESUWUxCnRL9mERERERERNmMsVhWYeUSERERERERERERERERxYzJJSIiIiIiIiIiIiIiIooZ2+IRERERUUYRQp0S/ZhERERERETZjLFYdmHlEhEREREREREREREREcWMlUtERERElFm4iCwREREREVHiMRbLKqxcIiIiIiIiIiIiIiIiopgxuUREREREREREREREREQxY1s8IiIiIsoowqROiX5MIiIiIiKibMZYLLvwpSciIiIiIiIiIiIiIqKYsXKJiIiIiDKLCYmfQsUpW0RERERElO0Yi2UVvvREREREREREREREREQUM1YuEREREVFmEQIwicQ/JhERERERUTZjLJZVWLlEREREREREREREREREMWNyiYiIiIiIiIiIiIiIiGLGtnhERERElFGESHxnBHZiICIiIiKibMdYLLuwcomIiIiIiIiIiIiIiIhixsolIiIiIsospiQsIpvoxyMiIiIiIko1jMWyCiuXiIiIiIiIiIiIiIiIKGZMLhEREREREREREREREVHM2BaPiIiIiDKKMKlToh+TiIiIiIgomzEWyy586YmIiIiIiIiIiIiIiChmrFwiIiIiosxiQuKnUHHKFhERERERZTvGYlmFLz0RERERERERERERERHFjJVLRERERJRZhFCnRD8mERERERFRNmMsllVYuUREREREREREREREREQxY3KJiIiIiIiIiIiIiIiIYsa2eERERESUUYRJnRL9mERERERERNmMsVh24UtPREREREREREREREREMWPlEhERERFlFpNQp0Q/JhERERERUTZjLJZVWLlEREREREREREREREREMWNyiYiIiIiIiIiIiIiIiGLGtnhERERElFG4iCwREREREVHiMRbLLnzpiYiIiIiIiIiIiIiIKGasXCIiIiKizCJCp0Q/JhERERERUTZjLJZVWLlEREREREREREREREREMWPlEhERERFlFpNQp0Q/JhERERERUTZjLJZVWLlEREREREREREREREREMWNyiYiIiIiIiIiIiIiIiGLG5BK16P3338fZZ5+N0tJSCCHw2muvtXiblStX4qSTToLdbke/fv2wZMmSDt9PIiIiIgAQAhCmBJ/YiYGIOgBjMSIiIkonjMWyC5NL1KLq6mqccMIJWLx4cUzbl5WVYfz48Rg1ahQ2btyIqVOn4uqrr8Y777zTwXtKRERERESUORiLEREREVGqYnKJWjRu3DjMnDkT5513XkzbP/nkk+jbty/mzZuHAQMGYMqUKbjggguwYMECY5s+ffpg4cKFUbc78cQTcd999xnnhRB46qmncNZZZyE3NxcDBgzA2rVr8cMPP2DkyJHIy8vDKaecgs2bN8fjaRIREVGm0BeRTfSJiCjOGIsRERFRWmEsllWYXKK4W7t2LcaMGRN12dixY7F27dpW39cf//hHXH755di4cSP69++Piy++GNdddx3uuusurF+/HlJKTJkyJV67TkRERERElLYYixERERFRojC5RHFXXl6Orl27Rl3WtWtXVFVVoba2tlX3NWnSJPzqV7/CkUceienTp2PLli245JJLMHbsWAwYMAA333wzVq5cGce9JyIiIiIiSk+MxYiIiIgoUSzJ3gGiQzn++OON/+tB0nHHHRd1WV1dHaqqquByuRK+f0RERJR69IVdE/2YRESZhLEYERERtRZjsezCl57irqSkBLt37466bPfu3XC5XMjJyQEAmEwmSCmjtvH5fI3uy2q1Gv8XQjR7WTAYjM/OExERERERpSnGYkRERESUKKxcorgbOnQo3nrrrajLli9fjqFDhxrnO3fujF27dhnnq6qqUFZWlrB9JCIiogwmQqdEPyYRUZIxFiMiIqKkYiyWVVi5RC3yeDzYuHEjNm7cCAAoKyvDxo0bsXXrVgDAXXfdhcsvv9zY/vrrr8ePP/6IO+64A9988w0ef/xxvPzyy5g2bZqxzS9+8Qu88MILWL16Nb744gtMnDgRZrM5oc+LiIiIiIgolTEWIyIiIqJUxcolatH69esxatQo4/wtt9wCAJg4cSKWLFmCXbt2GcENAPTt2xdLly7FtGnT8Mgjj6BHjx545plnMHbsWGObu+66C2VlZTjrrLOQn5+PP/7xj5wtR0RERPFhEuqU6MckIoozxmJERESUVhiLZRUhGzZbpphVVVUhPz8flZWVXMCUiIiIsk6qHQvp+/P9ZcdAsyV2Fr7bG8ARL3yVMq8FUTZIte8gIiIiokRJteMgxmLZiW3xiIiIiIiIiIiIiIiIKGZsi5fl5s+fj6qqKrhcLqPFQiY+JhEREWUPYVKnRD8mEVFrMBYjIiKiTMNYLLuwLV47pFr5YVv06NEDO3bsQPfu3bF9+/aMfUwiIiKKv1Q7FtL354eJyWnF0O95tmIgSqRU+w5qLcZiRERE1FapdhzEWCw7sXKJiIiIiDILF5ElIiIiIiJKPMZiWYVFY0RERERERERERERERBQzJpeIiIiIiIiIiIiIiIgoZmyLRwCAXbt2oUePHgl7LCIiIqIOI0KnRD8mEVEbMBYjIiKijMFYLKswuUQAgGAwiB07diR7N4iIiIiIiLIKYzEiIiIiSkdMLmW5kpKSrHxsIiIiylzCJCASvKhroh+PiNIfYzEiIiLKNIzFsguTS1lu/fr1yd4FIiIiIiKirMNYjIiIiCjx3n//fcydOxcbNmzArl278Oqrr+Lcc89tctvrr78eTz31FBYsWICpU6calx84cAA33ngj3njjDZhMJkyYMAGPPPIInE6nsc3nn3+OyZMnY926dejcuTNuvPFG3HHHHR387BLLlOwdICIiIiKKK1OSTkRERERERNksDWKx6upqnHDCCVi8ePEht3v11Vfx0UcfobS0tNF1l1xyCb766issX74cb775Jt5//31ce+21xvVVVVU4/fTT0bt3b2zYsAFz587Ffffdh6effrp1O5viWLlEREREREREREREREQZb9y4cRg3btwht9mxYwduvPFGvPPOOxg/fnzUdZs2bcKyZcuwbt06DBw4EADw6KOP4swzz8TDDz+M0tJSvPjii/B6vXj22Wdhs9lwzDHHYOPGjZg/f35UEirdcY4lERERERERERERERGlraqqqqhTfX19m+4nGAzisssuw+23345jjjmm0fVr165FQUGBkVgCgDFjxsBkMuHjjz82tvn5z38Om81mbDN27Fh8++23OHjwYJv2KxUxuUREREREGUUIQJgSfOIaskRERERElOWSGYv17NkT+fn5xmnWrFlteg5z5syBxWLBTTfd1OT15eXl6NKlS9RlFosFRUVFKC8vN7bp2rVr1Db6eX2bTMC2eERERERERERERERElLa2bdsGl8tlnLfb7a2+jw0bNuCRRx7BJ598AsEZhC1icomIiIiIMotJqFOiH5OIiIiIiCibJTEWc7lcUcmltli9ejX27NmDXr16GZcFAgHceuutWLhwIbZs2YKSkhLs2bMn6nZ+vx8HDhxASUkJAKCkpAS7d++O2kY/r2+TCdgWj4iIiIiIiIiIiIiIstpll12Gzz//HBs3bjROpaWluP322/HOO+8AAIYOHYqKigps2LDBuN1///tfBINBDB482Njm/fff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LzX5iI2N1VNPPaV58+b1qv+9c+dOffOb39SDDz6oc845R4ceemjYrwkAAAAAexLzMQAA+i/K4gHAF9i5c6ckae7cuZ95buLEib1WyUmSx+PRHXfcEZrISNKsWbO0YMECBQIB3X333b2OP+644z4zIUpISNCtt96q2NhYPfPMM7vlPGJjY3XSSSd9prFsTk6ObrzxRknabe8FAAAAALsD8zEAAPovMpcA4Avst99+eu6557RgwQLdcMMNmjNnjmJjP/+jc8aMGZowYcJn9n/ve9/T73//e73++uufeW7Hjh1avHix1q9fr4aGhlC97fj4eG3cuHH3nYyk1atX64UXXtD27dvV1NQka618Pp8k7fb3AgAAAICvg/kYAAD9F8ElAPgCV155pd544w298sorOvzww+X1ejV79mzNmzdP8+fP/8wqt5EjR+7ydboaupaWlvbaf8stt+jqq69We3v7Hhl/l7a2Ns2fP1+LFi363GO6JjUAAAAA0B8wHwMAoP+iLB4AfIG0tDS99NJLev3113XVVVdp0qRJeumll3TppZdqwoQJX2t12YoVK3TFFVcoOTlZCxcu1LZt29TS0iJrray1nynx8HXccsstWrRokaZOnarnnntOFRUVamtrk7VWGzZskCRZa3fb+wEAAADA18V8DACA/ovMJQD4L4wxmjNnjubMmSNJqqys1KWXXqpFixbpV7/6lf75z3+Gjt2+ffsuX6Nr/9ChQ0P7nnrqKUnS7373O5199tm9jm9ublZ5efluO4eu91q0aJEmT57c67ktW7bstvcBAAAAgN2J+RgAAP0TmUsA8CXl5ubquuuukyStXbu213OrV6/e5eq5Rx99VJJCEyJJqq2tlSQNHz78M8c//vjju1y5Fh8fL0nq6Oj4UmP+ovfqORkDAAAAgP6M+RgAAP0DwSUA+AL33HOPtm7d+pn9zz77rCSpsLCw1/5AIKCLLrpITU1NoX2rVq3SnXfeKWOMLrjggtD+8ePHS5Luv//+XjW+P/roI/385z/f5Xi6Vtp1lU4IV9d73XPPPb32P/HEE3rooYe+1GsBAAAAQF9gPgYAQP9FWTwA+AL33HOPLrjgAk2aNEl77723YmNjtX79en3wwQdKTEzUtdde2+v4448/Xh988IHGjh2rQw89VPX19XrppZfU3t6ua665RjNnzgwd+8Mf/lB//OMftXjxYk2YMEGzZs1STU2NXn31VZ100kl6++23P1PWYdSoUZo2bZreffdd7b///po8ebJiYmJ04okn6sQTT/zc87jqqqu0dOlSXX311Xr88cc1fvx4bdy4Ue+++65+9rOf6eabb/5SP5eTTz5ZZWVlkrqb4t53331aunSpJKmgoCBU+gEAAAAAvgrmY7vGfAwA0B+QuQQAX+D666/XOeecI2OMXnzxRS1evFjNzc0677zztHr1ah188MG9js/OztaKFSs0d+5cvfzyy3rllVc0adIkPfDAA7r++us/c+w777yjM844Q21tbfrXv/6lHTt26Prrr9eiRYs+d0xPPvmkTjrpJG3ZskUPPfSQ7r//fr333ntfeB6HHnqo3njjDR1xxBHasmWLlixZovj4eD355JNasGDBl/65vP/++1q5cqVWrlyp4uJiSdKOHTtC+95///0v/ZoAAAAA0BPzsV1jPgYA6A+M3VURWQDAl/LKK6/o8MMP19lnn62FCxdGejgAAAAAMGgwHwMAoO+RuQQAAAAAAAAAAICwEVwCAAAAAAAAAABA2AguAQAAAAAAAAAAIGz0XAIAAAAAAAAAAEDYyFwCAAAAAAAAAABA2AguAQAAAAAAAAAAIGwElwAAAAAAAAAAABA2gksAAAAAAAAAAAAIG8ElAAAAAAAAAAAAhI3gEgAAAAAAAAAAAMJGcAkAAAAAAAAAAABhI7gEAAAAAAAAAACAsBFcAgAAAAAAAAAAQNgILgEAAAAAAAAAACBsBJcAAAAAAAAAAAAQNoJLAAAAAAAAAAAACBvBJQAAAAAAAAAAAISN4BIAAAAAAAAAAADCRnAJAAAAAAAAAAAAYSO4BAAAAAAAAAAAgLARXAIAAAAAAAAAAEDYCC4BAAAAAAAAAAAgbASXAAAAAAAAAAAAEDaCSwAAAAAAAAAAAAgbwSUAAAAAAAAAAACEjeASAAAAAAAAAAAAwkZwCQAAAAAAAAAAAGEjuAQAAAAAAAAAAICwEVwCAAAAAAAAAABA2AguAQAAAAAAAAAAIGwElwAAAAAAAAAAABA2gksAAAAAAAAAAAAIG8ElAAAAAAAAAAAAhI3gEgAAAAAAAAAAAMJGcAkAAAAAAAAAAABhI7gEAAAAAAAAAACAsBFcAgAAAAAAAAAAQNgILgEAAAAAAAAAACBsBJcAAAAAAAAAAAAQNoJLAAAAAAAAAAAACBvBJQAAAAAAAAAAAISN4BIAAAAAAAAAAADCRnAJAAAAAAAAAAAAYSO4BAAAAAAAAAAAgLARXAIAAAAAAAAAAEDYCC4BAAAAAAAAAAAgbASXAAAAAAAAAAAAEDaCSwAAAAAAAAAAAAgbwSUAAAAAAAAAAACEjeASAAAAAAAAAAAAwkZwCQAAAAAAAAAAAGEjuAQAAAAAAAAAAICw/X9ptH7GxBzGMAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ms_data.plt.spatial_scatter(\n", " scope=slice_generator[:],\n", " mode='integrate',\n", " plotting_scale_width=2, # the width of scale\n", " reorganize_coordinate=8, # the number of plots in each row \n", " # horizontal_offset_additional=200, # adjustment for horizontal distance\n", " # vertical_offset_additional=500 # adjustment for vertical distance\n", " )" ] }, { "cell_type": "markdown", "id": "8e4d1d92-dfce-4aa7-9861-09384236f7a1", "metadata": {}, "source": [ "
\n", "\n", "**Note**\n", "\n", "Demo datasets used here are all elaborately processed beforehand, so that filtering and normalization will not be performed in this tutorial.\n", "\n", "
" ] }, { "cell_type": "markdown", "id": "1ca3713d", "metadata": {}, "source": [ "## Cell clustering " ] }, { "cell_type": "markdown", "id": "67b6ff94-36ca-484e-bf7b-933b0a061832", "metadata": {}, "source": [ "Before proceeding with the cell-cell communication analysis, make sure to perform the necessary cell clustering analysis if it hasn't been completed yet." ] }, { "cell_type": "code", "execution_count": 9, "id": "69001622-de54-4522-8391-52ad3564634b", "metadata": { "ExecuteTime": { "end_time": "2023-04-03T08:10:59.702174Z", "start_time": "2023-04-03T08:08:37.140791Z" }, "execution": { "iopub.execute_input": "2023-11-13T08:10:57.913705Z", "iopub.status.busy": "2023-11-13T08:10:57.913400Z", "iopub.status.idle": "2023-11-13T08:16:19.308646Z", "shell.execute_reply": "2023-11-13T08:16:19.307200Z", "shell.execute_reply.started": "2023-11-13T08:10:57.913673Z" }, "tags": [] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[2023-11-13 16:10:57][Stereo][15833][MainThread][139891007416128][ms_pipeline][131][INFO]: data_obj(idx=0) in ms_data start to run pca\n", "[2023-11-13 16:10:57][Stereo][15833][MainThread][139891007416128][st_pipeline][41][INFO]: start to run pca...\n", "[2023-11-13 16:10:57][Stereo][15833][MainThread][139891007416128][dim_reduce][78][WARNING]: svd_solver: auto can not be used with sparse input.\n", "Use \"arpack\" (the default) instead.\n", "[2023-11-13 16:11:15][Stereo][15833][MainThread][139891007416128][st_pipeline][44][INFO]: pca end, consume time 17.4799s.\n", "[2023-11-13 16:11:15][Stereo][15833][MainThread][139891007416128][ms_pipeline][131][INFO]: data_obj(idx=0) in ms_data start to run neighbors\n", "[2023-11-13 16:11:15][Stereo][15833][MainThread][139891007416128][st_pipeline][41][INFO]: start to run neighbors...\n", "[2023-11-13 16:15:33][Stereo][15833][MainThread][139891007416128][st_pipeline][44][INFO]: neighbors end, consume time 258.4044s.\n", "[2023-11-13 16:15:33][Stereo][15833][MainThread][139891007416128][ms_pipeline][131][INFO]: data_obj(idx=0) in ms_data start to run leiden\n", "[2023-11-13 16:15:33][Stereo][15833][MainThread][139891007416128][st_pipeline][41][INFO]: start to run leiden...\n", "[2023-11-13 16:16:19][Stereo][15833][MainThread][139891007416128][st_pipeline][44][INFO]: leiden end, consume time 45.4781s.\n" ] } ], "source": [ "# clustering\n", "ms_data.tl.pca(scope=slice_generator[:],mode='integrate', use_highly_genes=False, n_pcs=30, res_key='pca')\n", "ms_data.tl.neighbors(scope=slice_generator[:],mode='integrate', pca_res_key='pca', res_key='neighbors')\n", "ms_data.tl.leiden(scope=slice_generator[:],mode='integrate', neighbors_res_key='neighbors', res_key='leiden')" ] }, { "cell_type": "code", "execution_count": 10, "id": "34b354be-a734-4795-b390-894fca347193", "metadata": { "execution": { "iopub.execute_input": "2023-11-13T08:16:19.311887Z", "iopub.status.busy": "2023-11-13T08:16:19.310706Z", "iopub.status.idle": "2023-11-13T08:16:21.195274Z", "shell.execute_reply": "2023-11-13T08:16:21.194114Z", "shell.execute_reply.started": "2023-11-13T08:16:19.311847Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[2023-11-13 16:16:19][Stereo][15833][MainThread][139891007416128][ms_pipeline][131][INFO]: data_obj(idx=0) in ms_data start to run cluster_scatter\n" ] }, { "data": {}, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.holoviews_exec.v0+json": "", "text/html": [ "
\n", "
\n", "
\n", "" ], "text/plain": [ "Column\n", " [0] Markdown(str)\n", " [1] Row\n", " [0] TextInput(name='file name', placeholder='Enter a file name...', width=200)\n", " [1] Select(name='file format', options=['png', 'pdf'], value='png', width=60)\n", " [2] IntInput(name='dpi', placeholder='Enter the dip...', start=0, value=100, width=200)\n", " [2] Row\n", " [0] Button(button_type='primary', name='export', width=100)\n", " [1] StaticText(width=800)" ] }, "execution_count": 10, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "1013" } }, "output_type": "execute_result" }, { "data": { "image/png": "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iCjIMSkgIiIi0qmODhv+73Azlv/+z0j+7zew/Pd/xv8dbkZHh82j533qqadwxx13IDQ0FGFhYUhOTsZ7773npb32jM1mQ1NTE15++WW88MILePnll9HU1ASbzbNjBoDW1lZkZmbiK1/5Cm688UbceeedePfdd72w1/5vsK93gIiIiIhcdXTYsOZ/DuP1v7Uot539VzsaP/oYB947h3U/nIJBgwx9eu433ngDK1aswB133IGrV6/il7/8Jb7//e/jb3/7G0JCQrx1CL1ms9nw2muv4cMPP1Rua2trw5kzZ3Dy5El873vfg8HQt2MGgNTUVPz1r3/Ftm3bEBERge3bt+Pee+/F3/72NxiNRm8cgt8y2LyRdunQ5cuXMXz4cFy6dAnDhg3z9e4QERFRAOuPuOP/Djcjb/dfOt2eM/9buH9KhFf+1vnz5xEWFoY33ngDM2bM8Mpz9kVTUxP27dvX6faZM2diwoQJfXruTz/9FKGhoaioqIDJZFJuj42Nxf3334/169f36XkDBcuHiIiIiHSosv60R9t749KlSwCAESNGeO05+6K7EiZPSpyuXr2Ka9euYciQIZrbb7zxRhw4cKDPzxsomBQQERER6dCZS592uf3spXav/J2Ojg5kZmbirrvuwje/+U2vPGdftba2drm9ra2tz88dGhqKadOmYd26dWhubsa1a9ewfft2HDx4EGfOnOnz8wYKJgVEREREOjRm+I1dbh89fEiX23tqxYoV+Otf/4qdO3d65fk8ERoa2uX2oUOHevT827Ztg81mg9FoxJe+9CVs3LgRZrMZgwYxJOYrQERERKRDibGRHm3vicceewxVVVXYu3cvIiM9fz5P3X777R5t787XvvY1vPHGG2hra8OpU6fw5z//GV988QXGjx/v0fMGAiYFRERERDo051tj8L1J4W63fW9SOOZ8a0yfn9tms+Gxxx7DSy+9hNdffx233nprn5/Lm77+9a93GqCPHz8eX//6173yd0JCQjBmzBh8/PHHqKmpQVJSklee159x9iEiIiIiD/VX3NHRYUPNX86gsv40zl5qx+jhQ5AYG4k53xrT5+lIAeDf/u3f8MILL6CiokLT+j58+HDceGPXZUv9zWaz4f3338d7772HtrY2DB06FLfffju+/vWvezQdKQDU1NTAZrPh9ttvxwcffIAnnngCQ4YMwZtvvonr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fujrXSAiIqIgctPIiC6TgptGjunzc48ZMwbf+MY3NLdNnDgRu3bt6vNzesX1N3WdFFx/U7/vQkhICG677TbcdtttiI+Px9e//nVs2bIFq1ev7ve/7UscU9BLn332GT777DNf7wYREREFuK/d80OPtnflrrvuwnvvvae5rampCV/5ylf6/JxeMfxrnm3vBx0dHUER+zEp6IE9e/Zg7ty5uPnmm3HTTTfhpptuws0334y5c+fitdf61m1HRERE1JWvTp+HsfH3ud02Nv4+fHX6vD4/989+9jPU1tbiP/7jP/DBBx/ghRdeQElJCVasWNHn5/SK0K+KWYbcGTpWbPdAW1sbDh06hEOHDgEQlSCHDh3CyZMnceXKFfzyl79EbW0tPvroI9TX1+Phhx+G1WrFj370I4/+rj/gmIJuPP/880hNTcUPf/hDzJkzB+Hh4QCAlpYW/L//9//wv//7v9iyZQsWL17srV0nIiIiP9NfU6Fr1yk4g5tGjvHKOgWAGFC7evVqvP/++7j11lvx85//HI888oiX9rzv+nOdgn379mHWrFkuty9ZsgS/+93v8OMf/xjvvPMOLly4gFtuuQV33HEH1qxZgzvuuMOjv+sPmBR0Y8KECcjIyOg0c/7tb3+L//7v/8b777/f579BRERE/m2g1kci6i8sH+rGyZMnce+993a6/Xvf+x4XJSMiIiIiv8akoBuTJk3Cli1bOt3++9//3mX0PhERERGRP+GUpN149tlnkZCQgFdffRX33nuvZkzBn/70J5w4cQLV1dU+3ksiIiIior5jUtCNmTNn4q9//Ss2b96M2tpanD17FoBYofj+++/Ho48+iq9+9au+3UkiIiIiIg9woDERERGRhxh3kL/jmAIiIiIioiDHpMBDS5YswT333OPr3SAiIiIi6jOOKfBQREQEBnm4eAgRERERkS9xTAERERGRhxh3kL9jE7eHTp06hYcfftjXu0FERERE1GdMCjx08eJFPP/88/3y3PE5NbCkTIQlZWK/PL/exOfUID6nxte74VNW41hYjWMBBN/5l9THHIzHL8n3QzC+L+Q5l8dua7L4eI8GVnxOjeazINhYUibar/k4X+9KQPvqV78Kg8Hg8m/FihW+3rV+tX//fsybNw8REREwGAwoLy/v9L6PPvooDAYDCgsLB2z/fIljCrpRWVnZ5fYTJ07029/O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myXlCsw4AYt5vCZRlL1g03Yc1Rz3+oqjmoHGamExGxE7srqfjoLI/zEpIKKAoQT7TgPtzWUhyixE/kQbvKoTe+1aBnKsgWPmrUxlu1y7YEFqqX0ud/0HxGo9m440UimnMU88jnjbqy4DjSWRGHh1F71u6aHzMMcchyUlCrVlomVcPc2mnFbXXHYMlnITlh46j4S61ViQWqr0mIjegmTHwl46GljdFbmGjnqhsdBVe5RpW4uTMlG9NB3qMTdq6hm39l33Jcy89pkYc1EWAjOYEBB1hWMKiIgCjKy9dscfWsk9IQbmhijBpVzFGvDXMjpRQiPHQqinXK7Nm4PipO3KYm/7rvsSnq8/DWPOTAD2dRmUcTey10Bng8udyLVlGl8+CAAoOZmOtHHFAKAMEK5qOI0x404qj5HjT2RPEOB4vZSVrAfgumfcQf6OSQERUYBSlx8FejIgWVImInTVHsTMmwZAx4NrvU47Q5m7lZFFvb6+kwJnieVijtbKZEcrf1XDac0gYvUaHdpEIMueKAxMIsi4g/wdkwIiIgoozjPz+GcPQV84EoOqhnIkVI4FckWNvlgML3CSouKk7Rg2pAChq/YoPSIW83hUHnoFlmNRA9pDIDHuIH/HpICIiCiAyBWN7636AEOyf2G/1b96CHpOJEKWlCswTzwOAEiMnotzjSsHPAli3EH+jkkBERERkYcYd5C/G+TrHSAiIiIiIt9iUkBEREREFOSYFBARERERBTkmBUREREREQY5JARERERFRkGNSQEREREQU5JgUEBEREREFOSYFRERERERBjkkBEREREVGQY1JARERERBTkmBQQEREREQU5JgVEREREREGOSQERERERUZBjUkBEREREFOSYFBARERERBTkmBUREREREQY5JARERERFRkGNSQEREREQU5JgUEBEREREFOSYFRERERERBjkkBEREREVGQY1JARERERBTkmBQQEREREQU5JgVEREREREGOSQERERERUZAb7OsdIM9ZUiYqP5vLjmluk78HMluTRfnZMMEMAKhqOA0ASJga6ZN9GhhxsKRccTnnAFAUVYjavDm+2rF+F59Tg4OLLgIAqtvuBgC0bpiNheuylWsgUMnzvHBdNnauzUdRVCEyjmcCCNz3u3w/t26YDUAcO4CAPtfxOTUAgIzjmcr7Wd4GIKDf34D77zUi6l9MCvxU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REREFsekgIiIiIjI4pgUEBERERFZHJMCIiIiIiKLY1JARERERGRxTAqIiIiIiCyOSQERERERkcUxKSAiIiIisjgmBUREREREFsekgIiIiIjI4pgUEBERERFZHJMCIiIiIiKLY1JARERERGRxTAqIiIiIiCyOSQERERERkcUxKSAiIiIisjgmBUREREREFsekgIiIiIjI4pgUEBERERFZHJMCIiIiIiKLY1JARERERGRxTAqIiIiIiCyOSQERERERkcUxKSAiIiIisjgmBUREREREFsekgIiIiIjI4pgUEBERERFZHJMCIiIiIiKLY1JARERERGRxTAqIiIiIiCyOSQERERERkcUxKSAiIiIisjgmBUREREREFsekgIiIiIjI4pgUEBERERFZ3OR834GHJZ1OAwBu3LiR53tCREREhU7GGzL+IDKbgk0Kvv/+ewDAzJkz83xPiIiIyCq+//57PPXUU/m+G0Q/mS1doCnt6OgokskknnjiCdhstnzfHSIiIipg6XQa33//PcrKyjBpEquzyXwKNikgIiIiIqK7w1SWiIiIiMjimBQQEREREVkckwIiIiIiIotjUkBEREREZHFMCoiIiIiILI5JARERERGRxTEpICIiIiKyOCYFREREREQWx6SAiIiIiMjimBQQEREREVkckwIiIiIiIotjUkBEREREZHFMCoiIiIiILI5JARERERGRxTEpICIiIiKyOCYFREREREQWx6SAiIiIiMjimBQQEREREVkckwIiIiIiIotjUkBEREREZHFMCoiIiIiILI5JARERERGRxTEpICIiIiKyOCYFREREREQWx6SAiIiIiMjimBQQEREREVkckwIiIiIiIotjUkBEREREZHFMCoiIiIiILI5JARERERGRxTEpICIiIiKyOCYFREREREQWx6SAiIiIiMjimBQQEREREVkckwIiIiIiIotjUkBEREREZHFMCoiIiIiILI5JARERERGRxTEpICIiIiKyOCYFREREREQWx6SAiIiIiMjimBQQEREREVkckwIiIiIiIotjUkBEREREZHFMCoiIiIiILI5JARERERGRxTEpICIiIiKyOCYFREREREQWx6SAiIiIiMjimBQQEREREVkckwIiIiIiIotjUkBEREREZHH/P1Rm6LOOxLGbAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ms_data.plt.cluster_scatter(\n", " res_key='leiden',\n", " scope=slice_generator[:],\n", " mode='integrate',\n", " plotting_scale_width=2, # the width of scale\n", " reorganize_coordinate=8, # the number of plots in each row \n", " # horizontal_offset_additional=200, # adjustment for horizontal distance\n", " # vertical_offset_additional=500 # adjustment for vertical distance\n", " )" ] }, { "cell_type": "markdown", "id": "48b24760-b09c-405a-81c7-592d88641d28", "metadata": {}, "source": [ "
\n", "\n", "**Note**\n", "\n", "Since the above example data already have cell type labels stored in `obs`, we can omit the clustering step and proceed directly to the next section.\n", "\n", "
" ] }, { "cell_type": "markdown", "id": "b5ff8526", "metadata": {}, "source": [ "## Spatial information incorperation" ] }, { "cell_type": "markdown", "id": "03b0ab9b", "metadata": {}, "source": [ "To incorperate the spatial information and ensure the accuracy of the signaling model, we assume that intercellular ligand-receptor (L-R) communications routinely exist among closely neighboring cells. \n", "\n", "Before conducting the communication analysis, it is advisable to filter the cells that are located in close proximity to each other. This step ensures that the cells considered for communication analysis are physically close enough to facilitate actual communication. Nevertheless, you can always skip this step and proceed directly to the actual CCC analysis part using the entire dataset. \n", "\n", "In Stereopy, we provide two approaches for doing the spatial filteration." ] }, { "cell_type": "markdown", "id": "f1c898f2-67d9-4b7a-abb9-4de81842f2bb", "metadata": {}, "source": [ "### Microenvironment" ] }, { "cell_type": "markdown", "id": "6365f192", "metadata": {}, "source": [ "The first approach is to input microenvironment information to the communication analysis. This approach treats each cell type as a cohesive unit, and microenvironments are formed by combining two or more closely located cell types. The microenvironments can be calculated with `ms_data.tl.gen_ccc_micro_envs`. We provide two approaches when calculating the microenvironment: one is using the minimum spanning tree (MST); the other is through splitting the fully connected network into multiple strongly connected components. \n", "\n", "This function should be ran twice because it includes two parts:\n", "\n", "- Calculating how the clusters are divided into microenvironments under diffrent thresholds.\n", "- Generating micro environments by choosing an appropriate `method` and `threshold` based on the result of first part.\n", "\n", "More details refer to [API](https://stereopy.readthedocs.io/en/latest/content/stereo.algorithm.gen_ccc_micro_envs.GenCccMicroEnvs.main.html)." ] }, { "cell_type": "code", "execution_count": 11, "id": "c81e7822-df5a-4146-aab2-aa99c4534f66", "metadata": { "execution": { "iopub.execute_input": "2023-11-13T08:16:21.196739Z", "iopub.status.busy": "2023-11-13T08:16:21.196441Z", "iopub.status.idle": "2023-11-13T08:16:21.238822Z", "shell.execute_reply": "2023-11-13T08:16:21.237820Z", "shell.execute_reply.started": "2023-11-13T08:16:21.196714Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
binsgroup
036648_2-0endocardial/endothelial (EC)
136907_2-0endocardial/endothelial (EC)
236908_2-0endocardial/endothelial (EC)
337308_2-0endocardial/endothelial (EC)
438993_2-0endocardial/endothelial (EC)
.........
9029123593_65-58atrial-specific CM
9029224057_65-58atrial-specific CM
9029324258_65-58atrial-specific CM
9029424300_65-58atrial-specific CM
9029524681_65-58atrial-specific CM
\n", "

90296 rows × 2 columns

\n", "
" ], "text/plain": [ " bins group\n", "0 36648_2-0 endocardial/endothelial (EC)\n", "1 36907_2-0 endocardial/endothelial (EC)\n", "2 36908_2-0 endocardial/endothelial (EC)\n", "3 37308_2-0 endocardial/endothelial (EC)\n", "4 38993_2-0 endocardial/endothelial (EC)\n", "... ... ...\n", "90291 23593_65-58 atrial-specific CM\n", "90292 24057_65-58 atrial-specific CM\n", "90293 24258_65-58 atrial-specific CM\n", "90294 24300_65-58 atrial-specific CM\n", "90295 24681_65-58 atrial-specific CM\n", "\n", "[90296 rows x 2 columns]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ms_data.merged_data.tl.result['celltype']" ] }, { "cell_type": "code", "execution_count": 12, "id": "54de3be3", "metadata": { "execution": { "iopub.execute_input": "2023-11-13T08:16:21.240200Z", "iopub.status.busy": "2023-11-13T08:16:21.239971Z", "iopub.status.idle": "2023-11-13T08:16:31.239718Z", "shell.execute_reply": "2023-11-13T08:16:31.238791Z", "shell.execute_reply.started": "2023-11-13T08:16:21.240177Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[2023-11-13 16:16:23][Stereo][15833][MainThread][139891007416128][ms_pipeline][121][INFO]: register algorithm gen_ccc_micro_envs to -139890412633488\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Now, you can choose a appropriate threshold based on this function's result.\n" ] }, { "data": {}, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.holoviews_exec.v0+json": "", "text/html": [ "
\n", "
\n", "
\n", "" ], "text/plain": [ "DataFrame(autosize_mode='fit_viewport', disabled=True, frozen_columns=1, show_index=False, value= threshold ...)" ] }, "execution_count": 12, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "1035" } }, "output_type": "execute_result" } ], "source": [ "ms_data.tl.gen_ccc_micro_envs(\n", " scope=slice_generator[:],\n", " mode='integrate', \n", " cluster_res_key='celltype',\n", " res_key='ccc_micro_envs'\n", " )" ] }, { "cell_type": "markdown", "id": "6242a7f4-4571-4de8-b214-fa9166ed1239", "metadata": { "execution": { "iopub.execute_input": "2023-10-25T02:49:52.184221Z", "iopub.status.busy": "2023-10-25T02:49:52.183888Z", "iopub.status.idle": "2023-10-25T02:49:52.192560Z", "shell.execute_reply": "2023-10-25T02:49:52.190647Z", "shell.execute_reply.started": "2023-10-25T02:49:52.184191Z" } }, "source": [ "
\n", "\n", "**Note**\n", "\n", "The coordinates must be stored as `x`, `y` and `z` in `obs`, or `spatial` in `obsm`.\n", "\n", "
" ] }, { "cell_type": "markdown", "id": "a0fd2819", "metadata": {}, "source": [ "As we have calculated the final bootstrap MST stored in `mst_final` and pairwise KL-divergences stored in `pairwise_kl_divergence` of `uns['ccc_micro_envs']`, you can choose a proper method and threshold to get the final microenvironments." ] }, { "cell_type": "code", "execution_count": 13, "id": "91861a88", "metadata": { "execution": { "iopub.execute_input": "2023-11-13T08:16:31.241233Z", "iopub.status.busy": "2023-11-13T08:16:31.240981Z", "iopub.status.idle": "2023-11-13T08:16:31.248556Z", "shell.execute_reply": "2023-11-13T08:16:31.247774Z", "shell.execute_reply.started": "2023-11-13T08:16:31.241207Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[2023-11-13 16:16:31][Stereo][15833][MainThread][139891007416128][ms_pipeline][121][INFO]: register algorithm gen_ccc_micro_envs to -139890412633488\n" ] } ], "source": [ "ms_data.tl.gen_ccc_micro_envs(\n", " scope=slice_generator[:],\n", " mode='integrate', \n", " method='split', \n", " threshold=2, \n", " res_key='ccc_micro_envs'\n", " )" ] }, { "cell_type": "markdown", "id": "bab6e90b-5713-48a0-9661-3b6682a217a2", "metadata": {}, "source": [ "Using the `split` method with theshold 2, we got two microenvironments as follows:" ] }, { "cell_type": "code", "execution_count": 14, "id": "2240368b-8304-4d0b-ab0c-7b3673bbe7dd", "metadata": { "execution": { "iopub.execute_input": "2023-11-13T08:16:31.249915Z", "iopub.status.busy": "2023-11-13T08:16:31.249542Z", "iopub.status.idle": "2023-11-13T08:16:31.361404Z", "shell.execute_reply": "2023-11-13T08:16:31.360359Z", "shell.execute_reply.started": "2023-11-13T08:16:31.249883Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
cell_typemicroenvironment
0atrial-specific CMmicroenv_0
1epicardial (EP)microenv_0
2endocardial/endothelial (EC)microenv_0
3ventricular-specific CMmicroenv_0
4bloodmicroenv_1
5fibro-mesenchymal (FM)microenv_1
\n", "
" ], "text/plain": [ " cell_type microenvironment\n", "0 atrial-specific CM microenv_0\n", "1 epicardial (EP) microenv_0\n", "2 endocardial/endothelial (EC) microenv_0\n", "3 ventricular-specific CM microenv_0\n", "4 blood microenv_1\n", "5 fibro-mesenchymal (FM) microenv_1" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ms_data.merged_data.tl.result['ccc_micro_envs']['micro_envs']" ] }, { "cell_type": "markdown", "id": "eb6132b0", "metadata": {}, "source": [ "### Niche\n", "\n", "The alternative filteration approach constructs a niche for two given cell types at individual cell level. For each cell of type 1, only cells of type 2 that are within a certain Euclidean distance threshold, denoted as `niche_distance`, are retained. The niche of cell type 1 and 2 is constructed by including all cells of type 1 that have type 2 neighbors, as well as all their neighboring type 2 cells." ] }, { "cell_type": "markdown", "id": "de1e023f", "metadata": {}, "source": [ "You can run `ms_data.tl.get_niche` to get a new `StereoExpData` object based on a pair of cell clusters, which represents a niche.\n", "\n", "Afterwards, you can run communication analysis based on this niche. More in [API](https://stereopy.readthedocs.io/en/latest/content/stereo.algorithm.get_niche.GetNiche.main.html)." ] }, { "cell_type": "code", "execution_count": 15, "id": "67574d9e", "metadata": { "execution": { "iopub.execute_input": "2023-11-13T08:16:31.363378Z", "iopub.status.busy": "2023-11-13T08:16:31.362914Z", "iopub.status.idle": "2023-11-13T08:16:45.279075Z", "shell.execute_reply": "2023-11-13T08:16:45.277818Z", "shell.execute_reply.started": "2023-11-13T08:16:31.363335Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[2023-11-13 16:16:31][Stereo][15833][MainThread][139891007416128][ms_pipeline][121][INFO]: register algorithm get_niche to -139890412633488\n" ] }, { "data": { "text/plain": [ "StereoExpData object with n_cells X n_genes = 14792 X 30254\n", "bin_type: bins\n", "bin_size: 1\n", "offset_x = None\n", "offset_y = None\n", "cells: ['cell_name', 'batch', 'celltype', 'total_counts', 'n_genes_by_counts', 'pct_counts_mt']\n", "genes: ['gene_name', 'n_cells', 'n_counts', 'mean_umi']\n", "cells_matrix = ['pca']\n", "key_record: {'pca': ['pca'], 'neighbors': ['neighbors'], 'cluster': ['leiden'], 'gene_exp_cluster': ['gene_exp_leiden']}\n", "result: ['pca', 'neighbors', 'leiden', 'gene_exp_leiden']" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_niche = ms_data.tl.get_niche(\n", " scope=slice_generator[:],\n", " mode='integrate', \n", " niche_distance=0.025,\n", " cluster_1='ventricular-specific CM',\n", " cluster_2='epicardial (EP)',\n", " cluster_res_key='celltype'\n", " )\n", "\n", "data_niche" ] }, { "cell_type": "markdown", "id": "7119ff92-8c3d-46b2-8f59-2c827dc07720", "metadata": {}, "source": [ "## Communication analysis" ] }, { "cell_type": "markdown", "id": "1f75f1e5", "metadata": {}, "source": [ "We suggest using normalized non-log-transformed data to do the analysis.\n", "\n", "`analysis_type` can be set to `simple` or `statistical`. `simple` does not rely on any statistics and only provides the mean expression values for each interaction for each possible cell type pair, while `statistical` also estimates the statistical significance of these mean expression values using a permutation approach.\n", "\n", "This function currently supports the species of `HUMAN` and `MOUSE`. If input the data of other species, you have to translate the genes to homologous genes of human or mouse. You can select a database from `cellphonedb`, `liana` and `celltalkdb` [[Efremova20](https://www.nature.com/articles/s41596-020-0292-x)], or input the path of your own database." ] }, { "cell_type": "markdown", "id": "380cbc0c", "metadata": {}, "source": [ "
\n", "\n", "**Note**\n", "\n", "`HUMAN` species can not be used with `celltalkdb` database for the moment.\n", "\n", "
" ] }, { "cell_type": "markdown", "id": "7830c03e", "metadata": {}, "source": [ "You can incorperate the spatial information by specifying microenvironments with parameter `micro_envs`:" ] }, { "cell_type": "code", "execution_count": 16, "id": "0d11f9a3-02b7-43c4-a6c2-1544a2b548aa", "metadata": { "execution": { "iopub.execute_input": "2023-11-13T08:16:45.280621Z", "iopub.status.busy": "2023-11-13T08:16:45.280338Z", "iopub.status.idle": "2023-11-13T08:45:31.746452Z", "shell.execute_reply": "2023-11-13T08:45:31.745260Z", "shell.execute_reply.started": "2023-11-13T08:16:45.280598Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[2023-11-13 16:16:45][Stereo][15833][MainThread][139891007416128][ms_pipeline][131][INFO]: data_obj(idx=0) in ms_data start to run normalize_total\n", "[2023-11-13 16:16:45][Stereo][15833][MainThread][139891007416128][st_pipeline][41][INFO]: start to run normalize_total...\n", "[2023-11-13 16:16:45][Stereo][15833][MainThread][139891007416128][st_pipeline][44][INFO]: normalize_total end, consume time 0.2674s.\n", "[2023-11-13 16:16:45][Stereo][15833][MainThread][139891007416128][ms_pipeline][121][INFO]: register algorithm cell_cell_communication to -139890412633488\n", "[2023-11-13 16:16:45][Stereo][15833][MainThread][139891007416128][main][128][INFO]: species: MOUSE\n", "[2023-11-13 16:16:45][Stereo][15833][MainThread][139891007416128][main][129][INFO]: database: liana\n", "[2023-11-13 16:18:09][Stereo][15833][MainThread][139891007416128][main][188][INFO]: [statistical analysis] Threshold:0.1 Precision:3 Iterations:500 Threads:1\n", "[2023-11-13 16:18:31][Stereo][15833][MainThread][139891007416128][main][218][INFO]: Running Real Analysis\n", "[2023-11-13 16:18:31][Stereo][15833][MainThread][139891007416128][main][761][INFO]: Limiting cluster combinations using microenvironments\n", "[2023-11-13 16:18:31][Stereo][15833][MainThread][139891007416128][main][232][INFO]: Running Statistical Analysis\n", "statistical analysis: 100%|███████████████████████████████████████| 500/500 [26:52<00:00, 3.23s/it]\n", "[2023-11-13 16:45:24][Stereo][15833][MainThread][139891007416128][main][1029][INFO]: Building Pvalues result\n", "[2023-11-13 16:45:24][Stereo][15833][MainThread][139891007416128][main][1064][INFO]: Building results\n" ] } ], "source": [ "ms_data.tl.normalize_total(target_sum=None)\n", "ms_data.tl.cell_cell_communication(\n", " scope=slice_generator[:],\n", " mode='integrate',\n", " analysis_type='statistical',\n", " cluster_res_key='celltype',\n", " species='MOUSE',\n", " database='liana',\n", " micro_envs='ccc_micro_envs',\n", " res_key='cell_cell_communication'\n", " )" ] }, { "cell_type": "markdown", "id": "53ee21a8", "metadata": {}, "source": [ "Or you can directly do the analysis on the niche `StereoExpData`:" ] }, { "cell_type": "code", "execution_count": 17, "id": "f4bd5ca4-84a5-4c89-936b-77f355384707", "metadata": { "ExecuteTime": { "end_time": "2023-04-03T08:27:38.922208Z", "start_time": "2023-04-03T08:10:59.706691Z" }, "execution": { "iopub.execute_input": "2023-11-13T08:45:31.747859Z", "iopub.status.busy": "2023-11-13T08:45:31.747609Z", "iopub.status.idle": "2023-11-13T08:50:33.917672Z", "shell.execute_reply": "2023-11-13T08:50:33.916296Z", "shell.execute_reply.started": "2023-11-13T08:45:31.747832Z" }, "tags": [] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[2023-11-13 16:45:31][Stereo][15833][MainThread][139891007416128][st_pipeline][41][INFO]: start to run normalize_total...\n", "[2023-11-13 16:45:31][Stereo][15833][MainThread][139891007416128][st_pipeline][44][INFO]: normalize_total end, consume time 0.0372s.\n", "[2023-11-13 16:45:31][Stereo][15833][MainThread][139891007416128][st_pipeline][77][INFO]: register algorithm cell_cell_communication to \n", "[2023-11-13 16:45:31][Stereo][15833][MainThread][139891007416128][main][128][INFO]: species: MOUSE\n", "[2023-11-13 16:45:31][Stereo][15833][MainThread][139891007416128][main][129][INFO]: database: liana\n", "[2023-11-13 16:45:44][Stereo][15833][MainThread][139891007416128][main][188][INFO]: [statistical analysis] Threshold:0.1 Precision:3 Iterations:500 Threads:1\n", "[2023-11-13 16:45:48][Stereo][15833][MainThread][139891007416128][main][218][INFO]: Running Real Analysis\n", "[2023-11-13 16:45:48][Stereo][15833][MainThread][139891007416128][main][232][INFO]: Running Statistical Analysis\n", "statistical analysis: 100%|███████████████████████████████████████| 500/500 [04:43<00:00, 1.76it/s]\n", "[2023-11-13 16:50:32][Stereo][15833][MainThread][139891007416128][main][1029][INFO]: Building Pvalues result\n", "[2023-11-13 16:50:32][Stereo][15833][MainThread][139891007416128][main][1064][INFO]: Building results\n" ] } ], "source": [ "data_niche.tl.normalize_total(target_sum=None)\n", "data_niche.tl.cell_cell_communication(\n", " analysis_type='statistical',\n", " cluster_res_key='celltype',\n", " species='MOUSE',\n", " database='liana',\n", " threshold=0.1,\n", " res_key='cell_cell_communication'\n", ")" ] }, { "cell_type": "markdown", "id": "a1617a9a-927e-4338-ac94-9352264f3e1f", "metadata": {}, "source": [ "You may also set `subsampling=True` to enable subsampling of the cells for faster performance." ] }, { "cell_type": "markdown", "id": "95ee88ab", "metadata": {}, "source": [ "## Result observation" ] }, { "cell_type": "markdown", "id": "3c114d22", "metadata": {}, "source": [ "The results of cell-cell communication are stored in `data.tl.result`.\n", "\n", "The `means` result shows the mean expression values of each L-R pair for each cell cluster pair." ] }, { "cell_type": "code", "execution_count": 18, "id": "0562914d-4a27-45d4-9514-f9010fef97a4", "metadata": { "ExecuteTime": { "end_time": "2023-04-03T08:27:38.984609Z", "start_time": "2023-04-03T08:27:38.925405Z" }, "execution": { "iopub.execute_input": "2023-11-13T08:50:33.919448Z", "iopub.status.busy": "2023-11-13T08:50:33.919164Z", "iopub.status.idle": "2023-11-13T08:50:33.952694Z", "shell.execute_reply": "2023-11-13T08:50:33.951881Z", "shell.execute_reply.started": "2023-11-13T08:50:33.919422Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
id_cp_interactioninteracting_pairpartner_apartner_bgene_agene_bsecretedreceptor_areceptor_bannotation_strategy...endocardial/endothelial (EC)|endocardial/endothelial (EC)endocardial/endothelial (EC)|ventricular-specific CMventricular-specific CM|atrial-specific CMventricular-specific CM|epicardial (EP)ventricular-specific CM|endocardial/endothelial (EC)ventricular-specific CM|ventricular-specific CMblood|bloodblood|fibro-mesenchymal (FM)fibro-mesenchymal (FM)|bloodfibro-mesenchymal (FM)|fibro-mesenchymal (FM)
1CPI-SS0A7B487D4KLRG2_WNT11simple:A4D1S0simple:O96014KLRG2WNT11FalseFalseFalseuser_curated...0.0000.0000.0030.0060.0040.0020.0020.0050.0020.005
2CPI-SS0C08F5056FZD9_WNT11simple:O00144simple:O96014FZD9WNT11FalseFalseFalseuser_curated...0.0050.0030.0040.0070.0050.0030.0030.0060.0030.006
3CPI-SS029839DC3MUSK_WNT11simple:O15146simple:O96014MUSKWNT11FalseFalseFalseuser_curated...0.0040.0020.0030.0060.0040.0020.0000.0000.0020.005
4CPI-SS0F653A282FZD6_WNT11simple:O60353simple:O96014FZD6WNT11FalseFalseFalseuser_curated...0.0080.0070.0050.0080.0060.0040.0030.0060.0050.008
5CPI-SS070E5DE9EFZD7_WNT11simple:O75084simple:O96014FZD7WNT11FalseFalseFalseuser_curated...0.0070.0050.0060.0090.0070.0050.0100.0130.0070.010
..................................................................
4680CPI-SS050123B31NPFFR1_NPVFsimple:Q9GZQ6simple:Q9HCQ7NPFFR1NPVFFalseFalseFalseuser_curated...0.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
4681CPI-SS0F30C777CLRRC4C_NTNG1simple:Q9HCJ2simple:Q9Y2I2LRRC4CNTNG1FalseFalseFalseuser_curated...0.0020.0020.0030.0030.0030.0030.0030.0050.0020.004
4682CPI-SS0F0C92F50RTN4_TNFRSF19simple:Q9NQC3simple:Q9NS68RTN4TNFRSF19FalseFalseFalseuser_curated...0.0720.0760.0760.0760.0700.0740.0590.0600.0810.082
4683CPI-SS0441C0907IL17RB_IL17Bsimple:Q9NRM6simple:Q9UHF5IL17RBIL17BFalseFalseFalseuser_curated...0.0000.0000.0000.0000.0010.0000.0000.0000.0000.000
4684CPI-SS0FF51A757TNFSF18_TNFRSF18simple:Q9UNG2simple:Q9Y5U5TNFSF18TNFRSF18FalseFalseFalseuser_curated...0.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
\n", "

3673 rows × 31 columns

\n", "
" ], "text/plain": [ " id_cp_interaction interacting_pair partner_a partner_b \\\n", "1 CPI-SS0A7B487D4 KLRG2_WNT11 simple:A4D1S0 simple:O96014 \n", "2 CPI-SS0C08F5056 FZD9_WNT11 simple:O00144 simple:O96014 \n", "3 CPI-SS029839DC3 MUSK_WNT11 simple:O15146 simple:O96014 \n", "4 CPI-SS0F653A282 FZD6_WNT11 simple:O60353 simple:O96014 \n", "5 CPI-SS070E5DE9E FZD7_WNT11 simple:O75084 simple:O96014 \n", "... ... ... ... ... \n", "4680 CPI-SS050123B31 NPFFR1_NPVF simple:Q9GZQ6 simple:Q9HCQ7 \n", "4681 CPI-SS0F30C777C LRRC4C_NTNG1 simple:Q9HCJ2 simple:Q9Y2I2 \n", "4682 CPI-SS0F0C92F50 RTN4_TNFRSF19 simple:Q9NQC3 simple:Q9NS68 \n", "4683 CPI-SS0441C0907 IL17RB_IL17B simple:Q9NRM6 simple:Q9UHF5 \n", "4684 CPI-SS0FF51A757 TNFSF18_TNFRSF18 simple:Q9UNG2 simple:Q9Y5U5 \n", "\n", " gene_a gene_b secreted receptor_a receptor_b annotation_strategy \\\n", "1 KLRG2 WNT11 False False False user_curated \n", "2 FZD9 WNT11 False False False user_curated \n", "3 MUSK WNT11 False False False user_curated \n", "4 FZD6 WNT11 False False False user_curated \n", "5 FZD7 WNT11 False False False user_curated \n", "... ... ... ... ... ... ... \n", "4680 NPFFR1 NPVF False False False user_curated \n", "4681 LRRC4C NTNG1 False False False user_curated \n", "4682 RTN4 TNFRSF19 False False False user_curated \n", "4683 IL17RB IL17B False False False user_curated \n", "4684 TNFSF18 TNFRSF18 False False False user_curated \n", "\n", " ... endocardial/endothelial (EC)|endocardial/endothelial (EC) \\\n", "1 ... 0.000 \n", "2 ... 0.005 \n", "3 ... 0.004 \n", "4 ... 0.008 \n", "5 ... 0.007 \n", "... ... ... \n", "4680 ... 0.000 \n", "4681 ... 0.002 \n", "4682 ... 0.072 \n", "4683 ... 0.000 \n", "4684 ... 0.000 \n", "\n", " endocardial/endothelial (EC)|ventricular-specific CM \\\n", "1 0.000 \n", "2 0.003 \n", "3 0.002 \n", "4 0.007 \n", "5 0.005 \n", "... ... \n", "4680 0.000 \n", "4681 0.002 \n", "4682 0.076 \n", "4683 0.000 \n", "4684 0.000 \n", "\n", " ventricular-specific CM|atrial-specific CM \\\n", "1 0.003 \n", "2 0.004 \n", "3 0.003 \n", "4 0.005 \n", "5 0.006 \n", "... ... \n", "4680 0.000 \n", "4681 0.003 \n", "4682 0.076 \n", "4683 0.000 \n", "4684 0.000 \n", "\n", " ventricular-specific CM|epicardial (EP) \\\n", "1 0.006 \n", "2 0.007 \n", "3 0.006 \n", "4 0.008 \n", "5 0.009 \n", "... ... \n", "4680 0.000 \n", "4681 0.003 \n", "4682 0.076 \n", "4683 0.000 \n", "4684 0.000 \n", "\n", " ventricular-specific CM|endocardial/endothelial (EC) \\\n", "1 0.004 \n", "2 0.005 \n", "3 0.004 \n", "4 0.006 \n", "5 0.007 \n", "... ... \n", "4680 0.000 \n", "4681 0.003 \n", "4682 0.070 \n", "4683 0.001 \n", "4684 0.000 \n", "\n", " ventricular-specific CM|ventricular-specific CM blood|blood \\\n", "1 0.002 0.002 \n", "2 0.003 0.003 \n", "3 0.002 0.000 \n", "4 0.004 0.003 \n", "5 0.005 0.010 \n", "... ... ... \n", "4680 0.000 0.000 \n", "4681 0.003 0.003 \n", "4682 0.074 0.059 \n", "4683 0.000 0.000 \n", "4684 0.000 0.000 \n", "\n", " blood|fibro-mesenchymal (FM) fibro-mesenchymal (FM)|blood \\\n", "1 0.005 0.002 \n", "2 0.006 0.003 \n", "3 0.000 0.002 \n", "4 0.006 0.005 \n", "5 0.013 0.007 \n", "... ... ... \n", "4680 0.000 0.000 \n", "4681 0.005 0.002 \n", "4682 0.060 0.081 \n", "4683 0.000 0.000 \n", "4684 0.000 0.000 \n", "\n", " fibro-mesenchymal (FM)|fibro-mesenchymal (FM) \n", "1 0.005 \n", "2 0.006 \n", "3 0.005 \n", "4 0.008 \n", "5 0.010 \n", "... ... \n", "4680 0.000 \n", "4681 0.004 \n", "4682 0.082 \n", "4683 0.000 \n", "4684 0.000 \n", "\n", "[3673 rows x 31 columns]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "##### mean\n", "ms_data.merged_data.tl.result['cell_cell_communication']['means']\n", "# data_niche.tl.result['cell_cell_communication']['means']" ] }, { "cell_type": "markdown", "id": "b1d5219e", "metadata": {}, "source": [ "If doing statistical analysis, the `significant_means` results only keeps statistical significant mean values in the `mean` result (non-significant means have a value of -1)." ] }, { "cell_type": "code", "execution_count": 19, "id": "920dcb1c-e9c1-48fe-a6b6-06c7bd1a7a29", "metadata": { "ExecuteTime": { "end_time": "2023-04-03T08:27:39.024874Z", "start_time": "2023-04-03T08:27:38.988166Z" }, "execution": { "iopub.execute_input": "2023-11-13T08:50:33.954005Z", "iopub.status.busy": "2023-11-13T08:50:33.953725Z", "iopub.status.idle": "2023-11-13T08:50:34.048100Z", "shell.execute_reply": "2023-11-13T08:50:34.047220Z", "shell.execute_reply.started": "2023-11-13T08:50:33.953981Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
id_cp_interactioninteracting_pairpartner_apartner_bgene_agene_bsecretedreceptor_areceptor_bannotation_strategy...endocardial/endothelial (EC)|endocardial/endothelial (EC)endocardial/endothelial (EC)|ventricular-specific CMventricular-specific CM|atrial-specific CMventricular-specific CM|epicardial (EP)ventricular-specific CM|endocardial/endothelial (EC)ventricular-specific CM|ventricular-specific CMblood|bloodblood|fibro-mesenchymal (FM)fibro-mesenchymal (FM)|bloodfibro-mesenchymal (FM)|fibro-mesenchymal (FM)
3049CPI-SS03FCE1B02APP_APLP2simple:P05067simple:Q06481APPAPLP2FalseFalseFalseuser_curated...-1.000-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0
1002CPI-SS09A44E1CECOL1A1_CD93simple:P02452simple:Q9NPY3COL1A1CD93FalseFalseFalseuser_curated...-1.000-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0
1003CPI-SS040FC67D5COL4A1_CD93simple:P02462simple:Q9NPY3COL4A1CD93FalseFalseFalseuser_curated...0.257-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0
1004CPI-SS07C75B6E2COL1A2_CD93simple:P08123simple:Q9NPY3COL1A2CD93FalseFalseFalseuser_curated...-1.000-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0
1005CPI-SS09AFB7612COL4A2_CD93simple:P08572simple:Q9NPY3COL4A2CD93FalseFalseFalseuser_curated...0.154-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0
..................................................................
622CPI-SC0BCE0B954COL15A1_integrin_a11b1_complexsimple:P39059complex:integrin_a11b1_complexCOL15A1FalseFalseFalseuser_curated...-1.000-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0
623CPI-SC0755F1632COL18A1_integrin_a11b1_complexsimple:P39060complex:integrin_a11b1_complexCOL18A1FalseFalseFalseuser_curated...-1.000-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0
624CPI-SC037038602COL7A1_integrin_a11b1_complexsimple:Q02388complex:integrin_a11b1_complexCOL7A1FalseFalseFalseuser_curated...-1.000-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0
626CPI-SC092A2325ECOL14A1_integrin_a11b1_complexsimple:Q05707complex:integrin_a11b1_complexCOL14A1FalseFalseFalseuser_curated...-1.000-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0
4684CPI-SS0FF51A757TNFSF18_TNFRSF18simple:Q9UNG2simple:Q9Y5U5TNFSF18TNFRSF18FalseFalseFalseuser_curated...-1.000-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0
\n", "

3673 rows × 32 columns

\n", "
" ], "text/plain": [ " id_cp_interaction interacting_pair partner_a \\\n", "3049 CPI-SS03FCE1B02 APP_APLP2 simple:P05067 \n", "1002 CPI-SS09A44E1CE COL1A1_CD93 simple:P02452 \n", "1003 CPI-SS040FC67D5 COL4A1_CD93 simple:P02462 \n", "1004 CPI-SS07C75B6E2 COL1A2_CD93 simple:P08123 \n", "1005 CPI-SS09AFB7612 COL4A2_CD93 simple:P08572 \n", "... ... ... ... \n", "622 CPI-SC0BCE0B954 COL15A1_integrin_a11b1_complex simple:P39059 \n", "623 CPI-SC0755F1632 COL18A1_integrin_a11b1_complex simple:P39060 \n", "624 CPI-SC037038602 COL7A1_integrin_a11b1_complex simple:Q02388 \n", "626 CPI-SC092A2325E COL14A1_integrin_a11b1_complex simple:Q05707 \n", "4684 CPI-SS0FF51A757 TNFSF18_TNFRSF18 simple:Q9UNG2 \n", "\n", " partner_b gene_a gene_b secreted receptor_a \\\n", "3049 simple:Q06481 APP APLP2 False False \n", "1002 simple:Q9NPY3 COL1A1 CD93 False False \n", "1003 simple:Q9NPY3 COL4A1 CD93 False False \n", "1004 simple:Q9NPY3 COL1A2 CD93 False False \n", "1005 simple:Q9NPY3 COL4A2 CD93 False False \n", "... ... ... ... ... ... \n", "622 complex:integrin_a11b1_complex COL15A1 False False \n", "623 complex:integrin_a11b1_complex COL18A1 False False \n", "624 complex:integrin_a11b1_complex COL7A1 False False \n", "626 complex:integrin_a11b1_complex COL14A1 False False \n", "4684 simple:Q9Y5U5 TNFSF18 TNFRSF18 False False \n", "\n", " receptor_b annotation_strategy ... \\\n", "3049 False user_curated ... \n", "1002 False user_curated ... \n", "1003 False user_curated ... \n", "1004 False user_curated ... \n", "1005 False user_curated ... \n", "... ... ... ... \n", "622 False user_curated ... \n", "623 False user_curated ... \n", "624 False user_curated ... \n", "626 False user_curated ... \n", "4684 False user_curated ... \n", "\n", " endocardial/endothelial (EC)|endocardial/endothelial (EC) \\\n", "3049 -1.000 \n", "1002 -1.000 \n", "1003 0.257 \n", "1004 -1.000 \n", "1005 0.154 \n", "... ... \n", "622 -1.000 \n", "623 -1.000 \n", "624 -1.000 \n", "626 -1.000 \n", "4684 -1.000 \n", "\n", " endocardial/endothelial (EC)|ventricular-specific CM \\\n", "3049 -1.0 \n", "1002 -1.0 \n", "1003 -1.0 \n", "1004 -1.0 \n", "1005 -1.0 \n", "... ... \n", "622 -1.0 \n", "623 -1.0 \n", "624 -1.0 \n", "626 -1.0 \n", "4684 -1.0 \n", "\n", " ventricular-specific CM|atrial-specific CM \\\n", "3049 -1.0 \n", "1002 -1.0 \n", "1003 -1.0 \n", "1004 -1.0 \n", "1005 -1.0 \n", "... ... \n", "622 -1.0 \n", "623 -1.0 \n", "624 -1.0 \n", "626 -1.0 \n", "4684 -1.0 \n", "\n", " ventricular-specific CM|epicardial (EP) \\\n", "3049 -1.0 \n", "1002 -1.0 \n", "1003 -1.0 \n", "1004 -1.0 \n", "1005 -1.0 \n", "... ... \n", "622 -1.0 \n", "623 -1.0 \n", "624 -1.0 \n", "626 -1.0 \n", "4684 -1.0 \n", "\n", " ventricular-specific CM|endocardial/endothelial (EC) \\\n", "3049 -1.0 \n", "1002 -1.0 \n", "1003 -1.0 \n", "1004 -1.0 \n", "1005 -1.0 \n", "... ... \n", "622 -1.0 \n", "623 -1.0 \n", "624 -1.0 \n", "626 -1.0 \n", "4684 -1.0 \n", "\n", " ventricular-specific CM|ventricular-specific CM blood|blood \\\n", "3049 -1.0 -1.0 \n", "1002 -1.0 -1.0 \n", "1003 -1.0 -1.0 \n", "1004 -1.0 -1.0 \n", "1005 -1.0 -1.0 \n", "... ... ... \n", "622 -1.0 -1.0 \n", "623 -1.0 -1.0 \n", "624 -1.0 -1.0 \n", "626 -1.0 -1.0 \n", "4684 -1.0 -1.0 \n", "\n", " blood|fibro-mesenchymal (FM) fibro-mesenchymal (FM)|blood \\\n", "3049 -1.0 -1.0 \n", "1002 -1.0 -1.0 \n", "1003 -1.0 -1.0 \n", "1004 -1.0 -1.0 \n", "1005 -1.0 -1.0 \n", "... ... ... \n", "622 -1.0 -1.0 \n", "623 -1.0 -1.0 \n", "624 -1.0 -1.0 \n", "626 -1.0 -1.0 \n", "4684 -1.0 -1.0 \n", "\n", " fibro-mesenchymal (FM)|fibro-mesenchymal (FM) \n", "3049 -1.0 \n", "1002 -1.0 \n", "1003 -1.0 \n", "1004 -1.0 \n", "1005 -1.0 \n", "... ... \n", "622 -1.0 \n", "623 -1.0 \n", "624 -1.0 \n", "626 -1.0 \n", "4684 -1.0 \n", "\n", "[3673 rows x 32 columns]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "##### significant mean\n", "ms_data.merged_data.tl.result['cell_cell_communication']['significant_means']\n", "# data_niche.tl.result['cell_cell_communication']['significant_means'].iloc[:15]" ] }, { "cell_type": "markdown", "id": "58eec116", "metadata": {}, "source": [ "The `pvalues` result shows the p-values for each mean value in the `means` result. " ] }, { "cell_type": "code", "execution_count": 20, "id": "f4268ce8-0cee-42dd-b6cb-128dc09e4c78", "metadata": { "ExecuteTime": { "end_time": "2023-04-03T08:27:39.063870Z", "start_time": "2023-04-03T08:27:39.027290Z" }, "execution": { "iopub.execute_input": "2023-11-13T08:50:34.049562Z", "iopub.status.busy": "2023-11-13T08:50:34.049227Z", "iopub.status.idle": "2023-11-13T08:50:34.090949Z", "shell.execute_reply": "2023-11-13T08:50:34.089961Z", "shell.execute_reply.started": "2023-11-13T08:50:34.049529Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
id_cp_interactioninteracting_pairpartner_apartner_bgene_agene_bsecretedreceptor_areceptor_bannotation_strategy...endocardial/endothelial (EC)|endocardial/endothelial (EC)endocardial/endothelial (EC)|ventricular-specific CMventricular-specific CM|atrial-specific CMventricular-specific CM|epicardial (EP)ventricular-specific CM|endocardial/endothelial (EC)ventricular-specific CM|ventricular-specific CMblood|bloodblood|fibro-mesenchymal (FM)fibro-mesenchymal (FM)|bloodfibro-mesenchymal (FM)|fibro-mesenchymal (FM)
1CPI-SS0A7B487D4KLRG2_WNT11simple:A4D1S0simple:O96014KLRG2WNT11FalseFalseFalseuser_curated...1.01.01.01.01.01.01.01.01.01.0
2CPI-SS0C08F5056FZD9_WNT11simple:O00144simple:O96014FZD9WNT11FalseFalseFalseuser_curated...1.01.01.01.01.01.01.01.01.01.0
3CPI-SS029839DC3MUSK_WNT11simple:O15146simple:O96014MUSKWNT11FalseFalseFalseuser_curated...1.01.01.01.01.01.01.01.01.01.0
4CPI-SS0F653A282FZD6_WNT11simple:O60353simple:O96014FZD6WNT11FalseFalseFalseuser_curated...1.01.01.01.01.01.01.01.01.01.0
5CPI-SS070E5DE9EFZD7_WNT11simple:O75084simple:O96014FZD7WNT11FalseFalseFalseuser_curated...1.01.01.01.01.01.01.01.01.01.0
..................................................................
4680CPI-SS050123B31NPFFR1_NPVFsimple:Q9GZQ6simple:Q9HCQ7NPFFR1NPVFFalseFalseFalseuser_curated...1.01.01.01.01.01.01.01.01.01.0
4681CPI-SS0F30C777CLRRC4C_NTNG1simple:Q9HCJ2simple:Q9Y2I2LRRC4CNTNG1FalseFalseFalseuser_curated...1.01.01.01.01.01.01.01.01.01.0
4682CPI-SS0F0C92F50RTN4_TNFRSF19simple:Q9NQC3simple:Q9NS68RTN4TNFRSF19FalseFalseFalseuser_curated...1.01.01.01.01.01.01.01.01.01.0
4683CPI-SS0441C0907IL17RB_IL17Bsimple:Q9NRM6simple:Q9UHF5IL17RBIL17BFalseFalseFalseuser_curated...1.01.01.01.01.01.01.01.01.01.0
4684CPI-SS0FF51A757TNFSF18_TNFRSF18simple:Q9UNG2simple:Q9Y5U5TNFSF18TNFRSF18FalseFalseFalseuser_curated...1.01.01.01.01.01.01.01.01.01.0
\n", "

3673 rows × 31 columns

\n", "
" ], "text/plain": [ " id_cp_interaction interacting_pair partner_a partner_b \\\n", "1 CPI-SS0A7B487D4 KLRG2_WNT11 simple:A4D1S0 simple:O96014 \n", "2 CPI-SS0C08F5056 FZD9_WNT11 simple:O00144 simple:O96014 \n", "3 CPI-SS029839DC3 MUSK_WNT11 simple:O15146 simple:O96014 \n", "4 CPI-SS0F653A282 FZD6_WNT11 simple:O60353 simple:O96014 \n", "5 CPI-SS070E5DE9E FZD7_WNT11 simple:O75084 simple:O96014 \n", "... ... ... ... ... \n", "4680 CPI-SS050123B31 NPFFR1_NPVF simple:Q9GZQ6 simple:Q9HCQ7 \n", "4681 CPI-SS0F30C777C LRRC4C_NTNG1 simple:Q9HCJ2 simple:Q9Y2I2 \n", "4682 CPI-SS0F0C92F50 RTN4_TNFRSF19 simple:Q9NQC3 simple:Q9NS68 \n", "4683 CPI-SS0441C0907 IL17RB_IL17B simple:Q9NRM6 simple:Q9UHF5 \n", "4684 CPI-SS0FF51A757 TNFSF18_TNFRSF18 simple:Q9UNG2 simple:Q9Y5U5 \n", "\n", " gene_a gene_b secreted receptor_a receptor_b annotation_strategy \\\n", "1 KLRG2 WNT11 False False False user_curated \n", "2 FZD9 WNT11 False False False user_curated \n", "3 MUSK WNT11 False False False user_curated \n", "4 FZD6 WNT11 False False False user_curated \n", "5 FZD7 WNT11 False False False user_curated \n", "... ... ... ... ... ... ... \n", "4680 NPFFR1 NPVF False False False user_curated \n", "4681 LRRC4C NTNG1 False False False user_curated \n", "4682 RTN4 TNFRSF19 False False False user_curated \n", "4683 IL17RB IL17B False False False user_curated \n", "4684 TNFSF18 TNFRSF18 False False False user_curated \n", "\n", " ... endocardial/endothelial (EC)|endocardial/endothelial (EC) \\\n", "1 ... 1.0 \n", "2 ... 1.0 \n", "3 ... 1.0 \n", "4 ... 1.0 \n", "5 ... 1.0 \n", "... ... ... \n", "4680 ... 1.0 \n", "4681 ... 1.0 \n", "4682 ... 1.0 \n", "4683 ... 1.0 \n", "4684 ... 1.0 \n", "\n", " endocardial/endothelial (EC)|ventricular-specific CM \\\n", "1 1.0 \n", "2 1.0 \n", "3 1.0 \n", "4 1.0 \n", "5 1.0 \n", "... ... \n", "4680 1.0 \n", "4681 1.0 \n", "4682 1.0 \n", "4683 1.0 \n", "4684 1.0 \n", "\n", " ventricular-specific CM|atrial-specific CM \\\n", "1 1.0 \n", "2 1.0 \n", "3 1.0 \n", "4 1.0 \n", "5 1.0 \n", "... ... \n", "4680 1.0 \n", "4681 1.0 \n", "4682 1.0 \n", "4683 1.0 \n", "4684 1.0 \n", "\n", " ventricular-specific CM|epicardial (EP) \\\n", "1 1.0 \n", "2 1.0 \n", "3 1.0 \n", "4 1.0 \n", "5 1.0 \n", "... ... \n", "4680 1.0 \n", "4681 1.0 \n", "4682 1.0 \n", "4683 1.0 \n", "4684 1.0 \n", "\n", " ventricular-specific CM|endocardial/endothelial (EC) \\\n", "1 1.0 \n", "2 1.0 \n", "3 1.0 \n", "4 1.0 \n", "5 1.0 \n", "... ... \n", "4680 1.0 \n", "4681 1.0 \n", "4682 1.0 \n", "4683 1.0 \n", "4684 1.0 \n", "\n", " ventricular-specific CM|ventricular-specific CM blood|blood \\\n", "1 1.0 1.0 \n", "2 1.0 1.0 \n", "3 1.0 1.0 \n", "4 1.0 1.0 \n", "5 1.0 1.0 \n", "... ... ... \n", "4680 1.0 1.0 \n", "4681 1.0 1.0 \n", "4682 1.0 1.0 \n", "4683 1.0 1.0 \n", "4684 1.0 1.0 \n", "\n", " blood|fibro-mesenchymal (FM) fibro-mesenchymal (FM)|blood \\\n", "1 1.0 1.0 \n", "2 1.0 1.0 \n", "3 1.0 1.0 \n", "4 1.0 1.0 \n", "5 1.0 1.0 \n", "... ... ... \n", "4680 1.0 1.0 \n", "4681 1.0 1.0 \n", "4682 1.0 1.0 \n", "4683 1.0 1.0 \n", "4684 1.0 1.0 \n", "\n", " fibro-mesenchymal (FM)|fibro-mesenchymal (FM) \n", "1 1.0 \n", "2 1.0 \n", "3 1.0 \n", "4 1.0 \n", "5 1.0 \n", "... ... \n", "4680 1.0 \n", "4681 1.0 \n", "4682 1.0 \n", "4683 1.0 \n", "4684 1.0 \n", "\n", "[3673 rows x 31 columns]" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "##### p-value\n", "ms_data.merged_data.tl.result['cell_cell_communication']['pvalues']\n", "# data_niche.tl.result['cell_cell_communication']['pvalues']" ] }, { "cell_type": "markdown", "id": "84129ad6-93e6-473a-aed1-0df15e5a1c89", "metadata": {}, "source": [ "Set parameters, `output`, `*_filename` and `output_format`, to save results into files, more in [API](https://stereopy.readthedocs.io/en/latest/content/stereo.algorithm.cell_cell_communication.CellCellCommunication.main.html)." ] }, { "cell_type": "markdown", "id": "f8949b49", "metadata": {}, "source": [ "## Visualization of communication" ] }, { "cell_type": "markdown", "id": "14b683aa-326e-4386-934a-da34f60151cc", "metadata": {}, "source": [ "We provide dot plot, heatmap, circos plot and sankey plot for visualizing the CCC analysis results." ] }, { "cell_type": "markdown", "id": "9e8c7039", "metadata": {}, "source": [ "
\n", "\n", "**Note**\n", "\n", "Currently, only `statistical` analysis type is supported to visualization.\n", "\n", "
" ] }, { "cell_type": "markdown", "id": "64d6b054", "metadata": {}, "source": [ "
\n", "\n", "**Note**\n", "\n", "On this example, you need to replace `ms_data` to `data_niche` when running the visualization functions if analysis is done on niche.\n", "\n", "
" ] }, { "cell_type": "markdown", "id": "a8904314-096b-4330-86e6-b23fcd1d1d7e", "metadata": {}, "source": [ "### Dot plot\n", "\n", "Here we recommend setting `interacting_pairs` and `clusters1` /`clusters2`before plotting, because the whole result might be too huge to be displayed." ] }, { "cell_type": "code", "execution_count": 21, "id": "7b6e78d7-a453-433e-a791-d6ad67f2b332", "metadata": { "ExecuteTime": { "end_time": "2023-04-03T08:27:39.767890Z", "start_time": "2023-04-03T08:27:39.107102Z" }, "execution": { "iopub.execute_input": "2023-11-13T08:50:34.095750Z", "iopub.status.busy": "2023-11-13T08:50:34.095470Z", "iopub.status.idle": "2023-11-13T08:50:34.720686Z", "shell.execute_reply": "2023-11-13T08:50:34.719552Z", "shell.execute_reply.started": "2023-11-13T08:50:34.095723Z" }, "tags": [] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[2023-11-13 16:50:34][Stereo][15833][MainThread][139891007416128][ms_pipeline][128][INFO]: register plot_func ccc_dot_plot to -139890412633488\n", "[2023-11-13 16:50:34][Stereo][15833][MainThread][139891007416128][plot_ccc][74][INFO]: Generating dot plot\n" ] }, { "data": {}, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.holoviews_exec.v0+json": "", "text/html": [ "
\n", "
\n", "
\n", "" ], "text/plain": [ "Column\n", " [0] Markdown(str)\n", " [1] Row\n", " [0] TextInput(name='file name', placeholder='Enter a file name...', width=200)\n", " [1] Select(name='file format', options=['png', 'pdf'], value='png', width=60)\n", " [2] IntInput(name='dpi', placeholder='Enter the dip...', start=0, value=100, width=200)\n", " [2] Row\n", " [0] Button(button_type='primary', name='export', width=100)\n", " [1] StaticText(width=800)" ] }, "execution_count": 21, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "1056" } }, "output_type": "execute_result" }, { "data": { "image/png": "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JX379lVkZGSO59lsNn366acaOXKkZs2apdTUVDVv3lzz5s1TvXr1CqXvKLkM0zTNy90JwBsSExMVGRmphIQERUREXO7uAAAAAJeMe1ygaGFNFAAAAAAAAAsIUf6fvfsOa+rs3wB+n4StbAVFRZaKotY9aguIAxX31tZt66qrQ6vWXbV11lFnFdRqi4qjDhy4qK2t4qhVwCKiIrhApiwh5/cHP/I2ZRgQchK4P9fF9b45zzknd/q+aZ588wwiIiIiIiIiIjWwiEJEREREREREpAYWUYiIiIiIiIiI1MAiChERERERERGRGlhEISIiIiIiIiJSA4soRERERERERERqYBGFiIiIiIiIiEgNLKIQEREREREREamBRRQiIiIiIiIiIjWwiEJEREREREREpAYWUYiIiIiIiIiI1MAiChEREREREWlUamoq5s+fjy5dusDKygqCIMDPz0+ta8+ePYvRo0ejbt26MDExgZOTE8aOHYsnT56UbWgiAHpSByAiIiIiIqKKJS4uDosWLYK9vT3eeecdXLhwQe1rZ86ciZcvX2LAgAGoU6cO7t+/jw0bNuDYsWO4efMmqlWrVnbBqcJjEYWIiIiIiIg0qnr16njy5AmqVauGkJAQtGzZUu1rV69ejffeew8y2f8mVnTp0gUeHh7YsGEDvv7667KITASARRQiIiIiIiLSMENDwxKPGHF3dy/wmJWVFcLCwt42GlGRuCYKERERERER6bTU1FSkpqaiSpUqUkehco4jUYiIiIiIiEgp9Ggg7gf/Bif3dmjQo6vUcdTy3XffISsrC4MGDZI6CpVzHIlCREREREREAHILKH59hiB4zQb49RmC0KOBUkd6o+DgYCxcuBADBw6El5eX1HGonGMRhYiIiIiIiAAA94N/K/KxtgkPD0efPn3QsGFD/PDDD1LHoQqARRQiIiIiIiICADi5tyvysTaJjo5G586dYW5ujhMnTsDU1FTqSFQBcE0UIiIiIiIiAgA06NEVIw/9pPVrosTHx6Nz587IzMzE2bNnUb16dakjUQXBIgoREREREREpNejRVWuKJ0+ePEFSUhKcnZ2hr68PAHj16hW6deuGmJgYnD9/HnXq1JE4JVUkLKIQERERERGRxm3YsAGJiYmIjY0FABw9ehSPHz8GAEyePBnm5uaYNWsWdu7ciaioKDg4OAAAPvjgA1y5cgWj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Al/PqlWrxBo1aoiGhoZiu3btxJCQENHDw0P08PBQOS8rK0v89ttvRTc3N9HQ0FC0tLQUmzdvLi5cuFDl/4uJiYmigYGB+MMPPxT4esojQRQLWUKYSMckJyfD3NwcSUlJMDMzkzoOEREREdFbYx+35BITE2FpaYmvv/4ac+bMKfPn69ChA+zs7LB7927lMQcHBzRs2BDHjh0r8+eXwnfffYfly5cjMjIy325F5RXXRCEiIiIiIiKdlp6enu9Y3loqnp6eGsmwdOlS+Pv7K7dcLu9ev36N1atX46uvvqowBRSAa6IQERERERGRjvP394efnx+6deuGypUr49KlS/jpp5/QuXNntGvXTiMZWrdurbJoa3mnr6+PR48eSR1D41hEISIiIiIiIp3WuHFj6OnpYfny5UhOTlYuNpu3YCxRaeGaKFRucL4oEREREZU37OMSaReuiUJEREREREREpAYWUYiIiIiIiIiI1MAiChERERERERGRGlhEISIiIiIiIiJSA4soRERERERERERqYBGFiIiIiIiIiEgNLKIQEREREREREamBRRQiIiIiIiIiIjWwiEJEREREREQAgOfPn+Po0aP4+eefcfToUTx//rxMniczMxMzZ86EnZ0djI2N0bp1a5w5c0ata2NiYjBw4EBYWFjAzMwMvXr1wv3798skJ9F/6UkdgIiIiIiIiKQVGhoKX19fBAcHIycnR3lcLpfD3d0do0aNQoMGDUrt+UaOHIkDBw5g2rRpqFOnDvz8/NCtWzecP38e7733XqHXpaamon379khKSsLs2bOhr6+PNWvWwMPDAzdv3oS1tXWpZSQqiCCKoih1CKLSkJycDHNzcyQlJcHMzEzqOEREREREb00Tfdzz589jzpw5yMrKKvQcAwMDLF26FJ6enm/9fFeuXEHr1q2xYsUKfP755wCAjIwMNGzYEDY2Nvj9998LvXb58uWYOXMmrly5gpYtWwIAwsPD0bBhQ8yYMQNLly5963xEReF0HiIiIiIiogoqNDT0jQUUAMjKysLs2bMRGhr61s954MAByOVyfPzxx8pjRkZGGDNmDC5fvozo6Ogir23ZsqWygAIArq6u6NChA/bt2/fW2YjehEUUIiIiIiKiCsrX1/eNBZQ8WVlZ8PX1fevnvHHjBurWrZtvZE2rVq0AADdv3izwOoVCgVu3bqFFixb52lq1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uRLHjx9HTk4OrK2t4eDgAEtLS4iiiISEBERFRSEhIQFyuRzdunXD559/jvfee0/q6ERERDqLRRQiItKolJQUbN++HX5+frh16xYEQQAA5ZaR2dnZAABRFNGwYUOMHj0ao0ePhpmZmWSZibTZixcvcOzYMVy+fBnh4eGIj48HAFhbW8PV1RVt27aFj48PbGxsJE5KRESk+1hEISqBr776CseOHcPNmzcLbG/atCl69+6N+fPnazYYkY558OABfv/990K/+Dk6OkqckIiIKhr284ioKHpSByDSRQcOHECfPn0Kbe/WrRv8/f354Ur0Bg4ODnBwcJA6BhERkRL7eURUFC4sS1QCjx49grOzc6Htjo6OePjwoQYTEREREVFpYD+PiIrCIgpRCVSuXLnID8+oqCgYGRlpMBERERERlQb284ioKCyiEJWAp6cntmzZgpiYmHxt0dHR2Lp1K9q3by9BMiIiIiJ6G+znEVFRuLAsUQncvXsXrVq1giAIGDNmDNzc3AAAt2/fxo4dOyCKIv744w/Ur19f4qREREREVBzs5xFRUVhEISqhW7duYfLkyfj1119Vjru7u2PdunVo3LixRMmIiIiI6G2wn0dEhWERhegtxcXF4f79+wAAJycnVKlSReJERERERFQa2M8jov9iEYWIiDQmODi4RNe5u7uXchIi3SaTySAIQrGuEQQB2dnZZZSIiIioYtCTOgCRLti1axcAYNiwYRAEQfn4TYYPH16WsYh0jqenZ7G++ImiCEEQkJOTU4apiHTPvHnzil1EIaKCsZ9HRMXBkShEasj7xS89PR0GBgaQyd68sRW/+BHld/HixRJd5+HhUcpJiIiIcrGfR0TFwZEoRGqIiooCABgYGKg8JqLiYTGEiIi0Dft5RFQcLKIQqWHt2rUYNmwYateuDSD314eqVavC2NhY4mRERET/8/jxY9y4cQNJSUlQKBT52jn9gCg/9vOIqDg4nYdIDTKZDD/++COGDh0KAJDL5di9e7fyMRGVXEZGBgICAnD9+vUCv/gJgoDt27dLlI5IN2RkZGDEiBEICAiAQqGAIAjI6+L9e+0UTj8gyo/9PCIqDo5EIVKDra2tcns7AGDtkah0PHz4EO3bt8eDBw9gYWGBpKQkWFlZITExETk5OahSpQoqV64sdUwirTd79mwcPHgQS5YsQdu2beHp6YmdO3eievXq+O677xAbG6v2YplEFQ37eURUHByJQqSGsWPHYteuXWjTpg0sLCxw7NgxNG3aFDVq1Cj0GkEQcOTIEQ2mJNI9AwcOxNmzZxEYGAgnJyfY2NggKCgI7dq1w7p167BhwwYEBQWhTp06Ukcl0mr29vbo0qULtm7divj4eFStWhVBQUHw8vICAHh5eaFevXrYtGmTxEmJtA/7eURUHByJQqSGtWvXwsbGBufPn8edO3cgCAKio6Px8uXLQq/h1pNEb3bu3DlMnDgRrVq1Ur6fRFGEoaEhvvjiC4SFhWHatGk4fvy4xEmJtNvz58/RqlUrAFCu4/Dq1Stle79+/bBo0SIWUYgKwH4eERUHiyhEaqhUqRKWLl2qfCyTyfDdd99xrizRW0pLS4ODgwMAwMzMDIIgICkpSdnetm1bfP755xKlI9Idtra2iI+PBwCYmJjA0tISd+/eRY8ePQAAycnJyMjIkDIikdZiP4+IioNFFKISOH/+POrXry91DCKdZ29vj8ePHwMA9PT0UKNGDfzxxx/o27cvACA0NBRGRkZSRiTSCa1bt8alS5cwc+ZMAECPHj2wYsUKVK9eHQqFAmvWrEGbNm0kTkmkG9jPI6KicE0UIiKSzMSJE/HHH3/g+vXrAIB58+Zh2bJlGDlyJBQKBXbv3o3hw4fjhx9+kDgpkXa7dOkS9u/fj+XLl8PQ0BDR0dHo2LEjIiIiAADOzs44duwY6tWrJ3FSIiIi3cYiCpEaHB0dIZPJEB4eDn19fTg6Or5xLqwgCIiMjNRQQiLd9OjRI1y9ehXdu3eHoaEhMjIy8MknnyAgIAByuRzdu3fHunXrYGZmJnVUIp2jUCjw999/Qy6Xw9XVFXp6HIBMVBD284ioOPhpSqQGDw8PCIIAmUym8piI3o69vT3s7e2Vj42MjPDDDz9w5AlRKZDJZHjnnXekjkGk9djPI6Li4EgUIiIiIh0THBwMAHB3d1d5/CZ55xMREVHJsIhCREQas2jRIgiCgDlz5kAmk2HRokVvvEYQBMydO1cD6Yh0h0wmgyAISE9Ph4GBgfJxYURRhCAIyMnJ0WBKIiKi8odFFKIS+Omnn3Dq1Cn4+fkV2D5q1Ch07doVAwcO1GwwIi1X0Be/N+EXP6L8Ll68CCB32sG/H79J3vlEVDj284ioKCyiEJVAq1at0LRpU2zZsqXA9okTJ+LGjRu4fPmyhpMRERER0dtgP4+IivLmnwCJKJ+7d++iadOmhba/8847CA8P12AiIiIiIioN7OcRUVG4Ow9RCYiiiMTExELbExIS8Pr1a80FIiKiCmX06NHFvkYQBGzfvr0M0hCVL+znEVFROJ2HqAQ8PDyQmJiIq1evwsDAQKUtMzMTLVu2hLm5OX799VeJEhJpJ0dHx2JvGykIAiIjI8soEZFucnBwyPdeSktLw4sXLwAAlpaWAHK/7AFA1apVUalSJdy/f1+zQYl0EPt5RFQUjkQhKoEvv/wS3bt3R/v27fHll1/Czc0NAHD79m0sW7YMd+7cwS+//CJxSiLt4+HhUewiChHl9+DBA5XHoaGh6Ny5M2bPno1p06ahSpUqAIC4uDisWbMGu3btwvHjxyVISqR72M8joqJwJApRCfn5+WHq1KlITU1VHhNFEaamplizZk2JhloTERGVRIcOHeDk5IRt27YV2P7RRx8hKioKQUFBGk5GpJvYzyOiwrCIQvQWkpOTcfr0aeXwaGdnZ3Tu3BmmpqYSJyMiooqkUqVKWLlyJSZMmFBg+8aNGzFjxgyVL4REVDT284ioICyiEBGRpJKTk7Fx40acP38ez58/x5YtW9CqVSu8fPkSfn5+6NmzJ1xcXKSOSaTVatWqhaZNmxY6xaB79+64efMmHj9+rOFkRERE5Qu3OCYqoZycHPz8888YN24c+vTpg7///hsAkJSUhIMHD+LZs2cSJyTSfo8fP0bTpk0xb948PH78GLdu3VL+Um5lZYUtW7Zg/fr1Eqck0n7jxo3DsWPH0KtXLwQFBeHBgwd48OABzpw5g549eyIwMBDjx4+XOiaRzmA/j4gKw4VliUogMTERXbp0wZUrV1C5cmW8evUKkydPBgBUrlwZU6ZMwfDhw7F06VKJkxJpty+++AIpKSm4efMmbGxsYGNjo9Leu3dvHDt2TKJ0RLrjq6++QmZmJlasWJHvPaOnp4cvv/wSX331lUTpiHQL+3lEVBSORCEqgS+//BJ37tzBqVOncP/+ffx7VpxcLkf//v1x4sQJCRMS6YbTp09jypQpaNCgQYG79jg5OSE6OlqCZES6Z/HixXj8+DH27NmDpUuXYunSpdizZw9iYmKwZMkSqeMR6Qz284ioKByJQlQChw8fxuTJk9GpUyfEx8fna69bty78/Pw0H4xIx6Snp6Nq1aqFtqekpGgwDZFuSktLw/vvv4+PPvoI48ePx+DBg6WORKTT2M8joqJwJApRCSQlJcHR0bHQ9tevXyM7O1uDiYh0U4MGDRAcHFxo++HDh9G0aVMNJiLSPSYmJoiKiipwNBcRFR/7eURUFBZRiErA2dkZ169fL7T99OnTaNCggQYTEemmadOm4eeff8a3336LpKQkAIBCocC9e/cwbNgwXL58GdOnT5c4JZH269KlC06dOiV1DKJygf08IioKiyhEJTB27Fjs2LED/v7+ynmygiAgMzMTc+bMwcmTJzFu3DiJUxJpvw8//BCLFi3CV199hbp16wLI/TJYr149/Pzzz1i6dCl69+4tbUgiHTB37lz8888/GDZsGC5duoSYmBi8fPky3x8RvRn7eURUFEH890pJRKQWURTx8ccfY/v27bCwsEBiYiJsbW0RHx+P7OxsjBs3Dps2bZI6JpHOePToEQICAnDv3j0oFAo4Ozujb9++cHJykjoakU6Qyf73u1hR03pycnI0EYdIp7GfR0RFYRGF6C1cunQJ+/fvV/niN3DgQLi7u0sdjYiIKpAFCxaotSbK/PnzNZCGqHxgP4+ICsIiChERaYXU1FQkJCSgoI8le3t7CRIREREREaniFsdEb+Hly5cICgrCgwcPAACOjo7w8vKCtbW1tMGIdERGRgYWLlyI7du3F7iNZB5OQSAiIk1jP4+ICsIiClEJLViwAN9++y0yMzNVjhsYGGDGjBlYtGiRRMmIdMfEiROxc+dO9O7dG++//z4sLS2ljkSk03777Tdcv34dSUlJUCgUKm2CIGDu3LkSJSPSLeznEVFhOJ2HqAQWL16M+fPnw8fHB5988olyV5G7d+9iw4YNCAwMxIIFC9hZJXoDCwsLDBo0CFu2bJE6CpFOe/nyJXx8fHDlyhWIoghBEFR2Fck7xlFdRG/Gfh4RFYVFFKISqFGjBlq0aIEjR44U2N6jRw9cu3YNsbGxGk5GpFssLS3xzTffcKtIorc0ZswY/Pzzz9ixYwdat24NJycnnDp1Co6OjlizZg0uX76MwMBA2NraSh2VSOuxn0dERZG9+RQi+q+kpCR06dKl0PZu3bohJSVFg4mIdFOvXr0QFBQkdQwinXfixAmMGzcOgwYNgqmpKYDcbY9dXFzw/fffw8HBAdOmTZM2JJGOYD+PiIrCIgpRCbRr1w5//vlnoe1//vkn2rVrp8FERLrh5cuXKn9z587F/fv38fHHH+PatWt48eJFvnNevnwpdWwirZeYmAg3NzcAQOXKlQHk7niVp3Pnzjh16pQk2Yh0Dft5RFQULixLVAKbN29Gly5dMH36dEyaNAlOTk4AgPv372PDhg34448/cPLkSYlTEmmfKlWqQBAElWOiKOLGjRvYvn17oddxHQeiotnZ2eHp06cAAENDQ9jY2OCvv/5Cr169AAAxMTH53ntEVDD284ioKFwThagETE1NoVAokJGRASB3yDQA5U4IhoaG0NNTrVEKgoCkpCTNBiXSMgsWLCjRF7n58+eXQRqi8mPUqFGIiorChQsXAABTp07F9u3bMWvWLCgUCixfvhze3t44cOCAtEGJdAD7eURUFI5EISqBfv368Rc9ohJYsGCB1BGIyqVPP/0UZ86cQWZmJgwNDbFgwQLcuXNHuXuIu7s71q9fL3FKIt3Afh4RFYUjUYiISDKjR4/GuHHj0Lp16wLbr1y5gs2bN2PHjh0aTkZUPiQmJkIulysXmyUiIqK3w4VliYhIMn5+foiMjCy0PSoqCjt37tRgIqLyxcLCggUUIiKiUsQiClEJnD17FitWrFA5tmPHDtjb28PW1hbTp0/nQphEpSA2NhbGxsZSxyDSeuvWrYO3t3eh7V27dsWmTZs0mIhId7GfR0RF4ZooRCWwYMEC1K5dW/n477//xrhx49C4cWO4uLhg3bp1qFatGmbOnClhSiLtdOTIERw5ckT5eOvWrQgKCsp3XmJiIoKCgtCyZUtNxiPSSdu3b4eXl1eh7Q0aNMDWrVsxYcIEDaYi0k3s5xFRUVhEISqBsLAw9OvXT/l49+7dMDMzw6+//goTExOMHz8eu3bt4ocrUQFCQ0Oxf/9+ALm7Gfz555+4du2ayjmCIKBSpUpwd3fH6tWrpYhJpFMiIyMxadKkQttdXV2xbds2DSYi0l3s5xFRUTidh6gEXr16BTMzM+XjkydPokuXLjAxMQEAtGzZEg8fPpQqHpFWmzVrFlJSUpCSkgJRFLF9+3bl47y/5ORkPHnyBMeOHUPdunWljkyk9QwMDPD06dNC2588eaLcppWIisZ+HhEVhZ+mRCVQq1YtXL16FQBw79493L59G507d1a2v3z5EoaGhlLFI9IZCoUCQ4cOlToGkc5r06YN/Pz8kJKSkq8tKSkJvr6+aNOmjQTJiHQP+3lEVBRO5yEqgQ8++ACLFi1CTEwM7ty5A0tLS/Tq1UvZfu3aNf56TlQMUVFRCAwMVP6yV7t2bXTt2hWOjo4SJyPSDfPnz4eHhweaNGmCadOmwc3NDQBw+/ZtfPfdd3jy5An27t0rcUoi3cB+HhEVhUUUohKYM2cOsrKycOLECdjb28PPzw8WFhYAcn+duHDhAqZOnSptSCId8dlnn2Ht2rVQKBQqx2UyGaZNm4aVK1dKlIxId7Ru3RpHjx7FuHHjMHXqVAiCAAAQRRGOjo745Zdf0LZtW4lTEukG9vOIqCiCKIqi1CGIiKhiWrVqFb744gv0798fn332GerXrw8gd1G/NWvWYP/+/Vi5ciWmT58ucVIi3aBQKHDjxg1ERkYCAJydndGsWTNlUYWIiIjeDosoRKUgIyMD+/btg7e3N2xtbaWOQ6QzXF1d4erqisOHDxfY3rt3b4SHhyM8PFyzwYiIiP4f+3lE9G+czkNUCpKSkjBq1CicOXOGH65ExfDgwYMih0R7e3vj5MmTGkxEpBuCg4MBAO7u7iqP3yTvfCJSH/t5RPRvLKIQlRIO6iIqPhsbG/z111+Ftv/111+oWrWqBhMR6QZPT08IgoD09HQYGBgoHxdGFEUIgoCcnBwNpiQqP9jPI6I8LKIQlRLONycqvgEDBmDt2rVwcHDA5MmTUalSJQDAq1evsGHDBvzwww+YNm2atCGJtND58+cBAAYGBiqPiahssJ9HRHm4JgpRKXj27BmqV6+OoKAgeHl5SR2HSGekpaWhR48eOH/+PPT09GBnZwcAiI2NRXZ2Ntq3b4+jR4/CxMRE4qRERFQRvH79GmFhYbCyskLNmjUBsJ9HRKpYRCEiIskdOXIEgYGBePjwIQCgdu3a6NatG3r06MFf/4iK6fnz53jw4AEAwMHBATY2NtIGItIhOTk5MDIywqpVqzBlyhSp4xCRFuJ0HiIiklyvXr3Qq1cvqWMQ6bSzZ89i5syZuHHjhsrxpk2b4ptvvkHHjh0lSkakO+RyOWrXro3MzEypoxCRluJIFCI1lGTopiAIOHv2bBmkISIiUnXo0CEMGDAAtra2GD58OOrWrQsAuHv3Lnbv3o3nz59j37596NOnj8RJibTf2rVrsWHDBvz555+wsrKSOg4RaRkWUYjU8KZdDwrDhf6IVDk6Ohb7vSQIAiIjI8soEVH54ObmBn19ffz6668wNTVVaUtOTsZ7772HnJwc3LlzR6KERLpj9erV2LFjB2JiYtC/f384ODjA2NhY5RxBEDB9+nSJEhKRlFhEISIijRk5cmS+IkpISAju3LmDBg0aoF69egByfz0PDQ1Fw4YN0bx5c/j6+koRl0hnGBsb45tvvsHUqVMLbF+7di1mzZqFtLQ0DScj0j0ymeyN53DLcKKKi2uiEBGRxvj5+ak8Pnz4MA4fPowzZ86gQ4cOKm1nzpzBwIEDsXjxYg0mJNJNrq6ueP78eaHtz549U07xIaKiRUVFSR2BiLQYR6IQvaWUlBQkJSVBoVDka7O3t5cgEZHuaNy4MXr37o1FixYV2D537lwcPnwYf//9t4aTEemWM2fOYPDgwdixY0e+RZoPHTqEsWPHwt/fn4vLEhERvSWORCEqoU2bNmH16tW4f/9+oedwmCdR0SIiImBtbV1ou7W1NddDIVLD+vXrUbVqVfTt2xd2dnZwcXEBANy7dw+xsbGoW7cu1q1bh3Xr1imvEQQBR44ckSoyERGRTuJIFKIS2Lx5MyZOnAhvb2+4u7tjzpw5mD59OoyMjODn5wdbW1tMmTIFI0eOlDoqkVZr2LAh9PT0cOnSJVSuXFmlLSUlBe3atYNCocDt27clSkikGxwcHEq0aHNRPwQQVWS3bt3C+vXrcf369QJHHHPRc6KKi0UUohJwc3ODvb09AgMDER8fj6pVqyIoKAheXl5ISkpCixYtMH78eHz22WdSRyXSaocPH0b//v1RrVo1jBw5UvnreUREBHbu3Ilnz55h//796N27t7RBiYiowrhw4QK6dOkCS0tLtGjRAsePH4eXlxcyMjJw+fJluLm5cdFzogqMRRSiEjAyMsLq1asxceJEJCcnw8LCAidOnECXLl0AAN9++y22bt3KXyiI1HD69GnMnDkTf/31l8rxJk2aYNmyZfD29pYoGRERVUTu7u6Ii4vDH3/8gaysLNjY2Ch/LPvzzz/RtWtX7NmzB127dpU6KhFJ4M37dxFRPubm5sjOzgYAmJmZwcTEBNHR0cp2U1NTPH36VKp4RDqlc+fOuHHjBmJjY3H58mVcvnwZsbGxuH79OgsoRMWQk5ODn3/+GePGjUOfPn2UCzInJSXh4MGDePbsmcQJiXTD9evXMWbMGJiZmUEulwP43zp3rVu3xrhx4zB37lwpIxKRhLiwLFEJNGzYUOVX8zZt2mDTpk3o1q0bFAoFtmzZwq0kiYqpWrVqqFatmtQxiHRSYmIiunTpgitXrqBy5cp49eoVJk+eDACoXLkypkyZguHDh2Pp0qUSJyXSfnp6ejA1NQUAWFhYQF9fX2ULcScnJ4SGhkoVj4gkxiIKUQl8+OGH2Lx5MzIzM2FoaIiFCxeiY8eOyi2N9fX1ERAQIHFKIt2Qk5ODU6dO4f79+0hISMB/Z5kKgsBf/Ije4Msvv8SdO3dw6tQpNG3aFDY2Nso2uVyO/v3748SJEyyiEKnBxcUFERERAHI/g1xdXXHo0CF88MEHAIDjx4+z6E9UgXFNFKJScv/+fRw9ehRyuRydO3fmSBQiNYSEhKBfv354/PhxvuJJHkEQuF040RtUq1YNo0ePxtKlS/MteA4AGzduxOzZs5GYmChtUCIdMG/ePOzYsQMPHjyAnp4edu7ciVGjRsHZ2RkAEBkZiWXLlmHmzJkSJyUiKXAkClEpcXJywtSpU6WOQaRTJk6ciPT0dBw+fBjvv/8+LCwspI5EpJOSkpLg6OhYaPvr16+Va3kRUdHmzp2LqVOnKtdDGTFiBORyOQICAiCXyzFnzhyMHDlS2pBEJBkWUYiISDK3bt3CkiVL0KNHD6mjEOk0Z2dnXL9+vdD206dPo0GDBhpMRKS79PX1YW1trXLsww8/xIcffihRIiLSJtydh0gNMpkMenp6yMrKUj6Wy+VF/unpsUZJ9CY1a9YsdBoPEalv7Nix2LFjB/z9/ZXvKUEQkJmZiTlz5uDkyZMYN26cxCmJiIh0H7/lEalh3rx5EARBWRjJe0xEb2fmzJlYuXIlPv74Y5iZmUkdh0hnTZ06FXfu3MGQIUOU0+KGDh2K+Ph4ZGdnY9y4cRgzZoy0IYm0VN7aQcUhCALOnj1bBmmISNtxYVkiIpLM6tWrsWfPHkRHR2Pw4MGoVauWcg56HkEQMH36dIkSEumWS5cu4cCBA4iIiIBCoYCzszMGDhwId3d3qaMRaS1PT88S/Th2/vz5MkhDRNqORRSiYkpLS8P777+Pjz76COPHj5c6DpFOk8nePKuUu/MQERERkbbgdB6iYjIxMUFUVBSn8xCVgqioKKkjEBERERGpjSNRiEpg6NChyMjIwMGDB6WOQkREFVBwcHCp3IfTfIjye/TokVrn2dvbl3ESItJGLKIQlUBYWBgGDBiApk2bYty4cXB0dISxsXG+86ysrCRIR6R7YmJiEBwcjOfPn6Nfv36oWbMmcnJykJSUBHNz83zrpBBVdDKZDIIgvNXuVpwqR1SwvPfXm/D9Q1QxcToPUQm4ubkBAEJDQ7F3795Cz+OHK1HRRFHEZ599hg0bNiA7OxuCIKBRo0aoWbMmUlNT4eDggEWLFmHatGlSRyXSKpwKR1R2duzYka+IkpOTgwcPHmDXrl2wsbHBpEmTJEpHRFJjEYWoBLjFMVHpWLFiBdauXYuZM2eiQ4cO6NSpk7LN3Nwcffv2RUBAAIsoRP9Ru3ZtqSMQlVsjR44stG3mzJlo3bo1kpKSNBeIiLQKp/MQEZFk6tSpg/feew++vr6Ij49H1apVERQUBC8vLwC5WyB/++23ePbsmcRJiYiIcq1atQobNmzgiDCiCurNe0sSUT6jR4/Gn3/+WWj7lStXMHr0aA0mItJN0dHRePfddwttr1SpEpKTkzWYiEh3paamIiQkBCdPnsSpU6dw7do1pKSkSB2LqNxRKBR4+vSp1DGISCKczkNUAn5+fujYsSNat25dYHtUVBR27tyJHTt2aDgZkW6xsbFBdHR0oe3Xrl3j7gdERcj7vDly5Ahu374NhUKh0i6TyeDm5obevXtj+PDhcHJykigpke5LTk5GcHAwVqxYgaZNm0odh4gkwiIKURmIjY0tcLceIlLVt29fbN68GSNHjoS5uTkAKNcbOn36NPz8/DBjxgwpIxJppdDQUMybNw+HDh2ChYUFPD09MWDAADg5OcHS0hKiKCIhIQFRUVG4du0aNmzYgMWLF6NPnz5YvHgx6tevL/VLINJaRe3OI4oi7O3tsXHjRg2nIiJtwTVRiNR05MgRHDlyBEDuSBR3d/cCf9FLTExEUFAQmjdvjvPnz2s6JpFOSUpKgru7O6KiovD+++/j5MmT6NSpE1JTU3H58mU0bdoUwcHBMDExkToqkVbR19eHj48Pxo8fj44dO0JPr+jfxbKzsxEUFITNmzfjxIkTyMrK0lBSIt2zYMGCfEUUQRBgaWkJZ2dndO7c+Y3vOSIqv1hEIVLTsmXLsHTpUgBAWloaDAwM8n2ACoKASpUqoXnz5li9ejXq1q0rRVQinZKeno5Vq1bhwIEDiIiIgEKhgLOzMwYOHIgvvviCo7qIChAWFlbi0STh4eFwdXUt5UREREQVA4soRCUgk8nw448/YujQoVJHIdI5OTk5kMvlUscgIiIqUHZ2NtLS0mBmZlZge3JyMkxMTDgahaiCYhGFiIg0ysLCAt7e3ujevTu6dOmCqlWrSh2JSGc9ffoUO3fuRFRUFKytrdGvXz80a9ZM6lhEOm3ixIkIDg7G7du3C2xv1KgRvLy8sHbtWg0nIyJtwCIKERFp1Pr163HixAlcvHgRWVlZaN68OXx8fODj44PmzZtLHY9IZ0RFRaFVq1Z4+fIl8rpzMpkMu3bt4khJorfg5OSE4cOHY8GCBQW2L1y4ED/++CMiIiI0G4yItIJM6gBEuiowMBCdOnWCtbU19PT0IJfL8/0RUX6TJ09GYGAg4uPjcejQITRv3hw7duxAy5YtYWdnh9GjR+PgwYNISUmROiqRVluwYAFSUlKwdu1a3L59G4cPH0atWrXw6aef5tvqmIjUFxsbixo1ahTabmdnh5iYGA0mIiJtwol8RCUQEBCAgQMHws3NDYMHD8amTZswdOhQiKKII0eOoE6dOujdu7fUMYm0mrGxMXr06IEePXoAAG7fvo3jx48jMDAQgwcPhiAIeO+999CtWzf4+PhwIUyi/7h06RLGjRuHTz75BADQoEED6OnpoUePHggLC4Obm5vECYl0k7W1Ne7evVtoe1hYWKHrpRBR+ceRKEQlsGzZMrRq1Qo3btzAwoULAQCjR4/Gnj17cPv2bTx58gSOjo4SpyTSLQ0bNsTMmTNx4cIFvHjxArt370atWrWwYsUKuLm54dtvv5U6IpFWiY6Ozrf+SbNmzSCKIuLi4iRKRaT7unTpgi1btuDGjRv52q5fv46tW7eia9euEiQjIm3AkShEJRAaGoply5ZBLpcrV2Z//fo1AMDBwQETJ07Et99+i+HDh0sZk0hnmZubY+DAgRg4cCAA4OrVqxInItI+2dnZ0NfXVzmW9zgnJ0eKSETlwuLFi3Hy5Em0atUKPXv2VI7qun37No4ePQobGxssXrxY4pREJBUWUYhKwMTEBAYGBgBydxoxNDTEkydPlO22traIioqSKh5RudOyZUupIxBppZCQEBgZGSkfp6SkQBAEXLp0CYmJifnO79u3rwbTEekmOzs7hISE4Msvv8SRI0dw6NAhAICZmRk++OADLF26FHZ2dhKnJCKpcHceohJo164dmjVrhvXr1wMA2rZtCxMTE5w6dQrZ2dnw9vbGs2fPEB4eLnFSIu0ik8kgCEKxrhEEAdnZ2WWUiEh3yWTFm5UtCAJHqBAVkyiKePHiBQCgatWqxf4MI6LyhyNRiEqgT58+WLduHVauXAlDQ0PMmTMHvXr1goWFBQRBwKtXr7Bjxw6pYxJpnXnz5rEDSlRKzp8/L3UEonJPEATY2NhIHYOItAhHohCVkl9//RUHDx6EXC6Hj48P2rdvL3UkIiIiInqDRYsWQRAEzJkzBzKZDIsWLXrjNYIgYO7cuRpIR0TahkUUIiIionIuPT0dL168gL29vdRRiLRO3lTT9PR0GBgYqDVVjtPjiCouTuchIiLJPX78GDdu3EBSUhIUCkW+du50RZSfiYkJfH19MWjQIAC5i8oOGjQI33zzDRo3bqxy7sGDBzF8+HB+6SMqwH8/dwr6HCIiysMiCpEagoODS+U+7u7upXIfovIiIyMDI0aMQEBAABQKBQRBQN4AyX+vncIiClF+GRkZKkWRrKwsnDx5Ep9//rmEqYh0W2ZmJk6dOgUHB4d8xUgiIoBFFCK1eHp6qny5KwkO+yTKb/bs2Th48CCWLFmCtm3bwtPTEzt37kT16tXx3XffITY2Frt27ZI6JhERVRAGBgYYMGAA1q5dyyIKERWIRRQiNURFRUkdgahcOnDgAEaNGoWZM2ciPj4eAFCjRg14eXmhY8eO8PLywvfff49NmzZJnJSIiCoCQRBQp04dxMXFSR2FiLQUiyhEaqhdu7bUEYjKpefPn6NVq1YAAGNjYwDAq1evlO39+vXDokWLWEQhIiKNmT17Nj799FMMGDAA9erVkzoOEWkZFlGIiEgytra2yhEoJiYmsLS0xN27d9GjRw8AQHJyMjIyMqSMSKTV/r12UFHHiEh9f/zxB6ytrdGwYUN4enrCwcFBWejPIwgC1q5dK1FCIpIStzgmKqHU1FSEh4cjLi4OgiCgSpUqqFu3LkxNTaWORqQzBg4ciPT0dBw9ehQAMHLkSAQGBmL16tVQKBT47LPP0LRpU5w6dUripETaRyaTwcjICHp6//tNLDU1FcbGxpDL5SrnZmdnIzMzk2tzEamBWxwTUVE4EoWoGKKiorBz504cOXIEt2/fzrcFnkwmg5ubG3r37o3hw4fDyclJoqREumHKlCnYv38/MjMzYWhoiMWLF+Py5csYNmwYAMDZ2Rnr1q2TOCWRdhoxYoTUEYjKJW5xTERF4UgUIjWEhoZi3rx5OHToECwsLODp6YnmzZvDyckJlpaWEEURCQkJiIqKwrVr13Dx4kUkJCSgT58+WLx4MerXry/1SyDSGQqFAn///TfkcjlcXV1VfmUnIiIqa48ePULVqlXzTeHJk56ejhcvXsDe3l7DyYhIG7CIQqQGfX19+Pj4YPz48ejYseMbv9RlZ2cjKCgImzdvxokTJ5CVlaWhpERERET0NuRyOXbv3o2hQ4cW2O7v74+hQ4dyOg9RBcWf94jUcOvWrWKNJtHT00OXLl3QpUsXhIeHl2EyIt0SHBwMAHB3d1d5/CZ55xNRrsuXL6Nt27Yav5aoInjTb8yvX79Wa90UIiqfOBKFiIg0RiaTQRAEpKenw8DAQPm4MKIocvE+ogIYGxujTZs2mDBhArp37w4TE5Miz09NTcUvv/yCzZs3IyQkBGlpaRpKSqQbkpOTkZiYCABwcHDA2rVr0atXr3znJSYmYvbs2bh16xYePXqk4ZREpA04EoWoGJ4+fYqdO3ciKioK1tbW6NevH5o1ayZ1LCKdcf78eQCAgYGBymMiKp5//vkHixYtwrBhw6Cvr4/WrVujWbNmcHR0zLdWV0hICK5cuYLs7GwMHz4ce/bskTo+kdZZs2YNFi1aBCB3551p06Zh2rRpBZ4riiK+/vprDaYjIm3CkShEaoqKikKrVq3w8uVL5TBPmUyGXbt2FTpnloiIqCzFxcVh9+7dOHLkCK5evYr09HSVdmNjY7Ro0QK9evXCsGHDULVqVYmSEmm3y5cv4/fff4coipgxYwaGDBmS74cyQRBQqVIlNG/eHC1atJAoKRFJjUUUIjWNGDEC/v7+WLlyJby8vHDv3j1MnToV6enpiI2N5dxYIiKSVHZ2Nh49eoT4+HgAgLW1Nezt7bnDFVExLVy4EP369UPDhg2ljkJEWohFFCI1OTs7o3v37li7dq3y2IkTJ9CjRw/cunULbm5uEqYj0g2jR48u9jWCIGD79u1lkIaIiIiIqHj40wSRmqKjo/MN62zWrBlEUURcXJxEqYh0y7lz5/ItJJuWloYXL14AACwtLQEACQkJAICqVauiUqVKmg1JREQVXkJCAn766Sfcv38fCQkJ+XbsYYGfqOJiEYVITdnZ2dDX11c5lveYO4cQqefBgwcqj0NDQ9G5c2fMnj0b06ZNQ5UqVQDkrvOwZs0a7Nq1C8ePH5cgKRERVVSnTp1C//798erVK5iZmSkL/P9W1M5yRFS+cToPkZpkMhmmTZuG9957T3ksJSUFo0ePxvz58wucN9u3b19NRiTSOR06dICTkxO2bdtWYPtHH32EqKgoBAUFaTgZERFVVA0bNkRmZiYOHjyIRo0aSR2HiLQMiyhEairuwrGCIHCECtEbVKpUCStXrsSECRMKbN+4cSNmzJiB1NRUDScjIqKKysjICCtWrMDkyZOljkJEWojTeYjUdP78eakjEJU7VlZWCAwMLLSIcuLECVhYWGg2FBERVWh16tRBSkqK1DGISEuxiEKkJg8PD6kjEJU748aNw7x589CrVy9MnjwZLi4uAICIiAisX78egYGBWLhwocQpiYioIvn6668xadIkDB06FA4ODlLHISItwyIKURlIT0/HixcvYG9vL3UUIq321VdfITMzEytWrMCxY8dU2vT09PDll1/iq6++kigdkfbiduFEZefs2bOoWrUq6tevj06dOqFWrVqQy+Uq5wiCgLVr10qUkIikxDVRiNRkYmICX19fDBo0CEDuorKDBg3CN998g8aNG6ucu2fPHgwfPpxrohCpKS4uDkFBQXj48CEAoHbt2ujYsaNytx4iUuXg4FDs3UEEQcD9+/fLKBFR+aHOOnhc+46o4uJIFCI1ZWRkqHxYZmVl4eTJk/j8888lTEWku9LS0vD+++/jo48+wvjx4zF48GCpIxHpjP9uF05EpUehUEgdgYi0WPG2GyEiIiolJiYmiIqKKvav6UREREREUmERhYiIJNOlSxecOnVK6hhERET5/PHHH1i2bBmmT5+OiIgIALmjKK9fv47U1FSJ0xGRVFhEISIiycydOxf//PMPhg0bhkuXLiEmJgYvX77M90dEbxYYGIhOnTrB2toaenp6kMvl+f6I6M2ysrLQt29ftGvXDnPmzMG6desQHR0NIHe9lM6dO3NRWaIKjEUUomIoaNoBpyIQlZybmxtCQ0OxZ88eeHh4wN7eHlWrVs33R0RFCwgIQPfu3fHs2TMMHjwYCoUCQ4YMweDBg2FsbIzGjRtj3rx5Usck0glz587FsWPHsGnTJty9exf/3ofDyMgIAwYMwJEjRyRMSERS4sKyRMUwZswYjBs3TuVY9+7d8/26l52drclYRDpr3rx5LEQSlYJly5ahVatWuHTpEhISErBp0yaMHj0aXl5eePDgAdq0aQNHR0epYxLphJ9++gkTJkzAxx9/jPj4+Hzt9evXx/79+yVIRkTagEUUIjWNGDFC6ghE5c6CBQukjkBULoSGhmLZsmWQy+XQ08vt3r1+/RpA7nbIEydOxLfffovhw4dLGZNIJzx//hyNGjUqtF0ulyMtLU2DiYhIm7CIQqQmX19fqSMQEREVyMTEBAYGBgAACwsLGBoa4smTJ8p2W1tbREVFSRWPSKfUqlUL4eHhhbb/9ttvcHFx0WAiItImLKIQEZHkfvvtN1y/fh1JSUlQKBQqbYIgYO7cuRIlI9IN9erVQ2hoqPJxkyZNsHv3bnz44YfIzs7G3r17YW9vL2FCIt0xdOhQrF69Gv369UPdunUB/G8NvG3btmHfvn345ptvpIxIRBISxH+vlEREBbp8+TLatm2r8WuJyruXL1/Cx8cHV65cgSiKEARBuYBf3n8XBAE5OTkSJyXSbitXrsS6desQEREBQ0NDHDt2DL169YKxsTEEQcCrV6+wY8cOjBw5UuqoRFovKysLPXr0wLlz51C/fn3cuXMHjRo1wsuXL/H48WN069YNR44c4Y5XRBUUiyhEajA2NkabNm0wYcIEdO/eHSYmJkWen5qail9++QWbN29GSEgI580SFWLMmDH4+eefsWPHDrRu3RpOTk44deoUHB0dsWbNGly+fBmBgYGwtbWVOiqRzvn1119x8OBByOVy+Pj4oH379lJHItIZoihiz549OHDgACIiIqBQKODs7IyBAwdi2LBhXBSdqAJjEYVIDdHR0Vi0aBF27doFfX19tG7dGs2aNYOjoyMsLS0hiiISEhIQFRWFkJAQXLlyBdnZ2Rg+fDjmz5+PWrVqSf0SiLRS9erVMWTIEKxevRrx8fGoWrUqzpw5gw4dOgAA+vbtC0NDQ/z0008SJyUiIiIi4pooRGqpVasWtm3bhmXLlmH37t04cuQINm7ciPT0dJXzjI2N0aJFC3z99dcYNmwYqlatKlFiIt2QmJgINzc3AEDlypUB5I7kytO5c2fMnj1bkmxERFQxzZgxA0OGDEHTpk2ljkJEWohFFKJiqFKlCqZPn47p06cjOzsbjx49Qnx8PADA2toa9vb2yq0liejN7Ozs8PTpUwCAoaEhbGxs8Ndff6FXr14AgJiYGA6ZJiqAo6MjZDIZwsPDoa+vD0dHxze+VwRBQGRkpIYSEumu9evXY9WqVXBycsLgwYMxcODAIrc8JqKKhd/2iEpIT08PTk5OcHJykjoKkc5yd3fHmTNnMGfOHADAoEGDsHz5csjlcigUCnz33Xfw9vaWOCWR9vHw8IAgCJDJZCqPiejtPX/+HIcOHYK/vz+WL1+OpUuXwtXVVVlQqVevntQRiUhCXBOFiIgk8/fff+PMmTOYNGkSDA0NkZCQgAEDBuDcuXMAcossP/30E6pXry5xUiIiqogSExMREBCAffv24fz588jJyUGjRo0wePBgfPnll1LHIyIJsIhCRERaJzExEXK5HKamplJHISIiAgDEx8dj9+7dmD9/PlJTU5GTkyN1JCKSAKfzEBGR1rGwsJA6ApFWCw4OLtF17u7upZyEqPx7/fo1AgMD4e/vj6NHjyI1NZU7LxJVYByJQkREklm3bh2OHz+OU6dOFdjetWtX9OzZExMmTNBwMiLtJpPJVNZAEUVRrTVR+Ms5kXqys7Nx+vRp+Pv748iRI0hOTkb16tXRv39/DBo0CO+++67UEYlIIhyJQkREktm+fTu8vLwKbW/QoAG2bt3KIgrRf5w/f17lcWZmJmbMmIG0tDR8/PHHyoUvw8PDsW3bNlSqVAnLly+XIiqRzhkzZgwOHz6MhIQEVKlSBUOGDMHgwYPh7u7OBZyJiCNRiIhIOpUrV8bq1avx8ccfF9i+bds2fPbZZ0hOTtZwMiLd8umnn+LSpUsIDg6GkZGRSltaWho8PDzg7u6OVatWSZSQSHdYW1ujT58+GDRoELy8vCCXy6WORERahCNRiNQwevToYl8jCAK2b99eBmmIyg8DAwM8ffq00PYnT54ot3AlosLt2bMHX331Vb4CCgCYmJhg2LBhWLJkCYsoRGp49uwZ9PT4NYmICsZ/OxCp4dy5c8UevsnhnkRv1qZNG/j5+WH69On5duJJSkqCr68v2rRpI1E6It3x6tUrPHnypND2J0+eIC0tTYOJiHQXCyhEVBRO5yEiIsn8+eef8PDwQI0aNTBt2jS4ubkBAG7fvo3vvvsOsbGxOH/+PNq2bStxUiLt1rt3b5w5cwa7d+9G3759VdoCAgIwbNgweHt749ChQxIlJNJeJd3t6r+4+xVRxcAiChERSerMmTMYN24cHjx4oBzBJYoiHB0dsWnTJnTu3FnihETaLyYmBl5eXrh37x6qV68OFxcXAEBkZCRiY2Ph7OyMc+fOoWbNmhInJdI+ebtdvc3XIkEQuPsVUQXBIgoREUlOoVDgxo0biIyMBAA4OzujWbNmnBZHVAwZGRnYsmULAgMD8fDhQwBA7dq10a1bN3z00UcwNjaWOCGRdsp7v7yt2rVrl8p9iEi7sYhCVEKBgYFYvXo1rl+/jqSkpAJ/veAvEkREVNYyMjKwdetWNGnShNMJiIiIyhi3PCAqgYCAAHTv3h3Pnj3D4MGDoVAoMGTIEAwePBjGxsZo3Lgx5s2bJ3VMIp2Qk5ODnTt3YuDAgWjdujVat26NgQMHYteuXSxEEqnByMgIM2fOxN27d6WOQkREVO5xJApRCbRo0QL6+vq4dOkSEhISYGNjg6CgIHh5eeHBgwdo06YNli9fjuHDh0sdlUirJSUlwdvbG1evXoWpqSmcnJwAAFFRUUhOTkarVq1w6tQpmJmZSZyUSLu1bNkSnTt3xpIlS6SOQlQupKamIjw8HHFxcRAEAVWqVEHdunXz7SRHRBUPR6IQlUBoaCgGDx4MuVyu3Abv9evXAAAHBwdMnDgR3377rZQRiXTCnDlzcO3aNaxfvx4vXrzA9evXcf36dTx//hwbNmxASEgI5syZI3VMIq23ZMkSbNmyBUFBQVJHIdJZUVFRWLBgAZo2bQpLS0u0bt0aPj4+6NatG1q1agUrKys0adIECxYswP3796WOS0QS4SboRCVgYmICAwMDAICFhQUMDQ3x5MkTZbutrS2ioqKkikekMw4dOoSJEydi4sSJKsf19fUxYcIEhIWF4cCBA1i/fr1ECYl0w4YNG2BlZQVvb284OjrC0dEx30KygiDgyJEjEiUk0l6hoaGYN28eDh06BAsLC3h6emLAgAFwcnKCpaUlRFFEQkICoqKicO3aNWzYsAGLFy9Gnz59sHjxYtSvX1/ql0BEGsQiClEJ1KtXD6GhocrHTZo0we7du/Hhhx8iOzsbe/fuhb29vYQJiXRDfHw86tWrV2i7q6srXr58qcFERLrp1q1bEAQB9vb2yMnJwb179/Kdw92uiAr2zjvvwMfHB8ePH0fHjh2Vo4wLk52djaCgIGzevBnvvPMOsrKyNJSUiLQB10QhKoGVK1di3bp1iIiIgKGhIY4dO4ZevXrB2NgYgiDg1atX2LFjB0aOHCl1VCKt1rBhQ9SsWRMnT54ssL1Lly6Ijo7GnTt3NJyMiIgqirCwsBKPJgkPD4erq2spJyIibcYiClEp+fXXX3Hw4EHI5XL4+Pigffv2Ukci0nobN27EJ598gi5dumDatGmoW7cuAODu3btYt24dTp48iQ0bNmDChAkSJyUiIiIiYhGFiIgktmDBAnzzzTfKxZnz6OvrY9asWZg/f75EyYh0U0pKCpKSkqBQKPK1caopUeGePn2KnTt3IioqCtbW1ujXrx+aNWsmdSwi0jIsohARkeTi4uIQFBSEhw8fAgBq166Njh07okqVKhInI9IdmzZtwurVq4vcNSQnJ0eDiYh0R1RUFFq1aoWXL18i7+uRTCbDrl27MHToUInTEZE2YRGFSA2Ojo6QyWQIDw+Hvr4+HB0d37hAnyAIiIyM1FBCIiKqyDZv3oyJEyfC29sb7u7umDNnDqZPnw4jIyP4+fnB1tYWU6ZM4VpdRIUYMWIE/P39sXLlSnh5eeHevXuYOnUq0tPTERsbC5lMJnVEItIS3J2HSA0eHh4QBEH5AZr3mIiK59GjRyW6jlMQiIq2fv16eHt7IzAwEPHx8ZgzZw58fHzg5eWFGTNmoEWLFoiPj5c6JpHWunTpEsaNG4dPPvkEANCgQQPo6emhR48eCAsLg5ubm8QJiUhbsIhCpAY/P78iHxORehwcHEpUgOQUBKKiRUZGYtKkSQBy1xMCoNx21dzcHGPHjsXGjRvx2WefSZaRSJtFR0fnW/+kWbNmEEURcXFxEqUiIm3EIgoREWnMjh07VIooCoUCa9euxcOHD/HBBx+gXr16AHK3jNy7dy8cHBwwZcoUqeIS6Qxzc3NkZ2cDAMzMzGBiYoLo6Ghlu6mpKZ4+fSpVPCKtl52drSxA5sl7zEI+Ef0biyhEaggODi7Rde7u7qWchEi3/Xc9hiVLliAjIwP37t2DtbW1StuCBQvw3nvv8YsfkRoaNmyIv/76S/m4TZs22LRpE7p16waFQoEtW7YotxAnooKFhITAyMhI+TglJQWCIODSpUtITEzMd37fvn01mI6ItAUXliVSg0wmU/n1XBRFtaYk8JcLoqLVqlUL06dPx6efflpg+8qVK7Fu3boSr6VCVFH4+vpi8+bNCA4OhqGhIX777Td07NhROaVHX18fAQEB8PHxkTgpkXYq7sKxgiCwn0dUQXEkCpEazp8/r/I4MzMTM2bMQFpaGj7++GOVKQjbtm1DpUqVsHz5cimiEumU+Ph4pKWlFdqelpbGxTCJ1DBq1CiMGjVK+bhdu3a4c+cOjh49Crlcjs6dO3MkClER/tvXIyIqDEeiEJXAp59+ikuXLiE4OFhl2CeQ+6XPw8MD7u7uWLVqlUQJiXSDl5cXbt26hVOnTqF58+YqbSEhIfD29sY777yDc+fOSZSQiIiIiOh/uOE5UQns2bMHw4YNy1dAAQATExMMGzYMP/74owTJiHTLhg0bIJPJ0KpVK7Rr1w4jR47EyJEj0a5dO7Ru3RoymQzr16+XOiaR1rt+/To2btxYaPvGjRtx8+ZNzQUiKsfS09M5zZSoAmMRhagEXr16hSdPnhTa/uTJkyKnKBBRrgYNGuDvv//GlClTEB8fD39/f/j7+yM+Ph5Tp07F33//DTc3N6ljEmm9OXPmICgoqND2c+fO4auvvtJgIiLdYmJiAn9/f+XjlJQUdOvWDbdu3cp37sGDB+Ho6KjJeESkRVhEISqBjh07Yu3atTh48GC+toCAAKxduxYdO3aUIBmR7rG1tcWaNWsQHh6O9PR0pKenIzw8HKtXr0a1atWkjkekE65du4b333+/0Pb3338fISEhGkxEpFsyMjJUForNysrCyZMnERcXJ2EqItJGXFiWqAS+//57eHl5YcCAAahevTpcXFwAAJGRkYiNjYWzszOnIBARkcakpKRAT6/wbp1MJkNSUpIGExEREZVPLKIQlUCNGjXw119/YcuWLQgMDMTDhw8BAG5ubvjiiy/w0UcfwdjYWOKURLohLCwMvr6+uH//PhISEvDf9c4FQcDZs2clSkekG+rUqYPTp09j8uTJBbafPHkSTk5OGk5FRERU/rCIQlRMGRkZ2Lp1K5o0aYKpU6di6tSpUkci0lm7d+/GqFGjoK+vj3r16sHS0jLfOdxEjujNxowZg+nTp+PTTz/FvHnzYGFhAQBITEzEwoULcfLkSaxYsULakEREROUAiyhExWRkZISZM2di3bp1cHd3lzoOkU5bsGABmjZtisDAQFSpUkXqOEQ6a8qUKbh58ya+++47rFu3DnZ2dgCA2NhYKBQKDBs2DNOnT5c4JZF2EwRBrWNEVLEJIn/iIyq2li1bonPnzliyZInUUYh0mrGxMVavXo0JEyZIHYWoXDh//jwCAgJw//59AICzszP69esHT09PaYMRaTmZTAYjIyOVtYVSU1NhbGwMuVyucm52djYyMzNVFqIlooqDI1GISmDJkiUYOnQo2rdvz114iN5C48aNERsbK3UMonKjffv2aN++vdQxiHTOiBEjpI5ARDqCI1GISqBnz54IDw9HZGQkHB0d4ejomG8hWUEQcOTIEYkSEumG3377DQMGDMCBAwfw7rvvSh2HiIiIiKhILKIQlYCDg8Mb58gKgqAcTk1EBevZsyciIiLwzz//oEGDBrC3t883bJoFSaL8HB0dIZPJEB4eDn19fTg6Oqr1uRQZGamhhEREROUTp/MQlcCDBw+kjkBULty6dQuCIMDe3h6pqakIDQ3Ndw4X9SPKz8PDA4IgQCaTqTwmouK7fPky2rZtq/FriUg3cSQKERERERFVWMbGxmjTpg0mTJiA7t27w8TEpMjzU1NT8csvv2Dz5s0ICQlBWlqahpISkTbgSBSit5SSkoKkpCQoFIp8bfb29hIkIiIiIiJ1/fPPP1i0aBGGDRsGfX19tG7dGs2aNYOjoyMsLS0hiiISEhIQFRWFkJAQXLlyBdnZ2Rg+fDj27NkjdXwi0jCORCEqoU2bNmH16tVFrnvCre+I3iwnJwf79+/H+fPn8fz5cyxatAiNGjVCUlISzp49i3bt2sHW1lbqmERaLzMzE9u2bcOJEyeU004dHBzQrVs3jB07FkZGRtIGJNJycXFx2L17N44cOYKrV68iPT1dpd3Y2BgtWrRAr169MGzYMFStWlWipEQkJRZRiEpg8+bNmDhxIry9veHu7o45c+Zg+vTpMDIygp+fH2xtbTFlyhSMHDlS6qhEWi0xMRFdunTBlStXULlyZbx69QpnzpyBl5cXcnJyULt2bQwfPhxLly6VOiqRVnv8+DE6deqEu3fvonr16nBxcQEA3Lt3D0+ePEHdunURFBSEmjVrSpyUSDdkZ2fj0aNHiI+PBwBYW1vD3t4eenocyE9U0cmkDkCki9avXw9vb28EBgbi448/BgD4+PhgyZIlCA0NRUpKivJDl4gK9+WXX+LOnTs4deoU7t+/j3/X9eVyOfr3748TJ05ImJBIN0yaNAkPHz7Evn37EBMTg4sXL+LixYuIiYmBv78/Hj16hEmTJkkdk0hn6OnpwcnJCS1btkTLli3h5OTEAgoRAWARhahEIiMj0aNHDwCAvr4+ACArKwsAYG5ujrFjx2Ljxo2S5SPSFYcPH8bkyZPRqVOnAncWqVu3LnfDIlLD2bNnMX36dPTv3z9f24ABAzB16lScPXtWgmRERETlC4soRCVgbm6O7OxsAICZmRlMTEwQHR2tbDc1NcXTp0+likekM5KSkuDo6Fho++vXr5XvNSIqnKmpKWxsbAptr1atGkxNTTWYiIiIqHxiEYWoBBo2bIi//vpL+bhNmzbYtGkTYmJiEB0djS1btqBu3boSJiTSDc7Ozrh+/Xqh7adPn0aDBg00mIhIN40aNQp+fn4FbrWampoKX19fjBkzRoJkRERE5Qsn9hGVwIcffojNmzcjMzMThoaGWLhwITp27Kjc0lhfXx8BAQESpyTSfmPHjsXMmTPh6emJDh06AAAEQUBmZiYWLVqEkydPYuvWrRKnJNJ+TZo0wfHjx+Hq6ooRI0YoF5aNiIjArl27YGVlhcaNG+PgwYMq1/Xt21eKuERERDqLu/MQlZL79+/j6NGjkMvl6Ny5M0eiEKlBFEV8/PHH2L59OywsLJCYmAhbW1vEx8cjOzsb48aNw6ZNm6SOSaT1ZLI3Dy4WBEFl8WZBEJCTk1OWsYiIiModFlGIiEhyly5dwoEDBxAREQGFQgFnZ2cMHDgQ7u7uUkcj0gkXL14s0XUeHh6lnISIiKh8YxGFqASuX7+OP/74AxMnTiywfePGjXj33XfRpEkTzQYjIiIiomIZPXp0sa8RBAHbt28vgzREpO1YRCEqga5du8LY2Djf3PI8/fv3R0ZGBo4dO6bhZEREVJFlZmbi+vXreP78Odq1a4cqVapIHYlI6zk4OEAQhGJdIwgC7t+/X0aJiEibcWFZohK4du0aZs2aVWj7+++/j2XLlmkwEZFuCA4OLpX7cJoPUX7r1q3DggULkJSUBAA4c+YMvLy8EBcXB1dXVyxfvrxEv7gTlXcPHjyQOgIR6RAWUYhKICUlBXp6hb99ZDKZshNLRP/j6emZb3HL4uJimET5+fr6Ytq0aRg8eDA6d+6sUiypUqUKvLy88PPPP7OIQkRE9JZYRCEqgTp16uD06dOYPHlyge0nT56Ek5OThlMRab+oqCipIxCVS6tWrUKvXr2wd+9exMfH52tv3rw51q1bJ0EyIiKi8oVFFKISGDNmDKZPn45PP/0U8+bNg4WFBQAgMTERCxcuxMmTJ7FixQppQxJpodq1a0sdgahcunfvHqZMmVJou5WVVYHFFSIqWGBgIFavXo3r168jKSmpwBGUHBVJVDGxiEJUAlOmTMHNmzfx3XffYd26dbCzswMAxMbGQqFQYNiwYZg+fbrEKYmIqKKwsLBAXFxcoe2hoaGoVq2aBhMR6a6AgAAMHDgQbm5uGDx4MDZt2oShQ4dCFEUcOXIEderUQe/evaWOSUQS4e48RG/h/PnzCAgIUK7O7uzsjH79+sHT01PaYEQ6JDU1FeHh4YiLi4MgCKhSpQrq1q0LU1NTqaMR6YzRo0fj3LlzuHnzJnJyclC1alUEBQXBy8sLd+7cQevWrTF69GhO6SFSQ4sWLaCvr49Lly4hISEBNjY2yvfTgwcP0KZNGyxfvhzDhw+XOioRSYBFFCIi0rioqCjs3LkTR44cwe3bt6FQKFTaZTIZ3Nzc0Lt3bwwfPpxrDBG9QWxsLFq3bg1RFNGjRw9s3boVH374IXJychAQEIDq1avjypUr3PKYSA0mJiZYtmwZpk6disTERFhZWSEwMBDe3t4AgEWLFsHf3x937tyROCkRSYHTeYiISGNCQ0Mxb948HDp0CBYWFvD09MSAAQPg5OQES0tLiKKIhIQEREVF4dq1a9iwYQMWL16MPn36YPHixahfv77UL4FIK9nZ2eHatWuYPXs2/P39IYoidu/eDVNTUwwZMgTffPMNCyhEajIxMYGBgQGA3KlyhoaGePLkibLd1taWC6UTVWAciUKkBkdHR8hkMoSHh0NfXx+Ojo4QBKHIawRBQGRkpIYSEukGfX19+Pj4YPz48ejYsWORW4UDQHZ2NoKCgrB582acOHECWVlZGkpKpNtevHgBhUKBqlWrQiaTSR2HSKe0a9cOzZo1w/r16wEAbdu2hYmJCU6dOoXs7Gx4e3vj2bNnCA8PlzgpEUmBI1GI1ODh4QFBEJQd0bzHRFQ8t27dKtZoEj09PXTp0gVdunRhZ5WoGKpWrSp1BCKd1adPH6xbtw4rV66EoaEh5syZg169esHCwgKCIODVq1fYsWOH1DGJSCIciUJERERERFSEX3/9FQcPHoRcLoePjw/at28vdSQikgiLKEREpHFPnz7Fzp07ERUVBWtra/Tr1w/NmjWTOhYRERERUZFYRCEqoczMTGzbtg0nTpzAgwcPAAAODg7o1q0bxo4dCyMjI2kDEmmpqKgotGrVCi9fvkTeR5BMJsOuXbswdOhQidMRERERERWORRSiEnj8+DE6deqEu3fvonr16nBxcQEA3Lt3D0+ePEHdunURFBSEmjVrSpyUSPuMGDEC/v7+WLlyJby8vHDv3j1MnToV6enpiI2N5SKYRESkUdxAgIiKgwvLEpXApEmT8PDhQ+zbtw/9+/dXadu/fz9GjBiBSZMm4ciRIxIlJNJely5dwrhx4/DJJ58AABo0aAA9PT306NEDYWFhcHNzkzghERFVJNxAgIiKg0UUohI4e/Yspk+fnq+AAgADBgzA9evXldviEZGq6OjofOufNGvWDKIoIi4uTqJURERUUfn5+RX5mIjo3zhmmqgETE1NYWNjU2h7tWrVYGpqqsFERLojOzsb+vr6KsfyHufk5EgRiYiIiIhILRyJQlQCo0aNgp+fHz766COYmJiotKWmpsLX1xdjxoyRKB2R9gsJCVFZfDklJQWCIODSpUtITEzMd37fvn01mI6IiCqS4ODgEl3n7u5eykmISBdwYVmiEti3bx+WLFmChIQEjBgxQrmwbEREBHbt2gUrKyvMnj0benqqdUp+ESRCsReOFQSBI1SIiKjMyGQylTVQRFFUa00UfjYRVUwsohCVgDpfAgVBwL/fXvwiSJTr4sWLxb7Gw8OjDJIQERHl/1zKzMzEjBkzkJaWho8//hj16tUDAISHh2Pbtm2oVKkSli9fjk6dOkkRl4gkxiIKUQmU5EsgwC+CRERERNru008/xaVLlxAcHKwy9RQA0tLS4OHhAXd3d6xatUqihEQkJRZRiIhIa6Wnp+PFi/9r715jrCzPtgGfa4CyqQMU2Y1SwrhBE4gllQRbZeMUrNIOtGBNY0ArYGMkipuk1k3S2JRoTcGAKeAQNmpK0GYmIYoSQmq0JjZUSTGBQAVEERCEOASkYIH5ftTOKx9gV227nmk5jmR+rHWtlZz/JnPO/Vz3h+nfv3/RUQA4S/Tp0ycPPfRQ7rjjjtPO586dm5kzZ2bPnj0VTga0BW7ngX/B0aNH8/rrr2fFihWuZoUydenSJc8++2zr64MHD2bs2LF56623TvlsU1NTamtrKxkPgLPcxx9/nN27d59xvnv37hw+fLiCiYC2RIkCX9DcuXNTU1OTq666KhMmTGj9A3Dfvn3p2bNnFi9eXHBCaJuOHDly0n6gTz75JKtWrVJEAtAmjB49OnPmzElTU9Mps8bGxsyZMyejR48uIBnQFihR4AtYsmRJ7rrrrlx77bVZtGjRSQtke/bsmbq6uixfvrzAhAAAfBG//vWv069fv/zgBz9Iv379MmrUqIwaNSpf/epXc8MNN6Rfv3554oknio4JFESJAl/ArFmzMn78+Cxbtiz19fWnzC+//PJs2LChgGQAAPwrzj///Kxfvz6zZ8/O4MGDs2fPnuzZsyeDBg3K448/nvXr16dfv35FxwQK0r7oAPDfaMuWLbnzzjvPOO/Ro0f2799fwUQAAPyrjhw5koaGhgwZMiQzZszIjBkzio4EtDFOosAX0L1798/d37Bx48b07du3gongv0upVCrrPQCopE6dOuW+++7L5s2bi44CtFFKFPgCxo4dm4aGhjQ3N58y27BhQxYuXJhx48ZVPhj8l5g6dWq6du2arl27tt6+893vfrf1vb//3HrrrQUnBeBsM3jw4Gzfvr3oGEAbVWr57EZMoCy7du3KsGHD0tLSkvr6+jQ0NGTSpEk5fvx4GhsbU1NTk7Vr16Znz55FR4U255Zbbvmnv7NkyZL/QBIAONXq1atz4403Zvny5W7hAU6hRIEvaO/evXnggQfS1NTUeiKluro6EydOzKOPPprevXsXGxAAgH/auHHjsmnTpmzdujW1tbWpra1N586dT/pMqVTKihUrCkoIFEmJAv8GH374YU6cOJFevXqlqspTcgAA/60GDBjwD/d0lUqlbNu2rUKJgLZEiQJAxbz++uv5xje+UfHvAgDAv4N/mQNQMXV1dbn66qvz3HPP5fDhw//w84cOHcqyZcsyYsSIfOtb36pAQgAAOLP2RQcA4Ozx5z//OT//+c8zefLkdOjQIcOGDcvXv/711NbW5itf+UpaWlry0Ucf5Z133skbb7yRtWvX5tixY7npppvym9/8puj4AJxlDh48mAMHDuTEiROnzPr3719AIqBoHucBoOL27duXZ555JitWrMgf//jH/OUvfzlp3rlz5wwdOjTjx4/P5MmT06tXr4KSAnA2mj9/fmbPnv25e0+OHz9ewURAW6FEAaBQx44dy3vvvZf9+/cnSc4999z0798/7ds7LAlA5S1YsCC33357vv3tb2fEiBF58MEHEGwqqwAADzdJREFUc/fdd6dTp05ZunRp+vTpkzvvvDM/+tGPio4KFECJAgAA8KlBgwalf//+eemll7J///706tUra9asSV1dXQ4cOJChQ4fmtttuy7333lt0VKAAFssCAAB8auvWramvr0+SdOjQIUnyySefJEm6deuWadOmZd68eYXlA4qlRAEAAPhUt27dcuzYsSRJ165d06VLl+zYsaN1Xl1dnQ8++KCoeEDBlCgAAACfGjx4cNavX9/6+oorrsj8+fOzc+fO7NixI08++WQGDhxYYEKgSLb2AQAAfGrSpElZsGBBjh49mo4dO+bhhx/O6NGjW6807tChQxobGwtOCRTFYlkAAIDPsW3btjz//PNp165drrnmGidR4CymRAEAAAAog8d5AKiYKVOm/NPfKZVKWbRo0X8gDQCcat26dfnDH/6Q22+//bTzefPm5Zvf/GaGDBlS2WBAm+AkCgAVM2DAgJRKpX/qO6VSKdu2bfsPJQKAk1133XXp3LlzmpqaTju//vrrc+TIkbzwwgsVTga0BU6iAFAx27dvLzoCAHyuN998M/fff/8Z58OHD88jjzxSwURAW+KKYwAAgE8dPHgw7duf+X/NVVVVOXDgQAUTAW2JEgUAAOBTF198cVavXn3G+apVq3LBBRdUMBHQlihRACjUSy+9lDFjxuTcc89N+/bt065du1N+AKBSpk6dmpUrV+aee+5Jc3Nz6/vNzc25++67s2rVqkydOrW4gEChLJYFoDCNjY254YYbMmjQoAwfPjzz58/PjTfemJaWlqxYsSIXX3xxvve97+VnP/tZ0VEBOEu0tLRkypQpeeqpp1JVVZXzzjsvSbJr166cOHEikydPztKlS//pRenA/wYlCgCFGTp0aDp06JDXXnstH330UXr37p01a9akrq4u27dvzxVXXJHHHnssN910U9FRATjLvPzyy2lsbGy9Ie7CCy/MxIkTM2rUqGKDAYVyOw8Ahdm4cWMeeeSRtGvXrnWJ31//+tckf7sO+fbbb88vf/lLJQoAFXf11Vfn6quvLjoG0MbYiQJAYbp06ZIvfelLSZLu3bunY8eO2b17d+u8T58+eeedd4qKBwAAJ3ESBYDCXHLJJdm4cWPr6yFDhuSZZ57JpEmTcuzYsSxbtiz9+/cvMCEA/+tqa2tTVVWVTZs2pUOHDqmtrf2H+05KpVK2bt1aoYRAW6JEAaAw3//+9zN37tz86le/SseOHfPggw9m/Pjx6d69e0qlUj7++OMsXry46JgA/A8bOXJkSqVSqqqqTnoNcDoWywLQpvz+979PU1NT2rVrl+985zueRwcAoM1QogAAAACUweM8AAAAn3H06NEsXLgwL774YrZv357kb7fGjR07NtOmTUunTp2KDQgUxkkUACrG8j4A2rr3338/Y8aMyebNm1NTU5OLLrooSbJly5bs3r07AwcOzJo1a9KvX7+CkwJFcBIFgIqxvA+Atm769Ol5991389xzz+X6668/afbb3/42N998c6ZPn54VK1YUlBAokpMoAAAAnzrnnHMyY8aMzJw587Tz+++/P0888UQOHTpU4WRAW1BVdAAAAIC2orq6Or179z7jvG/fvqmurq5gIqAt8TgPABXz6quvfqHvjRgx4t+cBABO75ZbbsnSpUtz6623pkuXLifNDh06lCVLlmTq1KkFpQOKpkQBoGJGjRp10g6UlpaWsnaiHD9+/D8ZCwBaDRkyJCtXrsyll16am2++uXWx7Ntvv52nn346PXr0yGWXXZampqaTvjdhwoQi4gIVZicKABXzyiuvnPT66NGj+clPfpLDhw/nxz/+cS655JIkyaZNm7Jw4cJ8+ctfzmOPPZYxY8YUEReAs9Dfl59/nlKplM/+GVUqlRT+cJZQogBQmHvuuSevvfZaXn311XTq1Omk2eHDhzNy5MiMGDEis2bNKighAGeb/7/wL9fIkSP/zUmAtkiJAkBh+vTpk4ceeih33HHHaedz587NzJkzs2fPngonAwCAU9mJAkBhPv744+zevfuM8927d+fw4cMVTAQAf3P06NGsW7cue/fuzZVXXpmePXsWHQloA1xxDEBhRo8enTlz5pyynC9JGhsbM2fOnIwePbqAZACczebOnZuamppcddVVmTBhQt56660kyb59+9KzZ88sXry44IRAUTzOA0Bhdu7cmbq6umzZsiU1NTWtNyBs3bo1u3btyoUXXpjf/e536devX8FJAThb/P0K4x/+8Ie55pprMmXKlKxZsyZ1dXVJkhtuuCHNzc1ZvXp1wUmBIjiJAkBhzj///Kxfvz6zZ8/O4MGDs2fPnuzZsyeDBg3K448/nvXr1ytQAKioWbNmZfz48Vm2bFnq6+tPmV9++eXZsGFDAcmAtsBOFAAKceTIkTQ0NGTIkCGZMWNGZsyYUXQkAMiWLVty5513nnHeo0eP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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# a list of 'gene1_gene2'\n", "interacting_pairs = [\n", " 'GPC3_CD81',\n", " 'COL1A1_CD44',\n", " 'FN1_CD44',\n", " 'DCN_ERBB4',\n", " 'VIM_CD44',\n", " 'ITGB1_VCAN'\n", " ]\n", "\n", "# interacting_pairs = None\n", "\n", "ms_data.plt.ccc_dot_plot(\n", " res_key='cell_cell_communication', \n", " interacting_pairs=interacting_pairs, \n", " clusters1='epicardial (EP)'\n", " )" ] }, { "cell_type": "markdown", "id": "87f93459", "metadata": {}, "source": [ "### Heatmap\n", "\n", "The heatmap displays the number/log-number of significant L-R pairs for each pair of cell types." ] }, { "cell_type": "code", "execution_count": 22, "id": "e2af8eea-0a75-4bda-8921-ad33652f2f17", "metadata": { "ExecuteTime": { "end_time": "2023-04-03T08:27:41.150589Z", "start_time": "2023-04-03T08:27:39.770396Z" }, "execution": { "iopub.execute_input": "2023-11-13T08:50:34.722201Z", "iopub.status.busy": "2023-11-13T08:50:34.721907Z", "iopub.status.idle": "2023-11-13T08:50:35.596564Z", "shell.execute_reply": "2023-11-13T08:50:35.595712Z", "shell.execute_reply.started": "2023-11-13T08:50:34.722171Z" }, "tags": [] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[2023-11-13 16:50:34][Stereo][15833][MainThread][139891007416128][ms_pipeline][128][INFO]: register plot_func ccc_heatmap to -139890412633488\n", "[2023-11-13 16:50:34][Stereo][15833][MainThread][139891007416128][plot_ccc][160][INFO]: Generating heatmap plot\n" ] }, { "data": {}, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.holoviews_exec.v0+json": "", "text/html": [ "
\n", "
\n", "
\n", "" ], "text/plain": [ "Column\n", " [0] Markdown(str)\n", " [1] Row\n", " [0] TextInput(name='file name', placeholder='Enter a file name...', width=200)\n", " [1] Select(name='file format', options=['png', 'pdf'], value='png', width=60)\n", " [2] IntInput(name='dpi', placeholder='Enter the dip...', start=0, value=100, width=200)\n", " [2] Row\n", " [0] Button(button_type='primary', name='export', width=100)\n", " [1] StaticText(width=800)" ] }, "execution_count": 22, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "1066" } }, "output_type": "execute_result" }, { "data": { "image/png": "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sClvkh4mrm/cuKHGjRtb29q2basLFy5owoQJDuN59H8QWrVqJUkaMGCA3Sjvpx3ZHpe6desqU6ZM+uijj3T+/Hm75U/aV8OGDVW9enUtX77c7hxY/PLLL3E+vDJFihSaPn26wsLCNHDgwKeK393dXV5eXjYvpugAAAAA8Dxy9P0ltmS0RCX146ikppL6aSqp4VyMjH7OtWvXTuvWrVPfvn2VLl06mwSm9PAP8eLFi1WrVi2VKFFCHTp0UNGiRfXvv//ql19+0eeff66IiAi7OaDio0iRIvL09NSMGTOUOnVqeXt7K3PmzAke5Tpt2jRVrlxZDRo0ULt27VSmTBndvn1b+/fvt07uL0khISFasWKFateurcDAQN29e1eLFy+O94WsWbNm+t///qdatWqpbdu2unfvntasWWPzAIBnUbhwYVWsWFEVKlRQ9uzZdf78ec2ePVtubm567733bPrmzZtXw4YN008//aQyZcro0KFD+uSTT1SoUCH16NHD2q9nz57asmWL+vfvr23btqlWrVry8vLSuXPntHXrVutIb0l655139O6772rRokU6deqUGjVqpPTp0+vnn3/Wpk2bnviggPhKnTq15s2bp2bNmqlYsWLq1KmT8uXLp0uXLmnTpk3q06eP3nrrrVjXN5lMWrVqlRo2bKhu3bpp8eLFatSokbJmzarr169r165dWrdunXV0eWwaNWqkRo0aJcoxAQAAAMCLgEpqW1RSP0QlNZIDRkY/5958801lyJBBN27c0DvvvCMPDw+7PqVKldLhw4fVunVrrVu3Tt27d9eIESO0b98+BQQE6LXXXkvQvlOlSqUVK1bIy8tLvXr1UosWLTR8+PAEH0uePHl08OBBdezYUZs3b1bPnj01ZswYXbt2zeaPV5UqVbRgwQLFxMSof//+mjFjhlq3bq1Ro0bFaz/vvfeeZs+erZs3b6pfv34aO3asChYsqE2bNiU49kf17dtXUVFRmjJlioKCgjRr1iyVL19ee/futbkASVLOnDm1detW/fbbb+rXr5/+97//qVWrVoqMjFSaNGms/VxdXfXll19q8uTJunTpksLCwtS7d299+umn8vPzU2hoqM12ly1bpmnTpunOnTsaPny4+vXrpy1btuidd95JlGO0aNSokXbt2qVq1app3rx5CgkJ0axZs5QzZ04VL178iev7+Pjom2++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rStvb295eHioRIkSmjVrll2/PXv2qEGDBsqaNas8PDyUI0cOvf7669bjsoiKitLAgQOVL18+ubu7y8fHRy1atNBvv/1m089yR27btm0aP3688ubNK3d3dxUoUEALFy50GOv27dv1xhtvKGPGjPLw8JCfn586duyoy5cv2/X94osvVK5cOXl4eChbtmzq37+/7t+/b13+1ltvKXXq1Lpx44bdut9++61MJpOGDx8uyfZO6GeffaZSpUopVapUypcvn3V08blz59SsWTNlyJBBnp6eat26tf755x+b7Z44cULBwcEqWrSoPD09lTp1apUpU0Zz5851eLzxdeDAAZ09e1avv/76M21HkkqXLq0SJUrYjZo+cOCAjh49GuddyQYNGujevXtas2bNM8cBAAAAAMkJFdh40VCB/XKx/wSQaLp27apSpUqpd+/eatKkiZo2bSpJKly4cJzrfffdd1q1apU6d+6stm3bavv27ZoyZYp++uknbdmyRSlS2N5DaNWqlVKlSqW+ffvKZDIpW7ZsioqKUuXKlfXLL7+oQ4cOKl26tA4fPqyZM2dq27ZtOnDggDw9PeN9LO3atVPatGk1ePBgXbp0SR999JHq1aunDz/8UAMGDFBQUJA6dOigefPmqWvXripSpIiqVq1qXX/27NkKDAxUxYoVNWTIEKVJk0ZbtmxRUFCQfv31V40bN06SdPLkSdWpU8eagM+SJYsuXryoXbt26fvvv1fFihUlyXp8586dU4cOHVS0aFGdP39eM2bMUIUKFXTw4EHrjQCLwYMH6/bt2+ratavc3d01c+ZMBQQEKF++fKpSpYq138cff6ygoCDlyJFDQUFByp07t86dO6f169frjz/+UKZMmax9N2zYoBkzZigwMFAdOnTQ2rVrNX78eKVPn16DBw+WJHXu3Fnr1q3T8uXL7e5Wz5s3TylSpFCHDh1s2r/44gvNmjVLwcHBypAhg+bNm6cOHTrIzc1NgwcPVq1atTRq1Ch9++23+uSTT+Th4WGTaI6MjNTOnTv15ptvKk+ePLp165ZWrlypzp0769KlSwoNDY33Z/+oHTt2SJLKly8fa5+oqCi7pH3atGlt7lpadOjQQX369NGff/6pHDlySJI++eQTZc6cWW+++Was+yhdurTc3d0VGRmpwMDAhBwKAAAAACRLT6rATmz37t3TgwcPDNk2EN8K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mqDYAQAAACA5ozr4P1QHA8kLI6OR7C1ZskSFChVSmTJl7Ebh1qlTRwsXLtTt27eVKlUqa3urVq2UM2dO63s3Nzf17t1bLVu21Pr16xUUFORwX1evXtXGjRtVv35960XiUSlS/Hd/59HRwv/++69u374ts9msWrVqadasWbpx44a8vLxs1n88cR4TE6P169erbNmyqlmzprXdZDJpwIAB8b4QWWIxm836559/dPfuXfn4+KhgwYLav39/vLbxuCtXrigmJkYZMmSItY+vr2+s5VLp0qWzaytYsKDNe29vb40ePVpdu3a165sxY8Z4P2ACAAAAAF4UVAc/GdXBwPOLZDSSvePHj+v27dvy8fGJtc/ly5eVK1cu6/vChQvb9SlSpIgk6bfffot1O7/88ovMZrNeffXVJ8b1999/6/3339fatWsd3sG9fv26XTK6QIECdtu4efOmChUqFGu88XH48GF98MEHioyM1K1bt2yW5cmTJ97beZTlIhrXU5bTpEmj2rVrx3ub//vf/+Tl5SUXFxdlzJhRhQsXjrVEzGw2x3khj46OVnR0tE3bvbv35O7mnJIzAAAAAIiNo+8v7u7ucnd3t+trqQ7euHGjzSCp4OBgFStWTP369VNkZKTNOj///LOOHz9uHZTVrVs3Va1aVSNGjFDHjh1tBms9zlId/Pj+pIcDqCzef/99u+krevTooVdffVUjRoxwmIwuVqyYlixZYrfOtWvXtG3bNuugrG7duqlp06Z2I79js3HjRruEcdu2bVWqVClNnDhRM2bMiNd2HmWpDn7rrbdi7WOpDnbk0qVLdknmq1evSpLu3r2rH374QX379rXG+iiqg/EiIRmNZM9sNqt48eKaMGFCrH3iSlQbwWw2q27dujp+/Lh69uypsmXLKl26dHJxcdH8+fO1bNkym4u2RerUqRM9lnPnzql69ery8vLSBx98oIIFCypNmjQymUzq1auXbt68maDtZsyYUSlSpLBePBND9erV7S7Osbl69Wqcn2tERISGDRtm0xba8T0N7tTimWIEAAAAgMTm6PtLWFiYwsPD7fpSHfxkVAcDzy+S0Uj28ufPr0uXLqlWrVo2F8K4HD9+3K7t2LFjkiQ/P79Y18uXL59MJpOOHDkS5/Z/+OEHff/99xo6dKjd/1DMnTs3XjFKD5PoadOm1YkTJ2KN90lWr16tmzdvat26dTYXc+nhxdTRnfb4SJEihQoXLmwtI0pK0dHR+v3339W0adNY+4SGhqpPnz42bfeObImlNwAAAAA4j6PvL7F9V6M6+MlexupgILkgGY1kr23bturfv78mTJjg8GGFFy9eVJYsWWzali5dqvfff996Z9jyID8XFxe9+eabse4rQ4YMatCggTZs2KCvv/7a7iJjuTi4uLhY3z/qp59+cvjwhthY4lmxYoW2b99uTSabzWaNHTs23ttwFMucOXN04cKFp3oQ4uP8/f01c+ZMh3e4jXT48GHdvXvX5unCj3NU0naTKToAAAAAPIdim5LDEaqD4/ayVgcDyQXJaCR7PXv21JYtW9S/f39t27ZNtWrVkpeXl86dO6etW7fKw8ND27dvt1mnQIECqlChggIDA+Xp6ally5bp22+/1QcffGBz99iRadOmqXLlymrQoIHatWunMmXK6Pbt29q/f798fX01ZswYFS5cWEWLFtXYsWP177//qmDBgvr555/18ccfq3jx4jp06FC8j2/EiBH66quv9Oabb6p79+7KmTOn1q9fr0uXLsVr/QYNGih16tTWB1ukT59eu3fv1oYNG5Q3b17dv38/3rE87p133tH06dO1ceNGNW/e3G55VFSU3fxfFsWLF1fJkiUTtN8NGzbI1dVVjRs3TtD6AAAAAJBcUR0ct5e1OhhILuL3Vwt4jrm6uurLL7/U5MmTdenSJYWFhal379769NNP5efnp9DQULt1unfvroEDB2rRokUaOHCgrl27pkmTJmn48OFP3F+ePHl08OBBdezYUZs3b1bPnj01ZswYXbt2TXXr1pX0cDTyl19+qYYNG2rhwoXq2bOnduzYoYULF8Y58tqRvHnz6ptvvlGVKlU0depUDR06VJkyZdLGjRvjvf5XX32lPHnyaNSoURo0aJCuXr2qHTt2xPmQivioUaOGihQposWLFztc/scff6hNmzYOXytXrkzwfpcsWaK33npLWbNmTfA2AAAAACA5atu2rS5cuBDryOiLFy/atS1dulR//PGH9f3TVgd/9dVX+vrrr+2WWypwE7s6+ODBgzaDyhKzOvhZ+Pv76/jx47px48Yzbedpxac6GEguGBmNF0LKlCnVo0cP9ejRI97rxKf/ggULtGDBArv2HDlyaNasWXGumzt3bocJ1yZNmtg9hCK2/VgUL15cmzdvtmt3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du2sfUeMGKFt27apU6dO2rx5s6pWrSqz2azDhw/r/v37Wrx4sTw9PVW3bl0tWbJEqVKlUrly5XT27Fl9/PHHypMnj81dpicZMGCAli1bps6dO+vQoUMqWrSoIiMjtXfvXmXKlOmJ61etWlVZs2ZV3759debMGeXMmVNHjhzR4sWLVbx4cf34449xrr9582bdunXL5o+xxciRI7V79241b95czZs3V8WKFeXm5qazZ89qw4YNKlOmjN28SfFRqFAhdevWTdOmTVOtWrX09ttv6++//9a0adNUsmRJu89v8uTJqlGjhqpVq2adxP+LL77Qpk2b1LJlS5vR8RUrVtS0adMUHBysN954Q66urqpQoYJ1hHV8WSbunzZtmr777ju9+eabypQpk/744w/t3btXv/zyy1PflXzWzyoub7/9tgYOHKgNGzY4vFDcv39fS5Yscbiun5+f9UEHxYoV08qVK9WiRQuVLFlSzZs3V4UKFZQqVSqdPXtWa9eu1ffff6+vvvrKZhsbNmxQ8eLFX6gJ/AEAAAAgPqgKj9+xUBX+H6rCEyY5VIUnRy/UyGhXV1d9+eWXmjx5si5duqSwsDD17t1bn376qfz8/GIddRofffv21axZs3T79m2FhoZqwYIF6tevn7p3727XN3fu3Nq/f7/eeecdLVmyRL169dKBAwcUGhqqr776ymYuo/Tp02vv3r3q37+/Dh06pL59+2rYsGH65Zdf1LBhQ2u/JUuWqEOHDlq/fr1CQkK0Zs0ajRw5Ut26dXuq40ifPr2++eYbNW7cWIsWLdLAgQP177//avv27XaTvTvi7e2tTZs2qUKFCpo6dar69u2rY8eOacOGDSpduvQT11+zZo1y586tV1991W5ZunTptHv3bg0bNkxHjx5VaGioBg4cqHXr1qlixYoKCgp6qmN91OTJkzVixAidOXNG/fv315o1azR9+nSHT2ktW7as9uzZoxo1amjGjBnq27evzp49qzFjxtiNKG/RooX69u2rXbt2KSAgQC1atNCOHTsSFOMnn3yiRYsWWed07t69uxYuXKi0adPalPXE17N+VnHJkyeP6tWrZ/Mk3UdFR0erTZs2Dl+PPtBAkt544w0dP35c3bt31+HDhzVw4EAFBQVp0aJFKl68uLZv325TznXmzBnt2rXL+gAEAAAAAHiZUBX+ZFSFUxX+slSFJ0cm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+xUaGnrfPxsAAAAAwA5kR2AHMpA5fJXBoc6cOaMvv/xSL7zwgtq3by9PT09t3rxZ48aN0++//641a9ZIkurXr6+BAwdq9OjR6tGjh+rVqydJKlq0aLLPN3HiREVHR+vVV19VsWLF9NBDD6X5Z2/atElbtmxR8+bNVa5cOV2/fl3Lli3Tq6++qosXL2rAgAE2vadDhw6pcePGKlasmPr27auiRYvq/Pnz2rZtm/bu3au6desmOz4kJEQeHh7673//q7i4OE2fPl1NmzbVjz/+qGeeeSbpuBkzZqhXr16qW7euBg0apNy5c2vdunV67bXXdOzYMX300UdJx3733Xd64YUXlDt3bnXv3l0PP/ywoqKitGbNGu3bt0/ly5dPkdvPz0/z5s3TjBkztHXrVs2bNy/Vv+N/unLlip566int379fL774ol577TUlJCTo999/13fffadXXnklzddu375dUVFR6tSpk02/Ee7ataveeustnTlzRiVLlpR0t9iLFCmi5s2bZ/jzAQAAAADuz2q16vr168qTJ49y5MihHDlymB0py0ltl+79diDbe4L33g7kp59+WsuXL0+x8GvcuHEaMWJEqjuQFy1apJUrV+rll19ONnZvB3JaC+cAe2JlNBzK399fp0+f1meffaa+ffvq9ddf19KlSzVo0CCtXbtWu3btSjqucePGkqQnnnhCHTt2VMeOHZOeu+fUqVPavXu3hg4dqh49eqhZs2Zp/tmdOnXSvn379OGHH6pXr156++23tWPHDjVo0EBjx47V7du3bXpPa9as0d9//61FixZpwIAB6tq1qwYMGKDvv/9ePXv2THG8p6entm3bpn79+mno0KHauXOnvL299eabbyYdc+7cOfXp00evvPKKduzYoXfffVe9e/fW8uXL1adPH33yySeKjIyUJP39998KDQ1V/vz59eeff2rcuHHq0aOHhg4dqu3bt6tFixap5s6dO7c6duwof39/SUrz7/ifBg4cqP3792v69OlatmyZ+vTpo379+iksLExhYWH3/Xvat2+fJCkwMPC+x6WlY8eO8vT01Ny5cyVJ8fHxWrx4sTp16sRvawEAAABkW+xAZgcyO5DhypjRgUP983rFd+7cUVxcnBISEvTMM8/ogw8+0M6dO1W7du10f76QkBAVKVIkXcfmzp076b9v3Lih69evy2q1Kjg4WJs3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JekjtecsFovZsTPswoUL1o8//thatWpVq8VisRYrVszav39/68GDB82OBjwQHZo2V+qX7PAerVY6lA4FANgTK6MBIJN++eUXzZ49W4sXL9bVq1dVq1Ytde3aVa+88ory5ctndjxAknT+/HkVLVrUptdGRUWpWLFidk7kOJs3b072+Pbt2/rvf/+r6Oho9erVSwEBAZKk/fv3a/r06SpcuLA+/PBDNWrUyIy4drFr1y7NmjVLS5YsUWxsrGrXrq1u3brplVdeUZ48ecyOB6SJDoUroEPpUACA/TAZDQB2cvPmTX399deaPXu2Nm7cKG9vb73wwgvq37+/qlatanY8INsaOnSovv76a/3888/KmzdvsrHY2FjVrVtXL7/8soYPH25OQDu6ceNGsu9DuXLl0rRp01xqiziyJzoUyJroUDoUAOyNiyIBgJ14e3urffv2WrdunSIjI/XUU09pwYIF+uabb8yOhnTYunWrWrRoocqVK6tevXoucx3LjFq9erU2bdp032M2bdqktWvXOieQE8yZM0ehoaEpTqIlKV++fAoNDdXs2bNNSGZ/OXPmVIcOHTRixAg1atRI169fV2RkpNmxgAeiQ10bHfo/dKjrokMBwDkefKcQAEC6nT17VnPnztWcOXN05MgRlSpVSjVr1jQ7VqYEBQVl6HjDMLR+/XoHpXGMn376Sc8884xu374tSTp06JB27NihK1eu6J133jE5nf1s2LBBzz33nObNm3ff486dO6eOHTtq06ZNqlevnpPSOc7FixeVkJCQ5nhCQoIuXLjgxESOce7cuWTff0qUKKEBAwYoNDTU7GhAutChdGhWRoemjg4FAGQUl+kAgEy6ffu2VqxYoVmzZik8PFyenp5q2bKlunbtquDgYBmGYXbETLFYLMqRI0fSXccfxDAMxcbGOjiVfbVq1Urr169XWFiYmjRposOHD6tjx46KiorShQsX5OHhYXZEu+jUqZP++OMP7d2794HH1qhRQ9WrV9fcuXOdkMyxatSoobi4OP3yyy8qUKBAsrHLly+rVq1ayp8/v3777TeTEtru9u3bWrlypWbPnq21a9fKw8NDLVu2VGhoqJo0aSKLhU1wyNro0OTo0KyLDqVDAQD2wcpoALDRb7/9ptmzZ2vRokW6fPmyAgMDNWHCBHXo0CHFD+uuzNPTU1arVc8884xCQ0PVvHlz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Xf369fX9998nnUi/9NJLmjhxouLj45WYmKj58+era9euJqdEejRu3FiNGzdOeuzv76/Dhw9r/fr18vDw0FNPPaX8+fObmBD3c+LEifs+BrIyOpQOdXV0qGujQwHAXKyMBgCk26FDh7Rp0yaFhITIx8dH169fV7t27fT9999LurtNdcGCBSpYsKDJSdOva9euMgxDM2bMkIeHR7omAgzD0MyZM52QDgDgLujQu+hQAACyNyajAQCZdvXqVXl4eChPnjxmR8mw1LaLP4g7bBeHezl+/Lj27dunFi1apDq+atUqVatWTWXLlnVuMAAPRIcC5qJDAcC5mIwGADsYNmyYvv7662R3Uv+natWqqW3btho8eLCTkwF3cbMe99a+fXudPn1aW7duTXW8YcOGKl26dLpvFAc4Ex2KrI4OdW90KAA4F9eMBgA7WL58ebJrB/5bcHCwvvrqK7c5kf7777914sQJRUdHp3rDqfr165uQCvcTGRkpi8WS9O8VGRmZrpv1wDVs27ZNPXr0SHM8ODhYM2bMcGIiIP3o0OTo0KyHDnVvdCgAOBeT0QBgB8ePH9cjjzyS5nilSpX05ZdfOjGRY1y/fl39+vVTWFiYbt++nWLcarWy/TaL4mY97u3ChQsqVqxYmuNFihTR+fPnnZgISD869C46NOuiQ90bHQoAzsVkNADYyZUrV9Ici4mJcYuTy169emnBggVq3bq16tWrpwIFCpgdKdPSc7Olf+PmS8hqfH19dezYsTTHjx49qrx58zoxEZAxdKhrokPhDuhQAHAurhkNAHZQt25dWSwW7dixI8WY1WrVU089pZs3b+rXX381IZ395MuXT23bttUXX3xhdhS7Se1mS/e23v67Ig3DYOUasqSXXnpJGzdu1L59+1Ks7oqKilLVqlVVv359ffPNNyYlBNJGh7ouOhTugA4FAOdiZTQA2EG3bt3Us2dPdenSRR999JH8/PwkSRcvXlT//v31888/a8qUKSanzLwcOXKoVq1aZsewq8TExGSPL168qKZNm6pMmTLq37+/AgICJEn79+/XuHHjdPr0aa1evdqMqJnC6jX3NmjQIK1atUo1atTQ22+/rcDAQEnSnj17NH78eF27dk0DBw40NySQBjrUddGhaaNDXQcdCgDOxcpoALCTjh07auHChTIMQ8WLF5cknTt3TlarVW3bttWiRYtMTph5L730kvLly+fWJ1edOnXSpUuX9OOPP6Y63rRpUxUpUsTl7qie2uq1B2H1mmv57rvvFBoaqujo6GQrEwsXLqyZM2eqRYsWJicE0kaHugc69H/oUNdChwKA8zAZDQB2tHTpUi1YsEBHjx6VJFWsWFEdOnTQiy++aHIy+zh16pTq16+vfv36qXfv3sqRI4fZkeyuUKFCev/999W7d+9Uxz/77DMNGzZMly5dcnIy4MHi4+O1evXqZN+DgoOD5ePjY3Iy4MHoUNdHh8KV0aEA4BxMRgMAMmThwoUKCQmRxWJR8eLF5eHhkWzcMIz73gQmq8uTJ4/69Omj0aNHpzo+YMAATZkyRXFxcU5OBgBwdXQoHQoAQHbHNaMBwM5u3rypS5cuyc/PT15eXmbHsas5c+aoW7du8vLyUqVKlVSgQAGzI9ndU089pcmTJ6tp06aqX79+srHNmzdr8uTJeuqpp0xK5xhHjx7V+fPnVbVqVeXPn9/sOMiEEydOKDw8XOfPn1eHDh1UtmxZ3bp1S1FRUSpWrJjbfU+C+6FDXRsdSoe6MjoUAJzECgCwi927d1uffvppa44cOawWi8W6fv16q9VqtZ4/f94aFBRkXbdunckJM+/hhx+21qxZ03rx4kWzozjMvn37rAUKFLBaLBZr7dq1rSEhIdaQkBBr7dq1rRaLxerr62vdt2+f2THtYtWqVVZ/f3+rxWJJ8TVbvnx567Jly0xOiIzo37+/1dPT02oYRrJ/z6tXr1pz585tnTBhgrkBgfugQ90DHUqHuio6FACcJ+N3YgAApLBnzx7Vq1dPx44dU0hISLKxIkWKKD4+XnPnzjUpnf2cOXNG3bp1U+HChc2O4jBVqlTRb7/9prZt2yoiIkLz5s3TvHnzFBERobZt22r37t2qUqWK2TEzbdOmTWrdurUKFiyoYcOGyfqPq3YVKVJE5cuX1+LFi01MiIyYPn26PvroI73++utau3Ztsn/PfPnyqWXLllq1apWJCYG00aHugw6lQ10RHQoAzsVlOgDADoYOHaoSJUro999/140bNzRr1qxk440aNdLSpUtNSmc/lSpV0uXLl82O4TAJCQk6c+aM8uXLp4ULF8pqterChQuSJD8/P1ks7vM73JEjR+rRRx/Vzp07FRMTo+HDhycbf+KJJxQWFmZOOGTY1KlT1bp1a02cOFHR0dEpxqtXr64pU6aYkAx4MDrUPdCh/0OHuhY6FACcy31+IgAAE23dulWvvvqq8uTJI8MwUoyXLl1aZ8+eNSGZfQ0cOFBTp07VX3/9ZXYUh7h9+7b8/f01c+ZMSXdvJFW0aFEVLVrUrU6iJemXX35Rhw4d0nxfpUqVUlRUlJNTwVaHDx9W48aN0xz38/PTpUuXnJgISD861D3Qof9Dh7oWOhQAnIuV0QBgBzdu3LjvTWtiY2OdmMZxIiIiVLJkSVWuXFmtW7dWuXLl5OHhkewYwzA0ZMgQkxJmTs6cOVW4cGHlzp3b7CgOl5iYKG9v7zTHL126xI16XEjOnDl1/fr1NMdPnjwpX19f5wUCMoAO/R861DXQoe6FDgUA52IyGgDsoHz58tq9e3ea4xs2bFBAQIATEznGP7ehzp8/P9VjXPlEWpKeffZZfffdd+rdu7fZURyqcuXK2rp1a5rv87vvvtOjjz7q5FSwVe3atbV8+XK9/fbbKcZu3LihefPm6cknnzQhGfBgdOj/0KGugQ51L3QoADiXe+2XAgCTtG/fXvPmzVN4eHjSc/e2Go8fP16rV69Wp06dzIpnN8ePH3/gR2RkpNkxM2XcuHE6d+6cOnfurD///FM3btwwO5JDdOvWTV999ZVmzpypxMRESXe/Zv/++2/16dNHP/30k3r06GFySqTXu+++q59++kmdOnXSH3/8IUmKiorSmjVr1LBhQ/3111965513TE4JpI4OpUNdDR3qXuhQAHAuw/rPW8UCAGxy69YtNWnSRFu2bNEjjzyigwcPqlq1arp48aKioqLUuHFj/fDDD253zUR3ZLFYZBiGrFZrqtcule6ecN65c8fJyeyvY8eOWrhwofLly6e4uDj5+fkpOjpaCQkJCg0NTbruJ1zDjBkz1LdvX926dSvZ16+Xl5emTZumLl26mBsQSAMd6j7oUDrUVdGhAOA8TEYDgJ3cuXNHkydP1oIFCxQRESGr1aoKFSooJCREffv2laen618Z6YMPPlC3bt1UvHhxs6M4TJcuXdI8gf6n2bNnOyGN4y1fvlzz58/XwYMHk33NvvDCC2ZHgw2ioqK0bNmyZP+eL7/8skqWLGl2NOC+6FD3QIfSoa6MDgUA52AyGgCQbhaLRR4eHmratKm6deumFi1apLj5EgAASIkOBQAAYDIaAJABv/zyi2bOnKnFixcrLi5ORYoUUefOndW1a1dVrFjR7HgAJB06dCjpurP+/v6qVKmSyYkASHQo4AroUABwPCajAcBObty4oU8//VTLly9P9kNs69at9eabb8rHx8fkhPYTHx+vZcuWaebMmdq6dasMw9CTTz6pV199VS+++KLbvNdr167pypUrSTcn+qfSpUubkMi+rl+/roULF+rIkSOKjo7Wv38kMAyDa166kA0bNujNN9/UwYMHkz3/yCOP6NNPP1WjRo1MSgY8GB1Kh7oaOtS90KEA4DxMRgOAHVy8eFFBQUHav3+/8uXLJ39/f0lSZGSkYmNjFRAQoI0bN8rPz8/kpPZ35MgRzZo1S2FhYYqKilLevHnVvn179ejRQ4GBgWbHs8nixYv1wQcfKCIiIs1jEhISnJjI/nbt2qXmzZvr0qVLaR5jGIbLv8/sYsOGDWratKm8vb3VoUMHBQQESJL279+vRYsW6caNG1q9erWCgoJMTgqkRIfSoa6GDnUvdCgAOJkVAJBpnTt3tlosFuuECROsN2/eTHr+5s2b1k8++cRqsVisnTt3Ni+gA92+fdu6bNkya6NGjayGYVg9PDysnp6eVovFYn322WetZ8+eNTtihixfvtxqGIa1UqVK1tdee81qGIa1Q4cO1rZt21q9vb2ttWrVsg4fPtzsmJn25JNPWvPnz29dtmyZNTo62uw4yKQ6depYS5UqZf3rr79SjJ0+fdpasmRJa926dU1IBjwYHUqHuho61L3QoQDgXExGA4AdFCxY0Prqq6+mOd6tWzdrwYIFnZjI8fbt22ft16+f1c/Pz2qxWKwlS5a0DhkyxHry5EnruXPnrEOGDLH6+PhYmzZtanbUDHnyySetAQEB1vj4eOvFixethmFY169fb7VardY///zTmi9fPuuKFStMTpl5OXPmtI4cOdLsGLATHx8f6/vvv5/m+MiRI60+Pj5OTASkHx1Kh7oaOtS90KEA4FyeZq/MBgB3cOvWLdWsWTPN8ccff1xLlixxYiLHuHbtmhYtWqSZM2fql19+kcViUdOmTdWjRw8999xzslgsSceOHDlSefLk0YgRI0xMnHF//PGHBg8erJw5c+rvv/+W9L/txFWrVlWPHj00ZswYtWrVysyYmZYvXz4VKlTI7Biwk/z58ytv3rxpjufLl0++vr7OCwRkAB1Kh7oaOtS90KEA4FyWBx8CAHiQWrVq6bfffktzfPfu3apdu7YTEzlG0aJF1atXL507d05Dhw7V8ePHtWrVKrVo0SLZSfQ9ZcqUUXx8vAlJbZeQkJB0gnnvJlJXr15NGq9UqZL27dtnSjZ7atOmjdasWWN2DNjJSy+9pEWLFunOnTspxm7fvq1FixbppZdeMiEZ8GB0KB3qauhQ90KHAoBzMRkNAHYwfvx4ffXVV5o8eXKyH2Tv3LmjSZMm6ZtvvtH48eNNTGgfjRs31rfffqvjx49r2LBhKlWq1H2Pb9u2rRITE52Uzj5KlSqlkydPSrp7Il2kSBHt3r07afzQoUPKnTu3WfHs5sMPP9SFCxf05ptv6tixY7JyP2OX1qtXL925c0f169fXsmXL9Oeff+rPP//U0qVLVb9+fSUkJKhXr146depUsg8gK6BDU0eHZl10qHuhQwHAuQwrzQkAmRYUFKTTp08rMjJS+fLlk7+/vyQpMjJSsbGxKl++fIqTTsMwtH79ejPi4j5CQ0N16NAh7dixQ5LUo0cPzZs3TwMGDFBiYqLGjRunFi1auNyWcYvFIsMwkj1ntVpTPPdPhmGkukoIWc+9f9/U/k3v/aiX2r/1ve3zgJnoUPdBh/4PHeo66FAAcC6uGQ0AdhAZGSnDMFS6dGlJ0uXLlyVJvr6+8vX11e3bt3X8+HEzI9rd33//rejo6FRXA937e3BFvXv31vLlyxUfHy8fHx+NGjVKu3bt0vDhwyVJVapU0ccff2xuSBuEhITc96QZrm3o0KH8+8Jl0aHJ0aFZDx3q3uhQAHAuVkYDANLt3qqmyZMnKyoqKs3j3HGlyB9//CEPDw9Vrlw51Wt7AgBwP3QoHQoAAFgZDQDIgPfee08ff/yxqlSpohdeeCFb3Um+evXqZkewq7CwMNWvX19ly5ZNdfzkyZPavHmzQkJCnBsMANwUHeo+6FAAAGzHymgAsIOEhATdvHlTuXLlSnruypUrmjlzpi5fvqxXXnlF1apVMzGhfZQoUUKBgYH64YcfzI7iMOHh4Vq/fr3GjBmT6viAAQMUHBysp59+2snJ7MvDw0Pz5s1T+/btUx1fsmSJ2rdv75Yr9NzRrl27tHfvXr366qtJz61cuVKDBw/W5cuX1blzZ40ePdrEhEDa6FD3QYfeRYe6FjoUAJyLPVIAYAc9e/ZU7dq1kx7fvn1bTz31lN59912NGTNGtWvX1p49e8wLaCcxMTFq1aqV2TEcaty4cTp69Gia48ePH9eHH37oxESO8aDfRd++fZut1C5kxIgR+vbbb5Menzp1Su3atVNUVJTy58+vDz/8ULNnzzYxIZA2OtR90KF30aGuhQ4FAOeiIQHADrZt26aWLVsmPf7qq6904MABffbZZ9qxY4eKFi2qsWPHmpjQPqpVq6Zz586ZHcOh9u7dq7p166Y5XqdOHe3du9eJiRwnrZv1XLlyRd9//72KFy/u5ESw1d69e/XUU08lPV68eLGsVqv27NmjAwcOKDg4WDNmzDAxIZA2OtR90KF0qCuiQwHAuZiMBgA7OHfunMqVK5f0+Pvvv1eVKlX02muvqW7duurRo4d++uknExPax7Bhw/T555/r9OnTZkdxmKtXryp37txpjvv4+CgmJsaJiexnxIgR8vDwkIeHhwzDUMeOHZMe//OjUKFCWrp0qV555RWzIyOdoqOjVbRo0aTHa9asUf369VWyZElJUsuWLXXkyBGz4gH3RYe6DzqUDnVFdCgAOBc3MAQAO7BarcmuC7hp0ya1adMm6XHx4sV14cIFM6JlysiRI1M8V6ZMGQUEBKh169YqV66cPDw8ko0bhqEhQ4Y4K6LdlSxZUrt3705zfPfu3SpWrJgTE9lPYGCgQkJCZLVaFRYWpnr16snf3z/ZMYZhKE+ePKpbt67atWtnUlJklK+vr86fPy9Junnzpn7++WcNHDgwadwwDMXHx5sVD7gvOvR/6NCsiw51X3QoADgXk9EAYAflypXTmjVr1KtXL23fvl3nzp1LdnOes2fPKn/+/CYmtM3w4cPTHJs/f36qz7v6ifRzzz2nzz//XG3bttUzzzyTbGz9+vWaO3euunfvblK6zGnVqlXS9UpPnjypwYMHq1GjRiangj0EBgbqyy+/1DPPPKPly5frxo0batKkSdL48ePHk636ArISOvR/6NCsiw51X3QoADiXYX3Q3RcAAA80ceJEvfXWWwoICNCZM2eUM2dOHTt2TLly5ZJ0d3tfbGysNm3aZG7QDDp58qRNrytTpoydkzjP+fPnVbNmTUVFRalZs2YKDAyUJO3Zs0c//vijihUrpl9//ZVrQSJL2bFjh4KDgxUfHy+r1arGjRtrzZo1SeNVqlRR9erVtWjRIhNTAqmjQ5OjQwHnokMBwLlYGQ0AdtC3b1/FxcVpxYoVqlGjhkaPHp10Eh0dHa2ff/5Z77zzjskpM86VT4htVbRoUe3YsUOvvfaafvzxR/3www+S7q5Wa9asmaZMmeJWJ9EbN27U8uXLFRkZKUny9/dX69atk61KRNb3f//3f/rtt9+0Zs0a5c+fP9m1SqOjoxUcHKzWrVubmBBIGx3qPuhQOtQV0aEA4FysjAYApNvly5f1119/qXr16qmO//HHH3rooYdUoEABJydzjJiYGB09elSS9PDDD7vN+5KkxMREde7cWQsXLpTVapXFYkl63jAMdejQQXPnzpVhGCYnBQD3QIe6x/uS6FAAADLDYnYAAHBHt2/f1pYtW3T16lWzo9hV//791aVLlzTHQ0NDNWDAAOcFcrACBQqoVq1aqlWrlludREvS+PHjtWDBAr344ovas2eP4uPjFR8frz179ujll1/WggUL9Mknn5gdEzaKjY1V165ddfDgQbOjABlGh7oHOpQOdVV0KAA4FpPRAOAAly9f1tNPP33fO8q7oo0bN6pFixZpjrds2VLh4eFOTARbzZkzR8HBwVqyZImqV6+uHDlyKEeOHEnXRGzcuLFmzZpldkzYKD4+XnPnztXZs2fNjgJkGB2KrI4OdW90KAA4FpPRAOAg7ngVpLNnz6p06dJpjpcqVcrlfnC3WCzy9PTUrVu3kh57eHjc98PT0/VvuRAZGXnfSZEWLVokXQMTrskdvwch+3DHr186lA6F63DH70EAkFW4/k8CAACnyZ07t06ePJnm+MmTJ+Xt7e3ERJkXEhIiwzDk4eGR7LG7y507t86fP5/meFRUlHLnzu3ERLC37PB1DLgSOtR90KHuLzt8HQOAWZiMBgCkW506dTR37ly9++67yps3b7KxuLg4hYWFqXbt2ials82cOXPu+9hd1atXT1OmTFHbtm1VpUqVZGMHDhzQZ599poYNG5oTDnbBqi4ga6FD3Qcd6v7oUABwHMPKd1kAyJRr166pT58+atasmV566SVJ0vXr1/Xxxx+rc+fOKlu2rLkB7Wjjxo165plnFBAQoGHDhikwMFCStGfPHo0YMUIRERFavXq1nnnmGXOD4oH+/PNP1a1bV7dv31arVq0UEBAgSdq/f79WrVolLy8v7dixQ9WqVTM5KWyRmJio06dPq1ixYi630hLZCx1Kh7oiOtS90aEA4FhMRgOAHeTKlUuTJ09Wt27dzI7icNOnT1ffvn11+/btZM/nyJFDEydOVK9evUxKZl9nz57VqlWrkq756O/vr+bNm6tkyZImJ7OfX3/9VX379tVPP/2U7Pn/+7//06RJk/TYY4+ZlAxAdkKH0qGuiA4FAMA2TEYDgB08/vjjatasmd5//32zozjFmTNntHTpUh09elSSVLFiRb344otuc5L5/vvv64MPPtCdO3eSbdP09PTUoEGDNGzYMBPT2d/Fixd1/PhxSVK5cuXk5+dnciI8yJYtW2x6Xf369e2cBMg8OpQOdWV0qOuhQwHAXExGA4AdLF26VL1799aOHTtUsWJFs+MgE6ZMmaI+ffqoVq1a6tevX7KttxMmTNDu3bs1adIkvfHGGyYnRXZmsVgydHMlq9UqwzCUkJDgwFSAbehQ90GHwhXQoQBgLiajAcAORo4cqeXLl+vAgQNq3ry5KlSooFy5ciU7xjAMDRkyxKSESK9KlSqpQIEC2rZtmzw9k9/n9/bt23ryySd19epVHTp0yKSEtjl16pRNrytdurSdk8Ae5s6da9PrOnfubOckQObRoe6DDk2ODs2a6FAAMBeT0QBgBxaL5YHHuMuKip9++klTpkzRkSNHFB0dneJu44Zh6NixYyalyzwfHx+NHTtWffv2TXV80qRJeu+99xQfH+/kZJmT0VVA97jD1yyArI0O/R86NGuiQwEAsB/PBx8CAHiQe9cKdHdhYWEKDQ1Vjhw5VLFiRbdc8VO6dGnFxcWlOR4XF+eS73vo0KEpTqS//fZb7dmzR40bN062lXr9+vUKDAxUixYtzIgKIJuhQ90HHUqHAgDwIKyMBgCkW6VKleTh4aHw8HCVKFHC7DgOMXnyZI0bN067du1S8eLFk42dOXNGderU0Xvvvefy17tcuHCh3njjDW3YsEGBgYHJxn777Tc1atRIU6dOVbt27cwJCJskJCTo4MGDiomJUWJiYopxbr4EmIcOpUORtdGhAOAcrIwGAKTbyZMn9dFHH7ntSbQk5c+fX0WLFtUjjzyijh076pFHHpEkRUREaMGCBapYsaLy5cunsLCwZK8LCQkxI67Nxo4dqzfeeCPFSbQk1axZU6+//rrGjBnDibQL+fDDDzV27FjFxsameQxbxgHz0KF0KLIuOhQAnIfJaACwkzt37mjFihXauXNnqisqDMPQzJkzTUpnH6VKldLNmzfNjuFQXbp0SfrvadOmpRjfvXt3smOku/+2rnYifeTIERUpUiTN8aJFi+rIkSNOTITMmDlzpgYMGKAGDRooODhYgwYNUr9+/ZQjRw7NnDlT/v7+6t27t9kxgTTRoe6BDr2LDnUtdCgAOBeX6QAAO7h8+bKefvpp7du3T1arVYZhJN2U6N5/u8PNlz7++GMtWLBAv/76qzw8PMyO4xCbN2+26XUNGjSwcxLH8vf3V9myZbV+/foU18FMTExUUFCQTp48mW2u5erqHn/8cXl5eWnHjh2Kjo6Wn5+fwsPDFRQUpHPnzikwMFBjxoxR165dzY4KpECHug86lA51RXQoADgXK6MBwA4GDx6sgwcP6ssvv1TDhg1Vvnx5rVmzRqVLl9b777+vI0eOaM2aNWbHzLTHHntMX3/9tWrXrq3XX39d5cqVS/WE2pWvqedqJ8S2evXVVzVo0CA1adJEb731lipVqiRJOnjwoD755BNt3bpVH3zwgckpkV4RERFJ/173JkbuTdwVL15cPXr00KRJkziRRpZEhyZHh2Z9dKh7oUMBwLmYjAYAO/j+++8VEhKi0NBQRUdHS5I8PDxUqVIlzZ8/Xw0bNtSAAQNS3bLqSho1apT03927d0+xGshdVq/dc/PmTV26dEl+fn7y8vIyO45dvffeezp//rwmT56s9evXpxh//fXXNWDAABOSwRYeHh7KnTu3JCX9773vRZJUtmxZtowjy6JD76JDXQcd6l7oUABwLiajAcAOoqKiVKtWLUmSp+fdb603btxIGn/++ef10UcfufyJ9OzZs82O4BS//fab3nnnHW3btk0JCQlat26dgoKCdOHCBbVr104DBgzQM888Y3bMTDEMQxMnTlTv3r21cuVKRUZGSrq79bhly5ZJq7zgGkqXLp20Hdzb21sPPfSQtm7dqldeeUWS9Msvv6hgwYJmRgTSRIe6FzqUDnU1dCgAOBeT0QBgBwULFtT169clSXnz5lWOHDl0+vTppPEcOXIoJibGrHh207lzZ7MjONyePXtUr149FS5cWCEhIckmD4oUKaL4+HjNnTvX5U+k76lYsaLeffdds2Mgk+rXr6/vv/9eY8aMkSS99NJLmjhxouLj45WYmKj58+ezvRhZFh3qPuhQuCI6FACci8loALCDihUr6sCBA5Iki8WiGjVqaM6cOerSpYsSEhIUFhYmf39/k1MiPYYOHaoSJUro999/140bNzRr1qxk440aNdLSpUtNSgekrm/fvnr00UcVHx8vHx8fjRgxQocPH9bcuXMlScHBwRo7dqzJKYHU0aHugw6FK6JDAcC5LGYHAAB3EBwcrK+++ko3b96UJL311lvauXOnChYsqCJFiujXX39Vv379TE5pH6dPn1bXrl1VqlQpeXl5acOGDZKkixcvqmvXrvrll19MTpg5W7du1auvvqo8efKkuJ6ndHcr59mzZ01IZn8//fSTOnTooNq1a6t8+fLy9/dP9lG+fHmzIyKdKlWqpJ49e8rHx0fS3Wtefvvtt7p8+bKuXr2qH3/8kS3GyLLoUDrUFdGh7oMOBQDnYmU0ANjBwIED9c4778jb21uS9PLLL8vT01Pz58+Xh4eHXnzxRbVt29bklJl3/Phx1a1bVzdu3FDdunV17ty5pDE/Pz/9+uuv+vLLL5Ou/emKbty4ofz586c5Hhsb68Q0jhMWFqbQ0FDlyJFDFStWVOnSpc2OBAe439cykFXQoXSoq6FDswc6FAAcg8loALADwzCSTqLvadOmjdq0aWNSIscYNGiQLBaL9u3bJx8fHxUpUiTZ+LPPPqtVq1aZlM4+ypcvr927d6c5vmHDBgUEBDgxkWOMGjVKlSpVUnh4uEqUKGF2HADZGB16Fx3qOuhQAABsx2U6AADpFh4ert69e+uhhx5KdfttmTJl9Ndff5mQzH7at2+vefPmKTw8POm5e+91/PjxWr16tTp16mRWPLs5efKkXnvtNU6iXZTFYpGnp6du3bqV9NjDw+O+H56erEEAzESH0qHIGuhQADAX31EBwAZhYWE2vS4kJMTOSZwrNjZWxYsXT3P81q1bunPnjhMT2d8777yjdevWqUmTJnrkkUdkGIb69eunixcvKioqSo0bN1bv3r3NjplppUqVSro+K1xPSEiIDMOQh4dHsseAK6BDU0eHug461LXRoQBgLsNqtVrNDgEArsZiscgwDGXkW6hhGEpISHBgKserUKGCmjdvrgkTJig6Olp+fn4KDw9XUFCQJKldu3Y6cOCA9u7da3LSzLlz544mT56sBQsWKCIiQlarVRUqVFBISIj69u3rFqtjPv74Yy1YsEC//vpr0skYADgDHUqHujo6FAAA27n+TwIAYIKNGzeaHcEUbdq00eeff65u3bolre66t5Lk66+/1rJlyzRixAgzI9qFp6en+vXrp379+pkdxWEee+wxff3116pdu7Zef/11lStXLtUT6vr165uQDhlx/fp1jR8/XnXq1FGTJk3MjgM8EB1Kh7o6OtR90KEA4HysjAYApFtsbKyeeOIJnThxQvXr19fatWv1zDPPKDY2Vrt27VJgYKC2b9+unDlzmh0VD2CxJL9txL+3p1qtVrdYiZhd5MyZU1OmTFH37t3NjgIgDXSo+6BD3QsdCgDOxcpoAEC65cuXTz/99JOGDBmihQsXymq1at26dfL19VXv3r01atQoTqJdxOzZs82OADsqX768oqKizI4B4D7oUPdBh7oXOhQAnIuV0QBgB+m9GZOr33zp3y5evCir1So/Pz9u/AKY6LPPPtO4ceP022+/qVChQmbHATKEDqVDATPRoQDgXExGA4AdpHUzpn+fXLJdE4AjhIWFacKECTp9+rQ6d+6sChUqKFeuXCmOc7fJPLgHOhSAmehQAHAuJqMBwA42b96c4rk7d+7o2LFjmjp1qnLlyqVRo0bp6aefNiGd/ezatUt79+7Vq6++mvTcypUrNXjwYF2+fFmdO3fW6NGjTUyIjDh9+rSGDRumtWvX6sKFC1q9erWCgoJ08eJF/fe//9Vrr72mWrVqmR0T6fDv65emhuuXIquiQ+lQV0SHug86FACci8loAHCwmzdvqnbt2goJCdHbb79tdpxMee6552SxWLRq1SpJ0qlTp/TII48od+7c8vPz06FDh/Tll18qNDTU5KR4kOPHj6tu3bq6ceOG6tatq/DwcK1bt05BQUGSpOrVq+uJJ57Q9OnTTU6K9EhtMi81DRo0cHASwL7oUGRFdKh7oUMBwLm4gSEAOJi3t7c6duyoqVOnuvyJ9N69e/Xmm28mPV68eLGsVqv27NmjkiVLqlmzZpoxYwYn0i5g0KBBslgs2rdvn3x8fFSkSJFk488++2zShAmyPk6Q4a7oUGRFdKh7oUMBwLkevB8FAJBp3t7eOnPmjNkxMi06OlpFixZNerxmzRrVr19fJUuWlCS1bNlSR44cMSseMiA8PFy9e/fWQw89lOqNs8qUKaO//vrLhGSwRVBQkNavX5/m+MaNG5NW7AGuhg5FVkOHuhc6FACci8loAHCwc+fO6fPPP1e5cuXMjpJpvr6+On/+vKS7W6d//vln1a9fP2ncMAzFx8ebFQ8ZEBsbq+LFi6c5fuvWLd25c8eJiZAZmzZtSvr/ZmouXLiQ7m3IQFZChyIrokPdCx0KAM7FZToAwA7SWi1x+fJlHTx4ULdu3dLcuXOdnMr+AgMD9eWXX+qZZ57R8uXLdePGDTVp0iRp/Pjx48lWfSHreuihh7R///40x3/++Wc9/PDDTkwER7py5Yq8vb3NjgGkig69iw51HXRo9kKHAoB9MRkNAHYQGRmZYpumYRgqWLCg2rRpozfeeEP/93//Z1I6+xkyZIiCg4NVu3ZtWa1WNW7cWI8//njS+Hfffac6deqYmBDp1aZNG33++efq1q1b0uque1/DX3/9tZYtW6YRI0aYGREP8Mcff2jPnj1Jj7du3ZrqSrzLly9r6tSpCggIcGI6IP3o0LvoUNdBh7o+OhQAzGNYrVar2SEAAK7j8OHDWrNmjfLnz69XXnlFXl5eku5eC/ODDz5Q69atk207RtYUGxurJ554QidOnFD9+vW1du1aPfPMM4qNjdWuXbsUGBio7du3K2fOnGZHRRpGjBiRNNlhGIbu9yNd3rx5tWTJEjVt2tRZ8QCkgg51D3So66NDAcA8TEYDAJBNxcbGasiQIVq4cKGio6Ml3b2maYcOHTRq1Cjly5fP5IS4n5MnT+rEiROyWq0KCgrSwIED1bhx42THGIahPHnyKCAggEkRALAjOtS10aEAYB4mowHADsLDw7V+/XqNGTMm1fEBAwYoODhYTz/9tJOTOcaJEycUHh6u8+fPq0OHDipbtqxu3bqlqKgoFStWLGmlF1zHxYsXZbVa5efnl2K7PLK+uXPnqkGDBipbtqzZUYAMo0PpUFdHh7o2OhQAnMtidgAAcAfjxo3T0aNH0xw/fvy4PvzwQycmcpz//ve/qlChgnr06KGhQ4cqMjJSknTjxg0FBARo6tSpJidEWjp06KCvv/5a169fTzHm5+enIkWKcBLtojp37sxJNFwWHUqHugI61H3RoQDgXNzAEADsYO/everfv3+a43Xq1NG4ceOcmMgxpk+fro8++kh9+vRR8+bNFRwcnDSWL18+tWzZUqtWrdJ//vMf80IiTXv37tWiRYuUM2dONWrUSK1bt1bLli1VuHBhs6PBTn799Vft3LlTMTExSkxMTDZmGIaGDBliUjIgbXQoHeoK6FD3R4cCgHMwGQ0AdnD16lXlzp07zXEfHx/FxMQ4MZFjTJ06Va1bt9bEiROTro/4T9WrV9eUKVNMSIb02Ldvn44ePapvvvlGK1as0KuvvqqePXvqiSeeUJs2bdSqVSuVK1fO7JiwQXx8vNq0aaO1a9fKarUmuxnTvf/mRBpZFR16Fx2atdGh7osOBQDn4jIdAGAHJUuW1O7du9Mc3717t4oVK+bERI5x+PDhFDd3+Sc/Pz9dunTJiYmQUQ8//LD69++vHTt26K+//tKnn36qXLly6b///a8efvhhBQYGauTIkdq7d6/ZUZEBI0eO1Nq1azVo0CBt3LhRVqtVc+fO1Y8//qh69eqpVq1aOnDggNkxgVTRoXfRoVkfHeqe6FAAcC4mowHADp577jnNnTtX4eHhKcbWr1+vuXPn6tlnnzUhmX3lzJkz1Wsl3nPy5En5+vo6LxAypXjx4nrttde0evVqXbhwQWFhYapQoYI++ugj1axZU/7+/nr77bd18OBBs6PiAb766iu99NJLGjlypKpWrSrp7gRfkyZNFB4erlu3bmnOnDnmhgTSQIfeRYe6FjrUfdChAOBcTEYDgB0MGjRIfn5+atKkiZo3b67Bgwdr8ODBSdeE9PPzc4utfbVr19by5ctTHbtx44bmzZunJ5980smpYA/58+dXhw4dtGzZMl26dEnLly9Xw4YNNW/ePC1dutTseHiA06dPq0GDBpIkDw8PSdKtW7ckSZ6enmrXrp0WL15sWj7gfuhQOtTV0aGujQ4FAOfimtEAYAdFixbVjh079Nprr+nHH3/UDz/8IOnudeaaNWumKVOmqHjx4ianzLx3331XTZo0UadOndS1a1dJUlRUlNasWaNhw4bpr7/+0sKFC01Oiczy9vZWy5Yt1bJlSyUmJqZ6bVNkLXnz5tWdO3eS/ttisejs2bNJ4/nz51dUVJRZ8YD7okPpUHdCh7oeOhQAnMuw3rsyPwDALmJiYnT06FFJd68tWKBAAZMT2deMGTPUt29f3bp1K+mGLpLk5eWladOmqUuXLuYGBLKhunXrqlatWpo8ebIk6dFHH1XJkiX1ww8/yGq1qmnTpjp+/LgOHz5sclLg/ujQLuYGBLIhOhQAnIvJaABAhkVFRWnZsmU6ePCgrFarKlSooJdfflklS5Y0OxrSYLFYkiY90sswjKSVQsjaBg8erFmzZun06dPy8PDQ1KlT9cYbb6hcuXIyDEPHjx/X6NGj9d///tfsqEC2R4e6HjrUvdGhAOBcTEYDAJANdOnSJcMn0pI0e/ZsB6SBvV27dk1nzpxR+fLl5el59ypsn3zyiebPny8PDw+9+OKL6t+/v01fAwCQ3dGh7o0OBQDnYjIaAGxgsVhksVj0999/y8vLK10rZlghAwAAHQoAAJCdcQNDALBBSEiIDMNIuuP2vcfZwY4dO/TZZ5/pyJEjio6O1r9/p2kYho4dO2ZSOgBAVkeH0qEAACD7YmU0ACDdvvjiC/Xq1UteXl6qVKlSmjeW2rhxo5OTAQCQtdGhAAAATEYDQKZdv35d48ePV506ddSkSROz4zhUuXLlVLBgQa1Zs0aFCxc2Ow4yafv27RozZox27typmJiYVFfosS0egCPRoXBVdCgAALaxmB0AAFxd7ty5NXr0aJ0+fdrsKA53/vx5devWjZNoN7BlyxY9/fTT2rlzp+rUqaPExEQ9/fTTqlWrlqxWq6pWrapOnTqZHROAm6ND4YroUAAAbMdkNADYQfny5RUVFWV2DIerXLmyYmJizI4BOxg1apSKFy+uAwcOaM6cOZKkgQMH6ueff9bq1at1/Phxde/e3dyQALIFOhSuhg4FAMB2TEYDgB307t1bX3zxhaKjo82O4lCDBg3S1KlTdfbsWbOjIJN27dql7t27y8/PTxbL3R8HEhMTJUnBwcHq1KmThgwZYmZEANkEHQpXQ4cCAGA7T7MDAIA7yJs3rwoWLKhKlSqpc+fOqlChgnLlypXiuJCQEBPS2U+bNm30999/KyAgQK1atVLZsmXl4eGR7BjDMDgBcwE3b95UyZIlJUne3t6SpLi4uKTxwMBAzZ8/35RsALIXOvR/6FDXQIcCAGA7bmAIAHZwb1XM/RiGoYSEBCekcZzDhw+radOmOnHiRJrHuMP7zA7Kly+vzp07a+jQoZKkggULql+/fkmTIMOGDdOUKVPcfqUiAPPRof/jDu8zO6BDAQCwHSujAcAONm7caHYEp+jdu7cuXLigSZMmqV69eipQoIDZkWCjWrVqafv27UmPg4ODNWHCBJUpU0aJiYmaMmWK6tSpY2JCANkFHQpXQ4cCAGA7VkYDANItd+7cevfddzV8+HCzoyCT1q1bpzlz5ujLL7+Uj4+PIiMjVa9ePZ07d06SVKxYMa1du1ZVq1Y1OSkAuAc61H3QoQAA2I4bGAKAHQQFBWn9+vVpjm/cuFFBQUFOTOQY+fPnl5+fn9kxYAeNGzfWggUL5OPjI0ny9/fX4cOHtWLFCq1atUoRERGcRANwCjoUroYOBQDAdkxGA4AdbNq0SefPn09z/MKFC9q8ebMTEznGyy+/rG+++cbsGHCQ3Llzq2XLlnruueeUP39+s+MAyCboULgDOhQAgPRhMhoAnODKlStJd1t3ZT179lRcXJyef/55bdiwQcePH9epU6dSfAAAYC90KAAAgPvgBoYAYKM//vhDe/bsSXq8detW3blzJ8Vxly9f1tSpUxUQEODEdI5RpUoVGYahX3/9VatWrUrzuISEBCemQnoEBQXJMAytWbNGnp6e6drybhjGfbfOA4Ct6FA61JXQoQAA2A+T0QBgo+XLl2vEiBGS7p5wTJ8+XdOnT0/12Lx58+rTTz91ZjyHGDp0qAzDMDsGbBAZGSmLxaJ79y2OjIzk3xKAaehQuBI6FAAA+zGs9xoVAJAhJ0+e1IkTJ2S1WhUUFKSBAweqcePGyY4xDEN58uRRQECAcubMaVJSAACyFjoUAAAge2IyGgDsYO7cuWrQoIHKli1rdhQAAFwKHQoAAJB9MBkNALDZ+fPnVaJECa1bty5d108EAAB30aEAACA74prRAGAn169f18KFC3XkyBFFR0fr37/rMwxDM2fONCmd4/A7Tddgy0QHN18C4Cx0KLIyOhQAAPthMhoA7GDXrl1q3ry5Ll26lOYx7noiDdeQ2s2Wrl+/nvQ16+vrK0m6cuWKJKlw4cLKkyePMyMCyKboUGR1dCgAAPZjMTsAALiDt956S7du3dLSpUt16dIlJSYmpvhISEgwOyaysRMnTuj48eNJH+vXr5ePj4/69u2rs2fP6vLly7p8+bLOnj2rPn36KFeuXKzoAuAUdCiyOjoUAAD74ZrRAGAHPj4+GjhwoIYMGWJ2FKeKiYlRmzZt9Mknn6hGjRpmx0EGtGrVSrly5dKiRYtSHX/llVd048YNrVixwrnBAGQ7dCgd6mroUAAAbMfKaACwg3z58qlQoUJmx3C6AgUKaOPGjZxEu6BNmzapQYMGaY43bNhQmzZtcl4gANkWHUqHuho6FAAA2zEZDQB20KZNG61Zs8bsGEC6GYahiIiINMf379/vxDQAsjM6FK6GDgUAwHZMRgOAHXz44Ye6cOGC3nzzTR07dkzufAWk69eva9iwYapevbry5MmjPHnyqHr16ho+fLiuX79udjykU3BwsKZNm6awsLBkX69Wq1Vz587V9OnTFRwcbGJCANkFHUqHuho6FAAA23HNaACwA4vFkuIu6/9mGIbu3LnjpESOcfnyZdWrV08RERHy8/NTxYoVJUmHDx/WxYsXVblyZW3dulUFCxY0OSke5K+//lK9evV06tQpFS1aVBUqVJAkHTlyROfPn9dDDz2kbdu2qVSpUiYnBeDu6FA61NXQoQAA2M7T7AAA4A5CQkIeeCLtDoYOHaqDBw9qypQp6tmzpzw8PCRJCQkJmjFjht58800NHz5cn376qclJ8SClSpXSnj179OGHH2rlypXatWuXJMnf319dunRR//795evra25IANkCHUqHuho6FAAA27EyGgCQbqVLl1azZs00ffr0VMd79Oih1atX69SpU05Ohoy4efOmdu7cqeLFiyet5gIAOBYd6h7oUAAAModrRgMA0u38+fOqUaNGmuM1a9bU+fPnnZgItvDw8FCjRo30448/mh0FALINOtQ90KEAAGQOk9EAYCcJCQkKCwtTx44d1bhxY/3++++SpJiYGIWFhenMmTMmJ8y8okWLJr2v1Pz+++8qWrSoExPBFp6enipWrJhb3yQMgGuhQ+lQV0GHAgCQOUxGA4Ad/P3332rQoIG6dOmilStXasOGDYqJiZEk5cuXT++9956mTZtmcsrMa9GihWbOnKnp06crMTEx6fnExETNmDFDs2bNUsuWLU1MiPR66aWXtHTp0mT/jgBgBjqUDnU1dCgAALbjmtEAYAf9+/fXp59+qiVLluj//u//VLRoUYWHhysoKEiS9MYbb2jnzp365ZdfTE6aOdHR0XriiSd07Ngx+fn5qVKlSpKkQ4cO6eLFi3r44Ye1Y8cOFSpUyOSkeJADBw6oQ4cOKliwoP7zn/+oQoUKypUrV4rjSpcubUI6ANkJHUqHuho6FAAA23maHQAA3MGyZcvUo0cPtWrVStHR0SnGH374YS1ZssSEZPZVqFAh/frrr/rwww+1YsWKpIkBf39/de/eXf3791e+fPlMTon0qFq1qgzDkNVq1aZNm9I8LiEhwXmhAGRLdCgd6mroUAAAbMdkNADYwdmzZ/Xoo4+mOZ4rVy7FxcU5MZH9/fPu8aNGjdKoUaPMjoRMGDp0qAzDMDsGANChcDl0KAAAtmMyGgDsoFChQve9udL+/ftVokQJJyayv3t3jx8/frwqVKhgdhxk0vDhw82OAACS6FC4HjoUAADbcQNDALCDRo0aafbs2fr7779TjB0/flyzZs1S06ZNTUhmP9w9HgDgCHQoAABA9sENDAHADo4eParHH39cJUuWVLt27TRs2DC9/fbb8vDw0Oeffy4PDw/9/vvveuihh8yOmilvvfWWdu7cqa1bt8pi4feZ7iAhIUEHDx5UTEyMEhMTU4zXr1/fhFQAshM6FK6KDgUAIOOYjAYAO9m9e7e6du2qP//8M9nzVatW1bx58+57PUxXwd3j3cuHH36osWPHKjY2Ns1juPkSAGegQ/+HDnUNdCgAALZhMhoA7Gzfvn2KiIiQ1WpVhQoVVKNGDbMj2Y3FYkm6e/z9btzDyVfWN3PmTL366qtq0KCBgoODNWjQIPXr1085cuTQzJkz5e/vr969e6tz585mRwWQjdChdKgroEMBALAdk9EAYAcJCQny8PAwO4bDDR8+PF13jx82bJgT0iAzHn/8cXl5eWnHjh2Kjo6Wn5+fwsPDFRQUpHPnzikwMFBjxoxR165dzY4KwM3RocnRoVkfHQoAgO08zQ4AAO6gRIkS6tChg0JCQhQYGGh2HIfh7vHuIyIiQh988IEkJU2O3FuNV7x4cfXo0UOTJk3iRBqAw9GhcDV0KAAAtuPOGQBgB/7+/po4caIee+wxPfroo/rkk090/vx5s2MBafLw8FDu3LklKel/o6Ojk8bLli2rI0eOmJINQPZCh8LV0KEAANiOyWgAsIOffvpJhw8f1sCBAxUXF6d33nlHDz30kJo3b65ly5bp1q1bZke0q6VLl6pdu3aqU6eO6tSpo3bt2mnp0qVmx0IGlC5dWsePH5ckeXt766GHHtLWrVuTxn/55RcVLFjQrHgAshE6lA51NXQoAAC245rRAOAAmzdvVlhYmL7++mvFxsbK19dXL7/8sj7//HOzo2XK9evX9fzzz2vDhg2yWq3y9fWVJF25ckWGYahhw4b69ttvk1YJIevq3bu3tm3bpj/++EOS9M4772jixIkKCQlRYmKi5s+fr65du2rGjBkmJwWQ3dChdGhWR4cCAGA7JqMBwIFu3LihBQsW6O2331ZcXFzS9QRd1X/+8x99+umn6tOnj9577z0VK1ZMkhQVFaWxY8cmjU2cONHcoHigQ4cOadOmTQoJCZGPj4+uX7+udu3a6fvvv5ckBQcHa8GCBazsAmAaOhRZFR0KAIDtmIwGAAfZsGGDwsLC9M033+jatWsqVKiQLl68aHasTClevLjq16+vJUuWpDr+0ksvadu2bTp37pyTk8Ferl69Kg8PD+XJk8fsKACyMToUrogOBQDgwbhmNADY0cGDBzVw4ECVKVNGjRs31qJFixQUFKSvv/5aZ8+eNTtepsXGxurpp59OczwoKEixsbFOTAR7y58/PyfRAExBh9Khro4OBQDgwZiMBgA7mDJlimrXrq0qVapo7Nix8vPz04QJE3TmzBmtWLFCrVu3Vo4cOcyOmWnVq1e/793hjxw5omrVqjkxEWy1ZMkShYSEpDneuXNnffXVV05MBCC7okPvokNdBx0KAIDtuEwHANiBxWJRsWLF1LFjR3Xu3FlVqlQxO5JDrF+/Xq1bt9aCBQvUokWLZGMrV65Up06dtGLFCgUFBZmUEOlVr149lS9fXnPmzEl1vGvXrjp27Jg2b97s3GAAsh06lA51NXQoAAC28zQ7AAC4gx9++EHBwcGyWNxrw0nXrl1TPFeuXDk9//zzqlSpkipXrixJioiI0KFDh1StWjUtWLCAE2kXEBERoRdffDHN8Ro1amjVqlVOTAQgu6JD6VBXQ4cCAGA7JqMBwA6aNm1qdgSHSGvFj3T32p4HDx5M9twff/yhP//8UzNnznRwMmTW9evX5eHhkea4YRiKi4tzYiIA2RUdehcd6jroUAAAbOdeyw8AAHaVmJiY4Y+EhASzYyMdypUrp23btqU5vm3bNpUuXdqJiQDAvdCh7osOBQDAdkxGAwCQDbVu3VrLli1LdQXerFmztGzZMrVp08aEZAAAZG10KAAAtuMGhgAAZENxcXF64oknFBERocqVKyswMFCStHfvXh04cECVKlXSzz//rHz58pkbFACALIYOBQDAdkxGAwDS1LVrVxmGoRkzZsjDwyPVmzH9m2EYXO/SRVy9elUDBgzQkiVLFBMTI0kqUKCA2rVrpw8++EC+vr7mBgQAF0aHujc6FAAA2zAZDQBIk8VikWEYio+Pl5eXlyyWB1/dyTAMrnnpYqxWqy5duiRJKly4sAzDMDkRALg+OjR7oEMBAMgYJqMBAAAAAAAAAA7HDQwBAGnq2rWrdu7cmfR4y5YtunjxoomJYE+JiYmaPXu2WrZsqapVq6pq1apq2bKl5syZo8TERLPjAYBLo0PdGx0KAIBtWBkNAEiTxWLR/Pnz1b59e0mSh4eH5s2bl/QYris+Pl7PPvustmzZIsMwVLx4cUnSuXPnZLVa1aBBA/3www/KmTOnyUkBwDXRoe6LDgUAwHasjAYApKlw4cI6f/580mN+f+k+PvjgA23evFlvv/22Ll68qNOnT+v06dO6dOmS3nnnHW3atEmjRo0yOyYAuCw61H3RoQAA2I6V0QCAND3//PPaunWrQkJCVKBAAQ0fPlxt2rRR9erV03yNYRgaMmSIE1PCFg8//LAef/xxLV68ONXxV155Rb/++quOHj3q5GQA4B7oUPdFhwIAYDsmowEAaTpx4oQ6d+6sbdu2yWq1yjCMB67sMgxDCQkJTkoIW+XMmVMTJ05Ur169Uh2fNm2a+vXrpxs3bjg5GQC4BzrUfdGhAADYztPsAACArKts2bLavHmzbt26paioKJUtW1YTJ05Uq1atzI6GTPL19b3viq2jR4/K19fXeYEAwM3Qoe6LDgUAwHZMRgMAHsjLy0ulS5dW586dVadOHZUpU8bsSMikxo0b67PPPlPjxo3VpEmTZGNr167VtGnT9NJLL5mUDgDcBx3qfuhQAABsx2U6AADIhk6ePKlatWopOjpaNWrUUJUqVSRJ+/fv1++//67ChQtr165dTJoAAPAvdCgAALZjMhoAgGzq1KlTGjBggFatWqVr165JkvLmzasWLVpo9OjRKl26tMkJAQDImuhQAABsw2Q0AADZnNVq1cWLFyVJfn5+MgzD5EQAALgGOhQAgIxhMhoAAAAAAAAA4HDcwBAAgGxgy5YtNr2ufv36dk4CAIBroUMBALAfVkYDAJANWCwWm7YOJyQkOCANAACugw4FAMB+WBkNAEA2MHv27GSPrVarJk+erMOHD6tDhw4KCAiQJO3fv1+LFi1SxYoV9cYbb5gRFQCALIUOBQDAfpiMBgAgG+jcuXOyx5MmTdLFixd16NAhlShRItnYkCFD9MQTTyguLs6ZEQEAyJLoUAAA7MdidgAAAOB8U6ZMUc+ePVOcREtSqVKl1LNnT02ePNmEZAAAZG10KAAAtmMyGgCAbOj06dPKlStXmuO5c+fW6dOnnZgIAADXQIcCAGA7bmAIAEA2VLlyZeXKlUvbt29Xzpw5k43duHFDTzzxhG7cuKGIiAiTEgIAkDXRoQAA2I5rRgMAkA299dZb6tmzp2rVqqXXX39dlSpVkiQdPHhQn332mSIiIvT555+bnBIAgKyHDgUAwHasjAYAIJuaOHGiBg8erL///luGYUiSrFarfHx89P777+utt94yOSEAAFkTHQoAgG2YjAYAIBu7evWq1q5dq8jISEmSv7+/GjduLF9fX3ODAQCQxdGhAABkHJPRAAAAAAAAAACHs5gdAAAAAAAAAADg/piMBgAgm1q8eLGefPJJFSlSRB4eHik+PD25zzEAAKmhQwEAsA0NCQBANvTRRx/pvffeU6FChVS3bl0VKlTI7EgAALgEOhQAANtxzWgAALKhsmXLqkSJElq/fr18fHzMjgMAgMugQwEAsB2X6QAAIBuKiopSx44dOYkGACCD6FAAAGzHZDQAANnQww8/rCtXrpgdAwAAl0OHAgBgOyajAQDIht5++23NnDlT165dMzsKAAAuhQ4FAMB23MAQAIBsyMPDQ0WKFNEjjzyirl27qly5cvLw8EhxXEhIiAnpAADIuuhQAABsxw0MAQDIhiyWB2+OMgxDCQkJTkgDAIDroEMBALAdK6MBAMiGNm7caHYEAABcEh0KAIDtWBkNAAAAAAAAAHA4bmAIAEA2d/PmTZ05c0a3bt0yOwoAAC6FDgUAIGOYjAYAIJv67bffFBQUpLx586p06dLatm2bJOnChQtq1KiRwsPDTU4IAEDWRIcCAGAbJqMBAMiG9uzZo3r16unYsWMKCQlJNlakSBHFx8dr7ty5JqUDACDrokMBALAdk9EAAGRDQ4cOVYkSJbR//36NHTtW/76FRKNGjbRr1y6T0gEAkHXRoQAA2I7JaAAAsqGtW7fq1VdfVZ48eWQYRorx0qVL6+zZsyYkAwAga6NDAQCwHZPRAABkQzdu3FD+/PnTHI+NjXViGgAAXAcdCgCA7ZiMBgAgGypfvrx2796d5viGDRsUEBDgxEQAALgGOhQAANsxGQ0AQDbUvn17zZs3T+Hh4UnP3dtqPH78eK1evVqdOnUyKx4AAFkWHQoAgO0M67/vtgAAANzerVu31KRJE23ZskWPPPKIDh48qGrVqunixYuKiopS48aN9cMPP8hi4ffWAAD8Ex0KAIDtaEcAALIhLy8vrVu3Th9//LF8fHyUM2dOHT58WIULF9a4ceP03XffcRINAEAq6FAAAGzHymgAAAAAAAAAgMPx61oAAAAAAAAAgMMxGQ0AAAAAAAAAcDgmowEAAAAAAAAADsdkNAAAAAAAAADA4ZiMBgAAAAAAAAA4HJPRAAAAAAAAAACHYzIaAAAAAAAAAOBwTEYDAAAAAAAAAByOyWgAAAAAAAAAgMMxGQ0AAAAAAAAAcDgmowEAAAAAAAAADsdkNAAAAAAAAADA4ZiMBgAAAAAAAAA4HJPRAAAAAAAAAACHYzIaAAAAAAAAAOBwTEYDAAAAAAAAAByOyWgAAAAAAAAAgMMxGQ0AAAAAAAAAcDgmowEAAAAAAAAADsdkNAAAAAAAAADA4ZiMBgAAAAAAAAA4HJPRAAAAAAAAAACHYzIaAAAAAAAAAOBwTEYDAAAAAAAAAByOyWgAAAAAAAAAgMMxGQ0AAAAAAAAAcDgmowEAAAAAAAAADsdkNAAAAAAAAADA4ZiMBgAAAAAAAAA4HJPRAAAAAAAAAACHYzIaAAAAAAAAAOBwTEYDAAAAAAAAAByOyWgAAAAAAAAAgMMxGQ0AAAAAAAAAcDgmowEAAAAAAAAADsdkNAAAAAAAAADA4ZiMBgAAAAAAAAA4HJPRAAAAAAAAAACHYzIaAAAAAAAAAOBwTEYDAAAAAAAAAByOyWgAAAAAAAAAgMMxGQ0AAAAAAAAAcDgmowEAAAAAAAAADsdkNAAAAAAAAADA4ZiMBgAAAAAAAAA4HJPRAAAAAAAAAACHYzIaAAAAAAAAAOBwTEYDAAAAAAAAAByOyWgAAAAAAAAAgMP9P2XIbQOYOWAtAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ms_data.plt.ccc_heatmap(res_key='cell_cell_communication')" ] }, { "cell_type": "markdown", "id": "6e945e21-3bd8-4b1b-a372-254244996d30", "metadata": {}, "source": [ "### Circos plot\n", "\n", "The circos plot shows the number of ligand-receptor pairs (with direction) between each cell cluster." ] }, { "cell_type": "code", "execution_count": 23, "id": "8f19d4a0-6921-4926-b3ce-036f9fda75fa", "metadata": { "execution": { "iopub.execute_input": "2023-11-13T08:50:35.598105Z", "iopub.status.busy": "2023-11-13T08:50:35.597816Z", "iopub.status.idle": "2023-11-13T08:50:36.705922Z", "shell.execute_reply": "2023-11-13T08:50:36.705063Z", "shell.execute_reply.started": "2023-11-13T08:50:35.598077Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[2023-11-13 16:50:35][Stereo][15833][MainThread][139891007416128][ms_pipeline][128][INFO]: register plot_func ccc_circos_plot to -139890412633488\n", "[2023-11-13 16:50:35][Stereo][15833][MainThread][139891007416128][plot_ccc][255][INFO]: Generating circos plot\n" ] }, { "data": {}, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.holoviews_exec.v0+json": "", "text/html": [ "
\n", "
\n", "
\n", "" ], "text/plain": [ "Column\n", " [0] Markdown(str)\n", " [1] Row\n", " [0] TextInput(name='file name', placeholder='Enter a file name...', width=200)\n", " [1] Select(name='file format', options=['png', 'pdf'], value='png', width=60)\n", " [2] IntInput(name='dpi', placeholder='Enter the dip...', start=0, value=100, width=200)\n", " [2] Row\n", " [0] Button(button_type='primary', name='export', width=100)\n", " [1] StaticText(width=800)" ] }, "execution_count": 23, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "1076" } }, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ms_data.plt.ccc_circos_plot(res_key='cell_cell_communication')" ] }, { "cell_type": "markdown", "id": "f64c94e2-6d00-4d92-b47a-9430a83640ec", "metadata": {}, "source": [ "### 3D Gene Regulatory Network (3D GRN)\n", "\n", "In order to display the sankey plot, you need to run 3D GRN beforehand." ] }, { "cell_type": "code", "execution_count": 24, "id": "e933169a-352f-474f-8d87-78cf2832e400", "metadata": { "execution": { "iopub.execute_input": "2023-11-13T08:50:36.707328Z", "iopub.status.busy": "2023-11-13T08:50:36.707040Z", "iopub.status.idle": "2023-11-13T10:38:35.396756Z", "shell.execute_reply": "2023-11-13T10:38:35.393737Z", "shell.execute_reply.started": "2023-11-13T08:50:36.707300Z" }, "tags": [] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[2023-11-13 16:50:36][Stereo][15833][MainThread][139891007416128][ms_pipeline][121][INFO]: register algorithm regulatory_network_inference to -139890412633488\n", "[2023-11-13 16:50:36][Stereo][15833][MainThread][139891007416128][main][93][INFO]: the raw expression matrix will be used.\n", "[2023-11-13 16:51:29][Stereo][15833][MainThread][139891007416128][main][378][INFO]: Loading ranked database...\n", "[2023-11-13 16:51:31][Stereo][15833][MainThread][139891007416128][main][122][INFO]: If data belongs to 3D, it only can be runned as hotspot method now\n", "[2023-11-13 16:51:31][Stereo][15833][MainThread][139891007416128][main][221][INFO]: cached file not found, running hotspot now\n", "[2023-11-13 16:53:05][Stereo][15833][MainThread][139891007416128][main][246][INFO]: compute_autocorrelations()\n", "100%|██████████| 14405/14405 [01:18<00:00, 183.93it/s]\n", "[2023-11-13 16:54:34][Stereo][15833][MainThread][139891007416128][main][248][INFO]: compute_autocorrelations() done\n", "[2023-11-13 16:54:34][Stereo][15833][MainThread][139891007416128][main][251][INFO]: compute_local_correlations\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Computing pair-wise local correlation on 2513 features...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 2513/2513 [00:41<00:00, 60.18it/s]\n", "100%|██████████| 3156328/3156328 [1:20:38<00:00, 652.38it/s]\n", "[2023-11-13 18:17:24][Stereo][15833][MainThread][139891007416128][main][254][INFO]: Network Inference DONE\n", "[2023-11-13 18:17:24][Stereo][15833][MainThread][139891007416128][main][255][INFO]: Hotspot: create 2513 features\n", "[2023-11-13 18:17:24][Stereo][15833][MainThread][139891007416128][main][256][INFO]: (2513, 2513)\n", "[2023-11-13 18:17:24][Stereo][15833][MainThread][139891007416128][main][261][INFO]: detected 63 predefined TF in data\n", "\n", "2023-11-13 18:17:54,542 - pyscenic.utils - INFO - Calculating Pearson correlations.\n", "INFO:pyscenic.utils:Calculating Pearson correlations.\n", "\n", "2023-11-13 18:17:55,938 - pyscenic.utils - WARNING - Note on correlation calculation: the default behaviour for calculating the correlations has changed after pySCENIC verion 0.9.16. Previously, the default was to calculate the correlation between a TF and target gene using only cells with non-zero expression values (mask_dropouts=True). The current default is now to use all cells to match the behavior of the R verision of SCENIC. The original settings can be retained by setting 'rho_mask_dropouts=True' in the modules_from_adjacencies function, or '--mask_dropouts' from the CLI.\n", "\tDropout masking is currently set to [False].\n", "WARNING:pyscenic.utils:Note on correlation calculation: the default behaviour for calculating the correlations has changed after pySCENIC verion 0.9.16. Previously, the default was to calculate the correlation between a TF and target gene using only cells with non-zero expression values (mask_dropouts=True). The current default is now to use all cells to match the behavior of the R verision of SCENIC. The original settings can be retained by setting 'rho_mask_dropouts=True' in the modules_from_adjacencies function, or '--mask_dropouts' from the CLI.\n", "\tDropout masking is currently set to [False].\n", "\n", "2023-11-13 18:18:41,324 - pyscenic.utils - INFO - Creating modules.\n", "INFO:pyscenic.utils:Creating modules.\n", "[2023-11-13 18:19:06][Stereo][15833][MainThread][139891007416128][main][431][INFO]: cached file not found, running prune modules now\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[########################################] | 100% Completed | 479.93 s\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[2023-11-13 18:27:10][Stereo][15833][MainThread][139891007416128][main][475][INFO]: cached file not found, calculating auc_activity_level now\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Create regulons from a dataframe of enriched features.\n", "Additional columns saved: []\n" ] } ], "source": [ "tfs_fn = '../test_data/grn/test_mm_mgi_tfs.txt'\n", "database_fn = '../test_data/grn/mm10_10kbp_up_10kbp_down_full_tx_v10_clust.genes_vs_motifs.rankings.feather'\n", "motif_anno_fn = '../test_data/grn/motifs-v10nr_clust-nr.mgi-m0.001-o0.0.tbl'\n", "\n", "ms_data.tl.regulatory_network_inference(\n", " database_fn, \n", " motif_anno_fn, \n", " tfs_fn, \n", " save_regulons=True,\n", " fn_prefix='3D',\n", " num_workers=10, \n", " method='hotspot', \n", " ThreeD_slice=True,\n", " use_raw=True,\n", " mode='integrate'\n", " )" ] }, { "cell_type": "markdown", "id": "2941f75d-56a6-42ba-981c-cd3b94a78ca6", "metadata": {}, "source": [ "### Sankey plot\n", "\n", "The sankey plot shows the ligand-receptor communications between a pair of cell clusters and the latent regulatory relationship between receptors and downstream TFs in the receiver cells.\n", "\n", "The parameter `regulons` specifies the path of file saving regulons which is output of function of [3D Gene Regulatory Network](https://stereopy.readthedocs.io/en/latest/Tutorials/3D_Gene_Regulatory_Network.html).\n", "\n", "You need to specify the path of file which contains the weighted network infomation by parameter `weighted_network_path` . By default, you can download the NicheNet-V2 weighted network files from [here](http://116.6.21.110:8090/share/3ca60300-e8bd-4d67-8b68-14267e428523).\n", "\n", "There are two files about weighted network infomations:\n", "\n", "1. Use `weighted_network_lr_sig_human.txt` when the parameter `species` on `data.tl.cell_cell_communication` is set to `'HUMAN'`.\n", "\n", "2. Use `weighted_network_lr_sig_mouse.txt` when the parameter `species` is set to `'MOUSE'`.\n", "\n", "\n", "
\n", "\n", "**Note**\n", "\n", "If your jupyter-lab/jupyter-notebook doesn't run in the same environment as stereopy, in order to use this function, you need to install plotly to the environment in which jupyter-lab/jupyter-notebook is running.\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": null, "id": "a3213cad-fc62-4b71-a6d1-9a3ea491a133", "metadata": { "execution": { "iopub.execute_input": "2023-11-14T01:22:46.262270Z", "iopub.status.busy": "2023-11-14T01:22:46.261597Z", "iopub.status.idle": "2023-11-14T01:23:14.713742Z", "shell.execute_reply": "2023-11-14T01:23:14.711949Z", "shell.execute_reply.started": "2023-11-14T01:22:46.262220Z" }, "tags": [] }, "outputs": [], "source": [ "ms_data.plt.ccc_sankey_plot(\n", " sender_cluster='epicardial (EP)',\n", " receiver_cluster='ventricular-specific CM',\n", " homo_transfer=True,\n", " weighted_network_path='../test_data/weighted_network_lr_sig_mouse.txt',\n", " regulons='./3D_regulon_list.csv'\n", ")" ] }, { "attachments": { "ccc_sankey.png": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAANwCAYAAADz7hQzAAAAAXNSR0IArs4c6QAAIABJREFUeF7svQf0HUd99j+2VVwkW5IlW82yVS1XQQIhIbSYhOqEZiDkJRBTDSSAjQFTTAdjO7i8AYMLhPAnNANJIKH8c8IL5CUQinGs3lC1qtUsWbZsWXrPZ8VI+7vae3d2Z2bv7t5nzrnn/srUZ2Znn/m2OebgwYMHjZIQEAJCQAgIASEgBIRAMASOEcEKhqUqEgJCQAgIASEgBIRAgoAIlhaCEBACQkAICAEhIAQCIyCCFRhQVScEhIAQEAJCQAgIAREsrQEhIASEgBAQAkJACARGQAQrMKCqTggIASEgBISAEBACIlhaA0JACAgBISAEhIAQCIyACFZgQFWdEBACQkAICAEhIAREsLQGhIAQEAJCQAgIASEQGAERrMCAqjohIASEgBAQAkJACIhgaQ0IASEgBISAEBACQiAwAiJYgQFVdUJACAgBISAEhIAQEMHSGhACQkAICAEhIASEQGAERLACA6rqhIAQEAJCQAgIASEggqU1IASEgBAQAkJACAiBwAiIYAUGVNUJASEgBISAEBACQkAES2tACAgBISAEhIAQEAKBERDBCgyoqhMCQkAICAEhIASEgAiW1oAQEAJCQAgIASEgBAIjIIIVGFBVJwSEgBAQAkJACAgBESytASEgBISAEBACQkAIBEZABCswoKpOCAgBISAEhIAQEAIiWFoDQkAICAEhIASEgBAIjIAIVmBAVZ0QEAJCQAgIASEgBESwtAaEgBAQAkJACAgBIRAYARGswICqOiEgBISAEBACQkAIiGBpDQgBISAEhIAQEAJCIDACIliBAVV1QkAICAEhIASEgBAQwdIaEAJCQAgIASEgBIRAYAREsAIDquqEgBAQAkJACAgBISCCpTUgBISAEBACQkAICIHACIhgBQZU1QkBISAEhIAQEAJCQARLa0AICAEhIASEgBAQAoEREMEKDKiqEwJCQAgIASEgBISACJbWgBAQAkJACAgBISAEAiMgghUYUFUnBISAEBACQkAICAERLK0BISAEhIAQEAJCQAgERkAEKzCgqk4ICAEhIASEgBAQAiJYWgNCQAgIASEgBISAEAiMgAhWYEBVnRAQAkJACAgBISAERLC0BoSAEBACQkAICAEhEBgBEazAgKo6ISAEhIAQEAJCQAiIYGkNCAEhIASEgBAQAkIgMAIiWIEBVXVCQAgIASEgBISAEBDB0hoQAkJACAgBISAEhEBgBESwAgOq6oSAEBACQkAICAEhIIKlNSAEhIAQEAJCQAgIgcAIiGAFBlTVCQEhIASEgBAQAkJABEtrQAgIASEgBISAEBACgREQwQoMqKoTAkJACAgBISAEhIAIltaAEBACQkAICAEhIAQCIyCCFRhQVScEhIAQEAJCQAgIAREsrQEhIASEgBAQAkJACARGQAQrMKCqTggIASEgBISAEBACIlhaA0JACAgBISAEhIAQCIyACFZgQFWdEBACQkAICAEhIAREsLQGhIAQEAJCQAgIASEQGAERrMCAqjohIASEgBAQAkJACIhgaQ0IASEgBISAEBACQiAwAiJYgQFVdUJACAgBISAEhIAQEMHSGhACQkAICAEhIASEQGAERLACA6rqhIAQEAJCQAgIASEggqU1IASEgBAQAkJACAiBwAiIYAUGVNUJASEgBISAEBACQkAES2tACAgBISAEhIAQEAKBERDBCgyoqhMCQkAICAEhIASEgAiW1oAQEAJCQAgIASEgBAIjIIIVGFBVJwSEgBAQAkJACAgBESytASEgBISAEBACQkAIBEZABCswoKpOCAgBISAEhIAQEAIiWFoDQkAICAEhIASEgBAIjIAIVmBAVZ0QEAJCQAgIASEgBESwtAaEgBAQAkJACAgBIRAYARGswICqOiEgBISAEBACQkAIiGBpDQgBISAEhIAQEAJCIDACIliBAVV1QkAICAEhIASEgBAQwdIaEAJCQAgIASEgBIRAYAREsAIDquqEgBAQAkJACAgBISCCpTUgBISAEBACQkAICIHACIhgBQZU1QkBISAEhIAQEAJCQARLa0AICAEhIASEgBAQAoEREMEKDKiqEwJCQAgIASEgBISACJbWgBAQAkJACAgBISAEAiMgghUYUFUnBISAEBACQkAICAERLK0BISAEhIAQEAJCQAgERkAEKzCgqk4ICAEhIASEgBAQAiJYWgNCQAgIASEgBISAEAiMgAhWYEBVnRAQAkJACAgBISAERLC0BoSAEBACQkAICAEhEBgBEazAgKo6ISAEhIAQEAJCQAiIYGkNCAEhIASEgBAQAkIgMAIiWIEBVXVCQAgIASEgBISAEBDB0hoQAkJACAgB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AgQaCwhYjUEVR4AAAQIECBAQsNQBAgQIECBAgEBjAQGrMajiCBAgQIAAAQICljpAgAABAgQIEGgsIGA1BlUcAQIECBAgQEDAUgcIECBAgAABAo0FBKzGoIojQIAAAQIECAhY6gABAgQIECBAoLGAgNUYVHEECBAgQIAAAQFLHSBAgAABAgQINBYQsBqDKo4AAQIECBAgIGCpAwQIECBAgACBxgICVmNQxREgQIAAAQIEBCx1gAABAgQIECDQWEDAagyqOAIECBAgQICAgKUOECBAgAABAgQaCwhYjUEVR4AAAQIECBAQsNQBAgQIECBAgEBjAQGrMajiCBAgQIAAAQICljpAgAABAgQIEGgsIGA1BlUcAQIECBAgQEDAUgcIECBAgAABAo0FBKzGoIojQIAAAQIECAhY6gABAgQIECBAoLGAgNUYVHEECBAgQIAAAQFLHSBAgAABAgQINBYQsBqDKo4AAQIECBAgIGCpAwQIECBAgACBxgICVmNQxREgQIAAAQIEBCx1gAABAgQIECDQWEDAagyqOAIECBAgQICAgKUOECBAgAABAgQaCwhYjUEVR4AAAQIECBAQsNQBAgQIECBAgEBjAQGrMajiCBAgQIAAAQICljpAgAABAgQIEGgsIGA1BlUcAQIECBAgQEDAUgcIECBAgAABAo0FBKzGoIojQIAAAQIECPwP7R8qdM8VDgwAAAAASUVORK5CYII=" } }, "cell_type": "markdown", "id": "de708b3f", "metadata": {}, "source": [ "![ccc_sankey.png](attachment:ccc_sankey.png)" ] }, { "cell_type": "markdown", "id": "e88cf42a-10f5-42f4-8e2d-19ee633ff864", "metadata": { "execution": { "iopub.execute_input": "2023-10-31T02:26:13.981659Z", "iopub.status.busy": "2023-10-31T02:26:13.980692Z", "iopub.status.idle": "2023-10-31T02:26:13.990625Z", "shell.execute_reply": "2023-10-31T02:26:13.988293Z", "shell.execute_reply.started": "2023-10-31T02:26:13.981572Z" } }, "source": [ "## Observation of results in 3D" ] }, { "cell_type": "markdown", "id": "868b7ae6-fe65-4f63-a1e9-b0018b7d8b3d", "metadata": {}, "source": [ "You can also observe the analysis results by 3D visualization through an online website." ] }, { "cell_type": "code", "execution_count": null, "id": "8cffd35e-1ba7-4d62-a86b-1ed22c789e60", "metadata": { "execution": { "iopub.status.busy": "2023-11-13T10:38:45.621151Z", "iopub.status.idle": "2023-11-13T10:38:45.621571Z", "shell.execute_reply": "2023-11-13T10:38:45.621404Z", "shell.execute_reply.started": "2023-11-13T10:38:45.621386Z" } }, "outputs": [], "source": [ "ms_data.plt.start_vt3d_browser(\n", " scope=slice_generator[:],\n", " mode='integrate',\n", " ccc_res_key='cell_cell_communication',\n", " # grn_res_key='regulatory_network_inference'\n", ")" ] }, { "cell_type": "markdown", "id": "430cc31a", "metadata": {}, "source": [ "
\n", "\n", "**Note**\n", "\n", "If you don't run the notebook locally, you need to specify the IP of host on which this notebook is ran by parameter `ip`.\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": null, "id": "f9fa964b", "metadata": { "execution": { "iopub.status.busy": "2023-11-13T10:38:45.622715Z", "iopub.status.idle": "2023-11-13T10:38:45.623086Z", "shell.execute_reply": "2023-11-13T10:38:45.622927Z", "shell.execute_reply.started": "2023-11-13T10:38:45.622909Z" } }, "outputs": [], "source": [ "# ms_data.plt.display_3d_ccc(scope=slice_generator[:], mode='integrate', ip='172.16.18.15')\n", "\n", "ms_data.plt.display_3d_ccc(scope=slice_generator[:], mode='integrate')" ] }, { "attachments": { "ccc3d.png": { "image/png": "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" } }, "cell_type": "markdown", "id": "e3706078", "metadata": {}, "source": [ "![ccc3d.png](attachment:ccc3d.png)" ] } ], "metadata": { "kernelspec": { "display_name": "stereopy", "language": "python", "name": "stereopy" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.18" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 5 }