{
“cells”: [
{

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“# Test”

]

}, {

“cell_type”: “code”, “execution_count”: 1, “metadata”: {}, “outputs”: [

{
“data”: {
“application/javascript”: [

“n”, “(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_callbacksn”, “ }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”, “ root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length;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({‘paths’: {‘tabulator’: ‘https://unpkg.com/tabulator-tables@4.9.3/dist/js/tabulator’}});n”, “ require(["tabulator"], function(Tabulator,) {n”, “ window.Tabulator = Tabulator;n”, “ })n”, “ }n”, “ if (((window[‘tabulator’] !== undefined) && (!(window[‘tabulator’] instanceof HTMLElement))) || window.requirejs) {n”, “ var urls = [’https://unpkg.com/tabulator-tables@4.9.3/dist/js/tabulator.js’, ‘https://unpkg.com/moment@2.27.0/moment.js’];n”, “ for (var i = 0; i < urls.length; i++) {n”, “ skip.push(urls[i])n”, “ }n”, “ }n”, “ for (var i = 0; i < js_urls.length; i++) {n”, “ var url = js_urls[i];n”, “ if (skip.indexOf(url) >= 0) { on_load(); continue; }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) { on_load(); continue; }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://unpkg.com/tabulator-tables@4.9.3/dist/js/tabulator.js", "https://unpkg.com/moment@2.27.0/moment.js"];n”, “ var js_modules = [];n”, “ var css_urls = ["https://unpkg.com/tabulator-tables@4.9.3/dist/css/tabulator_simple.min.css"];n”, “ var inline_js = [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”, “ },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(".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”, “ },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”, “ },n”, “ 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”, “ },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”, “ },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: flex;\n justify-content: space-between;\n padding: 0 1.25rem 0 0;\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: space-between;\n padding: 0 1.25rem 0 0;\n width: 100%;\n}\np.bk.card-button {\n background-color: transparent;\n font-size: 1.25rem;\n font-weight: 700;\n margin: 0;\n margin-left: -15px;\n}\n.bk.card-header-row {\n position: relative !important;\n}\n.bk.card-title {\n align-items: center;\n display: flex !important;\n font-size: 1.4em;\n font-weight: bold;\n padding: 0.25em;\n position: relative !important;\n}\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 }\n ");n”, “ },n”, “ function(Bokeh) {n”, “ / BEGIN bokeh.min.js /n”, “ /!n”, “ * Copyright (c) 2012 - 2021, Anaconda, Inc., and Bokeh Contributorsn”, “ * 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 documentationn”, “ * and/or other materials provided with the distribution.n”, “ * n”, “ * Neither the name of Anaconda nor the names of any contributorsn”, “ * may be used to endorse or promote products derived from this softwaren”, “ * 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, THEn”, “ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSEn”, “ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BEn”, “ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, ORn”, “ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OFn”, “ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSn”, “ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER INn”, “ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)n”, “ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OFn”, “ * 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”, “ var define;n”, “ var parent_require = typeof require === "function" && requiren”, “ return (function(modules, entry, aliases, externals) {n”, “ if (aliases === undefined) aliases = {};n”, “ if (externals === undefined) externals = {};n”, “n”, “ var cache = {};n”, “n”, “ var 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”, “ var prefix = "@bokehjs/"n”, “ if (name.slice(0, prefix.length) === prefix)n”, “ name = name.slice(prefix.length)n”, “ }n”, “n”, “ var alias = aliases[name]n”, “ if (alias != null)n”, “ return alias;n”, “n”, “ var trailing = name.length > 0 && name[name.lenght-1] === "/";n”, “ var index = aliases[name + (trailing ? "" : "/") + "index"];n”, “ if (index != null)n”, “ return index;n”, “n”, “ return name;n”, “ }n”, “n”, “ var require = function(name) {n”, “ var mod = cache[name];n”, “ if (!mod) {n”, “ var 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”, “ var 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”, “ var main = require(entry);n”, “ main.require = require;n”, “n”, “ if (typeof Proxy !== "undefined") {n”, “ // allow Bokeh.loader["@bokehjs/module/name"] syntaxn”, “ 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 (var name in plugin_modules) {n”, “ modules[name] = plugin_modules[name];n”, “ }n”, “n”, “ for (var name in plugin_aliases) {n”, “ aliases[name] = plugin_aliases[name];n”, “ }n”, “n”, “ for (var name in plugin_externals) {n”, “ externals[name] = plugin_externals[name];n”, “ }n”, “n”, “ var plugin = require(plugin_entry);n”, “n”, “ for (var 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();t(1).__exportStar(t(2),n)},n”, “ function _(t,e,n,r,o){r();var a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};n.__extends=function(t,e){function n(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)};function i(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function c(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,a=n.call(t),i=[];try{for(;(void 0===e||e– >0)&&!(r=a.next()).done;)i.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}function u(t){return this instanceof u?(this.v=t,this):new u(t)}n.__assign=function(){return n.__assign=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},n.__assign.apply(this,arguments)},n.__rest=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(t);o<r.length;o++)e.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(t,r[o])&&(n[r[o]]=t[r[o]])}return n},n.__decorate=function(t,e,n,r){var o,a=arguments.length,i=a<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,r);else for(var c=t.length-1;c>=0;c–)(o=t[c])&&(i=(a<3?o(i):a>3?o(e,n,i):o(e,n))||i);return a>3&&i&&Object.defineProperty(e,n,i),i},n.__param=function(t,e){return function(n,r){e(n,r,t)}},n.__metadata=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},n.__awaiter=function(t,e,n,r){return new(n||(n=Promise))((function(o,a){function i(t){try{u(r.next(t))}catch(t){a(t)}}function c(t){try{u(r.throw(t))}catch(t){a(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(i,c)}u((r=r.apply(t,e||[])).next())}))},n.__generator=function(t,e){var n,r,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(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=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++,r=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]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=e.call(t,i)}catch(t){a=[6,t],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}},n.__createBinding=Object.create?function(t,e,n,r){void 0===r&&(r=n),Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]},n.__exportStar=function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||n.__createBinding(e,t,r)},n.__values=i,n.__read=c,n.__spread=function(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(c(arguments[e]));return t},n.__spreadArrays=function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),o=0;for(e=0;e<n;e++)for(var a=arguments[e],i=0,c=a.length;i<c;i++,o++)r[o]=a[i];return r},n.__await=u,n.__asyncGenerator=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(t,e||[]),a=[];return r={},i("next"),i("throw"),i("return"),r[Symbol.asyncIterator]=function(){return this},r;function i(t){o[t]&&(r[t]=function(e){return new Promise((function(n,r){a.push([t,e,n,r])>1||c(t,e)}))})}function c(t,e){try{(n=o[t](e)).value instanceof u?Promise.resolve(n.value.v).then(f,l):s(a[0][2],n)}catch(t){s(a[0][3],t)}var n}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])}},n.__asyncDelegator=function(t){var e,n;return e={},r("next"),r("throw",(function(t){throw t})),r("return"),e[Symbol.iterator]=function(){return this},e;function r(r,o){e[r]=t[r]?function(e){return(n=!n)?{value:u(t[r](e)),done:"return"===r}:o?o(e):e}:o}},n.__asyncValues=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=i(t),e={},r("next"),r("throw"),r("return"),e[Symbol.asyncIterator]=function(){return this},e);function r(n){e[n]=t[n]&&function(e){return new Promise((function(r,o){(function(t,e,n,r){Promise.resolve(r).then((function(e){t({value:e,done:n})}),e)})(r,o,(e=t[n](e)).done,e.value)}))}}},n.__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};n.__importStar=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n.__createBinding(e,t,r);return f(e,t),e},n.__importDefault=function(t){return t&&t.__esModule?t:{default:t}},n.__classPrivateFieldGet=function(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)},n.__classPrivateFieldSet=function(t,e,n){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,n),n}},n”, “ function _(e,t,o,s,l){s();const n=e(1);l("version",e(3).version),l("index",e(4).index),o.embed=n.__importStar(e(4)),o.protocol=n.__importStar(e(404)),o._testing=n.__importStar(e(405));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(406).safely)},n”, “ function _(n,i,o,c,e){c(),o.version="2.3.0"},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(395),l=e(397),m=e(396);var f=e(395);s("add_document_standalone",f.add_document_standalone),s("index",f.index),s("add_document_from_session",e(397).add_document_from_session);var g=e(402);async function w(e,o,t,n){i.isString(e)&&(e=JSON.parse(_.unescape(e)));const s={};for(const[o,t]of c.entries(e))s[o]=d.Document.from_json(t);const a=[];for(const e of o){const o=m._resolve_element(e),d=m._resolve_root_elements(e);if(null!=e.docid)a.push(await 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=l._get_ws_url(t,n);r.logger.debug(`embed: computed ws url: ${s}`);try{a.push(await 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(396).BOKEH_ROOT),t.embed_item=async function(e,o){const t={},n=_.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 a.defer();const[r]=await w(t,[d]);return r},t.embed_items=async function(e,o,t,n){return await a.defer(),w(e,o,t,n)}},n”, “ function _(t,_,o,r,n){r();const a=t(1);a.__exportStar(t(6),o),a.__exportStar(t(35),o)},n”, “ function _(e,t,s,o,n){o();const i=e(1),r=e(7),a=e(3),_=e(19),l=e(264),c=e(14),d=e(30),h=e(15),f=e(17),u=e(31),m=e(9),g=e(13),w=i.__importStar(e(132)),p=e(26),v=e(8),b=e(319),y=e(130),k=e(53),j=e(394),M=e(35);class S{constructor(e){this.document=e,this.session=null,this.subscribed_models=new Set}send_event(e){const t=new M.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(){s.documents.push(this),this._init_timestamp=Date.now(),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 b.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 l.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){null==this._interactive_plot&&(this._interactive_plot=e,this._interactive_plot.trigger_event(new l.LODStart)),this._interactive_timestamp=Date.now()}interactive_stop(){null!=this._interactive_plot&&this._interactive_plot.trigger_event(new l.LODEnd),this._interactive_plot=null,this._interactive_timestamp=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=m.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=w.union(e,t.references());const t=new Set(this._all_models.values()),s=w.difference(t,e),o=w.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}`),!m.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 M.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 M.RootRemovedEvent(this,e,t))}}title(){return this._title}set_title(e,t){e!==this._title&&(this._title=e,this._trigger_on_change(new M.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 k.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 M.DocumentEventBatch)for(const s of e.events)t(s);else t(e)}_notify_change(e,t,s,o,n){this._trigger_on_change(new M.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){const o=Object.assign(Object.assign({},s),{id:e,__deferred__:!0});return new(r.Models(t))(o)}static _instantiate_references_json(e,t){var s;const o=new Map;for(const n of e){const e=n.id,i=n.type,r=null!==(s=n.attributes)&&void 0!==s?s:{};let a=t.get(e);null==a&&(a=E._instantiate_object(e,i,r),null!=n.subtype&&a.set_subtype(n.subtype)),o.set(a.id,a)}return o}static _resolve_refs(e,t,s,o){function n(e){if(f.is_ref(e)){if(t.has(e.id))return t.get(e.id);if(s.has(e.id))return s.get(e.id);throw new Error(`reference ${JSON.stringify(e)} isn’t known (not in Document?)`)}return u.is_NDArray_ref(e)?u.decode_NDArray(e,o):v.isArray(e)?function(e){const t=[];for(const s of e)t.push(n(s));return t}(e):v.isPlainObject(e)?function(e){const t={};for(const[s,o]of g.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),a=e?s.get(i):t.get(i),_=E._resolve_refs(r,t,s,o);a.setv(_,{silent:!0}),n.set(i,{instance:a,is_new:e})}const i=[],r=new Set;function a(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 g.values(o))a(e);s&&(t.finalize(),i.push(t))}}else if(v.isArray(e))for(const t of e)a(t);else if(v.isPlainObject(e))for(const t of g.values(e))a(t)}for(const e of n.values())a(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=m.difference(n,i),a=m.difference(i,n),l=m.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 a){const i=t.attributes[n];c.push(E._event_for_attribute_change(e,n,i,s,o))}for(const n of l){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)):p.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 a=o(s),_=new Map,l=[];for(const e of s.roots.root_ids)_.set(e,a.get(e)),l.push(e);if(r.sort(),l.sort(),m.difference(r,l).length>0||m.difference(l,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),a.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:a.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 (${a.version}) / Python (${t})`;s||a.version.replace(/-(dev|rc)./,"$1")==t?_.logger.debug(o):(_.logger.warn("JS/Python version mismatch"),_.logger.warn(o)),null!=e.defs&&j.resolve_defs(e.defs);const n=e.roots,i=n.root_ids,r=n.references,l=E._instantiate_references_json(r,new Map);E._initialize_references_json(r,new Map,l,new Map);const c=new E;for(const e of i){const t=l.get(e);null!=t&&c.add_root(t)}return c.set_title(e.title),c}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;return{events:t.to_serializable(e),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);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,a=new Map;for(const[e,t]of i)this._all_models.has(e)?r.set(e,t):a.set(e,t);E._initialize_references_json(o,r,a,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,a,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,a,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 y.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 y.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,s,r,o,t){o();const d=e(1),i=e(8),l=e(13),n=e(14);r.overrides={};const a=new Map;r.Models=e=>{const s=r.Models.get(e);if(null!=s)return s;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.`)},r.Models.get=e=>{var s;return null!==(s=r.overrides[e])&&void 0!==s?s:a.get(e)},r.Models.register=(e,s)=>{r.overrides[e]=s},r.Models.unregister=e=>{delete r.overrides[e]},r.Models.register_models=(e,s=!1,r)=>{var o;if(null!=e)for(const t of i.isArray(e)?e:l.values(e))if(o=t,i.isObject(o)&&o.prototype instanceof n.HasProps){const e=t.__qualified__;s||!a.has(e)?a.set(e,t):null!=r?r(e):console.warn(`Model ‘${e}’ was already registered`)}},r.register_models=r.Models.register_models,r.Models.registered_names=()=>[…a.keys()];const g=d.__importStar(e(38));r.register_models(g)},n”, “ function _(n,r,t,e,i){e();n”, “ // (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editorsn”, “ // 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 a(n){return"[object String]"===u.call(n)}function l(n){const r=typeof n;return"function"===r||"object"===r&&!!n}function s(n){return l(n)&&void 0!==n[Symbol.iterator]}t.isBoolean=c,t.isNumber=f,t.isInteger=function(n){return f(n)&&Number.isInteger(n)},t.isString=a,t.isPrimitive=function(n){return null===n||c(n)||f(n)||a(n)},t.isFunction=function(n){return"[object Function]"===u.call(n)},t.isArray=function(n){return Array.isArray(n)},t.isArrayOf=function(n,r){return o.every(n,r)},t.isArrayableOf=function(n,r){for(let t=0,e=n.length;t<e;t++)if(!r(n[t]))return!1;return!0},t.isTypedArray=function(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)},t.isObject=l,t.isPlainObject=function(n){return l(n)&&(null==n.constructor||n.constructor===Object)},t.isIterable=s,t.isArrayable=function(n){return s(n)&&"length"in n}},n”, “ function _(n,t,e,r,o){r();n”, “ // (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editorsn”, “ // Underscore may be freely distributed under the MIT license.n”, “ const i=n(10),u=n(11),c=n(12);o("map",c.map),o("reduce",c.reduce),o("min",c.min),o("min_by",c.min_by),o("max",c.max),o("max_by",c.max_by),o("sum",c.sum),o("cumsum",c.cumsum),o("every",c.every),o("some",c.some),o("find",c.find),o("find_last",c.find_last),o("find_index",c.find_index),o("find_last_index",c.find_last_index),o("sorted_index",c.sorted_index),o("is_empty",c.is_empty);const f=Array.prototype.slice;function s(n){return f.call(n)}function a(n){return[].concat(…n)}function l(n,t){return-1!==n.indexOf(t)}function m(n,t,e=1){u.assert(e>0,"’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<f;t++,n+=c)s[t]=n;return s}e.head=function(n){return n[0]},e.tail=function(n){return n[n.length-1]},e.last=function(n){return n[n.length-1]},e.copy=s,e.concat=a,e.includes=l,e.contains=l,e.nth=function(n,t){return n[t>=0?t:n.length+t]},e.zip=function(…n){if(0==n.length)return[];const t=c.min(n.map((n=>n.length))),e=n.length,r=new Array(t);for(let o=0;o<t;o++){r[o]=new Array(e);for(let t=0;t<e;t++)r[o][t]=n[t][o]}return r},e.unzip=function(n){const t=n.length,e=c.min(n.map((n=>n.length))),r=Array(e);for(let n=0;n<e;n++)r[n]=new Array(t);for(let o=0;o<t;o++)for(let t=0;t<e;t++)r[t][o]=n[o][t];return r},e.range=m,e.linspace=function(n,t,e=100){const r=(t-n)/(e-1),o=new Array(e);for(let t=0;t<e;t++)o[t]=n+r*t;return o},e.transpose=function(n){const t=n.length,e=n[0].length,r=[];for(let o=0;o<e;o++){r[o]=[];for(let e=0;e<t;e++)r[o][e]=n[e][o]}return r},e.argmin=function(n){return c.min_by(m(n.length),(t=>n[t]))},e.argmax=function(n){return 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(e<r||void 0===r)return-1}return n.index-t.index})),e.map((n=>n.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;e<n.length;)t(n[e])?n.splice(e,1):e++},e.shuffle=function(n){const t=n.length,e=new Array(t);for(let r=0;r<t;r++){const t=i.randomIn(0,r);t!==r&&(e[r]=e[t]),e[t]=n[r]}return e},e.pairwise=function(n,t){const e=n.length,r=new Array(e-1);for(let o=0;o<e-1;o++)r[o]=t(n[o],n[o+1]);return r},e.reversed=function(n){const t=n.length,e=new Array(t);for(let r=0;r<t;r++)e[t-r-1]=n[r];return e},e.repeat=function(n,t){const e=new Array(t);for(let r=0;r<t;r++)e[r]=n;return e}},n”, “ function _(n,r,t,e,o){e();const{PI:u}=Math;function a(n){if(0==n)return 0;for(;n<=0;)n+=2*u;for(;n>2*u;)n-=2*u;return n}function c(n,r){return a(n-r)}function f(){return Math.random()}function i(n){switch(n){case"deg":return u/180;case"rad":return 1;case"grad":return u/200;case"turn":return 2*u}}t.angle_norm=a,t.angle_dist=c,t.angle_between=function(n,r,t,e=!1){const o=c(r,t);if(0==o)return!1;if(o==2*u)return!0;const f=a(n),i=c(r,f)<=o&&c(f,t)<=o;return e?!i:i},t.random=f,t.randomIn=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},t.atan2=function(n,r){return Math.atan2(r[1]-n[1],r[0]-n[0])},t.radians=function(n){return n*(u/180)},t.degrees=function(n){return n/(u/180)},t.resolve_angle=function(n,r){return-i(r)*n},t.to_radians_coeff=i,t.rnorm=function(n,r){let t,e;for(;t=f(),e=f(),e=(2*e-1)*Math.sqrt(1/Math.E*2),!(-4*t*t*Math.log(t)>=e*e););let o=e/t;return o=n+r*o,o},t.clamp=function(n,r,t){return n<r?r:n>t?t:n},t.log=function(n,r=Math.E){return Math.log(n)/Math.log(r)}},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(;u<t;u++)l[u]=n[u];for(const n of r)l[u++]=n;for(let r=t+e;r<o;r++)l[u++]=n[r];return l}function u(n,t){return l(n,t,n.length-t)}function c(n,t){const e=n.length,r=new n.constructor(e);for(let o=0;o<e;o++)r[o]=t(n[o],o,n);return r}function f(n,t,e){const r=n.length;if(void 0===e&&0==r)throw new Error("can’t reduce an empty array without an initial value");let o,i;for(void 0===e?(o=n[0],i=1):(o=e,i=0);i<r;i++)o=t(o,n[i],i,n);return o}function s(n){return function(t,e){const r=t.length;let o=n>0?0:r-1;for(;o>=0&&o<r;o+=n)if(e(t[o]))return o;return-1}}function h(n,t){let e=0,r=n.length;for(;e<r;){const o=Math.floor((e+r)/2);n[o]<t?e=o+1:r=o}return e}function a(n,t,e,r,o){const i=(o-e)/(r-t);let l=i*(n-t)+e;return isFinite(l)||(l=i*(n-r)+o,isFinite(l)||e!=o||(l=e)),l}function g(n,t){if(n<t[0])return-1;if(n>t[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;e<r;e++)if(n[e]===t)return e;return-1},e.subselect=function(n,t){const e=t.length,r=new n.constructor(e);for(let o=0;o<e;o++)r[o]=n[t[o]];return r},e.mul=function(n,t,e){const r=n.length,o=null!=e?e:new n.constructor(r);for(let e=0;e<r;e++)o[e]=n[e]*t;return o},e.map=c,e.inplace_map=function(n,t,e){const r=n.length,o=null!=e?e:n;for(let e=0;e<r;e++)o[e]=t(n[e],e)},e.filter=function(n,t){const e=n.length,r=new n.constructor(e);let o=0;for(let i=0;i<e;i++){const e=n[i];t(e,i,n)&&(r[o++]=e)}return u(r,o)},e.reduce=f,e.min=function(n){let t,e=1/0;for(let r=0,o=n.length;r<o;r++)t=n[r],!isNaN(t)&&t<e&&(e=t);return e},e.max=function(n){let t,e=-1/0;for(let r=0,o=n.length;r<o;r++)t=n[r],!isNaN(t)&&t>e&&(e=t);return e},e.minmax=function(n){let t,e=1/0,r=-1/0;for(let o=0,i=n.length;o<i;o++)t=n[o],isNaN(t)||(t<e&&(e=t),t>r&&(r=t));return[e,r]},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;o<i;o++){const i=n[o],l=t(i);l<r&&(e=i,r=l)}return e},e.max_by=function(n,t){if(0==n.length)throw new Error("max_by() called with an empty array");let e=n[0],r=t(e);for(let o=1,i=n.length;o<i;o++){const i=n[o],l=t(i);l>r&&(e=i,r=l)}return e},e.sum=function(n){let t=0;for(let e=0,r=n.length;e<r;e++)t+=n[e];return t},e.cumsum=function(n){const t=new n.constructor(n.length);return f(n,((n,e,r)=>t[r]=n+e),0),t},e.every=function(n,t){for(let e=0,r=n.length;e<r;e++)if(!t(n[e]))return!1;return!0},e.some=function(n,t){for(let e=0,r=n.length;e<r;e++)if(t(n[e]))return!0;return!1},e.index_of=function(n,t){for(let e=0,r=n.length;e<r;e++)if(n[e]===t)return e;return-1},e.find_index=s(1),e.find_last_index=s(-1),e.find=function(n,t){const r=e.find_index(n,t);return-1==r?void 0:n[r]},e.find_last=function(n,t){const r=e.find_last_index(n,t);return-1==r?void 0:n[r]},e.sorted_index=h,e.bin_counts=function(n,t){const e=t.length-1,r=Array(e).fill(0);for(let o=0;o<n.length;o++){const l=h(t,n[o]);r[i.clamp(l-1,0,e-1)]+=1}return r},e.interpolate=function(n,t,e){const r=n.length,o=new Array(r);for(let i=0;i<r;i++){const r=n[i];if(isNaN(r)){o[i]=r;continue}const l=g(r,t);if(-1==l)o[i]=e[0];else if(l==t.length)o[i]=e[e.length-1];else if(l==t.length-1||t[l]==r)o[i]=e[l];else{const n=t[l],u=e[l],c=t[l+1],f=e[l+1];o[i]=a(r,n,u,c,f)}}return o},e.left_edge_index=g,e.norm=function(n,t,e){const r=e-t;return c(n,(n=>(n-t)/r))}},n”, “ function _(t,e,n,c,o){c();const s=t(9),{hasOwnProperty:r}=Object.prototype;function u(t){return Object.keys(t).length}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=s.concat([Object.keys(t),Object.keys(e)]);for(const o of c){const c=r.call(t,o)?t[o]:[],u=r.call(e,o)?e[o]:[];n[o]=s.union(c,u)}return n},n.size=u,n.isEmpty=function(t){return 0==u(t)},n.to_object=function(t){const e={};for(const[n,c]of t)e[n]=c;return e}},n”, “ function _(t,e,s,n,r){n();const i=t(1),o=t(15),c=t(17),a=i.__importStar(t(18)),_=i.__importStar(t(21)),h=t(34),u=t(13),l=t(8),f=t(26),p=t(30),d=t(35),g=t(26),y=t(36),v=t(37),m=i.__importStar(t(21));class b extends(o.Signalable()){constructor(t={}){var e,s;super(),this._subtype=void 0,this.document=null,this.destroyed=new o.Signal0(this,"destroyed"),this.change=new o.Signal0(this,"change"),this.transformchange=new o.Signal0(this,"transformchange"),this.exprchange=new o.Signal0(this,"exprchange"),this.properties={},this._pending=!1,this._changing=!1;const n=t instanceof Map?t.get.bind(t):e=>t[e];this.id=null!==(e=n("id"))&&void 0!==e?e:h.uniqueId();for(const[t,{type:e,default_value:s,options:r}]of u.entries(this._props)){let i;e instanceof a.PropertyAlias?Object.defineProperty(this.properties,t,{get:()=>this.properties[e.attr],configurable:!1,enumerable:!1}):(i=e instanceof _.Kind?new a.PrimitiveProperty(this,t,e,s,n(t),r):new e(this,t,_.Any,s,n(t),r),this.properties[t]=i)}null!==(s=n("__deferred__"))&&void 0!==s&&s||(this.finalize(),this.connect_signals())}get is_syncable(){return!0}set type(t){console.warn("prototype.type = ‘ModelName’ is deprecated, use static __name__ instead"),this.constructor.__name__=t}get type(){return this.constructor.__qualified__}static get __qualified__(){const{__module__:t,__name__:e}=this;return null!=t?`${t}.${e}`:e}static get[Symbol.toStringTag](){return this.__name__}static init_HasProps(){this.prototype._props={},this.prototype._mixins=[]}static _fix_default(t,e){if(void 0===t||l.isFunction(t))return t;if(l.isPrimitive(t))return()=>t;{const e=new v.Cloner;return()=>e.clone(t)}}static define(t){for(const[e,s]of u.entries(l.isFunction(t)?t(m):t)){if(null!=this.prototype._props[e])throw new Error(`attempted to redefine property ‘${this.prototype.type}.${e}’`);if(null!=this.prototype[e])throw new Error(`attempted to redefine attribute ‘${this.prototype.type}.${e}’`);Object.defineProperty(this.prototype,e,{get(){return this.properties[e].get_value()},set(t){return this.setv({[e]:t}),this},configurable:!1,enumerable:!0});const[t,n,r={}]=s,i={type:t,default_value:this._fix_default(n,e),options:r},o=Object.assign({},this.prototype._props);o[e]=i,this.prototype._props=o}}static internal(t){const e={};for(const[s,n]of u.entries(l.isFunction(t)?t(m):t)){const[t,r,i={}]=n;e[s]=[t,r,Object.assign(Object.assign({},i),{internal:!0})]}this.define(e)}static mixins(t){function e(t,e){const s={};for(const[n,r]of u.entries(e))s[t+n]=r;return s}const s={},n=[];for(const r of l.isArray(t)?t:[t])if(l.isArray(r)){const[t,i]=r;u.extend(s,e(t,i)),n.push([t,i])}else{const t=r;u.extend(s,t),n.push(["",t])}this.define(s),this.prototype._mixins=[…this.prototype._mixins,…n]}static override(t){for(const[e,s]of u.entries(t)){const t=this._fix_default(s,e),n=this.prototype._props[e];if(null==n)throw new Error(`attempted to override nonexistent ‘${this.prototype.type}.${e}’`);const r=Object.assign({},this.prototype._props);r[e]=Object.assign(Object.assign({},n),{default_value:t}),this.prototype._props=r}}toString(){return`${this.type}(${this.id})`}property(t){const e=this.properties[t];if(null!=e)return e;throw new Error(`unknown property ${this.type}.${t}`)}get attributes(){const t={};for(const e of this)t[e.attr]=e.get_value();return t}[v.clone](t){const e=new Map;for(const s of this)s.dirty&&e.set(s.attr,t.clone(s.get_value()));return new this.constructor(e)}[g.equals](t,e){for(const s of this){const n=t.property(s.attr);if(e.eq(s.get_value(),n.get_value()))return!1}return!0}[y.pretty](t){const e=t.token,s=[];for(const n of this)if(n.dirty){const r=n.get_value();s.push(`${n.attr}${e(":")} ${t.to_string(r)}`)}return`${this.constructor.__qualified__}${e("(")}${e("{")}${s.join(`${e(",")} `)}${e("}")}${e(")")}`}[p.serialize](t){const e=this.ref();t.add_ref(this,e);const s=this.struct();for(const e of this)e.syncable&&(t.include_defaults||e.dirty)&&(s.attributes[e.attr]=t.to_serializable(e.get_value()));return t.add_def(this,s),e}finalize(){for(const t of this){if(!(t instanceof a.VectorSpec||t instanceof a.ScalarSpec))continue;const e=t.get_value();if(null!=e){const{transform:t,expr:s}=e;null!=t&&this.connect(t.change,(()=>this.transformchange.emit())),null!=s&&this.connect(s.change,(()=>this.exprchange.emit()))}}this.initialize()}initialize(){}connect_signals(){}disconnect_signals(){o.Signal.disconnectReceiver(this)}destroy(){this.disconnect_signals(),this.destroyed.emit()}clone(){return(new v.Cloner).clone(this)}_setv(t,e){const s=e.check_eq,n=[],r=this._changing;this._changing=!0;for(const[e,r]of t)!1!==s&&f.is_equal(e.get_value(),r)||(e.set_value(r),n.push(e));n.length>0&&(this._pending=!0);for(const t of n)t.change.emit();if(!r){if(!e.no_change)for(;this._pending;)this._pending=!1,this.change.emit();this._pending=!1,this._changing=!1}}setv(t,e={}){const s=u.entries(t);if(0==s.length)return;if(!0===e.silent){for(const[t,e]of s)this.properties[t].set_value(e);return}const n=new Map,r=new Map;for(const[t,e]of s){const s=this.properties[t];n.set(s,e),r.set(s,s.get_value())}this._setv(n,e);const{document:i}=this;if(null!=i){const t=[];for(const[e,s]of r)t.push([e,s,e.get_value()]);for(const[,e,s]of t)if(this._needs_invalidate(e,s)){i._invalidate_all_models();break}this._push_changes(t,e)}}getv(t){return this.property(t).get_value()}ref(){return{id:this.id}}struct(){const t={type:this.type,id:this.id,attributes:{}};return null!=this._subtype&&(t.subtype=this._subtype),t}set_subtype(t){this._subtype=t}*[Symbol.iterator](){yield*u.values(this.properties)}*syncable_properties(){for(const t of this)t.syncable&&(yield t)}serializable_attributes(){const t={};for(const e of this.syncable_properties())t[e.attr]=e.get_value();return t}static _json_record_references(t,e,s,n){const{recursive:r}=n;if(c.is_ref(e)){const n=t.get_model_by_id(e.id);null==n||s.has(n)||b._value_record_references(n,s,{recursive:r})}else if(l.isArray(e))for(const n of e)b._json_record_references(t,n,s,{recursive:r});else if(l.isPlainObject(e))for(const n of u.values(e))b._json_record_references(t,n,s,{recursive:r})}static _value_record_references(t,e,s){const{recursive:n}=s;if(t instanceof b){if(!e.has(t)&&(e.add(t),n))for(const s of t.syncable_properties()){const t=s.get_value();b._value_record_references(t,e,{recursive:n})}}else if(l.isArray(t))for(const s of t)b._value_record_references(s,e,{recursive:n});else if(l.isPlainObject(t))for(const s of u.values(t))b._value_record_references(s,e,{recursive:n})}references(){const t=new Set;return b._value_record_references(this,t,{recursive:!0}),t}_doc_attached(){}_doc_detached(){}attach_document(t){if(null!=this.document&&this.document!=t)throw new Error("models must be owned by only a single document");this.document=t,this._doc_attached()}detach_document(){this._doc_detached(),this.document=null}_needs_invalidate(t,e){const s=new Set;b._value_record_references(e,s,{recursive:!1});const n=new Set;b._value_record_references(t,n,{recursive:!1});for(const t of s)if(!n.has(t))return!0;for(const t of n)if(!s.has(t))return!0;return!1}_push_changes(t,e={}){if(!this.is_syncable)return;const{document:s}=this;if(null==s)return;const{setter_id:n}=e,r=[];for(const[e,i,o]of t)e.syncable&&r.push(new d.ModelChangedEvent(s,this,e.attr,i,o,n));if(0!=r.length){let t;1==r.length?[t]=r:t=new d.DocumentEventBatch(s,r,n),s._trigger_on_change(t)}}on_change(t,e){for(const s of l.isArray(t)?t:[t])this.connect(s.change,e)}}s.HasProps=b,b.init_HasProps()},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 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 i.defer(),function(){for(const n of f)o.remove_by(n,(n=>null==n.signal));f.clear()}()})(),f.add(n)}},n”, “ function _(e,n,t,s,o){s();const a=new MessageChannel,l=new Map;a.port1.onmessage=e=>{const n=e.data,t=l.get(n);if(null!=t)try{t()}finally{l.delete(n)}};let r=1;t.defer=function(){return new Promise((e=>{const n=r++;l.set(n,e),a.port2.postMessage(n)}))}},n”, “ function _(n,t,i,e,c){e();const r=n(8),s=n(13);i.is_ref=function(n){if(r.isPlainObject(n)){const t=s.keys(n);return 1==t.length&&"id"==t[0]}return!1}},n”, “ function _(e,t,n,a,r){a(),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.NumberSpec=n.BooleanSpec=n.ScreenDistanceSpec=n.NullDistanceSpec=n.DistanceSpec=n.AngleSpec=void 0;const i=e(1),s=e(15),l=e(19),o=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 m.isPlainObject(e)&&(void 0===e.value?0:1)+(void 0===e.field?0:1)+(void 0===e.expr?0:1)==1}r("Uniform",y.Uniform),r("UniformScalar",y.UniformScalar),r("UniformVector",y.UniformVector),n.isSpec=g;class f{constructor(e,t,n,a,r,i={}){var l;let o;if(this.obj=e,this.attr=t,this.kind=n,this.default_value=a,this._dirty=!1,this.change=new s.Signal0(this.obj,"change"),this.internal=null!==(l=i.internal)&&void 0!==l&&l,this.on_update=i.on_update,void 0!==r)o=r,this._dirty=!0;else{const t=this._default_override();if(void 0!==t)o=t;else{if(void 0===a)return void(this.spec={value:null});o=a(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;this.validate(e),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 L extends f{}n.Any=L,L.__name__="Any";class T extends f{valid(e){return m.isArray(e)||m.isTypedArray(e)}}n.Array=T,T.__name__="Array";class P extends f{valid(e){return m.isBoolean(e)}}n.Boolean=P,P.__name__="Boolean";class b extends f{valid(e){return S.is_Color(e)}}n.Color=b,b.__name__="Color";class w extends f{}n.Instance=w,w.__name__="Instance";class q extends f{valid(e){return m.isNumber(e)}}n.Number=q,q.__name__="Number";class N extends q{valid(e){return m.isNumber(e)&&(0|e)==e}}n.Int=N,N.__name__="Int";class B extends q{}n.Angle=B,B.__name__="Angle";class D extends q{valid(e){return m.isNumber(e)&&0<=e&&e<=1}}n.Percent=D,D.__name__="Percent";class F extends f{valid(e){return m.isString(e)}}n.String=F,F.__name__="String";class z extends f{valid(e){return null===e||m.isString(e)}}n.NullString=z,z.__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 m.isString(e)&&_.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<e.length;n++)switch(e[n]){case"clock":t[n]=0;break;case"anticlock":t[n]=1}return t}}n.Direction=O,O.__name__="Direction",n.Anchor=k(o.Anchor),n.AngleUnits=k(o.AngleUnits),n.BoxOrigin=k(o.BoxOrigin),n.ButtonType=k(o.ButtonType),n.CalendarPosition=k(o.CalendarPosition),n.Dimension=k(o.Dimension),n.Dimensions=k(o.Dimensions),n.Distribution=k(o.Distribution),n.FontStyle=k(o.FontStyle),n.HatchPatternType=k(o.HatchPatternType),n.HTTPMethod=k(o.HTTPMethod),n.HexTileOrientation=k(o.HexTileOrientation),n.HoverMode=k(o.HoverMode),n.LatLon=k(o.LatLon),n.LegendClickPolicy=k(o.LegendClickPolicy),n.LegendLocation=k(o.LegendLocation),n.LineCap=k(o.LineCap),n.LineJoin=k(o.LineJoin),n.LinePolicy=k(o.LinePolicy),n.Location=k(o.Location),n.Logo=k(o.Logo),n.MarkerType=k(o.MarkerType),n.MutedPolicy=k(o.MutedPolicy),n.Orientation=k(o.Orientation),n.OutputBackend=k(o.OutputBackend),n.PaddingUnits=k(o.PaddingUnits),n.Place=k(o.Place),n.PointPolicy=k(o.PointPolicy),n.RadiusDimension=k(o.RadiusDimension),n.RenderLevel=k(o.RenderLevel),n.RenderMode=k(o.RenderMode),n.ResetPolicy=k(o.ResetPolicy),n.RoundingFunction=k(o.RoundingFunction),n.Side=k(o.Side),n.SizingMode=k(o.SizingMode),n.Sort=k(o.Sort),n.SpatialUnits=k(o.SpatialUnits),n.StartEnd=k(o.StartEnd),n.StepMode=k(o.StepMode),n.TapBehavior=k(o.TapBehavior),n.TextAlign=k(o.TextAlign),n.TextBaseline=k(o.TextBaseline),n.TextureRepetition=k(o.TextureRepetition),n.TickLabelOrientation=k(o.TickLabelOrientation),n.TooltipAttachment=k(o.TooltipAttachment),n.UpdateMode=k(o.UpdateMode),n.VerticalAlign=k(o.VerticalAlign);class E extends f{get_value(){const{value:e,expr:t,transform:n}=this.spec;return null!=t||null!=n?this.spec:e}_update(e){g(e)?this.spec=e:this.spec={value:e},null!=this.spec.value&&this.validate(this.spec.value)}materialize(e){return e}scalar(e,t){return new y.UniformScalar(e,t)}uniform(e){var t;const{expr:n,value:a,transform:r}=this.spec,i=null!==(t=e.get_length())&&void 0!==t?t:1;if(null!=n){let t=n.compute(e);return null!=r&&(t=r.compute(t)),t=this.materialize(t),this.scalar(t,i)}{let e=a;return null!=r&&(e=r.compute(e)),e=this.materialize(e),this.scalar(e,i)}}}n.ScalarSpec=E,E.__name__="ScalarSpec";class V extends E{}n.AnyScalar=V,V.__name__="AnyScalar";class $ extends E{}n.ColorScalar=$,$.__name__="ColorScalar";class J extends E{}n.NumberScalar=J,J.__name__="NumberScalar";class X extends E{}n.StringScalar=X,X.__name__="StringScalar";class Y extends E{}n.NullStringScalar=Y,Y.__name__="NullStringScalar";class H extends E{}n.ArrayScalar=H,H.__name__="ArrayScalar";class j extends E{}n.LineJoinScalar=j,j.__name__="LineJoinScalar";class G extends E{}n.LineCapScalar=G,G.__name__="LineCapScalar";class I extends E{}n.LineDashScalar=I,I.__name__="LineDashScalar";class K extends E{_default_override(){return h.settings.dev?"Bokeh":void 0}}n.FontScalar=K,K.__name__="FontScalar";class Q extends E{}n.FontSizeScalar=Q,Q.__name__="FontSizeScalar";class W extends E{}n.FontStyleScalar=W,W.__name__="FontStyleScalar";class Z extends E{}n.TextAlignScalar=Z,Z.__name__="TextAlignScalar";class ee extends E{}n.TextBaselineScalar=ee,ee.__name__="TextBaselineScalar";class te extends f{get_value(){return null===this.spec.value?null:this.spec}_update(e){g(e)?this.spec=e:this.spec={value:e},null!=this.spec.value&&this.validate(this.spec.value)}materialize(e){return e}v_materialize(e){return e}scalar(e,t){return new y.UniformScalar(e,t)}vector(e){return new y.UniformVector(e)}uniform(e){var t;const{field:n,expr:a,value:r,transform:i}=this.spec,s=null!==(t=e.get_length())&&void 0!==t?t:1;if(null!=n){let t=e.get_column(n);return null!=t?(null!=i&&(t=i.v_compute(t)),t=this.v_materialize(t),this.vector(t)):(l.logger.warn(`attempted to retrieve property array for nonexistent field ‘${n}’`),this.scalar(null,s))}if(null!=a){let t=a.v_compute(e);return null!=i&&(t=i.v_compute(t)),t=this.v_materialize(t),this.vector(t)}{let e=r;return null!=i&&(e=i.compute(e)),e=this.materialize(e),this.scalar(e,s)}}array(e){var t;let n;const a=null!==(t=e.get_length())&&void 0!==t?t:1;if(null!=this.spec.field){const t=e.get_column(this.spec.field);if(null!=t)n=this.normalize(t);else{l.logger.warn(`attempted to retrieve property array for nonexistent field ‘${this.spec.field}’`);const e=new Float64Array(a);e.fill(NaN),n=e}}else if(null!=this.spec.expr)n=this.normalize(this.spec.expr.v_compute(e));else{const e=this._value(!1);if(m.isNumber(e)){const t=new Float64Array(a);t.fill(e),n=t}else n=_.repeat(e,a)}return null!=this.spec.transform&&(n=this.spec.transform.v_compute(n)),n}}n.VectorSpec=te,te.__name__="VectorSpec";class ne extends te{}n.DataSpec=ne,ne.__name__="DataSpec";class ae extends te{_update(e){super._update(e);const{units:t}=this.spec;if(null!=t&&!_.includes(this.valid_units,t))throw new Error(`units must be one of ${this.valid_units.join(", ")}; got: ${t}`)}get units(){var e;return null!==(e=this.spec.units)&&void 0!==e?e:this.default_units}set units(e){e!=this.default_units?this.spec.units=e:delete this.spec.units}}n.UnitsSpec=ae,ae.__name__="UnitsSpec";class re extends ae{array(e){return new Float64Array(super.array(e))}}n.NumberUnitsSpec=re,re.__name__="NumberUnitsSpec";class ie extends ne{}n.BaseCoordinateSpec=ie,ie.__name__="BaseCoordinateSpec";class se extends ie{}n.CoordinateSpec=se,se.__name__="CoordinateSpec";class le extends ie{}n.CoordinateSeqSpec=le,le.__name__="CoordinateSeqSpec";class oe extends ie{}n.CoordinateSeqSeqSeqSpec=oe,oe.__name__="CoordinateSeqSeqSeqSpec";class ce extends se{constructor(){super(…arguments),this.dimension="x"}}n.XCoordinateSpec=ce,ce.__name__="XCoordinateSpec";class _e extends se{constructor(){super(…arguments),this.dimension="y"}}n.YCoordinateSpec=_e,_e.__name__="YCoordinateSpec";class ue extends le{constructor(){super(…arguments),this.dimension="x"}}n.XCoordinateSeqSpec=ue,ue.__name__="XCoordinateSeqSpec";class de extends le{constructor(){super(…arguments),this.dimension="y"}}n.YCoordinateSeqSpec=de,de.__name__="YCoordinateSeqSpec";class Se extends oe{constructor(){super(…arguments),this.dimension="x"}}n.XCoordinateSeqSeqSeqSpec=Se,Se.__name__="XCoordinateSeqSeqSeqSpec";class pe extends oe{constructor(){super(…arguments),this.dimension="y"}}n.YCoordinateSeqSeqSeqSpec=pe,pe.__name__="YCoordinateSeqSeqSeqSpec";class me extends re{get default_units(){return"rad"}get valid_units(){return[…o.AngleUnits]}materialize(e){return e-d.to_radians_coeff(this.units)}v_materialize(e){const t=-d.to_radians_coeff(this.units),n=new Float32Array(e.length);return u.mul(e,t,n),n}array(e){throw new Error("not supported")}}n.AngleSpec=me,me.__name__="AngleSpec";class he extends re{get default_units(){return"data"}get valid_units(){return[…o.SpatialUnits]}}n.DistanceSpec=he,he.__name__="DistanceSpec";class ve extends he{materialize(e){return null!=e?e:NaN}}n.NullDistanceSpec=ve,ve.__name__="NullDistanceSpec";class ye extends he{get default_units(){return"screen"}}n.ScreenDistanceSpec=ye,ye.__name__="ScreenDistanceSpec";class xe extends ne{v_materialize(e){return new Uint8Array(e)}array(e){return new Uint8Array(super.array(e))}}n.BooleanSpec=xe,xe.__name__="BooleanSpec";class ge extends ne{v_materialize(e){return m.isTypedArray(e)?e:new Float64Array(e)}array(e){return new Float64Array(super.array(e))}}n.NumberSpec=ge,ge.__name__="NumberSpec";class fe extends ne{materialize(e){return S.encode_rgba(S.color2rgba(e))}v_materialize(e){if(!v.is_NDArray(e)){const t=e.length,n=new c.RGBAArray(4*t);let a=0;for(const t of e){const[e,r,i,s]=S.color2rgba(t);n[a++]=e,n[a++]=r,n[a++]=i,n[a++]=s}return new c.ColorArray(n.buffer)}if("uint32"==e.dtype&&1==e.dimension)return p.to_big_endian(e);if("uint8"==e.dtype&&1==e.dimension){const[t]=e.shape,n=new c.RGBAArray(4*t);let a=0;for(const t of e)n[a++]=t,n[a++]=t,n[a++]=t,n[a++]=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 a=new c.RGBAArray(4*t);for(let r=0,i=0;r<n*t;)a[i++]=e[r++],a[i++]=e[r++],a[i++]=e[r++],a[i++]=255;return new c.ColorArray(a.buffer)}}else if(("float32"==e.dtype||"float64"==e.dtype)&&2==e.dimension){const[t,n]=e.shape;if(3==n||4==n){const a=new c.RGBAArray(4*t);for(let r=0,i=0;r<n*t;)a[i++]=255*e[r++],a[i++]=255*e[r++],a[i++]=255*e[r++],a[i++]=255*(3==n?1:e[r++]);return new c.ColorArray(a.buffer)}}throw new Error("invalid color array")}vector(e){return new y.ColorUniformVector(e)}}n.ColorSpec=fe,fe.__name__="ColorSpec";class Ae extends ne{}n.NDArraySpec=Ae,Ae.__name__="NDArraySpec";class Ce extends ne{}n.AnySpec=Ce,Ce.__name__="AnySpec";class Le extends ne{}n.StringSpec=Le,Le.__name__="StringSpec";class Te extends ne{}n.NullStringSpec=Te,Te.__name__="NullStringSpec";class Pe extends ne{}n.ArraySpec=Pe,Pe.__name__="ArraySpec";class be extends ne{}n.MarkerSpec=be,be.__name__="MarkerSpec";class we extends ne{}n.LineJoinSpec=we,we.__name__="LineJoinSpec";class qe extends ne{}n.LineCapSpec=qe,qe.__name__="LineCapSpec";class Ne extends ne{}n.LineDashSpec=Ne,Ne.__name__="LineDashSpec";class Be extends ne{_default_override(){return h.settings.dev?"Bokeh":void 0}}n.FontSpec=Be,Be.__name__="FontSpec";class De extends ne{}n.FontSizeSpec=De,De.__name__="FontSizeSpec";class Fe extends ne{}n.FontStyleSpec=Fe,Fe.__name__="FontStyleSpec";class ze extends ne{}n.TextAlignSpec=ze,ze.__name__="TextAlignSpec";class Ue extends ne{}n.TextBaselineSpec=Ue,Ue.__name__="TextBaselineSpec"},n”, “ function _(e,l,o,n,t){n();const s=e(8),g=e(13),r={};class i{constructor(e,l){this.name=e,this.level=l}}o.LogLevel=i,i.__name__="LogLevel";class v{constructor(e,l=v.INFO){this._name=e,this.set_level(l)}static get levels(){return Object.keys(v.log_levels)}static get(e,l=v.INFO){if(e.length>0){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(!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 g.entries(v.log_levels))o.level<this._log_level.level||this._log_level.level===v.OFF.level?this[e]=function(){}:this[e]=_(e,l)}trace(…e){}debug(…e){}info(…e){}warn(…e){}error(…e){}}function _(e,l){return null!=console[e]?console[e].bind(console,l):null!=console.log?console.log.bind(console,l):function(){}}function c(e){const l=o.logger.level;return s.isString(e)&&null==v.log_levels[e]?(console.log([bokeh] unrecognized logging level ‘${e}’ passed to Bokeh.set_log_level(), ignoring),console.log([bokeh] valid log levels are: ${v.levels.join(", ")})):(console.log([bokeh] setting log level to: ‘${s.isString(e)?e:e.level}’),o.logger.set_level(e)),l}o.Logger=v,v.__name__="Logger",v.TRACE=new i("trace",0),v.DEBUG=new i("debug",1),v.INFO=new i("info",2),v.WARN=new i("warn",6),v.ERROR=new i("error",7),v.FATAL=new i("fatal",8),v.OFF=new i("off",9),v.log_levels={trace:v.TRACE,debug:v.DEBUG,info:v.INFO,warn:v.WARN,error:v.ERROR,fatal:v.FATAL,off:v.OFF},o.logger=v.get("bokeh"),o.set_log_level=c,o.with_log_level=function(e,l){const o=c(e);try{l()}finally{c(o)}}},n”, “ function _(e,n,t,o,i){o(),t.VerticalAlign=void 0;const a=e(21);t.Align=a.Enum("start","center","end"),t.Anchor=a.Enum("top_left","top_center","top_right","center_left","center_center","center_right","bottom_left","bottom_center","bottom_right","top","left","center","right","bottom"),t.AngleUnits=a.Enum("deg","rad","grad","turn"),t.BoxOrigin=a.Enum("corner","center"),t.ButtonType=a.Enum("default","primary","success","warning","danger","light"),t.CalendarPosition=a.Enum("auto","above","below"),t.Dimension=a.Enum("width","height"),t.Dimensions=a.Enum("width","height","both"),t.Direction=a.Enum("clock","anticlock"),t.Distribution=a.Enum("uniform","normal"),t.FontStyle=a.Enum("normal","italic","bold","bold italic"),t.HatchPatternType=a.Enum("blank","dot","ring","horizontal_line","vertical_line","cross","horizontal_dash","vertical_dash","spiral","right_diagonal_line","left_diagonal_line","diagonal_cross","right_diagonal_dash","left_diagonal_dash","horizontal_wave","vertical_wave","criss_cross"," ",".","o","-","|\",\"+\",'\"',\":\",\"@\",\"/\",\"\\\\\",\"x\",\",\",\"`\",\"v\",\">\",\"*\"),t.HTTPMethod=a.Enum(\"POST\",\"GET\"),t.HexTileOrientation=a.Enum(\"pointytop\",\"flattop\"),t.HoverMode=a.Enum(\"mouse\",\"hline\",\"vline\"),t.LatLon=a.Enum(\"lat\",\"lon\"),t.LegendClickPolicy=a.Enum(\"none\",\"hide\",\"mute\"),t.LegendLocation=t.Anchor,t.LineCap=a.Enum(\"butt\",\"round\",\"square\"),t.LineJoin=a.Enum(\"miter\",\"round\",\"bevel\"),t.LineDash=a.Enum(\"solid\",\"dashed\",\"dotted\",\"dotdash\",\"dashdot\"),t.LinePolicy=a.Enum(\"prev\",\"next\",\"nearest\",\"interp\",\"none\"),t.Location=a.Enum(\"above\",\"below\",\"left\",\"right\"),t.Logo=a.Enum(\"normal\",\"grey\"),t.MarkerType=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=a.Enum(\"show\",\"ignore\"),t.Orientation=a.Enum(\"vertical\",\"horizontal\"),t.OutputBackend=a.Enum(\"canvas\",\"svg\",\"webgl\"),t.PaddingUnits=a.Enum(\"percent\",\"absolute\"),t.Place=a.Enum(\"above\",\"below\",\"left\",\"right\",\"center\"),t.PointPolicy=a.Enum(\"snap_to_data\",\"follow_mouse\",\"none\"),t.RadiusDimension=a.Enum(\"x\",\"y\",\"max\",\"min\"),t.RenderLevel=a.Enum(\"image\",\"underlay\",\"glyph\",\"guide\",\"annotation\",\"overlay\"),t.RenderMode=a.Enum(\"canvas\",\"css\"),t.ResetPolicy=a.Enum(\"standard\",\"event_only\"),t.RoundingFunction=a.Enum(\"round\",\"nearest\",\"floor\",\"rounddown\",\"ceil\",\"roundup\"),t.SelectionMode=a.Enum(\"replace\",\"append\",\"intersect\",\"subtract\"),t.Side=a.Enum(\"above\",\"below\",\"left\",\"right\"),t.SizingMode=a.Enum(\"stretch_width\",\"stretch_height\",\"stretch_both\",\"scale_width\",\"scale_height\",\"scale_both\",\"fixed\"),t.Sort=a.Enum(\"ascending\",\"descending\"),t.SpatialUnits=a.Enum(\"screen\",\"data\"),t.StartEnd=a.Enum(\"start\",\"end\"),t.StepMode=a.Enum(\"after\",\"before\",\"center\"),t.TapBehavior=a.Enum(\"select\",\"inspect\"),t.TextAlign=a.Enum(\"left\",\"right\",\"center\"),t.TextBaseline=a.Enum(\"top\",\"middle\",\"bottom\",\"alphabetic\",\"hanging\",\"ideographic\"),t.TextureRepetition=a.Enum(\"repeat\",\"repeat_x\",\"repeat_y\",\"no_repeat\"),t.TickLabelOrientation=a.Enum(\"vertical\",\"horizontal\",\"parallel\",\"normal\"),t.TooltipAttachment=a.Enum(\"horizontal\",\"vertical\",\"left\",\"right\",\"above\",\"below\"),t.UpdateMode=a.Enum(\"replace\",\"append\"),t.VerticalAlign=a.Enum(\"top\",\"middle\",\"bottom\")},\n", " function _(e,n,t,s,r){s();const i=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;n<this.types.length;n++){const t=this.types[n],s=e[n];if(!t.valid(s))return!1}return!0}}v.__name__=\"Tuple\",e.Tuple=v;class w extends d{constructor(e){super(),this.struct_type=e}valid(e){if(!i.isPlainObject(e))return!1;const{struct_type:n}=this;if(l.size(n)!=l.size(e))return!1;for(const t in n)if(u.call(n,t)){if(!u.call(e,t))return!1;const s=n[t],r=e[t];if(!s.valid(r))return!1}return!0}}w.__name__=\"Struct\",e.Struct=w;class h extends d{valid(e){return i.isArray(e)||i.isTypedArray(e)}}h.__name__=\"Arrayable\",e.Arrayable=h;class f extends d{constructor(e){super(),this.item_type=e}valid(e){return i.isArray(e)&&e.every((e=>this.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 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=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),l=n(10),c=n(8),{round:i}=Math;function o(n){return l.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,l;return null==n?[e,s,u,l]=[0,0,0,0]:c.isInteger(n)?[e,s,u,l]=f(n):c.isString(n)?[e,s,u,l]=null!==(r=_(n))&&void 0!==r?r:[0,0,0,0]:([e,s,u,l=1]=n,l=o(255*l)),255==l&&null!=t&&(l=o(255*t)),[e,s,u,l]}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),l=`#${g(r)}${g(e)}${g(s)}`;return 255==u?l:${l}${g(u)}};const b=/^rgba?\(\s*([^\s,]+?)\s+([^\s,]+?)\s+([^\s,]+?)(?:\s*\/\s*([^\s,]+?))?\s*\)$/,m=/^rgba?\(\s*([^\s,]+?)\s*,\s*([^\s,]+?)\s*,\s*([^\s,]+?)(?:\s*,\s*([^\s,]+?))?\s*\)$/,$=(()=>{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(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(m);if(null!=r){let[,n,t,e,s="1"]=r;const u=n.endsWith("%"),l=t.endsWith("%"),c=e.endsWith("%"),i=s.endsWith("%");if(!(u&&l&&c)&&(u||l||c))return null;u&&(n=n.slice(0,-1)),l&&(t=t.slice(0,-1)),c&&(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),l&&(f=f/100*255),c&&(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=$(n);if(null!=t)return _(t)}return null}r.css4_parse=_,r.is_Color=function(n){return!!c.isInteger(n)||(!(!c.isString(n)||null==_(n))||!(!c.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:new Float32Array(r)},o("Indices",r(25).BitSet)},n”, “ function _(t,s,r,e,i){e();const n=t(26),o=t(11);class a{constructor(t,s=0){this.size=t,this[Symbol.toStringTag]="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)):(o.assert(s.length==this._nwords,"Initializer size mismatch"),this._array=s)}clone(){return new a(this.size,new Uint32Array(this._array))}[n.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<i;s++)if(this._array[s]!=t._array[s])return!1;if(0==e)return!0;{const s=1<<e-1,r=s-1^s;return(this._array[i]&r)==(t._array[i]&r)}}static all_set(t){return new a(t,1)}static all_unset(t){return new a(t,0)}static from_indices(t,s){const r=new a(t);for(const t of s)r.set(t);return r}static from_booleans(t,s){const r=new a(t),e=Math.min(t,s.length);for(let t=0;t<e;t++)s[t]&&r.set(t);return r}_check_bounds(t){o.assert(0<=t&&t<this.size,`Out of bounds: 0 <= ${t} < ${this.size}`)}get(t){this._check_bounds(t);const s=t>>>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<<e:this._array[r]&=~(1<<e)}unset(t){this.set(t,!1)}*[Symbol.iterator](){yield*this.ones()}get count(){let t=this._count;return null==t&&(this._count=t=this._get_count()),t}_get_count(){const{_array:t,_nwords:s,size:r}=this;let e=0;for(let i=0,n=0;n<s;n++){const s=t[n];if(0==s)i+=32;else for(let t=0;t<32&&i<r;t++,i++)s>>>t&1&&(e+=1)}return e}*ones(){const{_array:t,_nwords:s,size:r}=this;for(let e=0,i=0;i<s;i++){const s=t[i];if(0!=s)for(let t=0;t<32&&e<r;t++,e++)s>>>t&1&&(yield e);else e+=32}}*zeros(){const{_array:t,_nwords:s,size:r}=this;for(let e=0,i=0;i<s;i++){const s=t[i];if(4294967295!=s)for(let t=0;t<32&&e<r;t++,e++)s>>>t&1||(yield e);else e+=32}}_check_size(t){o.assert(this.size==t.size,"Size mismatch")}add(t){this._check_size(t);for(let s=0;s<this._nwords;s++)this._array[s]|=t._array[s]}intersect(t){this._check_size(t);for(let s=0;s<this._nwords;s++)this._array[s]&=t._array[s]}subtract(t){this._check_size(t);for(let s=0;s<this._nwords;s++){const r=this._array[s],e=t._array[s];this._array[s]=(r^e)&r}}union(t){this._check_size(t);const s=this.clone();for(let r=0;r<this._nwords;r++)s._array[r]|=t._array[r];return s}intersection(t){this._check_size(t);const s=this.clone();for(let r=0;r<this._nwords;r++)s._array[r]&=t._array[r];return s}difference(t){this._check_size(t);const s=this.clone();for(let r=0;r<this._nwords;r++){const e=this._array[r],i=t._array[r];s._array[r]=(e^i)&e}return s}select(t){o.assert(this.size<=t.length,"Size mismatch");const s=this.count,r=new t.constructor(s);let e=0;for(const s of this)r[e++]=t[s];return r}}r.BitSet=a,a.__name__="BitSet"},n”, “ function _(t,e,r,n,s){n();const o=t(8),{hasOwnProperty:c}=Object.prototype;function a(t){return o.isObject(t)&&void 0!==t[r.equals]}r.equals=Symbol("equals"),r.wildcard=Symbol("wildcard");const i=Object.prototype.toString;class u{constructor(){this.a_stack=[],this.b_stack=[]}eq(t,e){if(Object.is(t,e))return!0;if(t===r.wildcard||e===r.wildcard)return!0;if(null==t||null==e)return t===e;const n=i.call(t);if(n!=i.call(e))return!1;switch(n){case"[object Number]":return this.numbers(t,e);case"[object RegExp]":case"[object String]":return`${t}`==`${e}`;case"[object Date]":case"[object Boolean]":return+t==+e}const{a_stack:s,b_stack:o}=this;let c=s.length;for(;c–;)if(s[c]===t)return o[c]===e;s.push(t),o.push(e);const u=(()=>{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<r;n++)if(!this.eq(t[n],e[n]))return!1;return!0}iterables(t,e){const r=t[Symbol.iterator](),n=e[Symbol.iterator]();for(;;){const t=r.next(),e=n.next();if(t.done&&e.done)return!0;if(t.done||e.done)return!1;if(!this.eq(t.value,e.value))return!1}}maps(t,e){if(t.size!=e.size)return!1;for(const[r,n]of t)if(!e.has(r)||!this.eq(n,e.get(r)))return!1;return!0}sets(t,e){if(t.size!=e.size)return!1;for(const r of t)if(!e.has(r))return!1;return!0}objects(t,e){const r=Object.keys(t);if(r.length!=Object.keys(e).length)return!1;for(const n of r)if(!c.call(e,n)||!this.eq(t[n],e[n]))return!1;return!0}nodes(t,e){return t.nodeType==e.nodeType&&(t.textContent==e.textContent&&!!this.iterables(t.childNodes,e.childNodes))}}r.Comparator=u,u.__name__="Comparator";const{abs:l}=Math;class b extends u{constructor(t=1e-4){super(),this.tolerance=t}numbers(t,e){return super.numbers(t,e)||l(t-e)<this.tolerance}}function f(t,e){return(new u).eq(t,e)}r.SimilarComparator=b,b.__name__="SimilarComparator",r.is_equal=f,r.is_similar=function(t,e,r){return new b(r).eq(t,e)},r.isEqual=f},n”, “ function _(n,i,e,t,r){t(),e.is_windows=navigator.appVersion.includes("Windows"),e.is_ie=(()=>{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,i,s){i();class _{constructor(){this._dev=!1,this._wireframe=!1}set dev(e){this._dev=e}get dev(){return this._dev}set wireframe(e){this._wireframe=e}get wireframe(){return this._wireframe}}r.Settings=_,_.__name__="Settings",r.settings=new _},n”, “ function _(t,e,s,r,n){var a,i,h,u,l,c,o,y;r();const p=t(8),_=t(11),A=t(26),d=t(30),D=t(31),N=Symbol("__ndarray__");class f extends Uint8Array{constructor(t,e){super(t),this[a]=!0,this.dtype="uint8",this.shape=null!=e?e:z(t)?t.shape:[this.length],this.dimension=this.shape.length}[(a=N,A.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[d.serialize](t){return D.encode_NDArray(this)}}s.Uint8NDArray=f,f.__name__="Uint8NDArray";class m extends Int8Array{constructor(t,e){super(t),this[i]=!0,this.dtype="int8",this.shape=null!=e?e:z(t)?t.shape:[this.length],this.dimension=this.shape.length}[(i=N,A.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[d.serialize](t){return D.encode_NDArray(this)}}s.Int8NDArray=m,m.__name__="Int8NDArray";class g extends Uint16Array{constructor(t,e){super(t),this[h]=!0,this.dtype="uint16",this.shape=null!=e?e:z(t)?t.shape:[this.length],this.dimension=this.shape.length}[(h=N,A.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[d.serialize](t){return D.encode_NDArray(this)}}s.Uint16NDArray=g,g.__name__="Uint16NDArray";class q extends Int16Array{constructor(t,e){super(t),this[u]=!0,this.dtype="int16",this.shape=null!=e?e:z(t)?t.shape:[this.length],this.dimension=this.shape.length}[(u=N,A.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[d.serialize](t){return D.encode_NDArray(this)}}s.Int16NDArray=q,q.__name__="Int16NDArray";class I extends Uint32Array{constructor(t,e){super(t),this[l]=!0,this.dtype="uint32",this.shape=null!=e?e:z(t)?t.shape:[this.length],this.dimension=this.shape.length}[(l=N,A.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[d.serialize](t){return D.encode_NDArray(this)}}s.Uint32NDArray=I,I.__name__="Uint32NDArray";class U extends Int32Array{constructor(t,e){super(t),this[c]=!0,this.dtype="int32",this.shape=null!=e?e:z(t)?t.shape:[this.length],this.dimension=this.shape.length}[(c=N,A.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[d.serialize](t){return D.encode_NDArray(this)}}s.Int32NDArray=U,U.__name__="Int32NDArray";class w extends Float32Array{constructor(t,e){super(t),this[o]=!0,this.dtype="float32",this.shape=null!=e?e:z(t)?t.shape:[this.length],this.dimension=this.shape.length}[(o=N,A.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[d.serialize](t){return D.encode_NDArray(this)}}s.Float32NDArray=w,w.__name__="Float32NDArray";class x extends Float64Array{constructor(t,e){super(t),this[y]=!0,this.dtype="float64",this.shape=null!=e?e:z(t)?t.shape:[this.length],this.dimension=this.shape.length}[(y=N,A.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[d.serialize](t){return D.encode_NDArray(this)}}function z(t){return p.isObject(t)&&void 0!==t[N]}s.Float64NDArray=x,x.__name__="Float64NDArray",s.is_NDArray=z,s.ndarray=function(t,e={}){let{dtype:s}=e;null==s&&(s=t instanceof ArrayBuffer||p.isArray(t)?"float64":(()=>{switch(!0){case t instanceof Uint8Array:return"uint8";case t instanceof Int8Array:return"int8";case t instanceof Uint16Array:return"uint16";case t instanceof Int16Array:return"int16";case t instanceof Uint32Array:return"uint32";case t instanceof Int32Array:return"int32";case t instanceof Float32Array:return"float32";case t instanceof Float64Array:return"float64";default:_.unreachable()}})());const{shape:r}=e;switch(s){case"uint8":return new f(t,r);case"int8":return new m(t,r);case"uint16":return new g(t,r);case"int16":return new q(t,r);case"uint32":return new I(t,r);case"int32":return new U(t,r);case"float32":return new w(t,r);case"float64":return new x(t,r)}}},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){n.assert(!this._references.has(e)),this._references.set(e,r)}add_def(e,r){const t=this.get_ref(e);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 l.isObject(e)&&void 0!==e[t.serialize]}(e))return e[t.serialize](this);if(l.isArray(e)||l.isTypedArray(e)){const r=e.length,t=new Array(r);for(let i=0;i<r;i++){const r=e[i];t[i]=this.to_serializable(r)}return t}if(l.isPlainObject(e)){const r={};for(const[t,i]of a.entries(e))r[t]=this.to_serializable(i);return r}if(null===e||l.isBoolean(e)||l.isNumber(e)||l.isString(e))return e;throw new o(${Object.prototype.toString.call(e)} is not serializable)}}t.Serializer=f,f.__name__="Serializer"},n”, “ function _(r,e,n,t,_){t();const a=r(1),f=r(8),u=a.__importStar(r(29)),s=r(27),i=r(32);n.is_NDArray_ref=function(r){return f.isPlainObject(r)&&("__buffer__"in r||"__ndarray__"in r)},n.decode_NDArray=function(r,e){const{shape:n,dtype:t,order:_}=r;let a;if("__buffer__"in r){const n=e.get(r.__buffer__);if(null==n)throw new Error(buffer for ${r.__buffer__} not found);a=n}else a=i.base64_to_buffer(r.__ndarray__);const f=(()=>{switch(t){case"uint8":return new u.Uint8NDArray(a,n);case"int8":return new u.Int8NDArray(a,n);case"uint16":return new u.Uint16NDArray(a,n);case"int16":return new u.Int16NDArray(a,n);case"uint32":return new u.Uint32NDArray(a,n);case"int32":return new u.Int32NDArray(a,n);case"float32":return new u.Float32NDArray(a,n);case"float64":return new u.Float64NDArray(a,n)}})();return _!==s.BYTE_ORDER&&i.swap(f),f},n.encode_NDArray=function(r,e){const n={order:s.BYTE_ORDER,dtype:r.dtype,shape:r.shape};if(null!=e){const t=`${e.size}`;return e.set(t,r.buffer),Object.assign({__buffer__:t},n)}{const e=i.buffer_to_base64(r.buffer);return Object.assign({__ndarray__:e},n)}}},n”, “ function _(t,e,n,r,f){r(),n.buffer_to_base64=function(t){const e=new Uint8Array(t),n=Array.from(e).map((t=>String.fromCharCode(t)));return btoa(n.join(""))},n.base64_to_buffer=function(t){const e=atob(t),n=e.length,r=new Uint8Array(n);for(let t=0,f=n;t<f;t++)r[t]=e.charCodeAt(t);return r.buffer},n.swap=function(t){switch(t.BYTES_PER_ELEMENT){case 2:!function(t){const e=new Uint8Array(t.buffer,t.byteOffset,2*t.length);for(let t=0,n=e.length;t<n;t+=2){const n=e[t];e[t]=e[t+1],e[t+1]=n}}(t);break;case 4:!function(t){const e=new Uint8Array(t.buffer,t.byteOffset,4*t.length);for(let t=0,n=e.length;t<n;t+=4){let n=e[t];e[t]=e[t+3],e[t+3]=n,n=e[t+1],e[t+1]=e[t+2],e[t+2]=n}}(t);break;case 8:!function(t){const e=new Uint8Array(t.buffer,t.byteOffset,8*t.length);for(let t=0,n=e.length;t<n;t+=8){let n=e[t];e[t]=e[t+7],e[t+7]=n,n=e[t+1],e[t+1]=e[t+6],e[t+6]=n,n=e[t+2],e[t+2]=e[t+5],e[t+5]=n,n=e[t+3],e[t+3]=e[t+4],e[t+4]=n}}(t)}}},n”, “ function _(t,r,e,s,a){s();const i=t(26);class n{is_Scalar(){return this.is_scalar}is_Vector(){return!this.is_scalar}}e.Uniform=n,n.__name__="Uniform";class l extends n{constructor(t,r){super(),this.value=t,this.length=r,this.is_scalar=!0}get(t){return this.value}*[Symbol.iterator](){const{length:t,value:r}=this;for(let e=0;e<t;e++)yield r}select(t){return new l(this.value,t.count)}[i.equals](t,r){return r.eq(this.length,t.length)&&r.eq(this.value,t.value)}}e.UniformScalar=l,l.__name__="UniformScalar";class o extends n{constructor(t){super(),this.array=t,this.is_scalar=!1,this.length=this.array.length}get(t){return this.array[t]}*[Symbol.iterator](){yield*this.array}select(t){const r=t.select(this.array);return new this.constructor(r)}[i.equals](t,r){return r.eq(this.length,t.length)&&r.eq(this.array,t.array)}}e.UniformVector=o,o.__name__="UniformVector";class h extends o{constructor(t){super(t),this.array=t,this._view=new DataView(t.buffer)}get(t){return this._view.getUint32(4*t)}*[Symbol.iterator](){const t=this.length;for(let r=0;r<t;r++)yield this.get(r)}}e.ColorUniformVector=h,h.__name__="ColorUniformVector"},n”, “ function _(t,e,r,n,u){n();const c=t(28);function s(){const t=new Array(32),e="0123456789ABCDEF";for(let r=0;r<32;r++)t[r]=e.substr(Math.floor(16*Math.random()),1);return t[12]="4",t[16]=e.substr(3&t[16].charCodeAt(0)|8,1),t.join("")}r.startsWith=function(t,e,r=0){return t.substr(r,e.length)==e},r.uuid4=s;let a=1e3;r.uniqueId=function(t){const e=c.settings.dev?"j"+a++:s();return null!=t?`${t}-${e}`:e},r.escape=function(t){return t.replace(/(?:[&<>"’])/g,(t=>{switch(t){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case’"’:return"&quot;";case"’":return"&#x27;";case"":return"&#x60;";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,r,n,i,e){i();const s=t(8),o=t(13);n.pretty=Symbol("pretty");class c{constructor(t){this.precision=null==t?void 0:t.precision}to_string(t){return function(t){return s.isObject(t)&&void 0!==t[n.pretty]}(t)?t[n.pretty](this):s.isBoolean(t)?this.boolean(t):s.isNumber(t)?this.number(t):s.isString(t)?this.string(t):s.isArray(t)?this.array(t):s.isIterable(t)?this.iterable(t):s.isPlainObject(t)?this.object(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,"\\’")}"}array(t){const r=this.token,n=[];for(const r of t)n.push(this.to_string(r));return`${r("[")}${n.join(`${r(",")} `)}${r("]")}}iterable(t){var r;const n=this.token,i=null!==(r=Object(t)[Symbol.toStringTag])&&void 0!==r?r:"Object",e=this.array(t);return`${i}${n("(")}${e}${n(")")}`}object(t){const r=this.token,n=[];for(const[i,e]of o.entries(t))n.push(${i}${r(":")} ${this.to_string(e)});return`${r("{")}${n.join(${r(",")} `)}${r("}")}}}n.Printer=c,c.__name__="Printer",n.to_string=function(t,r){return new c(r).to_string(t)}},n”, “ function _(n,o,r,e,t){e();const l=n(13),i=n(8);function c(n){return 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(i.isArray(n)){const o=n.length,r=new Array(o);for(let e=0;e<o;e++){const o=n[e];r[e]=this.clone(o)}return r}if(i.isPlainObject(n)){const o={};for(const[r,e]of l.entries(n))o[r]=this.clone(e);return o}if(null===n||i.isBoolean(n)||i.isNumber(n)||i.isString(n))return n;throw new s(${Object.prototype.toString.call(n)} is not cloneable)}}r.Cloner=a,a.__name__="Cloner"},n”, “ function _(t,_,r,o,a){o();const e=t(1);e.__exportStar(t(39),r),e.__exportStar(t(162),r),e.__exportStar(t(257),r),e.__exportStar(t(261),r),e.__exportStar(t(266),r),e.__exportStar(t(272),r),e.__exportStar(t(205),r),e.__exportStar(t(277),r),e.__exportStar(t(313),r),e.__exportStar(t(315),r),e.__exportStar(t(317),r),e.__exportStar(t(209),r),e.__exportStar(t(147),r),e.__exportStar(t(330),r),e.__exportStar(t(338),r),e.__exportStar(t(220),r),e.__exportStar(t(339),r),e.__exportStar(t(217),r),e.__exportStar(t(340),r),e.__exportStar(t(341),r),e.__exportStar(t(198),r),e.__exportStar(t(346),r),e.__exportStar(t(356),r),e.__exportStar(t(360),r)},n”, “ function _(e,o,n,a,t){a(),t("Annotation",e(40).Annotation),t("Arrow",e(55).Arrow),t("ArrowHead",e(133).ArrowHead),t("OpenHead",e(133).OpenHead),t("NormalHead",e(133).NormalHead),t("TeeHead",e(133).TeeHead),t("VeeHead",e(133).VeeHead),t("Band",e(134).Band),t("BoxAnnotation",e(136).BoxAnnotation),t("ColorBar",e(137).ColorBar),t("Label",e(226).Label),t("LabelSet",e(227).LabelSet),t("Legend",e(228).Legend),t("LegendItem",e(229).LegendItem),t("PolyAnnotation",e(231).PolyAnnotation),t("Slope",e(232).Slope),t("Span",e(233).Span),t("TextAnnotation",e(139).TextAnnotation),t("Title",e(138).Title),t("ToolbarPanel",e(234).ToolbarPanel),t("Tooltip",e(254).Tooltip),t("Whisker",e(256).Whisker)},n”, “ function _(t,e,i,n,s){n();const o=t(41);class a extends o.RendererView{get_size(){if(this.model.visible){const{width:t,height:e}=this._get_size();return{width:Math.round(t),height:Math.round(e)}}return{width:0,height:0}}_get_size(){throw new Error("not implemented")}connect_signals(){super.connect_signals();const t=this.model.properties;this.on_change(t.visible,(()=>{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=a,a.__name__="AnnotationView";class l extends o.Renderer{constructor(t){super(t)}static init_Annotation(){this.override({level:"annotation"})}}i.Annotation=l,l.__name__="Annotation",l.init_Annotation()},n”, “ function _(e,i,t,n,s){n();const r=e(1),a=e(42),_=r.__importStar(e(45)),o=e(20),l=e(53),d=e(54);class h extends a.View{get coordinates(){const{_coordinates:e}=this;return null!=e?e:this._coordinates=this._initialize_coordinates()}initialize(){super.initialize(),this.visuals=new _.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()))}_initialize_coordinates(){const{x_range_name:e,y_range_name:i}=this.model,{frame:t}=this.plot_view,n=t.x_scales.get(e),s=t.y_scales.get(i);return new d.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)}notify_finished(){this.plot_view.notify_finished()}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=h,h.__name__="RendererView";class c extends l.Model{constructor(e){super(e)}static init_Renderer(){this.define((({Boolean:e,String:i})=>({level:[o.RenderLevel,"image"],visible:[e,!0],x_range_name:[i,"default"],y_range_name:[i,"default"]})))}}t.Renderer=c,c.__name__="Renderer",c.init_Renderer()},n”, “ function _(t,e,s,i,n){i();const r=t(1),o=t(15),h=t(43),l=t(8),a=r.__importDefault(t(44));class _{constructor(t){this.removed=new o.Signal0(this,"removed"),this._ready=Promise.resolve(void 0),this._slots=new WeakMap;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=h.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}assert_root(){if(!this.is_root)throw new Error(${this.toString()} is not a root layout)}has_finished(){return this._has_finished}get is_idle(){return this.has_finished()}connect_signals(){}disconnect_signals(){o.Signal.disconnect_receiver(this)}on_change(t,e){for(const s of 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[a.default]}}s.View=_,_.__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");for(let[t,n]of l.entries(e))if(null!=n&&(!s.isBoolean(n)||n))if("class"===t&&(s.isString(n)&&(n=n.split(/\s+/)),s.isArray(n)))for(const t of n)null!=t&&i.classList.add(t);else if("style"===t&&s.isPlainObject(n))for(const[t,e]of l.entries(n))i.style[t]=e;else if("data"===t&&s.isPlainObject(n))for(const[t,e]of l.entries(n))i.dataset[t]=e;else i.setAttribute(t,n);function o(t){if(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(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 u(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 f(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.nbsp=function(){return document.createTextNode(" ")},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=u,n.size=f,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}}=u(t),{width:s,height:l}=f(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}=u(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<this.classList.length;e++){const n=this.classList.item(e);null!=n&&t.push(n)}return t}has(t){return this.classList.contains(t)}add(…t){for(const e of t)this.classList.add(e);return this}remove(…t){for(const e of t)this.classList.remove(e);return this}clear(){for(const t of this.values)"bk"!=t&&this.classList.remove(t);return this}toggle(t,e){return(null!=e?e:!this.has(t))?this.add(t):this.remove(t),this}}var g;function m(t,e,n){const{width:i,height:o,position:s,display:l}=t.style;t.style.position="absolute",t.style.display="",t.style.width=null!=e.width&&e.width!=1/0?`${e.width}px`:"auto",t.style.height=null!=e.height&&e.height!=1/0?`${e.height}px`:"auto";try{return n()}finally{t.style.position=s,t.style.display=l,t.style.width=i,t.style.height=o}}n.ClassList=p,p.__name__="ClassList",n.classes=function(t){return new p(t)},n.toggle_attribute=function(t,e,n){null==n&&(n=!t.hasAttribute(e)),n?t.setAttribute(e,"true"):t.removeAttribute(e)},(g=n.Keys||(n.Keys={}))[g.Backspace=8]="Backspace",g[g.Tab=9]="Tab",g[g.Enter=13]="Enter",g[g.Esc=27]="Esc",g[g.PageUp=33]="PageUp",g[g.PageDown=34]="PageDown",g[g.Left=37]="Left",g[g.Up=38]="Up",g[g.Right=39]="Right",g[g.Down=40]="Down",g[g.Delete=46]="Delete",n.undisplayed=function(t,e){const{display:n}=t.style;t.style.display="none";try{return e()}finally{t.style.display=n}},n.unsized=function(t,e){return m(t,{},e)},n.sized=m;class y{constructor(t){this.root=t,this.known=new Set,this.style=n.style({type:"text/css"}),c(t,this.style)}append(t){this.known.has(t)||(this.style.appendChild(document.createTextNode(t)),this.known.add(t))}}n.StyleSheet=y,y.__name__="StyleSheet",n.stylesheet=new y(document.head),n.dom_ready=async function(){if("loading"==document.readyState)return new Promise(((t,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;z-index:0;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 l=e(1),n=e(46);c("Line",n.Line),c("LineScalar",n.LineScalar),c("LineVector",n.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=l.__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 n.Line(e,t);case u.LineScalar:return new n.LineScalar(e,t);case u.LineVector:return new n.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")}})();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 n=e(1),a=e(47),o=n.__importStar(e(48)),r=e(22),_=e(8);function h(e){if(_.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=h;class c extends a.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)}set_value(e){const t=this.line_color.get_value(),i=this.line_alpha.get_value();e.strokeStyle=r.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=h(this.line_dash.get_value()),e.lineDashOffset=this.line_dash_offset.get_value()}}i.Line=c,c.__name__="Line";class u extends a.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)}set_value(e){const t=this.line_color.value,i=this.line_alpha.value;e.strokeStyle=r.color2css(t,i),e.lineWidth=this.line_width.value,e.lineJoin=this.line_join.value,e.lineCap=this.line_cap.value,e.lineDash=h(this.line_dash.value),e.lineDashOffset=this.line_dash_offset.value}}i.LineScalar=u,u.__name__="LineScalar";class d extends a.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}set_vectorize(e,t){const i=this.line_color.get(t),l=this.line_alpha.get(t),s=this.line_width.get(t),n=this.line_join.get(t),a=this.line_cap.get(t),o=this.line_dash.get(t),_=this.line_dash_offset.get(t);e.strokeStyle=r.color2css(i,l),e.lineWidth=s,e.lineJoin=n,e.lineCap=a,e.lineDash=h(o),e.lineDashOffset=_}}i.LineVector=d,d.__name__="LineVector",c.prototype.type="line",c.prototype.attrs=Object.keys(o.Line),u.prototype.type="line",u.prototype.attrs=Object.keys(o.LineScalar),d.prototype.type="line",d.prototype.attrs=Object.keys(o.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)}this.update()}*[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=r.__importStar(e(18)),n=e(20),i=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 _.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 o=l(1),a=l(47),r=o.__importStar(l(48)),c=l(22);class _ extends a.VisualProperties{get doit(){const l=this.fill_color.get_value(),t=this.fill_alpha.get_value();return!(null==l||0==t)}set_value(l){const t=this.fill_color.get_value(),e=this.fill_alpha.get_value();l.fillStyle=c.color2css(t,e)}}e.Fill=_,_.__name__="Fill";class n extends a.VisualUniforms{get doit(){const l=this.fill_color.value,t=this.fill_alpha.value;return!(0==l||0==t)}set_value(l){const t=this.fill_color.value,e=this.fill_alpha.value;l.fillStyle=c.color2css(t,e)}}e.FillScalar=n,n.__name__="FillScalar";class p extends a.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}set_vectorize(l,t){const e=this.fill_color.get(t),i=this.fill_alpha.get(t);l.fillStyle=c.color2css(e,i)}}e.FillVector=p,p.__name__="FillVector",_.prototype.type="fill",_.prototype.attrs=Object.keys(r.Fill),n.prototype.type="fill",n.prototype.attrs=Object.keys(r.FillScalar),p.prototype.type="fill",p.prototype.attrs=Object.keys(r.FillVector)},n”, “ function _(t,e,s,l,a){l();const o=t(1),_=t(47),i=o.__importStar(t(48)),n=t(22);class x extends _.VisualProperties{get doit(){const t=this.text_color.get_value(),e=this.text_alpha.get_value();return!(null==t||0==e)}set_value(t){const e=this.text_color.get_value(),s=this.text_alpha.get_value();t.fillStyle=n.color2css(e,s),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()}`}}s.Text=x,x.__name__="Text";class r extends _.VisualUniforms{get doit(){const t=this.text_color.value,e=this.text_alpha.value;return!(0==t||0==e)}set_value(t){const e=this.text_color.value,s=this.text_alpha.value,l=this.font_value(),a=this.text_align.value,o=this.text_baseline.value;t.fillStyle=n.color2css(e,s),t.font=l,t.textAlign=a,t.textBaseline=o}font_value(){return`${this.text_font_style.value} ${this.text_font_size.value} ${this.text_font.value}`}}s.TextScalar=r,r.__name__="TextScalar";class u extends _.VisualUniforms{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 s=this.text_color.get(e),l=this.text_alpha.get(e),a=this.font_value(e),o=this.text_align.get(e),_=this.text_baseline.get(e);t.fillStyle=n.color2css(s,l),t.font=a,t.textAlign=o,t.textBaseline=_}font_value(t){return`${this.text_font_style.get(t)} ${this.text_font_size.get(t)} ${this.text_font.get(t)}`}}s.TextVector=u,u.__name__="TextVector",x.prototype.type="text",x.prototype.attrs=Object.keys(i.Text),r.prototype.type="text",r.prototype.attrs=Object.keys(i.TextScalar),u.prototype.type="text",u.prototype.attrs=Object.keys(i.TextVector)},n”, “ function _(t,e,a,h,r){h();const i=t(1),s=t(47),c=t(52),n=i.__importStar(t(18)),_=i.__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(),h=this.hatch_pattern.get_value(),r=this.hatch_weight.get_value(),i=t=>{this._hatch_image=t},s=this.hatch_extra.get_value()[h];if(null!=s){const h=s.get_pattern(t,e,a,r);if(h instanceof Promise){const{_update_iteration:t}=this;h.then((e=>{this._update_iteration==t&&(i(e),this.obj.request_render())}))}else i(h)}else{const s=this.obj.canvas.create_layer(),n=c.get_pattern(s,h,t,e,a,r);i(n)}}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)}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 n.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,h=this.hatch_scale.value,r=this.hatch_pattern.value,i=this.hatch_weight.value,s=e=>{this._hatch_image=new n.UniformScalar(e,t)},_=this.hatch_extra.value[r];if(null!=_){const t=_.get_pattern(e,a,h,i);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(),n=c.get_pattern(t,r,e,a,h,i);s(n)}}get doit(){return this._static_doit}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 n.UniformScalar(null,t),this._static_doit=this._compute_static_doit(),!this._static_doit)return;const e=(t,e,a,h,r,i)=>{const s=this.hatch_extra.value[t];if(null!=s){const t=s.get_pattern(e,a,h,r);if(t instanceof Promise){const{_update_iteration:e}=this;t.then((t=>{this._update_iteration==e&&(i(t),this.obj.request_render())}))}else i(t)}else{const s=this.obj.canvas.create_layer(),n=c.get_pattern(s,t,e,a,h,r);i(n)}};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,h=this.hatch_alpha.value,r=this.hatch_scale.value;e(this.hatch_pattern.value,a,h,r,this.hatch_weight.value,(e=>{this._hatch_image=new n.UniformScalar(e,t)}))}else{const a=new Array(t);a.fill(null),this._hatch_image=new n.UniformVector(a);for(let h=0;h<t;h++){const t=this.hatch_color.get(h),r=this.hatch_alpha.get(h),i=this.hatch_scale.get(h);e(this.hatch_pattern.get(h),t,r,i,this.hatch_weight.get(h),(t=>{a[h]=t}))}}}get doit(){return this._static_doit}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=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){n();const a=e(14),i=e(8),r=e(13),l=e(19);class o extends a.HasProps{constructor(e){super(e)}get is_syncable(){return this.syncable}static init_Model(){this.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]})))}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):l.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 r.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(){r.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(i.isString(e))return[...this.references()].filter((t=>t instanceof o&&t.name===e));if(e.prototype instanceof a.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=o,o.__name__=\"Model\",o.init_Model()},\n", " function _(s,e,_,t,a){t();class r{constructor(s,e){this.x_scale=s,this.y_scale=e,this.x_range=this.x_scale.source_range,this.y_range=this.y_scale.source_range,this.ranges=[this.x_range,this.y_range],this.scales=[this.x_scale,this.y_scale]}map_to_screen(s,e){return[this.x_scale.v_compute(s),this.y_scale.v_compute(e)]}map_from_screen(s,e){return[this.x_scale.v_invert(s),this.y_scale.v_invert(e)]}}_.CoordinateTransform=r,r.__name__=\"CoordinateTransform\"},\n", " function _(t,e,s,a,i){a();const n=t(1),_=t(56),r=t(133),o=t(48),l=t(20),d=t(24),h=t(122),c=n.__importStar(t(18)),u=t(10);class v extends _.DataAnnotationView{async lazy_initialize(){await super.lazy_initialize();const{start:t,end:e}=this.model;null!=t&&(this.start=await h.build_view(t,{parent:this})),null!=e&&(this.end=await h.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 d.ScreenArray(n);for(let t=0;t<n;t++)_[t]=Math.PI/2+u.atan2([e[t],s[t]],[a[t],i[t]])}paint(t){const{start:e,end:s}=this,{_sx_start:a,_sy_start:i,_sx_end:n,_sy_end:_,_angles:r}=this,{x:o,y:l,width:d,height:h}=this.plot_view.frame.bbox;for(let c=0,u=a.length;c<u;c++)null!=s&&(t.save(),t.translate(n[c],_[c]),t.rotate(r[c]),s.render(t,c),t.restore()),null!=e&&(t.save(),t.translate(a[c],i[c]),t.rotate(r[c]+Math.PI),e.render(t,c),t.restore()),this.visuals.line.doit&&(t.save(),null==e&&null==s||(t.beginPath(),t.rect(o,l,d,h),null!=s&&(t.save(),t.translate(n[c],_[c]),t.rotate(r[c]),s.clip(t,c),t.restore()),null!=e&&(t.save(),t.translate(a[c],i[c]),t.rotate(r[c]+Math.PI),e.clip(t,c),t.restore()),t.closePath(),t.clip()),this.visuals.line.set_vectorize(t,c),t.beginPath(),t.moveTo(a[c],i[c]),t.lineTo(n[c],_[c]),t.stroke(),t.restore())}}s.ArrowView=v,v.__name__=\"ArrowView\";class p extends _.DataAnnotation{constructor(t){super(t)}static init_Arrow(){this.prototype.default_view=v,this.mixins(o.LineVector),this.define((({Ref:t,Nullable:e})=>({x_start:[c.XCoordinateSpec,{field:\"x_start\"}],y_start:[c.YCoordinateSpec,{field:\"y_start\"}],start_units:[l.SpatialUnits,\"data\"],start:[e(t(r.ArrowHead)),null],x_end:[c.XCoordinateSpec,{field:\"x_end\"}],y_end:[c.YCoordinateSpec,{field:\"y_end\"}],end_units:[l.SpatialUnits,\"data\"],end:[e(t(r.ArrowHead)),()=>new r.OpenHead]})))}}s.Arrow=p,p.__name__=\"Arrow\",p.init_Arrow()},\n", " function _(t,n,s,a,e){a();const i=t(1),o=t(40),c=t(57),_=t(130),r=t(65),l=i.__importStar(t(18));class h extends o.AnnotationView{constructor(){super(...arguments),this._initial_set_data=!1}connect_signals(){super.connect_signals();const t=()=>{this.set_data(this.model.source),this.request_render()};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)}set_data(t){const n=this;for(const s of this.model)if(s instanceof l.VectorSpec||s instanceof l.ScalarSpec)if(s instanceof l.BaseCoordinateSpec){const a=s.array(t);n[`_${s.attr}`]=a}else{const a=s.uniform(t);n[`${s.attr}`]=a}this.plot_model.use_map&&(null!=n._x&&r.inplace.project_xy(n._x,n._y),null!=n._xs&&r.inplace.project_xsys(n._xs,n._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)}}s.DataAnnotationView=h,h.__name__=\"DataAnnotationView\";class u extends o.Annotation{constructor(t){super(t)}static init_DataAnnotation(){this.define((({Ref:t})=>({source:[t(c.ColumnarDataSource),()=>new _.ColumnDataSource]})))}}s.DataAnnotation=u,u.__name__=\"DataAnnotation\",u.init_DataAnnotation()},\n", " function _(t,e,n,a,i){a();const s=t(58),r=t(15),l=t(19),o=t(60),c=t(8),u=t(9),h=t(13),g=t(59),d=t(129),_=t(29);class m extends s.DataSource{constructor(t){super(t)}get_array(t){let e=this.data[t];return null==e?this.data[t]=e=[]:c.isArray(e)||(this.data[t]=e=Array.from(e)),e}static init_ColumnarDataSource(){this.define((({Ref:t})=>({selection_policy:[t(d.SelectionPolicy),()=>new d.UnionRenderers]}))),this.internal((({AnyRef:t})=>({selection_manager:[t(),t=>new o.SelectionManager({source:t})],inspected:[t(),()=>new g.Selection]})))}initialize(){super.initialize(),this._select=new r.Signal0(this,\"select\"),this.inspect=new r.Signal(this,\"inspect\"),this.streaming=new r.Signal0(this,\"streaming\"),this.patching=new r.Signal(this,\"patching\")}get_column(t){const e=this.data[t];return null!=e?e:null}columns(){return h.keys(this.data)}get_length(t=!0){const e=u.uniq(h.values(this.data).map((t=>_.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 l.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=m,m.__name__=\"ColumnarDataSource\",m.init_ColumnarDataSource()},\n", " function _(e,t,c,n,a){n();const o=e(53),i=e(59);class s extends o.Model{constructor(e){super(e)}static init_DataSource(){this.define((({Ref:e})=>({selected:[e(i.Selection),()=>new i.Selection]})))}}c.DataSource=s,s.__name__=\"DataSource\",s.init_DataSource()},\n", " function _(i,e,s,t,n){t();const l=i(53),c=i(9),h=i(13);class d extends l.Model{constructor(i){super(i)}get_view(){return this.view}static init_Selection(){this.define((({Int:i,Array:e,Dict:s})=>({indices:[e(i),[]],line_indices:[e(i),[]],multiline_indices:[s(e(i)),{}]}))),this.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})),[]]})))}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.selected_glyphs=i.selected_glyphs,this.view=i.view,this.multiline_indices=i.multiline_indices,this.image_indices=i.image_indices;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.view=null,this.selected_glyphs=[]}is_empty(){return 0==this.indices.length&&0==this.line_indices.length&&0==this.image_indices.length}update_through_union(i){this.indices=c.union(this.indices,i.indices),this.selected_glyphs=c.union(i.selected_glyphs,this.selected_glyphs),this.line_indices=c.union(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=h.merge(i.multiline_indices,this.multiline_indices)}update_through_intersection(i){this.indices=c.intersection(this.indices,i.indices),this.selected_glyphs=c.union(i.selected_glyphs,this.selected_glyphs),this.line_indices=c.union(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=h.merge(i.multiline_indices,this.multiline_indices)}update_through_subtraction(i){this.indices=c.difference(this.indices,i.indices),this.selected_glyphs=c.union(i.selected_glyphs,this.selected_glyphs),this.line_indices=c.union(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=h.merge(i.multiline_indices,this.multiline_indices)}}s.Selection=d,d.__name__=\"Selection\",d.init_Selection()},\n", " function _(e,t,s,n,i){n();const o=e(14),c=e(59),r=e(61),l=e(123);class p extends o.HasProps{constructor(e){super(e),this.inspectors=new Map}static init_SelectionManager(){this.internal((({AnyRef:e})=>({source:[e()]})))}select(e,t,s,n=\"replace\"){const i=[],o=[];for(const t of e)t instanceof r.GlyphRendererView?i.push(t):t instanceof l.GraphRendererView&&o.push(t);let c=!1;for(const e of o){const i=e.model.selection_policy.hit_test(t,e);c=c||e.model.selection_policy.do_selection(i,e.model,s,n)}if(i.length>0){const e=this.source.selection_policy.hit_test(t,i);c=c||this.source.selection_policy.do_selection(e,this.source,s,n)}return c}inspect(e,t){let s=!1;if(e instanceof r.GlyphRendererView){const n=e.hit_test(t);if(null!=n){s=!n.is_empty();const i=this.get_or_create_inspector(e.model);i.update(n,!0,\"replace\"),this.source.setv({inspected:i},{silent:!0}),this.source.inspect.emit([e.model,{geometry:t}])}}else if(e instanceof l.GraphRendererView){const n=e.model.inspection_policy.hit_test(t,e);s=s||e.model.inspection_policy.do_inspection(n,t,e,!1,\"replace\")}return s}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 c.Selection,this.inspectors.set(e,t)),t}}s.SelectionManager=p,p.__name__=\"SelectionManager\",p.init_SelectionManager()},\n", " function _(e,t,i,s,l){s();const h=e(62),n=e(63),o=e(116),a=e(117),c=e(119),d=e(98),_=e(57),r=e(120),p=e(24),g=e(12),u=e(9),y=e(13),m=e(122),v=e(104),f={fill:{},line:{}},w={fill:{fill_alpha:.3,fill_color:\"grey\"},line:{line_alpha:.3,line_color:\"grey\"}},b={fill:{fill_alpha:.2},line:{}};class V extends h.DataRendererView{get glyph_view(){return this.glyph}async lazy_initialize(){var e,t;await super.lazy_initialize();const i=this.model.glyph;this.glyph=await this.build_glyph_view(i);const s=\"fill\"in this.glyph.visuals,l=\"line\"in this.glyph.visuals,h=Object.assign({},i.attributes);function n(e){const t=y.clone(h);return s&&y.extend(t,e.fill),l&&y.extend(t,e.line),new i.constructor(t)}delete h.id;let{selection_glyph:o}=this.model;null==o?o=n({fill:{},line:{}}):\"auto\"==o&&(o=n(f)),this.selection_glyph=await this.build_glyph_view(o);let{nonselection_glyph:a}=this.model;null==a?a=n({fill:{},line:{}}):\"auto\"==a&&(a=n(b)),this.nonselection_glyph=await this.build_glyph_view(a);const{hover_glyph:c}=this.model;null!=c&&(this.hover_glyph=await this.build_glyph_view(c));const{muted_glyph:d}=this.model;null!=d&&(this.muted_glyph=await this.build_glyph_view(d));const _=n(w);this.decimated_glyph=await this.build_glyph_view(_),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),null===(t=this.muted_glyph)||void 0===t||t.set_base(this.glyph),this.decimated_glyph.set_base(this.glyph),this.set_data()}async build_glyph_view(e){return m.build_view(e,{parent:this})}remove(){var e,t;this.glyph.remove(),this.selection_glyph.remove(),this.nonselection_glyph.remove(),null===(e=this.hover_glyph)||void 0===e||e.remove(),null===(t=this.muted_glyph)||void 0===t||t.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),null!=this.muted_glyph&&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 p.Indices(l);for(let e=0;e<l;e+=s)this.decimated.set(e);this.plot_view.invalidate_dataranges=!0}set_visuals(){var e,t,i,s;const l=this.model.data_source,{all_indices:h}=this;this.glyph.set_visuals(l,h),this.decimated_glyph.set_visuals(l,h),null===(e=this.selection_glyph)||void 0===e||e.set_visuals(l,h),null===(t=this.nonselection_glyph)||void 0===t||t.set_visuals(l,h),null===(i=this.hover_glyph)||void 0===i||i.set_visuals(l,h),null===(s=this.muted_glyph)||void 0===s||s.set_visuals(l,h)}get has_webgl(){return this.glyph.has_webgl}_render(){const e=this.has_webgl;this.glyph.map_data();const t=[...this.all_indices];let i=[...this._update_masked_indices()];const{ctx:s}=this.layer;s.save();const{selected:l}=this.model.data_source;let h;h=!l||l.is_empty()?[]:this.glyph instanceof n.LineView&&l.selected_glyph===this.glyph.model?this.model.view.convert_indices_from_subset(i):l.indices;const{inspected:d}=this.model.data_source,_=new Set((()=>!d||d.is_empty()?[]:d.selected_glyph?this.model.view.convert_indices_from_subset(i):d.indices.length>0?d.indices:Object.keys(d.multiline_indices).map((e=>parseInt(e))))()),r=g.filter(i,(e=>_.has(t[e]))),{lod_threshold:p}=this.plot_model;let y,m,v;if(null!=this.model.document&&this.model.document.interactive_duration()>0&&!e&&null!=p&&t.length>p?(i=[...this.decimated],y=this.decimated_glyph,m=this.decimated_glyph,v=this.selection_glyph):(y=this.model.muted&&null!=this.muted_glyph?this.muted_glyph:this.glyph,m=this.nonselection_glyph,v=this.selection_glyph),null!=this.hover_glyph&&r.length&&(i=u.difference(i,r)),h.length){const e={};for(const t of h)e[t]=!0;const l=new Array,o=new Array;if(this.glyph instanceof n.LineView)for(const i of t)null!=e[i]?l.push(i):o.push(i);else for(const s of i)null!=e[t[s]]?l.push(s):o.push(s);m.render(s,o),v.render(s,l),null!=this.hover_glyph&&(this.glyph instanceof n.LineView?this.hover_glyph.render(s,this.model.view.convert_indices_from_subset(r)):this.hover_glyph.render(s,r))}else if(this.glyph instanceof n.LineView)this.hover_glyph&&r.length?this.hover_glyph.render(s,this.model.view.convert_indices_from_subset(r)):y.render(s,t);else if(this.glyph instanceof o.PatchView||this.glyph instanceof a.HAreaView||this.glyph instanceof c.VAreaView)if(0==d.selected_glyphs.length||null==this.hover_glyph)y.render(s,t);else for(const e of d.selected_glyphs)e==this.glyph.model&&this.hover_glyph.render(s,t);else y.render(s,i),this.hover_glyph&&r.length&&this.hover_glyph.render(s,r);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=V,V.__name__=\"GlyphRendererView\";class x extends h.DataRenderer{constructor(e){super(e)}static init_GlyphRenderer(){this.prototype.default_view=V,this.define((({Boolean:e,Auto:t,Or:i,Ref:s,Null:l,Nullable:h})=>({data_source:[s(_.ColumnarDataSource)],view:[s(r.CDSView),e=>new r.CDSView({source:e.data_source})],glyph:[s(d.Glyph)],hover_glyph:[h(s(d.Glyph)),null],nonselection_glyph:[i(s(d.Glyph),t,l),\"auto\"],selection_glyph:[i(s(d.Glyph),t,l),\"auto\"],muted_glyph:[h(s(d.Glyph)),null],muted:[e,!1]})))}initialize(){super.initialize(),this.view.source!=this.data_source&&(this.view.source=this.data_source,this.view.compute_indices())}get_reference_point(e,t){let i=0;if(null!=e){const s=this.data_source.get_column(e);if(null!=s)if(null==this.view){const e=g.indexOf(s,t);-1!=e&&(i=e)}else for(const[e,l]of Object.entries(this.view.indices_map))if(s[parseInt(e)]==t){i=l;break}}return i}get_selection_manager(){return this.data_source.selection_manager}}i.GlyphRenderer=x,x.__name__=\"GlyphRenderer\",x.init_GlyphRenderer()},\n", " function _(e,r,t,a,n){a();const s=e(41);class i extends s.RendererView{get xscale(){return this.coordinates.x_scale}get yscale(){return this.coordinates.y_scale}}t.DataRendererView=i,i.__name__=\"DataRendererView\";class _ extends s.Renderer{constructor(e){super(e)}static init_DataRenderer(){this.override({level:\"glyph\"})}get selection_manager(){return this.get_selection_manager()}}t.DataRenderer=_,_.__name__=\"DataRenderer\",_.init_DataRenderer()},\n", " function _(e,i,t,s,n){s();const l=e(1),_=e(64),r=e(106),o=e(108),h=l.__importStar(e(48)),a=l.__importStar(e(107)),c=e(59);class d extends _.XYGlyphView{initialize(){super.initialize();const{webgl:e}=this.renderer.plot_view.canvas_view;null!=e&&(this.glglyph=new o.LineGL(e.gl,this))}_render(e,i,t){const{sx:s,sy:n}=null!=t?t:this;let l=!1,_=null;this.visuals.line.set_value(e);for(const t of i){const i=s[t],r=n[t];if(l){if(!isFinite(i+r)){e.stroke(),e.beginPath(),l=!1,_=t;continue}null!=_&&t-_>1&&(e.stroke(),l=!1)}l?e.lineTo(i,r):(e.beginPath(),e.moveTo(i,r),l=!0),_=t}l&&e.stroke()}_hit_point(e){const i=new c.Selection,t={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<l;e++){const l={x:this.sx[e],y:this.sy[e]},_={x:this.sx[e+1],y:this.sy[e+1]},r=a.dist_to_segment(t,l,_);r<n&&r<s&&(s=r,i.add_to_selected_glyphs(this.model),i.view=this,i.line_indices=[e])}return i}_hit_span(e){const{sx:i,sy:t}=e,s=new c.Selection;let n,l;\"v\"==e.direction?(n=this.renderer.yscale.invert(t),l=this._y):(n=this.renderer.xscale.invert(i),l=this._x);for(let e=0,i=l.length-1;e<i;e++)(l[e]<=n&&n<=l[e+1]||l[e+1]<=n&&n<=l[e])&&(s.add_to_selected_glyphs(this.model),s.view=this,s.line_indices.push(e));return s}get_interpolation_hit(e,i){const[t,s,n,l]=[this._x[e],this._y[e],this._x[e+1],this._y[e+1]];return r.line_interpolation(this.renderer,i,t,s,n,l)}draw_legend_for_index(e,i,t){r.generic_line_scalar_legend(this.visuals,e,i)}}t.LineView=d,d.__name__=\"LineView\";class u extends _.XYGlyph{constructor(e){super(e)}static init_Line(){this.prototype.default_view=d,this.mixins(h.LineScalar)}}t.Line=u,u.__name__=\"Line\",u.init_Line()},\n", " function _(t,e,i,s,_){s();const n=t(1),a=t(65),p=n.__importStar(t(18)),y=t(98);class c extends y.GlyphView{_project_data(){a.inplace.project_xy(this._x,this._y)}_index_data(t){const{_x:e,_y:i,data_size:s}=this;for(let _=0;_<s;_++){const s=e[_],n=i[_];isNaN(s+n)||!isFinite(s+n)?t.add_empty():t.add(s,n,s,n)}}scenterxy(t){return[this.sx[t],this.sy[t]]}}i.XYGlyphView=c,c.__name__="XYGlyphView";class d extends y.Glyph{constructor(t){super(t)}static init_XYGlyph(){this.define((({})=>({x:[p.XCoordinateSpec,{field:"x"}],y:[p.YCoordinateSpec,{field:"y"}]})))}}i.XYGlyph=d,d.__name__="XYGlyph",d.init_XYGlyph()},n”, “ function _(n,t,e,o,r){o();const c=n(1),l=c.__importDefault(n(66)),i=c.__importDefault(n(67)),u=n(24),a=new i.default("GOOGLE"),s=new i.default("WGS84"),f=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=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 e<n&&n<o},function(n){function t(n,t,o,r){const c=g(n.length,t.length);o=null!=o?o:n,r=null!=r?r:t;for(let l=0;l<c;l++){const c=n[l],i=t[l],[u,a]=e.wgs84_mercator.compute(c,i);o[l]=u,r[l]=a}}n.project_xy=t,n.project_xsys=function(n,e,o,r){const c=g(n.length,e.length);o=null!=o?o:n,r=null!=r?r:e;for(let l=0;l<c;l++)t(n[l],e[l],o[l],r[l])}}(e.inplace||(e.inplace={})),e.project_xy=m,e.project_xsys=function(n,t){const e=g(n.length,t.length),o=new Array(e),r=new Array(e);for(let c=0;c<e;c++){const[e,l]=m(n[c],t[c]);o[c]=e,r[c]=l}return[o,r]}},n”, “ function _(e,n,t,r,o){r();const a=e(1),i=a.__importDefault(e(67)),c=a.__importDefault(e(92));var u=i.default("WGS84");function f(e,n,t){var r,o,a;return Array.isArray(t)?(r=c.default(e,n,t)||{x:NaN,y:NaN},t.length>2?void 0!==e.name&&"geocent"===e.name||void 0!==n.name&&"geocent"===n.name?"number"==typeof r.z?[r.x,r.y,r.z].concat(t.splice(3)):[r.x,r.y,t[2]].concat(t.splice(3)):[r.x,r.y].concat(t.splice(2)):[r.x,r.y]):(o=c.default(e,n,t),2===(a=Object.keys(t)).length||a.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;o[r]=t[r]})),o)}function l(e){return e instanceof i.default?e:e.oProj?e.oProj: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){return f(e,n,t)},inverse:function(t){return f(n,e,t)}},o&&(r.oProj=n),r)}},n”, “ function _(t,e,a,s,i){s();const u=t(1),l=u.__importDefault(t(68)),o=u.__importDefault(t(79)),r=u.__importDefault(t(80)),f=t(88),p=u.__importDefault(t(90)),d=u.__importDefault(t(91)),m=u.__importDefault(t(75));function n(t,e){if(!(this instanceof n))return new n(t);e=e||function(t){if(t)throw t};var a=l.default(t);if("object"==typeof a){var s=n.projections.get(a.projName);if(s){if(a.datumCode&&"none"!==a.datumCode){var i=m.default(p.default,a.datumCode);i&&(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";var u=f.sphere(a.a,a.b,a.rf,a.ellps,a.sphere),r=f.eccentricity(u.a,u.b,u.rf,a.R_A),h=a.datum||d.default(a.datumCode,a.datum_params,u.a,u.b,r.es,r.ep2);o.default(this,a),o.default(this,s),this.a=u.a,this.b=u.b,this.rf=u.rf,this.sphere=u.sphere,this.es=r.es,this.e=r.e,this.ep2=r.ep2,this.datum=h,this.init(),e(null,this)}else e(t)}else e(t)}n.projections=r.default,n.projections.start(),a.default=n},n”, “ function _(t,r,n,u,e){u();const f=t(1),i=f.__importDefault(t(69)),a=f.__importDefault(t(76)),o=f.__importDefault(t(71)),l=f.__importDefault(t(75));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=a.default(t);if(function(t){var r=l.default(t,"authority");if(r){var n=l.default(r,"epsg");return n&&d.indexOf(n)>-1}}(r))return i.default["EPSG:3857"];var n=function(t){var r=l.default(t,"extension");if(r)return l.default(r,"proj4")}(r);return n?o.default(n):r}return function(t){return"+"===t[0]}(t)?o.default(t):void 0}},n”, “ function _(t,r,i,e,n){e();const f=t(1),a=f.__importDefault(t(70)),l=f.__importDefault(t(71)),u=f.__importDefault(t(76));function o(t){var r=this;if(2===arguments.length){var i=arguments[1];"string"==typeof i?"+"===i.charAt(0)?o[t]=l.default(arguments[1]):o[t]=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}}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(72),i=e.__importDefault(t(73)),f=e.__importDefault(t(74)),l=e.__importDefault(t(75));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},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=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=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)}};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 _(P,A,_,D,I){D(),_.PJD_3PARAM=1,_.PJD_7PARAM=2,_.PJD_WGS84=4,_.PJD_NODATUM=5,_.SEC_TO_RAD=484813681109536e-20,_.HALF_PI=Math.PI/2,_.SIXTH=.16666666666666666,_.RA4=.04722222222222222,_.RA6=.022156084656084655,_.EPSLN=1e-10,_.D2R=.017453292519943295,_.R2D=57.29577951308232,_.FORTPI=Math.PI/4,_.TWO_PI=2*Math.PI,_.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;++f<a.length;)if((t=a[f]).toLowerCase().replace(o,"")===n)return e[t]}},n”, “ function _(e,t,a,o,d){o();const r=e(1);const n=r.__importDefault(e(77)),l=e(78);function i(e){return.017453292519943295*e}a.default=function(e){var t=n.default(e),a=t.shift(),o=t.shift();t.unshift(["name",o]),t.unshift(["type",a]);var d={};return l.sExpr(t,d),function(e){if("GEOGCS"===e.type?e.projName="longlat":"LOCAL_CS"===e.type?(e.projName="identity",e.local=!0):"object"==typeof e.PROJECTION?e.projName=Object.keys(e.PROJECTION)[0]:e.projName=e.PROJECTION,e.AXIS){for(var t="",a=0,o=e.AXIS.length;a<o;++a){var d=e.AXIS[a][0].toLowerCase();-1!==d.indexOf("north")?t+="n":-1!==d.indexOf("south")?t+="s":-1!==d.indexOf("east")?t+="e":-1!==d.indexOf("west")&&(t+="w")}2===t.length&&(t+="u"),3===t.length&&(e.axis=t)}e.UNIT&&(e.units=e.UNIT.name.toLowerCase(),"metre"===e.units&&(e.units="meter"),e.UNIT.convert&&("GEOGCS"===e.type?e.DATUM&&e.DATUM.SPHEROID&&(e.to_meter=e.UNIT.convert*e.DATUM.SPHEROID.a):e.to_meter=e.UNIT.convert));var r=e.GEOGCS;function n(t){return t*(e.to_meter||1)}"GEOGCS"===e.type&&(r=e),r&&(r.DATUM?e.datumCode=r.DATUM.name.toLowerCase():e.datumCode=r.name.toLowerCase(),"d_"===e.datumCode.slice(0,2)&&(e.datumCode=e.datumCode.slice(2)),"new_zealand_geodetic_datum_1949"!==e.datumCode&&"new_zealand_1949"!==e.datumCode||(e.datumCode="nzgd49"),"wgs_1984"!==e.datumCode&&"world_geodetic_system_1984"!==e.datumCode||("Mercator_Auxiliary_Sphere"===e.PROJECTION&&(e.sphere=!0),e.datumCode="wgs84"),"_ferro"===e.datumCode.slice(-6)&&(e.datumCode=e.datumCode.slice(0,-6)),"_jakarta"===e.datumCode.slice(-8)&&(e.datumCode=e.datumCode.slice(0,-8)),~e.datumCode.indexOf("belge")&&(e.datumCode="rnb72"),r.DATUM&&r.DATUM.SPHEROID&&(e.ellps=r.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),"international"===e.ellps.toLowerCase().slice(0,13)&&(e.ellps="intl"),e.a=r.DATUM.SPHEROID.a,e.rf=parseFloat(r.DATUM.SPHEROID.rf,10)),r.DATUM&&r.DATUM.TOWGS84&&(e.datum_params=r.DATUM.TOWGS84),~e.datumCode.indexOf("osgb_1936")&&(e.datumCode="osgb36"),~e.datumCode.indexOf("osni_1952")&&(e.datumCode="osni52"),(~e.datumCode.indexOf("tm65")||~e.datumCode.indexOf("geodetic_datum_of_1965"))&&(e.datumCode="ire65"),"ch1903+"===e.datumCode&&(e.datumCode="ch1903"),~e.datumCode.indexOf("israel")&&(e.datumCode="isr93")),e.b&&!isFinite(e.b)&&(e.b=e.a),[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_2","Standard_Parallel_2"],["false_easting","False_Easting"],["false_northing","False_Northing"],["central_meridian","Central_Meridian"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",i],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",i],["x0","false_easting",n],["y0","false_northing",n],["long0","central_meridian",i],["lat0","latitude_of_origin",i],["lat0","standard_parallel_1",i],["lat1","standard_parallel_1",i],["lat2","standard_parallel_2",i],["azimuth","Azimuth"],["alpha","azimuth",i],["srsCode","name"]].forEach((function(t){return a=e,d=(o=t)[0],r=o[1],void(!(d in a)&&r in a&&(a[d]=a[r],3===o.length&&(a[d]=o[2](a[d]))));var a,o,d,r})),e.long0||!e.longc||"Albers_Conic_Equal_Area"!==e.projName&&"Lambert_Azimuthal_Equal_Area"!==e.projName||(e.long0=e.longc),e.lat_ts||!e.lat1||"Stereographic_South_Pole"!==e.projName&&"Polar Stereographic (variant B)"!==e.projName||(e.lat0=i(e.lat1>0?90:-90),e.lat_ts=e.lat1)}(d),d}},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.place<this.text.length;)this.readCharicter();if(-1===this.state)return this.root;throw new Error(‘unable to parse string "’+this.text+’". State is ‘+this.state)}},n”, “ function _(e,a,r,s,c){function n(e,a,r){Array.isArray(a)&&(r.unshift(a),a=null);var s=a?{}:e,c=r.reduce((function(e,a){return E(a,e),e}),s);a&&(e[a]=c)}function E(e,a){if(Array.isArray(e)){var r=e.shift();if("PARAMETER"===r&&(r=e.shift()),1===e.length)return Array.isArray(e[0])?(a[r]={},void E(e[0],a[r])):void(a[r]=e[0]);if(e.length)if("TOWGS84"!==r){if("AXIS"===r)return r in a||(a[r]=[]),void a[r].push(e);var s;switch(Array.isArray(r)||(a[r]={}),r){case"UNIT":case"PRIMEM":case"VERT_DATUM":return a[r]={name:e[0].toLowerCase(),convert:e[1]},void(3===e.length&&E(e[2],a[r]));case"SPHEROID":case"ELLIPSOID":return a[r]={name:e[0],a:e[1],rf:e[2]},void(4===e.length&&E(e[3],a[r]));case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"EDATUM":case"ENGINEERINGDATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":case"COMPD_CS":case"COMPOUNDCRS":case"ENGINEERINGCRS":case"ENGCRS":case"FITTED_CS":case"LOCAL_DATUM":case"DATUM":return e[0]=["name",e[0]],void n(a,r,e);default:for(s=-1;++s<e.length;)if(!Array.isArray(e[s]))return E(e,a[r]);return n(a,r,e)}}else a[r]=e;else a[r]=!0}else a[e]=!0}s(),r.sExpr=E},n”, “ function _(n,r,f,i,t){i(),f.default=function(n,r){var f,i;if(n=n||{},!r)return n;for(i in r)void 0!==(f=r[i])&&(n[i]=f);return n}},n”, “ function _(t,o,a,e,n){e();const r=t(1),f=r.__importDefault(t(81)),u=r.__importDefault(t(87));var i=[f.default,u.default],c={},d=[];function s(t,o){var a=d.length;return t.names?(d[a]=t,t.names.forEach((function(t){c[t.toLowerCase()]=a})),this):(console.log(o),!0)}function l(t){if(!t)return!1;var o=t.toLowerCase();return void 0!==c[o]&&d[c[o]]?d[c[o]]:void 0}function v(){i.forEach(s)}a.add=s,a.get=l,a.start=v,a.default={start:v,add:s,get:l}},n”, “ function _(t,i,s,h,a){h();const e=t(1),r=e.__importDefault(t(82)),n=e.__importDefault(t(83)),l=e.__importDefault(t(85)),u=e.__importDefault(t(86)),o=t(72);function f(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=r.default(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function _(t){var i,s,h=t.x,a=t.y;if(a*o.R2D>90&&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*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=l.default(this.e,a,e);i=this.x0+this.a*this.k0*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=u.default(this.e,e)))return null}return i=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(72),_=e.__importDefault(t(84));u.default=function(t){return Math.abs(t)<=o.SPI?t:t-_.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(72);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(72);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(72),u=f.__importStar(t(89)),c=f.__importDefault(t(75));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=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)<i.EPSLN)&&(n=!0,r=t),{a:t,b:r,rf:e,sphere:n}}},n”, “ function _(e,a,l,s,r){s();var i={};l.default=i,i.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"},i.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},i.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},i.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"},i.airy={a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},i.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},i.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},i.mod_airy={a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},i.andrae={a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},i.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},i.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},i.bessel={a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},i.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},i.clrk66={a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},i.clrk80={a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},i.clrk58={a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},i.CPM={a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},i.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},i.engelis={a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},i.evrst30={a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},i.evrst48={a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},i.evrst56={a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},i.evrst69={a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},i.evrstSS={a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},i.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},i.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"},i.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"},i.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"},i.hough={a:6378270,rf:297,ellipseName:"Hough"},i.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},i.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"},i.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"},i.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"},i.new_intl={a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},i.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},i.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},i.SEasia={a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},i.walbeck={a:6376896,b:6355834.8467,ellipseName:"Walbeck"},i.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"},i.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"},i.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"},l.WGS84=i.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"},i.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}},n”, “ function _(e,a,s,t,l){t();var m={};s.default=m,m.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},m.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},m.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},m.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},m.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},m.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},m.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},m.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"},m.osni52={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},m.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},m.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},m.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},m.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},m.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},m.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},m.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},m.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}},n”, “ function _(a,m,_,t,u){t();const p=a(72);_.default=function(a,m,_,t,u,d){var r={};return r.datum_type=void 0===a||"none"===a?p.PJD_NODATUM:p.PJD_WGS84,m&&(r.datum_params=m.map(parseFloat),0===r.datum_params[0]&&0===r.datum_params[1]&&0===r.datum_params[2]||(r.datum_type=p.PJD_3PARAM),r.datum_params.length>3&&(0===r.datum_params[3]&&0===r.datum_params[4]&&0===r.datum_params[5]&&0===r.datum_params[6]||(r.datum_type=p.PJD_7PARAM,r.datum_params[3]*=p.SEC_TO_RAD,r.datum_params[4]*=p.SEC_TO_RAD,r.datum_params[5]*=p.SEC_TO_RAD,r.datum_params[6]=r.datum_params[6]/1e6+1))),r.a=_,r.b=t,r.es=u,r.ep2=d,r}},n”, “ function _(t,e,a,r,u){r();const m=t(1),_=t(72),o=m.__importDefault(t(93)),d=m.__importDefault(t(95)),f=m.__importDefault(t(67)),n=m.__importDefault(t(96)),i=m.__importDefault(t(97));a.default=function t(e,a,r){var u;if(Array.isArray(r)&&(r=n.default(r)),i.default(r),e.datum&&a.datum&&function(t,e){return(t.datum.datum_type===_.PJD_3PARAM||t.datum.datum_type===_.PJD_7PARAM)&&"WGS84"!==e.datumCode||(e.datum.datum_type===_.PJD_3PARAM||e.datum.datum_type===_.PJD_7PARAM)&&"WGS84"!==t.datumCode}(e,a)&&(r=t(e,u=new f.default("WGS84"),r),e=u),"enu"!==e.axis&&(r=d.default(e,!1,r)),"longlat"===e.projName)r={x:r.x*_.D2R,y:r.y*_.D2R,z:r.z||0};else if(e.to_meter&&(r={x:r.x*e.to_meter,y:r.y*e.to_meter,z:r.z||0}),!(r=e.inverse(r)))return;return e.from_greenwich&&(r.x+=e.from_greenwich),r=o.default(e.datum,a.datum,r),a.from_greenwich&&(r={x:r.x-a.from_greenwich,y:r.y,z:r.z||0}),"longlat"===a.projName?r={x:r.x*_.R2D,y:r.y*_.R2D,z:r.z||0}:(r=a.forward(r),a.to_meter&&(r={x:r.x/a.to_meter,y:r.y/a.to_meter,z:r.z||0})),"enu"!==a.axis?d.default(a,!0,r):r}},n”, “ function _(t,e,a,u,c){u();const m=t(72),o=t(94);function _(t){return t===m.PJD_3PARAM||t===m.PJD_7PARAM}a.default=function(t,e,a){return o.compareDatums(t,e)||t.datum_type===m.PJD_NODATUM||e.datum_type===m.PJD_NODATUM?a:t.es!==e.es||t.a!==e.a||_(t.datum_type)||_(e.datum_type)?(a=o.geodeticToGeocentric(a,t.es,t.a),_(t.datum_type)&&(a=o.geocentricToWgs84(a,t.datum_type,t.datum_params)),_(e.datum_type)&&(a=o.geocentricFromWgs84(a,e.datum_type,e.datum_params)),o.geocentricToGeodetic(a,e.es,e.a,e.b)):a}},n”, “ function _(a,t,r,m,s){m();const u=a(72);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/r<h){if(c=0,_/r<h)return u.HALF_PI,x=-m,{x:a.x,y:a.y,z:a.z}}else c=Math.atan2(I,f);e=F/_,P=(n=s/_)*(1-t)*(d=1/Math.sqrt(1-t*(2-t)*n*n)),y=e*d,A=0;do{A++,i=t*(p=r/Math.sqrt(1-t*y*y))/(p+(x=s*P+F*y-p*(1-t*y*y))),o=(M=e*(d=1/Math.sqrt(1-i*(2-i)*n*n)))*P-(z=n*(1-i)*d)*y,P=z,y=M}while(o*o>1e-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,t,s,i,n){i();const r=e(1),a=r.__importStar(e(18)),o=r.__importStar(e(99)),_=r.__importStar(e(45)),l=e(42),c=e(53),h=e(19),d=e(24),u=e(8),f=e(100),p=e(12),g=e(26),y=e(101),x=e(104),v=e(59),{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)||(e.beginPath(),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;e<r;e++){const i=t[e],n=s.get(e)/2,r=o(i-n),_=o(i+n);a[e]=b(_-r)}else for(let e=0;e<r;e++){const i=t[e],n=o(i),r=o(i+s.get(e));a[e]=b(r-n)}return n&&p.inplace_map(a,(e=>m(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,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&&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_range:n,y_range: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<o.length;e++)o[e]=_.v_synthetic(o[e]);let l;l=s instanceof a.CoordinateSeqSpec?f.RaggedArray.from(o,Float64Array):o,this._configure(_${s.attr},{value:l})}else{const i=s.uniform(e).select(t);if(this._configure(s,{value:i}),s instanceof a.DistanceSpec){const e=i.is_Scalar()?i.value:p.max(i.array);this._configure(max_${s.attr},{value:e})}}this.renderer.plot_view.model.use_map&&this._project_data(),this._set_data(null!=s?s:null),null===(i=this.glglyph)||void 0===i||i.set_data_changed(),this.index_data()}_set_data(e){}get _index_size(){return this.data_size}index_data(){const e=new y.SpatialIndex(this._index_size);this._index_data(e),e.finish(),this._index=e}mask_data(){return null==this._mask_data?d.Indices.all_set(this.data_size):this._mask_data()}map_data(){var e;const t=this,{x_scale:s,y_scale:i}=this.renderer.coordinates;for(const e of this.model)if(e instanceof a.BaseCoordinateSpec){const n="x"==e.dimension?s:i;let r=t[_${e.attr}];if(r instanceof f.RaggedArray){const e=n.v_compute(r.array);r=new f.RaggedArray(r.offsets,e)}else r=n.v_compute(r);this[s${e.attr}]=r}this._map_data(),null===(e=this.glglyph)||void 0===e||e.set_data_changed()}_map_data(){}}s.GlyphView=w,w.__name__="GlyphView";class S extends c.Model{constructor(e){super(e)}}s.Glyph=S,S.__name__="Glyph"},n”, “ function _(t,i,e,h,s){h();const r=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:s}=t;if(!(i<=h&&e<=s))throw new Error(invalid bbox {x0: ${i}, y0: ${e}, x1: ${h}, y1: ${s}});this.x0=i,this.y0=e,this.x1=h,this.y1=s}else if("x"in t){const{x:i,y:e,width:h,height:s}=t;if(!(h>=0&&s>=0))throw new Error(invalid bbox {x: ${i}, y: ${e}, width: ${h}, height: ${s}});this.x0=i,this.y0=e,this.x1=i+h,this.y1=e+s}else{let i,e,h,s;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,s=h+t.height;else if("bottom"in t)s=t.bottom,h=s-t.height;else{const i=t.height/2;h=t.vcenter-i,s=t.vcenter+i}else h=t.top,s=t.bottom;if(!(i<=e&&h<=s))throw new Error(invalid bbox {left: ${i}, top: ${h}, right: ${e}, bottom: ${s}});this.x0=i,this.y0=h,this.x1=e,this.y1=s}}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:s,height:r}=this;return new o({x:t+e,y:i+h,width:s,height:r})}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 t<this.x0?t=this.x0:t>this.x1&&(t=this.x1),i<this.y0?i=this.y0:i>this.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.x1<this.x0||t.x0>this.x1||t.y1<this.y0||t.y0>this.y1)}get xview(){return{compute:t=>this.left+t,v_compute:t=>{const i=new r.ScreenArray(t.length),e=this.left;for(let h=0;h<t.length;h++)i[h]=e+t[h];return i}}}get yview(){return{compute:t=>this.bottom-t,v_compute:t=>{const i=new r.ScreenArray(t.length),e=this.bottom;for(let h=0;h<t.length;h++)i[h]=e-t[h];return i}}}}e.BBox=o,o.__name__="BBox"},n”, “ function _(t,s,r,e,n){e();const a=t(26),o=t(11);class h{constructor(t,s){this.offsets=t,this.array=s}[a.equals](t,s){return s.arrays(this.offsets,t.offsets)&&s.arrays(this.array,t.array)}get length(){return this.offsets.length}clone(){return new h(this.offsets.slice(),this.array.slice())}static from(t,s){const r=t.length;let e=0;const n=(()=>{const s=new Uint32Array(r);for(let n=0;n<r;n++){const r=t[n].length;s[n]=e,e+=r}return e<256?new Uint8Array(s):e<65536?new Uint16Array(s):s})(),a=new s(e);for(let s=0;s<r;s++)a.set(t[s],n[s]);return new h(n,a)}*[Symbol.iterator](){const{offsets:t,length:s}=this;for(let r=0;r<s;r++)yield this.array.subarray(t[r],t[r+1])}_check_bounds(t){o.assert(0<=t&&t<this.length,`Out of bounds: 0 <= ${t} < ${this.length}`)}get(t){this._check_bounds(t);const{offsets:s}=this;return this.array.subarray(s[t],s[t+1])}set(t,s){this._check_bounds(t),this.array.set(s,this.offsets[t])}}r.RaggedArray=h,h.__name__="RaggedArray",h[Symbol.toStringTag]="RaggedArray"},n”, “ function _(n,i,t,e,s){e();const o=n(1).__importDefault(n(102)),d=n(24),x=n(99);function h(n,i){let t=0,e=i.length-1;for(;t<e;){const s=t+e>>1;i[s]>n?e=s:t=s+1}return i[t]}class r extends o.default{search_indices(n,i,t,e){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let s=this._boxes.length-4;const o=[],x=new d.Indices(this.numItems);for(;void 0!==s;){const d=Math.min(s+4*this.nodeSize,h(s,this._levelBounds));for(let h=s;h<d;h+=4){const d=0|this._indices[h>>2];t<this._boxes[h+0]||(e<this._boxes[h+1]||n>this._boxes[h+2]||i>this._boxes[h+3]||(s<4*this.numItems?x.set(d):o.push(d)))}s=o.pop()}return x}}r.__name__="_FlatBush";class l{constructor(n){this.index=null,n>0&&(this.index=new r(n))}add(n,i,t,e){var s;null===(s=this.index)||void 0===s||s.add(n,i,t,e)}add_empty(){var n;null===(n=this.index)||void 0===n||n.add(1/0,1/0,-1/0,-1/0)}finish(){var n;null===(n=this.index)||void 0===n||n.finish()}_normalize(n){let{x0:i,y0:t,x1:e,y1:s}=n;return i>e&&([i,e]=[e,i]),t>s&&([t,s]=[s,t]),{x0:i,y0:t,x1:e,y1:s}}get bbox(){if(null==this.index)return x.empty();{const{minX:n,minY:i,maxX:t,maxY:e}=this.index;return{x0:n,y0:i,x1:t,y1:e}}}indices(n){if(null==this.index)return new d.Indices(0);{const{x0:i,y0:t,x1:e,y1:s}=this._normalize(n);return this.index.search_indices(i,t,e,s)}}bounds(n){const i=x.empty();for(const t of this.indices(n)){const n=this.index._boxes,e=n[4*t+0],s=n[4*t+1],o=n[4*t+2],d=n[4*t+3];o<i.x0&&(i.x0=o),e>i.x1&&(i.x1=e),d<i.y0&&(i.y0=d),s>i.y1&&(i.y1=s)}return i}}t.SpatialIndex=l,l.__name__="SpatialIndex"},n”, “ function _(t,s,i,e,h){e();const n=t(1).__importDefault(t(103)),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,t<this.minX&&(this.minX=t),s<this.minY&&(this.minY=s),i>this.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<this.numItems;e++){let h=4*e;const n=this._boxes[h++],o=this._boxes[h++],r=this._boxes[h++],a=this._boxes[h++],_=Math.floor(65535*((n+r)/2-this.minX)/t),x=Math.floor(65535*((o+a)/2-this.minY)/s);i[e]=m(_,x)}x(i,this._boxes,this._indices,0,this.numItems-1,this.nodeSize);for(let t=0,s=0;t<this._levelBounds.length-1;t++){const i=this._levelBounds[t];for(;s<i;){const t=s;let e=1/0,h=1/0,n=-1/0,o=-1/0;for(let t=0;t<this.nodeSize&&s<i;t++)e=Math.min(e,this._boxes[s++]),h=Math.min(h,this._boxes[s++]),n=Math.max(n,this._boxes[s++]),o=Math.max(o,this._boxes[s++]);this._indices[this._pos>>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;_<a;_+=4){const a=0|this._indices[_>>2];i<this._boxes[_]||(e<this._boxes[_+1]||t>this._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<e;i+=4){const e=0|this._indices[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<s?s-t:t<=i?0:t-i}function _(t,s){let i=0,e=s.length-1;for(;i<e;){const h=i+e>>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);do{a–}while(t[a]>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<i;){let s=1+(h<<1);const i=s+1;let e=this.ids[s],l=this.values[s];const n=this.values[i];if(i<this.length&&n<l&&(s=i,e=this.ids[i],l=n),l>=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 _(t,n,e,i,s){i();const r=t(105),a=t(20),o=t(21),g=t(24),p=t(9),c=t(8),l=t(11);function u(t,n,e=0){const i=new Map;for(let s=0;s<t.length;s++){const r=t[s];if(i.has(r))throw new Error(duplicate factor or subfactor: ${r});i.set(r,{value:.5+s*(1+n)+e})}return[i,(t.length-1)*n]}function h(t,n,e,i=0){var s;const r=new Map,a=new Map;for(const[n,e]of t){const t=null!==(s=a.get(n))&&void 0!==s?s:[];a.set(n,[…t,e])}let o=i,g=0;for(const[t,i]of a){const s=i.length,[a,c]=u(i,e,o);g+=c;const l=p.sum(i.map((t=>a.get(t).value)));r.set(t,{value:l/s,mapping:a}),o+=s+n+c}return[r,(a.size-1)*n+g]}function d(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,c=0;for(const[t,s]of o){const r=s.length,[o,l]=h(s,e,i,g);c+=l;const u=p.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+c]}e.Factor=o.Or(o.String,o.Tuple(o.String,o.String),o.Tuple(o.String,o.String,o.String)),e.FactorSeq=o.Or(o.Array(o.String),o.Array(o.Tuple(o.String,o.String)),o.Array(o.Tuple(o.String,o.String,o.String))),e.map_one_level=u,e.map_two_levels=h,e.map_three_levels=d;class _ extends r.Range{constructor(t){super(t)}static init_FactorRange(){this.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:[a.PaddingUnits,"percent"],start:[t],end:[t]}))),this.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]})))}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:l.unreachable()}}synthetic(t){if(c.isNumber(t))return t;if(c.isString(t))return this._lookup([t]);let n=0;const e=t[t.length-1];return c.isNumber(e)&&(n=e,t=t.slice(0,-1)),this._lookup(t)+n}v_synthetic(t){const n=t.length,e=new g.ScreenArray(n);for(let i=0;i<n;i++)e[i]=this.synthetic(t[i]);return e}_init(t){const{levels:n,mapping:e,tops:i,mids:s,inside_padding:r}=(()=>{if(p.every(this.factors,c.isString)){const t=this.factors,[n,e]=u(t,this.factor_padding);return{levels:1,mapping:n,tops:null,mids:null,inside_padding:e}}if(p.every(this.factors,(t=>c.isArray(t)&&2==t.length&&c.isString(t[0])&&c.isString(t[1])))){const t=this.factors,[n,e]=h(t,this.group_padding,this.factor_padding),i=[…n.keys()];return{levels:2,mapping:n,tops:i,mids:null,inside_padding:e}}if(p.every(this.factors,(t=>c.isArray(t)&&3==t.length&&c.isString(t[0])&&c.isString(t[1])&&c.isString(t[2])))){const t=this.factors,[n,e]=d(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}}l.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=_,_.__name__="FactorRange",_.init_FactorRange()},n”, “ function _(e,t,i,n,s){n();const a=e(53);class l extends a.Model{constructor(e){super(e),this.have_updated_interactively=!1}static init_Range(){this.define((({Number:e,Tuple:t,Or:i,Auto:n,Nullable:s})=>({bounds:[s(i(t(s(e),s(e)),n)),null],min_interval:[s(e),null],max_interval:[s(e),null]}))),this.internal((({Array:e,AnyRef:t})=>({plots:[e(t()),[]]})))}get is_reversed(){return this.start>this.end}get is_valid(){return isFinite(this.min)&&isFinite(this.max)}}i.Range=l,l.__name__="Range",l.init_Range()},n”, “ function _(e,t,i,n,l){n();const o=e(1).__importStar(e(107));function a(e,t,{x0:i,x1:n,y0:l,y1:o},a){t.save(),t.beginPath(),t.moveTo(i,(l+o)/2),t.lineTo(n,(l+o)/2),e.line.doit&&(e.line.set_vectorize(t,a),t.stroke()),t.restore()}function r(e,t,{x0:i,x1:n,y0:l,y1:o},a){var r,c;const s=.1*Math.abs(n-i),_=.1*Math.abs(o-l),v=i+s,d=n-s,h=l+_,g=o-_;t.beginPath(),t.rect(v,h,d-v,g-h),e.fill.doit&&(e.fill.set_vectorize(t,a),t.fill()),(null===(r=e.hatch)||void 0===r?void 0:r.doit)&&(e.hatch.set_vectorize(t,a),t.fill()),(null===(c=e.line)||void 0===c?void 0:c.doit)&&(e.line.set_vectorize(t,a),t.stroke())}i.generic_line_scalar_legend=function(e,t,{x0:i,x1:n,y0:l,y1:o}){t.save(),t.beginPath(),t.moveTo(i,(l+o)/2),t.lineTo(n,(l+o)/2),e.line.doit&&(e.line.set_value(t),t.stroke()),t.restore()},i.generic_line_vector_legend=a,i.generic_line_legend=a,i.generic_area_scalar_legend=function(e,t,{x0:i,x1:n,y0:l,y1:o}){var a,r;const c=.1*Math.abs(n-i),s=.1*Math.abs(o-l),_=i+c,v=n-c,d=l+s,h=o-s;t.beginPath(),t.rect(_,d,v-_,h-d),e.fill.doit&&(e.fill.set_value(t),t.fill()),(null===(a=e.hatch)||void 0===a?void 0:a.doit)&&(e.hatch.set_value(t),t.fill()),(null===(r=e.line)||void 0===r?void 0:r.doit)&&(e.line.set_value(t),t.stroke())},i.generic_area_vector_legend=r,i.generic_area_legend=r,i.line_interpolation=function(e,t,i,n,l,a){const{sx:r,sy:c}=t;let s,_,v,d;"point"==t.type?([v,d]=e.yscale.r_invert(c-1,c+1),[s,_]=e.xscale.r_invert(r-1,r+1)):"v"==t.direction?([v,d]=e.yscale.r_invert(c,c),[s,_]=[Math.min(i-1,l-1),Math.max(i+1,l+1)]):([s,_]=e.xscale.r_invert(r,r),[v,d]=[Math.min(n-1,a-1),Math.max(n+1,a+1)]);const{x:h,y:g}=o.check_2_segments_intersect(s,v,_,d,i,n,l,a);return[h,g]}},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;u<e.length;u++){const c=e[u],_=i[u];o<n!=_<n&&s+(n-o)/(_-o)*(c-s)<t&&(r=!r),s=c,o=_}return r},e.point_in_ellipse=function(t,n,e,i,r,s,o){return((Math.cos(e)/r)**2+(Math.sin(e)/i)**2)*(t-s)**2+2*Math.cos(e)*Math.sin(e)*((1/r)**2-(1/i)**2)*(t-s)*(n-o)+((Math.cos(e)/i)**2+(Math.sin(e)/r)**2)*(n-o)**2<=1},e.dist_2_pts=s,e.dist_to_segment_squared=o,e.dist_to_segment=function(t,n,e){return Math.sqrt(o(t,n,e))},e.check_2_segments_intersect=function(t,n,e,i,r,s,o,u){const c=(u-s)*(e-t)-(o-r)*(i-n);if(0==c)return{hit:!1,x:null,y:null};{let _=n-s,h=t-r;const l=(e-t)*_-(i-n)*h;_=((o-r)*_-(u-s)*h)/c,h=l/c;return{hit:_>0&&_<1&&h>0&&h<1,x:t+_*(e-t),y:n+_*(i-n)}}}},n”, “ function _(t,e,s,i,a){i();const o=t(1),n=t(109),_=t(113),r=o.__importDefault(t(114)),h=o.__importDefault(t(115)),l=t(22),g=t(46);class u{constructor(t){this._atlas=new Map,this._width=256,this._height=256,this.tex=new n.Texture2d(t),this.tex.set_wrapping(t.REPEAT,t.REPEAT),this.tex.set_interpolation(t.NEAREST,t.NEAREST),this.tex.set_size([this._width,this._height],t.RGBA),this.tex.set_data([0,0],[this._width,this._height],new Uint8Array(4*this._width*this._height)),this.get_atlas_data([1])}get_atlas_data(t){const e=t.join("-");let s=this._atlas.get(e);if(null==s){const[i,a]=this.make_pattern(t),o=this._atlas.size;this.tex.set_data([0,o],[this._width,1],new Uint8Array(i.map((t=>t+10)))),s=[o/this._height,a],this._atlas.set(e,s)}return s}make_pattern(t){t.length>1&&t.length%2&&(t=t.concat(t));let e=0;for(const s of t)e+=s;const s=[];let i=0;for(let e=0,a=t.length+2;e<a;e+=2){const a=Math.max(1e-4,t[e%t.length]),o=Math.max(1e-4,t[(e+1)%t.length]);s.push(i,i+a),i+=a+o}const a=this._width,o=new Float32Array(4*a);for(let t=0,i=a;t<i;t++){let i,n,_;const r=e*t/(a-1);let h=0,l=1e16;for(let t=0,e=s.length;t<e;t++){const e=Math.abs(s[t]-r);e<l&&(h=t,l=e)}h%2==0?(_=r<=s[h]?1:0,n=s[h],i=s[h+1]):(_=r>s[h]?-1:0,n=s[h-1],i=s[h]),o[4*t+0]=s[h],o[4*t+1]=_,o[4*t+2]=n,o[4*t+3]=i}return[o,e]}}u.__name__="DashAtlas";const f={miter:0,round:1,bevel:2},c={"":0,none:0,".":0,round:1,")":1,"(":1,o:1,"triangle in":2,"<":2,"triangle out":3,">":3,square:4,"[":4,"]":4,"=":4,butt:5,"|\":5};class d extends _.BaseGLGlyph{constructor(t,e){super(t,e),this.glyph=e,this._scale_aspect=0;const s=r.default,i=h.default;this.prog=new n.Program(t),this.prog.set_shaders(s,i),this.index_buffer=new n.IndexBuffer(t),this.vbo_position=new n.VertexBuffer(t),this.vbo_tangents=new n.VertexBuffer(t),this.vbo_segment=new n.VertexBuffer(t),this.vbo_angles=new n.VertexBuffer(t),this.vbo_texcoord=new n.VertexBuffer(t),this.dash_atlas=new u(t)}draw(t,e,s){const i=e.glglyph;if(i.data_changed&&(i._set_data(),i.data_changed=!1),this.visuals_changed&&(this._set_visuals(),this.visuals_changed=!1),i._update_scale(1,1),this._scale_aspect=1,this.prog.set_attribute(\"a_position\",\"vec2\",i.vbo_position),this.prog.set_attribute(\"a_tangents\",\"vec4\",i.vbo_tangents),this.prog.set_attribute(\"a_segment\",\"vec2\",i.vbo_segment),this.prog.set_attribute(\"a_angles\",\"vec2\",i.vbo_angles),this.prog.set_attribute(\"a_texcoord\",\"vec2\",i.vbo_texcoord),this.prog.set_uniform(\"u_length\",\"float\",[i.cumsum]),this.prog.set_texture(\"u_dash_atlas\",this.dash_atlas.tex),this.prog.set_uniform(\"u_pixel_ratio\",\"float\",[s.pixel_ratio]),this.prog.set_uniform(\"u_canvas_size\",\"vec2\",[s.width,s.height]),this.prog.set_uniform(\"u_scale_aspect\",\"vec2\",[1,1]),this.prog.set_uniform(\"u_scale_length\",\"float\",[Math.sqrt(2)]),this.I_triangles=i.I_triangles,this.I_triangles.length<65535)this.index_buffer.set_size(2*this.I_triangles.length),this.index_buffer.set_data(0,new Uint16Array(this.I_triangles)),this.prog.draw(this.gl.TRIANGLES,this.index_buffer);else{t=Array.from(this.I_triangles);const e=this.I_triangles.length,s=64008,a=[];for(let t=0,i=Math.ceil(e/s);t<i;t++)a.push([]);for(let e=0,i=t.length;e<i;e++){const i=t[e]%s;a[Math.floor(t[e]/s)].push(i)}for(let t=0,e=a.length;t<e;t++){const e=new Uint16Array(a[t]),o=t*s*4;0!==e.length&&(this.prog.set_attribute(\"a_position\",\"vec2\",i.vbo_position,0,2*o),this.prog.set_attribute(\"a_tangents\",\"vec4\",i.vbo_tangents,0,4*o),this.prog.set_attribute(\"a_segment\",\"vec2\",i.vbo_segment,0,2*o),this.prog.set_attribute(\"a_angles\",\"vec2\",i.vbo_angles,0,2*o),this.prog.set_attribute(\"a_texcoord\",\"vec2\",i.vbo_texcoord,0,2*o),this.index_buffer.set_size(2*e.length),this.index_buffer.set_data(0,e),this.prog.draw(this.gl.TRIANGLES,this.index_buffer))}}}_set_data(){this._bake(),this.vbo_position.set_size(4*this.V_position.length),this.vbo_position.set_data(0,this.V_position),this.vbo_tangents.set_size(4*this.V_tangents.length),this.vbo_tangents.set_data(0,this.V_tangents),this.vbo_angles.set_size(4*this.V_angles.length),this.vbo_angles.set_data(0,this.V_angles),this.vbo_texcoord.set_size(4*this.V_texcoord.length),this.vbo_texcoord.set_data(0,this.V_texcoord)}_set_visuals(){const{line_color:t,line_alpha:e,line_width:s,line_cap:i,line_join:a,line_dash:o,line_dash_offset:n}=this.glyph.visuals.line,[_,r,h,u]=l.color2rgba(t.value,e.value),d=s.value,p=c[i.value],v=f[a.value];this.prog.set_uniform(\"u_color\",\"vec4\",[_/255,r/255,h/255,u/255]),this.prog.set_uniform(\"u_linewidth\",\"float\",[d]),this.prog.set_uniform(\"u_antialias\",\"float\",[.9]),this.prog.set_uniform(\"u_linecaps\",\"vec2\",[p,p]),this.prog.set_uniform(\"u_linejoin\",\"float\",[v]),this.prog.set_uniform(\"u_miter_limit\",\"float\",[10]);const b=g.resolve_line_dash(o.value);let m=0,w=1;b.length&&([m,w]=this.dash_atlas.get_atlas_data(b)),this.prog.set_uniform(\"u_dash_index\",\"float\",[m]),this.prog.set_uniform(\"u_dash_phase\",\"float\",[n.value]),this.prog.set_uniform(\"u_dash_period\",\"float\",[w]),this.prog.set_uniform(\"u_dash_caps\",\"vec2\",[p,p]),this.prog.set_uniform(\"u_closed\",\"float\",[0])}_bake(){let t,e,s,i,a,o,n,_;const r=this.nvertices,h=this.glyph.sx,l=this.glyph.sy,g=n=new Float32Array(2*r),u=new Float32Array(2*r),f=_=new Float32Array(4*r);for(let t=0,e=r;t<e;t++)g[2*t+0]=isFinite(h[t])?h[t]:0,g[2*t+1]=isFinite(l[t])?l[t]:0;this.tangents=e=new Float32Array(2*r-2);for(let t=0,s=r-1;t<s;t++)e[2*t+0]=n[2*(t+1)+0]-n[2*t+0],e[2*t+1]=n[2*(t+1)+1]-n[2*t+1];for(let t=0,s=r-1;t<s;t++)f[4*(t+1)+0]=e[2*t+0],f[4*(t+1)+1]=e[2*t+1],f[4*t+2]=e[2*t+0],f[4*t+3]=e[2*t+1];f[0]=e[0],f[1]=e[1],f[4*(r-1)+2]=e[2*(r-2)+0],f[4*(r-1)+3]=e[2*(r-2)+1];const c=new Float32Array(r);for(let t=0,e=r;t<e;t++)c[t]=Math.atan2(_[4*t+0]*_[4*t+3]-_[4*t+1]*_[4*t+2],_[4*t+0]*_[4*t+2]+_[4*t+1]*_[4*t+3]);for(let t=0,e=r-1;t<e;t++)u[2*t+0]=c[t],u[2*t+1]=c[t+1];for(let t=0,e=r;t<e;t++)isFinite(h[t])||(g[2*t+0]=h[t]),isFinite(l[t])||(g[2*t+1]=l[t]);const d=4*r-4;this.V_position=i=new Float32Array(2*d),this.V_angles=s=new Float32Array(2*d),this.V_tangents=a=new Float32Array(4*d),this.V_texcoord=o=new Float32Array(2*d);for(let t=0,e=r;t<e;t++)for(let e=0;e<4;e++){for(let a=0;a<2;a++)i[2*(4*t+e-2)+a]=g[2*t+a],s[2*(4*t+e)+a]=u[2*t+a];for(let s=0;s<4;s++)a[4*(4*t+e-2)+s]=f[4*t+s]}for(let t=0,e=r;t<e;t++)o[2*(4*t+0)+0]=-1,o[2*(4*t+1)+0]=-1,o[2*(4*t+2)+0]=1,o[2*(4*t+3)+0]=1,o[2*(4*t+0)+1]=-1,o[2*(4*t+1)+1]=1,o[2*(4*t+2)+1]=-1,o[2*(4*t+3)+1]=1;const p=6*(r-1);this.I_triangles=t=new Uint32Array(p);for(let e=0,s=r;e<s;e++)t[6*e+0]=0+4*e,t[6*e+1]=1+4*e,t[6*e+2]=3+4*e,t[6*e+3]=2+4*e,t[6*e+4]=0+4*e,t[6*e+5]=3+4*e}_update_scale(t,e){let s;const i=this.nvertices,a=4*i-4,o=this.tangents,n=new Float32Array(i-1),_=new Float32Array(2*i);this.V_segment=s=new Float32Array(2*a);for(let s=0,a=i-1;s<a;s++)n[s]=Math.sqrt((o[2*s+0]*t)**2+(o[2*s+1]*e)**2);let r=0;for(let t=0,e=i-1;t<e;t++)r+=n[t],_[2*(t+1)+0]=r,_[2*t+1]=r;for(let t=0,e=i;t<e;t++)for(let e=0;e<4;e++)for(let i=0;i<2;i++)s[2*(4*t+e)+i]=_[2*t+i];this.cumsum=r,this.vbo_segment.set_size(4*this.V_segment.length),this.vbo_segment.set_data(0,this.V_segment)}}s.LineGL=d,d.__name__=\"LineGL\"},\n", " function _(e,r,f,u,x){u(),x(\"Program\",e(110).Program),x(\"Texture2d\",e(112).Texture2d);var t=e(111);x(\"IndexBuffer\",t.IndexBuffer),x(\"VertexBuffer\",t.VertexBuffer)},\n", " function _(t,e,i,s,a){s();const r=t(111);class n{constructor(t){this.gl=t,this.UTYPEMAP={float:\"uniform1fv\",vec2:\"uniform2fv\",vec3:\"uniform3fv\",vec4:\"uniform4fv\",int:\"uniform1iv\",ivec2:\"uniform2iv\",ivec3:\"uniform3iv\",ivec4:\"uniform4iv\",bool:\"uniform1iv\",bvec2:\"uniform2iv\",bvec3:\"uniform3iv\",bvec4:\"uniform4iv\",mat2:\"uniformMatrix2fv\",mat3:\"uniformMatrix3fv\",mat4:\"uniformMatrix4fv\",sampler1D:\"uniform1i\",sampler2D:\"uniform1i\",sampler3D:\"uniform1i\"},this.ATYPEMAP={float:\"vertexAttrib1f\",vec2:\"vertexAttrib2f\",vec3:\"vertexAttrib3f\",vec4:\"vertexAttrib4f\"},this.ATYPEINFO={float:[1,5126],vec2:[2,5126],vec3:[3,5126],vec4:[4,5126],vec4_uint8:[4,5121]},this._linked=!1,this._validated=!1,this._unset_variables=new Set,this._known_invalid=new Set,this._locations=new Map,this._samplers=new Map,this._attributes=new Map,this.handle=this.gl.createProgram()}delete(){this.gl.deleteProgram(this.handle)}activate(){this.gl.useProgram(this.handle)}deactivate(){this.gl.useProgram(0)}set_shaders(t,e){const i=this.gl;this._linked=!1;const s=i.createShader(i.VERTEX_SHADER),a=i.createShader(i.FRAGMENT_SHADER),r=[[t,s,\"vertex\"],[e,a,\"fragment\"]];for(const[t,e,s]of r){i.shaderSource(e,t),i.compileShader(e);if(!i.getShaderParameter(e,i.COMPILE_STATUS)){const t=i.getShaderInfoLog(e);throw new Error(`errors in ${s} shader:\\n${t}`)}}if(i.attachShader(this.handle,s),i.attachShader(this.handle,a),i.linkProgram(this.handle),!i.getProgramParameter(this.handle,i.LINK_STATUS)){const t=i.getProgramInfoLog(this.handle);throw new Error(`Program link error:\\n${t}`)}this._unset_variables=this._get_active_attributes_and_uniforms(),i.detachShader(this.handle,s),i.detachShader(this.handle,a),i.deleteShader(s),i.deleteShader(a),this._known_invalid.clear(),this._linked=!0}_get_active_attributes_and_uniforms(){const t=this.gl;this._locations.clear();const e=new RegExp(\"(\\\\w+)\\\\s*(\\\\[(\\\\d+)\\\\])\\\\s*\"),i=t.getProgramParameter(this.handle,t.ACTIVE_UNIFORMS),s=[],a=[],r=[[s,t.getProgramParameter(this.handle,t.ACTIVE_ATTRIBUTES),t.getActiveAttrib,t.getAttribLocation],[a,i,t.getActiveUniform,t.getUniformLocation]];for(const[i,s,a,n]of r)for(let r=0;r<s;r+=1){const s=a.call(t,this.handle,r),o=s.name,h=o.match(e);if(null!=h){const t=h[1];for(let e=0;e<s.size;e+=1)i.push([`${t}[${e}]`,s.type])}else i.push([o,s.type]);this._locations.set(o,n.call(t,this.handle,o))}const n=new Set;for(const[t]of s)n.add(t);for(const[t]of a)n.add(t);return n}set_texture(t,e){var i;if(!this._linked)throw new Error(\"Cannot set uniform when program has no code\");const s=null!==(i=this._locations.get(t))&&void 0!==i?i:-1;if(s<0)this._known_invalid.has(t)||(this._known_invalid.add(t),console.log(`\"Variable ${t} is not an active texture`));else{this._unset_variables.has(t)&&this._unset_variables.delete(t),this.activate();{let i=this._samplers.size;this._samplers.has(t)&&(i=this._samplers.get(t)[2]),this._samplers.set(t,[e._target,e.handle,i]),this.gl.uniform1i(s,i)}}}set_uniform(t,e,i){var s;if(!this._linked)throw new Error(\"Cannot set uniform when program has no code\");const a=null!==(s=this._locations.get(t))&&void 0!==s?s:-1;if(a<0)return void(this._known_invalid.has(t)||(this._known_invalid.add(t),console.log(`Variable ${t} is not an active uniform`)));this._unset_variables.has(t)&&this._unset_variables.delete(t);let r=1;if(!e.startsWith(\"mat\")){const t=\"int\"==e||"bool"==e?"float":e.replace(/^ib/,"");r=Math.floor(i.length/this.ATYPEINFO[t][0])}if(r>1)for(let e=0;e<r;e+=1)if(this._unset_variables.has(${t}[${e}])){const i=`${t}[${e}]`;this._unset_variables.has(i)&&this._unset_variables.delete(i)}const n=this.UTYPEMAP[e];this.activate(),e.startsWith("mat")?this.gl[n](a,!1,i):this.gl[n](a,i)}set_attribute(t,e,i,s=0,a=0,n=!1){var o;if(!this._linked)throw new Error("Cannot set attribute when program has no code");const h=null!==(o=this._locations.get(t))&&void 0!==o?o:-1;if(h<0)this._known_invalid.has(t)||(this._known_invalid.add(t),i instanceof r.VertexBuffer&&a>0||console.log(Variable ${t} is not an active attribute));else if(this._unset_variables.has(t)&&this._unset_variables.delete(t),this.activate(),i instanceof r.VertexBuffer){const[r,o]=this.ATYPEINFO[e],l="vertexAttribPointer",_=[r,o,n,s,a];this._attributes.set(t,[i.handle,h,l,_])}else{const s=this.ATYPEMAP[e];this._attributes.set(t,[null,h,s,i])}}_pre_draw(){this.activate();for(const[t,e,i]of this._samplers.values())this.gl.activeTexture(this.gl.TEXTURE0+i),this.gl.bindTexture(t,e);for(const[t,e,i,s]of this._attributes.values())null!=t?(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,t),this.gl.enableVertexAttribArray(e),this.gl[i].apply(this.gl,[e,…s])):(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,null),this.gl.disableVertexAttribArray(e),this.gl[i].apply(this.gl,[e,…s]));this._validated||(this._validated=!0,this._validate())}_validate(){if(this._unset_variables.size&&console.log(Program has unset variables: ${this._unset_variables}),this.gl.validateProgram(this.handle),!this.gl.getProgramParameter(this.handle,this.gl.VALIDATE_STATUS))throw console.log(this.gl.getProgramInfoLog(this.handle)),new Error("Program validation error")}draw(t,e){if(!this._linked)throw new Error("Cannot draw program if code has not been set");if(e instanceof r.IndexBuffer){this._pre_draw(),e.activate();const i=e.buffer_size/2,s=this.gl.UNSIGNED_SHORT;this.gl.drawElements(t,i,s,0),e.deactivate()}else{const[i,s]=e;0!=s&&(this._pre_draw(),this.gl.drawArrays(t,i,s))}}}i.Program=n,n.__name__="Program"},n”, “ function _(t,e,s,i,a){i();class r{constructor(t){this.gl=t,this._usage=35048,this.buffer_size=0,this.handle=this.gl.createBuffer()}delete(){this.gl.deleteBuffer(this.handle)}activate(){this.gl.bindBuffer(this._target,this.handle)}deactivate(){this.gl.bindBuffer(this._target,null)}set_size(t){t!=this.buffer_size&&(this.activate(),this.gl.bufferData(this._target,t,this._usage),this.buffer_size=t)}set_data(t,e){this.activate(),this.gl.bufferSubData(this._target,t,e)}}s.Buffer=r,r.__name__="Buffer";class f extends r{constructor(){super(…arguments),this._target=34962}}s.VertexBuffer=f,f.__name__="VertexBuffer";class h extends r{constructor(){super(…arguments),this._target=34963}}s.IndexBuffer=h,h.__name__="IndexBuffer"},n”, “ function _(t,e,i,a,r){a();const s=t(11);class h{constructor(t){this.gl=t,this._target=3553,this._types={Int8Array:5120,Uint8Array:5121,Int16Array:5122,Uint16Array:5123,Int32Array:5124,Uint32Array:5125,Float32Array:5126},this.handle=this.gl.createTexture()}delete(){this.gl.deleteTexture(this.handle)}activate(){this.gl.bindTexture(this._target,this.handle)}deactivate(){this.gl.bindTexture(this._target,0)}_get_alignment(t){const e=[4,8,2,1];for(const i of e)if(t%i==0)return i;s.unreachable()}set_wrapping(t,e){this.activate(),this.gl.texParameterf(this._target,this.gl.TEXTURE_WRAP_S,t),this.gl.texParameterf(this._target,this.gl.TEXTURE_WRAP_T,e)}set_interpolation(t,e){this.activate(),this.gl.texParameterf(this._target,this.gl.TEXTURE_MIN_FILTER,t),this.gl.texParameterf(this._target,this.gl.TEXTURE_MAG_FILTER,e)}set_size([t,e],i){var a,r,s;t==(null===(a=this._shape_format)||void 0===a?void 0:a.width)&&e==(null===(r=this._shape_format)||void 0===r?void 0:r.height)&&i==(null===(s=this._shape_format)||void 0===s?void 0:s.format)||(this._shape_format={width:t,height:e,format:i},this.activate(),this.gl.texImage2D(this._target,0,i,t,e,0,i,this.gl.UNSIGNED_BYTE,null))}set_data(t,[e,i],a){this.activate();const{format:r}=this._shape_format,[s,h]=t,l=this._types[a.constructor.name];if(null==l)throw new Error(Type ${a.constructor.name} not allowed for texture);const _=this._get_alignment(e);4!=_&&this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,_),this.gl.texSubImage2D(this._target,0,s,h,e,i,r,l,a),4!=_&&this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,4)}}i.Texture2d=h,h.__name__="Texture2d"},n”, “ function _(e,t,s,i,h){i();class a{constructor(e,t){this.gl=e,this.glyph=t,this.nvertices=0,this.size_changed=!1,this.data_changed=!1,this.visuals_changed=!1}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”, “ function _(n,e,t,a,i){a();t.default="\nprecision mediump float;\n\nconst float PI = 3.14159265358979323846264;\nconst float THETA = 15.0 * 3.14159265358979323846264/180.0;\n\nuniform float u_pixel_ratio;\nuniform vec2 u_canvas_size, u_offset;\nuniform vec2 u_scale_aspect;\nuniform float u_scale_length;\n\nuniform vec4 u_color;\nuniform float u_antialias;\nuniform float u_length;\nuniform float u_linewidth;\nuniform float u_dash_index;\nuniform float u_closed;\n\nattribute vec2 a_position;\nattribute vec4 a_tangents;\nattribute vec2 a_segment;\nattribute vec2 a_angles;\nattribute vec2 a_texcoord;\n\nvarying vec4 v_color;\nvarying vec2 v_segment;\nvarying vec2 v_angles;\nvarying vec2 v_texcoord;\nvarying vec2 v_miter;\nvarying float v_length;\nvarying float v_linewidth;\n\nfloat cross(in vec2 v1, in vec2 v2)\n{\n return v1.x*v2.y - v1.y*v2.x;\n}\n\nfloat signed_distance(in vec2 v1, in vec2 v2, in vec2 v3)\n{\n return cross(v2-v1,v1-v3) / length(v2-v1);\n}\n\nvoid rotate( in vec2 v, in float alpha, out vec2 result )\n{\n float c = cos(alpha);\n float s = sin(alpha);\n result = vec2( c*v.x - s*v.y,\n s*v.x + c*v.y );\n}\n\nvoid main()\n{\n bool closed = (u_closed > 0.0);\n\n // Attributes and uniforms to varyings\n v_color = u_color;\n v_linewidth = u_linewidth;\n v_segment = a_segment * u_scale_length;\n v_length = u_length * u_scale_length;\n\n // Scale to map to pixel coordinates. The original algorithm from the paper\n // assumed isotropic scale. We obviously do not have this.\n vec2 abs_scale_aspect = abs(u_scale_aspect);\n vec2 abs_scale = u_scale_length * abs_scale_aspect;\n\n // Correct angles for aspect ratio\n vec2 av;\n av = vec2(1.0, tan(a_angles.x)) / abs_scale_aspect;\n v_angles.x = atan(av.y, av.x);\n av = vec2(1.0, tan(a_angles.y)) / abs_scale_aspect;\n v_angles.y = atan(av.y, av.x);\n\n // Thickness below 1 pixel are represented using a 1 pixel thickness\n // and a modified alpha\n v_color.a = min(v_linewidth, v_color.a);\n v_linewidth = max(v_linewidth, 1.0);\n\n // If color is fully transparent we just will discard the fragment anyway\n if( v_color.a <= 0.0 ) {\n gl_Position = vec4(0.0,0.0,0.0,1.0);\n return;\n }\n\n // This is the actual half width of the line\n float w = ceil(u_antialias+v_linewidth)/2.0;\n\n vec2 position = a_position;\n\n vec2 t1 = normalize(a_tangents.xy * abs_scale_aspect); // note the scaling for aspect ratio here\n vec2 t2 = normalize(a_tangents.zw * abs_scale_aspect);\n float u = a_texcoord.x;\n float v = a_texcoord.y;\n vec2 o1 = vec2( +t1.y, -t1.x);\n vec2 o2 = vec2( +t2.y, -t2.x);\n\n // This is a join\n // —————————————————————-\n if( t1 != t2 ) {\n float angle = atan (t1.x*t2.y-t1.y*t2.x, t1.x*t2.x+t1.y*t2.y); // Angle needs recalculation for some reason\n vec2 t = normalize(t1+t2);\n vec2 o = vec2( + t.y, - t.x);\n\n if ( u_dash_index > 0.0 )\n {\n // Broken angle\n // —————————————————————-\n if( (abs(angle) > THETA) ) {\n position += v * w * o / cos(angle/2.0);\n float s = sign(angle);\n if( angle < 0.0 ) {\n if( u == +1.0 ) {\n u = v_segment.y + v * w * tan(angle/2.0);\n if( v == 1.0 ) {\n position -= 2.0 * w * t1 / sin(angle);\n u -= 2.0 * w / sin(angle);\n }\n } else {\n u = v_segment.x - v * w * tan(angle/2.0);\n if( v == 1.0 ) {\n position += 2.0 * w * t2 / sin(angle);\n u += 2.0*w / sin(angle);\n }\n }\n } else {\n if( u == +1.0 ) {\n u = v_segment.y + v * w * tan(angle/2.0);\n if( v == -1.0 ) {\n position += 2.0 * w * t1 / sin(angle);\n u += 2.0 * w / sin(angle);\n }\n } else {\n u = v_segment.x - v * w * tan(angle/2.0);\n if( v == -1.0 ) {\n position -= 2.0 * w * t2 / sin(angle);\n u -= 2.0*w / sin(angle);\n }\n }\n }\n // Continuous angle\n // ————————————————————\n } else {\n position += v * w * o / cos(angle/2.0);\n if( u == +1.0 ) u = v_segment.y;\n else u = v_segment.x;\n }\n }\n\n // Solid line\n // ——————————————————————–\n else\n {\n position.xy += v * w * o / cos(angle/2.0);\n if( angle < 0.0 ) {\n if( u == +1.0 ) {\n u = v_segment.y + v * w * tan(angle/2.0);\n } else {\n u = v_segment.x - v * w * tan(angle/2.0);\n }\n } else {\n if( u == +1.0 ) {\n u = v_segment.y + v * w * tan(angle/2.0);\n } else {\n u = v_segment.x - v * w * tan(angle/2.0);\n }\n }\n }\n\n // This is a line start or end (t1 == t2)\n // ————————————————————————\n } else {\n position += v * w * o1;\n if( u == -1.0 ) {\n u = v_segment.x - w;\n position -= w * t1;\n } else {\n u = v_segment.y + w;\n position += w * t2;\n }\n }\n\n // Miter distance\n // ————————————————————————\n vec2 t;\n vec2 curr = a_position * abs_scale;\n if( a_texcoord.x < 0.0 ) {\n vec2 next = curr + t2*(v_segment.y-v_segment.x);\n\n rotate( t1, +v_angles.x/2.0, t);\n v_miter.x = signed_distance(curr, curr+t, position);\n\n rotate( t2, +v_angles.y/2.0, t);\n v_miter.y = signed_distance(next, next+t, position);\n } else {\n vec2 prev = curr - t1*(v_segment.y-v_segment.x);\n\n rotate( t1, -v_angles.x/2.0,t);\n v_miter.x = signed_distance(prev, prev+t, position);\n\n rotate( t2, -v_angles.y/2.0,t);\n v_miter.y = signed_distance(curr, curr+t, position);\n }\n\n if (!closed && v_segment.x <= 0.0) {\n v_miter.x = 1e10;\n }\n if (!closed && v_segment.y >= v_length)\n {\n v_miter.y = 1e10;\n }\n\n v_texcoord = vec2( u, v*w );\n\n // Calculate position in device coordinates. Note that we\n // already scaled with abs scale above.\n vec2 normpos = position * sign(u_scale_aspect);\n normpos += 0.5; // make up for Bokeh’s offset\n normpos /= u_canvas_size / u_pixel_ratio; // in 0..1\n gl_Position = vec4(normpos*2.0-1.0, 0.0, 1.0);\n gl_Position.y = -1.0;\n}\n"},n”, “ function _(n,t,e,s,a){s();e.default="\nprecision mediump float;\n\nconst float PI = 3.14159265358979323846264;\nconst float THETA = 15.0 * 3.14159265358979323846264/180.0;\n\nuniform sampler2D u_dash_atlas;\n\nuniform vec2 u_linecaps;\nuniform float u_miter_limit;\nuniform float u_linejoin;\nuniform float u_antialias;\nuniform float u_dash_phase;\nuniform float u_dash_period;\nuniform float u_dash_index;\nuniform vec2 u_dash_caps;\nuniform float u_closed;\n\nvarying vec4 v_color;\nvarying vec2 v_segment;\nvarying vec2 v_angles;\nvarying vec2 v_texcoord;\nvarying vec2 v_miter;\nvarying float v_length;\nvarying float v_linewidth;\n\n// Compute distance to cap —————————————————-\nfloat cap( int type, float dx, float dy, float t, float linewidth )\n{\n float d = 0.0;\n dx = abs(dx);\n dy = abs(dy);\n if (type == 0) discard; // None\n else if (type == 1) d = sqrt(dx*dx+dy*dy); // Round\n else if (type == 3) d = (dx+abs(dy)); // Triangle in\n else if (type == 2) d = max(abs(dy),(t+dx-abs(dy))); // Triangle out\n else if (type == 4) d = max(dx,dy); // Square\n else if (type == 5) d = max(dx+t,dy); // Butt\n return d;\n}\n\n// Compute distance to join ————————————————-\nfloat join( in int type, in float d, in vec2 segment, in vec2 texcoord, in vec2 miter,\n in float linewidth )\n{\n // texcoord.x is distance from start\n // texcoord.y is distance from centerline\n // segment.x and y indicate the limits (as for texcoord.x) for this segment\n\n float dx = texcoord.x;\n\n // Round join\n if( type == 1 ) {\n if (dx < segment.x) {\n d = max(d,length( texcoord - vec2(segment.x,0.0)));\n //d = length( texcoord - vec2(segment.x,0.0));\n } else if (dx > segment.y) {\n d = max(d,length( texcoord - vec2(segment.y,0.0)));\n //d = length( texcoord - vec2(segment.y,0.0));\n }\n }\n // Bevel join\n else if ( type == 2 ) {\n if (dx < segment.x) {\n vec2 x = texcoord - vec2(segment.x,0.0);\n d = max(d, max(abs(x.x), abs(x.y)));\n\n } else if (dx > segment.y) {\n vec2 x = texcoord - vec2(segment.y,0.0);\n d = max(d, max(abs(x.x), abs(x.y)));\n }\n / Original code for bevel which does not work for us\n if( (dx < segment.x) || (dx > segment.y) )\n d = max(d, min(abs(x.x),abs(x.y)));\n /\n }\n\n return d;\n}\n\nvoid main()\n{\n // If color is fully transparent we just discard the fragment\n if( v_color.a <= 0.0 ) {\n discard;\n }\n\n // Test if dash pattern is the solid one (0)\n bool solid = (u_dash_index == 0.0);\n\n // Test if path is closed\n bool closed = (u_closed > 0.0);\n\n vec4 color = v_color;\n float dx = v_texcoord.x;\n float dy = v_texcoord.y;\n float t = v_linewidth/2.0-u_antialias;\n float width = 1.0; //v_linewidth; original code had dashes scale with line width, we do not\n float d = 0.0;\n\n vec2 linecaps = u_linecaps;\n vec2 dash_caps = u_dash_caps;\n float line_start = 0.0;\n float line_stop = v_length;\n\n // Apply miter limit; fragments too far into the miter are simply discarded\n if( (dx < v_segment.x) || (dx > v_segment.y) ) {\n float into_miter = max(v_segment.x - dx, dx - v_segment.y);\n if (into_miter > u_miter_limit*v_linewidth/2.0)\n discard;\n }\n\n // Solid line ————————————————————–\n if( solid ) {\n d = abs(dy);\n if( (!closed) && (dx < line_start) ) {\n d = cap( int(u_linecaps.x), abs(dx), abs(dy), t, v_linewidth );\n }\n else if( (!closed) && (dx > line_stop) ) {\n d = cap( int(u_linecaps.y), abs(dx)-line_stop, abs(dy), t, v_linewidth );\n }\n else {\n d = join( int(u_linejoin), abs(dy), v_segment, v_texcoord, v_miter, v_linewidth );\n }\n\n // Dash line ————————————————————–\n } else {\n float segment_start = v_segment.x;\n float segment_stop = v_segment.y;\n float segment_center= (segment_start+segment_stop)/2.0;\n float freq = u_dash_period*width;\n float u = mod( dx + u_dash_phase*width, freq);\n vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0; // conversion to int-like\n float dash_center= tex.x * width;\n float dash_type = tex.y;\n float _start = tex.z * width;\n float _stop = tex.a * width;\n float dash_start = dx - u + _start;\n float dash_stop = dx - u + _stop;\n\n // Compute extents of the first dash (the one relative to v_segment.x)\n // Note: this could be computed in the vertex shader\n if( (dash_stop < segment_start) && (dash_caps.x != 5.0) ) {\n float u = mod(segment_start + u_dash_phase*width, freq);\n vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0; // conversion to int-like\n dash_center= tex.x * width;\n //dash_type = tex.y;\n float _start = tex.z * width;\n float _stop = tex.a * width;\n dash_start = segment_start - u + _start;\n dash_stop = segment_start - u + _stop;\n }\n\n // Compute extents of the last dash (the one relatives to v_segment.y)\n // Note: This could be computed in the vertex shader\n else if( (dash_start > segment_stop) && (dash_caps.y != 5.0) ) {\n float u = mod(segment_stop + u_dash_phase*width, freq);\n vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0; // conversion to int-like\n dash_center= tex.x * width;\n //dash_type = tex.y;\n float _start = tex.z * width;\n float _stop = tex.a * width;\n dash_start = segment_stop - u + _start;\n dash_stop = segment_stop - u + _stop;\n }\n\n // This test if the we are dealing with a discontinuous angle\n bool discontinuous = ((dx < segment_center) && abs(v_angles.x) > THETA) ||\n ((dx >= segment_center) && abs(v_angles.y) > THETA);\n //if( dx < line_start) discontinuous = false;\n //if( dx > line_stop) discontinuous = false;\n\n float d_join = join( int(u_linejoin), abs(dy),\n v_segment, v_texcoord, v_miter, v_linewidth );\n\n // When path is closed, we do not have room for linecaps, so we make room\n // by shortening the total length\n if (closed) {\n line_start += v_linewidth/2.0;\n line_stop -= v_linewidth/2.0;\n }\n\n // We also need to take antialias area into account\n //line_start += u_antialias;\n //line_stop -= u_antialias;\n\n // Check is dash stop is before line start\n if( dash_stop <= line_start ) {\n discard;\n }\n // Check is dash start is beyond line stop\n if( dash_start >= line_stop ) {\n discard;\n }\n\n // Check if current dash start is beyond segment stop\n if( discontinuous ) {\n // Dash start is beyond segment, we discard\n if( (dash_start > segment_stop) ) {\n discard;\n //gl_FragColor = vec4(1.0,0.0,0.0,.25); return;\n }\n\n // Dash stop is before segment, we discard\n if( (dash_stop < segment_start) ) {\n discard; //gl_FragColor = vec4(0.0,1.0,0.0,.25); return;\n }\n\n // Special case for round caps (nicer with this)\n if( dash_caps.x == 1.0 ) {\n if( (u > _stop) && (dash_stop > segment_stop ) && (abs(v_angles.y) < PI/2.0)) {\n discard;\n }\n }\n\n // Special case for round caps (nicer with this)\n if( dash_caps.y == 1.0 ) {\n if( (u < _start) && (dash_start < segment_start ) && (abs(v_angles.x) < PI/2.0)) {\n discard;\n }\n }\n\n // Special case for triangle caps (in & out) and square\n // We make sure the cap stop at crossing frontier\n if( (dash_caps.x != 1.0) && (dash_caps.x != 5.0) ) {\n if( (dash_start < segment_start ) && (abs(v_angles.x) < PI/2.0) ) {\n float a = v_angles.x/2.0;\n float x = (segment_start-dx)*cos(a) - dy*sin(a);\n float y = (segment_start-dx)*sin(a) + dy*cos(a);\n if( x > 0.0 ) discard;\n // We transform the cap into square to avoid holes\n dash_caps.x = 4.0;\n }\n }\n\n // Special case for triangle caps (in & out) and square\n // We make sure the cap stop at crossing frontier\n if( (dash_caps.y != 1.0) && (dash_caps.y != 5.0) ) {\n if( (dash_stop > segment_stop ) && (abs(v_angles.y) < PI/2.0) ) {\n float a = v_angles.y/2.0;\n float x = (dx-segment_stop)*cos(a) - dy*sin(a);\n float y = (dx-segment_stop)*sin(a) + dy*cos(a);\n if( x > 0.0 ) discard;\n // We transform the caps into square to avoid holes\n dash_caps.y = 4.0;\n }\n }\n }\n\n // Line cap at start\n if( (dx < line_start) && (dash_start < line_start) && (dash_stop > line_start) ) {\n d = cap( int(linecaps.x), dx-line_start, dy, t, v_linewidth);\n }\n // Line cap at stop\n else if( (dx > line_stop) && (dash_stop > line_stop) && (dash_start < line_stop) ) {\n d = cap( int(linecaps.y), dx-line_stop, dy, t, v_linewidth);\n }\n // Dash cap left - dash_type = -1, 0 or 1, but there may be roundoff errors\n else if( dash_type < -0.5 ) {\n d = cap( int(dash_caps.y), abs(u-dash_center), dy, t, v_linewidth);\n if( (dx > line_start) && (dx < line_stop) )\n d = max(d,d_join);\n }\n // Dash cap right\n else if( dash_type > 0.5 ) {\n d = cap( int(dash_caps.x), abs(dash_center-u), dy, t, v_linewidth);\n if( (dx > line_start) && (dx < line_stop) )\n d = max(d,d_join);\n }\n // Dash body (plain)\n else {// if( dash_type > -0.5 && dash_type < 0.5) {\n d = abs(dy);\n }\n\n // Line join\n if( (dx > line_start) && (dx < line_stop)) {\n if( (dx <= segment_start) && (dash_start <= segment_start)\n && (dash_stop >= segment_start) ) {\n d = d_join;\n // Antialias at outer border\n float angle = PI/2.+v_angles.x;\n float f = abs( (segment_start - dx)*cos(angle) - dy*sin(angle));\n d = max(f,d);\n }\n else if( (dx > segment_stop) && (dash_start <= segment_stop)\n && (dash_stop >= segment_stop) ) {\n d = d_join;\n // Antialias at outer border\n float angle = PI/2.+v_angles.y;\n float f = abs((dx - segment_stop)*cos(angle) - dy*sin(angle));\n d = max(f,d);\n }\n else if( dx < (segment_start - v_linewidth/2.)) {\n discard;\n }\n else if( dx > (segment_stop + v_linewidth/2.)) {\n discard;\n }\n }\n else if( dx < (segment_start - v_linewidth/2.)) {\n discard;\n }\n else if( dx > (segment_stop + v_linewidth/2.)) {\n discard;\n }\n }\n\n // Distance to border ——————————————————\n d = d - t;\n if( d < 0.0 ) {\n gl_FragColor = color;\n } else {\n d /= u_antialias;\n gl_FragColor = vec4(color.rgb, exp(-d*d)*color.a);\n }\n}\n"},n”, “ function _(i,t,s,e,l){e();const a=i(1),n=i(64),_=i(106),o=a.__importStar(i(107)),h=a.__importStar(i(48)),c=i(59);class r extends n.XYGlyphView{_inner_loop(i,t,s,e,l){for(const a of t){const t=s[a],n=e[a];0!=a?isNaN(t+n)?(i.closePath(),l.apply(i),i.beginPath()):i.lineTo(t,n):(i.beginPath(),i.moveTo(t,n))}i.closePath(),l.call(i)}_render(i,t,s){const{sx:e,sy:l}=null!=s?s:this;this.visuals.fill.doit&&(this.visuals.fill.set_value(i),this._inner_loop(i,t,e,l,i.fill)),this.visuals.hatch.doit&&(this.visuals.hatch.set_value(i),this._inner_loop(i,t,e,l,i.fill)),this.visuals.line.doit&&(this.visuals.line.set_value(i),this._inner_loop(i,t,e,l,i.stroke))}draw_legend_for_index(i,t,s){_.generic_area_scalar_legend(this.visuals,i,t)}_hit_point(i){const t=new c.Selection;return o.point_in_poly(i.sx,i.sy,this.sx,this.sy)&&(t.add_to_selected_glyphs(this.model),t.view=this),t}}s.PatchView=r,r.__name__="PatchView";class p extends n.XYGlyph{constructor(i){super(i)}static init_Patch(){this.prototype.default_view=r,this.mixins([h.LineScalar,h.FillScalar,h.HatchScalar])}}s.Patch=p,p.__name__="Patch",p.init_Patch()},n”, “ function _(t,e,s,i,n){i();const a=t(1),r=t(24),h=t(118),_=a.__importStar(t(107)),l=a.__importStar(t(18)),o=t(59);class c extends h.AreaView{_index_data(t){const{min:e,max:s}=Math,{data_size:i}=this;for(let n=0;n<i;n++){const i=this._x1[n],a=this._x2[n],r=this._y[n];isNaN(i+a+r)||!isFinite(i+a+r)?t.add_empty():t.add(e(i,a),r,s(i,a),r)}}_inner(t,e,s,i,n){t.beginPath();for(let s=0,n=e.length;s<n;s++)t.lineTo(e[s],i[s]);for(let e=s.length-1;e>=0;e–)t.lineTo(s[e],i[e]);t.closePath(),n.call(t)}_render(t,e,s){const{sx1:i,sx2:n,sy:a}=null!=s?s:this;this.visuals.fill.doit&&(this.visuals.fill.set_value(t),this._inner(t,i,n,a,t.fill)),this.visuals.hatch.doit&&(this.visuals.hatch.set_value(t),this._inner(t,i,n,a,t.fill))}_hit_point(t){const e=this.sy.length,s=new r.ScreenArray(2*e),i=new r.ScreenArray(2*e);for(let t=0,n=e;t<n;t++)s[t]=this.sx1[t],i[t]=this.sy[t],s[e+t]=this.sx2[e-t-1],i[e+t]=this.sy[e-t-1];const n=new o.Selection;return _.point_in_poly(t.sx,t.sy,s,i)&&(n.add_to_selected_glyphs(this.model),n.view=this),n}scenterxy(t){return[(this.sx1[t]+this.sx2[t])/2,this.sy[t]]}_map_data(){this.sx1=this.renderer.xscale.v_compute(this._x1),this.sx2=this.renderer.xscale.v_compute(this._x2),this.sy=this.renderer.yscale.v_compute(this._y)}}s.HAreaView=c,c.__name__="HAreaView";class d extends h.Area{constructor(t){super(t)}static init_HArea(){this.prototype.default_view=c,this.define((({})=>({x1:[l.XCoordinateSpec,{field:"x1"}],x2:[l.XCoordinateSpec,{field:"x2"}],y:[l.YCoordinateSpec,{field:"y"}]})))}}s.HArea=d,d.__name__="HArea",d.init_HArea()},n”, “ function _(e,a,_,i,r){i();const s=e(1),n=e(98),t=e(106),c=s.__importStar(e(48));class l extends n.GlyphView{draw_legend_for_index(e,a,_){t.generic_area_scalar_legend(this.visuals,e,a)}}_.AreaView=l,l.__name__="AreaView";class d extends n.Glyph{constructor(e){super(e)}static init_Area(){this.mixins([c.FillScalar,c.HatchScalar])}}_.Area=d,d.__name__="Area",d.init_Area()},n”, “ function _(t,e,s,i,n){i();const a=t(1),r=t(24),h=t(118),_=a.__importStar(t(107)),l=a.__importStar(t(18)),o=t(59);class c extends h.AreaView{_index_data(t){const{min:e,max:s}=Math,{data_size:i}=this;for(let n=0;n<i;n++){const i=this._x[n],a=this._y1[n],r=this._y2[n];isNaN(i+a+r)||!isFinite(i+a+r)?t.add_empty():t.add(i,e(a,r),i,s(a,r))}}_inner(t,e,s,i,n){t.beginPath();for(let i=0,n=s.length;i<n;i++)t.lineTo(e[i],s[i]);for(let s=i.length-1;s>=0;s–)t.lineTo(e[s],i[s]);t.closePath(),n.call(t)}_render(t,e,s){const{sx:i,sy1:n,sy2:a}=null!=s?s:this;this.visuals.fill.doit&&(this.visuals.fill.set_value(t),this._inner(t,i,n,a,t.fill)),this.visuals.hatch.doit&&(this.visuals.hatch.set_value(t),this._inner(t,i,n,a,t.fill))}scenterxy(t){return[this.sx[t],(this.sy1[t]+this.sy2[t])/2]}_hit_point(t){const e=this.sx.length,s=new r.ScreenArray(2*e),i=new r.ScreenArray(2*e);for(let t=0,n=e;t<n;t++)s[t]=this.sx[t],i[t]=this.sy1[t],s[e+t]=this.sx[e-t-1],i[e+t]=this.sy2[e-t-1];const n=new o.Selection;return _.point_in_poly(t.sx,t.sy,s,i)&&(n.add_to_selected_glyphs(this.model),n.view=this),n}_map_data(){this.sx=this.renderer.xscale.v_compute(this._x),this.sy1=this.renderer.yscale.v_compute(this._y1),this.sy2=this.renderer.yscale.v_compute(this._y2)}}s.VAreaView=c,c.__name__="VAreaView";class d extends h.Area{constructor(t){super(t)}static init_VArea(){this.prototype.default_view=c,this.define((({})=>({x:[l.XCoordinateSpec,{field:"x"}],y1:[l.YCoordinateSpec,{field:"y1"}],y2:[l.YCoordinateSpec,{field:"y2"}]})))}}s.VArea=d,d.__name__="VArea",d.init_VArea()},n”, “ function _(i,e,s,t,n){t();const c=i(53),o=i(59),r=i(24),a=i(121),u=i(57);class _ extends c.Model{constructor(i){super(i)}static init_CDSView(){this.define((({Array:i,Ref:e})=>({filters:[i(e(a.Filter)),[]],source:[e(u.ColumnarDataSource)]}))),this.internal((({Int:i,Dict:e,Ref:s,Nullable:t})=>({indices:[s(r.Indices)],indices_map:[e(i),{}],masked:[t(s(r.Indices)),null]})))}initialize(){super.initialize(),this.compute_indices()}connect_signals(){super.connect_signals(),this.connect(this.properties.filters.change,(()=>this.compute_indices()));const i=()=>{const i=()=>this.compute_indices();null!=this.source&&(this.connect(this.source.change,i),this.source instanceof u.ColumnarDataSource&&(this.connect(this.source.streaming,i),this.connect(this.source.patching,i)))};let e=null!=this.source;e?i():this.connect(this.properties.source.change,(()=>{e||(i(),e=!0)}))}compute_indices(){var i;const{source:e}=this;if(null==e)return;const s=null!==(i=e.get_length())&&void 0!==i?i:1,t=r.Indices.all_set(s);for(const i of this.filters)t.intersect(i.compute_indices(e));this.indices=t,this._indices=[…t],this.indices_map_to_subset()}indices_map_to_subset(){this.indices_map={};for(let i=0;i<this._indices.length;i++)this.indices_map[this._indices[i]]=i}convert_selection_from_subset(i){const e=i.indices.map((i=>this._indices[i]));return new o.Selection(Object.assign(Object.assign({},i.attributes),{indices:e}))}convert_selection_to_subset(i){const e=i.indices.map((i=>this.indices_map[i]));return new o.Selection(Object.assign(Object.assign({},i.attributes),{indices:e}))}convert_indices_from_subset(i){return i.map((i=>this._indices[i]))}}s.CDSView=_,_.__name__="CDSView",_.init_CDSView()},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 _(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=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,r,n,t,i){t();const s=e(62),o=e(61),l=e(124),d=e(125),a=e(126),p=e(122),_=e(64),h=e(127),c=e(128),u=e(11);class y extends s.DataRendererView{get glyph_view(){return this.node_view.glyph}async lazy_initialize(){await super.lazy_initialize();const e=this.model;let r=null,n=null;const t=new class extends l.Expression{_v_compute(n){u.assert(null==r);const[t]=r=e.layout_provider.get_edge_coordinates(n);return t}},i=new class extends l.Expression{_v_compute(e){u.assert(null!=r);const[,n]=r;return r=null,n}},s=new class extends l.Expression{_v_compute(r){u.assert(null==n);const[t]=n=e.layout_provider.get_node_coordinates(r);return t}},o=new class extends l.Expression{_v_compute(e){u.assert(null!=n);const[,r]=n;return n=null,r}},{edge_renderer:d,node_renderer:a}=this.model;if(!(d.glyph instanceof h.MultiLine||d.glyph instanceof c.Patches))throw new Error(`${this}.edge_renderer.glyph must be a MultiLine glyph`);if(!(a.glyph instanceof _.XYGlyph))throw new Error(`${this}.node_renderer.glyph must be a XYGlyph glyph`);d.glyph.properties.xs.internal=!0,d.glyph.properties.ys.internal=!0,a.glyph.properties.x.internal=!0,a.glyph.properties.y.internal=!0,d.glyph.xs={expr:t},d.glyph.ys={expr:i},a.glyph.x={expr:s},a.glyph.y={expr:o};const{parent:y}=this;this.edge_view=await p.build_view(d,{parent:y}),this.node_view=await p.build_view(a,{parent:y})}connect_signals(){super.connect_signals(),this.connect(this.model.layout_provider.change,(()=>{this.edge_view.set_data(),this.node_view.set_data(),this.request_render()}))}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 o.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)}}n.GraphRendererView=y,y.__name__="GraphRendererView";class g extends s.DataRenderer{constructor(e){super(e)}static init_GraphRenderer(){this.prototype.default_view=y,this.define((({Ref:e})=>({layout_provider:[e(d.LayoutProvider)],node_renderer:[e(o.GlyphRenderer)],edge_renderer:[e(o.GlyphRenderer)],selection_policy:[e(a.GraphHitTestPolicy),()=>new a.NodesOnly],inspection_policy:[e(a.GraphHitTestPolicy),()=>new a.NodesOnly]})))}get_selection_manager(){return this.node_renderer.data_source.selection_manager}}n.GraphRenderer=g,g.__name__="GraphRenderer",g.init_GraphRenderer()},n”, “ function _(e,t,s,n,i){n();const c=e(53);class l extends c.Model{constructor(e){super(e)}initialize(){super.initialize(),this._connected=new Set,this._result=new Map}v_compute(e){this._connected.has(e)||(this.connect(e.change,(()=>this._result.delete(e))),this.connect(e.patching,(()=>this._result.delete(e))),this.connect(e.streaming,(()=>this._result.delete(e))),this._connected.add(e));let t=this._result.get(e);return null==t&&(t=this._v_compute(e),this._result.set(e,t)),t}}s.Expression=l,l.__name__="Expression";class h extends c.Model{constructor(e){super(e)}initialize(){super.initialize(),this._connected=new Set,this._result=new Map}compute(e){this._connected.has(e)||(this.connect(e.change,(()=>this._result.delete(e))),this.connect(e.patching,(()=>this._result.delete(e))),this.connect(e.streaming,(()=>this._result.delete(e))),this._connected.add(e));let t=this._result.get(e);return null==t&&(t=this._compute(e),this._result.set(e,t)),t}}s.ScalarExpression=h,h.__name__="ScalarExpression"},n”, “ function _(o,e,r,t,n){t();const s=o(53);class c extends s.Model{constructor(o){super(o)}}r.LayoutProvider=c,c.__name__="LayoutProvider"},n”, “ function _(e,t,d,n,s){n();const o=e(53),r=e(12),_=e(9),i=e(59);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<t.data.start.length;e++)(_.contains(n,t.data.start[e])||_.contains(n,t.data.end[e]))&&s.push(e);const o=new i.Selection;for(const e of s)o.multiline_indices[e]=[0];return o.indices=s,o}do_selection(e,t,d,n){if(null==e)return!1;const s=t.node_renderer.data_source.selected;s.update(e,d,n);const o=t.edge_renderer.data_source.selected,r=this.get_linked_edges(t.node_renderer.data_source,t.edge_renderer.data_source,"selection");return o.update(r,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 o=d.node_view.model.data_source.selection_manager.get_or_create_inspector(d.node_view.model);o.update(e,n,s),d.node_view.model.data_source.setv({inspected:o},{silent:!0});const r=d.edge_view.model.data_source.selection_manager.get_or_create_inspector(d.edge_view.model),_=this.get_linked_edges(d.node_view.model.data_source,d.edge_view.model.data_source,"inspection");return r.update(_,n,s),d.edge_view.model.data_source.setv({inspected:r},{silent:!0}),d.node_view.model.data_source.inspect.emit([d.node_view.model,{geometry:t}]),!o.is_empty()}}d.NodesAndLinkedEdges=u,u.__name__="NodesAndLinkedEdges";class m extends c{constructor(e){super(e)}hit_test(e,t){return this._hit_test(e,t,t.edge_view)}get_linked_nodes(e,t,d){let n=[];"selection"==d?n=t.selected.indices:"inspection"==d&&(n=t.inspected.indices);const s=[];for(const e of n)s.push(t.data.start[e]),s.push(t.data.end[e]);const o=_.uniq(s).map((t=>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 _(t,e,i,s,n){s();const o=t(1),r=t(65),l=t(48),_=o.__importStar(t(107)),c=o.__importStar(t(18)),h=t(12),a=t(13),d=t(98),x=t(106),y=t(59);class g extends d.GlyphView{_project_data(){r.inplace.project_xy(this._xs.array,this._ys.array)}_index_data(t){const{data_size:e}=this;for(let i=0;i<e;i++){const e=this._xs.get(i);if(0==e.length){t.add_empty();continue}const s=this._ys.get(i);if(0==s.length){t.add_empty();continue}const[n,o]=h.minmax(e),[r,l]=h.minmax(s);t.add(n,r,o,l)}}_render(t,e,i){const{sxs:s,sys:n}=null!=i?i:this;for(const i of e){const e=s.get(i),o=n.get(i);this.visuals.line.set_vectorize(t,i);for(let i=0,s=e.length;i<s;i++){const s=e[i],n=o[i];0!=i?isNaN(s+n)?(t.stroke(),t.beginPath()):t.lineTo(s,n):(t.beginPath(),t.moveTo(s,n))}t.stroke()}}_hit_point(t){const e={x:t.sx,y:t.sy};let i=9999;const s=new Map;for(let t=0,n=this.sxs.length;t<n;t++){const n=Math.max(2,this.line_width.get(t)/2),o=this.sxs.get(t),r=this.sys.get(t);let l=null;for(let t=0,s=o.length-1;t<s;t++){const s={x:o[t],y:r[t]},c={x:o[t+1],y:r[t+1]},h=_.dist_to_segment(e,s,c);h<n&&h<i&&(i=h,l=[t])}null!=l&&s.set(t,l)}return new y.Selection({indices:[…s.keys()],multiline_indices:a.to_object(s)})}_hit_span(t){const{sx:e,sy:i}=t;let s,n;"v"==t.direction?(s=this.renderer.yscale.invert(i),n=this._ys):(s=this.renderer.xscale.invert(e),n=this._xs);const o=new Map;for(let t=0,e=n.length;t<e;t++){const e=n.get(t),i=[];for(let t=0,n=e.length-1;t<n;t++)e[t]<=s&&s<=e[t+1]&&i.push(t);i.length>0&&o.set(t,i)}return new y.Selection({indices:[…o.keys()],multiline_indices:a.to_object(o)})}get_interpolation_hit(t,e,i){const s=this._xs.get(t),n=this._ys.get(t),o=s[e],r=n[e],l=s[e+1],_=n[e+1];return x.line_interpolation(this.renderer,i,o,r,l,_)}draw_legend_for_index(t,e,i){x.generic_line_vector_legend(this.visuals,t,e,i)}scenterxy(){throw new Error(`${this}.scenterxy() is not implemented`)}}i.MultiLineView=g,g.__name__="MultiLineView";class u extends d.Glyph{constructor(t){super(t)}static init_MultiLine(){this.prototype.default_view=g,this.define((({})=>({xs:[c.XCoordinateSeqSpec,{field:"xs"}],ys:[c.YCoordinateSeqSpec,{field:"ys"}]}))),this.mixins(l.LineVector)}}i.MultiLine=u,u.__name__="MultiLine",u.init_MultiLine()},n”, “ function _(e,t,s,i,n){i();const r=e(1),o=e(98),a=e(106),_=e(12),c=e(48),l=r.__importStar(e(107)),h=r.__importStar(e(18)),d=e(59),y=e(11),p=e(65);class x extends o.GlyphView{_project_data(){p.inplace.project_xy(this._xs.array,this._ys.array)}_index_data(e){const{data_size:t}=this;for(let s=0;s<t;s++){const t=this._xs.get(s),i=this._ys.get(s);if(0==t.length)e.add_empty();else{const[s,n]=_.minmax(t),[r,o]=_.minmax(i);e.add(s,r,n,o)}}}_mask_data(){const{x_range:e,y_range:t}=this.renderer.plot_view.frame;return this.index.indices({x0:e.min,x1:e.max,y0:t.min,y1:t.max})}_inner_loop(e,t,s,i){for(let n=0,r=t.length;n<r;n++)0!=n?isNaN(t[n]+s[n])?(e.closePath(),i.apply(e),e.beginPath()):e.lineTo(t[n],s[n]):(e.beginPath(),e.moveTo(t[n],s[n]));e.closePath(),i.call(e)}_render(e,t,s){const{sxs:i,sys:n}=null!=s?s:this;for(const s of t){const t=i.get(s),r=n.get(s);this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(e,s),this._inner_loop(e,t,r,e.fill)),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(e,s),this._inner_loop(e,t,r,e.fill)),this.visuals.line.doit&&(this.visuals.line.set_vectorize(e,s),this._inner_loop(e,t,r,e.stroke))}}_hit_rect(e){const{sx0:t,sx1:s,sy0:i,sy1:n}=e,r=[t,s,s,t],o=[i,i,n,n],[a,_]=this.renderer.xscale.r_invert(t,s),[c,h]=this.renderer.yscale.r_invert(i,n),y=this.index.indices({x0:a,x1:_,y0:c,y1:h}),p=[];for(const e of y){const t=this.sxs.get(e),s=this.sys.get(e);let i=!0;for(let e=0,n=t.length;e<n;e++){const n=t[e],a=s[e];if(!l.point_in_poly(n,a,r,o)){i=!1;break}}i&&p.push(e)}return new d.Selection({indices:p})}_hit_point(e){const{sx:t,sy:s}=e,i=this.renderer.xscale.invert(t),n=this.renderer.yscale.invert(s),r=this.index.indices({x0:i,y0:n,x1:i,y1:n}),o=[];for(const e of r){const i=this.sxs.get(e),n=this.sys.get(e),r=i.length;for(let a=0,_=0;;_++){if(isNaN(i[_])||_==r){const r=i.subarray(a,_),c=n.subarray(a,_);if(l.point_in_poly(t,s,r,c)){o.push(e);break}a=_+1}if(_==r)break}}return new d.Selection({indices:o})}_get_snap_coord(e){return _.sum(e)/e.length}scenterxy(e,t,s){const i=this.sxs.get(e),n=this.sys.get(e),r=i.length;let o=!1;for(let e=0,a=0;;a++){const _=isNaN(i[a]);if(o=o||_,a==r&&!o){return[this._get_snap_coord(i),this._get_snap_coord(n)]}if(_||a==r){const r=i.subarray(e,a),o=n.subarray(e,a);if(l.point_in_poly(t,s,r,o)){return[this._get_snap_coord(r),this._get_snap_coord(o)]}e=a+1}if(a==r)break}y.unreachable()}draw_legend_for_index(e,t,s){a.generic_area_vector_legend(this.visuals,e,t,s)}}s.PatchesView=x,x.__name__="PatchesView";class f extends o.Glyph{constructor(e){super(e)}static init_Patches(){this.prototype.default_view=x,this.define((({})=>({xs:[h.XCoordinateSeqSpec,{field:"xs"}],ys:[h.YCoordinateSeqSpec,{field:"ys"}]}))),this.mixins([c.LineVector,c.FillVector,c.HatchVector])}}s.Patches=f,f.__name__="Patches",f.init_Patches()},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),i=t(57),l=t(8),c=t(13),a=r.__importStar(t(131)),u=t(132),h=t(35);function d(t,n,e){if(l.isArray(t)){const s=t.concat(n);return null!=e&&s.length>e?s.slice(-e):s}if(l.isTypedArray(t)){const s=t.length+n.length;if(null!=e&&s>e){const o=s-e,r=t.length;let i;t.length<e?(i=new t.constructor(e),i.set(t,0)):i=t;for(let t=o,n=r;t<n;t++)i[t-o]=i[t];for(let t=0,e=n.length;t<e;t++)i[t+(r-o)]=n[t];return i}{const e=new t.constructor(n);return a.concat(t,e)}}throw new Error("unsupported array types")}function f(t,n){let e,s,o;return l.isNumber(t)?(e=t,o=t+1,s=1):(e=null!=t.start?t.start:0,o=null!=t.stop?t.stop:n,s=null!=t.step?t.step:1),[e,o,s]}function m(t,n){const e=new Set;let s=!1;for(const[o,r]of n){let n,i,c,a;if(l.isArray(o)){const[s]=o;e.add(s),n=t[s].shape,i=t[s],a=r,2===o.length?(n=[1,n[0]],c=[o[0],0,o[1]]):c=o}else l.isNumber(o)?(a=[r],e.add(o)):(a=r,s=!0),c=[0,0,o],n=[1,t.length],i=t;let u=0;const[h,d,m]=f(c[1],n[0]),[_,p,g]=f(c[2],n[1]);for(let t=h;t<d;t+=m)for(let o=_;o<p;o+=g)s&&e.add(o),i[t*n[1]+o]=a[u],u++}return e}e.stream_to_column=d,e.slice=f,e.patch_to_column=m;class _ extends i.ColumnarDataSource{constructor(t){super(t)}static init_ColumnDataSource(){this.define((({Dict:t,Any:n})=>({data:[t(n),{}]})))}stream(t,n,e){const{data:s}=this;for(const[e,o]of c.entries(t))s[e]=d(s[e],o,n);if(this.setv({data:s},{silent:!0}),this.streaming.emit(),null!=this.document){const s=new h.ColumnsStreamedEvent(this.document,this.ref(),t,n);this.document._notify_change(this,"data",null,null,{setter_id:e,hint:s})}}patch(t,n){const{data:e}=this;let s=new Set;for(const[n,o]of c.entries(t))s=u.union(s,m(e[n],o));if(this.setv({data:e},{silent:!0}),this.patching.emit([…s]),null!=this.document){const e=new h.ColumnsPatchedEvent(this.document,this.ref(),t);this.document._notify_change(this,"data",null,null,{setter_id:n,hint:e})}}}e.ColumnDataSource=_,_.__name__="ColumnDataSource",_.init_ColumnDataSource()},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 _(e,i,t,s,o){s();const n=e(1),a=e(53),l=e(42),r=n.__importStar(e(45)),_=e(48),c=n.__importStar(e(18));class d extends l.View{initialize(){super.initialize(),this.visuals=new r.Visuals(this)}request_render(){this.parent.request_render()}get canvas(){return this.parent.canvas}set_data(e){const i=this;for(const t of this.model){if(!(t instanceof c.VectorSpec||t instanceof c.ScalarSpec))continue;const s=t.uniform(e);i[`${t.attr}`]=s}}}t.ArrowHeadView=d,d.__name__="ArrowHeadView";class h extends a.Model{constructor(e){super(e)}static init_ArrowHead(){this.define((()=>({size:[c.NumberSpec,25]})))}}t.ArrowHead=h,h.__name__="ArrowHead",h.init_ArrowHead();class v extends d{clip(e,i){this.visuals.line.set_vectorize(e,i);const t=this.size.get(i);e.moveTo(.5*t,t),e.lineTo(.5*t,-2),e.lineTo(-.5*t,-2),e.lineTo(-.5*t,t),e.lineTo(0,0),e.lineTo(.5*t,t)}render(e,i){if(this.visuals.line.doit){this.visuals.line.set_vectorize(e,i);const t=this.size.get(i);e.beginPath(),e.moveTo(.5*t,t),e.lineTo(0,0),e.lineTo(-.5*t,t),e.stroke()}}}t.OpenHeadView=v,v.__name__="OpenHeadView";class u extends h{constructor(e){super(e)}static init_OpenHead(){this.prototype.default_view=v,this.mixins(_.LineVector)}}t.OpenHead=u,u.__name__="OpenHead",u.init_OpenHead();class m extends d{clip(e,i){this.visuals.line.set_vectorize(e,i);const t=this.size.get(i);e.moveTo(.5*t,t),e.lineTo(.5*t,-2),e.lineTo(-.5*t,-2),e.lineTo(-.5*t,t),e.lineTo(.5*t,t)}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 t=this.size.get(i);e.beginPath(),e.moveTo(.5*t,t),e.lineTo(0,0),e.lineTo(-.5*t,t),e.closePath()}}t.NormalHeadView=m,m.__name__="NormalHeadView";class T extends h{constructor(e){super(e)}static init_NormalHead(){this.prototype.default_view=m,this.mixins([_.LineVector,_.FillVector]),this.override({fill_color:"black"})}}t.NormalHead=T,T.__name__="NormalHead",T.init_NormalHead();class p extends d{clip(e,i){this.visuals.line.set_vectorize(e,i);const t=this.size.get(i);e.moveTo(.5*t,t),e.lineTo(.5*t,-2),e.lineTo(-.5*t,-2),e.lineTo(-.5*t,t),e.lineTo(0,.5*t),e.lineTo(.5*t,t)}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 t=this.size.get(i);e.beginPath(),e.moveTo(.5*t,t),e.lineTo(0,0),e.lineTo(-.5*t,t),e.lineTo(0,.5*t),e.closePath()}}t.VeeHeadView=p,p.__name__="VeeHeadView";class H extends h{constructor(e){super(e)}static init_VeeHead(){this.prototype.default_view=p,this.mixins([_.LineVector,_.FillVector]),this.override({fill_color:"black"})}}t.VeeHead=H,H.__name__="VeeHead",H.init_VeeHead();class V extends d{render(e,i){if(this.visuals.line.doit){this.visuals.line.set_vectorize(e,i);const t=this.size.get(i);e.beginPath(),e.moveTo(.5*t,0),e.lineTo(-.5*t,0),e.stroke()}}clip(e,i){}}t.TeeHeadView=V,V.__name__="TeeHeadView";class f extends h{constructor(e){super(e)}static init_TeeHead(){this.prototype.default_view=V,this.mixins(_.LineVector)}}t.TeeHead=f,f.__name__="TeeHead",f.init_TeeHead()},n”, “ function _(s,e,i,t,l){t();const _=s(1),o=s(135),r=_.__importStar(s(48));class h extends o.UpperLowerView{paint(s){s.beginPath(),s.moveTo(this._lower_sx[0],this._lower_sy[0]);for(let e=0,i=this._lower_sx.length;e<i;e++)s.lineTo(this._lower_sx[e],this._lower_sy[e]);for(let e=this._upper_sx.length-1;e>=0;e–)s.lineTo(this._upper_sx[e],this._upper_sy[e]);s.closePath(),this.visuals.fill.doit&&(this.visuals.fill.set_value(s),s.fill()),s.beginPath(),s.moveTo(this._lower_sx[0],this._lower_sy[0]);for(let e=0,i=this._lower_sx.length;e<i;e++)s.lineTo(this._lower_sx[e],this._lower_sy[e]);this.visuals.line.doit&&(this.visuals.line.set_value(s),s.stroke()),s.beginPath(),s.moveTo(this._upper_sx[0],this._upper_sy[0]);for(let e=0,i=this._upper_sx.length;e<i;e++)s.lineTo(this._upper_sx[e],this._upper_sy[e]);this.visuals.line.doit&&(this.visuals.line.set_value(s),s.stroke())}}i.BandView=h,h.__name__="BandView";class n extends o.UpperLower{constructor(s){super(s)}static init_Band(){this.prototype.default_view=h,this.mixins([r.Line,r.Fill]),this.override({fill_color:"#fff9ba",fill_alpha:.4,line_color:"#cccccc",line_alpha:.3})}}i.Band=n,n.__name__="Band",n.init_Band()},n”, “ function _(e,t,i,s,o){s();const r=e(1),p=e(56),n=e(20),_=r.__importStar(e(18));class a 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,p="height"==t?e.bbox.yview:e.bbox.xview,n="height"==t?e.bbox.xview:e.bbox.yview;let _,a,h;_="data"==this.model.properties.lower.units?o.v_compute(this._lower):p.v_compute(this._lower),a="data"==this.model.properties.upper.units?o.v_compute(this._upper):p.v_compute(this._upper),h="data"==this.model.properties.base.units?r.v_compute(this._base):n.v_compute(this._base);const[d,c]="height"==t?[1,0]:[0,1],u=[_,h],l=[a,h];this._lower_sx=u[d],this._lower_sy=u[c],this._upper_sx=l[d],this._upper_sy=l[c]}}i.UpperLowerView=a,a.__name__="UpperLowerView";class h 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=h,h.__name__="XOrYCoordinateSpec";class d extends p.DataAnnotation{constructor(e){super(e)}static init_UpperLower(){this.define((()=>({dimension:[n.Dimension,"height"],lower:[h,{field:"lower"}],upper:[h,{field:"upper"}],base:[h,{field:"base"}]})))}}i.UpperLower=d,d.__name__="UpperLower",d.init_UpperLower()},n”, “ function _(t,i,o,n,e){n();const s=t(1),l=t(40),a=s.__importStar(t(48)),r=t(20),h=t(99);o.EDGE_TOLERANCE=2.5;class u extends l.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:i,top:o,bottom:n}=this.model;if(null==t&&null==i&&null==o&&null==n)return;const{frame:e}=this.plot_view,s=this.coordinates.x_scale,l=this.coordinates.y_scale,a=(t,i,o,n,e)=>{let s;return s=null!=t?this.model.screen?t:"data"==i?o.compute(t):n.compute(t):e,s};this.bbox=new h.BBox({left:a(t,this.model.left_units,s,e.bbox.xview,e.bbox.left),right:a(i,this.model.right_units,s,e.bbox.xview,e.bbox.right),top:a(o,this.model.top_units,l,e.bbox.yview,e.bbox.top),bottom:a(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:i,top:o,width:n,height:e}=this.bbox;t.beginPath(),t.rect(i,o,n,e),this.visuals.fill.doit&&(this.visuals.fill.set_value(t),t.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_value(t),t.fill()),this.visuals.line.doit&&(this.visuals.line.set_value(t),t.stroke()),t.restore()}interactive_bbox(){const t=this.model.line_width+o.EDGE_TOLERANCE;return this.bbox.grow_by(t)}interactive_hit(t,i){if(null==this.model.in_cursor)return!1;return this.interactive_bbox().contains(t,i)}cursor(t,i){const{left:o,right:n,bottom:e,top:s}=this.bbox;return Math.abs(t-o)<3||Math.abs(t-n)<3?this.model.ew_cursor:Math.abs(i-e)<3||Math.abs(i-s)<3?this.model.ns_cursor:this.bbox.contains(t,i)?this.model.in_cursor:null}}o.BoxAnnotationView=u,u.__name__="BoxAnnotationView";class c extends l.Annotation{constructor(t){super(t)}static init_BoxAnnotation(){this.prototype.default_view=u,this.mixins([a.Line,a.Fill,a.Hatch]),this.define((({Number:t,Nullable:i})=>({top:[i(t),null],top_units:[r.SpatialUnits,"data"],bottom:[i(t),null],bottom_units:[r.SpatialUnits,"data"],left:[i(t),null],left_units:[r.SpatialUnits,"data"],right:[i(t),null],right_units:[r.SpatialUnits,"data"],render_mode:[r.RenderMode,"canvas"]}))),this.internal((({Boolean:t,String:i,Nullable:o})=>({screen:[t,!1],ew_cursor:[o(i),null],ns_cursor:[o(i),null],in_cursor:[o(i),null]}))),this.override({fill_color:"#fff9ba",fill_alpha:.4,line_color:"#cccccc",line_alpha:.3})}update({left:t,right:i,top:o,bottom:n}){this.setv({left:t,right:i,top:o,bottom:n,screen:!0})}}o.BoxAnnotation=c,c.__name__="BoxAnnotation",c.init_BoxAnnotation()},n”, “ function _(t,e,i,a,n){a();const o=t(1),r=t(40),s=t(138),l=t(144),_=t(162),c=t(165),h=t(198),u=t(166),p=t(205),m=t(169),g=t(203),d=t(202),f=t(209),w=t(217),b=t(220),v=t(20),y=o.__importStar(t(48)),k=t(9),x=t(221),C=t(222),j=t(225),z=t(140),L=t(11),S=t(122),M=t(8);class T extends r.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 f.LogColorMapper:return new h.LogTicker;case i instanceof f.ScanningColorMapper:return new h.BinnedTicker({mapper:i});case i instanceof f.CategoricalColorMapper:return new h.CategoricalTicker;default:return new h.BasicTicker}})(),this._formatter="auto"!=e?e:(()=>{switch(!0){case this._ticker instanceof h.LogTicker:return new p.LogTickFormatter;case i instanceof f.CategoricalColorMapper:return new p.CategoricalTickFormatter;default:return new p.BasicTickFormatter}})(),this._major_range=(()=>{if(i instanceof f.CategoricalColorMapper){const{factors:t}=i;return new b.FactorRange({factors:t})}if(i instanceof d.ContinuousColorMapper){const{min:t,max:e}=i.metrics;return new b.Range1d({start:t,end:e})}L.unreachable()})(),this._major_scale=(()=>{if(i instanceof f.LinearColorMapper)return new w.LinearScale;if(i instanceof f.LogColorMapper)return new w.LogScale;if(i instanceof f.ScanningColorMapper){const{binning:t}=i.metrics;return new w.LinearInterpolationScale({binning:t})}if(i instanceof f.CategoricalColorMapper)return new w.CategoricalScale;L.unreachable()})(),this._minor_range=new b.Range1d({start:0,end:1}),this._minor_scale=new w.LinearScale;const a=y.attrs_of(this.model,"major_label_",y.Text,!0),n=y.attrs_of(this.model,"major_tick_",y.Line,!0),o=y.attrs_of(this.model,"minor_tick_",y.Line,!0),r=y.attrs_of(this.model,"title_",y.Text),l=i instanceof f.CategoricalColorMapper?_.CategoricalAxis:i instanceof f.LogColorMapper?_.LogAxis:_.LinearAxis;this._axis=new l(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},a),n),o));const{title:c}=this.model;c&&(this._title=new s.Title(Object.assign({text:c,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 S.build_view(this._axis,{parent:e}),null!=this._title&&(this._title_view=await S.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 d.ContinuousColorMapper&&t instanceof b.Range1d){const{min:e,max:a}=i.metrics;t.setv({start:e,end:a})}if(i instanceof f.ScanningColorMapper&&e instanceof w.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?k.reversed(e):e})(),[i,a]="vertical"==t?[1,e.length]:[e.length,1],n=this._image=document.createElement("canvas");n.width=i,n.height=a;const o=n.getContext("2d"),r=o.getImageData(0,0,i,a),s=new f.LinearColorMapper({palette:e}).rgba_mapper.v_compute(k.range(0,e.length));r.data.set(s),o.putImageData(r,0,0)}update_layout(){const{location:t,width:e,height:i,padding:a,margin:n}=this.model,[o,r]=(()=>{if(!M.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"==o?"vertical":"horizontal":t})(),_=new C.NodeLayout,c=new C.VStack,h=new C.VStack,u=new C.HStack,p=new C.HStack;_.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 l.CartesianFrame(m,g,d,f),_.on_resize((t=>this._frame.set_geometry(t)));const w=new j.BorderLayout;this._inner_layout=w,w.absolute=!0,w.center_panel=_,w.top_panel=c,w.bottom_panel=h,w.left_panel=u,w.right_panel=p;const b={left:a,right:a,top:a,bottom:a},v=(()=>{if(null==this.panel){if(M.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(!M.isString(t)){const[e,i]=t;return{left:e,right:0,top:0,bottom:i}}})();let y,k,L,S;if(w.padding=b,null!=this.panel?(y="max",k=void 0,L=void 0,S=void 0):"auto"==("horizontal"==s?e:i)?(y="fixed",k=25*this.model.color_mapper.palette.length,L={percent:.3},S={percent:.8}):(y="fit",k=void 0),"horizontal"==s){const t="auto"==e?void 0:e,a="auto"==i?25:i;w.set_sizing({width_policy:y,height_policy:"min",width:k,min_width:L,max_width:S,halign:r,valign:o,margin:v}),w.center_panel.set_sizing({width_policy:"auto"==e?"fit":"fixed",height_policy:"fixed",width:t,height:a})}else{const t="auto"==e?25:e,a="auto"==i?void 0:i;w.set_sizing({width_policy:"min",height_policy:y,height:k,min_height:L,max_height:S,halign:r,valign:o,margin:v}),w.center_panel.set_sizing({width_policy:"fixed",height_policy:"auto"==i?"fit":"fixed",width:t,height:a})}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:T}=this;null!=T&&("horizontal"==s?(T.panel=new z.Panel("above"),T.update_layout(),c.children.push(T.layout)):(T.panel=new z.Panel("left"),T.update_layout(),u.children.push(T.layout)));const{panel:B}=this,A=null!=B&&s==B.orientation?B.side:"horizontal"==s?"below":"right",O=(()=>{switch(A){case"above":return c;case"below":return h;case"left":return u;case"right":return p}})(),{_axis_view:R}=this;if(R.panel=new z.Panel(A),R.update_layout(),O.children.push(R.layout),null!=this.panel){const t=new x.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:F}=this.model;this.layout.sizing.visible=F,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:a}=e;let{width:n,height:o}=e;i+n>=this.parent.canvas_view.bbox.width&&(n-=1),a+o>=this.parent.canvas_view.bbox.height&&(o-=1),t.save(),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(t),t.fillRect(i,a,n,o)),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.strokeRect(i,a,n,o)),t.restore()}_paint_image(t,e){const{x:i,y:a,width:n,height:o}=e;t.save(),t.setImageSmoothingEnabled(!1),t.globalAlpha=this.model.scale_alpha,t.drawImage(this._image,i,a,n,o),this.visuals.bar_line.doit&&(this.visuals.bar_line.set_value(t),t.strokeRect(i,a,n,o)),t.restore()}serializable_state(){const t=super.serializable_state(),{children:e=[]}=t,i=o.__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=T,T.__name__="ColorBarView";class B extends r.Annotation{constructor(t){super(t)}static init_ColorBar(){this.prototype.default_view=T,this.mixins([["major_label_",y.Text],["title_",y.Text],["major_tick_",y.Line],["minor_tick_",y.Line],["border_",y.Line],["bar_",y.Line],["background_",y.Fill]]),this.define((({Alpha:t,Number:e,String:i,Tuple:a,Dict:n,Or:o,Ref:r,Auto:s,Nullable:l})=>({location:[o(v.Anchor,a(e,e)),"top_right"],orientation:[o(v.Orientation,s),"auto"],title:[l(i),null],title_standoff:[e,2],width:[o(e,s),"auto"],height:[o(e,s),"auto"],scale_alpha:[t,1],ticker:[o(r(c.Ticker),s),"auto"],formatter:[o(r(u.TickFormatter),s),"auto"],major_label_overrides:[n(i),{}],major_label_policy:[r(m.LabelingPolicy),()=>new m.NoOverlap],color_mapper:[r(g.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]}))),this.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"})}}i.ColorBar=B,B.__name__="ColorBar",B.init_ColorBar()},n”, “ function _(t,e,i,s,l){s();const o=t(1),a=t(139),n=t(20),r=t(143),c=o.__importStar(t(48));class h extends a.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;if(null==t||0==t.length)return{width:0,height:0};{const{ctx:e}=this.layer;this.visuals.text.set_value(e);const{width:i}=this.layer.ctx.measureText(t),{height:s}=r.font_metrics(e.font);return{width:i,height:2+s*this.model.text_line_height+this.model.standoff}}}}i.TitleView=h,h.__name__="TitleView";class _ extends a.TextAnnotation{constructor(t){super(t)}static init_Title(){this.prototype.default_view=h,this.mixins([c.Text,["border_",c.Line],["background_",c.Fill]]),this.define((({Number:t,String:e})=>({text:[e,""],vertical_align:[n.VerticalAlign,"bottom"],align:[n.TextAlign,"left"],offset:[t,0],standoff:[t,10]}))),this.prototype._props.text_align.options.internal=!0,this.prototype._props.text_baseline.options.internal=!0,this.override({text_font_size:"13px",text_font_style:"bold",text_line_height:1,background_fill_color:null,border_line_color:null})}}i.Title=_,_.__name__="Title",_.init_Title()},n”, “ function _(e,t,s,i,n){i();const l=e(40),a=e(43),o=e(20),r=e(140),d=e(143),c=e(11);class _ extends l.AnnotationView{update_layout(){const{panel:e}=this;this.layout=null!=e?new r.SideLayout(e,(()=>this.get_size()),!0):void 0}initialize(){super.initialize(),"css"==this.model.render_mode&&(this.el=a.div(),this.plot_view.canvas_view.add_overlay(this.el))}remove(){null!=this.el&&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||a.undisplay(this.el),super.render()}_calculate_text_dimensions(e,t){const{width:s}=e.measureText(t),{height:i}=d.font_metrics(this.visuals.text.font_value());return[s,i]}_calculate_bounding_box_dimensions(e,t){const[s,i]=this._calculate_text_dimensions(e,t);let n,l;switch(e.textAlign){case"left":n=0;break;case"center":n=-s/2;break;case"right":n=-s;break;default:c.unreachable()}switch(e.textBaseline){case"top":l=0;break;case"middle":l=-.5*i;break;case"bottom":l=-1*i;break;case"alphabetic":l=-.8*i;break;case"hanging":l=-.17*i;break;case"ideographic":l=-.83*i;break;default:c.unreachable()}return[n,l,s,i]}_canvas_text(e,t,s,i,n){this.visuals.text.set_value(e);const l=this._calculate_bounding_box_dimensions(e,t);e.save(),e.beginPath(),e.translate(s,i),n&&e.rotate(n),e.rect(l[0],l[1],l[2],l[3]),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(e),e.fill()),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(e),e.stroke()),this.visuals.text.doit&&(this.visuals.text.set_value(e),e.fillText(t,0,0)),e.restore()}_css_text(e,t,s,i,n){const{el:l}=this;c.assert(null!=l),a.undisplay(l),this.visuals.text.set_value(e);const[o,r]=this._calculate_bounding_box_dimensions(e,t);l.style.position="absolute",l.style.left=`${s+o}px`,l.style.top=`${i+r}px`,l.style.color=e.fillStyle,l.style.font=e.font,l.style.lineHeight="normal",n&&(l.style.transform=`rotate(${n}rad)`),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(e),l.style.backgroundColor=e.fillStyle),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(e),l.style.borderStyle=e.lineDash.length<2?"solid":"dashed",l.style.borderWidth=`${e.lineWidth}px`,l.style.borderColor=e.strokeStyle),l.textContent=t,a.display(l)}}s.TextAnnotationView=_,_.__name__="TextAnnotationView";class u extends l.Annotation{constructor(e){super(e)}static init_TextAnnotation(){this.define((()=>({render_mode:[o.RenderMode,"canvas"]})))}}s.TextAnnotation=u,u.__name__="TextAnnotation",u.init_TextAnnotation()},n”, “ function _(t,e,i,l,r){l();const a=t(141),o=t(142),n=t(8),h=Math.PI/2,s={above:{parallel:0,normal:-h,horizontal:0,vertical:-h},below:{parallel:0,normal:h,horizontal:0,vertical:h},left:{parallel:-h,normal:0,horizontal:0,vertical:-h},right:{parallel:h,normal:0,horizontal:0,vertical:h}},c={above:{parallel:"bottom",normal:"center",horizontal:"bottom",vertical:"center"},below:{parallel:"top",normal:"center",horizontal:"top",vertical:"center"},left:{parallel:"bottom",normal:"center",horizontal:"center",vertical:"bottom"},right:{parallel:"bottom",normal:"center",horizontal:"center",vertical:"bottom"}},g={above:{parallel:"center",normal:"left",horizontal:"center",vertical:"left"},below:{parallel:"center",normal:"left",horizontal:"center",vertical:"left"},left:{parallel:"center",normal:"right",horizontal:"right",vertical:"center"},right:{parallel:"center",normal:"left",horizontal:"left",vertical:"center"}},_={above:"right",below:"left",left:"right",right:"left"},b={above:"left",below:"right",left:"right",right:"left"};class z{constructor(t){this.side=t}get dimension(){return"above"==this.side||"below"==this.side?0:1}get normals(){switch(this.side){case"above":return[0,-1];case"below":return[0,1];case"left":return[-1,0];case"right":return[1,0]}}get orientation(){return this.is_horizontal?"horizontal":"vertical"}get is_horizontal(){return 0==this.dimension}get is_vertical(){return 1==this.dimension}get_label_text_heuristics(t){const{side:e}=this;return n.isString(t)?{vertical_align:c[e][t],align:g[e][t]}:{vertical_align:"center",align:(t<0?_:b)[e]}}get_label_angle_heuristic(t){return n.isString(t)?s[this.side][t]:-t}}i.Panel=z,z.__name__="Panel";class m extends o.ContentLayoutable{constructor(t,e,i=!1){super(),this.panel=t,this.get_size=e,this.rotate=i,this.panel.is_horizontal?this.set_sizing({width_policy:"max",height_policy:"fixed"}):this.set_sizing({width_policy:"fixed",height_policy:"max"})}_content_size(){const{width:t,height:e}=this.get_size();return!this.rotate||this.panel.is_horizontal?new a.Sizeable({width:t,height:e}):new a.Sizeable({width:e,height:t})}has_size_changed(){const{width:t,height:e}=this._content_size();return this.panel.is_horizontal?this.bbox.height!=e:this.bbox.width!=t}}i.SideLayout=m,m.__name__="SideLayout"},n”, “ function _(h,t,i,e,w){e();const n=h(21),{min:d,max:s}=Math;class g{constructor(h={}){this.width=null!=h.width?h.width:0,this.height=null!=h.height?h.height:0}bounded_to({width:h,height:t}){return new g({width:this.width==1/0&&null!=h?h:this.width,height:this.height==1/0&&null!=t?t:this.height})}expanded_to({width:h,height:t}){return new g({width:h!=1/0?s(this.width,h):this.width,height:t!=1/0?s(this.height,t):this.height})}expand_to({width:h,height:t}){this.width=s(this.width,h),this.height=s(this.height,t)}narrowed_to({width:h,height:t}){return new g({width:d(this.width,h),height:d(this.height,t)})}narrow_to({width:h,height:t}){this.width=d(this.width,h),this.height=d(this.height,t)}grow_by({left:h,right:t,top:i,bottom:e}){const w=this.width+h+t,n=this.height+i+e;return new g({width:w,height:n})}shrink_by({left:h,right:t,top:i,bottom:e}){const w=s(this.width-h-t,0),n=s(this.height-i-e,0);return new g({width:w,height:n})}map(h,t){return new g({width:h(this.width),height:(null!=t?t:h)(this.height)})}}i.Sizeable=g,g.__name__="Sizeable",i.SizingPolicy=n.Enum("fixed","fit","min","max")},n”, “ function _(i,t,h,e,n){e();const s=i(141),r=i(99),g=i(8),{min:l,max:a,round:_}=Math;class o{constructor(){this.absolute=!1,this._bbox=new r.BBox,this._inner_bbox=new r.BBox,this._dirty=!1,this._handlers=[]}*[Symbol.iterator](){}get bbox(){return this._bbox}get inner_bbox(){return this._inner_bbox}get sizing(){return this._sizing}set visible(i){this._sizing.visible=i,this._dirty=!0}set_sizing(i){var t,h,e,n,s;const r=null!==(t=i.width_policy)&&void 0!==t?t:"fit",g=i.width,l=i.min_width,a=i.max_width,_=null!==(h=i.height_policy)&&void 0!==h?h:"fit",o=i.height,d=i.min_height,u=i.max_height,c=i.aspect,w=null!==(e=i.margin)&&void 0!==e?e:{top:0,right:0,bottom:0,left:0},m=!1!==i.visible,x=null!==(n=i.halign)&&void 0!==n?n:"start",b=null!==(s=i.valign)&&void 0!==s?s:"start";this._sizing={width_policy:r,min_width:l,width:g,max_width:a,height_policy:_,min_height:d,height:o,max_height:u,aspect:c,margin:w,visible:m,halign:x,valign:b,size:{width:g,height:o}},this._init()}_init(){}_set_geometry(i,t){this._bbox=i,this._inner_bbox=t}set_geometry(i,t){this._set_geometry(i,null!=t?t:i);for(const i of this._handlers)i(this._bbox,this._inner_bbox)}on_resize(i){this._handlers.push(i)}is_width_expanding(){return"max"==this.sizing.width_policy}is_height_expanding(){return"max"==this.sizing.height_policy}apply_aspect(i,{width:t,height:h}){const{aspect:e}=this.sizing;if(null!=e){const{width_policy:n,height_policy:s}=this.sizing,r=(i,t)=>{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=new s.Sizeable(i).shrink_by(this.sizing.margin).map((i=>i==1/0&&"fixed"==this.sizing.width_policy&&null!=this.sizing.width?this.sizing.width:i),(i=>i==1/0&&"fixed"==this.sizing.height_policy&&null!=this.sizing.height?this.sizing.height:i)),h=this._measure(t),e=this.clip_size(h,t),n=this.apply_aspect(t,e);return Object.assign(Object.assign({},h),n)}compute(i={}){const t={width:null!=i.width&&this.is_width_expanding()?i.width:1/0,height:null!=i.height&&this.is_height_expanding()?i.height:1/0},h=this.measure(t),{width:e,height:n}=h,s=new r.BBox({left:0,top:0,width:e,height:n});let g;if(null!=h.inner){const{left:i,top:t,right:s,bottom:l}=h.inner;g=new r.BBox({left:i,top:t,right:e-s,bottom:n-l})}this.set_geometry(s,g)}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:g.isNumber(h)||(h=Math.round(h.percent*t)),null==e?e=1/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 _(t,e,n,r,a){r();const l=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"),a=t.measureText("ÅŚg|"),c=a.fontBoundingBoxAscent,o=a.fontBoundingBoxDescent;if(null!=c&&null!=o)return{height:c+o,ascent:c,descent:o,cap_height:n.actualBoundingBoxAscent,x_height:r.actualBoundingBoxAscent};const s=a.actualBoundingBoxAscent,u=a.actualBoundingBoxDescent;if(null!=s&&null!=u)return{height:s+u,ascent:s,descent:u,cap_height:n.actualBoundingBoxAscent,x_height:r.actualBoundingBoxAscent};l.unreachable()}})(),s=(()=>{const t=c(0,0).getContext("2d");return(e,n)=>{t.font=n;const r=t.measureText(e),a=r.actualBoundingBoxAscent,c=r.actualBoundingBoxDescent;if(null!=a&&null!=c)return{width:r.width,height:a+c,ascent:a,descent:c};l.unreachable()}})(),u=(()=>{const t=document.createElement("canvas"),e=t.getContext("2d");let n=-1,r=-1;return(a,l=1)=>{e.font=a;const{width:c}=e.measureText("M"),o=c*l,s=Math.ceil(o),u=Math.ceil(2*o),i=Math.ceil(1.5*o);n<s&&(n=s,t.width=s),r<u&&(r=u,t.height=u),e.save(),e.scale(l,l),e.fillStyle="#f00",e.fillRect(0,0,s,u);const f=t=>{let e=0;for(let n=0;n<=i;n++)for(let r=0;r<s;r++,e+=4)if(255!=t[e])return i-n;return 0};e.font=a,e.fillStyle="#000";for(const t of"xa")e.fillText(t,0,i/l);const{data:h}=e.getImageData(0,0,s,u),g=f(h)/l;for(const t of"ASQ")e.fillText(t,0,i/l);const{data:d}=e.getImageData(0,0,s,u),x=f(d)/l;for(const t of"ÅŚgy")e.fillText(t,0,i/l);const{data:m}=e.getImageData(0,0,s,u),B=f(m)/l,w=(t=>{let e=t.length-4;for(let n=u;n>=i;n–)for(let r=0;r<s;r++,e-=4)if(255!=t[e])return n-i;return 0})(m)/l;return e.restore(),{height:B+w,ascent:B,cap_height:x,x_height:g,descent:w}}})(),i=(()=>{const t=document.createElement("canvas"),e=t.getContext("2d");let n=-1,r=-1;return(a,l,c=1)=>{e.font=l;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<u||r<i)&&(n=u,t.width=u,r=i,t.height=i),e.save(),e.scale(c,c),e.fillStyle="#f00",e.fillRect(0,0,u,i);e.font=l,e.fillStyle="#000",e.fillText(a,0,f/c);const h=e.measureText(a),{data:g}=e.getImageData(0,0,u,i),d=(t=>{let e=0;for(let n=0;n<=f;n++)for(let r=0;r<u;r++,e+=4)if(255!=t[e])return f-n;return 0})(g)/c,x=(t=>{let e=t.length-4;for(let n=i;n>=f;n–)for(let r=0;r<u;r++,e-=4)if(255!=t[e])return n-f;return 0})(g)/c;return e.restore(),{width:h.width,height:d+x,ascent:d,descent:x}}})(),f=(()=>{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”, “ function _(e,t,s,_,a){_();const r=e(145),n=e(157),g=e(156),i=e(159),c=e(104),h=e(99),o=e(13),l=e(11);class x{constructor(e,t,s,_,a={},r={}){this.in_x_scale=e,this.in_y_scale=t,this.x_range=s,this.y_range=_,this.extra_x_ranges=a,this.extra_y_ranges=r,this._bbox=new h.BBox,l.assert(null==e.source_range&&null==e.target_range),l.assert(null==t.source_range&&null==t.target_range),this._configure_scales()}get bbox(){return this._bbox}_get_ranges(e,t){return new Map(o.entries(Object.assign(Object.assign({},t),{default:e})))}_get_scales(e,t,s){const _=new Map;for(const[a,g]of t){if(g instanceof c.FactorRange!=e instanceof r.CategoricalScale)throw new Error(`Range ${g.type} is incompatible is Scale ${e.type}`);e instanceof n.LogScale&&g instanceof i.DataRange1d&&(g.scale_hint="log");const t=e.clone();t.setv({source_range:g,target_range:s}),_.set(a,t)}return _}_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._x_ranges,this._x_target),this._y_scales=this._get_scales(this.in_y_scale,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 o.to_object(this.x_scales)}get yscales(){return o.to_object(this.y_scales)}}s.CartesianFrame=x,x.__name__="CartesianFrame"},n”, “ function _(e,t,r,n,_){n();const c=e(146);class s extends c.Scale{constructor(e){super(e)}get s_compute(){const[e,t]=this._linear_compute_state(),r=this.source_range;return n=>e*r.synthetic(n)+t}compute(e){return super._linear_compute(this.source_range.synthetic(e))}v_compute(e){return super._linear_v_compute(this.source_range.v_synthetic(e))}invert(e){return this._linear_invert(e)}v_invert(e){return this._linear_v_invert(e)}}r.CategoricalScale=s,s.__name__="CategoricalScale"},n”, “ function _(t,e,r,n,s){n();const i=t(147),_=t(105),a=t(156),c=t(24);class o extends i.Transform{constructor(t){super(t)}static init_Scale(){this.internal((({Ref:t})=>({source_range:[t(_.Range)],target_range:[t(a.Range1d)]})))}r_compute(t,e){return this.target_range.is_reversed?[this.compute(e),this.compute(t)]:[this.compute(t),this.compute(e)]}r_invert(t,e){return this.target_range.is_reversed?[this.invert(e),this.invert(t)]:[this.invert(t),this.invert(e)]}_linear_compute(t){const[e,r]=this._linear_compute_state();return e*t+r}_linear_v_compute(t){const[e,r]=this._linear_compute_state(),n=new c.ScreenArray(t.length);for(let s=0;s<t.length;s++)n[s]=e*t[s]+r;return n}_linear_invert(t){const[e,r]=this._linear_compute_state();return(t-r)/e}_linear_v_invert(t){const[e,r]=this._linear_compute_state(),n=new Float64Array(t.length);for(let s=0;s<t.length;s++)n[s]=(t[s]-r)/e;return n}_linear_compute_state(){const t=this.source_range.start,e=this.source_range.end,r=this.target_range.start,n=(this.target_range.end-r)/(e-t);return[n,-n*t+r]}}r.Scale=o,o.__name__="Scale",o.init_Scale()},n”, “ function _(r,o,t,e,n){e(),n("CustomJSTransform",r(148).CustomJSTransform),n("Dodge",r(150).Dodge),n("Interpolator",r(152).Interpolator),n("Jitter",r(153).Jitter),n("LinearInterpolator",r(154).LinearInterpolator),n("StepInterpolator",r(155).StepInterpolator),n("Transform",r(149).Transform)},n”, “ function _(t,r,s,n,e){n();const a=t(149),o=t(13),u=t(34);class m extends a.Transform{constructor(t){super(t)}static init_CustomJSTransform(){this.define((({Unknown:t,String:r,Dict:s})=>({args:[s(t),{}],func:[r,""],v_func:[r,""]})))}get names(){return o.keys(this.args)}get values(){return o.values(this.args)}_make_transform(t,r){return new Function(…this.names,t,u.use_strict(r))}get scalar_transform(){return this._make_transform("x",this.func)}get vector_transform(){return this._make_transform("xs",this.v_func)}compute(t){return this.scalar_transform(…this.values,t)}v_compute(t){return this.vector_transform(…this.values,t)}}s.CustomJSTransform=m,m.__name__="CustomJSTransform",m.init_CustomJSTransform()},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,o,s){o();const i=e(151);class r extends i.RangeTransform{constructor(e){super(e)}static init_Dodge(){this.define((({Number:e})=>({value:[e,0]})))}_compute(e){return e+this.value}}n.Dodge=r,r.__name__="Dodge",r.init_Dodge()},n”, “ function _(e,n,t,r,s){r();const a=e(149),i=e(105),o=e(104),c=e(24),f=e(8);class u extends a.Transform{constructor(e){super(e)}static init_RangeTransform(){this.define((({Ref:e,Nullable:n})=>({range:[n(e(i.Range)),null]})))}v_compute(e){let n;if(this.range instanceof o.FactorRange)n=this.range.v_synthetic(e);else{if(!f.isArrayableOf(e,f.isNumber))throw new Error("unexpected");n=e}const t=new(c.infer_type(n))(n.length);for(let e=0;e<n.length;e++){const r=n[e];t[e]=this._compute(r)}return t}compute(e){if(this.range instanceof o.FactorRange)return this._compute(this.range.synthetic(e));if(f.isNumber(e))return this._compute(e);throw new Error("unexpected")}}t.RangeTransform=u,u.__name__="RangeTransform",u.init_RangeTransform()},n”, “ function _(t,e,r,n,o){n();const s=t(149),i=t(57),a=t(24),h=t(9),l=t(8);class d extends s.Transform{constructor(t){super(t),this._sorted_dirty=!0}static init_Interpolator(){this.define((({Boolean:t,Number:e,String:r,Ref:n,Array:o,Or:s,Nullable:a})=>({x:[s(r,o(e))],y:[s(r,o(e))],data:[a(n(i.ColumnarDataSource)),null],clip:[t,!0]})))}connect_signals(){super.connect_signals(),this.connect(this.change,(()=>this._sorted_dirty=!0))}v_compute(t){const e=new(a.infer_type(t))(t.length);for(let r=0;r<t.length;r++){const n=t[r];e[r]=this.compute(n)}return e}sort(t=!1){if(!this._sorted_dirty)return;let e,r;if(l.isString(this.x)&&l.isString(this.y)&&null!=this.data){const t=this.data.columns();if(!h.includes(t,this.x))throw new Error("The x parameter does not correspond to a valid column name defined in the data parameter");if(!h.includes(t,this.y))throw new Error("The y parameter does not correspond to a valid column name defined in the data parameter");e=this.data.get_column(this.x),r=this.data.get_column(this.y)}else{if(!l.isArray(this.x)||!l.isArray(this.y))throw new Error("parameters ‘x’ and ‘y’ must be both either string fields or arrays");e=this.x,r=this.y}if(e.length!==r.length)throw new Error("The length for x and y do not match");if(e.length<2)throw new Error("x and y must have at least two elements to support interpolation");const n=e.length,o=new Uint32Array(n);for(let t=0;t<n;t++)o[t]=t;const s=t?-1:1;o.sort(((t,r)=>s*(e[t]-e[r]))),this._x_sorted=new(a.infer_type(e))(n),this._y_sorted=new(a.infer_type(r))(n);for(let t=0;t<n;t++)this._x_sorted[t]=e[o[t]],this._y_sorted[t]=r[o[t]];this._sorted_dirty=!1}}r.Interpolator=d,d.__name__="Interpolator",d.init_Interpolator()},n”, “ function _(t,i,e,s,r){s();const n=t(1),u=t(151),o=t(20),a=n.__importStar(t(10));class h extends u.RangeTransform{constructor(t){super(t)}static init_Jitter(){this.define((({Number:t})=>({mean:[t,0],width:[t,1],distribution:[o.Distribution,"uniform"]})))}v_compute(t){return null!=this.previous_values&&this.previous_values.length==t.length||(this.previous_values=super.v_compute(t)),this.previous_values}_compute(t){switch(this.distribution){case"uniform":return t+this.mean+(a.random()-.5)*this.width;case"normal":return t+a.rnorm(this.mean,this.width)}}}e.Jitter=h,h.__name__="Jitter",h.init_Jitter()},n”, “ function _(t,s,_,r,e){r();const i=t(9),o=t(152);class n extends o.Interpolator{constructor(t){super(t)}compute(t){if(this.sort(!1),this.clip){if(t<this._x_sorted[0]||t>this._x_sorted[this._x_sorted.length-1])return NaN}else{if(t<this._x_sorted[0])return this._y_sorted[0];if(t>this._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=i.find_last_index(this._x_sorted,(s=>s<t)),_=this._x_sorted[s],r=this._x_sorted[s+1],e=this._y_sorted[s],o=this._y_sorted[s+1];return e+(t-_)/(r-_)*(o-e)}}_.LinearInterpolator=n,n.__name__="LinearInterpolator"},n”, “ function _(t,e,s,r,o){r();const i=t(152),_=t(20),n=t(9);class d extends i.Interpolator{constructor(t){super(t)}static init_StepInterpolator(){this.define((()=>({mode:[_.StepMode,"after"]})))}compute(t){if(this.sort(!1),this.clip){if(t<this._x_sorted[0]||t>this._x_sorted[this._x_sorted.length-1])return NaN}else{if(t<this._x_sorted[0])return this._y_sorted[0];if(t>this._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}let e;switch(this.mode){case"after":e=n.find_last_index(this._x_sorted,(e=>t>=e));break;case"before":e=n.find_index(this._x_sorted,(e=>t<=e));break;case"center":{const s=n.map(this._x_sorted,(e=>Math.abs(e-t))),r=n.min(s);e=n.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=d,d.__name__="StepInterpolator",d.init_StepInterpolator()},n”, “ function _(t,e,s,n,i){n();const a=t(105);class r extends a.Range{constructor(t){super(t)}static init_Range1d(){this.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}}]})))}_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 r({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 r({start:e,end:s})}}s.Range1d=r,r.__name__="Range1d",r.init_Range1d()},n”, “ function _(t,e,o,n,s){n();const a=t(158),r=t(24);class c extends a.ContinuousScale{constructor(t){super(t)}get s_compute(){const[t,e,o,n]=this._compute_state();return s=>{if(0==o)return 0;{const a=(Math.log(s)-n)/o;return isFinite(a)?a*t+e:NaN}}}compute(t){const[e,o,n,s]=this._compute_state();let a;if(0==n)a=0;else{const r=(Math.log(t)-s)/n;a=isFinite(r)?r*e+o:NaN}return a}v_compute(t){const[e,o,n,s]=this._compute_state(),a=new r.ScreenArray(t.length);if(0==n)for(let e=0;e<t.length;e++)a[e]=0;else for(let r=0;r<t.length;r++){const c=(Math.log(t[r])-s)/n;let l;l=isFinite(c)?c*e+o:NaN,a[r]=l}return a}invert(t){const[e,o,n,s]=this._compute_state(),a=(t-o)/e;return Math.exp(n*a+s)}v_invert(t){const[e,o,n,s]=this._compute_state(),a=new Float64Array(t.length);for(let r=0;r<t.length;r++){const c=(t[r]-o)/e;a[r]=Math.exp(n*c+s)}return a}_get_safe_factor(t,e){let o=t<0?0:t,n=e<0?0:e;if(o==n)if(0==o)[o,n]=[1,10];else{const t=Math.log(o)/Math.log(10);o=10**Math.floor(t),n=Math.ceil(t)!=Math.floor(t)?10**Math.ceil(t):10**(Math.ceil(t)+1)}return[o,n]}_compute_state(){const t=this.source_range.start,e=this.source_range.end,o=this.target_range.start,n=this.target_range.end-o,[s,a]=this._get_safe_factor(t,e);let r,c;0==s?(r=Math.log(a),c=0):(r=Math.log(a)-Math.log(s),c=Math.log(s));return[n,o,r,c]}}o.LogScale=c,c.__name__="LogScale"},n”, “ function _(n,c,o,s,e){s();const t=n(146);class u extends t.Scale{constructor(n){super(n)}}o.ContinuousScale=u,u.__name__="ContinuousScale"},n”, “ function _(t,i,n,a,e){a();const s=t(1),l=t(160),_=t(20),o=t(9),h=t(19),r=s.__importStar(t(99)),d=t(161);class u extends l.DataRange{constructor(t){super(t),this.have_updated_interactively=!1}static init_DataRange1d(){this.define((({Boolean:t,Number:i,Nullable:n})=>({start:[i],end:[i],range_padding:[i,.1],range_padding_units:[_.PaddingUnits,"percent"],flipped:[t,!1],follow:[n(_.StartEnd),null],follow_interval:[n(i),null],default_span:[i,2],only_visible:[t,!1]}))),this.internal((({Enum:t})=>({scale_hint:[t("log","auto"),"auto"]})))}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=o.concat(this.plots.map((t=>t.data_renderers)));return d.compute_renderers(0==t.length?"auto":t,n,i)}_compute_plot_bounds(t,i){let n=r.empty();for(const a of t){const t=i.get(a);null==t||!a.visible&&this.only_visible||(n=r.union(n,t))}return n}adjust_bounds_for_aspect(t,i){const n=r.empty();let a=t.x1-t.x0;a<=0&&(a=1);let e=t.y1-t.y0;e<=0&&(e=1);const s=.5*(t.x1+t.x0),l=.5*(t.y1+t.y0);return a<i*e?a=i*e:e=a/i,n.x1=s+.5*a,n.x0=s-.5*a,n.y1=l+.5*e,n.y0=l-.5*e,n}_compute_min_max(t,i){let n,a,e=r.empty();for(const i of t)e=r.union(e,i);return[n,a]=0==i?[e.x0,e.x1]:[e.y0,e.y1],[n,a]}_compute_range(t,i){const n=this.range_padding;let a,e;if(null!=this._initial_start&&(t=this._initial_start),null!=this._initial_end&&(i=this._initial_end),"log"==this.scale_hint){let s,l;if((isNaN(t)||!isFinite(t)||t<=0)&&(t=isNaN(i)||!isFinite(i)||i<=0?.1:i/100,h.logger.warn(`could not determine minimum data value for log axis, DataRange1d using value ${t}`)),(isNaN(i)||!isFinite(i)||i<=0)&&(i=isNaN(t)||!isFinite(t)||t<=0?10:100*t,h.logger.warn(`could not determine maximum data value for log axis, DataRange1d using value ${i}`)),i==t)l=this.default_span+.001,s=Math.log(t)/Math.log(10);else{let a,e;"percent"==this.range_padding_units?(a=Math.log(t)/Math.log(10),e=Math.log(i)/Math.log(10),l=(e-a)*(1+n)):(a=Math.log(t-n)/Math.log(10),e=Math.log(i+n)/Math.log(10),l=e-a),s=(a+e)/2}a=10**(s-l/2),e=10**(s+l/2)}else{let s;s=i==t?this.default_span:"percent"==this.range_padding_units?(i-t)*(1+n):i-t+2*n;const l=(i+t)/2;a=l-s/2,e=l+s/2}let s=1;this.flipped&&([a,e]=[e,a],s=-1);const l=this.follow_interval;return null!=l&&Math.abs(a-e)>l&&("start"==this.follow?e=a+s*l:"end"==this.follow&&(a=e-s*l)),[a,e]}update(t,i,n,a){if(this.have_updated_interactively)return;const e=this.computed_renderers();let s=this._compute_plot_bounds(e,t);null!=a&&(s=this.adjust_bounds_for_aspect(s,a)),this._plot_bounds.set(n,s);const[l,_]=this._compute_min_max(this._plot_bounds.values(),i);let[o,h]=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&&(h=this._initial_end):h=this._initial_end);let r=!1;"auto"==this.bounds&&(this.setv({bounds:[o,h]},{silent:!0}),r=!0);const[d,u]=[this.start,this.end];if(o!=d||h!=u){const t={};o!=d&&(t.start=o),h!=u&&(t.end=h),this.setv(t),r=!1}r&&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=u,u.__name__="DataRange1d",u.init_DataRange1d()},n”, “ function _(a,e,n,t,r){t();const s=a(105),i=a(62);class R extends s.Range{constructor(a){super(a)}static init_DataRange(){this.define((({String:a,Array:e,Ref:n})=>({names:[e(a),[]],renderers:[e(n(i.DataRenderer)),[]]})))}}n.DataRange=R,R.__name__="DataRange",R.init_DataRange()},n”, “ function _(n,e,t,r,u){r();const l=n(9);t.compute_renderers=function(n,e,t){if(null==n)return[];let r="auto"==n?e:n;return t.length>0&&(r=r.filter((n=>l.includes(t,n.name)))),r}},n”, “ function _(i,s,x,A,o){A(),o("Axis",i(163).Axis),o("CategoricalAxis",i(170).CategoricalAxis),o("ContinuousAxis",i(173).ContinuousAxis),o("DatetimeAxis",i(174).DatetimeAxis),o("LinearAxis",i(175).LinearAxis),o("LogAxis",i(192).LogAxis),o("MercatorAxis",i(195).MercatorAxis)},n”, “ function _(t,e,i,s,o){s();const n=t(1),a=t(164),l=t(165),r=t(166),_=t(169),c=n.__importStar(t(48)),h=t(20),b=t(24),m=t(140),d=t(9),u=t(8),x=t(167),g=t(104),{abs:f}=Math;class p extends a.GuideRendererView{update_layout(){this.layout=new m.SideLayout(this.panel,(()=>this.get_size()),!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(),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,[o,n]=this.coordinates.map_to_screen(i,s),[a,l]=this.normals,[r,_]=this.offsets;this.visuals.axis_line.set_value(t),t.beginPath();for(let e=0;e<o.length;e++){const i=Math.round(o[e]+a*r),s=Math.round(n[e]+l*_);t.lineTo(i,s)}t.stroke()}_draw_major_ticks(t,e,i){const s=this.model.major_tick_in,o=this.model.major_tick_out,n=this.visuals.major_tick_line;this._draw_ticks(t,i.major,s,o,n)}_draw_minor_ticks(t,e,i){const s=this.model.minor_tick_in,o=this.model.minor_tick_out,n=this.visuals.minor_tick_line;this._draw_ticks(t,i.minor,s,o,n)}_draw_major_labels(t,e,i){const s=i.major,o=this.compute_labels(s[this.dimension]),n=this.model.major_label_orientation,a=e.tick+this.model.major_label_standoff,l=this.visuals.major_label_text;this._draw_oriented_labels(t,o,s,n,this.panel.side,a,l)}_axis_label_extent(){const t=this.model.axis_label;if(!t)return 0;const e=new x.TextBox({text:t});e.angle=this.panel.get_label_angle_heuristic("parallel"),e.visuals=this.visuals.axis_label_text;const i=e.size(),s=0==this.dimension?i.height:i.width,o=this.model.axis_label_standoff;return s>0?o+s+3:0}_draw_axis_label(t,e,i){const s=this.model.axis_label;if(!s||null!=this.model.fixed_location)return;const o=new x.TextBox({text:s});o.angle=this.panel.get_label_angle_heuristic("parallel"),o.visuals=this.visuals.axis_label_text;const[n,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]}})(),[l,r]=this.normals,_=e.tick+e.tick_label+this.model.axis_label_standoff,{vertical_align:c,align:h}=this.panel.get_label_text_heuristics("parallel");o.position={sx:n+l*_,sy:a+r*_,x_anchor:h,y_anchor:c},o.align=h,o.paint(t)}_draw_ticks(t,e,i,s,o){if(!o.doit)return;const[n,a]=e,[l,r]=this.coordinates.map_to_screen(n,a),[_,c]=this.normals,[h,b]=this.offsets,[m,d]=[_*(h-i),c*(b-i)],[u,x]=[_*(h+s),c*(b+s)];o.set_value(t),t.beginPath();for(let e=0;e<l.length;e++){const i=Math.round(l[e]+u),s=Math.round(r[e]+x),o=Math.round(l[e]+m),n=Math.round(r[e]+d);t.moveTo(i,s),t.lineTo(o,n)}t.stroke()}_draw_oriented_labels(t,e,i,s,o,n,a){if(!a.doit||0==e.length)return;const[l,r]=i,[_,c]=this.coordinates.map_to_screen(l,r),[h,m]=this.offsets,[d,u]=this.normals,g=d*(h+n),f=u*(m+n),{vertical_align:p,align:k}=this.panel.get_label_text_heuristics(s),w=this.panel.get_label_angle_heuristic(s);e.visuals=a,e.angle=w;for(let t=0;t<e.length;t++){const i=e.items[t];i.position={sx:_[t]+g,sy:c[t]+f,x_anchor:k,y_anchor:p},i instanceof x.TextBox&&(i.align=k)}const j=e.length,v=b.Indices.all_set(j),{items:y}=e,T=y.map((t=>t.bbox())),O=(()=>{const[t]=this.ranges;return t.is_reversed?0==this.dimension?(t,e)=>T[t].left-T[e].right:(t,e)=>T[e].top-T[t].bottom:0==this.dimension?(t,e)=>T[e].left-T[t].right:(t,e)=>T[t].top-T[e].bottom})(),{major_label_policy:A}=this.model,M=A.filter(v,T,O),z=[…M.ones()];if(0!=z.length){const t=this.parent.canvas_view.bbox,e=e=>{const i=T[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:o}=y[e];y[e].position=Object.assign(Object.assign({},o),{sx:o.sx-s})}},i=e=>{const i=T[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:o}=y[e];y[e].position=Object.assign(Object.assign({},o),{sy:o.sy-s})}},s=z[0],o=z[z.length-1];0==this.dimension?(e(s),e(o)):(i(s),i(o))}for(const e of M){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,o=this.visuals.major_label_text;return[this._oriented_labels_extent(e,i,s,o)]}get extents(){const t=this._tick_label_extents();return{tick:this._tick_extent(),tick_labels:t,tick_label:d.sum(t),axis_label:this._axis_label_extent()}}_oriented_labels_extent(t,e,i,s){if(0==t.length)return 0;const o=this.panel.get_label_angle_heuristic(e);t.visuals=s,t.angle=o;const n=t.max_size(),a=0==this.dimension?n.height:n.width;return a>0?i+a+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_overrides:i}=this.model;for(let s=0;s<t.length;s++){const o=i[t[s]];null!=o&&(e[s]=new x.TextBox({text:o}))}return new x.GraphicsBoxes(e)}get offsets(){if(null!=this.model.fixed_location)return[0,0];const{frame:t}=this.plot_view;let[e,i]=[0,0];switch(this.panel.side){case"below":i=f(this.layout.bbox.top-t.bbox.bottom);break;case"above":i=f(this.layout.bbox.bottom-t.bbox.top);break;case"right":e=f(this.layout.bbox.left-t.bbox.right);break;case"left":e=f(this.layout.bbox.right-t.bbox.left)}return[e,i]}get ranges(){const t=this.dimension,e=(t+1)%2,{ranges:i}=this.coordinates;return[i[t],i[e]]}get computed_bounds(){const[t]=this.ranges,e=this.model.bounds,i=[t.min,t.max];if("auto"==e)return[t.min,t.max];{let t,s;const[o,n]=e,[a,l]=i,{min:r,max:_}=Math;return f(o-n)>f(a-l)?(t=_(r(o,n),a),s=r(_(o,n),l)):(t=r(o,n),s=_(o,n)),[t,s]}}get rule_coords(){const t=this.dimension,e=(t+1)%2,[i]=this.ranges,[s,o]=this.computed_bounds,n=[new Array(2),new Array(2)];return n[t][0]=Math.max(s,i.min),n[t][1]=Math.min(o,i.max),n[t][0]>n[t][1]&&(n[t][0]=n[t][1]=NaN),n[e][0]=this.loc,n[e][1]=this.loc,n}get tick_coords(){const t=this.dimension,e=(t+1)%2,[i]=this.ranges,[s,o]=this.computed_bounds,n=this.model.ticker.get_ticks(s,o,i,this.loc),a=n.major,l=n.minor,r=[[],[]],_=[[],[]],[c,h]=[i.min,i.max];for(let i=0;i<a.length;i++)a[i]<c||a[i]>h||(r[t].push(a[i]),r[e].push(this.loc));for(let i=0;i<l.length;i++)l[i]<c||l[i]>h||(_[t].push(l[i]),_[e].push(this.loc));return{major:r,minor:_}}get loc(){const{fixed_location:t}=this.model;if(null!=t){if(u.isNumber(t))return t;const[,e]=this.ranges;if(e instanceof g.FactorRange)return e.synthetic(t);throw new Error("unexpected")}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})}}i.AxisView=p,p.__name__="AxisView";class k extends a.GuideRenderer{constructor(t){super(t)}static init_Axis(){this.prototype.default_view=p,this.mixins([["axis_",c.Line],["major_tick_",c.Line],["minor_tick_",c.Line],["major_label_",c.Text],["axis_label_",c.Text]]),this.define((({Any:t,Int:e,Number:i,String:s,Ref:o,Dict:n,Tuple:a,Or:c,Nullable:b,Auto:m})=>({bounds:[c(a(i,i),m),"auto"],ticker:[o(l.Ticker)],formatter:[o(r.TickFormatter)],axis_label:[b(s),""],axis_label_standoff:[e,5],major_label_standoff:[e,5],major_label_orientation:[c(h.TickLabelOrientation,i),"horizontal"],major_label_overrides:[n(s),{}],major_label_policy:[o(_.LabelingPolicy),()=>new _.AllLabels],major_tick_in:[i,2],major_tick_out:[i,6],minor_tick_in:[i,0],minor_tick_out:[i,4],fixed_location:[b(c(i,t)),null]}))),this.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"})}}i.Axis=k,k.__name__="Axis",k.init_Axis()},n”, “ function _(e,r,d,i,n){i();const s=e(41);class t extends s.RendererView{}d.GuideRendererView=t,t.__name__="GuideRendererView";class _ extends s.Renderer{constructor(e){super(e)}static init_GuideRenderer(){this.override({level:"guide"})}}d.GuideRenderer=_,_.__name__="GuideRenderer",_.init_GuideRenderer()},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(167);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 _(t,e,s,i,n){i();const h=t(99),o=t(143),r=t(9),a=t(8),c=t(168),_=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}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.align="left",this.text=t}set visuals(t){const e=t.text_color.get_value(),s=t.text_alpha.get_value(),i=t.text_font_style.get_value();let n=t.text_font_size.get_value();const h=t.text_font.get_value(),{font_size_scale:o}=this;if(1!=o){const t=n.match(/^\s*(\d+(.\d+)?)px\s*$/);if(null!=t){const[,e]=t,s=Number(e);isNaN(s)||(n=s*o+"px")}}const r=`${i} ${n} ${h}`;this.font=r,this.color=_.color2css(e,s),this.line_height=t.text_line_height.get_value()}infer_text_height(){if(this.text.includes("\n"))return"ascent_descent";return function(t){for(const e of new Set(t))if(!("0"<=e&&e<="9"))switch(e){case",":case".":case"+":case"-":case"−":case"e":continue;default:return!1}return!0}(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=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=>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: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="left",y_anchor:c="center"}=this.position;return{x:h-(()=>{if(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(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=o.font_metrics(n),a=(this.line_height-1)*h.height,c=this.text.split("\n"),_=c.length,l=c.map((t=>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,g="%"==(null===(i=this.height)||void 0===i?void 0:i.unit)?this.height.value:1,f=r.max(l)*p,d=(u+a*(_-1))*g;t.save(),t.fillStyle=this.color,t.font=this.font,t.textAlign="left",t.textBaseline="alphabetic";const{sx:m,sy:b}=this.position,{align:y}=this,{angle:w}=this;w&&(t.translate(m,b),t.rotate(w),t.translate(-m,-b));let{x:v,y:z}=this._computed_position({width:f,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=>s.text_width(t,n))),l=(f-r.sum(_))/(o-1);for(let e=0;e<o;e++)t.fillText(h[e],i,z),i+=_[e]+l;z+=x.height+a}else for(let e=0;e<_;e++){const s=v+(()=>{switch(y){case"left":return 0;case"center":return.5*(f-l[e]);case"right":return f-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 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}=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="left",y_anchor:h="center"}=this.position;return{x:s-(()=>{if(a.isNumber(n))return n*t;switch(n){case"left":return 0;case"center":return.5*t;case"right":return t}})(),y:i-(()=>{if(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}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=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,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})`}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,p=t.length;for(let o=0;o<p;o++){const p=t[o],c=s[o];t[o]=r*p+i*c+a,s[o]=n*p+e*c+h}}transform(t,s,r,n,i,e){const{a,b:h,c:p,d:o,e:c,f:l}=this;return this.a=a*t+p*s,this.c=a*r+p*n,this.e=a*i+p*e+c,this.b=h*t+o*s,this.d=h*r+o*n,this.f=h*i+o*e+l,this}translate(t,s){return this.transform(1,0,0,1,t,s)}scale(t,s){return this.transform(t,0,0,s,0,0)}skew(t,s){return this.transform(1,s,t,1,0,0)}rotate(t){const s=e(t),r=a(t);return this.transform(r,s,-s,r,0,0)}rotate_ccw(t){return this.rotate(-t)}translate_x(t){return this.translate(t,0)}translate_y(t){return this.translate(0,t)}flip(){return this.scale(-1,-1)}flip_x(){return this.scale(1,-1)}flip_y(){return this.scale(-1,1)}}r.AffineTransform=h,h.__name__="AffineTransform"},n”, “ function _(e,n,s,t,i){t();const l=e(53),c=e(13),o=e(34),r=e(8),a=e(24);class u extends l.Model{constructor(e){super(e)}}s.LabelingPolicy=u,u.__name__="LabelingPolicy";class _ extends u{constructor(e){super(e)}filter(e,n,s){return e}}s.AllLabels=_,_.__name__="AllLabels";class d extends u{constructor(e){super(e)}static init_NoOverlap(){this.define((({Number:e})=>({min_distance:[e,5]})))}filter(e,n,s){const{min_distance:t}=this;let i=null;for(const n of e)null!=i&&s(i,n)<t?e.unset(n):i=n;return e}}s.NoOverlap=d,d.__name__="NoOverlap",d.init_NoOverlap();class m extends u{constructor(e){super(e)}static init_CustomLabelingPolicy(){this.define((({Unknown:e,String:n,Dict:s})=>({args:[s(e),{}],code:[n,""]})))}get names(){return c.keys(this.args)}get values(){return c.values(this.args)}get func(){const e=o.use_strict(this.code);return new a.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 l=i.next();if(l.done&&void 0!==l.value){const{value:n}=l;return n instanceof a.Indices?n:void 0===n?e:r.isIterable(n)?a.Indices.from_indices(e.size,n):a.Indices.all_unset(e.size)}{const n=[];do{n.push(l.value),l=i.next()}while(!l.done);return a.Indices.from_indices(e.size,n)}}}s.CustomLabelingPolicy=m,m.__name__="CustomLabelingPolicy",m.init_CustomLabelingPolicy()},n”, “ function _(t,s,e,o,i){o();const a=t(1),r=t(163),l=t(171),_=t(172),n=a.__importStar(t(48)),c=t(20),p=t(167),h=t(8);class m extends r.AxisView{_paint(t,s,e){this._draw_group_separators(t,s,e)}_draw_group_separators(t,s,e){const[o]=this.ranges,[i,a]=this.computed_bounds;if(!o.tops||o.tops.length<2||!this.visuals.separator_line.doit)return;const r=this.dimension,l=(r+1)%2,_=[[],[]];let n=0;for(let t=0;t<o.tops.length-1;t++){let s,e;for(let i=n;i<o.factors.length;i++)if(o.factors[i][0]==o.tops[t+1]){[s,e]=[o.factors[i-1],o.factors[i]],n=i;break}const c=(o.synthetic(s)+o.synthetic(e))/2;c>i&&c<a&&(_[r].push(c),_[l].push(this.loc))}const c=this.extents.tick_label;this._draw_ticks(t,_,-3,c-6,this.visuals.separator_line)}_draw_major_labels(t,s,e){const o=this._get_factor_info();let i=s.tick+this.model.major_label_standoff;for(let e=0;e<o.length;e++){const[a,r,l,_]=o[e];this._draw_oriented_labels(t,a,r,l,this.panel.side,i,_),i+=s.tick_labels[e]}}_tick_label_extents(){const t=this._get_factor_info(),s=[];for(const[e,,o,i]of t){const t=this._oriented_labels_extent(e,o,this.model.major_label_standoff,i);s.push(t)}return s}_get_factor_info(){const[t]=this.ranges,[s,e]=this.computed_bounds,o=this.loc,i=this.model.ticker.get_ticks(s,e,t,o),a=this.tick_coords,r=[],l=t=>new p.GraphicsBoxes(t.map((t=>h.isString(t)?new p.TextBox({text:t}):t))),_=t=>l(this.model.formatter.doFormat(t,this));if(1==t.levels){const t=_(i.major);r.push([t,a.major,this.model.major_label_orientation,this.visuals.major_label_text])}else if(2==t.levels){const t=_(i.major.map((t=>t[1])));r.push([t,a.major,this.model.major_label_orientation,this.visuals.major_label_text]),r.push([l(i.tops),a.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]));r.push([t,a.major,this.model.major_label_orientation,this.visuals.major_label_text]),r.push([l(s),a.mids,this.model.subgroup_label_orientation,this.visuals.subgroup_text]),r.push([l(i.tops),a.tops,this.model.group_label_orientation,this.visuals.group_text])}return r}get tick_coords(){const t=this.dimension,s=(t+1)%2,[e]=this.ranges,[o,i]=this.computed_bounds,a=this.model.ticker.get_ticks(o,i,e,this.loc),r={major:[[],[]],mids:[[],[]],tops:[[],[]],minor:[[],[]]};return r.major[t]=a.major,r.major[s]=a.major.map((()=>this.loc)),3==e.levels&&(r.mids[t]=a.mids,r.mids[s]=a.mids.map((()=>this.loc))),e.levels>1&&(r.tops[t]=a.tops,r.tops[s]=a.tops.map((()=>this.loc))),r}}e.CategoricalAxisView=m,m.__name__="CategoricalAxisView";class u extends r.Axis{constructor(t){super(t)}static init_CategoricalAxis(){this.prototype.default_view=m,this.mixins([["separator_",n.Line],["group_",n.Text],["subgroup_",n.Text]]),this.define((({Number:t,Or:s})=>({group_label_orientation:[s(c.TickLabelOrientation,t),"parallel"],subgroup_label_orientation:[s(c.TickLabelOrientation,t),"parallel"]}))),this.override({ticker:()=>new l.CategoricalTicker,formatter:()=>new _.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"})}}e.CategoricalAxis=u,u.__name__="CategoricalAxis",u.init_CategoricalAxis()},n”, “ function _(t,c,o,s,e){s();const r=t(165);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&&t<s&&e.push(r)}return e}}o.CategoricalTicker=i,i.__name__="CategoricalTicker"},n”, “ function _(t,r,o,c,a){c();const e=t(166),n=t(9);class i extends e.TickFormatter{constructor(t){super(t)}doFormat(t,r){return n.copy(t)}}o.CategoricalTickFormatter=i,i.__name__="CategoricalTickFormatter"},n”, “ function _(s,n,i,o,u){o();const e=s(163);class t extends e.AxisView{}i.ContinuousAxisView=t,t.__name__="ContinuousAxisView";class _ extends e.Axis{constructor(s){super(s)}}i.ContinuousAxis=_,_.__name__="ContinuousAxis"},n”, “ function _(e,t,i,s,a){s();const n=e(175),r=e(180),m=e(185);class _ extends n.LinearAxisView{}i.DatetimeAxisView=_,_.__name__="DatetimeAxisView";class c extends n.LinearAxis{constructor(e){super(e)}static init_DatetimeAxis(){this.prototype.default_view=_,this.override({ticker:()=>new m.DatetimeTicker,formatter:()=>new r.DatetimeTickFormatter})}}i.DatetimeAxis=c,c.__name__="DatetimeAxis",c.init_DatetimeAxis()},n”, “ function _(i,e,s,n,t){n();const r=i(173),a=i(176),o=i(177);class c extends r.ContinuousAxisView{}s.LinearAxisView=c,c.__name__="LinearAxisView";class _ extends r.ContinuousAxis{constructor(i){super(i)}static init_LinearAxis(){this.prototype.default_view=c,this.override({ticker:()=>new o.BasicTicker,formatter:()=>new a.BasicTickFormatter})}}s.LinearAxis=_,_.__name__="LinearAxis",_.init_LinearAxis()},n”, “ function _(i,t,e,n,o){n();const s=i(166),r=i(34);function c(i){let t="";for(const e of i)t+="-"==e?"−":e;return t}e.unicode_replace=c;class _ extends s.TickFormatter{constructor(i){super(i),this.last_precision=3}static init_BasicTickFormatter(){this.define((({Boolean:i,Int:t,Auto:e,Or:n})=>({precision:[n(t,e),"auto"],use_scientific:[i,!0],power_limit_high:[t,5],power_limit_low:[t,-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=>c(i.toExponential(e)))):i.map((i=>c(r.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<i.length;t++)if(e[t]==e[t-1])continue i;this.last_precision=o;break}e[0]=r.to_fixed(i[0],o);for(let t=1;t<i.length;t++)if(e[t]=r.to_fixed(i[t],o),e[t]==e[t-1])continue i;this.last_precision=o;break}return this.last_precision}doFormat(i,t){if(0==i.length)return[];const e=this._need_sci(i),n="auto"==this.precision?this._auto_precision(i,e):this.precision;return this._format_with_precision(i,e,n)}}e.BasicTickFormatter=_,_.__name__="BasicTickFormatter",_.init_BasicTickFormatter()},n”, “ function _(c,e,s,i,n){i();const r=c(178);class t extends r.AdaptiveTicker{constructor(c){super(c)}}s.BasicTicker=t,t.__name__="BasicTicker"},n”, “ function _(t,i,a,e,s){e();const n=t(179),r=t(9),_=t(10);class l extends n.ContinuousTicker{constructor(t){super(t)}static init_AdaptiveTicker(){this.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]})))}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=r.nth(this.mantissas,-1)/this.base,i=r.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 e=i-t,s=this.get_ideal_interval(t,i,a),n=Math.floor(_.log(s/this.base_factor,this.base)),l=this.base**n*this.base_factor,h=this.extended_mantissas,m=h.map((t=>Math.abs(a-e/(t*l)))),v=h[r.argmin(m)]*l;return _.clamp(v,this.get_min_interval(),this.get_max_interval())}}a.AdaptiveTicker=l,l.__name__="AdaptiveTicker",l.init_AdaptiveTicker()},n”, “ function _(t,i,n,s,e){s();const o=t(165),r=t(9);class c extends o.Ticker{constructor(t){super(t)}static init_ContinuousTicker(){this.define((({Int:t})=>({num_minor_ticks:[t,5],desired_num_ticks:[t,6]})))}get_ticks(t,i,n,s){return this.get_ticks_no_defaults(t,i,s,this.desired_num_ticks)}get_ticks_no_defaults(t,i,n,s){const e=this.get_interval(t,i,s),o=Math.floor(t/e),c=Math.ceil(i/e);let _;_=isFinite(o)&&isFinite(c)?r.range(o,c+1):[];const u=_.map((t=>t*e)).filter((n=>t<=n&&n<=i)),a=this.num_minor_ticks,f=[];if(a>0&&u.length>0){const n=e/a,s=r.range(0,a).map((t=>t*n));for(const n of s.slice(1)){const s=u[0]-n;t<=s&&s<=i&&f.push(s)}for(const n of u)for(const e of s){const s=n+e;t<=s&&s<=i&&f.push(s)}}return{major:u,minor:f}}get_ideal_interval(t,i,n){return(i-t)/n}}n.ContinuousTicker=c,c.__name__="ContinuousTicker",c.init_ContinuousTicker()},n”, “ function _(t,s,e,i,n){i();const r=t(1).__importDefault(t(181)),o=t(166),a=t(19),c=t(182),m=t(9),u=t(8);function h(t){return r.default(t,"%Y %m %d %H %M %S").split(/\s+/).map((t=>parseInt(t,10)))}function d(t,s){if(u.isFunction(s))return s(t);{const e=c.sprintf("$1%06d",function(t){return Math.round(t/1e3%1*1e6)}(t));return-1==(s=s.replace(/((^|[^%])(%%))%f/,e)).indexOf("%")?s:r.default(t,s)}}const l=["microseconds","milliseconds","seconds","minsec","minutes","hourmin","hours","days","months","years"];class f extends o.TickFormatter{constructor(t){super(t),this.strip_leading_zeros=!0}static init_DatetimeTickFormatter(){this.define((({String:t,Array:s})=>({microseconds:[s(t),["%fus"]],milliseconds:[s(t),["%3Nms","%S.%3Ns"]],seconds:[s(t),["%Ss"]],minsec:[s(t),[":%M:%S"]],minutes:[s(t),[":%M","%Mm"]],hourmin:[s(t),["%H:%M"]],hours:[s(t),["%Hh","%H:%M"]],days:[s(t),["%m/%d","%a%d"]],months:[s(t),["%m/%Y","%b %Y"]],years:[s(t),["%Y"]]})))}initialize(){super.initialize(),this._update_width_formats()}_update_width_formats(){const t=+r.default(new Date),s=function(s){const e=s.map((s=>d(t,s).length)),i=m.sort_by(m.zip(e,s),(([t])=>t));return m.unzip(i)};this._width_formats={microseconds:s(this.microseconds),milliseconds:s(this.milliseconds),seconds:s(this.seconds),minsec:s(this.minsec),minutes:s(this.minutes),hourmin:s(this.hourmin),hours:s(this.hours),days:s(this.days),months:s(this.months),years:s(this.years)}}_get_resolution_str(t,s){const e=1.1*t;switch(!1){case!(e<.001):return"microseconds";case!(e<1):return"milliseconds";case!(e<60):return s>=60?"minsec":"seconds";case!(e<3600):return s>=3600?"hourmin":"minutes";case!(e<86400):return"hours";case!(e<2678400):return"days";case!(e<31536e3):return"months";default:return"years"}}doFormat(t,s){if(0==t.length)return[];const e=Math.abs(t[t.length-1]-t[0])/1e3,i=e/(t.length-1),n=this._get_resolution_str(i,e),[,[r]]=this._width_formats[n],o=[],c=l.indexOf(n),m={};for(const t of l)m[t]=0;m.seconds=5,m.minsec=4,m.minutes=4,m.hourmin=3,m.hours=3;for(const s of t){let t,e;try{e=h(s),t=d(s,r)}catch(t){a.logger.warn(unable to format tick for timestamp value ${s}),a.logger.warn(` - ${t}`),o.push("ERR");continue}let i=!1,u=c;for(;0==e[m[l[u]]];){let r;if(u+=1,u==l.length)break;if(("minsec"==n||"hourmin"==n)&&!i){if("minsec"==n&&0==e[4]&&0!=e[5]||"hourmin"==n&&0==e[3]&&0!=e[4]){r=this._width_formats[l[c-1]][1][0],t=d(s,r);break}i=!0}r=this._width_formats[l[u]][1][0],t=d(s,r)}if(this.strip_leading_zeros){let s=t.replace(/^0+/g,"");s!=t&&isNaN(parseInt(s))&&(s=`0${s}`),o.push(s)}else o.push(t)}return o}}e.DatetimeTickFormatter=f,f.__name__="DatetimeTickFormatter",f.init_DatetimeTickFormatter()},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<a&&!(f[o][n]<=r);o++);if((u=f[o]).rules){for(s=t[u.rules],c=T+1;c>=T-g;–c)for(o=0,a=s.length;o<a;o++)s[o].from<=c&&c<=s[o].to?h.push(e(u,s[o],c)):s[o].to<c&&1==g&&(g=c-s[o].to);for(h.sort((function(e,t){return e.sort-t.sort})),o=0,a=h.length;o<a;o++)r>=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)&&o<r.save?null:n-r.offset-r.save);var r,o}function o(e,t,o){var a,i=+(o[1]+1),s=o[2]*i,c=u.indexOf(o[3].toLowerCase());if(c>9)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<e.length;t++)if(l=e[t],Array.isArray(l))t||isNaN(l[1])?l.splice.apply(e,[t–,1].concat(l)):s=l;else if(isNaN(l)){if("string"==(u=typeof l))~l.indexOf("%")?c.format=l:t||""!=l?!t&&(u=/^(\d{4})-(\d{2})-(\d{2})(?:[T\s](\d{2}):(\d{2})(?::(\d{2})(?:.(\d+))?)?(Z|(([+-])(\d{2}(:\d{2}){0,2})))?)?$/.exec(l))?((s=[]).push.apply(s,u.slice(1,8)),u[9]?(s.push(u[10]+1),s.push.apply(s,u[11].split(/:/))):u[8]&&s.push(1)):/^\w{2,3}_\w{2}$/.test(l)?c.locale=l:(u=i.exec(l))?f.push(u):c.zone=l:s=l;else if("function"==u){if(u=l.call(c))return u}else if(/^\w{2,3}_\w{2}$/.test(l.name))c[l.name]=l;else if(l.zones){for(u in l.zones)c[u]=l.zones[u];for(u in l.rules)c[u]=l.rules[u]}}else t||(s=l);if(c[c.locale]||delete c.locale,c[c.zone]||delete c.zone,null!=s){if(""==s)s=c.clock();else if(Array.isArray(s)){for(u=[],a=!s[7],t=0;t<11;t++)u[t]=+(s[t]||0);–u[1],s=Date.UTC.apply(Date.UTC,u)+-u[7]*(36e5*u[8]+6e4*u[9]+1e3*u[10])}else s=Math.floor(s);if(!isNaN(s)){if(a&&(s=r(c,s)),null==s)return s;for(t=0,a=f.length;t<a;t++)s=o(c,s,f[t]);return c.format?(u=new Date(n(c,s)),c.format.replace(/%([-0_^]?)(:{0,3})(\d*)(.)/g,(function(e,t,n,r,o){var a,i,l="0";if(a=c[o]){for(e=String(a.call(c,u,s,t,n.length)),"_"==(t||a.style)&&(l=" "),i="-"==t?0:a.pad||0;e.length<i;)e=l+e;for(i="-"==t?0:r||a.pad;e.length<i;)e=l+e;"N"==o&&i<e.length&&(e=e.slice(0,i)),"^"==t&&(e=e.toUpperCase())}return e}))):s}}return function(){return c.convert(arguments)}},locale:"en_US",en_US:{date:"%m/%d/%Y",time24:"%I:%M:%S %p",time12:"%I:%M:%S %p",dateTime:"%a %d %b %Y %I:%M:%S %p %Z",meridiem:["AM","PM"],month:{abbrev:"Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec".split("|\"),full:\"January|February|March|April|May|June|July|August|September|October|November|December\".split(\"|")},day:{abbrev:"Sun|Mon|Tue|Wed|Thu|Fri|Sat".split("|\"),full:\"Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday\".split(\"|")}}},u="Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|year|month|day|hour|minute|second|millisecond",i=new RegExp("^\\s*([+-])(\\d+)\\s+("+u+")s?\\s*$","i"),l=[36e5,6e4,1e3,1];function s(e,t){var n,r,o;return r=new Date(Date.UTC(e.getUTCFullYear(),0)),n=Math.floor((e.getTime()-r.getTime())/864e5),r.getUTCDay()==t?o=0:8==(o=7-r.getUTCDay()+t)&&(o=1),n>=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=u.__importStar(r(183)),f=r(184),o=u.__importDefault(r(181)),l=r(21),s=r(8);function c(r,...t){return f.sprintf(r,...t)}function m(r,t,n){if(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 p(r,t,e){if(null==t)return m;if(null!=e&&r in e){const t=e[r];if(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 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 function(r,t,n){const e=t.get_column(r);if(null==e)return null;if(s.isNumber(n))return e[n];const i=e[n.index];if(s.isTypedArray(i)||s.isArray(i))return s.isArray(i[0])?i[n.dim2][n.dim1]:i[n.flat_index];return i}(r.substring(1).replace(/[{}]/g,\"\"),t,n)}n.FormatterType=l.Enum(\"numeral\",\"printf\",\"datetime\"),n.DEFAULT_FORMATTERS={numeral:(r,t,n)=>a.format(r,t),datetime:(r,t,n)=>o.default(r,t),printf:(r,t,n)=>c(t,r)},n.sprintf=c,n.basic_formatter=m,n.get_formatter=p,n.get_value=d,n.replace_placeholders=function(r,t,n,e,i={},u){let a,f;if(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=`${p(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<e;n++)t+=\"0\";return t}function h(e,n,t,r){var i,a,o=Math.pow(10,n);return a=e.toFixed(0).search(\"e\")>-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){return 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<c||l<s||l<f)&&(r=0),(i=i.split("")).splice(r,0,o[u].currency.symbol+d),i=i.join("")):i=o[u].currency.symbol+d+i:i.indexOf(")")>-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)}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<M;i++)n+="0";Math.floor(Math.log(Math.abs(e))/Math.LN10)+1!==g&&(T>=Math.pow(10,12)&&!D||j?(k+=o[u].abbreviations.trillion,e/=Math.pow(10,12)):T<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,9)&&T>=Math.pow(10,6)&&!D||N?(k+=o[u].abbreviations.million,e/=Math.pow(10,6)):(T<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&&e<l){C+=K[s],a>0&&(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&&e<l){C+=G[s],a>0&&(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<v&&(x=new Array(v-x.length+1).join("0")+x),y>-1&&(x=x.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+o[u].delimiters.thousands)),0===n.indexOf(".")&&(x=""),b+(n.indexOf("(")<n.indexOf("-")?(B&&R?"(":"")+(P&&R||!B&&R?"-":""):(P&&R||!B&&R?"-":"")+(B&&R?"(":""))+(!R&&E&&0!==e?"+":"")+x+I+(L||"")+(k&&!r?k:"")+(C||"")+(B&&R?")":"")+w}function x(e,n){o[e]=n}function g(e){u=e;var n=o[e].defaults;n&&n.format&&a.defaultFormat(n.format),n&&n.currencyFormat&&a.defaultCurrencyFormat(n.currencyFormat)}(a=function(e){return a.isNumbro(e)?e=e.value():0===e||void 0===e?e=0:Number(e)||(e=a.fn.unformat(e)),new f(Number(e))}).version="1.6.2",a.isNumbro=function(e){return e instanceof f},a.setLanguage=function(e,n){console.warn("`setLanguage` is deprecated since version 1.6.0. Use `setCulture` instead");var t=e,r=e.split("-")[0],i=null;l[t]||(Object.keys(l).forEach((function(e){i||e.split("-")[0]!==r||(i=e)})),t=i||n||"en-US"),g(t)},a.setCulture=function(e,n){var t=e,r=e.split("-")[1],i=null;o[t]||(r&&Object.keys(o).forEach((function(e){i||e.split("-")[1]!==r||(i=e)})),t=i||n||"en-US"),g(t)},a.language=function(e,n){if(console.warn("`language` is deprecated since version 1.6.0. Use `culture` instead"),!e)return u;if(e&&!n){if(!l[e])throw new Error("Unknown language : "+e);g(e)}return!n&&l[e]||x(e,n),a},a.culture=function(e,n){if(!e)return u;if(e&&!n){if(!o[e])throw new Error("Unknown culture : "+e);g(e)}return!n&&o[e]||x(e,n),a},a.languageData=function(e){if(console.warn("`languageData` is deprecated since version 1.6.0. Use `cultureData` instead"),!e)return l[u];if(!l[e])throw new Error("Unknown language : "+e);return l[e]},a.cultureData=function(e){if(!e)return o[u];if(!o[e])throw new Error("Unknown culture : "+e);return o[e]},a.culture("en-US",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(e){var n=e%10;return 1==~~(e%100/10)?"th":1===n?"st":2===n?"nd":3===n?"rd":"th"},currency:{symbol:"$",position:"prefix"},defaults:{currencyFormat:",0000 a"},formats:{fourDigits:"0000 a",fullWithTwoDecimals:"$ ,0.00",fullWithTwoDecimalsNoCurrency:",0.00"}}),a.languages=function(){return console.warn("`languages` is deprecated since version 1.6.0. Use `cultures` instead"),l},a.cultures=function(){return o},a.zeroFormat=function(e){c="string"==typeof e?e:null},a.defaultFormat=function(e){s="string"==typeof e?e:"0.0"},a.defaultCurrencyFormat=function(e){"string"==typeof e?e:"0$"},a.validate=function(e,n){var t,r,i,o,l,u,c,s;if("string"!=typeof e&&(e+="",console.warn&&console.warn("Numbro.js: Value is not string. It has been co-erced to: ",e)),(e=e.trim()).match(/^\d+$/))return!0;if(""===e)return!1;try{c=a.cultureData(n)}catch(e){c=a.cultureData(a.culture())}return i=c.currency.symbol,l=c.abbreviations,t=c.delimiters.decimal,r="."===c.delimiters.thousands?"\.":c.delimiters.thousands,(null===(s=e.match(/^[^\d]+/))||(e=e.substr(1),s[0]===i))&&((null===(s=e.match(/[^\d]+$/))||(e=e.slice(0,-1),s[0]===l.thousand||s[0]===l.million||s[0]===l.billion||s[0]===l.trillion))&&(u=new RegExp(r+"{2}"),!e.match(/[^\d.,]/g)&&(!((o=e.split(t)).length>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<g;s++)if("string"==typeof t[s])y+=t[s];else if("object"==typeof t[s]){if((o=t[s]).keys)for(i=r[d],a=0;a<o.keys.length;a++){if(null==i)throw new Error(n(‘[sprintf] Cannot access property "%s" of undefined value "%s"’,o.keys[a],o.keys[a-1]));i=i[o.keys[a]]}else i=o.param_no?r[o.param_no]:r[d++];if(e.not_type.test(o.type)&&e.not_primitive.test(o.type)&&i instanceof Function&&(i=i()),e.numeric_arg.test(o.type)&&"number"!=typeof i&&isNaN(i))throw new TypeError(n("[sprintf] expecting number but found %T",i));switch(e.number.test(o.type)&&(u=i>=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,i,n,t,a){t();const s=e(9),r=e(178),c=e(186),m=e(187),_=e(190),k=e(191),o=e(189);class T extends c.CompositeTicker{constructor(e){super(e)}static init_DatetimeTicker(){this.override({num_minor_ticks:0,tickers:()=>[new r.AdaptiveTicker({mantissas:[1,2,5],base:10,min_interval:0,max_interval:500*o.ONE_MILLI,num_minor_ticks:0}),new r.AdaptiveTicker({mantissas:[1,2,5,10,15,20,30],base:60,min_interval:o.ONE_SECOND,max_interval:30*o.ONE_MINUTE,num_minor_ticks:0}),new r.AdaptiveTicker({mantissas:[1,2,4,6,8,12],base:24,min_interval:o.ONE_HOUR,max_interval:12*o.ONE_HOUR,num_minor_ticks:0}),new m.DaysTicker({days:s.range(1,32)}),new m.DaysTicker({days:s.range(1,31,3)}),new m.DaysTicker({days:[1,8,15,22]}),new m.DaysTicker({days:[1,15]}),new _.MonthsTicker({months:s.range(0,12,1)}),new _.MonthsTicker({months:s.range(0,12,2)}),new _.MonthsTicker({months:s.range(0,12,4)}),new _.MonthsTicker({months:s.range(0,12,6)}),new k.YearsTicker({})]})}}n.DatetimeTicker=T,T.__name__="DatetimeTicker",T.init_DatetimeTicker()},n”, “ function _(t,e,i,s,r){s();const n=t(179),_=t(9);class a extends n.ContinuousTicker{constructor(t){super(t)}static init_CompositeTicker(){this.define((({Array:t,Ref:e})=>({tickers:[t(e(n.ContinuousTicker)),[]]})))}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 s=e-t,r=this.get_ideal_interval(t,e,i),n=[_.sorted_index(this.min_intervals,r)-1,_.sorted_index(this.max_intervals,r)],a=[this.min_intervals[n[0]],this.max_intervals[n[1]]].map((t=>Math.abs(i-s/t)));let c;if(_.is_empty(a.filter((t=>!isNaN(t)))))c=this.tickers[0];else{const t=n[_.argmin(a)];c=this.tickers[t]}return c}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,s){return this.get_best_ticker(t,e,s).get_ticks_no_defaults(t,e,i,s)}}i.CompositeTicker=a,a.__name__="CompositeTicker",a.init_CompositeTicker()},n”, “ function _(t,e,n,i,s){i();const a=t(188),o=t(189),r=t(9);class c extends a.SingleIntervalTicker{constructor(t){super(t)}static init_DaysTicker(){this.define((({Int:t,Array:e})=>({days:[e(t),[]]}))),this.override({num_minor_ticks:0})}initialize(){super.initialize();const t=this.days;t.length>1?this.interval=(t[1]-t[0])*o.ONE_DAY:this.interval=31*o.ONE_DAY}get_ticks_no_defaults(t,e,n,i){const s=function(t,e){const n=o.last_month_no_later_than(new Date(t)),i=o.last_month_no_later_than(new Date(e));i.setUTCMonth(i.getUTCMonth()+1);const s=[],a=n;for(;s.push(o.copy_date(a)),a.setUTCMonth(a.getUTCMonth()+1),!(a>i););return s}(t,e),a=this.days,c=this.interval;return{major:r.concat(s.map((t=>((t,e)=>{const n=t.getUTCMonth(),i=[];for(const s of a){const a=o.copy_date(t);a.setUTCDate(s),new Date(a.getTime()+e/2).getUTCMonth()==n&&i.push(a)}return i})(t,c)))).map((t=>t.getTime())).filter((n=>t<=n&&n<=e)),minor:[]}}}n.DaysTicker=c,c.__name__="DaysTicker",c.init_DaysTicker()},n”, “ function _(e,t,n,i,r){i();const l=e(179);class a extends l.ContinuousTicker{constructor(e){super(e)}static init_SingleIntervalTicker(){this.define((({Number:e})=>({interval:[e]})))}get_interval(e,t,n){return this.interval}get_min_interval(){return this.interval}get_max_interval(){return this.interval}}n.SingleIntervalTicker=a,a.__name__="SingleIntervalTicker",a.init_SingleIntervalTicker()},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,i,s){i();const r=t(188),a=t(189),o=t(9);class c extends r.SingleIntervalTicker{constructor(t){super(t)}static init_MonthsTicker(){this.define((({Int:t,Array:e})=>({months:[e(t),[]]})))}initialize(){super.initialize();const t=this.months;t.length>1?this.interval=(t[1]-t[0])*a.ONE_MONTH:this.interval=12*a.ONE_MONTH}get_ticks_no_defaults(t,e,n,i){const s=function(t,e){const n=a.last_year_no_later_than(new Date(t)),i=a.last_year_no_later_than(new Date(e));i.setUTCFullYear(i.getUTCFullYear()+1);const s=[],r=n;for(;s.push(a.copy_date(r)),r.setUTCFullYear(r.getUTCFullYear()+1),!(r>i););return s}(t,e),r=this.months;return{major:o.concat(s.map((t=>r.map((e=>{const n=a.copy_date(t);return n.setUTCMonth(e),n}))))).map((t=>t.getTime())).filter((n=>t<=n&&n<=e)),minor:[]}}}n.MonthsTicker=c,c.__name__="MonthsTicker",c.init_MonthsTicker()},n”, “ function _(e,t,a,i,r){i();const n=e(177),_=e(188),s=e(189);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=s.last_year_no_later_than(new Date(e)).getUTCFullYear(),n=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 _(i,s,t,e,o){e();const n=i(173),r=i(193),_=i(194);class c extends n.ContinuousAxisView{}t.LogAxisView=c,c.__name__="LogAxisView";class x extends n.ContinuousAxis{constructor(i){super(i)}static init_LogAxis(){this.prototype.default_view=c,this.override({ticker:()=>new _.LogTicker,formatter:()=>new r.LogTickFormatter})}}t.LogAxis=x,x.__name__="LogAxis",x.init_LogAxis()},n”, “ function _(t,e,r,i,n){i();const o=t(166),a=t(176),s=t(194),c=t(167),{log:l,round:u}=Math;class _ extends o.TickFormatter{constructor(t){super(t)}static init_LogTickFormatter(){this.define((({Ref:t,Nullable:e})=>({ticker:[e(t(s.LogTicker)),null]})))}initialize(){super.initialize(),this.basic_formatter=new a.BasicTickFormatter}format_graphics(t,e){var r,i;if(0==t.length)return[];const n=null!==(i=null===(r=this.ticker)||void 0===r?void 0:r.base)&&void 0!==i?i:10,o=this._exponents(t,n);return null==o?this.basic_formatter.format_graphics(t,e):o.map((t=>{const e=new c.TextBox({text:a.unicode_replace(${n})}),r=new c.TextBox({text:a.unicode_replace(${t})});return new c.BaseExpo(e,r)}))}_exponents(t,e){let r=null;const i=[];for(const n of t){const t=u(l(n)/l(e));if(r==t)return null;r=t,i.push(t)}return i}doFormat(t,e){var r,i;if(0==t.length)return[];const n=null!==(i=null===(r=this.ticker)||void 0===r?void 0:r.base)&&void 0!==i?i:10,o=this._exponents(t,n);return null==o?this.basic_formatter.doFormat(t,e):o.map((t=>a.unicode_replace(${n}^${t})))}}r.LogTickFormatter=_,_.__name__="LogTickFormatter",_.init_LogTickFormatter()},n”, “ function _(t,o,e,i,s){i();const n=t(178),r=t(9);class c extends n.AdaptiveTicker{constructor(t){super(t)}static init_LogTicker(){this.override({mantissas:[1,5]})}get_ticks_no_defaults(t,o,e,i){const s=this.num_minor_ticks,n=[],c=this.base,a=Math.log(t)/Math.log(c),f=Math.log(o)/Math.log(c),l=f-a;let h;if(isFinite(l))if(l<2){const e=this.get_interval(t,o,i),c=Math.floor(t/e),a=Math.ceil(o/e);if(h=r.range(c,a+1).filter((t=>0!=t)).map((t=>t*e)).filter((e=>t<=e&&e<=o)),s>0&&h.length>0){const t=e/s,o=r.range(0,s).map((o=>o*t));for(const t of o.slice(1))n.push(h[0]-t);for(const t of h)for(const e of o)n.push(t+e)}}else{const t=Math.ceil(.999999*a),o=Math.floor(1.000001*f),e=Math.ceil((o-t)/9);if(h=r.range(t-1,o+1,e).map((t=>c**t)),s>0&&h.length>0){const t=c**e/s,o=r.range(1,s+1).map((o=>o*t));for(const t of o)n.push(h[0]/t);n.push(h[0]);for(const t of h)for(const e of o)n.push(t*e)}}else h=[];return{major:h.filter((e=>t<=e&&e<=o)),minor:n.filter((e=>t<=e&&e<=o))}}}e.LogTicker=c,c.__name__="LogTicker",c.init_LogTicker()},n”, “ function _(e,t,i,r,s){r();const a=e(163),o=e(175),c=e(196),n=e(197);class _ extends a.AxisView{}i.MercatorAxisView=_,_.__name__="MercatorAxisView";class x extends o.LinearAxis{constructor(e){super(e)}static init_MercatorAxis(){this.prototype.default_view=_,this.override({ticker:()=>new n.MercatorTicker({dimension:"lat"}),formatter:()=>new c.MercatorTickFormatter({dimension:"lat"})})}}i.MercatorAxis=x,x.__name__="MercatorAxis",x.init_MercatorAxis()},n”, “ function _(r,t,e,o,n){o();const i=r(176),c=r(20),a=r(65);class s extends i.BasicTickFormatter{constructor(r){super(r)}static init_MercatorTickFormatter(){this.define((({Nullable:r})=>({dimension:[r(c.LatLon),null]})))}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<e;n++){const[e]=a.wgs84_mercator.invert(r[n],t.loc);o[n]=e}else for(let n=0;n<e;n++){const[,e]=a.wgs84_mercator.invert(t.loc,r[n]);o[n]=e}return super.doFormat(o,t)}}e.MercatorTickFormatter=s,s.__name__="MercatorTickFormatter",s.init_MercatorTickFormatter()},n”, “ function _(t,o,n,r,s){r();const i=t(177),e=t(20),c=t(65);class _ extends i.BasicTicker{constructor(t){super(t)}static init_MercatorTicker(){this.define((({Nullable:t})=>({dimension:[t(e.LatLon),null]})))}get_ticks_no_defaults(t,o,n,r){if(null==this.dimension)throw new Error(${this}.dimension wasn’t configured);return[t,o]=c.clip_mercator(t,o,this.dimension),"lon"==this.dimension?this._get_ticks_lon(t,o,n,r):this._get_ticks_lat(t,o,n,r)}_get_ticks_lon(t,o,n,r){const[s]=c.wgs84_mercator.invert(t,n),[i,e]=c.wgs84_mercator.invert(o,n),_=super.get_ticks_no_defaults(s,i,n,r),a=[];for(const t of _.major)if(c.in_bounds(t,"lon")){const[o]=c.wgs84_mercator.compute(t,e);a.push(o)}const m=[];for(const t of _.minor)if(c.in_bounds(t,"lon")){const[o]=c.wgs84_mercator.compute(t,e);m.push(o)}return{major:a,minor:m}}_get_ticks_lat(t,o,n,r){const[,s]=c.wgs84_mercator.invert(n,t),[i,e]=c.wgs84_mercator.invert(n,o),_=super.get_ticks_no_defaults(s,e,n,r),a=[];for(const t of _.major)if(c.in_bounds(t,"lat")){const[,o]=c.wgs84_mercator.compute(i,t);a.push(o)}const m=[];for(const t of _.minor)if(c.in_bounds(t,"lat")){const[,o]=c.wgs84_mercator.compute(i,t);m.push(o)}return{major:a,minor:m}}}n.MercatorTicker=_,_.__name__="MercatorTicker",_.init_MercatorTicker()},n”, “ function _(e,i,r,c,k){c(),k("AdaptiveTicker",e(178).AdaptiveTicker),k("BasicTicker",e(177).BasicTicker),k("CategoricalTicker",e(171).CategoricalTicker),k("CompositeTicker",e(186).CompositeTicker),k("ContinuousTicker",e(179).ContinuousTicker),k("DatetimeTicker",e(185).DatetimeTicker),k("DaysTicker",e(187).DaysTicker),k("FixedTicker",e(199).FixedTicker),k("LogTicker",e(194).LogTicker),k("MercatorTicker",e(197).MercatorTicker),k("MonthsTicker",e(190).MonthsTicker),k("SingleIntervalTicker",e(188).SingleIntervalTicker),k("Ticker",e(165).Ticker),k("YearsTicker",e(191).YearsTicker),k("BinnedTicker",e(200).BinnedTicker)},n”, “ function _(i,t,e,r,n){r();const s=i(179);class _ extends s.ContinuousTicker{constructor(i){super(i)}static init_FixedTicker(){this.define((({Number:i,Array:t})=>({ticks:[t(i),[]],minor_ticks:[t(i),[]]})))}get_ticks_no_defaults(i,t,e,r){return{major:this.ticks,minor:this.minor_ticks}}get_interval(i,t,e){return 0}get_min_interval(){return 0}get_max_interval(){return 0}}e.FixedTicker=_,_.__name__="FixedTicker",_.init_FixedTicker()},n”, “ function _(e,n,t,i,r){i();const c=e(165),o=e(201),s=e(12);class a extends c.Ticker{constructor(e){super(e)}static init_BinnedTicker(){this.define((({Number:e,Ref:n,Or:t,Auto:i})=>({mapper:[n(o.ScanningColorMapper)],num_major_ticks:[t(e,i),8]})))}get_ticks(e,n,t,i){const{binning:r}=this.mapper.metrics,c=Math.max(0,s.left_edge_index(e,r)),o=Math.min(s.left_edge_index(n,r)+1,r.length-1),a=[];for(let e=c;e<=o;e++)a.push(r[e]);const{num_major_ticks:_}=this,m=[],h="auto"==_?a.length:_,l=Math.max(1,Math.floor(a.length/h));for(let e=0;e<a.length;e+=l)m.push(a[e]);return{major:m,minor:[]}}}t.BinnedTicker=a,a.__name__="BinnedTicker",a.init_BinnedTicker()},n”, “ function _(n,e,i,r,o){r();const t=n(202),a=n(12);class c extends t.ContinuousColorMapper{constructor(n){super(n)}cmap(n,e,i,r,o){if(n<o.binning[0])return i;if(n>o.binning[o.binning.length-1])return r;return e[a.left_edge_index(n,o.binning)]}}i.ScanningColorMapper=c,c.__name__="ScanningColorMapper"},n”, “ function _(t,o,e,n,s){n();const l=t(203),i=t(61),c=t(9),a=t(8);class r extends l.ColorMapper{constructor(t){super(t),this._scan_data=null}static init_ContinuousColorMapper(){this.define((({Number:t,String:o,Ref:e,Color:n,Or:s,Tuple:l,Array:c,Nullable:a})=>({high:[a(t),null],low:[a(t),null],high_color:[a(n),null],low_color:[a(n),null],domain:[c(l(e(i.GlyphRenderer),s(o,c(o)))),[]]})))}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:o}=this,e=[…this._collect(t)];this._scan_data=this.scan(e,o.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[o,e]of t)for(const t of a.isArray(e)?e:[e]){let e=o.data_source.get_column(t);e=o.view.indices.select(e);const n=o.view.masked,s=o.data_source.selected.indices;let l;if(null!=n&&s.length>0?l=c.intersection([…n],s):null!=n?l=[…n]:s.length>0&&(l=s),null!=l&&(e=c.map(l,(t=>e[t]))),e.length>0&&!a.isNumber(e[0]))for(const t of e)yield*t;else yield*e}}_v_compute(t,o,e,n){const{nan_color:s}=n;let{low_color:l,high_color:i}=n;null==l&&(l=e[0]),null==i&&(i=e[e.length-1]);const{domain:a}=this,r=c.is_empty(a)?t:[…this._collect(a)];this._scan_data=this.scan(r,e.length),this.metrics_change.emit();for(let n=0,c=t.length;n<c;n++){const c=t[n];isNaN(c)?o[n]=s:o[n]=this.cmap(c,e,l,i,this._scan_data)}}_colors(t){return Object.assign(Object.assign({},super._colors(t)),{low_color:null!=this.low_color?t(this.low_color):void 0,high_color:null!=this.high_color?t(this.high_color):void 0})}}e.ContinuousColorMapper=r,r.__name__="ContinuousColorMapper",r.init_ContinuousColorMapper()},n”, “ function _(t,r,e,n,o){n();const i=t(204),a=t(15),c=t(24),_=t(22),l=t(27);function s(t){return _.encode_rgba(_.color2rgba(t))}function p(t){const r=new Uint32Array(t.length);for(let e=0,n=t.length;e<n;e++)r[e]=s(t[e]);return r}e._convert_color=s,e._convert_palette=p;class u extends i.Mapper{constructor(t){super(t)}initialize(){super.initialize(),this.metrics_change=new a.Signal0(this,"metrics_change")}static init_ColorMapper(){this.define((({Color:t,Array:r})=>({palette:[r(t)],nan_color:[t,"gray"]})))}v_compute(t){const r=new Array(t.length);return this._v_compute(t,r,this.palette,this._colors((t=>t))),r}get rgba_mapper(){const t=this,r=p(this.palette),e=this._colors(s);return{v_compute(n){const o=new c.ColorArray(n.length);return t._v_compute(n,o,r,e),new Uint8ClampedArray(l.to_big_endian(o).buffer)}}}_colors(t){return{nan_color:t(this.nan_color)}}}e.ColorMapper=u,u.__name__="ColorMapper",u.init_ColorMapper()},n”, “ function _(r,e,n,s,o){s();const p=r(149);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 _(t,r,a,e,c){e(),c("BasicTickFormatter",t(176).BasicTickFormatter),c("CategoricalTickFormatter",t(172).CategoricalTickFormatter),c("DatetimeTickFormatter",t(180).DatetimeTickFormatter),c("FuncTickFormatter",t(206).FuncTickFormatter),c("LogTickFormatter",t(193).LogTickFormatter),c("MercatorTickFormatter",t(196).MercatorTickFormatter),c("NumeralTickFormatter",t(207).NumeralTickFormatter),c("PrintfTickFormatter",t(208).PrintfTickFormatter),c("TickFormatter",t(166).TickFormatter)},n”, “ function _(t,n,e,s,i){s();const r=t(166),c=t(13),a=t(34);class u extends r.TickFormatter{constructor(t){super(t)}static init_FuncTickFormatter(){this.define((({Unknown:t,String:n,Dict:e})=>({args:[e(t),{}],code:[n,""]})))}get names(){return c.keys(this.args)}get values(){return c.values(this.args)}_make_func(){const t=a.use_strict(this.code);return new Function("tick","index","ticks",…this.names,t)}doFormat(t,n){const e=this._make_func().bind({});return t.map(((t,n,s)=>e(t,n,s,…this.values)))}}e.FuncTickFormatter=u,u.__name__="FuncTickFormatter",u.init_FuncTickFormatter()},n”, “ function _(r,t,n,e,a){e();const o=r(1).__importStar(r(183)),i=r(166),u=r(20);class c extends i.TickFormatter{constructor(r){super(r)}static init_NumeralTickFormatter(){this.define((({String:r})=>({format:[r,"0,0"],language:[r,"en"],rounding:[u.RoundingFunction,"round"]})))}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,t){const{format:n,language:e,_rounding_fn:a}=this;return r.map((r=>o.format(r,n,e,a)))}}n.NumeralTickFormatter=c,c.__name__="NumeralTickFormatter",c.init_NumeralTickFormatter()},n”, “ function _(t,r,i,n,o){n();const a=t(166),e=t(182);class c extends a.TickFormatter{constructor(t){super(t)}static init_PrintfTickFormatter(){this.define((({String:t})=>({format:[t,"%s"]})))}doFormat(t,r){return t.map((t=>e.sprintf(this.format,t)))}}i.PrintfTickFormatter=c,c.__name__="PrintfTickFormatter",c.init_PrintfTickFormatter()},n”, “ function _(r,o,a,p,e){p(),e("CategoricalColorMapper",r(210).CategoricalColorMapper),e("CategoricalMarkerMapper",r(212).CategoricalMarkerMapper),e("CategoricalPatternMapper",r(213).CategoricalPatternMapper),e("ContinuousColorMapper",r(202).ContinuousColorMapper),e("ColorMapper",r(203).ColorMapper),e("LinearColorMapper",r(214).LinearColorMapper),e("LogColorMapper",r(215).LogColorMapper),e("ScanningColorMapper",r(201).ScanningColorMapper),e("EqHistColorMapper",r(216).EqHistColorMapper)},n”, “ function _(t,o,a,r,e){r();const c=t(211),l=t(203),i=t(104);class s extends l.ColorMapper{constructor(t){super(t)}static init_CategoricalColorMapper(){this.define((({Number:t,Nullable:o})=>({factors:[i.FactorSeq],start:[t,0],end:[o(t),null]})))}_v_compute(t,o,a,{nan_color:r}){c.cat_v_compute(t,this.factors,a,o,this.start,this.end,r)}}a.CategoricalColorMapper=s,s.__name__="CategoricalColorMapper",s.init_CategoricalColorMapper()},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;e<l;e++)if(n[e]!==t[e])return!1;return!0}e._cat_equals=f,e.cat_v_compute=function(n,t,e,l,i,o,r){const _=n.length;for(let g=0;g<_;g++){let _,s,h=n[g];u.isString(h)?_=c.index_of(t,h):(null!=i?h=null!=o?h.slice(i,o):h.slice(i):null!=o&&(h=h.slice(0,o)),_=1==h.length?c.index_of(t,h[0]):c.find_index(t,(n=>f(n,h)))),s=_<0||_>=e.length?r:e[_],l[g]=s}}},n”, “ function _(r,e,a,t,s){t();const c=r(211),i=r(104),l=r(204),n=r(20);class p extends l.Mapper{constructor(r){super(r)}static init_CategoricalMarkerMapper(){this.define((({Number:r,Array:e,Nullable:a})=>({factors:[i.FactorSeq],markers:[e(n.MarkerType)],start:[r,0],end:[a(r),null],default_value:[n.MarkerType,"circle"]})))}v_compute(r){const e=new Array(r.length);return c.cat_v_compute(r,this.factors,this.markers,e,this.start,this.end,this.default_value),e}}a.CategoricalMarkerMapper=p,p.__name__="CategoricalMarkerMapper",p.init_CategoricalMarkerMapper()},n”, “ function _(t,a,e,r,n){r();const s=t(211),c=t(104),i=t(204),p=t(20);class l extends i.Mapper{constructor(t){super(t)}static init_CategoricalPatternMapper(){this.define((({Number:t,Array:a,Nullable:e})=>({factors:[c.FactorSeq],patterns:[a(p.HatchPatternType)],start:[t,0],end:[e(t),null],default_value:[p.HatchPatternType," "]})))}v_compute(t){const a=new Array(t.length);return s.cat_v_compute(t,this.factors,this.patterns,a,this.start,this.end,this.default_value),a}}e.CategoricalPatternMapper=l,l.__name__="CategoricalPatternMapper",l.init_CategoricalPatternMapper()},n”, “ function _(n,r,o,t,a){t();const e=n(202),i=n(12);class s extends e.ContinuousColorMapper{constructor(n){super(n)}scan(n,r){const o=null!=this.low?this.low:i.min(n),t=null!=this.high?this.high: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(202),s=o(12);class e extends a.ContinuousColorMapper{constructor(o){super(o)}scan(o,t){const n=null!=this.low?this.low:s.min(o),r=null!=this.high?this.high: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(o<l.min)return n;const s=Math.log(o)-Math.log(l.min);let e=Math.floor(s*l.scale);return e>a&&(e=a),t[e]}}n.LogColorMapper=e,e.__name__="LogColorMapper"},n”, “ function _(n,t,i,e,o){e();const s=n(201),r=n(12),a=n(9),l=n(19);class c extends s.ScanningColorMapper{constructor(n){super(n)}static init_EqHistColorMapper(){this.define((({Int:n})=>({bins:[n,65536]})))}scan(n,t){const i=null!=this.low?this.low:r.min(n),e=null!=this.high?this.high:r.max(n),o=this.bins,s=a.linspace(i,e,o+1),c=r.bin_counts(n,s),h=new Array(o);for(let n=0,t=s.length;n<t-1;n++){const t=s[n],i=s[n+1];h[n]=(t+i)/2}const p=a.cumsum(c),g=p[p.length-1],u=r.map(p,(n=>n/g));let m=t-1,M=[],_=0,f=2*t;for(;m!=t&&_<4&&0!=m;){const n=f/m;if(n>1e3)break;f=Math.round(Math.max(t*n,t));const i=a.range(0,f),e=r.map(u,(n=>n*(f-1)));M=r.interpolate(i,e,h);m=a.uniq(M).length-1,_++}if(0==m){M=[i,e];for(let n=0;n<t-1;n++)M.push(e)}else M=M.slice(M.length-t-1),m!=t&&l.logger.warn("EqHistColorMapper warning: Histogram equalization did not converge.");return M[0]=i,M[M.length-1]=e,{min:i,max:e,binning:M}}}i.EqHistColorMapper=c,c.__name__="EqHistColorMapper",c.init_EqHistColorMapper()},n”, “ function _(a,e,l,c,n){c(),n("CategoricalScale",a(145).CategoricalScale),n("ContinuousScale",a(158).ContinuousScale),n("LinearScale",a(218).LinearScale),n("LinearInterpolationScale",a(219).LinearInterpolationScale),n("LogScale",a(157).LogScale),n("Scale",a(146).Scale)},n”, “ function _(e,t,n,r,_){r();const i=e(158);class u extends i.ContinuousScale{constructor(e){super(e)}get s_compute(){const[e,t]=this._linear_compute_state();return n=>e*n+t}compute(e){return this._linear_compute(e)}v_compute(e){return this._linear_v_compute(e)}invert(e){return this._linear_invert(e)}v_invert(e){return this._linear_v_invert(e)}}n.LinearScale=u,u.__name__="LinearScale"},n”, “ function _(n,e,t,r,i){r();const a=n(146),o=n(12);class c extends a.Scale{constructor(n){super(n)}static init_LinearInterpolationScale(){this.internal((({Arrayable:n})=>({binning:[n]})))}get s_compute(){throw new Error("not implemented")}compute(n){return n}v_compute(n){const{binning:e}=this,{start:t,end:r}=this.source_range,i=t,a=r,c=e.length,l=(r-t)/(c-1),s=new Float64Array(c);for(let n=0;n<c;n++)s[n]=t+n*l;const _=o.map(n,(n=>{if(n<i)return i;if(n>a)return a;const t=o.left_edge_index(n,e),r=e[t],c=(n-r)/(e[t+1]-r),l=s[t];return l+c*(s[t+1]-l)}));return this._linear_v_compute(_)}invert(n){return n}v_invert(n){return new Float64Array(n)}}t.LinearInterpolationScale=c,c.__name__="LinearInterpolationScale",c.init_LinearInterpolationScale()},n”, “ function _(a,n,e,g,R){g(),R("DataRange",a(160).DataRange),R("DataRange1d",a(159).DataRange1d),R("FactorRange",a(104).FactorRange),R("Range",a(105).Range),R("Range1d",a(156).Range1d)},n”, “ function _(a,o,i,t,e){t();var n=a(141);e("Sizeable",n.Sizeable),e("SizingPolicy",n.SizingPolicy);var c=a(142);e("Layoutable",c.Layoutable),e("LayoutItem",c.LayoutItem);var r=a(222);e("HStack",r.HStack),e("VStack",r.VStack);var l=a(223);e("Grid",l.Grid),e("Row",l.Row),e("Column",l.Column);var S=a(224);e("ContentBox",S.ContentBox),e("VariadicBox",S.VariadicBox)},n”, “ function _(t,e,h,i,r){i();const n=t(142),o=t(99);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(141),l=t(142),r=t(8),h=t(99),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 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 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<n;s++){const e=(()=>{var t;const i=r.isPlainObject(this.rows)?null!==(t=this.rows[s])&&void 0!==t?t:this.rows[""]:this.rows;return null==i?{policy:"auto"}:r.isNumber(i)?{policy:"fixed",height:i}: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");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<l;t++){const i=(()=>{var i;const s=r.isPlainObject(this.cols)?null!==(i=this.cols[t])&&void 0!==i?i:this.cols[""]:this.cols;return null==s?{policy:"auto"}:r.isNumber(s)?{policy:"fixed",width:s}: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");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]=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:c.sum(t)+(s-1)*o,width: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<s;t++){const i=o[t];c[t]="fixed"==i.policy?i.height:0}const p=new Array(e);for(let t=0;t<e;t++){const i=l[t];p[t]="fixed"==i.policy?i.width:0}const _=new f;i.foreach(((i,s)=>{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=s=>{let o;o="fixed"==this.sizing.height_policy&&null!=this.sizing.height?this.sizing.height:t.height!=1/0&&this.is_height_expanding()?t.height:s.size.height;let l=0;for(let t=0;t<i;t++){const i=e[t];"fit"==i.policy||"max"==i.policy?l+=i.flex:o-=s.row_heights[t]}if(o-=(i-1)*n,0!=l&&o>0)for(let t=0;t<i;t++){const i=e[t];if("fit"==i.policy||"max"==i.policy){const e=g(o*(i.flex/l));o-=e,s.row_heights[t]=e,l-=i.flex}}else if(o<0){let t=0;for(let s=0;s<i;s++){"fixed"!=e[s].policy&&t++}let n=-o;for(let o=0;o<i;o++){if("fixed"!=e[o].policy){const i=s.row_heights[o],e=g(n/t);s.row_heights[o]=a(i-e,0),n-=e>i?i:e,t–}}}},h=i=>{let e;e="fixed"==this.sizing.width_policy&&null!=this.sizing.width?this.sizing.width:t.width!=1/0&&this.is_width_expanding()?t.width:i.size.width;let n=0;for(let t=0;t<s;t++){const s=o[t];"fit"==s.policy||"max"==s.policy?n+=s.flex:e-=i.col_widths[t]}if(e-=(s-1)*l,0!=n&&e>0)for(let t=0;t<s;t++){const s=o[t];if("fit"==s.policy||"max"==s.policy){const o=g(e*(s.flex/n));e-=o,i.col_widths[t]=o,n-=s.flex}}else if(e<0){let t=0;for(let i=0;i<s;i++){"fixed"!=o[i].policy&&t++}let n=-e;for(let e=0;e<s;e++){if("fixed"!=o[e].policy){const s=i.col_widths[e],o=g(n/t);i.col_widths[e]=a(s-o,0),n-=o>s?s:o,t–}}}},c=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}}));r(c),h(c);const p=this._measure_cells(((t,i)=>({width:c.col_widths[i],height:c.row_heights[t]})));r(p),h(p);const{row_heights:f,col_widths:_}=p;return{size:this._measure_totals(f,_),row_heights:f,col_widths:_}}_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}=this._measure_grid(t),{size_hints:c}=this._measure_cells(((t,i)=>({width:r[i],height:l[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<s;i++){const t=f[i];t.top=e,e+=t.height+o}for(let i=0,s=this.absolute?t.left:0;i<e;i++){const t=_[i];t.left=s,s+=t.width+n}d.foreach((({r0:t,c0:i,r1:s,c1:e},l)=>{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(142),c=e(141),o=e(43);class r extends a.ContentLayoutable{constructor(e){super(),this.content_size=o.unsized(e,(()=>new c.Sizeable(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 o.sized(this.el,t,(()=>{const e=new c.Sizeable(o.content_size(this.el)),{border:t,padding:s}=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(141),r=t(142),n=t(99);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,n){s();const o=t(1),l=t(139),a=t(10),_=t(143),d=t(20),h=o.__importStar(t(48));class r extends l.TextAnnotationView{_get_size(){const{ctx:t}=this.layer;this.visuals.text.set_value(t);const{width:e}=t.measureText(this.model.text),{height:i}=_.font_metrics(t.font);return{width:e,height:i}}_render(){const{angle:t,angle_units:e}=this.model,i=a.resolve_angle(t,e),s=null!=this.layout?this.layout:this.plot_view.frame,n=this.coordinates.x_scale,o=this.coordinates.y_scale;let l="data"==this.model.x_units?n.compute(this.model.x):s.bbox.xview.compute(this.model.x),_="data"==this.model.y_units?o.compute(this.model.y):s.bbox.yview.compute(this.model.y);l+=this.model.x_offset,_-=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,l,_,i)}}i.LabelView=r,r.__name__="LabelView";class c extends l.TextAnnotation{constructor(t){super(t)}static init_Label(){this.prototype.default_view=r,this.mixins([h.Text,["border_",h.Line],["background_",h.Fill]]),this.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]}))),this.override({background_fill_color:null,border_line_color:null})}}i.Label=c,c.__name__="Label",c.init_Label()},n”, “ function _(t,e,s,i,o){i();const l=t(1),n=t(139),a=t(56),r=t(130),_=l.__importStar(t(48)),c=t(20),h=t(43),d=l.__importStar(t(18)),u=t(143);class x extends n.TextAnnotationView{set_data(t){a.DataAnnotationView.prototype.set_data.call(this,t)}initialize(){if(super.initialize(),this.set_data(this.model.source),"css"==this.model.render_mode)for(let t=0,e=this.text.length;t<e;t++){const t=h.div({style:{display:"none"}});this.el.appendChild(t)}}connect_signals(){super.connect_signals();const t=()=>{this.set_data(this.model.source),"css"==this.model.render_mode?this.render():this.request_render()};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)}_calculate_text_dimensions(t,e){const{width:s}=t.measureText(e),{height:i}=u.font_metrics(this.visuals.text.font_value(0));return[s,i]}_map_data(){const t=this.coordinates.x_scale,e=this.coordinates.y_scale,s=null!=this.layout?this.layout:this.plot_view.frame;return["data"==this.model.x_units?t.v_compute(this._x):s.bbox.xview.v_compute(this._x),"data"==this.model.y_units?e.v_compute(this._y):s.bbox.yview.v_compute(this._y)]}_render(){const t="canvas"==this.model.render_mode?this._v_canvas_text.bind(this):this._v_css_text.bind(this),{ctx:e}=this.layer,[s,i]=this._map_data();for(let o=0,l=this.text.length;o<l;o++)t(e,o,this.text.get(o),s[o]+this.x_offset.get(o),i[o]-this.y_offset.get(o),this.angle.get(o))}_get_size(){const{ctx:t}=this.layer;this.visuals.text.set_vectorize(t,0);const{width:e}=t.measureText(this.text.get(0)),{height:s}=u.font_metrics(t.font);return{width:e,height:s}}_v_canvas_text(t,e,s,i,o,l){this.visuals.text.set_vectorize(t,e);const n=this._calculate_bounding_box_dimensions(t,s);t.save(),t.beginPath(),t.translate(i,o),t.rotate(l),t.rect(n[0],n[1],n[2],n[3]),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_vectorize(t,e),t.fill()),this.visuals.border_line.doit&&(this.visuals.border_line.set_vectorize(t,e),t.stroke()),this.visuals.text.doit&&(this.visuals.text.set_vectorize(t,e),t.fillText(s,0,0)),t.restore()}_v_css_text(t,e,s,i,o,l){const n=this.el.children[e];n.textContent=s,this.visuals.text.set_vectorize(t,e);const[a,r]=this._calculate_bounding_box_dimensions(t,s);n.style.position="absolute",n.style.left=`${i+a}px`,n.style.top=`${o+r}px`,n.style.color=t.fillStyle,n.style.font=t.font,n.style.lineHeight="normal",l&&(n.style.transform=`rotate(${l}rad)`),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_vectorize(t,e),n.style.backgroundColor=t.fillStyle),this.visuals.border_line.doit&&(this.visuals.border_line.set_vectorize(t,e),n.style.borderStyle=t.lineDash.length<2?"solid":"dashed",n.style.borderWidth=`${t.lineWidth}px`,n.style.borderColor=t.strokeStyle),h.display(n)}}s.LabelSetView=x,x.__name__="LabelSetView";class v extends n.TextAnnotation{constructor(t){super(t)}static init_LabelSet(){this.prototype.default_view=x,this.mixins([_.TextVector,["border_",_.LineVector],["background_",_.FillVector]]),this.define((({Ref:t})=>({x:[d.XCoordinateSpec,{field:"x"}],y:[d.YCoordinateSpec,{field:"y"}],x_units:[c.SpatialUnits,"data"],y_units:[c.SpatialUnits,"data"],text:[d.StringSpec,{field:"text"}],angle:[d.AngleSpec,0],x_offset:[d.NumberSpec,{value:0}],y_offset:[d.NumberSpec,{value:0}],source:[t(r.ColumnDataSource),()=>new r.ColumnDataSource]}))),this.override({background_fill_color:null,border_line_color:null})}}s.LabelSet=v,v.__name__="LabelSet",v.init_LabelSet()},n”, “ function _(t,e,i,s,l){s();const n=t(1),h=t(40),o=t(229),a=t(20),_=n.__importStar(t(48)),r=t(15),d=t(140),c=t(143),g=t(99),m=t(9),b=t(8),f=t(11);class u extends h.AnnotationView{update_layout(){const{panel:t}=this;this.layout=null!=t?new d.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:s,label_width:l}=this.model;this.max_label_height=m.max([c.font_metrics(this.visuals.label_text.font_value()).height,s,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,m.max([n.measureText(e).width,l]));this.visuals.title_text.set_value(n),this.title_height=this.model.title?c.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 h=Math.max(m.max([…this.text_widths.values()]),0),o=this.model.margin,{legend_padding:a}=this,_=this.model.spacing,{label_standoff:r}=this.model;let d,u;if("vertical"==this.model.orientation)d=t.length*this.max_label_height+Math.max(t.length-1,0)*_+2*a+this.title_height,u=m.max([h+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+=m.max([t,l])+i+r;u=m.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(b.isString(v))switch(v){case"top_left":y=p.start+o,k=w.start+o;break;case"top":case"top_center":y=(p.end+p.start)/2-u/2,k=w.start+o;break;case"top_right":y=p.end-o-u,k=w.start+o;break;case"bottom_right":y=p.end-o-u,k=w.end-o-d;break;case"bottom":case"bottom_center":y=(p.end+p.start)/2-u/2,k=w.end-o-d;break;case"bottom_left":y=p.start+o,k=w.end-o-d;break;case"left":case"center_left":y=p.start+o,k=(w.end+w.start)/2-d/2;break;case"center":case"center_center":y=(p.end+p.start)/2-u/2,k=(w.end+w.start)/2-d/2;break;case"right":case"center_right":y=p.end-o-u,k=(w.end+w.start)/2-d/2}else if(b.isArray(v)&&2==v.length){const[t,e]=v;y=x.bbox.xview.compute(t),k=x.bbox.yview.compute(e)-d}else f.unreachable();return new g.BBox({left:y,top:k,width:u,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:s}=this.model,{legend_padding:l}=this,n=this.model.spacing,{label_standoff:h}=this.model;let o=i=l;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+o,m=a.y+i+this.title_height;let b,f;[b,f]=_?[a.width-2*l,this.max_label_height]:[this.text_widths.get(c)+s+h,this.max_label_height];if(new g.BBox({left:d,top:m,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:o+=this.text_widths.get(c)+s+h+n}}return!1}_render(){if(0==this.model.items.length)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.set_value(t),t.fill(),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.stroke())}_draw_legend_items(t,e){const{glyph_width:i,glyph_height:s}=this.model,{legend_padding:l}=this,n=this.model.spacing,{label_standoff:h}=this.model;let o=l,a=l;const _="vertical"==this.model.orientation;for(const r of this.model.items){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 m.every(r.renderers,(t=>t.visible));case"mute":return m.every(r.renderers,(t=>!t.muted))}})();for(const m of d){const d=e.x+o,b=e.y+a+this.title_height,f=d+i,u=b+s;_?a+=this.max_label_height+n:o+=this.text_widths.get(m)+i+h+n,this.visuals.label_text.set_value(t),t.fillText(m,f+h,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 s,n;[s,n]=_?[e.width-2*l,this.max_label_height]:[this.text_widths.get(m)+i+h,this.max_label_height],t.beginPath(),t.rect(d,b,s,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=u,u.__name__="LegendView";class x extends h.Annotation{constructor(t){super(t)}initialize(){super.initialize(),this.item_change=new r.Signal0(this,"item_change")}static init_Legend(){this.prototype.default_view=u,this.mixins([["label_",_.Text],["title_",_.Text],["inactive_",_.Fill],["border_",_.Line],["background_",_.Fill]]),this.define((({Number:t,String:e,Array:i,Tuple:s,Or:l,Ref:n,Nullable:h})=>({orientation:[a.Orientation,"vertical"],location:[l(a.LegendLocation,s(t,t)),"top_right"],title:[h(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(o.LegendItem)),[]],click_policy:[a.LegendClickPolicy,"none"]}))),this.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"})}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=x,x.__name__="Legend",x.init_Legend()},n”, “ function _(e,r,n,l,t){l();const i=e(1),s=e(53),o=e(61),_=e(57),a=e(230),u=i.__importStar(e(18)),d=e(19),c=e(9);class f extends s.Model{constructor(e){super(e)}static init_LegendItem(){this.define((({Int:e,Array:r,Ref:n,Nullable:l})=>({label:[u.NullStringSpec,null],renderers:[r(n(o.GlyphRenderer)),[]],index:[l(e),null]})))}_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&&!c.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()||d.logger.error("Non matching data sources on legend item renderers");this._check_field_label_on_data_source()||d.logger.error(Bad column name on label: ${this.label})}get_field_from_label_prop(){const{label:e}=this;return a.isField(e)?e.field:null}get_labels_list_from_label_prop(){if(a.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 n=r.get_column(e);return null!=n?c.uniq(Array.from(n)):["Invalid field"]}}return[]}}n.LegendItem=f,f.__name__="LegendItem",f.init_LegendItem()},n”, “ function _(i,n,e,t,u){t();const c=i(8);e.isValue=function(i){return c.isPlainObject(i)&&"value"in i},e.isField=function(i){return c.isPlainObject(i)&&"field"in i},e.isExpr=function(i){return c.isPlainObject(i)&&"expr"in i}},n”, “ function _(t,i,s,n,e){n();const o=t(1),l=t(40),a=o.__importStar(t(48)),c=t(20);class h extends l.AnnotationView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render()))}_render(){const{xs:t,ys:i}=this.model;if(t.length!=i.length)return;const s=t.length;if(s<3)return;const{frame:n}=this.plot_view,{ctx:e}=this.layer,o=this.coordinates.x_scale,l=this.coordinates.y_scale,{screen:a}=this.model;function c(t,i,s,n){return a?t:"data"==i?s.v_compute(t):n.v_compute(t)}const h=c(t,this.model.xs_units,o,n.bbox.xview),r=c(i,this.model.ys_units,l,n.bbox.yview);e.beginPath();for(let t=0;t<s;t++)e.lineTo(h[t],r[t]);e.closePath(),this.visuals.fill.doit&&(this.visuals.fill.set_value(e),e.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_value(e),e.fill()),this.visuals.line.doit&&(this.visuals.line.set_value(e),e.stroke())}}s.PolyAnnotationView=h,h.__name__="PolyAnnotationView";class r extends l.Annotation{constructor(t){super(t)}static init_PolyAnnotation(){this.prototype.default_view=h,this.mixins([a.Line,a.Fill,a.Hatch]),this.define((({Number:t,Array:i})=>({xs:[i(t),[]],xs_units:[c.SpatialUnits,"data"],ys:[i(t),[]],ys_units:[c.SpatialUnits,"data"]}))),this.internal((({Boolean:t})=>({screen:[t,!1]}))),this.override({fill_color:"#fff9ba",fill_alpha:.4,line_color:"#cccccc",line_alpha:.3})}update({xs:t,ys:i}){this.setv({xs:t,ys:i,screen:!0},{check_eq:!1})}}s.PolyAnnotation=r,r.__name__="PolyAnnotation",r.init_PolyAnnotation()},n”, “ function _(e,t,i,n,o){n();const s=e(1),l=e(40),r=s.__importStar(e(48));class c extends l.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:i}=this.plot_view,n=this.coordinates.x_scale,o=this.coordinates.y_scale;let s,l,r,c;if(0==e)s=o.compute(t),l=s,r=i.bbox.left,c=r+i.bbox.width;else{s=i.bbox.top,l=s+i.bbox.height;const a=(o.invert(s)-t)/e,_=(o.invert(l)-t)/e;r=n.compute(a),c=n.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()}}i.SlopeView=c,c.__name__="SlopeView";class a extends l.Annotation{constructor(e){super(e)}static init_Slope(){this.prototype.default_view=c,this.mixins(r.Line),this.define((({Number:e,Nullable:t})=>({gradient:[t(e),null],y_intercept:[t(e),null]}))),this.override({line_color:"black"})}}i.Slope=a,a.__name__="Slope",a.init_Slope()},n”, “ function _(e,i,t,n,o){n();const s=e(1),a=e(40),l=s.__importStar(e(48)),h=e(20);class c 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:i}=this.plot_view,t=this.coordinates.x_scale,n=this.coordinates.y_scale,o=(i,t)=>"data"==this.model.location_units?i.compute(e):this.model.for_hover?e:t.compute(e);let s,a,l,h;"width"==this.model.dimension?(l=o(n,i.bbox.yview),a=i.bbox.left,h=i.bbox.width,s=this.model.line_width):(l=i.bbox.top,a=o(t,i.bbox.xview),h=this.model.line_width,s=i.bbox.height);const{ctx:c}=this.layer;c.save(),c.beginPath(),this.visuals.line.set_value(c),c.moveTo(a,l),"width"==this.model.dimension?c.lineTo(a+h,l):c.lineTo(a,l+s),c.stroke(),c.restore()}}t.SpanView=c,c.__name__="SpanView";class d extends a.Annotation{constructor(e){super(e)}static init_Span(){this.prototype.default_view=c,this.mixins(l.Line),this.define((({Number:e,Nullable:i})=>({render_mode:[h.RenderMode,"canvas"],location:[i(e),null],location_units:[h.SpatialUnits,"data"],dimension:[h.Dimension,"width"]}))),this.internal((({Boolean:e})=>({for_hover:[e,!1]}))),this.override({line_color:"black"})}}t.Span=d,d.__name__="Span",d.init_Span()},n”, “ function _(i,e,t,o,l){o();const s=i(40),a=i(235),n=i(122),r=i(43),_=i(140),h=i(99);class b extends s.AnnotationView{constructor(){super(…arguments),this._invalidate_toolbar=!0,this._previous_bbox=new h.BBox}update_layout(){this.layout=new _.SideLayout(this.panel,(()=>this.get_size()),!0)}initialize(){super.initialize(),this.el=r.div(),this.plot_view.canvas_view.add_event(this.el)}async lazy_initialize(){await super.lazy_initialize(),this._toolbar_view=await 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(),r.remove(this.el),super.remove()}render(){this.model.visible||r.undisplay(this.el),super.render()}_render(){const{bbox:i}=this.layout;this._previous_bbox.equals(i)||(r.position(this.el,i),this._previous_bbox=i),this._invalidate_toolbar&&(this.el.style.position="absolute",this.el.style.overflow="hidden",this._toolbar_view.render(),r.empty(this.el),this.el.appendChild(this._toolbar_view.el),this._invalidate_toolbar=!1),r.display(this.el)}_get_size(){const{tools:i,logo:e}=this.model.toolbar;return{width:30*i.length+(null!=e?25:0),height:30}}}t.ToolbarPanelView=b,b.__name__="ToolbarPanelView";class d extends s.Annotation{constructor(i){super(i)}static init_ToolbarPanel(){this.prototype.default_view=b,this.define((({Ref:i})=>({toolbar:[i(a.Toolbar)]})))}}t.ToolbarPanel=d,d.__name__="ToolbarPanel",d.init_ToolbarPanel()},n”, “ function _(t,s,e,i,o){i();const c=t(8),n=t(9),a=t(13),l=t(236),r=t(237),_=t(247),p=t(248);e.Drag=l.Tool,e.Inspection=l.Tool,e.Scroll=l.Tool,e.Tap=l.Tool;const u=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},h=t=>"tap"==t||"pan"==t;class v extends p.ToolbarBase{constructor(t){super(t)}static init_Toolbar(){this.prototype.default_view=p.ToolbarBaseView,this.define((({Or:t,Ref:s,Auto:i,Null:o,Nullable:c})=>({active_drag:[t(s(e.Drag),i,o),"auto"],active_inspect:[t(s(e.Inspection),i,o),"auto"],active_scroll:[t(s(e.Scroll),i,o),"auto"],active_tap:[t(s(e.Tap),i,o),"auto"],active_multi:[c(s(r.GestureTool)),null]})))}connect_signals(){super.connect_signals();const{tools:t,active_drag:s,active_inspect:e,active_scroll:i,active_tap:o,active_multi:c}=this.properties;this.on_change([t,s,e,i,o,c],(()=>this._init_tools()))}_init_tools(){if(super._init_tools(),"auto"==this.active_inspect);else if(this.active_inspect instanceof _.InspectTool){let t=!1;for(const s of this.inspectors)s!=this.active_inspect?s.active=!1:t=!0;t||(this.active_inspect=null)}else if(c.isArray(this.active_inspect)){const t=n.intersection(this.active_inspect,this.inspectors);t.length!=this.active_inspect.length&&(this.active_inspect=t);for(const t of this.inspectors)n.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 a.values(this.gestures)){t.tools=n.sort_by(t.tools,(t=>t.default_order));for(const s of t.tools)this.connect(s.properties.active.change,(()=>this._active_change(s)))}for(const[s,e]of a.entries(this.gestures)){const i=u(s);if(i){const o=this[i];"auto"==o?0!=e.tools.length&&h(s)&&t(e.tools[0]):null!=o&&(n.includes(this.tools,o)?t(o):this[i]=null)}}}}e.Toolbar=v,v.__name__="Toolbar",v.init_Toolbar()},n”, “ function _(t,e,n,i,o){i();const s=t(42),a=t(9),r=t(53);class l extends s.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=l,l.__name__="ToolView";class _ extends r.Model{constructor(t){super(t)}static init_Tool(){this.prototype._known_aliases=new Map,this.define((({String:t,Nullable:e})=>({description:[e(t),null]}))),this.internal((({Boolean:t})=>({active:[t,!1]})))}get synthetic_renderers(){return[]}_get_dim_limits([t,e],[n,i],o,s){const r=o.bbox.h_range;let l;"width"==s||"both"==s?(l=[a.min([t,n]),a.max([t,n])],l=[a.max([l[0],r.start]),a.min([l[1],r.end])]):l=[r.start,r.end];const _=o.bbox.v_range;let c;return"height"==s||"both"==s?(c=[a.min([e,i]),a.max([e,i])],c=[a.max([c[0],_.start]),a.min([c[1],_.end])]):c=[_.start,_.end],[l,c]}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=_,_.__name__="Tool",_.init_Tool()},n”, “ function _(e,o,t,s,n){s();const u=e(238),_=e(246);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,i,s){i();const n=t(1),l=n.__importDefault(t(239)),r=t(240),a=t(236),u=t(43),h=t(34),_=t(8),c=t(9),d=n.__importStar(t(241)),m=d,p=n.__importDefault(t(242)),g=n.__importDefault(t(243)),v=t(244);class f extends r.DOMView{initialize(){super.initialize();const t=this.model.menu;if(null!=t){const e=this.parent.model.toolbar_location,o="left"==e||"above"==e,i=this.parent.model.horizontal?"vertical":"horizontal";this._menu=new v.ContextMenu(o?c.reversed(t):t,{orientation:i,prevent_hide:t=>t.target==this.el})}this._hammer=new l.default(this.el,{touchAction:"auto",inputClass:l.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()))}remove(){var t;this._hammer.destroy(),null===(t=this._menu)||void 0===t||t.remove(),super.remove()}styles(){return[…super.styles(),d.default,p.default,g.default]}css_classes(){return super.css_classes().concat(m.toolbar_button)}render(){u.empty(this.el);const t=this.model.computed_icon;_.isString(t)&&(h.startsWith(t,"data:image")?this.el.style.backgroundImage="url(’"+t+"’)":this.el.classList.add(t)),this.el.title=this.model.tooltip,null!=this._menu&&this.root.el.appendChild(this._menu.el)}_pressed(){var t;const{left:e,top:o,right:i,bottom:s}=this.el.getBoundingClientRect(),n=(()=>{switch(this.parent.model.toolbar_location){case"right":return{right:e,top:o};case"left":return{left:i,top:o};case"above":return{left:e,top:s};case"below":return{left:e,bottom:o}}})();null===(t=this._menu)||void 0===t||t.toggle(n)}}o.ButtonToolButtonView=f,f.__name__="ButtonToolButtonView";class b extends a.ToolView{}o.ButtonToolView=b,b.__name__="ButtonToolView";class B extends a.Tool{constructor(t){super(t)}static init_ButtonTool(){this.internal((({Boolean:t})=>({disabled:[t,!1]})))}_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=B,B.__name__="ButtonTool",B.init_ButtonTool()},n”, “ function _(t,e,i,n,r){n”, “ /! Hammer.JS - v2.0.7 - 2016-04-22n”, “ * 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<t.length;)e.call(i,t[n],n,t),n++;else for(n in t)t.hasOwnProperty(n)&&e.call(i,t[n],n,t)}function v(e,i,n){var r="DEPRECATED METHOD: "+i+"\n"+n+" AT \n";return function(){var i=new Error("get-stack-trace"),n=i&&i.stack?i.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\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<arguments.length;i++){var n=arguments[i];if(n!==r&&null!==n)for(var s in n)n.hasOwnProperty(s)&&(e[s]=n[s])}return e}:Object.assign;var d=v((function(t,e,i){for(var n=Object.keys(e),s=0;s<n.length;)(!i||i&&t[n[s]]===r)&&(t[n[s]]=e[n[s]]),s++;return t}),"extend","Use assign."),m=v((function(t,e){return d(t,e,!0)}),"merge","Use assign.");function g(t,e,i){var n,r=e.prototype;(n=t.prototype=Object.create(r)).constructor=t,n._super=r,i&&s(n,i)}function T(t,e){return function(){return t.apply(e,arguments)}}function y(t,e){return"function"==typeof t?t.apply(e&&e[0]||r,e):t}function E(t,e){return t===r?e:t}function I(t,e,i){f(S(e),(function(e){t.addEventListener(e,i,!1)}))}function A(t,e,i){f(S(e),(function(e){t.removeEventListener(e,i,!1)}))}function _(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function C(t,e){return t.indexOf(e)>-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;n<t.length;){if(i&&t[n][i]==e||!i&&t[n]===e)return n;n++}return-1}function P(t){return Array.prototype.slice.call(t,0)}function D(t,e,i){for(var n=[],r=[],s=0;s<t.length;){var o=e?t[s][e]:t[s];b(r,o)<0&&n.push(t[s]),r[s]=o,s++}return i&&(n=e?n.sort((function(t,i){return t[e]>i[e]})):n.sort()),n}function x(t,e){for(var i,n,s=e[0].toUpperCase()+e.slice(1),a=0;a<o.length;){if((n=(i=o[a])?i+s:e)in t)return n;a++}return r}var w=1;function O(e){var i=e.ownerDocument||e;return i.defaultView||i.parentWindow||t}var R="ontouchstart"in t,M=x(t,"PointerEvent")!==r,z=R&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),N="touch",X="mouse",Y=24,F=["x","y"],W=["clientX","clientY"];function q(t,e){var i=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){y(t.options.enable,[t])&&i.handler(e)},this.init()}function k(t,e,i){var n=i.pointers.length,s=i.changedPointers.length,o=1&e&&n-s==0,a=12&e&&n-s==0;i.isFirst=!!o,i.isFinal=!!a,o&&(t.session={}),i.eventType=e,function(t,e){var i=t.session,n=e.pointers,s=n.length;i.firstInput||(i.firstInput=H(e));s>1&&!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<t.pointers.length;)e[i]={clientX:h(t.pointers[i].clientX),clientY:h(t.pointers[i].clientY)},i++;return{timeStamp:c(),pointers:e,center:L(e),deltaX:t.deltaX,deltaY:t.deltaY}}function L(t){var e=t.length;if(1===e)return{x:h(t[0].clientX),y:h(t[0].clientY)};for(var i=0,n=0,r=0;r<e;)i+=t[r].clientX,n+=t[r].clientY,r++;return{x:h(i/e),y:h(n/e)}}function U(t,e,i){return{x:e/t||0,y:i/t||0}}function V(t,e){return t===e?1:u(t)>=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<s.length;)n[s[r].identifier]=!0,r++;for(r=0;r<o.length;)n[o[r].identifier]&&a.push(o[r]),12&e&&delete n[o[r].identifier],r++;return a.length?[D(s.concat(a),"identifier",!0),a]:void 0}g(ct,q,{handler:function(t){var e=ht[t.type],i=lt.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:N,srcEvent:t})}});function pt(){q.apply(this,arguments);var t=T(this.handler,this);this.touch=new ct(this.manager,t),this.mouse=new J(this.manager,t),this.primaryTouch=null,this.lastTouches=[]}function ft(t,e){1&t?(this.primaryTouch=e.changedPointers[0].identifier,vt.call(this,e)):12&t&&vt.call(this,e)}function vt(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var i={x:e.clientX,y:e.clientY};this.lastTouches.push(i);var n=this.lastTouches;setTimeout((function(){var t=n.indexOf(i);t>-1&&n.splice(t,1)}),2500)}}function dt(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,n=0;n<this.lastTouches.length;n++){var r=this.lastTouches[n],s=Math.abs(e-r.x),o=Math.abs(i-r.y);if(s<=25&&o<=25)return!0}return!1}g(pt,q,{handler:function(t,e,i){var n=i.pointerType==N,r=i.pointerType==X;if(!(r&&i.sourceCapabilities&&i.sourceCapabilities.firesTouchEvents)){if(n)ft.call(this,e,i);else if(r&&dt.call(this,i))return;this.callback(t,e,i)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var mt=x(a.style,"touchAction"),gt=mt!==r,Tt="compute",yt="auto",Et="manipulation",It="none",At="pan-x",_t="pan-y",Ct=function(){if(!gt)return!1;var e={},i=t.CSS&&t.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(n){e[n]=!i||t.CSS.supports("touch-action",n)})),e}();function St(t,e){this.manager=t,this.set(e)}St.prototype={set:function(t){t==Tt&&(t=this.compute()),gt&&this.manager.element.style&&Ct[t]&&(this.manager.element.style[mt]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return f(this.manager.recognizers,(function(e){y(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))})),function(t){if(C(t,It))return It;var e=C(t,At),i=C(t,_t);if(e&&i)return It;if(e||i)return e?At:_t;if(C(t,Et))return Et;return yt}(t.join(" "))},preventDefaults:function(t){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var n=this.actions,r=C(n,It)&&!Ct.none,s=C(n,_t)&&!Ct["pan-y"],o=C(n,At)&&!Ct["pan-x"];if(r){var a=1===t.pointers.length,h=t.distance<2,u=t.deltaTime<250;if(a&&h&&u)return}if(!o||!s)return r||s&&6&i||o&&i&Y?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var bt=32;function Pt(t){this.options=s({},this.defaults,t||{}),this.id=w++,this.manager=null,this.options.enable=E(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function Dt(t){return 16&t?"cancel":8&t?"end":4&t?"move":2&t?"start":""}function xt(t){return 16==t?"down":8==t?"up":2==t?"left":4==t?"right":""}function wt(t,e){var i=e.manager;return i?i.get(t):t}function Ot(){Pt.apply(this,arguments)}function Rt(){Ot.apply(this,arguments),this.pX=null,this.pY=null}function Mt(){Ot.apply(this,arguments)}function zt(){Pt.apply(this,arguments),this._timer=null,this._input=null}function Nt(){Ot.apply(this,arguments)}function Xt(){Ot.apply(this,arguments)}function Yt(){Pt.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function Ft(t,e){return(e=e||{}).recognizers=E(e.recognizers,Ft.defaults.preset),new Wt(t,e)}Pt.prototype={defaults:{},set:function(t){return s(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(p(t,"recognizeWith",this))return this;var e=this.simultaneous;return e[(t=wt(t,this)).id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return p(t,"dropRecognizeWith",this)||(t=wt(t,this),delete this.simultaneous[t.id]),this},requireFailure:function(t){if(p(t,"requireFailure",this))return this;var e=this.requireFail;return-1===b(e,t=wt(t,this))&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(p(t,"dropRequireFailure",this))return this;t=wt(t,this);var e=b(this.requireFail,t);return e>-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;t<this.requireFail.length;){if(!(33&this.requireFail[t].state))return!1;t++}return!0},recognize:function(t){var e=s({},t);if(!y(this.options.enable,[this,e]))return this.reset(),void(this.state=bt);56&this.state&&(this.state=1),this.state=this.process(e),30&this.state&&this.tryEmit(e)},process:function(t){},getTouchAction:function(){},reset:function(){}},g(Ot,Pt,{defaults:{pointers:1},attrTest:function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},process:function(t){var e=this.state,i=t.eventType,n=6&e,r=this.attrTest(t);return n&&(8&i||!r)?16|e:n||r?4&i?8|e:2&e?4|e:2:bt}}),g(Rt,Ot,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var t=this.options.direction,e=[];return 6&t&&e.push(_t),t&Y&&e.push(At),e},directionTest:function(t){var e=this.options,i=!0,n=t.distance,r=t.direction,s=t.deltaX,o=t.deltaY;return r&e.direction||(6&e.direction?(r=0===s?1:s<0?2:4,i=s!=this.pX,n=Math.abs(t.deltaX)):(r=0===o?1:o<0?8:16,i=o!=this.pY,n=Math.abs(t.deltaY))),t.direction=r,i&&n>e.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.distance<e.threshold,r=t.deltaTime>e.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<e.threshold,r=t.deltaTime<e.time;if(this.reset(),1&t.eventType&&0===this.count)return this.failTimeout();if(n&&r&&i){if(4!=t.eventType)return this.failTimeout();var s=!this.pTime||t.timeStamp-this.pTime<e.interval,o=!this.pCenter||j(this.pCenter,t.center)<e.posThreshold;if(this.pTime=t.timeStamp,this.pCenter=t.center,o&&s?this.count+=1:this.count=1,this._input=t,0===this.count%e.taps)return this.hasRequireFailures()?(this._timer=l((function(){this.state=8,this.tryEmit()}),e.interval,this),2):8}return bt},failTimeout:function(){return this._timer=l((function(){this.state=bt}),this.options.interval,this),bt},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),Ft.VERSION="2.0.7",Ft.defaults={domEvents:!1,touchAction:Tt,enable:!0,inputTarget:null,inputClass:null,preset:[[Nt,{enable:!1}],[Mt,{enable:!1},["rotate"]],[Xt,{direction:6}],[Rt,{direction:6},["swipe"]],[Yt],[Yt,{event:"doubletap",taps:2},["tap"]],[zt]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function Wt(t,e){var i;this.options=s({},Ft.defaults,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=new((i=this).options.inputClass||(M?it:z?ct:R?pt:J))(i,k),this.touchAction=new St(this,this.options.touchAction),qt(this,!0),f(this.options.recognizers,(function(t){var e=this.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])}),this)}function qt(t,e){var i,n=t.element;n.style&&(f(t.options.cssProps,(function(r,s){i=x(n.style,s),e?(t.oldCssProps[i]=n.style[i],n.style[i]=r):n.style[i]=t.oldCssProps[i]||""})),e||(t.oldCssProps={}))}Wt.prototype={set:function(t){return s(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},stop:function(t){this.session.stopped=t?2:1},recognize:function(t){var e=this.session;if(!e.stopped){var i;this.touchAction.preventDefaults(t);var n=this.recognizers,r=e.curRecognizer;(!r||r&&8&r.state)&&(r=e.curRecognizer=null);for(var s=0;s<n.length;)i=n[s],2===e.stopped||r&&i!=r&&!i.canRecognizeWith(r)?i.reset():i.recognize(t),!r&&14&i.state&&(r=e.curRecognizer=i),s++}},get:function(t){if(t instanceof Pt)return t;for(var e=this.recognizers,i=0;i<e.length;i++)if(e[i].options.event==t)return e[i];return null},add:function(t){if(p(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},remove:function(t){if(p(t,"remove",this))return this;if(t=this.get(t)){var e=this.recognizers,i=b(e,t);-1!==i&&(e.splice(i,1),this.touchAction.update())}return this},on:function(t,e){if(t!==r&&e!==r){var i=this.handlers;return f(S(t),(function(t){i[t]=i[t]||[],i[t].push(e)})),this}},off:function(t,e){if(t!==r){var i=this.handlers;return f(S(t),(function(t){e?i[t]&&i[t].splice(b(i[t],e),1):delete i[t]})),this}},emit:function(t,e){this.options.domEvents&&function(t,e){var n=i.createEvent("Event");n.initEvent(t,!0,!0),n.gesture=e,e.target.dispatchEvent(n)}(t,e);var n=this.handlers[t]&&this.handlers[t].slice();if(n&&n.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var r=0;r<n.length;)n[r](e),r++}},destroy:function(){this.element&&qt(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},s(Ft,{INPUT_START:1,INPUT_MOVE:2,INPUT_END:4,INPUT_CANCEL:8,STATE_POSSIBLE:1,STATE_BEGAN:2,STATE_CHANGED:4,STATE_ENDED:8,STATE_RECOGNIZED:8,STATE_CANCELLED:16,STATE_FAILED:bt,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:Y,DIRECTION_ALL:30,Manager:Wt,Input:q,TouchAction:St,TouchInput:ct,MouseInput:J,PointerEventInput:it,TouchMouseInput:pt,SingleTouchInput:ot,Recognizer:Pt,AttrRecognizer:Ot,Tap:Yt,Pan:Rt,Swipe:Xt,Pinch:Mt,Rotate:Nt,Press:zt,on:I,off:A,each:f,merge:m,extend:d,assign:s,inherit:g,bindFn:T,prefixed:x}),(void 0!==t?t:"undefined"!=typeof self?self:{}).Hammer=Ft,"function"==typeof define&&define.amd?define((function(){return Ft})):void 0!==e&&e.exports?e.exports=Ft:t.Hammer=Ft}(window,document)},n”, “ function _(e,s,t,i,r){i();const n=e(42),a=e(43);class l extends n.View{initialize(){super.initialize(),this.el=this._createElement()}remove(){a.remove(this.el),super.remove()}css_classes(){return[]}render(){}renderTo(e){e.appendChild(this.el),this.render()}_createElement(){return a.createElement(this.tagName,{class:this.css_classes()})}}t.DOMView=l,l.__name__="DOMView",l.prototype.tagName="div"},n”, “ function _(o,b,t,r,e){r(),t.root="bk-root",t.toolbar_hidden="bk-toolbar-hidden",t.toolbar="bk-toolbar",t.button_bar="bk-button-bar",t.logo="bk-logo",t.above="bk-above",t.below="bk-below",t.left="bk-left",t.right="bk-right",t.toolbar_button="bk-toolbar-button",t.active="bk-active",t.default=’.bk-root .bk-toolbar-hidden{visibility:hidden;opacity:0;transition:visibility 0.3s linear, opacity 0.3s linear;}.bk-root .bk-toolbar,.bk-root .bk-button-bar{display:flex;display:-webkit-flex;flex-wrap:nowrap;-webkit-flex-wrap:nowrap;align-items:center;-webkit-align-items:center;user-select:none;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;}.bk-root .bk-toolbar .bk-logo{flex-shrink:0;-webkit-flex-shrink:0;}.bk-root .bk-toolbar.bk-above,.bk-root .bk-toolbar.bk-below{flex-direction:row;-webkit-flex-direction:row;justify-content:flex-end;-webkit-justify-content:flex-end;}.bk-root .bk-toolbar.bk-above .bk-button-bar,.bk-root .bk-toolbar.bk-below .bk-button-bar{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;}.bk-root .bk-toolbar.bk-above .bk-logo,.bk-root .bk-toolbar.bk-below .bk-logo{order:1;-webkit-order:1;margin-left:5px;margin-right:0px;}.bk-root .bk-toolbar.bk-left,.bk-root .bk-toolbar.bk-right{flex-direction:column;-webkit-flex-direction:column;justify-content:flex-start;-webkit-justify-content:flex-start;}.bk-root .bk-toolbar.bk-left .bk-button-bar,.bk-root .bk-toolbar.bk-right .bk-button-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;}.bk-root .bk-toolbar.bk-left .bk-logo,.bk-root .bk-toolbar.bk-right .bk-logo{order:0;-webkit-order:0;margin-bottom:5px;margin-top:0px;}.bk-root .bk-toolbar-button{width:30px;height:30px;cursor:pointer;background-size:60% 60%;background-origin:border-box;background-color:transparent;background-repeat:no-repeat;background-position:center center;}.bk-root .bk-toolbar-button:hover{background-color:rgba(192, 192, 192, 0.15);}.bk-root .bk-toolbar-button:focus{outline:none;}.bk-root .bk-toolbar-button::-moz-focus-inner{border:0;}.bk-root .bk-toolbar.bk-above .bk-toolbar-button{border-bottom:2px solid transparent;}.bk-root .bk-toolbar.bk-above .bk-toolbar-button.bk-active{border-bottom-color:#26aae1;}.bk-root .bk-toolbar.bk-below .bk-toolbar-button{border-top:2px solid transparent;}.bk-root .bk-toolbar.bk-below .bk-toolbar-button.bk-active{border-top-color:#26aae1;}.bk-root .bk-toolbar.bk-right .bk-toolbar-button{border-left:2px solid transparent;}.bk-root .bk-toolbar.bk-right .bk-toolbar-button.bk-active{border-left-color:#26aae1;}.bk-root .bk-toolbar.bk-left .bk-toolbar-button{border-right:2px solid transparent;}.bk-root .bk-toolbar.bk-left .bk-toolbar-button.bk-active{border-right-color:#26aae1;}.bk-root .bk-button-bar + .bk-button-bar:before{content:" ";display:inline-block;background-color:lightgray;}.bk-root .bk-toolbar.bk-above .bk-button-bar + .bk-button-bar:before,.bk-root .bk-toolbar.bk-below .bk-button-bar + .bk-button-bar:before{height:10px;width:1px;}.bk-root .bk-toolbar.bk-left .bk-button-bar + .bk-button-bar:before,.bk-root .bk-toolbar.bk-right .bk-button-bar + .bk-button-bar:before{height:1px;width:10px;}’},n”, “ function _(A,g,o,C,l){C(),o.root="bk-root",o.tool_icon_copy_to_clipboard="bk-tool-icon-copy-to-clipboard",o.tool_icon_replace_mode="bk-tool-icon-replace-mode",o.tool_icon_append_mode="bk-tool-icon-append-mode",o.tool_icon_intersect_mode="bk-tool-icon-intersect-mode",o.tool_icon_subtract_mode="bk-tool-icon-subtract-mode",o.tool_icon_clear_selection="bk-tool-icon-clear-selection",o.tool_icon_box_select="bk-tool-icon-box-select",o.tool_icon_box_zoom="bk-tool-icon-box-zoom",o.tool_icon_zoom_in="bk-tool-icon-zoom-in",o.tool_icon_zoom_out="bk-tool-icon-zoom-out",o.tool_icon_help="bk-tool-icon-help",o.tool_icon_hover="bk-tool-icon-hover",o.tool_icon_crosshair="bk-tool-icon-crosshair",o.tool_icon_lasso_select="bk-tool-icon-lasso-select",o.tool_icon_pan="bk-tool-icon-pan",o.tool_icon_xpan="bk-tool-icon-xpan",o.tool_icon_ypan="bk-tool-icon-ypan",o.tool_icon_range="bk-tool-icon-range",o.tool_icon_polygon_select="bk-tool-icon-polygon-select",o.tool_icon_redo="bk-tool-icon-redo",o.tool_icon_reset="bk-tool-icon-reset",o.tool_icon_save="bk-tool-icon-save",o.tool_icon_tap_select="bk-tool-icon-tap-select",o.tool_icon_undo="bk-tool-icon-undo",o.tool_icon_wheel_pan="bk-tool-icon-wheel-pan",o.tool_icon_wheel_zoom="bk-tool-icon-wheel-zoom",o.tool_icon_box_edit="bk-tool-icon-box-edit",o.tool_icon_freehand_draw="bk-tool-icon-freehand-draw",o.tool_icon_poly_draw="bk-tool-icon-poly-draw",o.tool_icon_point_draw="bk-tool-icon-point-draw",o.tool_icon_poly_edit="bk-tool-icon-poly-edit",o.tool_icon_line_edit="bk-tool-icon-line-edit",o.default=’.bk-root .bk-tool-icon-copy-to-clipboard{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUSDBoBvcHQeQAAAG9JREFUWMNjXLhsJcNAAiaGAQYwB/xHwh/Q+ITEkfHQCwEWND4jmeb8H/JpgBwfI6cNBhLSEkqaGXRpgFRAcZoZsmlg1AGjDhh1wKgDRh0w6gCaVcf/R2wIkNqw+D9s0wADvUNiyIYA47BJAwPuAAAj/Cjd0TCN6wAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-replace-mode{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxokK3gniQAAAHpJREFUWMNjXLhsJcNAAiaGAQajDhhwB7DgEP+PxmeksvjgDwFcLmYkUh2hkBj8IcBIZXsYh1w2/I8v3sgAOM0bLYhGc8GgrwuICgldfQO88pcvXvg/aOuCUQeM5oLRuoCFCJcTbOMh5XOiW0JDNhdQS3y0IBp1ABwAAF8KGrhC1Eg6AAAAAElFTkSuQmCC");}.bk-root .bk-tool-icon-append-mode{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxkZWD04WwAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAoUlEQVRYw+1WQQ6AIAwrhO8Y/bIXEz9jIMSDr8ETCUEPQzA4pMeFLKNbu4l5WR0CDOMEALBGIzMuQIBEZQjPgP9JLjwTfBjY9sO9lZsFA9IafZng3BlIyVefgd8XQFZBAWe8jfNxwsDhir6rzoCiPiy1K+J8/FRQemv2XfAdFcQ9znU4Viqg9ta1qYJ+D1BnAIBrkgGVOrXNqUA9rbyZm/AEzFh4jEeY/soAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-intersect-mode{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxkrkOpp2wAAAPhJREFUWMPtV1EKwjAMTUavI3oawR/vtn5srJdREfzwMvHHQlcT2mpdMzFfWxiP5r2+JMN+mAiCOB72CABgR1cln4oOGocJnuMTSxWk8jMm7OggYkYXA9gPE3uyd8NXHONJ+eYMdE/NqCJmEZ5ZqlJJ4sUksKN7cYSaPoCZFWR1QI+Xm1fBACU63Cw22x0AAJxudwrffVwvZ+JmQdAHZkw0d4EpAMCw8k87pMdbnwtizQumJYv3nwV6XOA1qbUT/oQLUJgFRbsiNwFVucBIlyR3p0tdMp+XmFjfLKi1LatyAXtCRjPWBdL3Ke3VuACJKFfDr/xFN2fgAR/Go0qaLlmEAAAAAElFTkSuQmCC");}.bk-root .bk-tool-icon-subtract-mode{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxgsF5XNOQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAABFUlEQVRYw9VWUQqDMAxNpWfxQxD1MoP97G7zQ5mH2RTZYLtM9lWoMbXtxLXNX4OG9r28l4hrd0PQoqxqAACYpxH25C/nkwCHyCBwSPoS09k1T5Fo+4EiExcC4v584xGFmyIXHBLRISAVZyZufUPVa4rcrwmPDgr93ylo+2GliLRUYHK6th/o/6r7nfLpqaCsagEA8Hh9FmcNKeRmgeYDC+SCq0B6FFi8/BcV6BdR9cL3gCv3ijPKOacsn3rBEcjmaVxpfGcg4wHxzgJJnc6241Hn23DERFRAu1bNcWa3Q0uXi62XR6sCaWoSejbtdLYmU3kTEunNgj0bUbQqYG/IcMaqwPS9jftoVCAQ0ZVDJwf0zQdH4AsyW6fpQu4YegAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-clear-selection{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUGEhcuan3d3wAAAoRJREFUWMPtlzFP3EAQhd+b3TNSzg0N5TWXLkJQUUaKhIQ4fgP/g5ArrriE/I3opEgRrZtIVJR0FJQ010SioUmEZHtnUpwN9gWHGA5BJCy58MraffvmfZ41v3z9hqe8BE98vQh4cgG+Ydzmnrng8efvQJNi/uN7dznx/B3ggtfhf4ehNdUttRzBDIm/2VTiiWCG1HK0nc+3UWtq8BQIiEEakEQOADBIA4QCQmBqoHBhFNR27ikQSmGdYCdTqCpEHMDZmEKRWUBEv1gBDg5SzRJnpopILWICgWuRYflLamuzxB2BmtYqSRIka5VWU8QduXO+1hRc5YZu5GAwmP2ZJzND0IBu5HCV2+NQcAhAVRsnC2IbPzPdSjzd6to6VtfWkXi6YLaVWr7xoAwkfpb8MnC3SH7rKSMBe4M0jA/OTicFIbtCGRIyNbURhcf3ErCd6YwA1m0HgAxhw1NGQnlXBHG4kylVlSJuH0RfIP2CkL2I/qS1gIAAQiBl1QwFggIHtyxgrxK5PgyfC0JWKoT0HLh8LwoietB4TYKaIl7yeNURxB05UtMxDOcVQlZIrlRKdK6m47gjR/fuBRQihyLArtNeJD50Izcx2Eczu7iFkIug4VM3cpOr3MKDekFED0fWUHv9Zq0kpLnridjhY3XDg7NTN0jDrhO3X7O9Wg7wwyANu4mnayNg3gmbu0tCNoUyBNGv2l4rB9EXynA7082FOxAQLhU6rQVO9T2AvWowFToNCJcPORGxIRcnpjZSKATSU9NxvOQnAPArDSaQoUKnNI4iufkGtD4P3EHIcWZhz4HLceSOyrR3Izf5memPAL2cX3yhAkonysZVaWLBkd9dw1Ivv2a/AYPkK+ty1U1DAAAAAElFTkSuQmCC");}.bk-root .bk-tool-icon-box-select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg0kduFrowAAAIdJREFUWMPtVtEKwCAI9KL//4e9DPZ3+wP3KgOjNZouFYI4C8q7s7DtB1lGIeMoRMRinCLXg/ML3EcFqpjjloOyZxRntxpwQ8HsgHYARKFAtSFrCg3TCdMFCE1BuuALEXJLjC4qENsFVXCESZw38/kWLOkC/K4PcOc/Hj03WkoDT3EaWW9egQul6CUbq90JTwAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-box-zoom{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg82t254aQAAAkBJREFUWMPN11+E1FEUB/DPTFn2qaeIpcSwr5NlUyJiKWVXWUqvlUh/iE3RY9mUekkPPURtLKNRrFJEeuphGfUUaVliiX1aVjGs6aG7+XX9ZnZ+d2fTl2vmnHvPPfeee/79Sk+may2/UQq/q7Qu+bAJoxjHIKqB/wlfUMcMVqI9bLZ+DGIKwzlzQ2GcxCx2xwvKOUKlaHTiX8bHNspjDONHkOmJBW5jIof/FvPh/06MZOb6cRc7cGn1AKUE5cdzlM/gAr5F/O24H3xkFRfxAbVygvK+cIsspjGWo1zgjeFpxL+BvnLw7laBA4xjIFJwrgu52DoVjKdY4HBEX8dSF3JLYe1fe6UcYCii3xWQjdfuSTnAtoheKCC7GNED5Zx4L4qt61jbTLHA94geKSC7P7ZeShQ0Inoi1IJuEOeORooFXkV0FZNdZs5qvFfKAeqYy7nZ6yg//HG0MBfffh71lFrQDCW2EvEP4mt4okZUDftz9rmGZkotmMxJRtlisy+MTniAWrty3AlXw0hFM2TD89l+oNsoOJXjbIs4EpqNtTCLXbiZ0g+M4mFObj8U3vsNjoZCVcmk60ZwthpepLZkB/AsivWfOJZxtpUQHfWib7KWDwzjeegBZJSdKFiE2qJTFFTwElsi/unQ/awXrU4WGMD7nOJxBY/1EO2iYConq93CHT1GOwucjdqnRyFz+VcHmMNefMY9nNkA3SWUOoXhQviSWQ4huLIRFlirFixnQq/XaKXUgg2xQNGv4V7x/RcW+AXPB3h7H1PaiQAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-zoom-in{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEgsUBmL8iQAAA2JJREFUWMO9l12IlFUYx3//MzPrLpSjkm5oN4FFIWVEl66IQlFYwtLOzozsjHdGRSCRF0sfBEXRVV0FQuQiLm5CZNBFgRRaRLVFhbJ2EdiN5gbK7toObTPn6eYdPTvNzPvOBz5Xh/ec5/n/n89zXtEHmZqeSXSuXBz/3zfdKvBWJHQrwZuRcP0El+QkbQXeBX6WZEgm6TtJk5lM5o4Lc+cV6qpf4Ga20Tm338zeATItVK9Ker6yvPzp4NDQ3+XieGsCU9MzTYumGbhz7m4ze9/MHgvBgItACrgfGAj2jgAvAYs3wlEujjc13kii8YyZrXXOfWhmo9GnFUlvOOemarVapVqtkslksmb2KjARqL62ecuWN9NxbRInzrldAXhV0uFSIfdew7G/gNLU9MwS8CwSmE3Oz88fcXG5blfpqVRq0Ix8VIAAX0XgrVL7HDCHGcCaWrV60LUBN8Dae58aQIxEqcA592I9M610JL0cpG/U9TIHJNKY3RV5z0R+7Nd4HZ0P1g/2RMBuegLAsRMnb4vT8d5vqKfMzOgtAlADrkmqGywmiMBTwfr3dC9j1Xv/r6Tvg/5/5ejxE6cO7M9faVbQZrYNOFSPmqQvVo9FKexvi5uWX58943aM7DwAfBDY+FbSCxP5sdkGx55GeguzrUEXPaSo2pFkAbiSZQCAzZJOmdkjwd6SpB/M7KykQTPbA2wDhoIzRzcNDx9MJwGNIXdJ0mEzmwbujL7dbma7gd03A7lKfnTOvf74nl0r6bonTUbujRSUCrm2d4L3/kvn3JPe+8+BDW2i9o+kT7z3kxP5sYsA6W47oE64TsR7P9tQL4vA2mh9WdIscKxUyJ0M7aR7acOGzikD65EQLEjaa2ZXzMwDFeB6qZBbbLTRE4EGeSaozNOZgYFf8qP7lmIvs354n0qlHpB0T7B9Ogl4IgJJrmjv/SiQjbrkD+BMUkfSbYATPdckrTOzkciWAXOlQu5cYgLdPEIapud9wMOR9zVJH3ViKx333mtHMJvNuoWFhZ3A+ojMcja77njXBEKwJJfTcqUyCIQ34Mf7nnh0paMnXacFuGoC1mr3AtuDfLzd8Zuyl+rfuGn4HLAD+Az4qZQf+61TAj0Noj8vX6oC35SL43u7teG6rf5+iXppwW7/JUL5D03qaFRvvUe+AAAAAElFTkSuQmCC");}.bk-root .bk-tool-icon-zoom-out{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEgsHgty9VwAAA0FJREFUWMO9l09oXFUUxn/fmXlpItppi22k7UJBRSlVkCytSAuKUloIdjKT0El3FXVXdVFKRVAQV7qQohsNwdA0UFvBhYtqUVyIVlRaogtFQVq7qSTVjA3z3nHzBq/jvPmTN/Ss7rv3nvN99/y794kByMzcfE/7picn/jenmwWeRUI3E7wdCRskuCSTdDfwBvCtJEdySV9KOhpF0e0/LF5SqKtBgbv7ZjObcvfXgShD9Zqk5+orKx8Oj4z8NT05kU1gZm6+bdK0Azezu9z9hLs/HoIBvwAF4H5gKFh7B3gBWFY3460kWve4+3oze9fdx9OpVUmvmNlMHMf1RqNBFEUldz8OHAxUX9q6bduryut+Sfvc/Wz62ZD0fK1afjND9y3gGSRwv1GMojstTxUUCoVhdyopEYDzKXjWwZ4FFnEHWBc3Goet00m7lZlZYQixKw0FZnakGZksHUnHgvCN5/KARBH37enpOVg58H13HV0Kxg/kIuD/ngSA2ZMLt3bTSZJkUzNk7k4+D0AM/CGpaXCyBw/sC8Y/qZd2GpZiuL9YLN4Sx/HpoP5/c/exQ1OVq+1yyt13SLoArEsJnMjlgfOffvK3u58Kprab2QezJxfG2iTzUzI70wRPG9jbmpmb95SNB9mpzp7/j2yVdNbdx4K565K+cvfPJQ27+x5gBzAS7Hlvy+jo4WIvoC3kWpcvS3rR3eeAO9K529x9N7C7zX6AC2b28hN7Hl1Vt44niVq13LUjmtlYkiQfA5s6eO+GpDNJkhw9NFX5ueNt2ARodyF1IHIN2JiOl4H16fiKpK+B2Vq1vBAqFAf4IJkGNiIhWJK0192vunsC1IE/a9XycquNXARa5OnApeeioaHvKuP7r3dTGsiLqFAo7JR0T7B8rhfwXARa2us4UEqr5Ffgs151i/08oTNKdIO770ptObBYq5Yv5ibQq/sl3Qc8lJ4+lnSqH1vFfp9koZRKJVtaWnqkWXqSVkqlDe+vmUDWpZMlK/X6MBDegKf3P/nYaj8ErN9fqZBYEsf3Ag8G8Xit33BaniTcvGX0IvAw8BHwTa1y4Md+CeRqRL9fudwAvpienNi7Vhu21uwflOT+L+i1X2TJP57iUvUFtHWsAAAAAElFTkSuQmCC");}.bk-root .bk-tool-icon-help{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAABltpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPHRpZmY6Q29tcHJlc3Npb24+NTwvdGlmZjpDb21wcmVzc2lvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzI8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpBODVDNDBDMzIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpBODVDNDBDNDIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDpBODVDNDBDMTIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpBODVDNDBDMjIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPGRjOnN1YmplY3Q+CiAgICAgICAgICAgIDxyZGY6U2VxLz4KICAgICAgICAgPC9kYzpzdWJqZWN0PgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNjoxMToyOCAxMToxMTo4MjwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+UGl4ZWxtYXRvciAzLjY8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cphjt2AAAAT7SURBVFgJxRdbaFxFdGb2bhui227BWrsVKYgf2kJUbP9EUPuzEB803WTXJjH61Q/7Ya1+CMYKEVTsh4J/EpvY7BoabUiNiA8s1p+4KIhpoUUEselHqyS76TbZ3HuP58ydc3d2u4+IkQxczpz3mZkzZ86VYpXjvenpjZsLhUcliE4AuUuASAgptmt1EFdwPiclzIIUUwubNn17OJlcXo1p2UpodHRiux9xB1Eug1+slbzhFxGOKc851tu7/0oznYYBDA8Pt0U2tL8KQryIq2tvZqQhD0QJHRz3yqWhgYGBpXpydQMwqz6NCnurleCSADkJEfgKfOePqL80R/wV1ZaQyr1LenKfkPCkEPKeaj0xg7vxVL3duCmA0Vyuw/fl52hgBxsBED+h4Cv9z3R/zbRm8MTJTx7HQN7GQB6w5C4L4SX7M5lfLBpurjXMyvNIShiyi0l1pL8n9b7EDGPR8fHxzSsQ6XDB3618/xqo6Pk25V5MpVJllgHM1BO58RdQ612kOYZ+GXdij70TYQB05mpj+1kU5G2fB+l3PZtOf8NGx6ambnMXb3yAxg8wjSEG6OKKR9oicBQD+ZvpH2Wzj0lQpxCPG9qMv1x6hHNCsSAlHM7ZOa682vlI9tRDbvHGbD3nZAPpDoD/3JIrLpAs26UFkC3EMUA99hpfGtEBfJjNJnS2Gwnadnvl+Xw+iuc3DAJuNyIaSCHpilVldyDjjUxj3WDZIAhxhHHyRcdNuA7AAfUaXzVKODpzFiZ4/uLvh5G+m2no+C/pyIf7MqlEJB7bpqR6nXkEUfbeawuLaZsW2ISfNQ2vtaktQlGFQyIVGT0o2+2EC4iQNGwjBIN9qdQ5Qg4mk4X4rW3vCClLtowE2FOFUxKDfNmiZci3ovKKRFPh4FK9q4Zbdr+lKKJiA13TcHR2dmLBgdmQ0GAS2MZaEowY+XbAk09IvgtYZGp16SyvFhaHcIUh645t8T9DBCcnz5zZ4hZLu3DzK2QlL1QQa0Y+pHiJKPSuOGj3PmZTheM5w2TwqBxnvBZOTk7G5gvXJ5Aelms8wnJURL+olSWcfEhf6gDoUXPMq6ZlqbzWU2pE+3hi4s6F68tfIj9cBMlikr7Z0/P0b/X0yIcUXsDCF1WhtL4OROHaXk+xlkbV0Cu732Nmhc4peaWSg73pA8dq5RkvO37ldUTfXCKZv2q45MkhvG87WQEzpCCUSvV1d9GONBy3lMvgKSwrZig8gjAietWY0QriylO2jIo4yVbOSb7KB/qmI9BPKjHpSSXYauRyn92Nq9/Kcrj13x3s3v8D481glQ/0raiNYgX9njPSBOImbrHZePl+tfFmc9sH+Xaoh8NjOKSVdDMhjjYzQLy+dFceH5+IJQf9VYXX4tROg4ZFU8m31M3mfPEqUoJqCGJfvWpo2xnNfdrhC28n06SCeSzNZxlvBINGRXCtKS7EY1uV6V7HWAm38y1cXaXsMcOCvr9ySPj+af7A1U2HJXHzVNvUXVLIGyPf+jV0pf8GHoN+TLAyPkidTCi2RpPApmnR0Bd1zGRaB/B8Oj2HSw7LLbVR1MmskW8RdEWVXSJf3JbpAMgRtc4IZoxTh9qotQjCasm46M0YX9pV1VmbpvRH5OwwgdRtSg2vKaAz/1dNKVtb17Y8DCL4HVufHxMOYl1/zTgIgiYvBnFKfaNp3YjTdPz3n9Na8//X7/k/O1tdwopcZlcAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4oVHp0SwAAAQJJREFUWMPtlsENgzAMRb8RQ5VJItFDOgaZAMaAA0iZpN3KPZSoEEHSQBCViI/G8pfNt/KAFFcPshPdoAGgZkYVVYjQAFCyFLN8tlAbXRwAxp61nc9XCkGERpZCxRDvBl0zoxp7K98GAACxxH29srNNmPsK2l7zHoHHXZDr+/9vwDfB3kgeSB5IHkgeOH0DmesJjSXi6pUvkYt5u9teVy6aWREDM0D0BRvmGRV5N6DsQkMzI64FidtI5t3AOKWaFhuioY8dlYf9TO1PREUh/9HVeAqzIThHgWZ6MuNmC1jiL1mK4pAzlKUojEmNsxcmL0J60tazWjLZFpClPbd9BMJfL95145YajN5RHQAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-crosshair{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADEUlEQVRYR81XXVIaQRCeHqug8CXmBNETaE4gniDwIgpVspxAbxC9ATkBkCpQ8gKeQDiB5AQxNyAvUlrldr7eHxyGXZi1rMJ5opbp7m++7un+htSGF204vsoMoNXrlzSpfWa1oxQfhAegCZGaEtPorHo8znIoJwCt6+td8uk7ApUQCIHTF4BNAWzImq8ap6cP68CsBdDp9i9ZqXM7ML79g/EnCWD+jgMKENKqWT+tXK0CkQqgNRjs0OxpQIqKhoMxaG6/6JeRnK7T6yO2UvVqhYSlLX+ryORfgKn9ORDFIy7ky41yGcwsr0QAQfDH5zucOswx819fs4egI9OFCcD8DjBF7VNbEX0JzdWEt3NHSSASAcCxBDqMgt/623kvyTgNgNjJIfTjk4D4FqaJR1715MjmYAmA5Bx3AwUXQL+t105KaTlcBSC26XRvhjEIoLiq1yqXpr8FAGG16/ug4IT27fxBWu7EiQuAiImJpEMKE6nYM30uAIDDttSUOPfJP7JzbjPhAiBIh9QE67vIvoOi9WJfCwDavf40ulpjbCqmUf+W753ezURuh7Dg1SqflwAEHU6pgfyBq9Y4qx0LG++2fnZ/eUzcstmdM2AWH+jfc+liWdBJfSENf8Lifi3GVwC9mybOfi5dzatWVrbbLIHNva8p5h/16gkaFiLGGxbufkoE6XguwePiXLF3XmMfCUCUAqtKXU7sumd1CowOuJEi3Pg1FBpjitIGhyvVSfvmjci6ZR+rFQfDiPVE2jFYeICQ+PoewwjC5h7CZld6DBdyu6nDSKgzOyIMhmhK5TTqXYbRorZYM46TmpKAAOrGWwSJJekSB1yqJNOzp1Gs7YJ0EDeySDIMtJbQHh6Kf/uFfNFZkolJICRmz0P8DKWZuIG2g1hpok+Mk0Qphs0h9lzMtWRoNvYLuVImUWrmPJDlBKeRBDfATGOpHkhw670QSHWGLLckmF1PTsMlYqMJpyUbiO0weiMMceqLVTcotnMCYAYJJbcuQrVgZFP0NOOJYpr62pf3AmrHfWUG4O7abefGAfwH7EXSMJafOlYAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-lasso-select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEgwlGP1qdAAABMBJREFUWMO9V1uIVVUY/r61z57ZMx4DnbzgkbQXL5iCJphlWdpIGY4jpFBkEiU9ZNaDRRcITcIwMwgxoQtU2IMXdAZfMjFvpERXYiSbysyBEXFmyuHMnLP32uvrwT2xnY5nxvHQ93Jg7fWv71/r//7L4a59TRgqJk+Z6v3a+sv0OI5nk5wu6VaSVZImAThHsgjgrKTvM5nMUWvtmf5n8HodCIKgOgzDhc65pSTrJQWDsSNpJX1ljHnDOfdT37oZLLHv+8OMMasKhcIJ59xHAJYMlhwAJGUAzJfUTHLFuFzOG5QDU6dNMyQfs9Yedc5tBpAD4IYYNQGoBrDtQnt7/b0LFrJsCHzfn2itfQfAnZLiazytA3AaQAuAiwDaEgeNpGkkswAWSBqRONB38b88z5uTKePt6iiKXkk8jq+iJC5LOmiMaTLGHLPWhmWeHr7vV0dRtATAapAzIVmSo51zyzIlbm2stesFPA6pKk0r6Ryg93y/ek8YFvPOOTg3cDSiKCoC2OP7/rEoirYm4rUkF12lAWNM1lr7lqQn0+QA8gI2jBg5cj6Aj8OwmB+KAKIoukhyp6SRJAUgl0ndPLDWPi9pJQCbuviXvu+/GIZhW1dnJ24UJFuTjCCA2ADA8sYGWmsXS3qmL94kDYAtkh4Nw7ANlQJ5U6INT1KrAYC9zQdykl7nFSj5fXp5Y8NWVBhy7mUAjqShMYdMXV2dJ2klyRwAJ8lIeuGWCRMP7N7frEqSG2OmAFhKshNAp5wrmO7u7jEAngPQm1S2z2pqapr+OPt7XEly0oxwzq2RdFmSD2AMgKKJouhhAL4kA+Cs53l7e3t7uytJHgRBreTWkXwkKVJnJD0B4GAGwIJE9R6AFufc6UqSZ7PZbD6ff5dkA4CQZEHSqwAOISmXtwGIE+F1SeqqIP8d+Xz+C0mLJYWSAODteXffczjdDQNJ0BWMCoLg5gqIbRTJNwHsljQhUb0luWPM2LE7Thw/9m/5NCT/TByxAOYWi8X6/gdWV1dnfN8fNRBxJpMZTXKdc+6IpFVJWAEgkvSJpA0X2tvtVTaSjgOYBCAEEADYSHK87/sfhmEYA9gShuEDkgzJHyWtB/B1irQ2juP7ADxkrX0wOUOpzmdpzEY590HJ7Ni1r2kSyZOSiv2+hSRjSTXp/QAukzySNJOJkmalyNIl10hqMcasdc61XDNcQRD8BnITgNp+36r6kfcNFMMlLQGwTNLMEuQGQBfJl2bdPru+HDkAZAqFQux53jZHEsC6aw0eg2gylNRBcqcx5v04ji999+03AwsWAOI4Lsy9a94WkisAnE5a5WCJYwCfA1g7LJudI2lTHMeXBm1faiQzxkyRtF3S5CTupeAB+KG2tnZFT0/P30NO2VKLzrmfAbwGMipjG5Oc0dPTc0Md05SZ5U4Q2FxChErtEYD7jTGNQ3UgM8Asv90Yc9I5LSKRlXSI5CxJa0jWSALJjKRnAewfkniT+vwf7N7fXHK9rq7O7+jo+BTA/NRrdBpjnnLOnUrvXd7YMPQXSBunneno6IhIHgYwW1JtkgmBpBkATlVMAwOk3nFJ+VSoqgCMr6gIy2FcLtdKspAedyQN/98caDt/3kpyabUmf8WvG/8A1vODTBVE/0MAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-pan{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4lKssI9gAAAOtJREFUWMPVll0KwyAMgNPgoc0JzDX2Mtgp3csKErSamGabIEUo/T6bHz0ezxdsjPJ5kvUDaROem7VJAp3gufkbtwtI+JYEOsHNEugIN0mgM1wtsVoF1MnyKtZHZBW4DVxoMh6jaAW0MTfnBAbALyUwCD6UwEB4VyJN4FXx4aqUAACgFLjzrsRP9AECAP4Cm88QtJeJrGivdeNdPpko+j1H7XzUB+6WYHmo4eDk4wj41XFMEfBZGXpK0F/eB+QhVcXslVo7i6eANjF5NYSojCN7wi05MJNgbfKiMaPZA75TBVKCrWWbnGrb3DPePZ9Bcbe/QecAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-xpan{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4X4hxZdgAAAMpJREFUWMPtlsEKwjAMhr/pwOOedINJe/PobWXCfAIvgo/nA4heOiilZQqN2yE5lpD/I38SWt3uD9aMHSuHAiiAAmwaYCqoM/0KMABtQYDW11wEaHyiEei28bWb8LGOkk5C4iEEgE11YBQWDyHGuAMD0CeS30IQPfACbC3o+Vd2bOIOWMCtoO1mC+ap3CfmoCokFs/SZd6E0ILjnzrhvFbyEJ2FIZzXyB6iZ3AkjITn8WOdSbbAoaD4NSW+tIZdQYBOPyQKoAAKkIsPv0se4A/1UC0AAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-ypan{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4anK0lywAAAMVJREFUWMPtlzEKwzAMRX/S7rlpIMXeOnaLaME36FLo8XqCdNFghGljyc4kgQi2Q/SUj0F/eL7eMMTKz6j9wNlYPGRrFcSoLH4XxQPvdQeYuPOlcLbw2dRTgqvoXEaolWM0aP4LYm0NkHYWzyFSSwlmzjw2sR6OvAXNwgEcwAEcwAEcwAEcoGYk20SiMCHlmVoCzACoojEqjHBmCeJOCOo1lgPA7Q8E8TvdjMmHuzsV3NFD4w+1t+Ai/gTx3qHuOFqdMQB8ASMwJX0IEHOeAAAAAElFTkSuQmCC");}.bk-root .bk-tool-icon-range{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAABCJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjMyPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxkYzpzdWJqZWN0PgogICAgICAgICAgICA8cmRmOkJhZy8+CiAgICAgICAgIDwvZGM6c3ViamVjdD4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTgtMDQtMjhUMTQ6MDQ6NDk8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPlBpeGVsbWF0b3IgMy43PC94bXA6Q3JlYXRvclRvb2w+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgrsrWBhAAAD60lEQVRYCcVWv2scRxSemZ097SHbSeWkcYwwclDhzr1Q5T6QE1LghP6BGNIYJGRWNlaZItiFK1mr+JAu4HQu0kjpU8sgF3ITAsaFg0hOvt2Zyfvmdsa7a610Unx44Zgf773vvfneezPHNzrbhn3CT3xC3wPXYOC8LDzqdi8YY/gwh4BeknS/2th6dr2kf94AOp3OFyWgMyziOPbMDxV9FTtJnl1ut795Xd0/YQ0/vtYQwMT1KXWCfr2IjOWwtNehwN4xL9ykTrm6Pzl58yLn3J+mKh9mXbT3uRjGEDph+O8/TjfP5dBp7Ha7AX7O3o5nZeD/0E/OGyXntDgzA0X6qmCnrVutVlrUWV9f/3xo+pwhGDhvEPHOjoxnZjJggXmMHzBQ7NGNp9vxk61fr0HR7e/u7pZzCGHlc7qwBYYTT7tJYSx1AQzppyFPft5apta9w7SKcn0b7P7+/jCsDQ5mbc0dCmIJGDN0ehdcjsmkm6A6KUeKFOTE11PLxrC7Ukqh3ylL2fT0NAP9q6ur6rRCJJYsbKB0JsbCKMuy+xREePDyxQPCz+Crlw062QcA5wBOOt1l6vIl2WiI9F1fN6Q+BBqit6hEC4Hk08GQJMn4myjSP7RavVxgdaVUh/3U6HCMsPr9pYnJKRziHtWQ+un58+hGs6nsjQSjpuTyKGN3CX+FBwHXSiEVgjP+O8X6N12kIePES+GzTKAkGbNp8yJsGUMVzz8jPKReiyAQRimy5/cjye5RpF8utFp/+nwmT7d/NMzcFkS7yjJNGDaPURQxIQThEQy0SyF4l5WJYYhBa816vZ6dU7A6CAhbZVow/pDe0O9hVOoCi13r4BgBAvJHqMSQL2vE/iH6IAXEwgrRVUmBoRRwnwJQT98xEeVeSUyB4dJ5nwJBKdCFFGRmUCcu7rwIYypCTblaChuNBhWODrman5ub+4v0rMNBt8z6Ezh7GksJQpCbm79cMQE7QBFm/X6f0rjWnv8WRYg/QdbUpwDAEBy8vPyA8rNGzg3a8MiElwiM7dAtRqNoNptjGPM1laVxP9umWEMGLOKhKUOJDtBwDmzsw9fC/CzHr9SGuCTi2LbbKvVtmqXpCjMihBFa79Wrt5fGx9PDzc3fmu32Lf8qFliwU9emKhBSp+kRKn/hu9k1COEDbFdt/BoKWOAkuEbdVYyoIXv8+I/QK9dMHEb1Knb7MHOv8LFFOsjzCVHWOD7Ltn+MXCRF4729vWMDK+p8rLkvwjLg4N4v741m5YuwCI9CvHp1Ha8gFdBoPnQAkGsYYGxxcfEI7QQlFCTGUXwjAz4tWF+EpymOWu7fglE7qsOvrYE6g4+9/x/vhRbMdLOCFgAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-polygon-select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEjc1OfiVKAAAAe1JREFUWMPt1r9rU1EUB/DPK0XbqphFHETo4OCiFhwF0V1KHbRSROLqon+AUMVRRFBwEbRFMBiV+mMW/wIxi5OD1kERRVKRJHUwLvfBTZrU5OWBGXLgQu7Jfe98z/ec7z0vKa88b2q1BDtRHdAPBaylm1NzsxsOjPnPNt6WSWprbft+/c3I3zOAjhT1Y4+fvcjEQJIXnVECSa+AhqIHqlHH5lWCZoe+Gk4GRgDG86j9SAUdlDBSQaZhlOkuHyoVdJmsw98D1S5fM4NYM1LCpqM+Lwa240oLgmZzpVZvzKT75VLZcqksSZKWlQeAy/iORVwIvh31xvotvK7VG3Px4aWHj3Jl4C2uYSvq+Bn8v6LLbaVWb9zsBiKLCvbiNG7gLm7jAYqbPHMJMziZ9lsKoh8GtqCEVVzHftwJn+TFHp4/hg8BSCYVfMOZoPEv2NZGdy9WCGUr9toDR3E2/H4V6nwRe/BmgN65H1ZhvMuB3XiKIyFoGefwO6ysVkUlrNUNsyAK/jli533Q+Y8cJFvAeXyMS1CI/jiMr/gUtD2LQwMGr4R3p7bY3oQHQ5b38CT4D2AXXg6YcQXHpyYnlqKsi5iOAVSwL9zd7zJ09r+Cpwq72omFMazjT9Dnibym0dTkRDUKrrgwH7MwXVyYB38BstaGDfLUTsgAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-redo{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4itK+dVQAAAaFJREFUWMPt1L1rFFEUBfDfJDaBBSslIFjbaSFp1FJQFMVCHkzhKIqdUYOCoBgErVz8rCwiTDMwBCIKipDWyip/gxAIWAmBgBC0eYFh2Gx2l9lFcA5M8e59782Zc84dWrT435Hs1siLchqn43MS0zgW22vYxjesYjVLw3YjBPKinMUTBOwf8J5fKLGYpWFjJAJ5Uc7gIW6jM6Kim3iNZ1katgYmEL/6I+YasvY7Lg6iRpIX5VF8wuEe/XV8wGf8jN6LWTiAc7iEQ7ucPZ+lYW0vAtfwvlbfwCKW9gpXDOv1mJvZHiSO91MiyYsyiQSuxtpXXM7SsDmM5nlRdrCMMz3sOJWl4Xevc/vwBzdwAl+yNNwZxfRI+GxelK9ikHcwh8d4NNR/YFRES1ZwoTYdR7I0rNf3TzVNIGbmSvR/Bx08mIgCFSVu4l2ltIWD9WxNGR+W8KOynqnZ0rwCeVG+wa0hjrxtWoF5dAfc28V8Mib/n+Nev5dnabg/zgw87aNEN/bHOwVRiRe4Wym9zNKwMKkpgIWKEt24njxiJlq0aPFv4i9ZWXMSPPhE/QAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-reset{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4gWqH8eQAABLdJREFUWMPtlktsVGUUx3/nfvfOlLQaY2IiRRMQIRpI0PjamJhoVASDvNpCpYw1vJQYSVwZwIVQF6wwRHmkAUof9ElrI6VqDAXcID4TF0IiYQMkSlTokNCZ+b7jove2t+NMH7rQBWd3v+989/zP+Z8X3Jb/WGQySvUNTQBJESkNguAVYIWqzhaRhwBU9WcR+QXoymazn6jqzUQiMQSQzWZRVdal1vwzAI2tHQBPOuc2AbWTdOyQ53n7nHNfRwee51GzqoIQMCLDpr3x/tLQ0oZzrk5Vj0/BOEBt+KYuOlBVGlrahr0Wob27t3gEjnZ2AyQzmUwHsDgP6J/AYRE553neDwDOuUdU9QngNeCumK4TkRMhZUORcYC1qysLA6iuSQHIwkWLD6lqapQsuSmwTVV3h99I7EcAR462A2xR2Ilq6ehTaejvO1774kuLNALR33eclsaGsQDe3fYegHl43vyNwEeqGl1963mm2jl7YZRTQ82qlWP4HM6ZToC5ztkW4LHQoALru7s6Di5dvlIj/e6ujrEAWoZDn8hmMjXATMACGaAVuBjXTVVXFc/AxhaA+4zvn1DV+eHxVWPMAmvtb5GeMWZyZVhI2rt7qVy2pOh9U1snwIPW2vMi4oWJuBPYHkVAVScPoKmtkzVVK6cEMsyJraHhiCqJqJUwj/JRz7TW1iSSyR2rVyylqa0Ta+24Ic8vXaAEmDFc/l5Z2A/80OibuVyuz/f9ElUdHCmvw82t5HK5h6y1PYhsz2YyGw43t2KtBZHIGwB6+j4rCkBVUdV7gXrggnPuu8h4eP+xMeZS2D0rJYZ6AdAMzAt1b4nI26p6IFZOY8pugijcKSIHVLUK0LyST4vnrVfnWr3mjmP4QTATaERkXkypRFX3isjmuHdRJEK6Ckqquopp06bdKCkp2Sgi7XnGLcg7gzeutwNIiPYc8HixqIrIOlU9ONVIhHPEd851icgSVXUiskVV94gIqoonIt0i8gfQCfwae38e6BWRXuBZz5jZ8VbaOE4EIqlZVUEQBLlkMplS1QER2RwkEnsSyaREDUzyeNsvIhvCMqkH1kdIJ2o+k8iJB1LVVRfjZ6nqqlEAIbdVQGto8Lrv+/dbawcjAL7vc+6bs+zetetfLSHxniIFGofGGsU2oC7eOCbDfZ7nQawBOSAX74SF9oEPImOq+r7nmVmxb5raukZa8UReGmNmhbMkAwwBH467EYVZe49z7kdgenj8k7V2oTHm8kgdWcvrNdVFjR8cHkYzjDH9wLjDaEwEzpwa4MypgWvAjtjxfGNMj4jMiT+M+kFsZI/Q6Pv+HGNMT8w4wI7TAyevxXVPD5z8+zD64tRXAMHVK1eaVLUyVvuDqroV2BOnJF4ZIedviUidqt4Re9s+vbx8zZXLl7PR2+nl5Tz/zNOFp2FzxzGAklw22wUsLLaSKXwf8vhosZUM6PeDYEUum70VHfpBwKsVyyfeikOP6oBNwN1TrLbfgX3A1kKLzKeff8nLLzw38T5wZDgxn1LnNk5lLRfP26/OnR2hwfNYW2Atn9RCsrf+EECyrKysDFimqhXhyjY3VLkAXBKRDqA7nU6nS0tLhyIj6XSaN9bVclv+l/IXAmkwvZc+jNUAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-save{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4UexUIzAAAAIRJREFUWMNjXLhs5X+GAQRMDAMMWJDYjGhyf7CoIQf8x2H+f0KGM9M7BBio5FNcITo408CoA0YdQM1cwEhtB/ylgqMkCJmFLwrOQguj/xTg50hmkeyARAYGhlNUCIXjDAwM0eREwTUGBgbz0Ww46oBRB4w6YNQBow4YdcCIahP+H5EhAAAH2R8hH3Rg0QAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-tap-select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3NzIwRUFGMDYyMjE2ODExOTdBNUNBNjVEQTY5OTRDRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCOTJBQzE0RDQ0RDUxMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCOTJBQzE0QzQ0RDUxMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTQ0QzIwMUM1RjIxNjgxMUE3QkFFMzhGRjc2NTI3MjgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzcyMEVBRjA2MjIxNjgxMTk3QTVDQTY1REE2OTk0Q0UiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6eYZ88AAADLklEQVR42rSXf2TUYRzHv7tuGcfE6Vwb5zLSSjEj7Y9KWqfEmFZJP+yPMdKKmUrrn0iUfjhWlLFi6YfNrF+StBoTo39iYkTGco4xxxG59P7k/T2PT8/37nu3bx9ezvPj+zyf5/PreS78bGLS8SmrwE6yje3NHJsDBTALpknBz6JhH3NiYAB0gHqPOVv52wJ6QQ48BzdAttTioRJjdeA8mAHHS2xuk3p+M8M16ipVQE49Ds6CiFO9RLjGONf05QLx6wPQaBlbBlPgJVgkP0ETiIJ2sB/E1XfimjfgBOOlKDUqCGOcqBcQnw6BYW5YTo4wbvQhMmCfGRemC2rBiGXzWUb+kM/NRZ6CHWBM9ce5R61NgX6ayhSJ5EPlItlDRNkz4JbFHf06BkSzHjXxM+gDv1S/mPUo2AXWgt9UUHL/IVhS8yUV1/EbV3o4N+NaoE9Fu/i827K5pNYHnqAVJECShWmAaddpscYFFXwR7vnXBRGlnUN/L6kqKJlxnRUuDbaDBiL+vst5d4gpcpBrqk/2jIgCKVUolhntplzivHmwh4stGOPfwBWwl/2dpp8p7xjQZqFLiQJtauKkivYm+kzccpK57yXfOUe+P23JqAnVbhMFmlXntCWnxbT31am9ZJ4BJifsUmNTqt0cYhA5ypympPg7VkEKunPbVb8cIG+0kyHLJZNR7fUMooUKFHAPkfQo58VLK+RzwRDd4FdWG9mjpaAXzqkJa1R7kQttqEABWXMjOOxxVRfnhRm5URX1prk/0pQHwNcKlchZ+jdpC+hFdVqO0my9Hj5dkYgCn1Rfh/KdlNDHrJhPqlDih+IfBd6qwpOgEqYMsorJ2HtWxtagLJDn/W3KRfPOZhoeBJfZPgVeGKeKrkQBh5dLXl25Ny3pc4/1fkTdbvFqFQgbxWeYD0hXulhQ0pYiM1jG547fcbMQpVnHTZEn9W3ljsCzwHxCdVteNHIZvQa7/7cC7nV6zHIfyFP9EXjFa7YxKAVqPP4bxhhoLWW+z9JyCb6M/MREg59/RlmmXbmneIybB+YC/ay+yrffqEddDzwGvKxxDmzhc0tc80XVgblqFfgjwAAPubcGjAOl1wAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-undo{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4em8Dh0gAAAatJREFUWMPt1rFrFFEQBvDfGhACASshkL/ALpWVrSAKEQV5sIULWlgZNSgIFkGIVQ412gkBt1lYLERREFJqJRaW1oHAoZUQsDqwecWy7N3tbe6C4H2wxc682Zn3zTfvLXPM8b8j6RqYF+UCzsfnHBawGt3fMcAX7GEvS8NgKgXkRbmMxwg41TLsN0psZmnodyogL8pFPMIdLHUk7hA7eJKl4U/rAuKu3+HslFr/FZezNPSTFslX8QErDe4DvMVH/Iq9F7VwGpdwZUjsPtaSFjv/1vCBPjaxO0xcNbHejLpZrrlvJCMCT+JzA+2fcC1Lw+GE4l3CG1yIptfjCtiKoqtiJ0vD3aM0Py/K57iIMxgkQxat4EdN7e9xdRzlk+LEEPvDWvIDXJ928sYxjL36icWK+VaWhlezOIqbGFirJd/H7szugrwoX+D2BDEvszSsT5OBdfRaru/F9dPXQF6U27g/KnmWhgctxqyzBrZGMNGL/rHI0nDkKXiKexXTsywNGx0OnFbFNk3BRoWJXnw//j+ivCi32/S8CxPVNiWOAdUiJtXITIqYY45/Cn8B2D97FYW2H+IAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-wheel-pan{background-image:url("data:image/png;base64,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");}.bk-root .bk-tool-icon-wheel-zoom{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEgskILvMJQAABTtJREFUWMPdl1+MXVUVxn/fPvf2zrSFmUKnoBCUdjRoVaIxEpO2JhilMYBCtBQS2hejpg1Uo2NUrIFAoyGmtiE+GHwQGtvQJhqDmKYRBv+URFsFDNCSptH60DJTO3dKnX/33rM/H7rvsDu9M20fDMaVnGTvtb69z7fWXmvtc/TEzqd4OyXwNsv/FwFJQVI/sA14SZKRLOlPkr5TrVYXHz70quYkEEK4TtI2YAgYkrQthHDdhV5uuw+43/ZrwCbgRttgY/tjtrc0m83X3/f+D6ydnJhYcB4BSZcBA7aP2d4ELAGW2N5k+xgwkDB0IH19CGGH7R8B1aQeAf4KvAw0ku4K2zu7uru3ApdPEyiKohd4TNKjtjt5h6RHgccSNrddbvuHtm9Jqoak7xVF8WFgdavV+pSk5cCObNmXgK++85prCj3z28HKqZMnH7D9YAY4BvwujT8BvCuL1INX9vVt+dfwcCvNb7f9q2RuSfrGvWu/sL2Nf3LX7pzvj4ENSGBPVarVd4fRkZFltjdmoMGiKO4IIWwIIWwoiuIOYDDzeOPoyMiyFLkum7WJCMDztrcrTTrIRuAQZ6NcK1utL4dWq/VZoC8BhqvV6l1lWb4YYxyLMY6VZflitVq9CxhOmL60hhCKeYiV7WMKIXw9jT1HpXw3c+bOAKzOjJubzebJrKQCQLPZPClpc7bP6rMYKtjXth2OMf7tIkr11Wz8oQDc1Fb09vY+kQw1YAuwJY2nbUluAnCWpKkaFl6IQIzxivaR2SYA89sJVK/Xp2x32R6w/a30DNjuqtfrU0ArYecDCEqgLqm94T0dEm9mBG7PxkdDlkBnkhebgIezNQ8nHcCZPL9ijE1Jf/bZZoPtzbavmqNZLbf9tSxq+yoduuJ+SZ+zXSZyBXCqU+d8fvC5yRUrV+0G2j3g2hDCLyXd/+Su3QdnvP/zCuH72LWsgf2k0oHlH2c2odlkxcpVEdgr6aDtjyb8x20/J+mA7T9I6rL9SWA5dne2/GdXLl58qNJh398An85yTMA+4DOz8Dgu6Zu2dwJXJ91ltm8Gbp7Fgb+EEB4aHhpq5CEtACqVyr3AC0AlPS8k3TSmQ2YPhhBuS/1/LpmS9JTtNTHGfwBU2uUALARotVqniqJYH2Pck85pfavVaufAwnQvnHc0McaDKVptebN94QAnJB0EdtjekydyZXqjs/0ZgLIs/w6sy8bnYGYJ63pgERKC05JutT1kOwITwL9tvzlzUQUYB+Zjs2DBgu6xsbGJZHstByZbezregcBXeCsEz1bnzXt5anLyzLq71zDLxTRdVgemdx0fv2e2w5thO5DbiqL4oKT3ZKpnpyYnz+SY2ZpTAPZmJfdIrVZbNBNUq9UW2X4kU+2dcf53Aj1pj2PA7y/6m1DS00A9za9uNBq7iqJYBuoGdRdFsazRaOzKSqye1rTbaa/tlbYrqXQP2X4FIA9/J1l39xrC0v7+w5IeB8XkwS1lWe6TGJAYKMty31tfO4qSHl/a3384I3CDpI+kzC4lnRfrue6GytEjR8oQwlY73gC0L4qlth/q0M1/LYWtR48cKQF6enrC6dOnVwGLEpnxnp7en4+O1i/tszzGOCTpPmB7ahb57QUwBWyXdF+McWg6MScmuoA8OX8xOlpvXGz422XYTsB/SnpA0h7bX5R0WzI9HUL4qe2XbI+dk3xl+V7gxoztD5jRI+YK/zkEEokx2/uB/RdzIfUtueqVN04cXwF8G3iHY3z9Urw/j8ClyhsnjrcS2Vv/J/8NLxT+/zqBTkcxU/cfEkyEAu3kmjAAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-box-edit{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4QfHjM1QAAAGRJREFUWMNjXLhsJcNAAiaGAQYsDAwM/+lsJ+OgCwGsLqMB+D8o08CoA0YdMOqAUQewDFQdMBoFIyoN/B/U7YFRB7DQIc7xyo9GwbBMA4xDqhxgISH1klXbDYk0QOseEeOgDgEAIS0JQleje6IAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-freehand-draw{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADTElEQVRYCeWWTWwMYRjH/88721X1lZJIGxJxcEE4OOiBgzjXWh8TJKR76kWacOBGxdEJIdk4VChZI/phidRBHMRRIr7DSUiaSCRFRM3u88gz+o7Z6bBTdjmYZPf9eJ55fv/5zzvvDPC/H9QsA66Olo9Ga+/MdR+Ljm2/KQIULsz9FqItGdOfJKLhApLgVkiSCGODjWit7QpKWy+TNrFeXvzKVUT8NiTVaIgDcbiCFJ7GiT8WkARXAdYBK0Lbhi/CenArRNskuM7/tgNp4ArQ42dwjf3WY5gWTqC7O/NbNn2Xkfw/YwdSw/We14HP2IEZwX+y9cZ9SH0LmgFP7UCz4KkENBNeV0Cz4b8U8DfgKiDxMWwUXETqLvJpCQpXZfawbzS7t9v5pL19cHBwfja7YA0y/lyCM0+E5hv5+piZXwKYcF23as+37bTXsQVqgkL0p/34fHR7DcBtbetFsBmGDwMOJCggYG55yw7dMlk6DuC1Bdu2RsCU9TYWQq2IoGbsreZ5NzvEqfSBsIsIy8OTbcdgiRHeh4o8AFAEwDakbY2AaCCpH7V9aGhoUUUy3UyVbkPYFuYLDlUZH8XBpwxkK0Dbgxg5HcVi0ent7a0RULMIozaHBSMfF9b2SzdutFcFB2FkwMIJOG6qfteXOa1nHZ48tyefuwyfT9s6wtzZ3t7eZse2DR2I228TtHXzuWCx9g8MtK5cuHCZTH4tiHEOa4xFngvTyS8f35d6enomiCi4/foEXBkZaQuukChL4FYA2Whd7YcC4gEdW3CpdL3LtGAVCVYJywEyTpAuJKeMOKXZs/Bw947C50KhUFOG4cwz35cjWNBlHGeD53n3xsfHP/T19U1qciggar8Fa4I3PHobIotBWBtc2hSiChyZxVzM53Pv7FVH6Tp3uVy+g0r1ImD2GjIrQGYIxjnfuXTZGICS5k/bBwJoubwEFX4TLah9EXomJGMA3za+f9913Yl4TnzsDQ+vE6YTZOjHh4ngibstt1pzQwd04F0bPStEBpXqRoBeQ/AKghfBnOEKgS+Q7z91Xfdz/HGKg8Ox7z8iYD9z6wqTkZFgnvhMGP9VZ2or1XVkPM9z0mytSfVsHa1RLBZbLoyNzUnK+ydz3wC6I9x+lwbngwAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-poly-draw{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEjglo9eZgwAAAc5JREFUWMPt1zFrU1EUB/DfS4OmVTGDIChCP4BgnQXRxVHqIJUupp9AB8VBQcRBQUXIB9DWQoMRiXZzcnQSA34A7aAuHSJKkgo2LvfBrU3aJnlYkBy4vHcP557zP/9z3r33JdXa647N0kHSZd5Nn0rSxc8G3cXp85sMcnZZ8vge3osZ+l3vB8CWFA0iL14t79h210swAjACMAIwAjACkB90D/8/GchI9ve4nPwTBh5E9ws7OepzGWb9EddSn51Op9ZstadSg4VK1UKlKkmSDSMLALewiuNh/hVJq71Wxttmqz0dG88vPc+MgWP4grvYG3SLOBrZFFFrttqPe4HIDxh4GSei+98iSlusuYopXEAjBtEPA3tQwUpwluAbDm4TPJUz+BTW9l2Ce6G7L0X/Bw8D3T/7SKKIDzHg7QCcxjvcQAEtXAnrrg/RP0/DKPbqgcN4iVOR7gcO4dcQgRuoh7HSqwlP4n20m63jJu5n8MkWMYfP3UowhzdR8FU8w9iQwevBdyq3/27CMRzAE5yLuvsRLg+ZcR1nJ8YL81HWJUzGAPaFZwe/Q5MdyYDyNHgjzO90YyGHtVDncuiJchaHw8R4oREFV5qdiVmYLM3OgD9k5209/atmIAAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-point-draw{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEiERGWPELgAAA4RJREFUWMO1lr1uG1cQhb9ztdRSP7AF1QxgwKlcuZSqRC9gWUUUINWqTh5AnaFOnVPEteQmRuhCURqWsSqqc9IolREXdEvQBElxtdw7KURSFEVKu4w8wAKLxdw9Z+bMnRmZGXfZ29//II8th4WwGVNyIoQLYB5vxA9Caq04iUd9A+7ZlsNC2I7TdSd2hZXMJKlnTqp9jtl/GBaqoyQ0noFKpUIzBicYYc+DEFpxkglc4oVJa5gvDn8v1xV2irG3FM4NSVwjUKlUaMcpJhCGmSEJQ6QGD8M5WnHCd8+f3QCXpPLx8WNwv0j6Bm9FMK7FJ3WBE+R/2t7c/GBmFvSBrzRTCsyTDjXrxUgEMtpxynJYmJoBJ4VAybwVARgvL7Oik0okCodnKpVKX7P0leiVMb0VvbJT+upznK4vh0GIeQwwQStJkHQD3MwsCALTJRG7Qrdrj5m/djgYaIa0hlkRdJk26XEgC9txurccBtVW3IudBImmZuACUP+ZlIDBt9FKcubYNTcAH/X0RYM1E7utJPlqe+uZzPxUcEkiSS4sTT95n15Mud0xWC0o2PAWOCdK3KYZlFxfM+tHOcnMzNr1es18ug+cgsVjP4yBU/Ppfrter1m/+l0+zYygML1xRVHU7TSb1cSzBzoBzszsH+AMdJJ49jrNZjWKou6wBnwOzcyndBpNbuueURR1Dw8Pq35p9cc5p/Dy9Dypt7jXrtdGwQECS9NPhr6Gq6txUzNigE6zydLK6lTw12/KT4FGFEUfJX2YJNONq5tVs4ODA7sD/DnwJ/BoADZuE3tHFs12dna6d4C/BI6AlbyzI8ii2TTw12/KK33gb2cdXsNZoAntbZC2SeO4c9592k/5eNQbiwvFd1kJuFGwLJr1wSPg/SwpvyFBHufOeXcFeAlE97U/uCxOY+P3b+Bn4B3Q+L8EdJfD4a+/AbC4UBzPxiPg3wlHZquB28Cn2IuR9x3gr3uV4DbwfvSDOvi4uFA8BDZmIRHkjHpS9Ht9iRqd8+5G3g05mAGcQbsdiX5QJ428G7Kygo8XYdb1/K4NWVmjzkNge2sz84bs+ELmpDDLtqWsNZBXgvmw8CTtpWVMT7x5YWBjLARnwZfKQNYN2U2LPvrh+5nBt7c2M2/It9bArCTKR8eZN+SJ13AScPnoODeRdqNenH+wul5w2gUr2WUjMFAt8bZ/0axX/wNnv4H8vTFb1QAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-poly-edit{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gELFi46qJmxxAAABV9JREFUWMOdl19vFFUYxn9n9u9sCyylUIzWUoMQBAWCMdEEIt6xIRQSLIEKtvHe6AcA4yeQb7CAUNJy0daLeomJN8SEULAC2kBBapBKoLvbmdl/c14vdmY7u91tF95kknPOnHmf95znPc97Ro2OTeBbdjFDT3c32ZxVHUOE9kSMB0/m6ExuoJn1H+ur6Y+OTfD50SMN5168OgrAlyf7CfuD+z7+iDs3p8hkLUQ0iFQ/yFl5Nm/qonfHVva+s32Zw9GxCYILsZ08tpNfBhbs+1YN4OH9+7huGdECSBVfqUosbsllfmauBqiR+cCNwOr7AEo8pPHJnymXykhg5fUWjoQpl0vVvhZhbSzGoUOHqgBlt6B6uruj2Zy1E9jo0fhfeyL2x4Mnc8VErK0KUEOB64JSyptfG4RSytsJjUJVxw2lsFy3urL9nx1Qd25ObctkrVMi+jQivd7U2ZyV/3Hzpq7h3h1b/7p9Y0o8v8rwAbTWrGpSocN/FGDlbAI0Rl23PCBan0Ok158H9Ipwzi25A/Mzc9Gl/BYx/E4kYqC1NKRARNAaDCNUM27Z+Zr+ouXs0q4+LSLBHPYCFkTkC6uU39kwCdsS7WRKmaYUiAhdnZ3MPX2K4+QjQI+C94A93rMzm8ltMwyDeDzWjMZeEb2pYQDdW3vITU2jtUZ5QThOPgm8C7wP7J15OPsBsB3oWpGnVWisCeDS1VHj4vBI92+/3tgB7Ab2AruAXiDBK5oIOkhtkEYRNRuJhObrd8Dl9ewf4D5wG7hVLpen29vb5wzD+BrkbBMaL3d1dk5nsrnlFDTTFWAWmAZueWD3gCemGde2k2fw1Al1YXhEvjozoO49eczdqekrWmsc2zlrmvEKOGoW1GUjFLqSk2KpJrCLwyMCPAP+BO54QL8DM6YZX/ClsP9YnwKkXnIBP4jdIpJRpdJTCYdMwwi98KU0Hjc/dDILNyUcwTCWdOSMJ0TRmBktGRhLugu0xyLk7CIqVNm+0bGJptl1YXikD0grpY4Rjc4a8Fbgdab/6OGbAJeCUuyJnnHmZH9pbSyGuBXV8NUwlUpR1EWyixmSyTWEwqGlJ2Swbo2JXbAAfgDGgGQA9I1A9t1tlq0AxrXxn0ilUpw4fhQqYkH/sT41OTnJJwf2s6FjI5mshdYa7bqVR2uezr9MJmJt14FvGrh/O9D+e6UkM/xyCuCqEKCYnJyUTKFQrZDHjxzGshwWLQcRsOz8Hi85P23id0ug/XilAMLBmm4tPGdoaKjSH5+oAGrhwvBI9SjZTn4QSK9yenoD7dlrExPoJlXW8G8ytpNHxRKk02lGxsdRKFwXLNvx5yY94HQLGhGk4LFCYQSqaE0AwWM1eOoEbR0dKBSW7bC4mKuffxs4D/wCLKwQQPAUzIkslfp6cVomROWSolh0GjldAM4nzDi2k9/i5UAzC9aKfwNJ3zgJg9YEvN6+C7SHgKm69+sD7RfNnKTTaZRPQfAut4oFV//IS7gkcB34VlVo8kGzphlfB+DU+TfNGBpZtRastvrvARJmfMF28ge9sc2B9/PNnCilMIDwK6y8/ow/Ai4kvILTljAXvDvEvrqKSUs60KolzPjBxspavQD2tKqCAGF/Ba+xE/Wbilu54wZV8NEKF5fXzQHl/bh4hUsE0WAXSlDMYcQSrQXgCmsTseXHsJkNnjqBFGwKJaHsKlxtUHYVhbLCzr1kaOA4bcn1y1Swmb+iLpJKpVrfgdpfsiVVCYcgluwgnU7jEgJ4s5UkLFtWYyHyEg0/N1q1tmQH+YXnAMFr97Nmv3p+0QsHQRsF8qpBOE5+rb9Nkaj50tVQKjqh4OU3GNL/1/So3vuUgbAAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-line-edit{background-image:url("data:image/png;base64,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");}’},n”, “ function _(o,r,e,t,b){t(),e.root="bk-root",e.menu_icon="bk-menu-icon",e.context_menu="bk-context-menu",e.horizontal="bk-horizontal",e.vertical="bk-vertical",e.divider="bk-divider",e.active="bk-active",e.menu="bk-menu",e.above="bk-above",e.below="bk-below",e.caret="bk-caret",e.down="bk-down",e.up="bk-up",e.left="bk-left",e.right="bk-right",e.default=".bk-root .bk-menu-icon{width:28px;height:28px;background-size:60%;background-color:transparent;background-repeat:no-repeat;background-position:center center;}.bk-root .bk-context-menu{position:absolute;display:inline-flex;display:-webkit-inline-flex;flex-wrap:nowrap;-webkit-flex-wrap:nowrap;user-select:none;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;width:auto;height:auto;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-context-menu.bk-horizontal{flex-direction:row;-webkit-flex-direction:row;}.bk-root .bk-context-menu.bk-vertical{flex-direction:column;-webkit-flex-direction:column;}.bk-root .bk-context-menu > .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.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,s){n();const o=t(1),l=t(43),h=t(245),d=o.__importStar(t(243));class r{constructor(t,e={}){this.items=t,this.options=e,this.el=l.div(),this._open=!1,this._item_click=t=>{var e;null===(e=this.items[t])||void 0===e||e.handler(),this.hide()},this._on_mousedown=t=>{var e,i;const{target:n}=t;n instanceof Node&&this.el.contains(n)||(null===(i=(e=this.options).prevent_hide)||void 0===i?void 0:i.call(e,t))||this.hide()},this._on_keydown=t=>{t.keyCode==l.Keys.Esc&&this.hide()},this._on_blur=()=>{this.hide()},l.undisplay(this.el)}get is_open(){return this._open}get can_open(){return 0!=this.items.length}remove(){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=e.getBoundingClientRect();this.el.style.left=null!=t.left?t.left-i.left+"px":"",this.el.style.top=null!=t.top?t.top-i.top+"px":"",this.el.style.right=null!=t.right?i.right-t.right+"px":"",this.el.style.bottom=null!=t.bottom?i.bottom-t.bottom+"px":""}}render(){var t,e;l.empty(this.el,!0);const i=null!==(t=this.options.orientation)&&void 0!==t?t:"vertical";l.classes(this.el).add("bk-context-menu",`bk-${i}`);for(const[t,i]of h.enumerate(this.items)){let n;if(null==t)n=l.div({class:d.divider});else{if(null!=t.if&&!t.if())continue;{const i=null!=t.icon?l.div({class:["bk-menu-icon",t.icon]}):null;n=l.div({class:(null===(e=t.active)||void 0===e?void 0:e.call(t))?"bk-active":null,title:t.tooltip},i,t.label)}}n.addEventListener("click",(()=>this._item_click(i))),this.el.appendChild(n)}}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}),l.display(this.el),this._listen(),this._open=!0}}hide(){this._open&&(this._open=!1,this._unlisten(),l.undisplay(this.el))}toggle(t){this._open?this.hide():this.show(t)}}i.ContextMenu=r,r.__name__="ContextMenu"},n”, “ function _(n,e,o,t,r){t();const f=n(9);function*i(n,e){const o=n.length;if(e>o)return;const t=f.range(e);for(yield t.map((e=>n[e]));;){let r;for(const n of f.reversed(f.range(e)))if(t[n]!=n+o-e){r=n;break}if(null==r)return;t[r]+=1;for(const n of f.range(r+1,e))t[n]=t[n-1]+1;yield t.map((e=>n[e]))}}o.enumerate=function*(n){let e=0;for(const o of n)yield[o,e++]},o.combinations=i,o.subsets=function*(n){for(const e of f.range(n.length+1))yield*i(n,e)}},n”, “ function _(t,e,i,n,o){n();const s=t(1),c=t(238),l=s.__importStar(t(241)),a=t(43);class _ extends c.ButtonToolButtonView{render(){super.render(),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 _(t,e,o,n,s){n();const i=t(238),c=t(246);class l extends i.ButtonToolView{}o.InspectToolView=l,l.__name__="InspectToolView";class _ extends i.ButtonTool{constructor(t){super(t),this.event_type="move"}static init_InspectTool(){this.prototype.button_view=c.OnOffButtonView,this.define((({Boolean:t})=>({toggleable:[t,!0]}))),this.override({active:!0})}}o.InspectTool=_,_.__name__="InspectTool",_.init_InspectTool()},n”, “ function _(t,o,e,i,s){i();const l=t(1),n=t(19),a=t(43),r=t(122),c=t(240),_=t(20),u=t(9),h=t(13),v=t(8),p=t(249),d=t(99),b=t(53),g=t(236),f=t(237),m=t(251),w=t(252),y=t(247),T=l.__importStar(t(241)),z=T,B=l.__importStar(t(253)),x=B;class L extends b.Model{constructor(t){super(t)}static init_ToolbarViewModel(){this.define((({Boolean:t,Nullable:o})=>({_visible:[o(t),null],autohide:[t,!1]})))}get visible(){return!this.autohide||null!=this._visible&&this._visible}}e.ToolbarViewModel=L,L.__name__="ToolbarViewModel",L.init_ToolbarViewModel();class M extends c.DOMView{constructor(){super(…arguments),this.layout={bbox:new d.BBox}}initialize(){super.initialize(),this._tool_button_views=new Map,this._toolbar_view_model=new L({autohide:this.model.autohide})}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(),T.default,B.default]}remove(){r.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 r.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 t=this._toolbar_view_model.visible,o=z.toolbar_hidden;this.el.classList.contains(o)&&t?this.el.classList.remove(o):t||this.el.classList.add(o)}render(){if(a.empty(this.el),this.el.classList.add(z.toolbar),this.el.classList.add(z[this.model.toolbar_location]),this._toolbar_view_model.autohide=this.model.autohide,this._on_visible_change(),null!=this.model.logo){const t="grey"===this.model.logo?x.grey:null,o=a.a({href:"https://bokeh.org/",target:"_blank",class:[x.logo,x.logo_small,t]});this.el.appendChild(o)}for(const[,t]of this._tool_button_views)t.render();const t=[],o=t=>this._tool_button_views.get(t).el,{gestures:e}=this.model;for(const i of h.values(e))t.push(i.tools.map(o));t.push(this.model.actions.map(o)),t.push(this.model.inspectors.filter((t=>t.toggleable)).map(o));for(const o of t)if(0!==o.length){const t=a.div({class:z.button_bar},o);this.el.appendChild(t)}}update_layout(){}update_position(){}after_layout(){this._has_finished=!0}export(t,o=!0){const e="png"==t?"canvas":"svg",i=new p.CanvasLayer(e,o);return i.resize(0,0),i}}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=M,M.__name__="ToolbarBaseView";class S extends b.Model{constructor(t){super(t)}static init_ToolbarBase(){this.prototype.default_view=M,this.define((({Boolean:t,Array:o,Ref:e,Nullable:i})=>({tools:[o(e(g.Tool)),[]],logo:[i(_.Logo),"normal"],autohide:[t,!1]}))),this.internal((({Array:t,Struct:o,Ref:e,Nullable:i})=>{const s=o({tools:t(e(f.GestureTool)),active:i(e(g.Tool))});return{gestures:[o({pan:s,scroll:s,pinch:s,tap:s,doubletap:s,press:s,pressup:s,rotate:s,move:s,multi:s}),V],actions:[t(e(m.ActionTool)),[]],inspectors:[t(e(y.InspectTool)),[]],help:[t(e(w.HelpTool)),[]],toolbar_location:[_.Location,"right"]}}))}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 u.some(t,(t=>!e.has(t.id)))},o=this.tools.filter((t=>t instanceof y.InspectTool));t(this.inspectors,o)&&(this.inspectors=o);const e=this.tools.filter((t=>t instanceof w.HelpTool));t(this.help,e)&&(this.help=e);const i=this.tools.filter((t=>t instanceof m.ActionTool));t(this.actions,i)&&(this.actions=i);const s=(t,o)=>{t in this.gestures||n.logger.warn(Toolbar: unknown event type ‘${t}’ for tool: ${o})},l={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 f.GestureTool&&t.event_type)if(v.isString(t.event_type))l[t.event_type].tools.push(t),s(t.event_type,t);else{l.multi.tools.push(t);for(const o of t.event_type)s(o,t)}for(const o of Object.keys(l)){const e=this.gestures[o];t(e.tools,l[o].tools)&&(e.tools=l[o].tools),e.active&&u.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=v.isString(o)?[o]:o;for(const o of e)if(t.active){const e=this.gestures[o].active;null!=e&&t!=e&&(n.logger.debug(Toolbar: deactivating tool: ${e} for event type ‘${o}’),e.active=!1),this.gestures[o].active=t,n.logger.debug(Toolbar: activating tool: ${t} for event type ‘${o}’)}else this.gestures[o].active=null}}e.ToolbarBase=S,S.__name__="ToolbarBase",S.init_ToolbarBase()},n”, “ function _(e,t,i,n,s){n();const o=e(250),a=e(99),r=e(43);function h(e){!function(e){void 0===e.lineDash&&Object.defineProperty(e,"lineDash",{get:()=>e.getLineDash(),set:t=>e.setLineDash(t)})}(e),function(e){e.setImageSmoothingEnabled=t=>{e.imageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t,e.oImageSmoothingEnabled=t,e.webkitImageSmoothingEnabled=t,e.msImageSmoothingEnabled=t},e.getImageSmoothingEnabled=()=>{const t=e.imageSmoothingEnabled;return null==t||t}}(e),function(e){e.ellipse||(e.ellipse=function(t,i,n,s,o,a,r,h=!1){const l=.551784;e.translate(t,i),e.rotate(o);let c=n,g=s;h&&(c=-n,g=-s),e.moveTo(-c,0),e.bezierCurveTo(-c,g*l,-c*l,g,0,g),e.bezierCurveTo(c*l,g,c,g*l,c,0),e.bezierCurveTo(c,-g*l,c*l,-g,0,-g),e.bezierCurveTo(-c*l,-g,-c,-g*l,-c,0),e.rotate(-o),e.translate(-t,-i)})}(e)}const l={position:"absolute",top:"0",left:"0",width:"100%",height:"100%"};class c{constructor(e,t){switch(this.backend=e,this.hidpi=t,this.pixel_ratio=1,this.bbox=new a.BBox,e){case"webgl":case"canvas":{this._el=this._canvas=r.canvas({style:l});const e=this.canvas.getContext("2d");if(null==e)throw new Error("unable to obtain 2D rendering context");this._ctx=e,t&&(this.pixel_ratio=devicePixelRatio);break}case"svg":{const e=new o.SVGRenderingContext2D;this._ctx=e,this._canvas=e.get_svg(),this._el=r.div({style:l},this._canvas);break}}h(this._ctx)}get canvas(){return this._canvas}get ctx(){return this._ctx}get el(){return this._el}resize(e,t){this.bbox=new a.BBox({left:0,top:0,width:e,height:t});const i=this._ctx instanceof o.SVGRenderingContext2D?this._ctx:this.canvas;i.width=e*this.pixel_ratio,i.height=t*this.pixel_ratio}prepare(){const{ctx:e,hidpi:t,pixel_ratio:i}=this;e.save(),t&&(e.scale(i,i),e.translate(.5,.5)),this.clear()}clear(){const{x:e,y:t,width:i,height:n}=this.bbox;this.ctx.clearRect(e,t,i,n)}finish(){this.ctx.restore()}to_blob(){const{_canvas:e}=this;if(e instanceof HTMLCanvasElement)return null!=e.msToBlob?Promise.resolve(e.msToBlob()):new Promise(((t,i)=>{e.toBlob((e=>null!=e?t(e):i()),"image/png")}));{const e=this._ctx.get_serialized_svg(!0),t=new Blob([e],{type:"image/svg+xml"});return Promise.resolve(t)}}}i.CanvasLayer=c,c.__name__="CanvasLayer"},n”, “ function _(t,e,i,s,n){s();const r=t(168),a=t(8),o=t(43);function l(t){if(!t)throw new Error("cannot create a random attribute name for an undefined object");const e="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";let i="";do{i="";for(let t=0;t<12;t++)i+=e[Math.floor(Math.random()*e.length)]}while(t[i]);return i}function h(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 _=function(t,e){const i=new Map,s=t.split(",");e=null!=e?e:10;for(let t=0;t<s.length;t+=2){const n="&"+s[t+1]+";",r=parseInt(s[t],e);i.set(n,"&#"+r+";")}return i.set("\\xa0","&#160;"),i}("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32),u={strokeStyle:{svgAttr:"stroke",canvas:"#000000",svg:"none",apply:"stroke"},fillStyle:{svgAttr:"fill",canvas:"#000000",svg:null,apply:"fill"},lineCap:{svgAttr:"stroke-linecap",canvas:"butt",svg:"butt",apply:"stroke"},lineJoin:{svgAttr:"stroke-linejoin",canvas:"miter",svg:"miter",apply:"stroke"},miterLimit:{svgAttr:"stroke-miterlimit",canvas:10,svg:4,apply:"stroke"},lineWidth:{svgAttr:"stroke-width",canvas:1,svg:1,apply:"stroke"},globalAlpha:{svgAttr:"opacity",canvas:1,svg:1,apply:"fill stroke"},font:{canvas:"10px sans-serif"},shadowColor:{canvas:"#000000"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:"start"},textBaseline:{canvas:"alphabetic"},lineDash:{svgAttr:"stroke-dasharray",canvas:[],svg:null,apply:"stroke"}};class p{constructor(t,e){this.__root=t,this.__ctx=e}addColorStop(t,e){const i=this.__ctx.__createElement("stop");if(i.setAttribute("offset",`${t}`),-1!==e.indexOf("rgba")){const t=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?.?\d*)\s*\)/gi.exec(e),[,s,n,r,a]=t;i.setAttribute("stop-color",`rgb(${s},${n},${r})`),i.setAttribute("stop-opacity",a)}else i.setAttribute("stop-color",e);this.__root.appendChild(i)}}p.__name__="CanvasGradient";class d{constructor(t,e){this.__root=t,this.__ctx=e}}d.__name__="CanvasPattern";class m{constructor(t){var e,i,s;this.__currentPosition=null,this._transform=new r.AffineTransform,this._clip_path=null,this.__document=null!==(e=null==t?void 0:t.document)&&void 0!==e?e:document,(null==t?void 0:t.ctx)?this.__ctx=t.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.__setDefaultStyles(),this.__stack=[],this.__root=this.__document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version","1.1"),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.width=null!==(i=null==t?void 0:t.width)&&void 0!==i?i:500,this.height=null!==(s=null==t?void 0:t.height)&&void 0!==s?s:500,this.__ids={},this.__defs=this.__document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs)}get canvas(){return this}get width(){return this._width}set width(t){this._width=t,this.__root.setAttribute("width",`${t}`)}get height(){return this._height}set height(t){this._height=t,this.__root.setAttribute("height",`${t}`)}__createElement(t,e={},i=!1){const s=this.__document.createElementNS("http://www.w3.org/2000/svg",t);i&&(s.setAttribute("fill","none"),s.setAttribute("stroke","none"));const n=Object.keys(e);for(const t of n)s.setAttribute(t,`${e[t]}`);return s}__setDefaultStyles(){const t=Object.keys(u),e=this;for(let i=0;i<t.length;i++){const s=t[i];e[s]=u[s].canvas}}__applyStyleState(t){const e=Object.keys(t),i=this;for(let s=0;s<e.length;s++){const n=e[s];i[n]=t[n]}}__getStyleState(){const t=Object.keys(u),e={};for(let i=0;i<t.length;i++){const s=t[i];e[s]=this[s]}return e}__applyStyleToCurrentElement(t){var e;const i=this.__currentElement,s=Object.keys(u);for(let n=0;n<s.length;n++){const r=u[s[n]],o=this[s[n]];if(null===(e=r.apply)||void 0===e?void 0:e.includes(t))if(o instanceof d){for(const t of[…o.__ctx.__defs.childNodes])if(t instanceof Element){const e=t.getAttribute("id");this.__ids[e]=e,this.__defs.appendChild(t)}const t=o.__root.getAttribute("id");i.setAttribute(r.apply,`url(#${t})`)}else if(o instanceof p){const t=o.__root.getAttribute("id");i.setAttribute(r.apply,`url(#${t})`)}else if(r.svg!==o)if("stroke"!==r.svgAttr&&"fill"!==r.svgAttr||!a.isString(o)||-1===o.indexOf("rgba")){let e=r.svgAttr;if("globalAlpha"===s[n]&&(e=t+"-"+r.svgAttr,i.getAttribute(e)))continue;i.setAttribute(e,`${o}`)}else{const t=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?.?\d*)\s*\)/gi.exec(o),[,e,s,n,a]=t;i.setAttribute(r.svgAttr,`rgb(${e},${s},${n})`);let l=parseFloat(a);const h=this.globalAlpha;null!=h&&(l*=h),i.setAttribute(r.svgAttr+"-opacity",`${l}`)}}}get_serialized_svg(t=!1){let e=(new XMLSerializer).serializeToString(this.__root);if(/xmlns="http:\/\/www.w3.org\/2000\/svg".+xmlns="http:\/\/www.w3.org\/2000\/svg/gi.test(e)&&(e=e.replace(‘xmlns="http://www.w3.org/2000/svg’,’xmlns:xlink="http://www.w3.org/1999/xlink’)),t)for(const[t,i]of _){const s=new RegExp(t,"gi");s.test(e)&&(e=e.replace(s,i))}return e}get_svg(){return this.__root}save(){this.__stack.push({transform:this._transform,clip_path:this._clip_path,attributes:this.__getStyleState()}),this._transform=this._transform.clone()}restore(){if(0==this.__stack.length)return;const{transform:t,clip_path:e,attributes:i}=this.__stack.pop();this._transform=t,this._clip_path=e,this.__applyStyleState(i)}_apply_transform(t,e=this._transform){e.is_identity||t.setAttribute("transform",e.toString())}scale(t,e){isFinite(t)&&(null==e||isFinite(e))&&this._transform.scale(t,null!=e?e:t)}rotate(t){isFinite(t)&&this._transform.rotate(t)}translate(t,e){isFinite(t+e)&&this._transform.translate(t,e)}transform(t,e,i,s,n,r){isFinite(t+e+i+s+n+r)&&this._transform.transform(t,e,i,s,n,r)}beginPath(){this.__currentDefaultPath="",this.__currentPosition=null;const t=this.__createElement("path",{},!0);this.__root.appendChild(t),this.__currentElement=t}__applyCurrentDefaultPath(){const t=this.__currentElement;"path"===t.nodeName?t.setAttribute("d",this.__currentDefaultPath):console.error("Attempted to apply path command to node",t.nodeName)}__addPathCommand(t,e,i){const s=this.__currentDefaultPath?" ":"";this.__currentDefaultPath+=s+i,this.__currentPosition={x:t,y:e}}get _hasCurrentDefaultPath(){return!!this.__currentDefaultPath}moveTo(t,e){if(!isFinite(t+e))return;"path"!==this.__currentElement.nodeName&&this.beginPath();const[i,s]=this._transform.apply(t,e);this.__addPathCommand(i,s,`M ${i} ${s}`)}closePath(){this._hasCurrentDefaultPath&&this.__addPathCommand(NaN,NaN,"Z")}lineTo(t,e){if(isFinite(t+e))if(this._hasCurrentDefaultPath){const[i,s]=this._transform.apply(t,e);this.__addPathCommand(i,s,`L ${i} ${s}`)}else this.moveTo(t,e)}bezierCurveTo(t,e,i,s,n,r){if(!isFinite(t+e+i+s+n+r))return;const[a,o]=this._transform.apply(n,r),[l,h]=this._transform.apply(t,e),[c,_]=this._transform.apply(i,s);this.__addPathCommand(a,o,`C ${l} ${h} ${c} ${_} ${a} ${o}`)}quadraticCurveTo(t,e,i,s){if(!isFinite(t+e+i+s))return;const[n,r]=this._transform.apply(i,s),[a,o]=this._transform.apply(t,e);this.__addPathCommand(n,r,`Q ${a} ${o} ${n} ${r}`)}arcTo(t,e,i,s,n){if(!isFinite(t+e+i+s+n))return;if(null==this.__currentPosition)return;const r=this.__currentPosition.x,a=this.__currentPosition.y;if(n<0)throw new Error("IndexSizeError: The radius provided ("+n+") is negative.");if(r===t&&a===e||t===i&&e===s||0===n)return void this.lineTo(t,e);function o([t,e]){const i=Math.sqrt(t**2+e**2);return[t/i,e/i]}const l=o([r-t,a-e]),h=o([i-t,s-e]);if(l[0]*h[1]==l[1]*h[0])return void this.lineTo(t,e);const c=l[0]*h[0]+l[1]*h[1],_=Math.acos(Math.abs(c)),u=o([l[0]+h[0],l[1]+h[1]]),p=n/Math.sin(_/2),d=t+p*u[0],m=e+p*u[1],f=[-l[1],l[0]],g=[h[1],-h[0]];function v(t){const e=t[0];return t[1]>=0?Math.acos(e):-Math.acos(e)}const w=v(f),b=v(g);this.lineTo(d+f[0]*n,m+f[1]*n),this.arc(d,m,n,w,b)}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){if("path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","stroke"),"none"!=this.__currentElement.getAttribute("fill")){const t=this.__currentElement.cloneNode(!0);this.__root.appendChild(t),this.__currentElement=t}this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill"),null!=t&&this.__currentElement.setAttribute("fill-rule",t),null!=this._clip_path&&this.__currentElement.setAttribute("clip-path",this._clip_path)}rect(t,e,i,s){isFinite(t+e+i+s)&&("path"!==this.__currentElement.nodeName&&this.beginPath(),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(){o.empty(this.__defs),o.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 n=this.__createElement("rect",{x:t,y:e,width:i,height:s,fill:"#FFFFFF"},!0);this._apply_transform(n),this.__root.appendChild(n)}createLinearGradient(t,e,i,s){if(!isFinite(t+e+i+s))throw new Error("The provided double value is non-finite");const[n,r]=this._transform.apply(t,e),[a,o]=this._transform.apply(i,s),h=this.__createElement("linearGradient",{id:l(this.__ids),x1:${n}px,x2:${a}px,y1:${r}px,y2:${o}px,gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(h),new p(h,this)}createRadialGradient(t,e,i,s,n,r){if(!isFinite(t+e+i+s+n+r))throw new Error("The provided double value is non-finite");const[a,o]=this._transform.apply(t,e),[h,c]=this._transform.apply(s,n),_=this.__createElement("radialGradient",{id:l(this.__ids),cx:${h}px,cy:${c}px,r:${r}px,fx:${a}px,fy:${o}px,gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(_),new p(_,this)}__parseFont(){var t,e,i,s,n;const r=/^\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),a={style:null!==(t=r[1])&&void 0!==t?t:"normal",size:null!==(e=r[4])&&void 0!==e?e:"10px",family:null!==(i=r[6])&&void 0!==i?i:"sans-serif",weight:null!==(s=r[3])&&void 0!==s?s:"normal",decoration:null!==(n=r[2])&&void 0!==n?n:"normal"};return"underline"===this.__fontUnderline&&(a.decoration="underline"),null!=this.__fontHref&&(a.href=this.__fontHref),a}__wrapTextLink(t,e){if(t.href){const i=this.__createElement("a");return i.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t.href),i.appendChild(e),i}return e}__applyText(t,e,i,s){const n=this.__parseFont(),r=this.__createElement("text",{"font-family":n.family,"font-size":n.size,"font-style":n.style,"font-weight":n.weight,"text-decoration":n.decoration,x:e,y:i,"text-anchor":h(this.textAlign),"dominant-baseline":c(this.textBaseline)},!0);r.appendChild(this.__document.createTextNode(t)),this._apply_transform(r),this.__currentElement=r,this.__applyStyleToCurrentElement(s),this.__root.appendChild(this.__wrapTextLink(n,r))}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,n,r=!1){if(!isFinite(t+e+i+s+n))return;if(s===n)return;(s%=2*Math.PI)===(n%=2*Math.PI)&&(n=(n+2*Math.PI-.001*(r?-1:1))%(2*Math.PI));const a=t+i*Math.cos(n),o=e+i*Math.sin(n),l=t+i*Math.cos(s),h=e+i*Math.sin(s),c=r?0:1;let _=0,u=n-s;u<0&&(u+=2*Math.PI),_=r?u>Math.PI?0:1:u>Math.PI?1:0,this.lineTo(l,h);const p=i,d=i,[m,f]=this._transform.apply(a,o);this.__addPathCommand(m,f,`A ${p} ${d} 0 ${_} ${c} ${m} ${f}`)}clip(){const t=this.__createElement("clipPath"),e=l(this.__ids);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,n,r,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,n=l,r=h}else if(4==e.length){if([i,s,n,r]=e,!isFinite(i+s+n+r))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,n,r]=e,!isFinite(a+o+l+h+i+s+n+r))return}const c=this.__root,_=this._transform.clone().translate(i,s);if(t instanceof m||t instanceof SVGSVGElement){const e=(t instanceof SVGSVGElement?t:t.get_svg()).cloneNode(!0);let i;_.is_identity?i=c:(i=this.__createElement("g"),this._apply_transform(i,_),c.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[t]=t,this.__defs.appendChild(e)}}else i.appendChild(t)}else if(t instanceof HTMLImageElement||t instanceof SVGImageElement){const e=this.__createElement("image");if(e.setAttribute("width",`${n}`),e.setAttribute("height",`${r}`),e.setAttribute("preserveAspectRatio","none"),a||o||l!==t.width||h!==t.height){const e=this.__document.createElement("canvas");e.width=n,e.height=r;e.getContext("2d").drawImage(t,a,o,l,h,0,0,n,r),t=e}this._apply_transform(e,_);const i=t instanceof HTMLCanvasElement?t.toDataURL():t.getAttribute("src");e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",i),c.appendChild(e)}else if(t instanceof HTMLCanvasElement){const e=this.__createElement("image");e.setAttribute("width",`${n}`),e.setAttribute("height",`${r}`),e.setAttribute("preserveAspectRatio","none");const i=this.__document.createElement("canvas");i.width=n,i.height=r;const s=i.getContext("2d");s.imageSmoothingEnabled=!1,s.drawImage(t,a,o,l,h,0,0,n,r),t=i,this._apply_transform(e,_),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t.toDataURL()),c.appendChild(e)}}createPattern(t,e){const i=this.__document.createElementNS("http://www.w3.org/2000/svg","pattern"),s=l(this.__ids);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.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",s),i.appendChild(e),this.__defs.appendChild(i)}else if(t instanceof m){for(const e of[…t.__root.childNodes])e instanceof SVGDefsElement||i.appendChild(e);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);this.__defs.appendChild(i)}return new d(i,this)}setLineDash(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null}_to_number(t){return a.isNumber(t)?t:t.baseVal.value}}i.SVGRenderingContext2D=m,m.__name__="SVGRenderingContext2D"},n”, “ function _(o,t,n,i,e){i();const s=o(238),c=o(15);class l extends s.ButtonToolButtonView{_clicked(){this.model.do.emit(void 0)}}n.ActionToolButtonView=l,l.__name__="ActionToolButtonView";class _ extends s.ButtonToolView{connect_signals(){super.connect_signals(),this.connect(this.model.do,(o=>this.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,i,l){i();const s=o(251),n=o(242);class r extends s.ActionToolView{doit(){window.open(this.model.redirect)}}t.HelpToolView=r,r.__name__="HelpToolView";class c extends s.ActionTool{constructor(o){super(o),this.tool_name="Help",this.icon=n.tool_icon_help}static init_HelpTool(){this.prototype.default_view=r,this.define((({String:o})=>({redirect:[o,"https://docs.bokeh.org/en/latest/docs/user_guide/tools.html"]}))),this.override({description:"Click the question mark to learn more about Bokeh plot tools."}),this.register_alias("help",(()=>new c))}}t.HelpTool=c,c.__name__="HelpTool",c.init_HelpTool()},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,<svg xmlns=’http://www.w3.org/2000/svg’><filter id=’grayscale’><feColorMatrix type=’matrix’ values=’0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0’/></filter></svg>#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 _(t,e,i,s,l){s();const o=t(1),n=t(40),h=t(20),a=t(43),r=o.__importStar(t(255)),c=r;class d extends n.AnnotationView{initialize(){super.initialize(),this.el=a.div({class:c.tooltip}),a.undisplay(this.el),this.plot_view.canvas_view.add_overlay(this.el)}remove(){a.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(),r.default]}render(){this.model.visible||a.undisplay(this.el),super.render()}_render(){const{content:t}=this.model;null!=t?(a.empty(this.el),a.classes(this.el).toggle("bk-tooltip-custom",this.model.custom),this.el.appendChild(t),this.model.show_arrow&&this.el.classList.add(c.tooltip_arrow)):a.undisplay(this.el)}_reposition(){const{position:t}=this.model;if(null==t)return void a.undisplay(this.el);const[e,i]=t,s=(()=>{const t=this.parent.layout.bbox.relative(),{attachment:s}=this.model;switch(s){case"horizontal":return e<t.hcenter?"right":"left";case"vertical":return i<t.vcenter?"below":"above";default:return s}})();let l;this.el.classList.remove(c.right),this.el.classList.remove(c.left),this.el.classList.remove(c.above),this.el.classList.remove(c.below),a.display(this.el);let o=null,n=null;switch(s){case"right":this.el.classList.add(c.left),o=e+(this.el.offsetWidth-this.el.clientWidth)+10,l=i-this.el.offsetHeight/2;break;case"left":this.el.classList.add(c.right),n=this.plot_view.layout.bbox.width-e+10,l=i-this.el.offsetHeight/2;break;case"below":this.el.classList.add(c.above),l=i+(this.el.offsetHeight-this.el.clientHeight)+10,o=Math.round(e-this.el.offsetWidth/2);break;case"above":this.el.classList.add(c.below),l=i-this.el.offsetHeight-10,o=Math.round(e-this.el.offsetWidth/2)}this.el.style.top=`${l}px`,this.el.style.left=null!=o?`${o}px`:"auto",this.el.style.right=null!=n?`${n}px`:"auto"}}i.TooltipView=d,d.__name__="TooltipView";class p extends n.Annotation{constructor(t){super(t)}static init_Tooltip(){this.prototype.default_view=d,this.define((({Boolean:t})=>({attachment:[h.TooltipAttachment,"horizontal"],inner_only:[t,!0],show_arrow:[t,!0]}))),this.internal((({Boolean:t,Number:e,Tuple:i,Ref:s,Nullable:l})=>({position:[l(i(e,e)),null],content:[s(HTMLElement),()=>a.div()],custom:[t]}))),this.override({level:"overlay"})}clear(){this.position=null}}i.Tooltip=p,p.__name__="Tooltip",p.init_Tooltip()},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,i,s,r){s();const a=e(135),h=e(133),_=e(122),l=e(48);class o extends a.UpperLowerView{async lazy_initialize(){await super.lazy_initialize();const{lower_head:e,upper_head:t}=this.model;null!=e&&(this.lower_head=await _.build_view(e,{parent:this})),null!=t&&(this.upper_head=await _.build_view(t,{parent:this}))}set_data(e){var t,i;super.set_data(e),null===(t=this.lower_head)||void 0===t||t.set_data(e),null===(i=this.upper_head)||void 0===i||i.set_data(e)}paint(e){if(this.visuals.line.doit)for(let t=0,i=this._lower_sx.length;t<i;t++)this.visuals.line.set_vectorize(e,t),e.beginPath(),e.moveTo(this._lower_sx[t],this._lower_sy[t]),e.lineTo(this._upper_sx[t],this._upper_sy[t]),e.stroke();const t="height"==this.model.dimension?0:Math.PI/2;if(null!=this.lower_head)for(let i=0,s=this._lower_sx.length;i<s;i++)e.save(),e.translate(this._lower_sx[i],this._lower_sy[i]),e.rotate(t+Math.PI),this.lower_head.render(e,i),e.restore();if(null!=this.upper_head)for(let i=0,s=this._upper_sx.length;i<s;i++)e.save(),e.translate(this._upper_sx[i],this._upper_sy[i]),e.rotate(t),this.upper_head.render(e,i),e.restore()}}i.WhiskerView=o,o.__name__="WhiskerView";class n extends a.UpperLower{constructor(e){super(e)}static init_Whisker(){this.prototype.default_view=o,this.mixins(l.LineVector),this.define((({Ref:e,Nullable:t})=>({lower_head:[t(e(h.ArrowHead)),()=>new h.TeeHead({size:10})],upper_head:[t(e(h.ArrowHead)),()=>new h.TeeHead({size:10})]}))),this.override({level:"underlay"})}}i.Whisker=n,n.__name__="Whisker",n.init_Whisker()},n”, “ function _(n,o,t,u,e){u(),e("CustomJS",n(258).CustomJS),e("OpenURL",n(260).OpenURL)},n”, “ function _(t,s,e,n,c){n();const u=t(259),i=t(13),a=t(34);class r extends u.Callback{constructor(t){super(t)}static init_CustomJS(){this.define((({Unknown:t,String:s,Dict:e})=>({args:[e(t),{}],code:[s,""]})))}get names(){return i.keys(this.args)}get values(){return i.values(this.args)}get func(){const t=a.use_strict(this.code);return new Function(…this.names,"cb_obj","cb_data",t)}execute(t,s={}){return this.func.apply(t,this.values.concat(t,s))}}e.CustomJS=r,r.__name__="CustomJS",r.init_CustomJS()},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,n,t,o,i){o();const s=e(259),c=e(182),r=e(8);class a extends s.Callback{constructor(e){super(e)}static init_OpenURL(){this.define((({Boolean:e,String:n})=>({url:[n,"http://"],same_tab:[e,!1]})))}execute(e,{source:n}){const t=e=>{const t=c.replace_placeholders(this.url,n,e,void 0,void 0,encodeURIComponent);if(!r.isString(t))throw new Error("HTML output is not supported in this context");this.same_tab?window.location.href=t:window.open(t)},{selected:o}=n;for(const e of o.indices)t(e);for(const e of o.line_indices)t(e)}}t.OpenURL=a,a.__name__="OpenURL",a.init_OpenURL()},n”, “ function _(a,n,e,r,s){r(),s("Canvas",a(262).Canvas),s("CartesianFrame",a(144).CartesianFrame)},n”, “ function _(e,t,s,i,a){i();const l=e(14),n=e(240),r=e(19),o=e(43),h=e(20),_=e(13),c=e(263),d=e(99),p=e(249),v=(()=>{const e=document.createElement("canvas"),t=e.getContext("webgl",{premultipliedAlpha:!0});return null!=t?{canvas:e,gl:t}:void r.logger.trace("WebGL is not supported")})(),u={position:"absolute",top:"0",left:"0",width:"100%",height:"100%"};class b extends n.DOMView{constructor(){super(…arguments),this.bbox=new d.BBox}initialize(){super.initialize(),"webgl"==this.model.output_backend&&(this.webgl=v),this.underlays_el=o.div({style:u}),this.primary=this.create_layer(),this.overlays=this.create_layer(),this.overlays_el=o.div({style:u}),this.events_el=o.div({class:"bk-canvas-events",style:u});const e=[this.underlays_el,this.primary.el,this.overlays.el,this.overlays_el,this.events_el];_.extend(this.el.style,u),o.append(this.el,…e),this.ui_event_bus=new c.UIEventBus(this)}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 d.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:s,height:i}=this.bbox;t.canvas.width=this.pixel_ratio*s,t.canvas.height=this.pixel_ratio*i;const{gl:a}=t;a.enable(a.SCISSOR_TEST);const[l,n,r,o]=e,{xview:h,yview:_}=this.bbox,c=h.compute(l),d=_.compute(n+o),p=this.pixel_ratio;a.scissor(p*c,p*d,p*r,p*o),a.enable(a.BLEND),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE_MINUS_DST_ALPHA,a.ONE),this._clear_webgl()}}blit_webgl(e){const{webgl:t}=this;if(null!=t){if(r.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{gl:t,canvas:s}=e;t.viewport(0,0,s.width,s.height),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}}compose(){const e=this.create_layer(),{width:t,height:s}=this.bbox;return e.resize(t,s),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 p.CanvasLayer(e,t)}to_blob(){return this.compose().to_blob()}}s.CanvasView=b,b.__name__="CanvasView";class g extends l.HasProps{constructor(e){super(e)}static init_Canvas(){this.prototype.default_view=b,this.internal((({Boolean:e})=>({hidpi:[e,!0],output_backend:[h.OutputBackend,"canvas"]})))}}s.Canvas=g,g.__name__="Canvas",g.init_Canvas()},n”, “ function _(t,e,s,n,i){n();const r=t(1),a=r.__importDefault(t(239)),_=t(15),h=t(19),o=t(43),l=r.__importStar(t(264)),c=t(265),p=t(9),u=t(8),v=t(27),d=t(244);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&&(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 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;const a=t.model.toolbar.gestures,_=e.name.split(":")[0],h=this._hit_test_renderers(t,s.sx,s.sy),o=this._hit_test_canvas(t,s.sx,s.sy);switch(_){case"move":{const n=a[_].active;null!=n&&this.trigger(e,s,n.id);const r=t.model.toolbar.inspectors.filter((t=>t.active));let l="default";null!=h?(l=null!==(i=h.cursor(s.sx,s.sy))&&void 0!==i?i:l,p.is_empty(r)||(e=this.move_exit)):this._hit_test_frame(t,s.sx,s.sy)&&(p.is_empty(r)||(l="crosshair")),this.set_cursor(l),t.set_toolbar_visibility(o),r.map((t=>this.trigger(e,s,t.id)));break}case"tap":{const{target:t}=n;if(null!=t&&t!=this.hit_area)return;null!=h&&null!=h.on_hit&&h.on_hit(s.sx,s.sy);const i=a[_].active;null!=i&&this.trigger(e,s,i.id);break}case"doubletap":{const t=null!==(r=a.doubletap.active)&&void 0!==r?r:a.tap.active;null!=t&&this.trigger(e,s,t.id);break}case"scroll":{const t=a[v.is_mobile?"pinch":"scroll"].active;null!=t&&(n.preventDefault(),n.stopPropagation(),this.trigger(e,s,t.id));break}case"pan":{const t=a[_].active;null!=t&&(n.preventDefault(),this.trigger(e,s,t.id));break}default:{const t=a[_].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}=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: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 c=e.length-1;c>=0;c–)(_=e[c])&&(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 c{to_json(){const{event_name:e}=this;return{event_name:e,event_values:this._to_json()}}}s.BokehEvent=c,c.__name__="BokehEvent";class r extends c{constructor(){super(…arguments),this.origin=null}_to_json(){return{model:this.origin}}}s.ModelEvent=r,r.__name__="ModelEvent";let l=class extends c{_to_json(){return{}}};s.DocumentReady=l,l.__name__="DocumentReady",s.DocumentReady=l=a([o("document_ready")],l);let i=class extends r{};s.ButtonClick=i,i.__name__="ButtonClick",s.ButtonClick=i=a([o("button_click")],i);let u=class extends r{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 r{}s.UIEvent=d,d.__name__="UIEvent";let h=class extends d{};s.LODStart=h,h.__name__="LODStart",s.LODStart=h=a([o("lodstart")],h);let m=class extends d{};s.LODEnd=m,m.__name__="LODEnd",s.LODEnd=m=a([o("lodend")],m);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 p=class extends d{};s.Reset=p,p.__name__="Reset",s.Reset=p=a([o("reset")],p);class j 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=j,j.__name__="PointEvent";let y=class extends j{constructor(e,t,s,n,_,a){super(e,t,s,n),this.sx=e,this.sy=t,this.x=s,this.y=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=y,y.__name__="Pan",s.Pan=y=a([o("pan")],y);let P=class extends j{constructor(e,t,s,n,_){super(e,t,s,n),this.sx=e,this.sy=t,this.x=s,this.y=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 v=class extends j{constructor(e,t,s,n,_){super(e,t,s,n),this.sx=e,this.sy=t,this.x=s,this.y=n,this.rotation=_}_to_json(){const{rotation:e}=this;return Object.assign(Object.assign({},super._to_json()),{rotation:e})}};s.Rotate=v,v.__name__="Rotate",s.Rotate=v=a([o("rotate")],v);let g=class extends j{constructor(e,t,s,n,_){super(e,t,s,n),this.sx=e,this.sy=t,this.x=s,this.y=n,this.delta=_}_to_json(){const{delta:e}=this;return Object.assign(Object.assign({},super._to_json()),{delta:e})}};s.MouseWheel=g,g.__name__="MouseWheel",s.MouseWheel=g=a([o("wheel")],g);let E=class extends j{};s.MouseMove=E,E.__name__="MouseMove",s.MouseMove=E=a([o("mousemove")],E);let O=class extends j{};s.MouseEnter=O,O.__name__="MouseEnter",s.MouseEnter=O=a([o("mouseenter")],O);let b=class extends j{};s.MouseLeave=b,b.__name__="MouseLeave",s.MouseLeave=b=a([o("mouseleave")],b);let M=class extends j{};s.Tap=M,M.__name__="Tap",s.Tap=M=a([o("tap")],M);let R=class extends j{};s.DoubleTap=R,R.__name__="DoubleTap",s.DoubleTap=R=a([o("doubletap")],R);let f=class extends j{};s.Press=f,f.__name__="Press",s.Press=f=a([o("press")],f);let S=class extends j{};s.PressUp=S,S.__name__="PressUp",s.PressUp=S=a([o("pressup")],S);let D=class extends j{};s.PanStart=D,D.__name__="PanStart",s.PanStart=D=a([o("panstart")],D);let k=class extends j{};s.PanEnd=k,k.__name__="PanEnd",s.PanEnd=k=a([o("panend")],k);let L=class extends j{};s.PinchStart=L,L.__name__="PinchStart",s.PinchStart=L=a([o("pinchstart")],L);let C=class extends j{};s.PinchEnd=C,C.__name__="PinchEnd",s.PinchEnd=C=a([o("pinchend")],C);let T=class extends j{};s.RotateStart=T,T.__name__="RotateStart",s.RotateStart=T=a([o("rotatestart")],T);let B=class extends j{};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.13n”, “ *n”, “ * Copyright jQuery Foundation and other contributorsn”, “ * Released under the MIT licensen”, “ * http://jquery.org/licensen”, “ */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,i,u,s,a){s(),a("Expression",m(124).Expression),a("CustomJSExpr",m(267).CustomJSExpr),a("Stack",m(268).Stack),a("CumSum",m(269).CumSum),a("ScalarExpression",m(124).ScalarExpression),a("Minimum",m(270).Minimum),a("Maximum",m(271).Maximum)},n”, “ function _(t,e,s,n,r){n();const i=t(14),o=t(124),a=t(24),c=t(9),u=t(13),l=t(34),h=t(8);class p extends o.Expression{constructor(t){super(t)}static init_CustomJSExpr(){this.define((({Unknown:t,String:e,Dict:s})=>({args:[s(t),{}],code:[e,""]})))}connect_signals(){super.connect_signals();for(const t of u.values(this.args))t instanceof i.HasProps&&t.change.connect((()=>{this._result.clear(),this.change.emit()}))}get names(){return u.keys(this.args)}get values(){return u.values(this.args)}get func(){const t=l.use_strict(this.code);return new a.GeneratorFunction(…this.names,t)}_v_compute(t){const e=this.func.apply(t,this.values);let s=e.next();if(s.done&&void 0!==s.value){const{value:e}=s;return h.isArray(e)||h.isTypedArray(e)?e:h.isIterable(e)?[…e]:c.repeat(e,t.length)}{const t=[];do{t.push(s.value),s=e.next()}while(!s.done);return t}}}s.CustomJSExpr=p,p.__name__="CustomJSExpr",p.init_CustomJSExpr()},n”, “ function _(t,n,e,i,s){i();const a=t(124);class c extends a.Expression{constructor(t){super(t)}static init_Stack(){this.define((({String:t,Array:n})=>({fields:[n(t),[]]})))}_v_compute(t){var n;const e=null!==(n=t.get_length())&&void 0!==n?n:0,i=new Float64Array(e);for(const n of this.fields){const s=t.data[n];if(null!=s)for(let t=0,n=Math.min(e,s.length);t<n;t++)i[t]+=s[t]}return i}}e.Stack=c,c.__name__="Stack",c.init_Stack()},n”, “ function _(e,t,n,i,u){i();const o=e(124);class r extends o.Expression{constructor(e){super(e)}static init_CumSum(){this.define((({Boolean:e,String:t})=>({field:[t],include_zero:[e,!1]})))}_v_compute(e){var t;const n=new Float64Array(null!==(t=e.get_length())&&void 0!==t?t:0),i=e.data[this.field],u=this.include_zero?1:0;n[0]=this.include_zero?0:i[0];for(let e=1;e<n.length;e++)n[e]=n[e-1]+i[e-u];return n}}n.CumSum=r,r.__name__="CumSum",r.init_CumSum()},n”, “ function _(i,n,t,l,u){l();const e=i(124),m=i(9);class s extends e.ScalarExpression{constructor(i){super(i)}static init_Minimum(){this.define((({Number:i,String:n,Nullable:t})=>({field:[n],initial:[t(i),null]})))}_compute(i){var n,t;const l=null!==(n=i.data[this.field])&&void 0!==n?n:[];return Math.min(null!==(t=this.initial)&&void 0!==t?t:1/0,m.min(l))}}t.Minimum=s,s.__name__="Minimum",s.init_Minimum()},n”, “ function _(i,t,a,n,l){n();const u=i(124),e=i(9);class m extends u.ScalarExpression{constructor(i){super(i)}static init_Maximum(){this.define((({Number:i,String:t,Nullable:a})=>({field:[t],initial:[a(i),null]})))}_compute(i){var t,a;const n=null!==(t=i.data[this.field])&&void 0!==t?t:[];return Math.max(null!==(a=this.initial)&&void 0!==a?a:-1/0,e.max(n))}}a.Maximum=m,m.__name__="Maximum",m.init_Maximum()},n”, “ function _(e,t,l,r,i){r(),i("BooleanFilter",e(273).BooleanFilter),i("CustomJSFilter",e(274).CustomJSFilter),i("Filter",e(121).Filter),i("GroupFilter",e(275).GroupFilter),i("IndexFilter",e(276).IndexFilter)},n”, “ function _(e,n,l,o,t){o();const i=e(121),s=e(24);class a extends i.Filter{constructor(e){super(e)}static init_BooleanFilter(){this.define((({Boolean:e,Array:n,Nullable:l})=>({booleans:[l(n(e)),null]})))}compute_indices(e){const n=e.length,{booleans:l}=this;return null==l?s.Indices.all_set(n):s.Indices.from_booleans(n,l)}}l.BooleanFilter=a,a.__name__="BooleanFilter",a.init_BooleanFilter()},n”, “ function _(e,t,s,n,r){n();const i=e(121),o=e(24),u=e(13),c=e(8),a=e(34);class l extends i.Filter{constructor(e){super(e)}static init_CustomJSFilter(){this.define((({Unknown:e,String:t,Dict:s})=>({args:[s(e),{}],code:[t,""]})))}get names(){return u.keys(this.args)}get values(){return u.values(this.args)}get func(){const e=a.use_strict(this.code);return new Function(…this.names,"source",e)}compute_indices(e){const t=e.length,s=this.func(…this.values,e);if(null==s)return o.Indices.all_set(t);if(c.isArrayOf(s,c.isInteger))return o.Indices.from_indices(t,s);if(c.isArrayOf(s,c.isBoolean))return o.Indices.from_booleans(t,s);throw new Error(`expect an array of integers or booleans, or null, got ${s}`)}}s.CustomJSFilter=l,l.__name__="CustomJSFilter",l.init_CustomJSFilter()},n”, “ function _(n,t,e,i,o){i();const r=n(121),u=n(24),s=n(19);class c extends r.Filter{constructor(n){super(n)}static init_GroupFilter(){this.define((({String:n})=>({column_name:[n],group:[n]})))}compute_indices(n){const t=n.get_column(this.column_name);if(null==t)return s.logger.warn(`${this}: groupby column ‘${this.column_name}’ not found in the data source`),new u.Indices(n.length,1);{const e=new u.Indices(n.length);for(let n=0;n<e.size;n++)t[n]===this.group&&e.set(n);return e}}}e.GroupFilter=c,c.__name__="GroupFilter",c.init_GroupFilter()},n”, “ function _(e,n,i,t,s){t();const l=e(121),c=e(24);class r extends l.Filter{constructor(e){super(e)}static init_IndexFilter(){this.define((({Int:e,Array:n,Nullable:i})=>({indices:[i(n(e)),null]})))}compute_indices(e){const n=e.length,{indices:i}=this;return null==i?c.Indices.all_set(n):c.Indices.from_indices(n,i)}}i.IndexFilter=r,r.__name__="IndexFilter",r.init_IndexFilter()},n”, “ function _(e,a,l,i,t){i(),t("AnnularWedge",e(278).AnnularWedge),t("Annulus",e(279).Annulus),t("Arc",e(280).Arc),t("Bezier",e(281).Bezier),t("Circle",e(282).Circle),t("Ellipse",e(286).Ellipse),t("EllipseOval",e(287).EllipseOval),t("Glyph",e(98).Glyph),t("HArea",e(117).HArea),t("HBar",e(289).HBar),t("HexTile",e(291).HexTile),t("Image",e(292).Image),t("ImageRGBA",e(294).ImageRGBA),t("ImageURL",e(295).ImageURL),t("Line",e(63).Line),t("MultiLine",e(127).MultiLine),t("MultiPolygons",e(297).MultiPolygons),t("Oval",e(298).Oval),t("Patch",e(116).Patch),t("Patches",e(128).Patches),t("Quad",e(299).Quad),t("Quadratic",e(300).Quadratic),t("Ray",e(301).Ray),t("Rect",e(302).Rect),t("Scatter",e(303).Scatter),t("Segment",e(306).Segment),t("Spline",e(307).Spline),t("Step",e(309).Step),t("Text",e(310).Text),t("VArea",e(119).VArea),t("VBar",e(311).VBar),t("Wedge",e(312).Wedge)},n”, “ function _(e,t,s,i,r){i();const n=e(1),a=e(64),o=e(106),_=e(48),d=e(24),u=e(20),h=n.__importStar(e(18)),l=e(10),c=e(59);class g extends a.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=d.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=d.to_screen(this.outer_radius)}_render(e,t,s){const{sx:i,sy:r,start_angle:n,end_angle:a,sinner_radius:o,souter_radius:_}=null!=s?s:this,d="anticlock"==this.model.direction;for(const s of t){const t=i[s],u=r[s],h=o[s],l=_[s],c=n.get(s),g=a.get(s);if(isNaN(t+u+h+l+c+g))continue;const x=g-c;e.translate(t,u),e.rotate(c),e.beginPath(),e.moveTo(l,0),e.arc(0,0,l,0,x,d),e.rotate(x),e.lineTo(h,0),e.arc(0,0,h,0,-x,!d),e.closePath(),e.rotate(-x-c),e.translate(-t,-u),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(e,s),e.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(e,s),e.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(e,s),e.stroke())}}_hit_point(e){const{sx:t,sy:s}=e,i=this.renderer.xscale.invert(t),r=this.renderer.yscale.invert(s);let n,a,o,_;if("data"==this.model.properties.outer_radius.units)n=i-this.max_outer_radius,o=i+this.max_outer_radius,a=r-this.max_outer_radius,_=r+this.max_outer_radius;else{const e=t-this.max_outer_radius,i=t+this.max_outer_radius;[n,o]=this.renderer.xscale.r_invert(e,i);const r=s-this.max_outer_radius,d=s+this.max_outer_radius;[a,_]=this.renderer.yscale.r_invert(r,d)}const d=[];for(const e of this.index.indices({x0:n,x1:o,y0:a,y1:_})){const t=this.souter_radius[e]**2,s=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]),u=(n-a)**2+(o-_)**2;u<=t&&u>=s&&d.push(e)}const u="anticlock"==this.model.direction,h=[];for(const e of d){const i=Math.atan2(s-this.sy[e],t-this.sx[e]);l.angle_between(-i,-this.start_angle.get(e),-this.end_angle.get(e),u)&&h.push(e)}return new c.Selection({indices:h})}draw_legend_for_index(e,t,s){o.generic_area_vector_legend(this.visuals,e,t,s)}scenterxy(e){const t=(this.sinner_radius[e]+this.souter_radius[e])/2,s=(this.start_angle.get(e)+this.end_angle.get(e))/2;return[this.sx[e]+t*Math.cos(s),this.sy[e]+t*Math.sin(s)]}}s.AnnularWedgeView=g,g.__name__="AnnularWedgeView";class x extends a.XYGlyph{constructor(e){super(e)}static init_AnnularWedge(){this.prototype.default_view=g,this.mixins([_.LineVector,_.FillVector,_.HatchVector]),this.define((({})=>({direction:[u.Direction,"anticlock"],inner_radius:[h.DistanceSpec,{field:"inner_radius"}],outer_radius:[h.DistanceSpec,{field:"outer_radius"}],start_angle:[h.AngleSpec,{field:"start_angle"}],end_angle:[h.AngleSpec,{field:"end_angle"}]})))}}s.AnnularWedge=x,x.__name__="AnnularWedge",x.init_AnnularWedge()},n”, “ function _(s,i,t,e,r){e();const n=s(1),a=s(64),u=s(24),_=s(48),o=n.__importStar(s(18)),h=s(27),d=s(59);class c extends a.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=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=u.to_screen(this.outer_radius)}_render(s,i,t){const{sx:e,sy:r,sinner_radius:n,souter_radius:a}=null!=t?t:this;for(const t of i){const i=e[t],_=r[t],o=n[t],d=a[t];function u(){if(s.beginPath(),h.is_ie)for(const t of[!1,!0])s.arc(i,_,o,0,Math.PI,t),s.arc(i,_,d,Math.PI,0,!t);else s.arc(i,_,o,0,2*Math.PI,!0),s.arc(i,_,d,2*Math.PI,0,!1)}isNaN(i+_+o+d)||(this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(s,t),u(),s.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(s,t),u(),s.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(s,t),s.beginPath(),s.arc(i,_,o,0,2*Math.PI),s.moveTo(i+d,_),s.arc(i,_,d,0,2*Math.PI),s.stroke()))}}_hit_point(s){const{sx:i,sy:t}=s,e=this.renderer.xscale.invert(i),r=this.renderer.yscale.invert(t);let n,a,u,_;if("data"==this.model.properties.outer_radius.units)n=e-this.max_outer_radius,u=e+this.max_outer_radius,a=r-this.max_outer_radius,_=r+this.max_outer_radius;else{const s=i-this.max_outer_radius,e=i+this.max_outer_radius;[n,u]=this.renderer.xscale.r_invert(s,e);const r=t-this.max_outer_radius,o=t+this.max_outer_radius;[a,_]=this.renderer.yscale.r_invert(r,o)}const o=[];for(const s of this.index.indices({x0:n,x1:u,y0:a,y1:_})){const i=this.souter_radius[s]**2,t=this.sinner_radius[s]**2,[n,a]=this.renderer.xscale.r_compute(e,this._x[s]),[u,_]=this.renderer.yscale.r_compute(r,this._y[s]),h=(n-a)**2+(u-_)**2;h<=i&&h>=t&&o.push(s)}return new d.Selection({indices:o})}draw_legend_for_index(s,{x0:i,y0:t,x1:e,y1:r},n){const a=n+1,u=new Array(a);u[n]=(i+e)/2;const _=new Array(a);_[n]=(t+r)/2;const o=.5*Math.min(Math.abs(e-i),Math.abs(r-t)),h=new Array(a);h[n]=.4*o;const d=new Array(a);d[n]=.8*o,this._render(s,[n],{sx:u,sy:_,sinner_radius:h,souter_radius:d})}}t.AnnulusView=c,c.__name__="AnnulusView";class l extends a.XYGlyph{constructor(s){super(s)}static init_Annulus(){this.prototype.default_view=c,this.mixins([_.LineVector,_.FillVector,_.HatchVector]),this.define((({})=>({inner_radius:[o.DistanceSpec,{field:"inner_radius"}],outer_radius:[o.DistanceSpec,{field:"outer_radius"}]})))}}t.Annulus=l,l.__name__="Annulus",l.init_Annulus()},n”, “ function _(e,i,s,t,n){t();const r=e(1),a=e(64),c=e(106),d=e(48),_=e(24),l=e(20),o=r.__importStar(e(18));class h extends a.XYGlyphView{_map_data(){"data"==this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this.radius):this.sradius=_.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],_=n[s],l=r[s],o=a.get(s),h=c.get(s);isNaN(i+_+l+o+h)||(e.beginPath(),e.arc(i,_,l,o,h,d),this.visuals.line.set_vectorize(e,s),e.stroke())}}}draw_legend_for_index(e,i,s){c.generic_line_vector_legend(this.visuals,e,i,s)}}s.ArcView=h,h.__name__="ArcView";class u extends a.XYGlyph{constructor(e){super(e)}static init_Arc(){this.prototype.default_view=h,this.mixins(d.LineVector),this.define((({})=>({direction:[l.Direction,"anticlock"],radius:[o.DistanceSpec,{field:"radius"}],start_angle:[o.AngleSpec,{field:"start_angle"}],end_angle:[o.AngleSpec,{field:"end_angle"}]})))}}s.Arc=u,u.__name__="Arc",u.init_Arc()},n”, “ function _(e,t,i,s,n){s();const o=e(1),c=e(48),r=e(98),a=e(106),_=e(65),d=o.__importStar(e(18));function l(e,t,i,s,n,o,c,r){const a=[],_=[[],[]];for(let _=0;_<=2;_++){let d,l,x;if(0===_?(l=6*e-12*i+6*n,d=-3*e+9*i-9*n+3*c,x=3*i-3*e):(l=6*t-12*s+6*o,d=-3*t+9*s-9*o+3*r,x=3*s-3*t),Math.abs(d)<1e-12){if(Math.abs(l)<1e-12)continue;const e=-x/l;0<e&&e<1&&a.push(e);continue}const h=l*l-4*x*d,y=Math.sqrt(h);if(h<0)continue;const p=(-l+y)/(2*d);0<p&&p<1&&a.push(p);const f=(-l-y)/(2*d);0<f&&f<1&&a.push(f)}let d=a.length;const l=d;for(;d–;){const l=a[d],x=1-l,h=x*x*x*e+3*x*x*l*i+3*x*l*l*n+l*l*l*c;_[0][d]=h;const y=x*x*x*t+3*x*x*l*s+3*x*l*l*o+l*l*l*r;_[1][d]=y}return _[0][l]=e,_[1][l]=t,_[0][l+1]=c,_[1][l+1]=r,[Math.min(…_[0]),Math.max(…_[1]),Math.max(…_[0]),Math.min(…_[1])]}class x extends r.GlyphView{_project_data(){_.inplace.project_xy(this._x0,this._y0),_.inplace.project_xy(this._x1,this._y1)}_index_data(e){const{data_size:t,_x0:i,_y0:s,_x1:n,_y1:o,_cx0:c,_cy0:r,_cx1:a,_cy1:_}=this;for(let d=0;d<t;d++){const t=i[d],x=s[d],h=n[d],y=o[d],p=c[d],f=r[d],u=a[d],m=_[d];if(isNaN(t+h+x+y+p+f+u+m))e.add_empty();else{const[i,s,n,o]=l(t,x,h,y,p,f,u,m);e.add(i,s,n,o)}}}_render(e,t,i){if(this.visuals.line.doit){const{sx0:s,sy0:n,sx1:o,sy1:c,scx0:r,scy0:a,scx1:_,scy1:d}=null!=i?i:this;for(const i of t){const t=s[i],l=n[i],x=o[i],h=c[i],y=r[i],p=a[i],f=_[i],u=d[i];isNaN(t+l+x+h+y+p+f+u)||(e.beginPath(),e.moveTo(t,l),e.bezierCurveTo(y,p,f,u,x,h),this.visuals.line.set_vectorize(e,i),e.stroke())}}}draw_legend_for_index(e,t,i){a.generic_line_vector_legend(this.visuals,e,t,i)}scenterxy(){throw new Error(`${this}.scenterxy() is not implemented`)}}i.BezierView=x,x.__name__="BezierView";class h extends r.Glyph{constructor(e){super(e)}static init_Bezier(){this.prototype.default_view=x,this.define((({})=>({x0:[d.XCoordinateSpec,{field:"x0"}],y0:[d.YCoordinateSpec,{field:"y0"}],x1:[d.XCoordinateSpec,{field:"x1"}],y1:[d.YCoordinateSpec,{field:"y1"}],cx0:[d.XCoordinateSpec,{field:"cx0"}],cy0:[d.YCoordinateSpec,{field:"cy0"}],cx1:[d.XCoordinateSpec,{field:"cx1"}],cy1:[d.YCoordinateSpec,{field:"cy1"}]}))),this.mixins(c.LineVector)}}i.Bezier=h,h.__name__="Bezier",h.init_Bezier()},n”, “ function _(s,i,e,t,r){t();const a=s(1),n=s(64),h=s(283),d=s(48),l=s(24),c=s(20),_=a.__importStar(s(107)),u=a.__importStar(s(18)),o=s(9),x=s(12),m=s(59);class y extends n.XYGlyphView{initialize(){super.initialize();const{webgl:s}=this.renderer.plot_view.canvas_view;null!=s&&(this.glglyph=new h.MarkerGL(s.gl,this,"circle"))}get use_radius(){return!(this.radius.is_Scalar()&&isNaN(this.radius.value))}_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=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=x.map(s,((s,e)=>Math.min(s,i[e])));break}}else this.sradius=l.to_screen(this.radius),this._configure("max_size",{value:2*this.max_radius});else{const s=new l.ScreenArray(this.size);this.sradius=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];isNaN(i+n+h)||(s.beginPath(),s.arc(i,n,h,0,2*Math.PI,!1),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(s,e),s.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(s,e),s.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(s,e),s.stroke()))}}_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,c=e+this.max_size*a;[d,l]=this.renderer.yscale.r_invert(r,c)}const c=this.index.indices({x0:n,x1:h,y0:d,y1:l}),_=[];if(this.use_radius&&"data"==this.model.properties.radius.units)for(const s of c){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&&_.push(s)}else for(const s of c){const t=(this.sradius[s]*a)**2;(this.sx[s]-i)**2+(this.sy[s]-e)**2<=t&&_.push(s)}return new m.Selection({indices:_})}_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=o.range(0,this.sx.length),r=[];for(let s=0,a=t.length;s<a;s++){const a=t[s];_.point_in_poly(this.sx[s],this.sy[s],i,e)&&r.push(a)}return new m.Selection({indices:r})}draw_legend_for_index(s,{x0:i,y0:e,x1:t,y1:r},a){const n=a+1,h=new Array(n);h[a]=(i+t)/2;const d=new Array(n);d[a]=(e+r)/2;const l=new Array(n);l[a]=.2*Math.min(Math.abs(t-i),Math.abs(r-e)),this._render(s,[a],{sx:h,sy:d,sradius:l})}}e.CircleView=y,y.__name__="CircleView";class p extends n.XYGlyph{constructor(s){super(s)}static init_Circle(){this.prototype.default_view=y,this.mixins([d.LineVector,d.FillVector,d.HatchVector]),this.define((({Number:s})=>({angle:[u.AngleSpec,0],size:[u.ScreenDistanceSpec,{value:4}],radius:[u.NullDistanceSpec,null],radius_dimension:[c.RadiusDimension,"x"],hit_dilation:[s,1]})))}}e.Circle=p,p.__name__="Circle",p.init_Circle()},n”, “ function _(t,e,s,i,a){i();const r=t(1),o=t(109),_=t(113),l=r.__importDefault(t(284)),h=r.__importDefault(t(285)),n=t(282),f=t(12),u=t(19),c=t(24),g=t(22),b=t(11);function d(t,e,s,i,a,r,o){if(a.doit)if(r.is_Scalar()&&o.is_Scalar()){e.used=!1;const[i,a,_,l]=g.color2rgba(r.value,o.value);t.set_attribute(s,"vec4",[i/255,a/255,_/255,l/255])}else{let a;if(e.used=!0,r.is_Vector()){const t=new c.ColorArray(r.array);if(a=new c.RGBAArray(t.buffer),!o.is_Scalar()||1!=o.value)for(let t=0;t<i;t++){const e=4*t+3;255==a[e]&&(a[e]=255*o.get(t))}}else if(r.is_Scalar()&&o.is_Vector()){const t=new c.ColorArray(i);t.fill(r.value),a=new c.RGBAArray(t.buffer);for(let t=0;t<i;t++)for(let t=0;t<i;t++){const e=4*t+3;255==a[e]&&(a[e]=255*o.get(t))}}else b.unreachable();e.set_size(4*i),e.set_data(0,a),t.set_attribute(s,"vec4_uint8",e,0,0,!0)}else e.used=!1,t.set_attribute(s,"vec4",[0,0,0,0])}class p extends _.BaseGLGlyph{constructor(t,e,s){super(t,e),this.glyph=e,this.marker_type=s;const i=[`#define USE_${s.toUpperCase()}`],a=l.default,r=`${i.join("\n")}\n\n${h.default}`;this.prog=new o.Program(t),this.prog.set_shaders(a,r),this.vbo_sx=new o.VertexBuffer(t),this.prog.set_attribute("a_sx","float",this.vbo_sx),this.vbo_sy=new o.VertexBuffer(t),this.prog.set_attribute("a_sy","float",this.vbo_sy),this.vbo_s=new o.VertexBuffer(t),this.prog.set_attribute("a_size","float",this.vbo_s),this.vbo_a=new o.VertexBuffer(t),this.prog.set_attribute("a_angle","float",this.vbo_a),this.vbo_linewidth=new o.VertexBuffer(t),this.vbo_fg_color=new o.VertexBuffer(t),this.vbo_bg_color=new o.VertexBuffer(t),this.index_buffer=new o.IndexBuffer(t)}static is_supported(t){switch(t){case"asterisk":case"circle":case"circle_cross":case"circle_x":case"cross":case"diamond":case"diamond_cross":case"hex":case"inverted_triangle":case"square":case"square_cross":case"square_x":case"star":case"triangle":case"x":return!0;default:return!1}}draw(t,e,s){const i=e.glglyph,{nvertices:a}=i;if(i.data_changed&&(i._set_data(a),this.glyph instanceof n.CircleView&&null!=this.glyph.radius&&this.vbo_s.set_data(0,f.map(this.glyph.sradius,(t=>2*t))),i.data_changed=!1),this.visuals_changed&&(this._set_visuals(a),this.visuals_changed=!1),this.prog.set_uniform("u_pixel_ratio","float",[s.pixel_ratio]),this.prog.set_uniform("u_canvas_size","vec2",[s.width,s.height]),this.prog.set_attribute("a_sx","float",i.vbo_sx),this.prog.set_attribute("a_sy","float",i.vbo_sy),this.prog.set_attribute("a_size","float",i.vbo_s),this.prog.set_attribute("a_angle","float",i.vbo_a),0!=t.length)if(t.length===a)this.prog.draw(this.gl.POINTS,[0,a]);else if(a<65535){const e=window.navigator.userAgent;e.indexOf("MSIE ")+e.indexOf("Trident/")+e.indexOf("Edge/")>0&&u.logger.warn("WebGL warning: IE is known to produce 1px sprites whith selections."),this.index_buffer.set_size(2*t.length),this.index_buffer.set_data(0,new Uint16Array(t)),this.prog.draw(this.gl.POINTS,this.index_buffer)}else{const e=64e3,s=[];for(let t=0,i=Math.ceil(a/e);t<i;t++)s.push([]);for(let i=0,a=t.length;i<a;i++){const a=t[i]%e;s[Math.floor(t[i]/e)].push(a)}for(let t=0,a=s.length;t<a;t++){const a=new Uint16Array(s[t]),r=t*e*4;0!==a.length&&(this.prog.set_attribute("a_sx","float",i.vbo_sx,0,r),this.prog.set_attribute("a_sy","float",i.vbo_sy,0,r),this.prog.set_attribute("a_size","float",i.vbo_s,0,r),this.prog.set_attribute("a_angle","float",i.vbo_a,0,r),this.vbo_linewidth.used&&this.prog.set_attribute("a_linewidth","float",this.vbo_linewidth,0,r),this.vbo_fg_color.used&&this.prog.set_attribute("a_fg_color","vec4_uint8",this.vbo_fg_color,0,4*r,!0),this.vbo_bg_color.used&&this.prog.set_attribute("a_bg_color","vec4_uint8",this.vbo_bg_color,0,4*r,!0),this.index_buffer.set_size(2*a.length),this.index_buffer.set_data(0,a),this.prog.draw(this.gl.POINTS,this.index_buffer))}}}_set_data(t){const e=4*t;this.vbo_sx.set_size(e),this.vbo_sy.set_size(e),this.vbo_a.set_size(e),this.vbo_s.set_size(e),this.vbo_sx.set_data(0,this.glyph.sx),this.vbo_sy.set_data(0,this.glyph.sy),null!=this.glyph.angle&&this.vbo_a.set_data(0,new Float32Array(this.glyph.angle)),this.glyph instanceof n.CircleView&&null!=this.glyph.radius?this.vbo_s.set_data(0,f.map(this.glyph.sradius,(t=>2*t))):this.vbo_s.set_data(0,new Float32Array(this.glyph.size))}_set_visuals(t){const{line:e,fill:s}=this.glyph.visuals;!function(t,e,s,i,a,r){if(a.doit){if(r.is_Scalar())e.used=!1,t.set_attribute(s,"float",[r.value]);else if(r.is_Vector()){e.used=!0;const a=new Float32Array(r.array);e.set_size(4*i),e.set_data(0,a),t.set_attribute(s,"float",e)}}else e.used=!1,t.set_attribute(s,"float",[0])}(this.prog,this.vbo_linewidth,"a_linewidth",t,e,e.line_width),d(this.prog,this.vbo_fg_color,"a_fg_color",t,e,e.line_color,e.line_alpha),d(this.prog,this.vbo_bg_color,"a_bg_color",t,s,s.fill_color,s.fill_alpha),this.prog.set_uniform("u_antialias","float",[.8])}}s.MarkerGL=p,p.__name__="MarkerGL"},n”, “ function _(n,i,a,o,_){o();a.default="\nprecision mediump float;\nconst float SQRT_2 = 1.4142135623730951;\n//\nuniform float u_pixel_ratio;\nuniform vec2 u_canvas_size;\nuniform vec2 u_offset;\nuniform vec2 u_scale;\nuniform float u_antialias;\n//\nattribute float a_sx;\nattribute float a_sy;\nattribute float a_size;\nattribute float a_angle; // in radians\nattribute float a_linewidth;\nattribute vec4 a_fg_color;\nattribute vec4 a_bg_color;\n//\nvarying float v_linewidth;\nvarying float v_size;\nvarying vec4 v_fg_color;\nvarying vec4 v_bg_color;\nvarying vec2 v_rotation;\n\nvoid main (void)\n{\n v_size = a_size * u_pixel_ratio;\n v_linewidth = a_linewidth * u_pixel_ratio;\n v_fg_color = a_fg_color;\n v_bg_color = a_bg_color;\n v_rotation = vec2(cos(-a_angle), sin(-a_angle));\n vec2 pos = vec2(a_sx, a_sy); // in pixels\n pos += 0.5; // make up for Bokeh’s offset\n pos /= u_canvas_size / u_pixel_ratio; // in 0..1\n gl_Position = vec4(pos*2.0-1.0, 0.0, 1.0);\n gl_Position.y *= -1.0;\n gl_PointSize = SQRT_2 * v_size + 2.0 * (v_linewidth + 1.5*u_antialias);\n}\n"},n”, “ function _(n,a,s,e,t){e();s.default=’\nprecision mediump float;\n\nconst float SQRT_2 = 1.4142135623730951;\nconst float PI = 3.14159265358979323846264;\n\nconst float IN_ANGLE = 0.6283185307179586; // PI/5. = 36 degrees (star of 5 pikes)\n//const float OUT_ANGLE = PI/2. - IN_ANGLE; // External angle for regular stars\nconst float COS_A = 0.8090169943749475; // cos(IN_ANGLE)\nconst float SIN_A = 0.5877852522924731; // sin(IN_ANGLE)\nconst float COS_B = 0.5877852522924731; // cos(OUT_ANGLE)\nconst float SIN_B = 0.8090169943749475; // sin(OUT_ANGLE)\n\n//\nuniform float u_antialias;\n//\nvarying vec4 v_fg_color;\nvarying vec4 v_bg_color;\nvarying float v_linewidth;\nvarying float v_size;\nvarying vec2 v_rotation;\n\n#ifdef USE_ASTERISK\n// asterisk\nfloat marker(vec2 P, float size)\n{\n // Masks\n float diamond = max(abs(SQRT_2 / 2.0 * (P.x - P.y)), abs(SQRT_2 / 2.0 * (P.x + P.y))) - size / (2.0 * SQRT_2);\n float square = max(abs(P.x), abs(P.y)) - size / (2.0 * SQRT_2);\n // Shapes\n float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0; // bit of "width" for aa\n float cross = min(abs(P.x), abs(P.y)) - size / 100.0; // bit of "width" for aa\n // Result is union of masked shapes\n return min(max(X, diamond), max(cross, square));\n}\n#endif\n\n#ifdef USE_CIRCLE\n// circle\nfloat marker(vec2 P, float size)\n{\n return length(P) - size/2.0;\n}\n#endif\n\n#ifdef USE_SQUARE\n// square\nfloat marker(vec2 P, float size)\n{\n return max(abs(P.x), abs(P.y)) - size/2.0;\n}\n#endif\n\n#ifdef USE_DIAMOND\n// diamond\nfloat marker(vec2 P, float size)\n{\n float x = SQRT_2 / 2.0 * (P.x * 1.5 - P.y);\n float y = SQRT_2 / 2.0 * (P.x * 1.5 + P.y);\n float r1 = max(abs(x), abs(y)) - size / (2.0 * SQRT_2);\n return r1 / SQRT_2;\n}\n#endif\n\n#ifdef USE_HEX\n// hex\nfloat marker(vec2 P, float size)\n{\n vec2 q = abs(P);\n return max(q.y * 0.57735 + q.x - 1.0 * size/2.0, q.y - 0.866 * size/2.0);\n}\n#endif\n\n#ifdef USE_STAR\n// star\n// https://iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm\nfloat marker(vec2 P, float size)\n{\n float bn = mod(atan(P.x, -P.y), 2.0*IN_ANGLE) - IN_ANGLE;\n P = length(P)*vec2(cos(bn), abs(sin(bn)));\n P -= size*vec2(COS_A, SIN_A)/2.;\n P += vec2(COS_B, SIN_B)*clamp(-(P.x*COS_B + P.y*SIN_B), 0.0, size*SIN_A/SIN_B/2.);\n\n return length(P)*sign(P.x);\n}\n#endif\n\n#ifdef USE_TRIANGLE\n// triangle\nfloat marker(vec2 P, float size)\n{\n P.y -= size * 0.3;\n float x = SQRT_2 / 2.0 * (P.x * 1.7 - P.y);\n float y = SQRT_2 / 2.0 * (P.x * 1.7 + P.y);\n float r1 = max(abs(x), abs(y)) - size / 1.6;\n float r2 = P.y;\n return max(r1 / SQRT_2, r2); // Intersect diamond with rectangle\n}\n#endif\n\n#ifdef USE_INVERTED_TRIANGLE\n// inverted_triangle\nfloat marker(vec2 P, float size)\n{\n P.y += size * 0.3;\n float x = SQRT_2 / 2.0 * (P.x * 1.7 - P.y);\n float y = SQRT_2 / 2.0 * (P.x * 1.7 + P.y);\n float r1 = max(abs(x), abs(y)) - size / 1.6;\n float r2 = - P.y;\n return max(r1 / SQRT_2, r2); // Intersect diamond with rectangle\n}\n#endif\n\n#ifdef USE_CROSS\n// cross\nfloat marker(vec2 P, float size)\n{\n float square = max(abs(P.x), abs(P.y)) - size / 2.5; // 2.5 is a tweak\n float cross = min(abs(P.x), abs(P.y)) - size / 100.0; // bit of "width" for aa\n return max(square, cross);\n}\n#endif\n\n#ifdef USE_CIRCLE_CROSS\n// circle_cross\nfloat marker(vec2 P, float size)\n{\n // Define quadrants\n float qs = size / 2.0; // quadrant size\n float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\n float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\n float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\n float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\n // Intersect main shape with quadrants (to form cross)\n float circle = length(P) - size/2.0;\n float c1 = max(circle, s1);\n float c2 = max(circle, s2);\n float c3 = max(circle, s3);\n float c4 = max(circle, s4);\n // Union\n return min(min(min(c1, c2), c3), c4);\n}\n#endif\n\n#ifdef USE_SQUARE_CROSS\n// square_cross\nfloat marker(vec2 P, float size)\n{\n // Define quadrants\n float qs = size / 2.0; // quadrant size\n float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\n float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\n float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\n float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\n // Intersect main shape with quadrants (to form cross)\n float square = max(abs(P.x), abs(P.y)) - size/2.0;\n float c1 = max(square, s1);\n float c2 = max(square, s2);\n float c3 = max(square, s3);\n float c4 = max(square, s4);\n // Union\n return min(min(min(c1, c2), c3), c4);\n}\n#endif\n\n#ifdef USE_DIAMOND_CROSS\n// diamond_cross\nfloat marker(vec2 P, float size)\n{\n // Define quadrants\n float qs = size / 2.0; // quadrant size\n float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\n float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\n float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\n float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\n // Intersect main shape with quadrants (to form cross)\n float x = SQRT_2 / 2.0 * (P.x * 1.5 - P.y);\n float y = SQRT_2 / 2.0 * (P.x * 1.5 + P.y);\n float diamond = max(abs(x), abs(y)) - size / (2.0 * SQRT_2);\n diamond /= SQRT_2;\n float c1 = max(diamond, s1);\n float c2 = max(diamond, s2);\n float c3 = max(diamond, s3);\n float c4 = max(diamond, s4);\n // Union\n return min(min(min(c1, c2), c3), c4);\n}\n#endif\n\n#ifdef USE_X\n// x\nfloat marker(vec2 P, float size)\n{\n float circle = length(P) - size / 1.6;\n float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0; // bit of "width" for aa\n return max(circle, X);\n}\n#endif\n\n#ifdef USE_CIRCLE_X\n// circle_x\nfloat marker(vec2 P, float size)\n{\n float x = P.x - P.y;\n float y = P.x + P.y;\n // Define quadrants\n float qs = size / 2.0; // quadrant size\n float s1 = max(abs(x - qs), abs(y - qs)) - qs;\n float s2 = max(abs(x + qs), abs(y - qs)) - qs;\n float s3 = max(abs(x - qs), abs(y + qs)) - qs;\n float s4 = max(abs(x + qs), abs(y + qs)) - qs;\n // Intersect main shape with quadrants (to form cross)\n float circle = length(P) - size/2.0;\n float c1 = max(circle, s1);\n float c2 = max(circle, s2);\n float c3 = max(circle, s3);\n float c4 = max(circle, s4);\n // Union\n float almost = min(min(min(c1, c2), c3), c4);\n // In this case, the X is also outside of the main shape\n float Xmask = length(P) - size / 1.6; // a circle\n float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0; // bit of "width" for aa\n return min(max(X, Xmask), almost);\n}\n#endif\n\n#ifdef USE_SQUARE_X\n// square_x\nfloat marker(vec2 P, float size)\n{\n float x = P.x - P.y;\n float y = P.x + P.y;\n // Define quadrants\n float qs = size / 2.0; // quadrant size\n float s1 = max(abs(x - qs), abs(y - qs)) - qs;\n float s2 = max(abs(x + qs), abs(y - qs)) - qs;\n float s3 = max(abs(x - qs), abs(y + qs)) - qs;\n float s4 = max(abs(x + qs), abs(y + qs)) - qs;\n // Intersect main shape with quadrants (to form cross)\n float square = max(abs(P.x), abs(P.y)) - size/2.0;\n float c1 = max(square, s1);\n float c2 = max(square, s2);\n float c3 = max(square, s3);\n float c4 = max(square, s4);\n // Union\n return min(min(min(c1, c2), c3), c4);\n}\n#endif\n\nvec4 outline(float distance, float linewidth, float antialias, vec4 fg_color, vec4 bg_color)\n{\n vec4 frag_color;\n float t = linewidth/2.0 - antialias;\n float signed_distance = distance;\n float border_distance = abs(signed_distance) - t;\n float alpha = border_distance/antialias;\n alpha = exp(-alpha*alpha);\n\n // If fg alpha is zero, it probably means no outline. To avoid a dark outline\n // shining through due to aa, we set the fg color to the bg color. Avoid if (i.e. branching).\n float select = float(bool(fg_color.a));\n fg_color.rgb = select * fg_color.rgb + (1.0 - select) * bg_color.rgb;\n // Similarly, if we want a transparent bg\n select = float(bool(bg_color.a));\n bg_color.rgb = select * bg_color.rgb + (1.0 - select) * fg_color.rgb;\n\n if( border_distance < 0.0)\n frag_color = fg_color;\n else if( signed_distance < 0.0 ) {\n frag_color = mix(bg_color, fg_color, sqrt(alpha));\n } else {\n if( abs(signed_distance) < (linewidth/2.0 + antialias) ) {\n frag_color = vec4(fg_color.rgb, fg_color.a * alpha);\n } else {\n discard;\n }\n }\n return frag_color;\n}\n\nvoid main()\n{\n vec2 P = gl_PointCoord.xy - vec2(0.5, 0.5);\n P = vec2(v_rotation.x*P.x - v_rotation.y*P.y,\n v_rotation.y*P.x + v_rotation.x*P.y);\n float point_size = SQRT_2*v_size + 2.0 * (v_linewidth + 1.5*u_antialias);\n float distance = marker(P*point_size, v_size);\n gl_FragColor = outline(distance, v_linewidth, u_antialias, v_fg_color, v_bg_color);\n}\n’},n”, “ function _(e,l,i,s,t){s();const _=e(287);class p extends _.EllipseOvalView{}i.EllipseView=p,p.__name__="EllipseView";class n extends _.EllipseOval{constructor(e){super(e)}static init_Ellipse(){this.prototype.default_view=p}}i.Ellipse=n,n.__name__="Ellipse",n.init_Ellipse()},n”, “ function _(t,s,i,e,h){e();const r=t(1),a=t(288),n=r.__importStar(t(107)),l=t(24),o=t(59);class _ extends a.CenterRotatableView{_map_data(){"data"==this.model.properties.width.units?this.sw=this.sdist(this.renderer.xscale,this._x,this.width,"center"):this.sw=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=l.to_screen(this.height)}_render(t,s,i){const{sx:e,sy:h,sw:r,sh:a,angle:n}=null!=i?i:this;for(const i of s){const s=e[i],l=h[i],o=r[i],_=a[i],d=n.get(i);isNaN(s+l+o+_+d)||(t.beginPath(),t.ellipse(s,l,o/2,_/2,d,0,2*Math.PI),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,i),t.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(t,i),t.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(t,i),t.stroke()))}}_hit_point(t){let s,i,e,h,r,a,l,_,d;const{sx:c,sy:x}=t,w=this.renderer.xscale.invert(c),p=this.renderer.yscale.invert(x);"data"==this.model.properties.width.units?(s=w-this.max_width,i=w+this.max_width):(a=c-this.max_width,l=c+this.max_width,[s,i]=this.renderer.xscale.r_invert(a,l)),"data"==this.model.properties.height.units?(e=p-this.max_height,h=p+this.max_height):(_=x-this.max_height,d=x+this.max_height,[e,h]=this.renderer.yscale.r_invert(_,d));const m=this.index.indices({x0:s,x1:i,y0:e,y1:h}),v=[];for(const t of m)r=n.point_in_ellipse(c,x,this.angle.get(t),this.sh[t]/2,this.sw[t]/2,this.sx[t],this.sy[t]),r&&v.push(t);return new o.Selection({indices:v})}draw_legend_for_index(t,{x0:s,y0:i,x1:e,y1:h},r){const a=r+1,n=new Array(a);n[r]=(s+e)/2;const l=new Array(a);l[r]=(i+h)/2;const o=this.sw[r]/this.sh[r],_=.8*Math.min(Math.abs(e-s),Math.abs(h-i)),d=new Array(a),c=new Array(a);o>1?(d[r]=_,c[r]=_/o):(d[r]=_*o,c[r]=_),this._render(t,[r],{sx:n,sy:l,sw:d,sh:c,_angle:[0]})}}i.EllipseOvalView=_,_.__name__="EllipseOvalView";class d extends a.CenterRotatable{constructor(t){super(t)}}i.EllipseOval=d,d.__name__="EllipseOval"},n”, “ function _(t,e,i,a,n){a();const s=t(1),h=t(64),r=t(48),o=s.__importStar(t(18));class _ 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:t,x1:e,y0:i,y1:a}){const{max_w2:n,max_h2:s}=this;return{x0:t-n,x1:e+n,y0:i-s,y1:a+s}}}i.CenterRotatableView=_,_.__name__="CenterRotatableView";class l extends h.XYGlyph{constructor(t){super(t)}static init_CenterRotatable(){this.mixins([r.LineVector,r.FillVector,r.HatchVector]),this.define((({})=>({angle:[o.AngleSpec,0],width:[o.DistanceSpec,{field:"width"}],height:[o.DistanceSpec,{field:"height"}]})))}}i.CenterRotatable=l,l.__name__="CenterRotatable",l.init_CenterRotatable()},n”, “ function _(t,e,s,i,h){i();const r=t(1),a=t(290),n=t(24),_=r.__importStar(t(18));class o extends a.BoxView{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],h=this.height.get(t)/2;return[Math.min(e,s),Math.max(e,s),i+h,i-h]}_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 n.ScreenArray(t),this.sbottom=new n.ScreenArray(t);for(let e=0;e<t;e++)this.stop[e]=this.sy[e]-this.sh[e]/2,this.sbottom[e]=this.sy[e]+this.sh[e]/2;this._clamp_viewport()}}s.HBarView=o,o.__name__="HBarView";class c extends a.Box{constructor(t){super(t)}static init_HBar(){this.prototype.default_view=o,this.define((({})=>({left:[_.XCoordinateSpec,{value:0}],y:[_.YCoordinateSpec,{field:"y"}],height:[_.NumberSpec,{value:1}],right:[_.XCoordinateSpec,{field:"right"}]})))}}s.HBar=c,c.__name__="HBar",c.init_HBar()},n”, “ function _(t,e,s,i,r){i();const n=t(48),o=t(98),a=t(106),h=t(59);class c extends o.GlyphView{get_anchor_point(t,e,s){const i=Math.min(this.sleft[e],this.sright[e]),r=Math.max(this.sright[e],this.sleft[e]),n=Math.min(this.stop[e],this.sbottom[e]),o=Math.max(this.sbottom[e],this.stop[e]);switch(t){case"top_left":return{x:i,y:n};case"top":case"top_center":return{x:(i+r)/2,y:n};case"top_right":return{x:r,y:n};case"bottom_left":return{x:i,y:o};case"bottom":case"bottom_center":return{x:(i+r)/2,y:o};case"bottom_right":return{x:r,y:o};case"left":case"center_left":return{x:i,y:(n+o)/2};case"center":case"center_center":return{x:(i+r)/2,y:(n+o)/2};case"right":case"center_right":return{x:r,y:(n+o)/2}}}_index_data(t){const{min:e,max:s}=Math,{data_size:i}=this;for(let r=0;r<i;r++){const[i,n,o,a]=this._lrtb(r);isNaN(i+n+o+a)||!isFinite(i+n+o+a)?t.add_empty():t.add(e(i,n),e(o,a),s(n,i),s(o,a))}}_render(t,e,s){const{sleft:i,sright:r,stop:n,sbottom:o}=null!=s?s:this;for(const s of e){const e=i[s],h=n[s],c=r[s],_=o[s];function a(){t.beginPath(),t.rect(e,h,c-e,_-h)}isNaN(e+h+c+_)||(this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,s),a(),t.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(t,s),a(),t.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(t,s),a(),t.stroke()))}}_clamp_viewport(){const t=this.renderer.plot_view.frame.bbox.h_range,e=this.renderer.plot_view.frame.bbox.v_range,s=this.stop.length;for(let i=0;i<s;i++)this.stop[i]=Math.max(this.stop[i],e.start),this.sbottom[i]=Math.min(this.sbottom[i],e.end),this.sleft[i]=Math.max(this.sleft[i],t.start),this.sright[i]=Math.min(this.sright[i],t.end)}_hit_rect(t){return this._hit_rect_against_index(t)}_hit_point(t){const{sx:e,sy:s}=t,i=this.renderer.xscale.invert(e),r=this.renderer.yscale.invert(s),n=[…this.index.indices({x0:i,y0:r,x1:i,y1:r})];return new h.Selection({indices:n})}_hit_span(t){const{sx:e,sy:s}=t;let i;if("v"==t.direction){const t=this.renderer.yscale.invert(s),e=this.renderer.plot_view.frame.bbox.h_range,[r,n]=this.renderer.xscale.r_invert(e.start,e.end);i=[…this.index.indices({x0:r,y0:t,x1:n,y1:t})]}else{const t=this.renderer.xscale.invert(e),s=this.renderer.plot_view.frame.bbox.v_range,[r,n]=this.renderer.yscale.r_invert(s.start,s.end);i=[…this.index.indices({x0:t,y0:r,x1:t,y1:n})]}return new h.Selection({indices:i})}draw_legend_for_index(t,e,s){a.generic_area_vector_legend(this.visuals,t,e,s)}}s.BoxView=c,c.__name__="BoxView";class _ extends o.Glyph{constructor(t){super(t)}static init_Box(){this.mixins([n.LineVector,n.FillVector,n.HatchVector])}}s.Box=_,_.__name__="Box",_.init_Box()},n”, “ function _(e,t,s,i,r){i();const n=e(1),o=e(98),a=n.__importStar(e(107)),c=n.__importStar(e(18)),l=e(48),h=e(20),_=e(65),d=e(106),x=e(59);class p extends o.GlyphView{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:o,_y:a}=this,c=Math.sqrt(3);if("pointytop"==e)for(let e=0;e<n;e++){const n=i.get(e),l=r.get(e)/2;o[e]=t*c*(n+l)/s,a[e]=-3*t*l}else for(let e=0;e<n;e++){const n=i.get(e)/2,l=r.get(e);o[e]=3*t*n,a[e]=-t*c*(l+n)*s}}_project_data(){_.inplace.project_xy(this._x,this._y)}_index_data(e){let t=this.model.size,s=Math.sqrt(3)*t/2;"flattop"==this.model.orientation?([s,t]=[t,s],t*=this.model.aspect_scale):s/=this.model.aspect_scale;const{data_size:i}=this;for(let r=0;r<i;r++){const i=this._x[r],n=this._y[r];isNaN(i+n)||!isFinite(i+n)?e.add_empty():e.add(i-s,n-t,i+s,n+t)}}map_data(){[this.sx,this.sy]=this.renderer.coordinates.map_to_screen(this._x,this._y),[this.svx,this.svy]=this._get_unscaled_vertices()}_get_unscaled_vertices(){const e=this.model.size,t=this.model.aspect_scale;if("pointytop"==this.model.orientation){const s=this.renderer.yscale,i=this.renderer.xscale,r=Math.abs(s.compute(0)-s.compute(e)),n=Math.sqrt(3)/2*Math.abs(i.compute(0)-i.compute(e))/t,o=r/2;return[[0,-n,-n,0,n,n],[r,o,-o,-r,-o,o]]}{const s=this.renderer.xscale,i=this.renderer.yscale,r=Math.abs(s.compute(0)-s.compute(e)),n=Math.sqrt(3)/2*Math.abs(i.compute(0)-i.compute(e))*t,o=r/2;return[[r,o,-o,-r,-o,o],[0,-n,-n,0,n,n]]}}_render(e,t,s){const{sx:i,sy:r,svx:n,svy:o,scale:a}=null!=s?s:this;for(const s of t){const t=i[s],c=r[s],l=a.get(s);if(!isNaN(t+c+l)){e.translate(t,c),e.beginPath();for(let t=0;t<6;t++)e.lineTo(n[t]*l,o[t]*l);e.closePath(),e.translate(-t,-c),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(e,s),e.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(e,s),e.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(e,s),e.stroke())}}}_hit_point(e){const{sx:t,sy:s}=e,i=this.renderer.xscale.invert(t),r=this.renderer.yscale.invert(s),n=this.index.indices({x0:i,y0:r,x1:i,y1:r}),o=[];for(const e of n)a.point_in_poly(t-this.sx[e],s-this.sy[e],this.svx,this.svy)&&o.push(e);return new x.Selection({indices:o})}_hit_span(e){const{sx:t,sy:s}=e;let i;if("v"==e.direction){const e=this.renderer.yscale.invert(s),t=this.renderer.plot_view.frame.bbox.h_range,[r,n]=this.renderer.xscale.r_invert(t.start,t.end);i=[…this.index.indices({x0:r,y0:e,x1:n,y1:e})]}else{const e=this.renderer.xscale.invert(t),s=this.renderer.plot_view.frame.bbox.v_range,[r,n]=this.renderer.yscale.r_invert(s.start,s.end);i=[…this.index.indices({x0:e,y0:r,x1:e,y1:n})]}return new x.Selection({indices:i})}_hit_rect(e){const{sx0:t,sx1:s,sy0:i,sy1:r}=e,[n,o]=this.renderer.xscale.r_invert(t,s),[a,c]=this.renderer.yscale.r_invert(i,r),l=[…this.index.indices({x0:n,x1:o,y0:a,y1:c})];return new x.Selection({indices:l})}draw_legend_for_index(e,t,s){d.generic_area_vector_legend(this.visuals,e,t,s)}}s.HexTileView=p,p.__name__="HexTileView";class y extends o.Glyph{constructor(e){super(e)}static init_HexTile(){this.prototype.default_view=p,this.mixins([l.LineVector,l.FillVector,l.HatchVector]),this.define((({Number:e})=>({r:[c.NumberSpec,{field:"r"}],q:[c.NumberSpec,{field:"q"}],scale:[c.NumberSpec,1],size:[e,1],aspect_scale:[e,1],orientation:[h.HexTileOrientation,"pointytop"]}))),this.override({line_color:null})}}s.HexTile=y,y.__name__="HexTile",y.init_HexTile()},n”, “ function _(e,a,t,_,s){_();const i=e(293),n=e(203),r=e(214);class o extends i.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=o,o.__name__="ImageView";class m extends i.ImageBase{constructor(e){super(e)}static init_Image(){this.prototype.default_view=o,this.define((({Ref:e})=>({color_mapper:[e(n.ColorMapper),()=>new r.LinearColorMapper({palette:["#000000","#252525","#525252","#737373","#969696","#bdbdbd","#d9d9d9","#f0f0f0","#ffffff"]})]})))}}t.Image=m,m.__name__="Image",m.init_Image()},n”, “ function _(e,t,i,s,a){s();const h=e(1),n=e(64),r=e(24),_=h.__importStar(e(18)),d=e(59),l=e(9),g=e(29),o=e(11);class c extends n.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}=null!=i?i:this,_=e.getImageSmoothingEnabled();e.setImageSmoothingEnabled(!1),e.globalAlpha=this.model.global_alpha;for(const i of t){const t=s[i],_=a[i],d=h[i],l=n[i],g=r[i];if(null==t||isNaN(_+d+l+g))continue;const o=d;e.translate(0,o),e.scale(1,-1),e.translate(0,-o),e.drawImage(t,0|_,0|d,l,g),e.translate(0,o),e.scale(1,-1),e.translate(0,-o)}e.setImageSmoothingEnabled(_)}_set_data(e){this._set_width_heigh_data();for(let t=0,i=this.image.length;t<i;t++){if(null!=e&&e.indexOf(t)<0)continue;const i=this.image.get(t);let s;g.is_NDArray(i)?(o.assert(2==i.dimension,"expected a 2D array"),s=i,this._height[t]=i.shape[0],this._width[t]=i.shape[1]):(s=l.concat(i),this._height[t]=i.length,this._width[t]=i[0].length);const a=this._flat_img_to_buf8(s);this._set_image_data_from_buffer(t,a)}}_index_data(e){const{data_size:t}=this;for(let i=0;i<t;i++){const[t,s,a,h]=this._lrtb(i);isNaN(t+s+a+h)||!isFinite(t+s+a+h)?e.add_empty():e.add(t,h,s,a)}}_lrtb(e){const t=this.dw.get(e),i=this.dh.get(e),s=this.renderer.xscale.source_range,a=this._x[e],h=s.is_reversed?a-t:a+t,n=this.renderer.yscale.source_range,r=this._y[e],_=n.is_reversed?r-i:r+i,[d,l]=a<h?[a,h]:[h,a],[g,o]=r<_?[r,_]:[_,r];return[d,l,o,g]}_set_width_heigh_data(){null!=this.image_data&&this.image_data.length==this.image.length||(this.image_data=new Array(this.image.length)),null!=this._width&&this._width.length==this.image.length||(this._width=new Uint32Array(this.image.length)),null!=this._height&&this._height.length==this.image.length||(this._height=new Uint32Array(this.image.length))}_get_or_create_canvas(e){const t=this.image_data[e];if(null!=t&&t.width==this._width[e]&&t.height==this._height[e])return t;{const t=document.createElement("canvas");return t.width=this._width[e],t.height=this._height[e],t}}_set_image_data_from_buffer(e,t){const i=this._get_or_create_canvas(e),s=i.getContext("2d"),a=s.getImageData(0,0,this._width[e],this._height[e]);a.data.set(t),s.putImageData(a,0,0),this.image_data[e]=i}_map_data(){"data"==this.model.properties.dw.units?this.sw=this.sdist(this.renderer.xscale,this._x,this.dw,"edge",this.model.dilate):this.sw=r.to_screen(this.dw),"data"==this.model.properties.dh.units?this.sh=this.sdist(this.renderer.yscale,this._y,this.dh,"edge",this.model.dilate):this.sh=r.to_screen(this.dh)}_image_index(e,t,i){const[s,a,h,n]=this._lrtb(e),r=this._width[e],_=this._height[e],d=(a-s)/r,l=(h-n)/_;let g=Math.floor((t-s)/d),o=Math.floor((i-n)/l);return this.renderer.xscale.source_range.is_reversed&&(g=r-g-1),this.renderer.yscale.source_range.is_reversed&&(o=_-o-1),{index:e,dim1:g,dim2:o,flat_index:o*r+g}}_hit_point(e){const{sx:t,sy:i}=e,s=this.renderer.xscale.invert(t),a=this.renderer.yscale.invert(i),h=this.index.indices({x0:s,x1:s,y0:a,y1:a}),n=new d.Selection;for(const e of h)t!=1/0&&i!=1/0&&n.image_indices.push(this._image_index(e,s,a));return n}}i.ImageBaseView=c,c.__name__="ImageBaseView";class m extends n.XYGlyph{constructor(e){super(e)}static init_ImageBase(){this.define((({Boolean:e,Alpha:t})=>({image:[_.NDArraySpec,{field:"image"}],dw:[_.DistanceSpec,{field:"dw"}],dh:[_.DistanceSpec,{field:"dh"}],dilate:[e,!1],global_alpha:[t,1]})))}}i.ImageBase=m,m.__name__="ImageBase",m.init_ImageBase()},n”, “ function _(e,a,t,_,i){_();const n=e(293),s=e(8);class r extends n.ImageBaseView{_flat_img_to_buf8(e){let a;return a=s.isArray(e)?new Uint32Array(e):e,new Uint8ClampedArray(a.buffer)}}t.ImageRGBAView=r,r.__name__="ImageRGBAView";class m extends n.ImageBase{constructor(e){super(e)}static init_ImageRGBA(){this.prototype.default_view=r}}t.ImageRGBA=m,m.__name__="ImageRGBA",m.init_ImageRGBA()},n”, “ function _(e,t,s,r,a){r();const i=e(1),n=e(64),o=e(24),c=e(20),_=i.__importStar(e(18)),h=e(12),l=e(296);class d extends n.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<t;s++)e.add_empty()}_set_data(){this._set_data_iteration++;const e=this.url.length;this.image=new Array(e);const{retry_attempts:t,retry_timeout:s}=this.model,{_set_data_iteration:r}=this;for(let a=0;a<e;a++){const e=this.url.get(a);e&&new l.ImageLoader(e,{loaded:e=>{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,c=new o.ScreenArray(a?2*n:n),_=new o.ScreenArray(i?2*n:n),{anchor:d}=this.model;function m(e,t){switch(d){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(d){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<n;e++)[c[e],c[n+e]]=m(this._x[e],this.w.get(e));else c.set(this._x,0);if(i)for(let e=0;e<n;e++)[_[e],_[n+e]]=g(this._y[e],this.h.get(e));else _.set(this._y,0);const[u,p]=h.minmax(c),[f,b]=h.minmax(_);this._bounds_rect={x0:u,x1:p,y0:f,y1:b}}has_finished(){return super.has_finished()&&1==this._images_rendered}_map_data(){"data"==this.model.properties.w.units?this.sw=this.sdist(this.renderer.xscale,this._x,this.w,"edge",this.model.dilate):this.sw=o.to_screen(this.w),"data"==this.model.properties.h.units?this.sh=this.sdist(this.renderer.yscale,this._y,this.h,"edge",this.model.dilate):this.sh=o.to_screen(this.h)}_render(e,t,s){const{image:r,sx:a,sy:i,sw:n,sh:o,angle:c}=null!=s?s:this,{frame:_}=this.renderer.plot_view;e.rect(_.bbox.left+1,_.bbox.top+1,_.bbox.width-2,_.bbox.height-2),e.clip();let h=!0;for(const s of t){if(isNaN(a[s]+i[s]+c.get(s)))continue;const t=r[s];null!=t?this._render_image(e,s,t,a,i,n,o,c):h=!1}h&&!this._images_rendered&&(this._images_rendered=!0,this.notify_finished())}_final_sx_sy(e,t,s,r,a){switch(e){case"top_left":return[t,s];case"top":case"top_center":return[t-r/2,s];case"top_right":return[t-r,s];case"right":case"center_right":return[t-r,s-a/2];case"bottom_right":return[t-r,s-a];case"bottom":case"bottom_center":return[t-r/2,s-a];case"bottom_left":return[t,s-a];case"left":case"center_left":return[t,s-a/2];case"center":case"center_center":return[t-r/2,s-a/2]}}_render_image(e,t,s,r,a,i,n,o){isNaN(i[t])&&(i[t]=s.width),isNaN(n[t])&&(n[t]=s.height);const c=i[t],_=n[t],{anchor:h}=this.model,[l,d]=this._final_sx_sy(h,r[t],a[t],c,_),m=o.get(t);e.save(),e.globalAlpha=this.model.global_alpha;const g=c/2,u=_/2;m?(e.translate(l,d),e.translate(g,u),e.rotate(m),e.translate(-g,-u),e.drawImage(s,0,0,c,_),e.translate(g,u),e.rotate(-m),e.translate(-g,-u),e.translate(-l,-d)):e.drawImage(s,l,d,c,_),e.restore()}bounds(){return this._bounds_rect}}s.ImageURLView=d,d.__name__="ImageURLView";class m extends n.XYGlyph{constructor(e){super(e)}static init_ImageURL(){this.prototype.default_view=d,this.define((({Boolean:e,Int:t,Alpha:s})=>({url:[_.StringSpec,{field:"url"}],anchor:[c.Anchor,"top_left"],global_alpha:[s,1],angle:[_.AngleSpec,0],w:[_.NullDistanceSpec,null],h:[_.NullDistanceSpec,null],dilate:[e,!1],retry_attempts:[t,0],retry_timeout:[t,0]})))}}s.ImageURL=m,m.__name__="ImageURL",m.init_ImageURL()},n”, “ function _(i,e,t,s,o){s();const a=i(19);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,s,e,i,n){i();const o=t(1),l=t(101),r=t(98),h=t(106),_=t(12),a=t(12),c=t(48),d=o.__importStar(t(107)),x=o.__importStar(t(18)),y=t(59),f=t(11);class g extends r.GlyphView{_project_data(){}_index_data(t){const{min:s,max:e}=Math,{data_size:i}=this;for(let n=0;n<i;n++){const i=this._xs[n],o=this._ys[n];if(0==i.length||0==o.length){t.add_empty();continue}let l=1/0,r=-1/0,h=1/0,a=-1/0;for(let t=0,n=i.length;t<n;t++){const n=i[t][0],c=o[t][0];if(0!=n.length&&0!=c.length){const[t,i]=_.minmax(n),[o,d]=_.minmax(c);l=s(l,t),r=e(r,i),h=s(h,o),a=e(a,d)}}isFinite(l+r+h+a)?t.add(l,h,r,a):t.add_empty()}this._hole_index=this._index_hole_data()}_index_hole_data(){const{min:t,max:s}=Math,{data_size:e}=this,i=new l.SpatialIndex(e);for(let n=0;n<e;n++){const e=this._xs[n],o=this._ys[n];if(0==e.length||0==o.length){i.add_empty();continue}let l=1/0,r=-1/0,h=1/0,a=-1/0;for(let i=0,n=e.length;i<n;i++){const n=e[i],c=o[i];if(n.length>1&&c.length>1)for(let e=1,i=n.length;e<i;e++){const[i,o]=_.minmax(n[e]),[d,x]=_.minmax(c[e]);l=t(l,i),r=s(r,o),h=t(h,d),a=s(a,x)}}isFinite(l+r+h+a)?i.add(l,h,r,a):i.add_empty()}return i.finish(),i}_mask_data(){const{x_range:t,y_range:s}=this.renderer.plot_view.frame;return this.index.indices({x0:t.min,x1:t.max,y0:s.min,y1:s.max})}_inner_loop(t,s,e){t.beginPath();for(let i=0,n=s.length;i<n;i++)for(let n=0,o=s[i].length;n<o;n++){const o=s[i][n],l=e[i][n];for(let s=0,e=o.length;s<e;s++)0!=s?t.lineTo(o[s],l[s]):t.moveTo(o[s],l[s]);t.closePath()}}_render(t,s,e){if(this.visuals.fill.doit||this.visuals.line.doit){const{sxs:i,sys:n}=null!=e?e:this;for(const e of s){const s=i[e],o=n[e];this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,e),this._inner_loop(t,s,o),t.fill("evenodd")),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(t,e),this._inner_loop(t,s,o),t.fill("evenodd")),this.visuals.line.doit&&(this.visuals.line.set_vectorize(t,e),this._inner_loop(t,s,o),t.stroke())}}}_hit_rect(t){const{sx0:s,sx1:e,sy0:i,sy1:n}=t,o=[s,e,e,s],l=[i,i,n,n],[r,h]=this.renderer.xscale.r_invert(s,e),[_,a]=this.renderer.yscale.r_invert(i,n),c=this.index.indices({x0:r,x1:h,y0:_,y1:a}),x=[];for(const t of c){const s=this.sxs[t],e=this.sys[t];let i=!0;for(let t=0,n=s.length;t<n;t++){for(let n=0,r=s[t][0].length;n<r;n++){const r=s[t][0][n],h=e[t][0][n];if(!d.point_in_poly(r,h,o,l)){i=!1;break}}if(!i)break}i&&x.push(t)}return new y.Selection({indices:x})}_hit_point(t){const{sx:s,sy:e}=t,i=this.renderer.xscale.invert(s),n=this.renderer.yscale.invert(e),o=this.index.indices({x0:i,y0:n,x1:i,y1:n}),l=this._hole_index.indices({x0:i,y0:n,x1:i,y1:n}),r=[];for(const t of o){const i=this.sxs[t],n=this.sys[t];for(let o=0,h=i.length;o<h;o++){const h=i[o].length;if(d.point_in_poly(s,e,i[o][0],n[o][0]))if(1==h)r.push(t);else if(l.get(t)){if(h>1){let l=!1;for(let t=1;t<h;t++){const r=i[o][t],h=n[o][t];if(d.point_in_poly(s,e,r,h)){l=!0;break}}l||r.push(t)}}else r.push(t)}}return new y.Selection({indices:r})}_get_snap_coord(t){return a.sum(t)/t.length}scenterxy(t,s,e){if(1==this.sxs[t].length){return[this._get_snap_coord(this.sxs[t][0][0]),this._get_snap_coord(this.sys[t][0][0])]}{const i=this.sxs[t],n=this.sys[t];for(let t=0,o=i.length;t<o;t++)if(d.point_in_poly(s,e,i[t][0],n[t][0])){return[this._get_snap_coord(i[t][0]),this._get_snap_coord(n[t][0])]}}f.unreachable()}map_data(){const t=this._xs.length;this.sxs=new Array(t),this.sys=new Array(t);for(let s=0;s<t;s++){const t=this._xs[s].length;this.sxs[s]=new Array(t),this.sys[s]=new Array(t);for(let e=0;e<t;e++){const t=this._xs[s][e].length;this.sxs[s][e]=new Array(t),this.sys[s][e]=new Array(t);for(let i=0;i<t;i++){const[t,n]=this.renderer.coordinates.map_to_screen(this._xs[s][e][i],this._ys[s][e][i]);this.sxs[s][e][i]=t,this.sys[s][e][i]=n}}}}draw_legend_for_index(t,s,e){h.generic_area_vector_legend(this.visuals,t,s,e)}}e.MultiPolygonsView=g,g.__name__="MultiPolygonsView";class p extends r.Glyph{constructor(t){super(t)}static init_MultiPolygons(){this.prototype.default_view=g,this.define((({})=>({xs:[x.XCoordinateSeqSeqSeqSpec,{field:"xs"}],ys:[x.YCoordinateSeqSeqSeqSpec,{field:"ys"}]}))),this.mixins([c.LineVector,c.FillVector,c.HatchVector])}}e.MultiPolygons=p,p.__name__="MultiPolygons",p.init_MultiPolygons()},n”, “ function _(a,t,e,l,s){l();const _=a(287),i=a(12);class n extends _.EllipseOvalView{_map_data(){super._map_data(),i.mul(this.sw,.75)}}e.OvalView=n,n.__name__="OvalView";class v extends _.EllipseOval{constructor(a){super(a)}static init_Oval(){this.prototype.default_view=n}}e.Oval=v,v.__name__="Oval",v.init_Oval()},n”, “ function _(t,e,i,o,s){o();const r=t(1),_=t(290),d=r.__importStar(t(18));class n extends _.BoxView{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=n,n.__name__="QuadView";class a extends _.Box{constructor(t){super(t)}static init_Quad(){this.prototype.default_view=n,this.define((({})=>({right:[d.XCoordinateSpec,{field:"right"}],bottom:[d.YCoordinateSpec,{field:"bottom"}],left:[d.XCoordinateSpec,{field:"left"}],top:[d.YCoordinateSpec,{field:"top"}]})))}}i.Quad=a,a.__name__="Quad",a.init_Quad()},n”, “ function _(e,t,i,s,n){s();const a=e(1),c=e(48),o=e(65),r=e(98),_=e(106),d=a.__importStar(e(18));function l(e,t,i){if(t==(e+i)/2)return[e,i];{const s=(e-t)/(e-2*t+i),n=e*(1-s)**2+2*t*(1-s)*s+i*s**2;return[Math.min(e,i,n),Math.max(e,i,n)]}}class x extends r.GlyphView{_project_data(){o.inplace.project_xy(this._x0,this._y0),o.inplace.project_xy(this._x1,this._y1)}_index_data(e){const{_x0:t,_x1:i,_y0:s,_y1:n,_cx:a,_cy:c,data_size:o}=this;for(let r=0;r<o;r++){const o=t[r],_=i[r],d=s[r],x=n[r],y=a[r],h=c[r];if(isNaN(o+_+d+x+y+h))e.add_empty();else{const[t,i]=l(o,y,_),[s,n]=l(d,h,x);e.add(t,s,i,n)}}}_render(e,t,i){if(this.visuals.line.doit){const{sx0:s,sy0:n,sx1:a,sy1:c,scx:o,scy:r}=null!=i?i:this;for(const i of t){const t=s[i],_=n[i],d=a[i],l=c[i],x=o[i],y=r[i];isNaN(t+_+d+l+x+y)||(e.beginPath(),e.moveTo(t,_),e.quadraticCurveTo(x,y,d,l),this.visuals.line.set_vectorize(e,i),e.stroke())}}}draw_legend_for_index(e,t,i){_.generic_line_vector_legend(this.visuals,e,t,i)}scenterxy(){throw new Error(`${this}.scenterxy() is not implemented`)}}i.QuadraticView=x,x.__name__="QuadraticView";class y extends r.Glyph{constructor(e){super(e)}static init_Quadratic(){this.prototype.default_view=x,this.define((({})=>({x0:[d.XCoordinateSpec,{field:"x0"}],y0:[d.YCoordinateSpec,{field:"y0"}],x1:[d.XCoordinateSpec,{field:"x1"}],y1:[d.YCoordinateSpec,{field:"y1"}],cx:[d.XCoordinateSpec,{field:"cx"}],cy:[d.YCoordinateSpec,{field:"cy"}]}))),this.mixins(c.LineVector)}}i.Quadratic=y,y.__name__="Quadratic",y.init_Quadratic()},n”, “ function _(e,t,s,i,n){i();const a=e(1),l=e(64),h=e(106),r=e(48),o=e(24),_=a.__importStar(e(18));class c extends l.XYGlyphView{_map_data(){"data"==this.model.properties.length.units?this.slength=this.sdist(this.renderer.xscale,this._x,this.length):this.slength=o.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<t;e++)0==i[e]&&(i[e]=s)}_render(e,t,s){const{sx:i,sy:n,slength:a,angle:l}=null!=s?s:this;if(this.visuals.line.doit)for(const s of t){const t=i[s],h=n[s],r=l.get(s),o=a[s];isNaN(t+h+r+o)||(e.translate(t,h),e.rotate(r),e.beginPath(),e.moveTo(0,0),e.lineTo(o,0),this.visuals.line.set_vectorize(e,s),e.stroke(),e.rotate(-r),e.translate(-t,-h))}}draw_legend_for_index(e,t,s){h.generic_line_vector_legend(this.visuals,e,t,s)}}s.RayView=c,c.__name__="RayView";class g extends l.XYGlyph{constructor(e){super(e)}static init_Ray(){this.prototype.default_view=c,this.mixins(r.LineVector),this.define((({})=>({length:[_.DistanceSpec,0],angle:[_.AngleSpec,0]})))}}s.Ray=g,g.__name__="Ray",g.init_Ray()},n”, “ function _(t,s,e,i,h){i();const r=t(288),n=t(106),a=t(24),o=t(12),l=t(59);class _ extends r.CenterRotatableView{_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=a.to_screen(this.width);const t=this.sx.length;this.sx0=new a.ScreenArray(t);for(let s=0;s<t;s++)this.sx0[s]=this.sx[s]-this.sw[s]/2}if("data"==this.model.properties.height.units)[this.sh,this.sy1]=this._map_dist_corner_for_data_side_length(this._y,this.height,this.renderer.yscale);else{this.sh=a.to_screen(this.height);const t=this.sy.length;this.sy1=new a.ScreenArray(t);for(let s=0;s<t;s++)this.sy1[s]=this.sy[s]-this.sh[s]/2}const t=this.sw.length;this.ssemi_diag=new a.ScreenArray(t);for(let s=0;s<t;s++)this.ssemi_diag[s]=Math.sqrt(this.sw[s]/2*this.sw[s]/2+this.sh[s]/2*this.sh[s]/2)}_render(t,s,e){const{sx:i,sy:h,sx0:r,sy1:n,sw:a,sh:o,angle:l}=null!=e?e:this;for(const e of s){const s=i[e],_=h[e],c=r[e],d=n[e],f=a[e],y=o[e],g=l.get(e);isNaN(s+_+c+d+f+y+g)||0!=f&&0!=y&&(t.beginPath(),g?(t.translate(s,_),t.rotate(g),t.rect(-f/2,-y/2,f,y),t.rotate(-g),t.translate(-s,-_)):t.rect(c,d,f,y),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,e),t.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(t,e),t.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(t,e),t.stroke()))}}_hit_rect(t){return this._hit_rect_against_index(t)}_hit_point(t){let{sx:s,sy:e}=t;const i=this.renderer.xscale.invert(s),h=this.renderer.yscale.invert(e),r=this.sx0.length,n=new a.ScreenArray(r);for(let t=0;t<r;t++)n[t]=this.sx0[t]+this.sw[t]/2;const _=new a.ScreenArray(r);for(let t=0;t<r;t++)_[t]=this.sy1[t]+this.sh[t]/2;const c=o.max(this._ddist(0,n,this.ssemi_diag)),d=o.max(this._ddist(1,_,this.ssemi_diag)),f=i-c,y=i+c,g=h-d,w=h+d;let x,u;const v=[];for(const t of this.index.indices({x0:f,x1:y,y0:g,y1:w})){const i=this.angle.get(t);if(i){const h=Math.sin(-i),r=Math.cos(-i),n=r*(s-this.sx[t])-h*(e-this.sy[t])+this.sx[t],a=h*(s-this.sx[t])+r*(e-this.sy[t])+this.sy[t];s=n,e=a,x=Math.abs(this.sx[t]-s)<=this.sw[t]/2,u=Math.abs(this.sy[t]-e)<=this.sh[t]/2}else{const i=s-this.sx0[t],h=e-this.sy1[t];x=0<=i&&i<=this.sw[t],u=0<=h&&h<=this.sh[t]}x&&u&&v.push(t)}return new l.Selection({indices:v})}_map_dist_corner_for_data_side_length(t,s,e){const i=t.length,h=new Float64Array(i),r=new Float64Array(i);for(let e=0;e<i;e++){const i=t[e],n=s.get(e)/2;h[e]=i-n,r[e]=i+n}const n=e.v_compute(h),a=e.v_compute(r),o=this.sdist(e,h,s,"edge",this.model.dilate);let l=n;for(let t=0;t<i;t++){const s=n[t],e=a[t];if(!isNaN(s+e)&&s!=e){l=s<e?n:a;break}}return[o,l]}_ddist(t,s,e){const i=a.infer_type(s,e),h=0==t?this.renderer.xscale:this.renderer.yscale,r=s,n=r.length,o=new i(n);for(let t=0;t<n;t++)o[t]=r[t]+e[t];const l=h.v_invert(r),_=h.v_invert(o),c=l.length,d=new i(c);for(let t=0;t<c;t++)d[t]=Math.abs(_[t]-l[t]);return d}draw_legend_for_index(t,s,e){n.generic_area_vector_legend(this.visuals,t,s,e)}}e.RectView=_,_.__name__="RectView";class c extends r.CenterRotatable{constructor(t){super(t)}static init_Rect(){this.prototype.default_view=_,this.define((({Boolean:t})=>({dilate:[t,!1]})))}}e.Rect=c,c.__name__="Rect",c.init_Rect()},n”, “ function _(e,t,r,s,i){s();const a=e(1),n=e(304),_=e(305),l=e(283),c=a.__importStar(e(18));class o extends n.MarkerView{_init_webgl(){const{webgl:e}=this.renderer.plot_view.canvas_view;if(null!=e){const t=new Set(this.marker);if(1==t.size){const[r]=[…t];if(l.MarkerGL.is_supported(r)){const{glglyph:t}=this;if(null==t||t.marker_type!=r)return void(this.glglyph=new l.MarkerGL(e.gl,this,r))}}}delete this.glglyph}_set_data(e){super._set_data(e),this._init_webgl()}_render(e,t,r){const{sx:s,sy:i,size:a,angle:n,marker:l}=null!=r?r:this;for(const r of t){const t=s[r],c=i[r],o=a.get(r),g=n.get(r),h=l.get(r);if(isNaN(t+c+o+g)||null==h)continue;const d=o/2;e.beginPath(),e.translate(t,c),g&&e.rotate(g),_.marker_funcs[h](e,r,d,this.visuals),g&&e.rotate(-g),e.translate(-t,-c)}}draw_legend_for_index(e,{x0:t,x1:r,y0:s,y1:i},a){const n=a+1,_=this.marker.get(a),l=Object.assign(Object.assign({},this._get_legend_args({x0:t,x1:r,y0:s,y1:i},a)),{marker:new c.UniformScalar(_,n)});this._render(e,[a],l)}}r.ScatterView=o,o.__name__="ScatterView";class g extends n.Marker{constructor(e){super(e)}static init_Scatter(){this.prototype.default_view=o,this.define((()=>({marker:[c.MarkerSpec,{value:"circle"}]})))}}r.Scatter=g,g.__name__="Scatter",g.init_Scatter()},n”, “ function _(e,t,s,i,n){i();const r=e(1),a=e(64),c=e(48),_=r.__importStar(e(107)),o=r.__importStar(e(18)),h=e(9),l=e(59);class x extends a.XYGlyphView{_render(e,t,s){const{sx:i,sy:n,size:r,angle:a}=null!=s?s:this;for(const s of t){const t=i[s],c=n[s],_=r.get(s),o=a.get(s);if(isNaN(t+c+_+o))continue;const h=_/2;e.beginPath(),e.translate(t,c),o&&e.rotate(o),this._render_one(e,s,h,this.visuals),o&&e.rotate(-o),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))),i=t.widen(this.max_size).map((e=>this.renderer.yscale.invert(e)));return this.index.indices({x0:s.start,x1:s.end,y0:i.start,y1:i.end})}_hit_point(e){const{sx:t,sy:s}=e,{max_size:i}=this,{hit_dilation:n}=this.model,r=t-i*n,a=t+i*n,[c,_]=this.renderer.xscale.r_invert(r,a),o=s-i*n,h=s+i*n,[x,d]=this.renderer.yscale.r_invert(o,h),y=this.index.indices({x0:c,x1:_,y0:x,y1:d}),g=[];for(const e of y){const i=this.size.get(e)/2*n;Math.abs(this.sx[e]-t)<=i&&Math.abs(this.sy[e]-s)<=i&&g.push(e)}return new l.Selection({indices:g})}_hit_span(e){const{sx:t,sy:s}=e,i=this.bounds(),n=this.max_size/2;let r,a,c,_;if("h"==e.direction){c=i.y0,_=i.y1;const e=t-n,s=t+n;[r,a]=this.renderer.xscale.r_invert(e,s)}else{r=i.x0,a=i.x1;const e=s-n,t=s+n;[c,_]=this.renderer.yscale.r_invert(e,t)}const o=[…this.index.indices({x0:r,x1:a,y0:c,y1:_})];return new l.Selection({indices:o})}_hit_rect(e){const{sx0:t,sx1:s,sy0:i,sy1:n}=e,[r,a]=this.renderer.xscale.r_invert(t,s),[c,_]=this.renderer.yscale.r_invert(i,n),o=[…this.index.indices({x0:r,x1:a,y0:c,y1:_})];return new l.Selection({indices:o})}_hit_poly(e){const{sx:t,sy:s}=e,i=h.range(0,this.sx.length),n=[];for(let e=0,r=i.length;e<r;e++){const r=i[e];_.point_in_poly(this.sx[e],this.sy[e],t,s)&&n.push(r)}return new l.Selection({indices:n})}_get_legend_args({x0:e,x1:t,y0:s,y1:i},n){const r=n+1,a=new Array(r),c=new Array(r);a[n]=(e+t)/2,c[n]=(s+i)/2;const _=.4*Math.min(Math.abs(t-e),Math.abs(i-s));return{sx:a,sy:c,size:new o.UniformScalar(_,r),angle:new o.UniformScalar(0,r)}}draw_legend_for_index(e,{x0:t,x1:s,y0:i,y1:n},r){const a=this._get_legend_args({x0:t,x1:s,y0:i,y1:n},r);this._render(e,[r],a)}}s.MarkerView=x,x.__name__="MarkerView";class d extends a.XYGlyph{constructor(e){super(e)}static init_Marker(){this.mixins([c.LineVector,c.FillVector,c.HatchVector]),this.define((({Number:e})=>({size:[o.ScreenDistanceSpec,{value:4}],angle:[o.AngleSpec,0],hit_dilation:[e,1]})))}}s.Marker=d,d.__name__="Marker",d.init_Marker()},n”, “ function _(t,e,i,o,l){o();const n=Math.sqrt(3),c=Math.sqrt(5),r=(c+1)/4,s=Math.sqrt((5-c)/8),f=(c-1)/4,a=Math.sqrt((5+c)/8);function h(t,e){t.rotate(Math.PI/4),d(t,e),t.rotate(-Math.PI/4)}function v(t,e){const i=e*n,o=i/3;t.moveTo(-i/2,-o),t.lineTo(0,0),t.lineTo(i/2,-o),t.lineTo(0,0),t.lineTo(0,e)}function d(t,e){t.moveTo(0,e),t.lineTo(0,-e),t.moveTo(-e,0),t.lineTo(e,0)}function _(t,e){t.moveTo(0,e),t.lineTo(e/1.5,0),t.lineTo(0,-e),t.lineTo(-e/1.5,0),t.closePath()}function u(t,e){const i=e*n,o=i/3;t.moveTo(-e,o),t.lineTo(e,o),t.lineTo(0,o-i),t.closePath()}function z(t,e,i,o){t.arc(0,0,i,0,2*Math.PI,!1),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())}function T(t,e,i,o){_(t,i),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())}function k(t,e,i,o){!function(t,e){t.beginPath(),t.arc(0,0,e/4,0,2*Math.PI,!1),t.closePath()}(t,i),o.line.set_vectorize(t,e),t.fillStyle=t.strokeStyle,t.fill()}function P(t,e,i,o){!function(t,e){const i=e/2,o=n*i;t.moveTo(e,0),t.lineTo(i,-o),t.lineTo(-i,-o),t.lineTo(-e,0),t.lineTo(-i,o),t.lineTo(i,o),t.closePath()}(t,i),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())}function m(t,e,i,o){const l=2*i;t.rect(-i,-i,l,l),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())}function q(t,e,i,o){!function(t,e){const i=Math.sqrt(5-2*c)*e;t.moveTo(0,-e),t.lineTo(i*f,i*a-e),t.lineTo(i*(1+f),i*a-e),t.lineTo(i*(1+f-r),i*(a+s)-e),t.lineTo(i*(1+2*f-r),i*(2*a+s)-e),t.lineTo(0,2*i*a-e),t.lineTo(-i*(1+2*f-r),i*(2*a+s)-e),t.lineTo(-i*(1+f-r),i*(a+s)-e),t.lineTo(-i*(1+f),i*a-e),t.lineTo(-i*f,i*a-e),t.closePath()}(t,i),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())}function M(t,e,i,o){u(t,i),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())}i.marker_funcs={asterisk:function(t,e,i,o){d(t,i),h(t,i),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())},circle:z,circle_cross:function(t,e,i,o){t.arc(0,0,i,0,2*Math.PI,!1),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),d(t,i),t.stroke())},circle_dot:function(t,e,i,o){z(t,e,i,o),k(t,e,i,o)},circle_y:function(t,e,i,o){t.arc(0,0,i,0,2*Math.PI,!1),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),v(t,i),t.stroke())},circle_x:function(t,e,i,o){t.arc(0,0,i,0,2*Math.PI,!1),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),h(t,i),t.stroke())},cross:function(t,e,i,o){d(t,i),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())},diamond:T,diamond_dot:function(t,e,i,o){T(t,e,i,o),k(t,e,i,o)},diamond_cross:function(t,e,i,o){_(t,i),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.moveTo(0,i),t.lineTo(0,-i),t.moveTo(-i/1.5,0),t.lineTo(i/1.5,0),t.stroke())},dot:k,hex:P,hex_dot:function(t,e,i,o){P(t,e,i,o),k(t,e,i,o)},inverted_triangle:function(t,e,i,o){t.rotate(Math.PI),u(t,i),t.rotate(-Math.PI),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())},plus:function(t,e,i,o){const l=3*i/8,n=[l,l,i,i,l,l,-l,-l,-i,-i,-l,-l],c=[i,l,l,-l,-l,-i,-i,-l,-l,l,l,i];t.beginPath();for(let e=0;e<12;e++)t.lineTo(n[e],c[e]);t.closePath(),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())},square:m,square_cross:function(t,e,i,o){const l=2*i;t.rect(-i,-i,l,l),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),d(t,i),t.stroke())},square_dot:function(t,e,i,o){m(t,e,i,o),k(t,e,i,o)},square_pin:function(t,e,i,o){const l=3*i/8;t.moveTo(-i,-i),t.quadraticCurveTo(0,-l,i,-i),t.quadraticCurveTo(l,0,i,i),t.quadraticCurveTo(0,l,-i,i),t.quadraticCurveTo(-l,0,-i,-i),t.closePath(),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())},square_x:function(t,e,i,o){const l=2*i;t.rect(-i,-i,l,l),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.moveTo(-i,i),t.lineTo(i,-i),t.moveTo(-i,-i),t.lineTo(i,i),t.stroke())},star:q,star_dot:function(t,e,i,o){q(t,e,i,o),k(t,e,i,o)},triangle:M,triangle_dot:function(t,e,i,o){M(t,e,i,o),k(t,e,i,o)},triangle_pin:function(t,e,i,o){const l=i*n,c=l/3,r=3*c/8;t.moveTo(-i,c),t.quadraticCurveTo(0,r,i,c),t.quadraticCurveTo(n*r/2,r/2,0,c-l),t.quadraticCurveTo(-n*r/2,r/2,-i,c),t.closePath(),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())},dash:function(t,e,i,o){!function(t,e){t.moveTo(-e,0),t.lineTo(e,0)}(t,i),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())},x:function(t,e,i,o){h(t,i),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())},y:function(t,e,i,o){v(t,i),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())}}},n”, “ function _(e,t,s,i,n){i();const r=e(1),_=r.__importStar(e(107)),o=r.__importStar(e(18)),h=e(48),a=e(65),c=e(98),d=e(106),x=e(59);class y extends c.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:_,data_size:o}=this;for(let h=0;h<o;h++){const o=i[h],a=n[h],c=r[h],d=_[h];isNaN(o+a+c+d)?e.add_empty():e.add(t(o,a),t(c,d),s(o,a),s(c,d))}}_render(e,t,s){if(this.visuals.line.doit){const{sx0:i,sy0:n,sx1:r,sy1:_}=null!=s?s:this;for(const s of t){const t=i[s],o=n[s],h=r[s],a=_[s];isNaN(t+o+h+a)||(e.beginPath(),e.moveTo(t,o),e.lineTo(h,a),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),a=this.index.indices({x0:n,y0:o,x1:r,y1:h}),c=[];for(const e of a){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)<t&&c.push(e)}return new x.Selection({indices:c})}_hit_span(e){const[t,s]=this.renderer.plot_view.frame.bbox.ranges,{sx:i,sy:n}=e;let r,_,o;"v"==e.direction?(o=this.renderer.yscale.invert(n),[r,_]=[this._y0,this._y1]):(o=this.renderer.xscale.invert(i),[r,_]=[this._x0,this._x1]);const h=[],[a,c]=this.renderer.xscale.r_invert(t.start,t.end),[d,y]=this.renderer.yscale.r_invert(s.start,s.end),l=this.index.indices({x0:a,y0:d,x1:c,y1:y});for(const t of l){(r[t]<=o&&o<=_[t]||_[t]<=o&&o<=r[t])&&h.push(t);const s=1.5+this.line_width.get(t)/2;r[t]==_[t]&&("h"==e.direction?Math.abs(this.sx0[t]-i)<=s&&h.push(t):Math.abs(this.sy0[t]-n)<=s&&h.push(t))}return new x.Selection({indices:h})}scenterxy(e){return[this.sx0[e]/2+this.sx1[e]/2,this.sy0[e]/2+this.sy1[e]/2]}draw_legend_for_index(e,t,s){d.generic_line_vector_legend(this.visuals,e,t,s)}}s.SegmentView=y,y.__name__="SegmentView";class l extends c.Glyph{constructor(e){super(e)}static init_Segment(){this.prototype.default_view=y,this.define((({})=>({x0:[o.XCoordinateSpec,{field:"x0"}],y0:[o.YCoordinateSpec,{field:"y0"}],x1:[o.XCoordinateSpec,{field:"x1"}],y1:[o.YCoordinateSpec,{field:"y1"}]}))),this.mixins(h.LineVector)}}s.Segment=l,l.__name__="Segment",l.init_Segment()},n”, “ function _(t,e,s,i,n){i();const _=t(1),l=t(64),o=_.__importStar(t(48)),a=t(308);class c extends l.XYGlyphView{_set_data(){const{tension:t,closed:e}=this.model;[this._xt,this._yt]=a.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;this.visuals.line.set_value(t);const _=i.length;for(let e=0;e<_;e++)0!=e?isNaN(i[e])||isNaN(n[e])?(t.stroke(),t.beginPath()):t.lineTo(i[e],n[e]):(t.beginPath(),t.moveTo(i[e],n[e]));t.stroke()}}s.SplineView=c,c.__name__="SplineView";class h extends l.XYGlyph{constructor(t){super(t)}static init_Spline(){this.prototype.default_view=c,this.mixins(o.LineScalar),this.define((({Boolean:t,Number:e})=>({tension:[e,.5],closed:[t,!1]})))}}s.Spline=h,h.__name__="Spline",h.init_Spline()},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){l.assert(n.length==t.length);const r=n.length,f=s?r+1:r,w=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;n<f;n++){const s=(i[n+1]-i[n-1])*o,c=(u[n+1]-u[n-1])*o,l=(i[n+2]-i[n])*o,r=(u[n+2]-u[n])*o;for(let o=0;o<=4*e;t++){const e=g[o++],f=g[o++],w=g[o++],a=g[o++];h[t]=e*i[n]+f*i[n+1]+w*s+a*l,_[t]=e*u[n]+f*u[n+1]+w*c+a*r}}return[h,_]}},n”, “ function _(e,t,i,n,s){n();const o=e(1),l=e(64),r=e(106),a=o.__importStar(e(48)),_=e(20);class c extends l.XYGlyphView{_render(e,t,i){const{sx:n,sy:s}=null!=i?i:this;let o=!1,l=null;this.visuals.line.set_value(e);const r=t.length;if(!(r<2)){e.beginPath(),e.moveTo(n[0],s[0]);for(const i of t){let t,r,a,_;switch(this.model.mode){case"before":[t,a]=[n[i-1],s[i]],[r,_]=[n[i],s[i]];break;case"after":[t,a]=[n[i],s[i-1]],[r,_]=[n[i],s[i]];break;case"center":{const e=(n[i-1]+n[i])/2;[t,a]=[e,s[i-1]],[r,_]=[e,s[i]];break}default:throw new Error("unexpected")}if(o){if(!isFinite(n[i]+s[i])){e.stroke(),e.beginPath(),o=!1,l=i;continue}null!=l&&i-l>1&&(e.stroke(),o=!1)}o?(e.lineTo(t,a),e.lineTo(r,_)):(e.beginPath(),e.moveTo(n[i],s[i]),o=!0),l=i}e.lineTo(n[r-1],s[r-1]),e.stroke()}}draw_legend_for_index(e,t,i){r.generic_line_scalar_legend(this.visuals,e,t)}}i.StepView=c,c.__name__="StepView";class d extends l.XYGlyph{constructor(e){super(e)}static init_Step(){this.prototype.default_view=c,this.mixins(a.LineScalar),this.define((()=>({mode:[_.StepMode,"before"]})))}}i.Step=d,d.__name__="Step",d.init_Step()},n”, “ function _(t,e,s,i,n){i();const o=t(1),_=t(64),h=t(48),l=o.__importStar(t(107)),r=o.__importStar(t(18)),a=t(143),c=t(11),x=t(59);class u extends _.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]=[],c=i[s],x=n[s],u=o.get(s),f=_.get(s),p=h.get(s),g=l.get(s);if(!isNaN(c+x+u+f+p)&&null!=g&&this.visuals.text.doit){const i=`${g}`;t.save(),t.translate(c+u,x+f),t.rotate(p),this.visuals.text.set_vectorize(t,s);const n=this.visuals.text.font_value(s),{height:o}=a.font_metrics(n),_=this.text_line_height.get(s)*o;if(-1==i.indexOf("\n")){t.fillText(i,0,0);const s=c+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=c+u,n=l+x+f,o=t.measureText(s).width,[h,a]=this._text_bounds(i,n,o,_);e.push(h),r.push(a),l+=_}}t.restore()}}}_hit_point(t){const{sx:e,sy:s}=t,i=[];for(let t=0;t<this._sxs.length;t++){const n=this._sxs[t],o=this._sys[t],_=n.length;for(let h=0,r=_;h<r;h++){const[r,a]=this._rotate_point(e,s,n[_-1][0],o[_-1][0],-this.angle.get(t));l.point_in_poly(r,a,n[h],o[h])&&i.push(t)}}return new x.Selection({indices:i})}scenterxy(t){const e=this._sxs[t],s=this._sys[t];c.assert(0!=e.length&&0!=s.length);const i=e[0][0],n=s[0][0],o=(e[0][2]+i)/2,_=(s[0][2]+n)/2,[h,l]=this._rotate_point(o,_,i,n,this.angle.get(t));return[h,l]}}s.TextView=u,u.__name__="TextView";class f extends _.XYGlyph{constructor(t){super(t)}static init_Text(){this.prototype.default_view=u,this.mixins(h.TextVector),this.define((({})=>({text:[r.NullStringSpec,{field:"text"}],angle:[r.AngleSpec,0],x_offset:[r.NumberSpec,0],y_offset:[r.NumberSpec,0]})))}}s.Text=f,f.__name__="Text",f.init_Text()},n”, “ function _(t,s,e,i,r){i();const h=t(1),o=t(290),a=t(24),n=h.__importStar(t(18));class _ extends o.BoxView{scenterxy(t){return[this.sx[t],(this.stop[t]+this.sbottom[t])/2]}_lrtb(t){const s=this.width.get(t)/2,e=this._x[t],i=this._top[t],r=this._bottom[t];return[e-s,e+s,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 a.ScreenArray(t),this.sright=new a.ScreenArray(t);for(let s=0;s<t;s++)this.sleft[s]=this.sx[s]-this.sw[s]/2,this.sright[s]=this.sx[s]+this.sw[s]/2;this._clamp_viewport()}}e.VBarView=_,_.__name__="VBarView";class c extends o.Box{constructor(t){super(t)}static init_VBar(){this.prototype.default_view=_,this.define((({})=>({x:[n.XCoordinateSpec,{field:"x"}],bottom:[n.YCoordinateSpec,{value:0}],width:[n.NumberSpec,{value:1}],top:[n.YCoordinateSpec,{field:"top"}]})))}}e.VBar=c,c.__name__="VBar",c.init_VBar()},n”, “ function _(e,t,s,i,n){i();const r=e(1),a=e(64),l=e(106),c=e(48),d=e(24),h=e(20),o=r.__importStar(e(18)),_=e(10),u=e(59);class g extends a.XYGlyphView{_map_data(){"data"==this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this.radius):this.sradius=d.to_screen(this.radius)}_render(e,t,s){const{sx:i,sy:n,sradius:r,start_angle:a,end_angle:l}=null!=s?s:this,c="anticlock"==this.model.direction;for(const s of t){const t=i[s],d=n[s],h=r[s],o=a.get(s),_=l.get(s);isNaN(t+d+h+o+_)||(e.beginPath(),e.arc(t,d,h,o,_,c),e.lineTo(t,d),e.closePath(),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(e,s),e.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(e,s),e.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(e,s),e.stroke()))}}_hit_point(e){let t,s,i,n,r,a,l,c,d;const{sx:h,sy:o}=e,g=this.renderer.xscale.invert(h),p=this.renderer.yscale.invert(o),x=2*this.max_radius;"data"===this.model.properties.radius.units?(a=g-x,l=g+x,c=p-x,d=p+x):(s=h-x,i=h+x,[a,l]=this.renderer.xscale.r_invert(s,i),n=o-x,r=o+x,[c,d]=this.renderer.yscale.r_invert(n,r));const f=[];for(const e of this.index.indices({x0:a,x1:l,y0:c,y1:d})){const a=this.sradius[e]**2;[s,i]=this.renderer.xscale.r_compute(g,this._x[e]),[n,r]=this.renderer.yscale.r_compute(p,this._y[e]),t=(s-i)**2+(n-r)**2,t<=a&&f.push(e)}const v="anticlock"==this.model.direction,y=[];for(const e of f){const t=Math.atan2(o-this.sy[e],h-this.sx[e]);_.angle_between(-t,-this.start_angle.get(e),-this.end_angle.get(e),v)&&y.push(e)}return new u.Selection({indices:y})}draw_legend_for_index(e,t,s){l.generic_area_vector_legend(this.visuals,e,t,s)}scenterxy(e){const t=this.sradius[e]/2,s=(this.start_angle.get(e)+this.end_angle.get(e))/2;return[this.sx[e]+t*Math.cos(s),this.sy[e]+t*Math.sin(s)]}}s.WedgeView=g,g.__name__="WedgeView";class p extends a.XYGlyph{constructor(e){super(e)}static init_Wedge(){this.prototype.default_view=g,this.mixins([c.LineVector,c.FillVector,c.HatchVector]),this.define((({})=>({direction:[h.Direction,"anticlock"],radius:[o.DistanceSpec,{field:"radius"}],start_angle:[o.AngleSpec,{field:"start_angle"}],end_angle:[o.AngleSpec,{field:"end_angle"}]})))}}s.Wedge=p,p.__name__="Wedge",p.init_Wedge()},n”, “ function _(t,_,r,o,a){o();const e=t(1);e.__exportStar(t(126),r),e.__exportStar(t(125),r),e.__exportStar(t(314),r)},n”, “ function _(t,a,o,r,e){r();const n=t(125);class l extends n.LayoutProvider{constructor(t){super(t)}static init_StaticLayoutProvider(){this.define((({Number:t,Tuple:a,Dict:o})=>({graph_layout:[o(a(t,t)),{}]})))}get_node_coordinates(t){var a;const o=null!==(a=t.data.index)&&void 0!==a?a:[],r=o.length,e=new Float64Array(r),n=new Float64Array(r);for(let t=0;t<r;t++){const a=this.graph_layout[o[t]],[r,l]=null!=a?a:[NaN,NaN];e[t]=r,n[t]=l}return[e,n]}get_edge_coordinates(t){var a,o;const r=null!==(a=t.data.start)&&void 0!==a?a:[],e=null!==(o=t.data.end)&&void 0!==o?o:[],n=Math.min(r.length,e.length),l=[],i=[],u=null!=t.data.xs&&null!=t.data.ys;for(let a=0;a<n;a++){const o=null!=this.graph_layout[r[a]]&&null!=this.graph_layout[e[a]];if(u&&o)l.push(t.data.xs[a]),i.push(t.data.ys[a]);else{let t,n;o?(t=this.graph_layout[r[a]],n=this.graph_layout[e[a]]):(t=[NaN,NaN],n=[NaN,NaN]),l.push([t[0],n[0]]),i.push([t[1],n[1]])}}return[l,i]}}o.StaticLayoutProvider=l,l.__name__="StaticLayoutProvider",l.init_StaticLayoutProvider()},n”, “ function _(i,d,n,r,G){r(),G("Grid",i(316).Grid)},n”, “ function _(i,e,t,s,n){s();const r=i(1),o=i(162),d=i(164),l=i(165),_=r.__importStar(i(48)),a=i(8);class h extends d.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,t]=this.grid_coords("major",!1);for(let s=0;s<e.length-1;s++){if(s%2!=1)continue;const[n,r]=this.coordinates.map_to_screen(e[s],t[s]),[o,d]=this.coordinates.map_to_screen(e[s+1],t[s+1]);i.beginPath(),i.rect(n[0],r[0],o[1]-n[0],d[1]-r[0]),this.visuals.band_fill.doit&&(this.visuals.band_fill.set_value(i),i.fill()),this.visuals.band_hatch.doit&&(this.visuals.band_hatch.set_value(i),i.fill())}}_draw_grids(i){if(!this.visuals.grid_line.doit)return;const[e,t]=this.grid_coords("major");this._draw_grid_helper(i,this.visuals.grid_line,e,t)}_draw_minor_grids(i){if(!this.visuals.minor_grid_line.doit)return;const[e,t]=this.grid_coords("minor");this._draw_grid_helper(i,this.visuals.minor_grid_line,e,t)}_draw_grid_helper(i,e,t,s){e.set_value(i),i.beginPath();for(let e=0;e<t.length;e++){const[n,r]=this.coordinates.map_to_screen(t[e],s[e]);i.moveTo(Math.round(n[0]),Math.round(r[0]));for(let e=1;e<n.length;e++)i.lineTo(Math.round(n[e]),Math.round(r[e]))}i.stroke()}ranges(){const i=this.model.dimension,e=(i+1)%2,{ranges:t}=this.coordinates;return[t[i],t[e]]}computed_bounds(){const[i]=this.ranges(),e=this.model.bounds,t=[i.min,i.max];let s,n;if(a.isArray(e))s=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]),s<t[0]&&(s=t[0]),n>t[1]&&(n=t[1]);else{[s,n]=t;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,n]=i.computed_bounds)}return[s,n]}grid_coords(i,e=!0){const t=this.model.dimension,s=(t+1)%2,[n,r]=this.ranges();let[o,d]=this.computed_bounds();[o,d]=[Math.min(o,d),Math.max(o,d)];const l=[[],[]],_=this.model.get_ticker();if(null==_)return l;const a=_.get_ticks(o,d,n,r.min)[i],h=n.min,u=n.max,c=r.min,m=r.max;e||(a[0]!=h&&a.splice(0,0,h),a[a.length-1]!=u&&a.push(u));for(let i=0;i<a.length;i++){if((a[i]==h||a[i]==u)&&e)continue;const n=[],r=[],o=2;for(let e=0;e<o;e++){const t=c+(m-c)/(o-1)*e;n.push(a[i]),r.push(t)}l[t].push(n),l[s].push(r)}return l}}t.GridView=h,h.__name__="GridView";class u extends d.GuideRenderer{constructor(i){super(i)}static init_Grid(){this.prototype.default_view=h,this.mixins([["grid_",_.Line],["minor_grid_",_.Line],["band_",_.Fill],["band_",_.Hatch]]),this.define((({Number:i,Auto:e,Enum:t,Ref:s,Tuple:n,Or:r,Nullable:d})=>({bounds:[r(n(i,i),e),"auto"],dimension:[t(0,1),0],axis:[d(s(o.Axis)),null],ticker:[d(s(l.Ticker)),null]}))),this.override({level:"underlay",band_fill_color:null,band_fill_alpha:0,grid_line_color:"#e5e5e5",minor_grid_line_color:null})}get_ticker(){return null!=this.ticker?this.ticker:null!=this.axis?this.axis.ticker:null}}t.Grid=u,u.__name__="Grid",u.init_Grid()},n”, “ function _(o,a,x,B,e){B(),e("Box",o(318).Box),e("Column",o(320).Column),e("GridBox",o(321).GridBox),e("HTMLBox",o(322).HTMLBox),e("LayoutDOM",o(319).LayoutDOM),e("Panel",o(323).Panel),e("Row",o(324).Row),e("Spacer",o(325).Spacer),e("Tabs",o(326).Tabs),e("WidgetBox",o(329).WidgetBox)},n”, “ function _(e,n,i,t,s){t();const o=e(319);class c extends o.LayoutDOMView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.children.change,(()=>this.rebuild()))}get child_models(){return this.model.children}}i.BoxView=c,c.__name__="BoxView";class r extends o.LayoutDOM{constructor(e){super(e)}static init_Box(){this.define((({Number:e,Array:n,Ref:i})=>({children:[n(i(o.LayoutDOM)),[]],spacing:[e,0]})))}}i.Box=r,r.__name__="Box",r.init_Box()},n”, “ function _(i,t,e,s,o){s();const l=i(53),n=i(20),h=i(43),a=i(19),r=i(8),_=i(22),d=i(122),c=i(240),u=i(221),m=i(44),p=i(249);class g extends c.DOMView{constructor(){super(…arguments),this._idle_notified=!1,this._offset_parent=null,this._viewport={}}initialize(){super.initialize(),this.el.style.position=this.is_root?"relative":"absolute",this._child_views=new Map}async lazy_initialize(){await super.lazy_initialize(),await this.build_child_views()}remove(){for(const i of this.child_views)i.remove();this._child_views.clear(),super.remove()}connect_signals(){super.connect_signals(),this.is_root&&(this._on_resize=()=>this.resize_layout(),window.addEventListener("resize",this._on_resize),this._parent_observer=setInterval((()=>{const i=this.el.offsetParent;this._offset_parent!=i&&(this._offset_parent=i,null!=i&&(this.compute_viewport(),this.invalidate_layout()))}),250));const i=this.model.properties;this.on_change([i.width,i.height,i.min_width,i.min_height,i.max_width,i.max_height,i.margin,i.width_policy,i.height_policy,i.sizing_mode,i.aspect_ratio,i.visible],(()=>this.invalidate_layout())),this.on_change([i.background,i.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((i=>this._child_views.get(i)))}async build_child_views(){await d.build_views(this._child_views,this.child_models,{parent:this})}render(){super.render(),h.empty(this.el);const{background:i}=this.model;this.el.style.backgroundColor=null!=i?_.color2css(i):"",h.classes(this.el).clear().add(…this.css_classes());for(const i of this.child_views)this.el.appendChild(i.el),i.render()}update_layout(){for(const i of this.child_views)i.update_layout();this._update_layout()}update_position(){this.el.style.display=this.model.visible?"block":"none";const i=this.is_root?this.layout.sizing.margin:void 0;h.position(this.el,this.layout.bbox,i);for(const i of this.child_views)i.update_position()}after_layout(){for(const i of this.child_views)i.after_layout();this._has_finished=!0}compute_viewport(){this._viewport=this._viewport_size()}renderTo(i){i.appendChild(this.el),this._offset_parent=this.el.offsetParent,this.compute_viewport(),this.build()}build(){return this.assert_root(),this.render(),this.update_layout(),this.compute_layout(),this}async rebuild(){await this.build_child_views(),this.invalidate_render()}compute_layout(){const i=Date.now();this.layout.compute(this._viewport),this.update_position(),this.after_layout(),a.logger.debug(`layout computed in ${Date.now()-i} ms`),this.notify_finished()}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 i of this.child_views)if(!i.has_finished())return!1;return!0}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()}_width_policy(){return null!=this.model.width?"fixed":"fit"}_height_policy(){return null!=this.model.height?"fixed":"fit"}box_sizing(){let{width_policy:i,height_policy:t,aspect_ratio:e}=this.model;"auto"==i&&(i=this._width_policy()),"auto"==t&&(t=this._height_policy());const{sizing_mode:s}=this.model;if(null!=s)if("fixed"==s)i=t="fixed";else if("stretch_both"==s)i=t="max";else if("stretch_width"==s)i="max";else if("stretch_height"==s)t="max";else switch(null==e&&(e="auto"),s){case"scale_width":i="max",t="min";break;case"scale_height":i="min",t="max";break;case"scale_both":i="max",t="max"}const o={width_policy:i,height_policy:t},{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:_,max_height:d}=this.model;null!=_&&(o.max_width=_),null!=d&&(o.max_height=d),"auto"==e&&null!=h&&null!=a?o.aspect=h/a:r.isNumber(e)&&(o.aspect=e);const{margin:c}=this.model;if(null!=c)if(r.isNumber(c))o.margin={top:c,right:c,bottom:c,left:c};else if(2==c.length){const[i,t]=c;o.margin={top:i,right:t,bottom:i,left:t}}else{const[i,t,e,s]=c;o.margin={top:i,right:t,bottom:e,left:s}}o.visible=this.model.visible;const{align:u}=this.model;return r.isArray(u)?[o.halign,o.valign]=u:o.halign=o.valign=u,o}_viewport_size(){return h.undisplayed(this.el,(()=>{let i=this.el;for(;i=i.parentElement;){if(i.classList.contains(m.root))continue;if(i==document.body){const{margin:{left:i,right:t,top:e,bottom:s}}=h.extents(document.body);return{width:Math.ceil(document.documentElement.clientWidth-i-t),height:Math.ceil(document.documentElement.clientHeight-e-s)}}const{padding:{left:t,right:e,top:s,bottom:o}}=h.extents(i),{width:l,height:n}=i.getBoundingClientRect(),a=Math.ceil(l-t-e),r=Math.ceil(n-s-o);if(a>0||r>0)return{width:a>0?a:void 0,height:r>0?r:void 0}}return{}}))}export(i,t=!0){const e="png"==i?"canvas":"svg",s=new p.CanvasLayer(e,t),{width:o,height:l}=this.layout.bbox;s.resize(o,l);for(const e of this.child_views){const o=e.export(i,t),{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((i=>i.serializable_state()))})}}e.LayoutDOMView=g,g.__name__="LayoutDOMView";class f extends l.Model{constructor(i){super(i)}static init_LayoutDOM(){this.define((i=>{const{Boolean:t,Number:e,String:s,Auto:o,Color:l,Array:h,Tuple:a,Or:r,Null:_,Nullable:d}=i,c=a(e,e),m=a(e,e,e,e);return{width:[d(e),null],height:[d(e),null],min_width:[d(e),null],min_height:[d(e),null],max_width:[d(e),null],max_height:[d(e),null],margin:[d(r(e,c,m)),[0,0,0,0]],width_policy:[r(u.SizingPolicy,o),"auto"],height_policy:[r(u.SizingPolicy,o),"auto"],aspect_ratio:[r(e,o,_),null],sizing_mode:[d(n.SizingMode),null],visible:[t,!0],disabled:[t,!1],align:[r(n.Align,a(n.Align,n.Align)),"start"],background:[d(l),null],css_classes:[h(s),[]]}}))}}e.LayoutDOM=f,f.__name__="LayoutDOM",f.init_LayoutDOM()},n”, “ function _(t,s,i,o,n){o();const e=t(318),l=t(223);class u extends e.BoxView{_update_layout(){const t=this.child_views.map((t=>t.layout));this.layout=new l.Column(t),this.layout.rows=this.model.rows,this.layout.spacing=[this.model.spacing,0],this.layout.set_sizing(this.box_sizing())}}i.ColumnView=u,u.__name__="ColumnView";class a extends e.Box{constructor(t){super(t)}static init_Column(){this.prototype.default_view=u,this.define((({Any:t})=>({rows:[t,"auto"]})))}}i.Column=a,a.__name__="Column",a.init_Column()},n”, “ function _(t,s,i,o,e){o();const n=t(319),l=t(223);class a extends n.LayoutDOMView{connect_signals(){super.connect_signals();const{children:t,rows:s,cols:i,spacing:o}=this.model.properties;this.on_change([t,s,i,o],(()=>this.rebuild()))}get child_models(){return this.model.children.map((([t])=>t))}_update_layout(){this.layout=new l.Grid,this.layout.rows=this.model.rows,this.layout.cols=this.model.cols,this.layout.spacing=this.model.spacing;for(const[t,s,i,o,e]of this.model.children){const n=this._child_views.get(t);this.layout.items.push({layout:n.layout,row:s,col:i,row_span:o,col_span:e})}this.layout.set_sizing(this.box_sizing())}}i.GridBoxView=a,a.__name__="GridBoxView";class r extends n.LayoutDOM{constructor(t){super(t)}static init_GridBox(){this.prototype.default_view=a,this.define((({Any:t,Int:s,Number:i,Tuple:o,Array:e,Ref:l,Or:a,Opt:r})=>({children:[e(o(l(n.LayoutDOM),s,s,r(s),r(s))),[]],rows:[t,"auto"],cols:[t,"auto"],spacing:[a(i,o(i,i)),0]})))}}i.GridBox=r,r.__name__="GridBox",r.init_GridBox()},n”, “ function _(t,e,o,s,n){s();const _=t(319),i=t(221);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,t,i,l){i();const a=e(53),o=e(319);class s extends a.Model{constructor(e){super(e)}static init_Panel(){this.define((({Boolean:e,String:n,Ref:t})=>({title:[n,""],child:[t(o.LayoutDOM)],closable:[e,!1]})))}}t.Panel=s,s.__name__="Panel",s.init_Panel()},n”, “ function _(t,s,i,o,e){o();const n=t(318),a=t(223);class _ extends n.BoxView{_update_layout(){const t=this.child_views.map((t=>t.layout));this.layout=new a.Row(t),this.layout.cols=this.model.cols,this.layout.spacing=[0,this.model.spacing],this.layout.set_sizing(this.box_sizing())}}i.RowView=_,_.__name__="RowView";class l extends n.Box{constructor(t){super(t)}static init_Row(){this.prototype.default_view=_,this.define((({Any:t})=>({cols:[t,"auto"]})))}}i.Row=l,l.__name__="Row",l.init_Row()},n”, “ function _(t,e,a,i,s){i();const _=t(319),c=t(221);class n extends _.LayoutDOMView{get child_models(){return[]}_update_layout(){this.layout=new c.LayoutItem,this.layout.set_sizing(this.box_sizing())}}a.SpacerView=n,n.__name__="SpacerView";class o extends _.LayoutDOM{constructor(t){super(t)}static init_Spacer(){this.prototype.default_view=n}}a.Spacer=o,o.__name__="Spacer",o.init_Spacer()},n”, “ function _(e,t,s,i,a){i();const l=e(1),h=e(221),o=e(43),c=e(9),d=e(20),r=e(319),n=e(323),_=l.__importStar(e(327)),p=_,b=l.__importStar(e(328)),u=b,m=l.__importStar(e(243)),v=m;class g extends r.LayoutDOMView{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(),b.default,m.default,_.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 h.ContentBox{_measure(e){const a=o.size(s),l=o.children(i).slice(0,3).map((e=>o.size(e))),{width:h,height:d}=super._measure(e);if(t){const t=a.width+c.sum(l.map((e=>e.width)));return{width:e.width!=1/0?e.width:t,height:d}}{const t=a.height+c.sum(l.map((e=>e.height)));return{width:h,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 a=1,l=1;switch(e){case"above":a-=1;break;case"below":a+=1;break;case"left":l-=1;break;case"right":l+=1}const d={layout:this.header,row:a,col:l},r=this.child_views.map((e=>({layout:e.layout,row:1,col:1})));this.layout=new h.Grid([d,…r]),this.layout.set_sizing(this.box_sizing())}update_position(){super.update_position(),this.header_el.style.position="absolute",o.position(this.header_el,this.header.bbox);const e=this.model.tabs_location,t="above"==e||"below"==e,s=o.size(this.scroll_el),i=o.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",o.display(this.scroll_el)):(this.wrapper_el.style.maxWidth="",o.undisplay(this.scroll_el))}else{const{height:e}=this.header.bbox;i.height>e?(this.wrapper_el.style.maxHeight=e-s.height+"px",o.display(this.scroll_el)):(this.wrapper_el.style.maxHeight="",o.undisplay(this.scroll_el))}const{child_views:a}=this;for(const e of a)o.hide(e.el);const l=a[this.model.active];null!=l&&o.show(l.el)}render(){super.render();const{active:e}=this.model,t=this.model.tabs_location,s="above"==t||"below"==t,i=this.model.tabs.map(((t,s)=>{const i=o.div({class:[p.tab,s==e?p.active:null]},t.title);if(i.addEventListener("click",(e=>{e.target==e.currentTarget&&this.change_active(s)})),t.closable){const e=o.div({class:p.close});e.addEventListener("click",(e=>{if(e.target==e.currentTarget){this.model.tabs=c.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 i}));this.headers_el=o.div({class:[p.headers]},i),this.wrapper_el=o.div({class:p.headers_wrapper},this.headers_el);const a=o.div({class:[u.btn,u.btn_default],disabled:""},o.div({class:[v.caret,p.left]})),l=o.div({class:[u.btn,u.btn_default]},o.div({class:[v.caret,p.right]}));let h=0;const d=e=>()=>{const t=this.model.tabs.length;h="left"==e?Math.max(h-1,0):Math.min(h+1,t-1),0==h?a.setAttribute("disabled",""):a.removeAttribute("disabled"),h==t-1?l.setAttribute("disabled",""):l.removeAttribute("disabled");const i=o.children(this.headers_el).slice(0,h).map((e=>e.getBoundingClientRect()));if(s){const e=-c.sum(i.map((e=>e.width)));this.headers_el.style.left=`${e}px`}else{const e=-c.sum(i.map((e=>e.height)));this.headers_el.style.top=`${e}px`}};a.addEventListener("click",d("left")),l.addEventListener("click",d("right")),this.scroll_el=o.div({class:u.btn_group},a,l),this.header_el=o.div({class:[p.tabs_header,p[t]]},this.scroll_el,this.wrapper_el),this.el.appendChild(this.header_el)}change_active(e){e!=this.model.active&&(this.model.active=e)}on_active_change(){const e=this.model.active,t=o.children(this.headers_el);for(const e of t)e.classList.remove(p.active);t[e].classList.add(p.active);const{child_views:s}=this;for(const e of s)o.hide(e.el);o.show(s[e].el)}}s.TabsView=g,g.__name__="TabsView";class w extends r.LayoutDOM{constructor(e){super(e)}static init_Tabs(){this.prototype.default_view=g,this.define((({Int:e,Array:t,Ref:s})=>({tabs:[t(s(n.Panel)),[]],tabs_location:[d.Location,"above"],active:[e,0]})))}}s.Tabs=w,w.__name__="Tabs",w.init_Tabs()},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.default=’.bk-root .bk-tabs-header{display:flex;display:-webkit-flex;flex-wrap:nowrap;-webkit-flex-wrap:nowrap;align-items:center;-webkit-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;-webkit-flex-grow:0;height:auto;padding:4px 4px;}.bk-root .bk-tabs-header .bk-headers-wrapper{flex-grow:1;-webkit-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;-webkit-flex-direction:row;}.bk-root .bk-tabs-header.bk-above .bk-headers,.bk-root .bk-tabs-header.bk-below .bk-headers{flex-direction:row;-webkit-flex-direction:row;}.bk-root .bk-tabs-header.bk-left,.bk-root .bk-tabs-header.bk-right{flex-direction:column;-webkit-flex-direction:column;}.bk-root .bk-tabs-header.bk-left .bk-headers,.bk-root .bk-tabs-header.bk-right .bk-headers{flex-direction:column;-webkit-flex-direction:column;}.bk-root .bk-tabs-header .bk-headers{position:relative;display:flex;display:-webkit-flex;flex-wrap:nowrap;-webkit-flex-wrap:nowrap;align-items:center;-webkit-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-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, <svg viewPort="0 0 10 10" version="1.1" xmlns="http://www.w3.org/2000/svg"> <line x1="1" y1="9" x2="9" y2="1" stroke="gray" stroke-width="2"/> <line x1="1" y1="1" x2="9" y2="9" stroke="gray" stroke-width="2"/> </svg>\’);}.bk-root .bk-close:hover{background-image:url(\’data:image/svg+xml;utf8, <svg viewPort="0 0 10 10" version="1.1" xmlns="http://www.w3.org/2000/svg"> <line x1="1" y1="9" x2="9" y2="1" stroke="red" stroke-width="2"/> <line x1="1" y1="1" x2="9" y2="9" stroke="red" stroke-width="2"/> </svg>\’);}’},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.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;display:-webkit-flex;flex-wrap:nowrap;-webkit-flex-wrap:nowrap;align-items:center;-webkit-align-items:center;flex-direction:row;-webkit-flex-direction:row;}.bk-root .bk-btn-group > .bk-btn{flex-grow:1;-webkit-flex-grow:1;}.bk-root .bk-btn-group > .bk-btn + .bk-btn{margin-left:-1px;}.bk-root .bk-btn-group > .bk-btn:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;}.bk-root .bk-btn-group > .bk-btn:not(:first-child):last-child{border-bottom-left-radius:0;border-top-left-radius:0;}.bk-root .bk-btn-group > .bk-btn:not(:first-child):not(:last-child){border-radius:0;}.bk-root .bk-btn-group .bk-dropdown-toggle{flex:0 0 0;-webkit-flex:0 0 0;padding:6px 6px;}"},n”, “ function _(t,e,i,o,n){o();const _=t(320);class s extends _.ColumnView{}i.WidgetBoxView=s,s.__name__="WidgetBoxView";class d extends _.Column{constructor(t){super(t)}static init_WidgetBox(){this.prototype.default_view=s}}i.WidgetBox=d,d.__name__="WidgetBox",d.init_WidgetBox()},n”, “ function _(p,o,t,a,n){a(),n("MapOptions",p(331).MapOptions),n("GMapOptions",p(331).GMapOptions),n("GMapPlot",p(331).GMapPlot),n("Plot",p(332).Plot)},n”, “ function _(t,i,n,e,a){e();const s=t(332),o=t(53),p=t(156),_=t(337);a("GMapPlotView",_.GMapPlotView);class l extends o.Model{constructor(t){super(t)}static init_MapOptions(){this.define((({Int:t,Number:i})=>({lat:[i],lng:[i],zoom:[t,12]})))}}n.MapOptions=l,l.__name__="MapOptions",l.init_MapOptions();class r extends l{constructor(t){super(t)}static init_GMapOptions(){this.define((({Boolean:t,Int:i,String:n})=>({map_type:[n,"roadmap"],scale_control:[t,!1],styles:[n],tilt:[i,45]})))}}n.GMapOptions=r,r.__name__="GMapOptions",r.init_GMapOptions();class c extends s.Plot{constructor(t){super(t),this.use_map=!0}static init_GMapPlot(){this.prototype.default_view=_.GMapPlotView,this.define((({String:t,Ref:i})=>({map_options:[i(r)],api_key:[t],api_version:[t,"3.43"]}))),this.override({x_range:()=>new p.Range1d,y_range:()=>new p.Range1d})}}n.GMapPlot=c,c.__name__="GMapPlot",c.init_GMapPlot()},n”, “ function _(e,t,i,n,r){n();const o=e(1),a=o.__importStar(e(48)),s=o.__importStar(e(18)),l=e(15),_=e(20),h=e(9),c=e(13),d=e(8),u=e(319),g=e(163),p=e(316),f=e(40),b=e(138),w=e(218),m=e(235),y=e(105),v=e(146),x=e(130),A=e(41),R=e(62),S=e(61),P=e(159),D=e(333);r("PlotView",D.PlotView);class L extends u.LayoutDOM{constructor(e){super(e),this.use_map=!1}static init_Plot(){this.prototype.default_view=D.PlotView,this.mixins([["outline_",a.Line],["background_",a.Fill],["border_",a.Fill]]),this.define((({Boolean:e,Number:t,String:i,Array:n,Dict:r,Or:o,Ref:a,Null:l,Nullable:h})=>({toolbar:[a(m.Toolbar),()=>new m.Toolbar],toolbar_location:[h(_.Location),"right"],toolbar_sticky:[e,!0],plot_width:[s.Alias("width")],plot_height:[s.Alias("height")],frame_width:[h(t),null],frame_height:[h(t),null],title:[o(a(b.Title),i,l),()=>new b.Title({text:""})],title_location:[h(_.Location),"above"],above:[n(o(a(f.Annotation),a(g.Axis))),[]],below:[n(o(a(f.Annotation),a(g.Axis))),[]],left:[n(o(a(f.Annotation),a(g.Axis))),[]],right:[n(o(a(f.Annotation),a(g.Axis))),[]],center:[n(o(a(f.Annotation),a(p.Grid))),[]],renderers:[n(a(A.Renderer)),[]],x_range:[a(y.Range),()=>new P.DataRange1d],extra_x_ranges:[r(a(y.Range)),{}],y_range:[a(y.Range),()=>new P.DataRange1d],extra_y_ranges:[r(a(y.Range)),{}],x_scale:[a(v.Scale),()=>new w.LinearScale],y_scale:[a(v.Scale),()=>new w.LinearScale],lod_factor:[t,10],lod_interval:[t,300],lod_threshold:[h(t),2e3],lod_timeout:[t,500],hidpi:[e,!0],output_backend:[_.OutputBackend,"canvas"],min_border:[h(t),5],min_border_top:[h(t),null],min_border_left:[h(t),null],min_border_bottom:[h(t),null],min_border_right:[h(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:[_.ResetPolicy,"standard"]}))),this.override({width:600,height:600,outline_line_color:"#e5e5e5",border_fill_color:"#ffffff",background_fill_color:"#ffffff"})}_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 l.Signal0(this,"reset");for(const e of c.values(this.extra_x_ranges).concat(this.x_range)){let t=e.plots;d.isArray(t)&&(t=t.concat(this),e.setv({plots:t},{silent:!0}))}for(const e of c.values(this.extra_y_ranges).concat(this.y_range)){let t=e.plots;d.isArray(t)&&(t=t.concat(this),e.setv({plots:t},{silent:!0}))}}add_layout(e,t="center"){const i=this.properties[t].get_value();this.setv({[t]:[…i,e]})}remove_layout(e){const t=t=>{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 x.ColumnDataSource,i={}){const n=new S.GlyphRenderer(Object.assign(Object.assign({},i),{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:i,right:n}=this;return h.concat([e,t,i,n])}}i.Plot=L,L.__name__="Plot",L.init_Plot()},n”, “ function _(e,t,i,s,a){s();const n=e(1),o=e(144),l=e(262),r=e(319),_=e(40),h=e(138),d=e(163),u=e(234),c=e(264),p=e(122),v=e(45),b=e(19),g=e(334),m=e(8),w=e(9),y=e(249),f=e(222),x=e(225),z=e(223),k=e(140),q=e(99),M=e(335),V=e(336),P=e(28);class R extends r.LayoutDOMView{constructor(){super(…arguments),this._outer_bbox=new q.BBox,this._inner_bbox=new q.BBox,this._needs_paint=!0,this._needs_layout=!1,this._invalidated_painters=new Set,this._invalidate_all=!0}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")}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(m.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(){p.remove_views(this.renderer_views),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._range_manager=new M.RangeManager(this),this._state_manager=new V.StateManager(this,this._initial_state),this.throttled_paint=g.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 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),b.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 x.BorderLayout,this.layout.set_sizing(this.box_sizing());const n=w.copy(this.model.above),o=w.copy(this.model.below),l=w.copy(this.model.left),r=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:b}=this.model;if(null!=v&&null!=b){const e=d(v);let t=!0;if(this.model.toolbar_sticky)for(let i=0;i<e.length;i++){const s=e[i];if(s instanceof h.Title){e[i]="above"==v||"below"==v?[s,this._toolbar]:[this._toolbar,s],t=!1;break}}t&&e.push(this._toolbar)}const g=(e,t)=>{var i;const s=this.renderer_view(t);return s.panel=new k.Panel(e),null===(i=s.update_layout)||void 0===i||i.call(s),s.layout},y=(e,t)=>{const i="above"==e||"below"==e,s=[];for(const a of t)if(m.isArray(a)){const t=a.map((t=>{const s=g(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 z.Row(t),n.set_sizing({width_policy:"max",height_policy:"min"})):(n=new z.Column(t),n.set_sizing({width_policy:"min",height_policy:"max"})),n.absolute=!0,s.push(n)}else s.push(g(e,a));return s},q=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:q,top:null!==(i=this.model.min_border_top)&&void 0!==i?i:q,right:null!==(s=this.model.min_border_right)&&void 0!==s?s:q,bottom:null!==(a=this.model.min_border_bottom)&&void 0!==a?a:q};const M=new f.NodeLayout,V=new f.VStack,P=new f.VStack,R=new f.HStack,O=new f.HStack;M.absolute=!0,V.absolute=!0,P.absolute=!0,R.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:S,frame_height:j}=this.model;M.set_sizing(Object.assign(Object.assign({},null!=S?{width_policy:"fixed",width:S}:{width_policy:"fit"}),null!=j?{height_policy:"fixed",height:j}:{height_policy:"fit"})),M.on_resize((e=>this.frame.set_geometry(e))),V.children=w.reversed(y("above",n)),P.children=y("below",o),R.children=w.reversed(y("left",l)),O.children=y("right",r),V.set_sizing({width_policy:"fit",height_policy:"min"}),P.set_sizing({width_policy:"fit",height_policy:"min"}),R.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=V,this.layout.bottom_panel=P,this.layout.left_panel=R,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)}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 p.build_views(this.renderer_views,this.computed_renderers,{parent:this})}async build_tool_views(){const e=this.model.toolbar.tools;(await 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(){var e;if(this.is_paused||!this.model.visible)return;b.logger.trace(`PlotView.paint() for ${this.model.id}`);const{document:t}=this.model;if(null!=t){const e=t.interactive_duration();e>=0&&e<this.model.lod_interval?setTimeout((()=>{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||P.settings.wireframe)&&(o.prepare(),this._paint_levels(o.ctx,"overlay",a,!1),P.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 y.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=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=R,R.__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,s,a){s();const o=t(159),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:s}=this.frame;if(null==t){for(const[,t]of e)t.reset();for(const[,t]of s)t.reset();this.update_dataranges()}else{const a=[];for(const[n,s]of e)a.push([s,t.xrs.get(n)]);for(const[n,e]of s)a.push([e,t.yrs.get(n)]);(null==n?void 0:n.scrolling)&&this._update_ranges_together(a),this._update_ranges_individually(a,n)}}reset(){this.update(null)}update_dataranges(){const t=new Map,n=new Map;let e=!1;for(const[,t]of this.frame.x_ranges)t instanceof o.DataRange1d&&"log"==t.scale_hint&&(e=!0);for(const[,t]of this.frame.y_ranges)t instanceof o.DataRange1d&&"log"==t.scale_hint&&(e=!0);for(const s of this.parent.model.data_renderers){const a=this.parent.renderer_view(s);if(null==a)continue;const o=a.glyph_view.bounds();if(null!=o&&t.set(s,o),e){const t=a.glyph_view.log_bounds();null!=t&&n.set(s,t)}}let s=!1,a=!1;const{width:l,height:i}=this.frame.bbox;let d;!1!==this.parent.model.match_aspect&&0!=l&&0!=i&&(d=1/this.parent.model.aspect_scale*(l/i));for(const[,e]of this.frame.x_ranges){if(e instanceof o.DataRange1d){const a="log"==e.scale_hint?n:t;e.update(a,0,this.parent.model,d),e.follow&&(s=!0)}null!=e.bounds&&(a=!0)}for(const[,e]of this.frame.y_ranges){if(e instanceof o.DataRange1d){const a="log"==e.scale_hint?n:t;e.update(a,1,this.parent.model,d),e.follow&&(s=!0)}null!=e.bounds&&(a=!0)}if(s&&a){r.logger.warn("Follow enabled so bounds are unset.");for(const[,t]of this.frame.x_ranges)t.bounds=null;for(const[,t]of this.frame.y_ranges)t.bounds=null}this.invalidate_dataranges=!1}compute_initial(){let t=!0;const{x_ranges:n,y_ranges:e}=this.frame,s=new Map,a=new Map;for(const[e,a]of n){const{start:n,end:o}=a;if(null==n||null==o||isNaN(n+o)){t=!1;break}s.set(e,{start:n,end:o})}if(t)for(const[n,s]of e){const{start:e,end:o}=s;if(null==e||null==o||isNaN(e+o)){t=!1;break}a.set(n,{start:e,end:o})}return t?{xrs:s,yrs:a}:(r.logger.warn("could not set initial ranges"),null)}_update_ranges_together(t){let n=1;for(const[e,s]of t)n=Math.min(n,this._get_weight_to_constrain_interval(e,s));if(n<1)for(const[e,s]of t)s.start=n*s.start+(1-n)*e.start,s.end=n*s.end+(1-n)*e.end}_update_ranges_individually(t,n){const e=!!(null==n?void 0:n.panning),s=!!(null==n?void 0:n.scrolling);let a=!1;for(const[n,o]of t){if(!s){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&&(a=!0,o.end=t,(e||s)&&(o.start=t+l)),null!=r&&r<=o.start&&(a=!0,o.start=r,(e||s)&&(o.end=r-l))):(null!=t&&t>=o.start&&(a=!0,o.start=t,(e||s)&&(o.end=t+l)),null!=r&&r<=o.end&&(a=!0,o.end=r,(e||s)&&(o.start=r-l)))}}if(!(s&&a&&(null==n?void 0:n.maintain_focus)))for(const[n,e]of t)n.have_updated_interactively=!0,n.start==e.start&&n.end==e.end||n.setv(e)}_get_weight_to_constrain_interval(t,n){const{min_interval:e}=t;let{max_interval:s}=t;if(null!=t.bounds&&"auto"!=t.bounds){const[n,e]=t.bounds;if(null!=n&&null!=e){const t=Math.abs(e-n);s=null!=s?Math.min(s,t):t}}let a=1;if(null!=e||null!=s){const o=Math.abs(t.end-t.start),r=Math.abs(n.end-n.start);null!=e&&e>0&&r<e&&(a=(o-e)/(o-r)),null!=s&&s>0&&r>s&&(a=(s-o)/(r-o)),a=Math.max(0,Math.min(1,a))}return a}}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;null!=i.range&&this.parent.update_range(i.range),null!=i.selection&&this.parent.update_selection(i.selection)}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(){this.can_undo&&(this.index-=1,this._do_state_change(this.index),this.changed.emit())}redo(){this.can_redo&&(this.index+=1,this._do_state_change(this.index),this.changed.emit())}get can_undo(){return this.index>=0}get can_redo(){return this.index<this.history.length-1}}s.StateManager=a,a.__name__="StateManager"},n”, “ function _(t,e,s,o,i){o();const a=t(19),n=t(15),p=t(43),l=t(65),_=t(22),h=t(333),m=new n.Signal0({},"gmaps_ready");class d extends h.PlotView{initialize(){this.pause(),super.initialize(),this._tiles_loaded=!1,this.zoom_count=0;const{zoom:t,lat:e,lng:s}=this.model.map_options;if(this.initial_zoom=t,this.initial_lat=e,this.initial_lng=s,!this.model.api_key){const t="https://developers.google.com/maps/documentation/javascript/get-api-key";a.logger.error(`api_key is required. See ${t} for more information on how to obtain your own.`)}if("undefined"==typeof google||null==google.maps){if(void 0===window._bokeh_gmaps_callback){const{api_key:t,api_version:e}=this.model;!function(t,e){window._bokeh_gmaps_callback=()=>m.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(){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(),i=o+s;if(i>=2){this.map.setZoom(i);const[t,e,,]=this._get_projected_bounds();e-t<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=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){const e=this.map.getCenter().toJSON();e[t]=this.model.map_options[t],this.map.setCenter(e),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=_.color2css(this.model.border_fill_color),t.fill())}}s.GMapPlotView=d,d.__name__="GMapPlotView"},n”, “ function _(t,_,n,o,r){o();t(1).__exportStar(t(169),n)},n”, “ function _(e,r,d,n,R){n(),R("GlyphRenderer",e(61).GlyphRenderer),R("GraphRenderer",e(123).GraphRenderer),R("GuideRenderer",e(164).GuideRenderer),R("Renderer",e(41).Renderer)},n”, “ function _(e,t,n,o,c){o();e(1).__exportStar(e(129),n),c("Selection",e(59).Selection)},n”, “ function _(a,e,S,o,r){o(),r("ServerSentDataSource",a(342).ServerSentDataSource),r("AjaxDataSource",a(344).AjaxDataSource),r("ColumnDataSource",a(130).ColumnDataSource),r("ColumnarDataSource",a(57).ColumnarDataSource),r("CDSView",a(120).CDSView),r("DataSource",a(58).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 _(t,e,a,n,s){n();const r=t(130),i=t(20);class l extends r.ColumnDataSource{constructor(t){super(t)}get_column(t){const e=this.data[t];return null!=e?e:[]}get_length(){var t;return null!==(t=super.get_length())&&void 0!==t?t:0}initialize(){super.initialize(),this.setup()}load_data(t,e,a){const{adapter:n}=this;let s;switch(s=null!=n?n.execute(this,{response:t}):t,e){case"replace":this.data=s;break;case"append":{const t=this.data;for(const e of this.columns()){const n=Array.from(t[e]),r=Array.from(s[e]),i=n.concat(r);s[e]=null!=a?i.slice(-a):i}this.data=s;break}}}static init_WebDataSource(){this.define((({Any:t,Int:e,String:a,Nullable:n})=>({max_size:[n(e),null],mode:[i.UpdateMode,"replace"],adapter:[n(t),null],data_url:[a]})))}}a.WebDataSource=l,l.__name__="WebDataSource",l.init_WebDataSource()},n”, “ function _(t,e,i,s,a){s();const n=t(343),r=t(20),o=t(19),l=t(13);class d extends n.WebDataSource{constructor(t){super(t),this.interval=null,this.initialized=!1}static init_AjaxDataSource(){this.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:[r.HTTPMethod,"POST"],if_modified:[t,!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 l.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){o.logger.error(`Failed to fetch JSON from ${this.data_url} with code ${t.status}`)}}i.AjaxDataSource=d,d.__name__="AjaxDataSource",d.init_AjaxDataSource()},n”, “ function _(e,t,o,r,n){r();const s=e(57),a=e(19),i=e(9),l=e(13);function c(e){return null!=e?e:NaN}const{hasOwnProperty:_}=Object.prototype;class g extends s.ColumnarDataSource{constructor(e){super(e)}static init_GeoJSONDataSource(){this.define((({String:e})=>({geojson:[e]}))),this.internal((({Dict:e,Arrayable:t})=>({data:[e(t),{}]})))}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 i.range(0,e).map((e=>[]))}_get_new_nan_array(e){return i.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 l.entries(s))_.call(t,e)||(t[e]=this._get_new_nan_array(r)),t[e][o]=c(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]=c(s);break}case"LineString":{const{coordinates:r}=e;for(let e=0;e<r.length;e++){const[n,s,a]=r[e];t.xs[o][e]=n,t.ys[o][e]=s,t.zs[o][e]=c(a)}break}case"Polygon":{e.coordinates.length>1&&a.logger.warn("Bokeh does not support Polygons with holes in, only exterior ring used.");const r=e.coordinates[0];for(let e=0;e<r.length;e++){const[n,s,a]=r[e];t.xs[o][e]=n,t.ys[o][e]=s,t.zs[o][e]=c(a)}break}case"MultiPoint":a.logger.warn("MultiPoint not supported in Bokeh");break;case"MultiLineString":{const n=e.coordinates.reduce(r);for(let e=0;e<n.length;e++){const[r,s,a]=n[e];t.xs[o][e]=r,t.ys[o][e]=s,t.zs[o][e]=c(a)}break}case"MultiPolygon":{const n=[];for(const t of e.coordinates)t.length>1&&a.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<s.length;e++){const[r,n,a]=s[e];t.xs[o][e]=r,t.ys[o][e]=n,t.zs[o][e]=c(a)}break}default:throw new Error(`Invalid GeoJSON geometry type: ${e.type}`)}}geojson_to_column_data(){const e=JSON.parse(this.geojson);let t;switch(e.type){case"GeometryCollection":if(null==e.geometries)throw new Error("No geometries found in GeometryCollection");if(0===e.geometries.length)throw new Error("geojson.geometries must have one or more items");t=e.geometries;break;case"FeatureCollection":if(null==e.features)throw new Error("No features found in FeaturesCollection");if(0==e.features.length)throw new Error("geojson.features must have one or more items");t=e.features;break;default:throw new Error("Bokeh only supports type GeometryCollection and FeatureCollection at top level")}let o=0;for(const e of t){const t="Feature"===e.type?e.geometry:e;"GeometryCollection"==t.type?o+=t.geometries.length:o+=1}const r={x:this._get_new_nan_array(o),y:this._get_new_nan_array(o),z:this._get_new_nan_array(o),xs:this._get_new_list_array(o),ys:this._get_new_list_array(o),zs:this._get_new_list_array(o)};let n=0;for(const e of t){const t="Feature"==e.type?e.geometry:e;if("GeometryCollection"==t.type)for(const s of t.geometries)this._add_geometry(s,r,n),"Feature"===e.type&&this._add_properties(e,r,n,o),n+=1;else this._add_geometry(t,r,n),"Feature"===e.type&&this._add_properties(e,r,n,o),n+=1}return r}}o.GeoJSONDataSource=g,g.__name__="GeoJSONDataSource",g.init_GeoJSONDataSource()},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,i,o){i();const l=e(348);class n extends l.MercatorTileSource{constructor(e){super(e)}static init_BBoxTileSource(){this.define((({Boolean:e})=>({use_latlon:[e,!1]})))}get_image_url(e,t,r){const i=this.string_lookup_replace(this.url,this.extra_url_vars);let o,l,n,s;return this.use_latlon?[l,s,o,n]=this.get_tile_geographic_bounds(e,t,r):[l,s,o,n]=this.get_tile_meter_bounds(e,t,r),i.replace("{XMIN}",l.toString()).replace("{YMIN}",s.toString()).replace("{XMAX}",o.toString()).replace("{YMAX}",n.toString())}}r.BBoxTileSource=n,n.__name__="BBoxTileSource",n.init_BBoxTileSource()},n”, “ function _(t,e,i,_,s){_();const r=t(349),o=t(9),n=t(350);class l extends r.TileSource{constructor(t){super(t)}static init_MercatorTileSource(){this.define((({Boolean:t})=>({snap_to_zoom:[t,!1],wrap_around:[t,!0]}))),this.override({x_origin_offset:20037508.34,y_origin_offset:20037508.34,initial_resolution:156543.03392804097})}initialize(){super.initialize(),this._resolutions=o.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)<Math.abs(t-r)?e:t}));return this._resolutions.indexOf(o)}snap_to_zoom_level(t,e,i,_){const[s,r,o,n]=t,l=this._resolutions[_];let u=i*l,a=e*l;if(!this.snap_to_zoom){const t=(o-s)/u,e=(n-r)/a;t>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<<i)-e]}meters_to_tile(t,e,i){const[_,s]=this.meters_to_pixels(t,e,i);return this.pixels_to_tile(_,s)}get_tile_meter_bounds(t,e,i){const[_,s]=this.pixels_to_meters(t*this.tile_size,e*this.tile_size,i),[r,o]=this.pixels_to_meters((t+1)*this.tile_size,(e+1)*this.tile_size,i);return[_,s,r,o]}get_tile_geographic_bounds(t,e,i){const _=this.get_tile_meter_bounds(t,e,i),[s,r,o,l]=n.meters_extent_to_geographic(_);return[s,r,o,l]}get_tiles_by_extent(t,e,i=1){const[_,s,r,o]=t;let[n,l]=this.meters_to_tile(_,s,e),[u,a]=this.meters_to_tile(r,o,e);n-=i,l-=i,u+=i,a+=i;const h=[];for(let t=a;t>=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<<s-1;switch(t.charAt(_-s)){case"0":continue;case"1":e|=r;break;case"2":i|=r;break;case"3":e|=r,i|=r;break;default:throw new TypeError(`Invalid Quadkey: ${t}`)}}return[e,i,_]}tile_xyz_to_quadkey(t,e,i){let _="";for(let s=i;s>0;s–){const i=1<<s-1;let r=0;0!=(t&i)&&(r+=1),0!=(e&i)&&(r+=2),_+=r.toString()}return _}children_by_tile_xyz(t,e,i){const _=this.tile_xyz_to_quadkey(t,e,i),s=[];for(let t=0;t<=3;t++){const[e,i,r]=this.quadkey_to_tile_xyz(_+t.toString()),o=this.get_tile_meter_bounds(e,i,r);s.push([e,i,r,o])}return s}get_closest_parent_by_tile_xyz(t,e,i){const _=this.calculate_world_x_by_tile_xyz(t,e,i);[t,e,i]=this.normalize_xyz(t,e,i);let s=this.tile_xyz_to_quadkey(t,e,i);for(;s.length>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=l,l.__name__="MercatorTileSource",l.init_MercatorTileSource()},n”, “ function _(e,t,r,i,n){i();const l=e(53),s=e(13);class a extends l.Model{constructor(e){super(e)}static init_TileSource(){this.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]})))}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 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,s=(n-r)/2+r,a=(l-i)/2+i;e.sort((function(e,t){return Math.sqrt((s-e[0])**2+(a-e[1])**2)-Math.sqrt((s-t[0])**2+(a-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=a,a.__name__="TileSource",a.init_TileSource()},n”, “ function _(t,e,r,n,o){n();const c=t(65);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),a=t(349),h=t(353),r=t(41),o=t(156),l=t(43),d=t(296),m=t(9),c=t(8),g=n.__importStar(t(354));class p extends r.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()))}styles(){return[…super.styles(),g.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&&l.removeElement(this.attribution_el);const{attribution:t}=this.model.tile_source;if(c.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=l.div({class:g.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 o.Range1d&&(this.x_range.reset_start=e[0],this.x_range.reset_end=e[2]),this.y_range instanceof o.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,a,h]=this.model.tile_source.normalize_xyz(t,e,i),r={img:void 0,tile_coords:[t,e,i],normalized_coords:[n,a,h],quadkey:this.model.tile_source.tile_xyz_to_quadkey(t,e,i),cache_key:this.model.tile_source.tile_xyz_to_key(t,e,i),bounds:s,loaded:!1,finished:!1,x_coord:s[0],y_coord:s[3]},o=this.model.tile_source.get_image_url(n,a,h);new d.ImageLoader(o,{loaded:t=>{Object.assign(r,{img:t,loaded:!0}),_?(r.finished=!0,this.notify_finished()):this.request_render()},failed(){r.finished=!0}}),this.model.tile_source.tiles.set(r.cache_key,r),this._tiles.push(r)}_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,h=t,r=i,o=this.map_canvas.getImageSmoothingEnabled();this.map_canvas.setImageSmoothingEnabled(this.model.smoothing),this.map_canvas.drawImage(e.img,h,r,n,a),this.map_canvas.setImageSmoothingEnabled(o),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);e<i;e++){const[i,s,_]=n[e],a=this.model.tile_source.children_by_tile_xyz(i,s,_);for(const e of a){const[i,s,_,n]=e;t.tiles.has(t.tile_xyz_to_key(i,s,_))||this._create_tile(i,s,_,n,!0)}}}_fetch_tiles(t){for(const e of t){const[t,i,s,_]=e;this._create_tile(t,i,s,_)}}_update(){const{tile_source:t}=this.model,{min_zoom:e}=t,{max_zoom:i}=t;let s=this.get_extent();const _=this.extent[2]-this.extent[0]<s[2]-s[0],n=this.map_frame.bbox.height,a=this.map_frame.bbox.width;let h=t.get_level_by_extent(s,n,a),r=!1;h<e?(s=this.extent,h=e,r=!0):h>i&&(s=this.extent,h=i,r=!0),r&&(this.x_range.setv({x_range:{start:s[0],end:s[2]}}),this.y_range.setv({start:s[1],end:s[3]})),this.extent=s;const o=t.get_tiles_by_extent(s,h),l=[],d=[],c=[],g=[];for(const e of o){const[i,s,n]=e,a=t.tile_xyz_to_key(i,s,n),h=t.tiles.get(a);if(null!=h&&h.loaded)d.push(a);else if(this.model.render_parents){const[e,a,h]=t.get_closest_parent_by_tile_xyz(i,s,n),r=t.tile_xyz_to_key(e,a,h),o=t.tiles.get(r);if(null!=o&&o.loaded&&!m.includes(c,r)&&c.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)&&g.push(e)}}}null==h&&l.push(e)}this._render_tiles(c),this._render_tiles(g),this._render_tiles(d),null!=this.render_timer&&clearTimeout(this.render_timer),this.render_timer=setTimeout((()=>this._fetch_tiles(l)),65)}}i.TileRendererView=p,p.__name__="TileRendererView";class u extends r.Renderer{constructor(t){super(t)}static init_TileRenderer(){this.prototype.default_view=p,this.define((({Boolean:t,Number:e,Ref:i})=>({alpha:[e,1],smoothing:[t,!0],tile_source:[i(a.TileSource),()=>new h.WMTSTileSource],render_parents:[t,!0]}))),this.override({level:"image"})}}i.TileRenderer=u,u.__name__="TileRenderer",u.init_TileRenderer()},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){c();const a=t(358),i=t(34);class r extends a.Texture{constructor(t){super(t)}static init_CanvasTexture(){this.define((({String:t})=>({code:[t]})))}get func(){const t=i.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=r,r.__name__="CanvasTexture",r.init_CanvasTexture()},n”, “ function _(e,t,i,n,r){n();const s=e(53),u=e(20);class o extends s.Model{constructor(e){super(e)}static init_Texture(){this.define((()=>({repetition:[u.TextureRepetition,"repeat"]})))}}i.Texture=o,o.__name__="Texture",o.init_Texture()},n”, “ function _(e,t,i,r,n){r();const a=e(358),s=e(296);class u extends a.Texture{constructor(e){super(e)}static init_ImageURLTexture(){this.define((({String:e})=>({url:[e]})))}initialize(){super.initialize(),this._loader=new s.ImageLoader(this.url)}get_pattern(e,t,i){const{_loader:r}=this;return this._loader.finished?r.image:r.promise}}i.ImageURLTexture=u,u.__name__="ImageURLTexture",u.init_ImageURLTexture()},n”, “ function _(o,l,T,e,t){e(),t("ActionTool",o(251).ActionTool),t("CustomAction",o(361).CustomAction),t("HelpTool",o(252).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(238).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(237).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(247).InspectTool),t("Tool",o(236).Tool),t("ToolProxy",o(392).ToolProxy),t("Toolbar",o(235).Toolbar),t("ToolbarBase",o(248).ToolbarBase),t("ProxyToolbar",o(393).ProxyToolbar),t("ToolbarBox",o(393).ToolbarBox)},n”, “ function _(t,o,i,s,n){s();const e=t(251);class c extends e.ActionToolButtonView{css_classes(){return super.css_classes().concat("bk-toolbar-button-custom-action")}}i.CustomActionButtonView=c,c.__name__="CustomActionButtonView";class u extends e.ActionToolView{doit(){var t;null===(t=this.model.callback)||void 0===t||t.execute(this.model)}}i.CustomActionView=u,u.__name__="CustomActionView";class l extends e.ActionTool{constructor(t){super(t),this.tool_name="Custom Action",this.button_view=c}static init_CustomAction(){this.prototype.default_view=u,this.define((({Any:t,String:o,Nullable:i})=>({callback:[i(t)],icon:[o]}))),this.override({description:"Perform a Custom Action"})}}i.CustomAction=l,l.__name__="CustomAction",l.init_CustomAction()},n”, “ function _(o,e,t,i,s){i();const n=o(251),d=o(242);class l extends n.ActionToolView{connect_signals(){super.connect_signals(),this.connect(this.plot_view.state.changed,(()=>this.model.disabled=!this.plot_view.state.can_redo))}doit(){this.plot_view.state.redo()}}t.RedoToolView=l,l.__name__="RedoToolView";class _ extends n.ActionTool{constructor(o){super(o),this.tool_name="Redo",this.icon=d.tool_icon_redo}static init_RedoTool(){this.prototype.default_view=l,this.override({disabled:!0}),this.register_alias("redo",(()=>new _))}}t.RedoTool=_,_.__name__="RedoTool",_.init_RedoTool()},n”, “ function _(e,t,o,s,i){s();const _=e(251),n=e(242);class l extends _.ActionToolView{doit(){this.plot_view.reset()}}o.ResetToolView=l,l.__name__="ResetToolView";class c extends _.ActionTool{constructor(e){super(e),this.tool_name="Reset",this.icon=n.tool_icon_reset}static init_ResetTool(){this.prototype.default_view=l,this.register_alias("reset",(()=>new c))}}o.ResetTool=c,c.__name__="ResetTool",c.init_ResetTool()},n”, “ function _(o,e,t,a,i){a();const n=o(251),s=o(242);class c extends n.ActionToolView{async copy(){const o=await this.plot_view.to_blob(),e=new ClipboardItem({[o.type]:o});await navigator.clipboard.write([e])}async save(o){const e=await this.plot_view.to_blob(),t=document.createElement("a");t.href=URL.createObjectURL(e),t.download=o,t.target="_blank",t.dispatchEvent(new MouseEvent("click"))}doit(o="save"){switch(o){case"save":this.save("bokeh_plot");break;case"copy":this.copy()}}}t.SaveToolView=c,c.__name__="SaveToolView";class l extends n.ActionTool{constructor(o){super(o),this.tool_name="Save",this.icon=s.tool_icon_save}static init_SaveTool(){this.prototype.default_view=c,this.register_alias("save",(()=>new l))}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=l,l.__name__="SaveTool",l.init_SaveTool()},n”, “ function _(o,t,n,i,e){i();const s=o(251),d=o(242);class l extends s.ActionToolView{connect_signals(){super.connect_signals(),this.connect(this.plot_view.state.changed,(()=>this.model.disabled=!this.plot_view.state.can_undo))}doit(){this.plot_view.state.undo()}}n.UndoToolView=l,l.__name__="UndoToolView";class _ extends s.ActionTool{constructor(o){super(o),this.tool_name="Undo",this.icon=d.tool_icon_undo}static init_UndoTool(){this.prototype.default_view=l,this.override({disabled:!0}),this.register_alias("undo",(()=>new _))}}n.UndoTool=_,_.__name__="UndoTool",_.init_UndoTool()},n”, “ function _(o,i,n,s,e){s();const t=o(367),_=o(242);class m extends t.ZoomBaseToolView{}n.ZoomInToolView=m,m.__name__="ZoomInToolView";class l extends t.ZoomBaseTool{constructor(o){super(o),this.sign=1,this.tool_name="Zoom In",this.icon=_.tool_icon_zoom_in}static init_ZoomInTool(){this.prototype.default_view=m,this.register_alias("zoom_in",(()=>new l({dimensions:"both"}))),this.register_alias("xzoom_in",(()=>new l({dimensions:"width"}))),this.register_alias("yzoom_in",(()=>new l({dimensions:"height"})))}}n.ZoomInTool=l,l.__name__="ZoomInTool",l.init_ZoomInTool()},n”, “ function _(o,t,e,i,s){i();const n=o(251),l=o(20),a=o(368);class _ extends n.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=a.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}),null===(o=this.model.document)||void 0===o||o.interactive_start(this.plot_model)}}e.ZoomBaseToolView=_,_.__name__="ZoomBaseToolView";class m extends n.ActionTool{constructor(o){super(o)}static init_ZoomBaseTool(){this.define((({Percent:o})=>({factor:[o,.1],dimensions:[l.Dimensions,"both"]})))}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}e.ZoomBaseTool=m,m.__name__="ZoomBaseTool",m.init_ZoomBaseTool()},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=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,t,i,s,e){s();const n=o(367),_=o(242);class m extends n.ZoomBaseToolView{}i.ZoomOutToolView=m,m.__name__="ZoomOutToolView";class l extends n.ZoomBaseTool{constructor(o){super(o),this.sign=-1,this.tool_name="Zoom Out",this.icon=_.tool_icon_zoom_out}static init_ZoomOutTool(){this.prototype.default_view=m,this.register_alias("zoom_out",(()=>new l({dimensions:"both"}))),this.register_alias("xzoom_out",(()=>new l({dimensions:"width"}))),this.register_alias("yzoom_out",(()=>new l({dimensions:"height"})))}}i.ZoomOutTool=l,l.__name__="ZoomOutTool",l.init_ZoomOutTool()},n”, “ function _(e,t,s,o,n){o();const i=e(9),r=e(8),c=e(11),_=e(61),a=e(237);class l extends a.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 c.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<s.length;e++){const t=s[e];o.splice(t-e,1)}}this._emit_cds_changes(t)}_pop_glyphs(e,t){const s=e.columns();if(t&&s.length)for(const o of s){let s=e.get_array(o);const n=s.length-t+1;n<1||(r.isArray(s)||(s=Array.from(s),e.data[o]=s),s.splice(0,n))}}_emit_cds_changes(e,t=!0,s=!0,o=!0){s&&e.selection_manager.clear(),t&&e.change.emit(),o&&(e.data=e.data,e.properties.data.change.emit())}_drag_points(e,t,s="both"){if(null==this._basepoint)return;const[o,n]=this._basepoint;for(const i of t){const t=this._map_drag(o,n,i),r=this._map_drag(e.sx,e.sy,i);if(null==r||null==t)continue;const[c,_]=r,[a,l]=t,[d,u]=[c-a,_-l],h=i.glyph,m=i.data_source,[p,f]=[h.x.field,h.y.field];for(const e of m.selected.indices)!p||"width"!=s&&"both"!=s||(m.data[p][e]+=d),!f||"height"!=s&&"both"!=s||(m.data[f][e]+=u);m.change.emit()}this._basepoint=[e.sx,e.sy]}_pad_empty_columns(e,t){for(const s of e.columns())i.includes(t,s)||e.get_array(s).push(this.model.empty_value)}_select_event(e,t,s){const o=this.plot_view.frame,{sx:n,sy:i}=e;if(!o.bbox.contains(n,i))return[];const r={type:"point",sx:n,sy:i},c=[];for(const e of s){const s=e.get_selection_manager(),o=e.data_source,n=this.plot_view.renderer_view(e);if(null!=n){s.select([n],r,!0,t)&&c.push(e),o.properties.selected.change.emit()}}return c}}s.EditToolView=l,l.__name__="EditToolView";class d extends a.GestureTool{constructor(e){super(e)}static init_EditTool(){this.define((({Unknown:e,String:t,Array:s,Ref:o})=>({custom_icon:[t],empty_value:[e],renderers:[s(o(_.GlyphRenderer)),[]]})))}get computed_icon(){var e;return null!==(e=this.custom_icon)&&void 0!==e?e:this.icon}}s.EditTool=d,d.__name__="EditTool",d.init_EditTool()},n”, “ function _(e,t,s,i,_){i();const o=e(43),n=e(20),a=e(370),d=e(242);class l extends a.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===o.Keys.Backspace)this._delete_selected(t);else if(e.keyCode==o.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],[x,y]=[d.x.field,d.y.field],[w,v]=[d.width.field,d.height.field];if(_)this._pop_glyphs(l,this.model.num_objects),x&&l.get_array(x).push(c),y&&l.get_array(y).push(m),w&&l.get_array(w).push(f),v&&l.get_array(v).push(b),this._pad_empty_columns(l,[x,y,w,v]);else{const e=l.data[x].length-1;x&&(l.data[x][e]=c),y&&(l.data[y][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=l,l.__name__="BoxEditToolView";class r extends a.EditTool{constructor(e){super(e),this.tool_name="Box Edit Tool",this.icon=d.tool_icon_box_edit,this.event_type=["tap","pan","move"],this.default_order=1}static init_BoxEditTool(){this.prototype.default_view=l,this.define((({Int:e})=>({dimensions:[n.Dimensions,"both"],num_objects:[e,0]})))}}s.BoxEditTool=r,r.__name__="BoxEditTool",r.init_BoxEditTool()},n”, “ function _(e,t,a,s,r){s();const o=e(43),_=e(8),i=e(370),d=e(242);class n extends i.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[o,i]=r,d=s.data_source,n=s.glyph,[h,l]=[n.xs.field,n.ys.field];if("new"==t)this._pop_glyphs(d,this.model.num_objects),h&&d.get_array(h).push([o]),l&&d.get_array(l).push([i]),this._pad_empty_columns(d,[h,l]);else if("add"==t){if(h){const e=d.data[h].length-1;let t=d.get_array(h)[e];_.isArray(t)||(t=Array.from(t),d.data[h][e]=t),t.push(o)}if(l){const e=d.data[l].length-1;let t=d.get_array(l)[e];_.isArray(t)||(t=Array.from(t),d.data[l][e]=t),t.push(i)}}this._emit_cds_changes(d,!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===o.Keys.Esc?t.data_source.selection_manager.clear():e.keyCode===o.Keys.Backspace&&this._delete_selected(t)}}a.FreehandDrawToolView=n,n.__name__="FreehandDrawToolView";class h extends i.EditTool{constructor(e){super(e),this.tool_name="Freehand Draw Tool",this.icon=d.tool_icon_freehand_draw,this.event_type=["pan","tap"],this.default_order=3}static init_FreehandDrawTool(){this.prototype.default_view=n,this.define((({Int:e})=>({num_objects:[e,0]})))}}a.FreehandDrawTool=h,h.__name__="FreehandDrawTool",h.init_FreehandDrawTool()},n”, “ function _(e,t,s,o,i){o();const a=e(43),n=e(370),_=e(242);class r extends n.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,i=t.data_source,[a,n]=[o.x.field,o.y.field],[_,r]=s;this._pop_glyphs(i,this.model.num_objects),a&&i.get_array(a).push(_),n&&i.get_array(n).push(r),this._pad_empty_columns(i,[a,n]),i.change.emit(),i.data=i.data,i.properties.data.change.emit()}_keyup(e){if(this.model.active&&this._mouse_in_frame)for(const t of this.model.renderers)e.keyCode===a.Keys.Backspace?this._delete_selected(t):e.keyCode==a.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=r,r.__name__="PointDrawToolView";class d extends n.EditTool{constructor(e){super(e),this.tool_name="Point Draw Tool",this.icon=_.tool_icon_point_draw,this.event_type=["tap","pan","move"],this.default_order=2}static init_PointDrawTool(){this.prototype.default_view=r,this.define((({Boolean:e,Int:t})=>({add:[e,!0],drag:[e,!0],num_objects:[t,0]})))}}s.PointDrawTool=d,d.__name__="PointDrawTool",d.init_PointDrawTool()},n”, “ function _(e,t,s,i,a){i();const o=e(43),r=e(8),n=e(375),_=e(242);class d extends n.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[o,n]=this._snap_to_vertex(e,…a),_=i.data_source,d=i.glyph,[l,h]=[d.xs.field,d.ys.field];if("new"==t)this._pop_glyphs(_,this.model.num_objects),l&&_.get_array(l).push([o,o]),h&&_.get_array(h).push([n,n]),this._pad_empty_columns(_,[l,h]);else if("edit"==t){if(l){const e=_.data[l][_.data[l].length-1];e[e.length-1]=o}if(h){const e=_.data[h][_.data[h].length-1];e[e.length-1]=n}}else if("add"==t){if(l){const e=_.data[l].length-1;let t=_.get_array(l)[e];const s=t[t.length-1];t[t.length-1]=o,r.isArray(t)||(t=Array.from(t),_.data[l][e]=t),t.push(s)}if(h){const e=_.data[h].length-1;let t=_.get_array(h)[e];const s=t[t.length-1];t[t.length-1]=n,r.isArray(t)||(t=Array.from(t),_.data[h][e]=t),t.push(s)}}this._emit_cds_changes(_,!0,!1,s)}_show_vertices(){if(!this.model.active)return;const e=[],t=[];for(let s=0;s<this.model.renderers.length;s++){const i=this.model.renderers[s],a=i.data_source,o=i.glyph,[r,n]=[o.xs.field,o.ys.field];if(r)for(const t of a.get_array(r))e.push(…t);if(n)for(const e of a.get_array(n))t.push(…e);this._drawing&&s==this.model.renderers.length-1&&(e.splice(e.length-1,1),t.splice(t.length-1,1))}this._set_vertices(e,t)}_doubletap(e){this.model.active&&(this._drawing?(this._drawing=!1,this._draw(e,"edit",!0)):(this._drawing=!0,this._draw(e,"new",!0)))}_move(e){this._drawing&&this._draw(e,"edit")}_remove(){const e=this.model.renderers[0],t=e.data_source,s=e.glyph,[i,a]=[s.xs.field,s.ys.field];if(i){const e=t.data[i].length-1,s=t.get_array(i)[e];s.splice(s.length-1,1)}if(a){const e=t.data[a].length-1,s=t.get_array(a)[e];s.splice(s.length-1,1)}this._emit_cds_changes(t)}_keyup(e){if(this.model.active&&this._mouse_in_frame)for(const t of this.model.renderers)e.keyCode===o.Keys.Backspace?this._delete_selected(t):e.keyCode==o.Keys.Esc&&(this._drawing&&(this._remove(),this._drawing=!1),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){if(null==this._basepoint||!this.model.drag)return;const[t,s]=this._basepoint;for(const i of this.model.renderers){const a=this._map_drag(t,s,i),o=this._map_drag(e.sx,e.sy,i);if(null==o||null==a)continue;const r=i.data_source,n=i.glyph,[_,d]=[n.xs.field,n.ys.field];if(!_&&!d)continue;const[l,h]=o,[c,g]=a,[f,p]=[l-c,h-g];for(const e of r.selected.indices){let t,s,i;_&&(s=r.data[_][e]),d?(i=r.data[d][e],t=i.length):t=s.length;for(let e=0;e<t;e++)s&&(s[e]+=f),i&&(i[e]+=p)}r.change.emit()}this._basepoint=[e.sx,e.sy]}_pan_end(e){if(this.model.drag){this._pan(e);for(const e of this.model.renderers)this._emit_cds_changes(e.data_source);this._basepoint=null}}activate(){if(this.model.vertex_renderer&&this.model.active){if(this._show_vertices(),!this._initialized)for(const e of this.model.renderers){const t=e.data_source;t.connect(t.properties.data.change,(()=>this._show_vertices()))}this._initialized=!0}}deactivate(){this._drawing&&(this._remove(),this._drawing=!1),this.model.vertex_renderer&&this._hide_vertices()}}s.PolyDrawToolView=d,d.__name__="PolyDrawToolView";class l extends n.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}static init_PolyDrawTool(){this.prototype.default_view=d,this.define((({Boolean:e,Int:t})=>({drag:[e,!0],num_objects:[t,0]})))}}s.PolyDrawTool=l,l.__name__="PolyDrawTool",l.init_PolyDrawTool()},n”, “ function _(e,t,r,o,s){o();const i=e(8),l=e(370);class _ extends l.EditToolView{_set_vertices(e,t){const r=this.model.vertex_renderer.glyph,o=this.model.vertex_renderer.data_source,[s,l]=[r.x.field,r.y.field];s&&(i.isArray(e)?o.data[s]=e:r.x={value:e}),l&&(i.isArray(t)?o.data[l]=t:r.y={value:t}),this._emit_cds_changes(o,!0,!0,!1)}_hide_vertices(){this._set_vertices([],[])}_snap_to_vertex(e,t,r){if(this.model.vertex_renderer){const o=this._select_event(e,"replace",[this.model.vertex_renderer]),s=this.model.vertex_renderer.data_source,i=this.model.vertex_renderer.glyph,[l,_]=[i.x.field,i.y.field];if(o.length){const e=s.selected.indices[0];l&&(t=s.data[l][e]),_&&(r=s.data[_][e]),s.selection_manager.clear()}}return[t,r]}}r.PolyToolView=_,_.__name__="PolyToolView";class d extends l.EditTool{constructor(e){super(e)}static init_PolyTool(){this.define((({AnyRef:e})=>({vertex_renderer:[e()]})))}}r.PolyTool=d,d.__name__="PolyTool",d.init_PolyTool()},n”, “ function _(e,t,s,r,i){r();const _=e(43),d=e(8),n=e(375),l=e(242);class a extends n.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 n,l;i&&null!=r?(n=s.data[i][r],d.isArray(n)||(s.data[i][r]=n=Array.from(n))):n=t.xs.value,_&&null!=r?(l=s.data[_][r],d.isArray(l)||(s.data[_][r]=l=Array.from(l))):l=t.ys.value,this._selected_renderer=e,this._set_vertices(n,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===_.Keys.Backspace?(this._delete_selected(s),this._selected_renderer&&this._emit_cds_changes(this._selected_renderer.data_source)):e.keyCode==_.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=a,a.__name__="PolyEditToolView";class c extends n.PolyTool{constructor(e){super(e),this.tool_name="Poly Edit Tool",this.icon=l.tool_icon_poly_edit,this.event_type=["tap","pan","move"],this.default_order=4}static init_PolyEditTool(){this.prototype.default_view=a}}s.PolyEditTool=c,c.__name__="PolyEditTool",c.init_PolyEditTool()},n”, “ function _(e,t,o,s,i){s();const l=e(378),n=e(136),_=e(20),c=e(242);class h extends l.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=h,h.__name__="BoxSelectToolView";const r=()=>new n.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 a extends l.SelectTool{constructor(e){super(e),this.tool_name="Box Select",this.icon=c.tool_icon_box_select,this.event_type="pan",this.default_order=30}static init_BoxSelectTool(){this.prototype.default_view=h,this.define((({Boolean:e,Ref:t})=>({dimensions:[_.Dimensions,"both"],select_every_mousemove:[e,!1],overlay:[t(n.BoxAnnotation),r],origin:[_.BoxOrigin,"corner"]}))),this.register_alias("box_select",(()=>new a)),this.register_alias("xbox_select",(()=>new a({dimensions:"width"}))),this.register_alias("ybox_select",(()=>new a({dimensions:"height"})))}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}o.BoxSelectTool=a,a.__name__="BoxSelectTool",a.init_BoxSelectTool()},n”, “ function _(e,t,s,n,o){n();const r=e(237),c=e(61),i=e(123),l=e(62),a=e(161),_=e(20),d=e(43),h=e(264),p=e(15),u=e(11);class m extends r.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 a.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 c.GlyphRenderer)n=s.data_source;else{if(!(s instanceof i.GraphRenderer))continue;n=s.node_renderer.data_source}const o=null!==(e=t.get(n))&&void 0!==e?e:[];t.set(n,[…o,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 u.unreachable():this.model.mode}_keyup(e){e.keyCode==d.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[,o]of n){const n=o[0].get_selection_manager(),r=[];for(const e of o){const t=this.plot_view.renderer_view(e);null!=t&&r.push(t)}n.select(r,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 o;switch(e.type){case"point":{const{sx:t,sy:r}=e,c=s.invert(t),i=n.invert(r);o=Object.assign(Object.assign({},e),{x:c,y:i});break}case"span":{const{sx:t,sy:r}=e,c=s.invert(t),i=n.invert(r);o=Object.assign(Object.assign({},e),{x:c,y:i});break}case"rect":{const{sx0:t,sx1:r,sy0:c,sy1:i}=e,[l,a]=s.r_invert(t,r),[_,d]=n.r_invert(c,i);o=Object.assign(Object.assign({},e),{x0:l,y0:_,x1:a,y1:d});break}case"poly":{const{sx:t,sy:r}=e,c=s.v_invert(t),i=n.v_invert(r);o=Object.assign(Object.assign({},e),{x:c,y:i});break}}this.plot_model.trigger_event(new h.SelectionGeometry(o,t))}}s.SelectToolView=m,m.__name__="SelectToolView";class v extends r.GestureTool{constructor(e){super(e)}initialize(){super.initialize(),this.clear=new p.Signal0(this,"clear")}static init_SelectTool(){this.define((({String:e,Array:t,Ref:s,Or:n,Auto:o})=>({renderers:[n(t(s(l.DataRenderer)),o),"auto"],names:[t(e),[]],mode:[_.SelectionMode,"replace"]})))}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=v,v.__name__="SelectTool",v.init_SelectTool()},n”, “ function _(t,o,e,s,i){s();const n=t(237),_=t(136),a=t(20),l=t(242);class r extends n.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<n&&(m=n)),l=Math.abs(p-m),t[1]<=o[1]?(b=t[1],d=t[1]+l/s,d>_&&(d=_)):(d=t[1],b=t[1]-l/s,b<a&&(b=a)),r=Math.abs(d-b),t[0]<=o[0]?p=t[0]+s*r:m=t[0]-s*r,[[m,p],[b,d]]}_compute_limits(t){const o=this.plot_view.frame,e=this.model.dimensions;let s,i,n=this._base_point;if("center"==this.model.origin){const[o,e]=n,[s,i]=t;n=[o-(s-o),e-(i-e)]}return this.model.match_aspect&&"both"==e?[s,i]=this._match_aspect(n,t,o):[s,i]=this.model._get_dim_limits(n,t,o,e),[s,i]}_pan_start(t){this._base_point=[t.sx,t.sy]}_pan(t){const o=[t.sx,t.sy],[e,s]=this._compute_limits(o);this.model.overlay.update({left:e[0],right:e[1],top:s[0],bottom:s[1]})}_pan_end(t){const o=[t.sx,t.sy],[e,s]=this._compute_limits(o);this._update(e,s),this.model.overlay.update({left:null,right:null,top:null,bottom:null}),this._base_point=null}_update([t,o],[e,s]){if(Math.abs(o-t)<=5||Math.abs(s-e)<=5)return;const{x_scales:i,y_scales:n}=this.plot_view.frame,_=new Map;for(const[e,s]of i){const[i,n]=s.r_invert(t,o);_.set(e,{start:i,end:n})}const a=new Map;for(const[t,o]of n){const[i,n]=o.r_invert(e,s);a.set(t,{start:i,end:n})}const l={xrs:_,yrs:a};this.plot_view.state.push("box_zoom",{range:l}),this.plot_view.update_range(l)}}e.BoxZoomToolView=r,r.__name__="BoxZoomToolView";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 c extends n.GestureTool{constructor(t){super(t),this.tool_name="Box Zoom",this.icon=l.tool_icon_box_zoom,this.event_type="pan",this.default_order=20}static init_BoxZoomTool(){this.prototype.default_view=r,this.define((({Boolean:t,Ref:o})=>({dimensions:[a.Dimensions,"both"],overlay:[o(_.BoxAnnotation),h],match_aspect:[t,!1],origin:[a.BoxOrigin,"corner"]}))),this.register_alias("box_zoom",(()=>new c({dimensions:"both"}))),this.register_alias("xbox_zoom",(()=>new c({dimensions:"width"}))),this.register_alias("ybox_zoom",(()=>new c({dimensions:"height"})))}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}e.BoxZoomTool=c,c.__name__="BoxZoomTool",c.init_BoxZoomTool()},n”, “ function _(s,e,t,o,i){o();const l=s(378),_=s(231),a=s(381),c=s(43),n=s(242);class h extends l.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==c.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 i={type:"poly",sx:s,sy:e};this._select(i,t,o)}}t.LassoSelectToolView=h,h.__name__="LassoSelectToolView";class r extends l.SelectTool{constructor(s){super(s),this.tool_name="Lasso Select",this.icon=n.tool_icon_lasso_select,this.event_type="pan",this.default_order=12}static init_LassoSelectTool(){this.prototype.default_view=h,this.define((({Boolean:s,Ref:e})=>({select_every_mousemove:[s,!0],overlay:[e(_.PolyAnnotation),a.DEFAULT_POLY_OVERLAY]}))),this.register_alias("lasso_select",(()=>new r))}}t.LassoSelectTool=r,r.__name__="LassoSelectTool",r.init_LassoSelectTool()},n”, “ function _(e,t,s,l,o){l();const i=e(378),a=e(231),_=e(43),c=e(9),n=e(242);class h extends i.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==_.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:c.copy(this.data.sx),ys:c.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=h,h.__name__="PolySelectToolView";s.DEFAULT_POLY_OVERLAY=()=>new a.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 y extends i.SelectTool{constructor(e){super(e),this.tool_name="Poly Select",this.icon=n.tool_icon_polygon_select,this.event_type="tap",this.default_order=11}static init_PolySelectTool(){this.prototype.default_view=h,this.define((({Ref:e})=>({overlay:[e(a.PolyAnnotation),s.DEFAULT_POLY_OVERLAY]}))),this.register_alias("poly_select",(()=>new y))}}s.PolySelectTool=y,y.__name__="PolySelectTool",y.init_PolySelectTool()},n”, “ function _(e,t,i,s,n){s();const r=e(20),_=e(383),d=e(242);class o extends _.LineToolView{constructor(){super(…arguments),this._drawing=!1}_doubletap(e){if(!this.model.active)return;const t=this.model.renderers;for(const i of t){1==this._select_event(e,"replace",[i]).length&&(this._selected_renderer=i)}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,[i,s]=[t.x.field,t.y.field],n=e.get_array(i),r=e.get_array(s);this._set_intersection(n,r)}_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 i=this._select_mode(e);if(0==this._select_event(e,i,[t]).length)return}const i=this._select_mode(e);this._select_event(e,i,[t]),this._select_event(e,i,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,[i,s]=[e.x.field,e.y.field];if(i&&s){const e=t.data[i],n=t.data[s];this._selected_renderer.data_source.data[i]=e,this._selected_renderer.data_source.data[s]=n}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())}}i.LineEditToolView=o,o.__name__="LineEditToolView";class l extends _.LineTool{constructor(e){super(e),this.tool_name="Line Edit Tool",this.icon=d.tool_icon_line_edit,this.event_type=["tap","pan","move"],this.default_order=4}static init_LineEditTool(){this.prototype.default_view=o,this.define((()=>({dimensions:[r.Dimensions,"both"]})))}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}i.LineEditTool=l,l.__name__="LineEditTool",l.init_LineEditTool()},n”, “ function _(e,i,t,n,o){n();const s=e(8),_=e(370);class r extends _.EditToolView{_set_intersection(e,i){const t=this.model.intersection_renderer.glyph,n=this.model.intersection_renderer.data_source,[o,_]=[t.x.field,t.y.field];o&&(s.isArray(e)?n.data[o]=e:t.x={value:e}),_&&(s.isArray(i)?n.data[_]=i:t.y={value:i}),this._emit_cds_changes(n,!0,!0,!1)}_hide_intersections(){this._set_intersection([],[])}}t.LineToolView=r,r.__name__="LineToolView";class c extends _.EditTool{constructor(e){super(e)}static init_LineTool(){this.define((({AnyRef:e})=>({intersection_renderer:[e()]})))}}t.LineTool=c,c.__name__="LineTool",c.init_LineTool()},n”, “ function _(t,s,i,n,e){n();const o=t(1),a=t(237),_=t(20),h=o.__importStar(t(242));function l(t,s,i){const n=new Map;for(const[e,o]of t){const[t,a]=o.r_invert(s,i);n.set(e,{start:t,end:a})}return n}i.update_ranges=l;class r extends a.GestureToolView{_pan_start(t){var s;this.last_dx=0,this.last_dy=0;const{sx:i,sy:n}=t,e=this.plot_view.frame.bbox;if(!e.contains(i,n)){const t=e.h_range,s=e.v_range;(i<t.start||i>t.end)&&(this.v_axis_only=!0),(n<s.start||n>s.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})}_update(t,s){const i=this.plot_view.frame,n=t-this.last_dx,e=s-this.last_dy,o=i.bbox.h_range,a=o.start-n,_=o.end-n,h=i.bbox.v_range,r=h.start-e,d=h.end-e,p=this.model.dimensions;let c,m,u,x,v,y;"width"!=p&&"both"!=p||this.v_axis_only?(c=o.start,m=o.end,u=0):(c=a,m=_,u=-n),"height"!=p&&"both"!=p||this.h_axis_only?(x=h.start,v=h.end,y=0):(x=r,v=d,y=-e),this.last_dx=t,this.last_dy=s;const{x_scales:g,y_scales:w}=i,f=l(g,c,m),b=l(w,x,v);this.pan_info={xrs:f,yrs:b,sdx:u,sdy:y},this.plot_view.update_range(this.pan_info,{panning:!0})}}i.PanToolView=r,r.__name__="PanToolView";class d extends a.GestureTool{constructor(t){super(t),this.tool_name="Pan",this.event_type="pan",this.default_order=10}static init_PanTool(){this.prototype.default_view=r,this.define((()=>({dimensions:[_.Dimensions,"both",{on_update(t,s){switch(t){case"both":s.icon=h.tool_icon_pan;break;case"width":s.icon=h.tool_icon_xpan;break;case"height":s.icon=h.tool_icon_ypan}}}]}))),this.register_alias("pan",(()=>new d({dimensions:"both"}))),this.register_alias("xpan",(()=>new d({dimensions:"width"}))),this.register_alias("ypan",(()=>new d({dimensions:"height"})))}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}i.PanTool=d,d.__name__="PanTool",d.init_PanTool()},n”, “ function _(t,e,i,s,n){s();const l=t(136),a=t(156),r=t(19),o=t(237),_=t(242);function h(t){switch(t){case 1:return 2;case 2:return 1;case 4:return 5;case 5:return 4;default:return t}}function d(t,e,i,s){if(null==e)return!1;const n=i.compute(e);return Math.abs(t-n)<s}function u(t,e,i,s,n){let l=!0;if(null!=n.left&&null!=n.right){const e=i.invert(t);(e<n.left||e>n.right)&&(l=!1)}if(null!=n.bottom&&null!=n.top){const t=s.invert(e);(t<n.bottom||t>n.top)&&(l=!1)}return l}function c(t,e,i){let s=0;return t>=i.start&&t<=i.end&&(s+=1),e>=i.start&&e<=i.end&&(s+=1),s}function g(t,e,i,s){const n=e.compute(t),l=e.invert(n+i);return l>=s.start&&l<=s.end?l:t}function y(t,e,i){return t>e.start?(e.end=t,i):(e.end=e.start,e.start=t,h(i))}function f(t,e,i){return t<e.end?(e.start=t,i):(e.start=e.end,e.end=t,h(i))}function m(t,e,i,s){const[n,l]=e.r_compute(t.start,t.end),[a,r]=e.r_invert(n+i,l+i),o=c(t.start,t.end,s);c(a,r,s)>=o&&(t.start=a,t.end=r)}i.flip_side=h,i.is_near=d,i.is_inside=u,i.sides_inside=c,i.compute_value=g,i.update_range_end_side=y,i.update_range_start_side=f,i.update_range=m;class v extends o.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(t){this.last_dx=0,this.last_dy=0;const e=this.model.x_range,i=this.model.y_range,{frame:s}=this.plot_view,n=s.x_scale,a=s.y_scale,r=this.model.overlay,{left:o,right:_,top:h,bottom:c}=r,g=this.model.overlay.line_width+l.EDGE_TOLERANCE;null!=e&&this.model.x_interaction&&(d(t.sx,o,n,g)?this.side=1:d(t.sx,_,n,g)?this.side=2:u(t.sx,t.sy,n,a,r)&&(this.side=3)),null!=i&&this.model.y_interaction&&(0==this.side&&d(t.sy,c,a,g)&&(this.side=4),0==this.side&&d(t.sy,h,a,g)?this.side=5:u(t.sx,t.sy,n,a,this.model.overlay)&&(3==this.side?this.side=7:this.side=6))}_pan(t){const e=this.plot_view.frame,i=t.deltaX-this.last_dx,s=t.deltaY-this.last_dy,n=this.model.x_range,l=this.model.y_range,a=e.x_scale,r=e.y_scale;if(null!=n)if(3==this.side||7==this.side)m(n,a,i,e.x_range);else if(1==this.side){const t=g(n.start,a,i,e.x_range);this.side=f(t,n,this.side)}else if(2==this.side){const t=g(n.end,a,i,e.x_range);this.side=y(t,n,this.side)}if(null!=l)if(6==this.side||7==this.side)m(l,r,s,e.y_range);else if(4==this.side){const t=g(l.start,r,s,e.y_range);this.side=f(t,l,this.side)}else if(5==this.side){const t=g(l.end,r,s,e.y_range);this.side=y(t,l,this.side)}this.last_dx=t.deltaX,this.last_dy=t.deltaY}_pan_end(t){this.side=0}}i.RangeToolView=v,v.__name__="RangeToolView";const p=()=>new l.BoxAnnotation({level:"overlay",fill_color:"lightgrey",fill_alpha:.5,line_color:"black",line_alpha:1,line_width:.5,line_dash:[2,2]});class x extends o.GestureTool{constructor(t){super(t),this.tool_name="Range Tool",this.icon=_.tool_icon_range,this.event_type="pan",this.default_order=1}static init_RangeTool(){this.prototype.default_view=v,this.define((({Boolean:t,Ref:e,Nullable:i})=>({x_range:[i(e(a.Range1d)),null],x_interaction:[t,!0],y_range:[i(e(a.Range1d)),null],y_interaction:[t,!0],overlay:[e(l.BoxAnnotation),p]})))}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,r.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=x,x.__name__="RangeTool",x.init_RangeTool()},n”, “ function _(e,t,s,o,i){o();const l=e(378),a=e(20),n=e(242);class c extends l.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=c,c.__name__="TapToolView";class _ extends l.SelectTool{constructor(e){super(e),this.tool_name="Tap",this.icon=n.tool_icon_tap_select,this.event_type="tap",this.default_order=10}static init_TapTool(){this.prototype.default_view=c,this.define((({Any:e,Enum:t,Nullable:s})=>({behavior:[a.TapBehavior,"select"],gesture:[t("tap","doubletap"),"tap"],callback:[s(e)]}))),this.register_alias("click",(()=>new _({behavior:"inspect"}))),this.register_alias("tap",(()=>new _)),this.register_alias("doubletap",(()=>new _({gesture:"doubletap"})))}}s.TapTool=_,_.__name__="TapTool",_.init_TapTool()},n”, “ function _(e,t,s,i,n){i();const o=e(237),a=e(20),l=e(242),_=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,i=s.bbox.h_range,n=s.bbox.v_range,[o,a]=[i.start,i.end],[l,h]=[n.start,n.end];let r,d,c,p;switch(this.model.dimension){case"height":{const t=Math.abs(h-l);r=o,d=a,c=l-t*e,p=h-t*e;break}case"width":{const t=Math.abs(a-o);r=o-t*e,d=a-t*e,c=l,p=h;break}}const{x_scales:m,y_scales:u}=s,w={xrs:_.update_ranges(m,r,d),yrs:_.update_ranges(u,c,p),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)}}s.WheelPanToolView=h,h.__name__="WheelPanToolView";class r extends o.GestureTool{constructor(e){super(e),this.tool_name="Wheel Pan",this.icon=l.tool_icon_wheel_pan,this.event_type="scroll",this.default_order=12}static init_WheelPanTool(){this.prototype.default_view=h,this.define((()=>({dimension:[a.Dimension,"width"]}))),this.internal((({Number:e})=>({speed:[e,.001]}))),this.register_alias("xwheel_pan",(()=>new r({dimension:"width"}))),this.register_alias("ywheel_pan",(()=>new r({dimension:"height"})))}get tooltip(){return this._get_dim_tooltip(this.dimension)}}s.WheelPanTool=r,r.__name__="WheelPanTool",r.init_WheelPanTool()},n”, “ function _(e,o,t,s,i){s();const l=e(237),n=e(368),h=e(20),_=e(27),a=e(242);class m extends l.GestureToolView{_pinch(e){const{sx:o,sy:t,scale:s,ctrlKey:i,shiftKey:l}=e;let n;n=s>=1?20*(s-1):-20/s,this._scroll({type:"wheel",sx:o,sy:t,delta:n,ctrlKey:i,shiftKey:l})}_scroll(e){var o;const{frame:t}=this.plot_view,s=t.bbox.h_range,i=t.bbox.v_range,{sx:l,sy:h}=e,_=this.model.dimensions,a=("width"==_||"both"==_)&&s.start<l&&l<s.end,m=("height"==_||"both"==_)&&i.start<h&&h<i.end;if(!(a&&m||this.model.zoom_on_axis))return;const r=this.model.speed*e.delta,d=n.scale_range(t,r,a,m,{x:l,y:h});this.plot_view.state.push("wheel_zoom",{range:d});const{maintain_focus:c}=this.model;this.plot_view.update_range(d,{scrolling:!0,maintain_focus:c}),null===(o=this.model.document)||void 0===o||o.interactive_start(this.plot_model)}}t.WheelZoomToolView=m,m.__name__="WheelZoomToolView";class r extends l.GestureTool{constructor(e){super(e),this.tool_name="Wheel Zoom",this.icon=a.tool_icon_wheel_zoom,this.event_type=_.is_mobile?"pinch":"scroll",this.default_order=10}static init_WheelZoomTool(){this.prototype.default_view=m,this.define((({Boolean:e,Number:o})=>({dimensions:[h.Dimensions,"both"],maintain_focus:[e,!0],zoom_on_axis:[e,!0],speed:[o,1/600]}))),this.register_alias("wheel_zoom",(()=>new r({dimensions:"both"}))),this.register_alias("xwheel_zoom",(()=>new r({dimensions:"width"}))),this.register_alias("ywheel_zoom",(()=>new r({dimensions:"height"})))}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}t.WheelZoomTool=r,r.__name__="WheelZoomTool",r.init_WheelZoomTool()},n”, “ function _(i,s,t,o,e){o();const n=i(247),l=i(233),h=i(20),a=i(13),r=i(242);class _ extends n.InspectToolView{_move(i){if(!this.model.active)return;const{sx:s,sy:t}=i;this.plot_view.frame.bbox.contains(s,t)?this._update_spans(s,t):this._update_spans(null,null)}_move_exit(i){this._update_spans(null,null)}_update_spans(i,s){const t=this.model.dimensions;"width"!=t&&"both"!=t||(this.model.spans.width.location=s),"height"!=t&&"both"!=t||(this.model.spans.height.location=i)}}t.CrosshairToolView=_,_.__name__="CrosshairToolView";class c extends n.InspectTool{constructor(i){super(i),this.tool_name="Crosshair",this.icon=r.tool_icon_crosshair}static init_CrosshairTool(){function i(i,s){return new l.Span({for_hover:!0,dimension:s,location_units:"screen",level:"overlay",line_color:i.line_color,line_width:i.line_width,line_alpha:i.line_alpha})}this.prototype.default_view=_,this.define((({Alpha:i,Number:s,Color:t})=>({dimensions:[h.Dimensions,"both"],line_color:[t,"black"],line_width:[s,1],line_alpha:[i,1]}))),this.internal((({Struct:s,Ref:t})=>({spans:[s({width:t(l.Span),height:t(l.Span)}),s=>({width:i(s,"width"),height:i(s,"height")})]}))),this.register_alias("crosshair",(()=>new c))}get tooltip(){return this._get_dim_tooltip(this.dimensions)}get synthetic_renderers(){return a.values(this.spans)}}t.CrosshairTool=c,c.__name__="CrosshairTool",c.init_CrosshairTool()},n”, “ function _(t,e,s,o,r){o();const n=t(53),i=t(13),a=t(34);class u extends n.Model{constructor(t){super(t)}static init_CustomJSHover(){this.define((({Unknown:t,String:e,Dict:s})=>({args:[s(t),{}],code:[e,""]})))}get values(){return i.values(this.args)}_make_code(t,e,s,o){return new Function(…i.keys(this.args),t,e,s,a.use_strict(o))}format(t,e,s){return this._make_code("value","format","special_vars",this.code)(…this.values,t,e,s)}}s.CustomJSHover=u,u.__name__="CustomJSHover",u.init_CustomJSHover()},n”, “ function _(e,t,n,s,o){s();const i=e(1),r=e(247),l=e(390),a=e(254),c=e(61),_=e(123),d=e(62),p=e(63),h=e(127),u=i.__importStar(e(107)),m=e(182),y=e(43),f=e(22),x=e(13),v=e(245),w=e(8),g=e(122),b=e(20),k=e(242),C=e(15),S=e(161),T=i.__importStar(e(255));function $(e,t,n,s,o,i){const r={x:o[e],y:i[e]},l={x:o[e+1],y:i[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=u.dist_2_pts(r,e),c=u.dist_2_pts(l,e)}return a<c?[[r.x,r.y],e]:[[l.x,l.y],e+1]}function R(e,t,n){return[[e[n],t[n]],n]}n._nearest_line_hit=$,n._line_hit=R;class H extends r.InspectToolView{initialize(){super.initialize(),this._ttmodels=new Map,this._ttviews=new Map}async lazy_initialize(){await super.lazy_initialize(),await this._update_ttmodels()}remove(){g.remove_views(this._ttviews),super.remove()}connect_signals(){super.connect_signals();const e=this.plot_model.properties.renderers,{renderers:t,tooltips:n}=this.model.properties;this.on_change(n,(()=>delete 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 a.Tooltip({custom:w.isString(n)||w.isFunction(n),attachment:this.model.attachment,show_arrow:this.model.show_arrow});t instanceof c.GlyphRenderer?e.set(t,s):t instanceof _.GraphRenderer&&(e.set(t.node_renderer,s),e.set(t.edge_renderer,s))}const s=await g.build_views(this._ttviews,[…e.values()],{parent:this.plot_view});for(const e of s)e.render();const o=[…function*(){for(const e of t)e instanceof c.GlyphRenderer?yield e:e instanceof _.GraphRenderer&&(yield e.node_renderer,yield e.edge_renderer)}()],i=this._slots.get(this._update);if(null!=i){const e=new Set(o.map((e=>e.data_source)));C.Signal.disconnect_receiver(this,i,e)}for(const e of o)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 S.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 c.GlyphRenderer))return;if("ignore"==this.model.muted_policy&&e.muted)return;const o=this.ttmodels.get(e);if(null==o)return;const i=e.get_selection_manager();let r=i.inspectors.get(e);if(r=e.view.convert_selection_to_subset(r),r.is_empty())return void o.clear();const l=i.source,a=this.plot_view.renderer_view(e);if(null==a)return;const{sx:_,sy:d}=t,u=a.coordinates.x_scale,m=a.coordinates.y_scale,f=u.invert(_),v=m.invert(d),{glyph:w}=a,g=[];if(w instanceof p.LineView)for(const n of r.line_indices){let s,o,i=w._x[n+1],a=w._y[n+1],c=n;switch(this.model.line_policy){case"interp":[i,a]=w.get_interpolation_hit(n,t),s=u.compute(i),o=m.compute(a);break;case"prev":[[s,o],c]=R(w.sx,w.sy,n);break;case"next":[[s,o],c]=R(w.sx,w.sy,n+1);break;case"nearest":[[s,o],c]=$(n,t,_,d,w.sx,w.sy),i=w._x[c],a=w._y[c];break;default:[s,o]=[_,d]}const p={index:c,x:f,y:v,sx:_,sy:d,data_x:i,data_y:a,rx:s,ry:o,indices:r.line_indices,name:e.name};g.push([s,o,this._render_tooltips(l,c,p)])}for(const t of r.image_indices){const n={index:t.index,x:f,y:v,sx:_,sy:d,name:e.name},s=this._render_tooltips(l,t,n);g.push([_,d,s])}for(const o of r.indices)if(w instanceof h.MultiLineView&&!x.isEmpty(r.multiline_indices))for(const n of r.multiline_indices[o.toString()]){let s,i,a,p=w._xs.get(o)[n],h=w._ys.get(o)[n],y=n;switch(this.model.line_policy){case"interp":[p,h]=w.get_interpolation_hit(o,n,t),s=u.compute(p),i=m.compute(h);break;case"prev":[[s,i],y]=R(w.sxs.get(o),w.sys.get(o),n);break;case"next":[[s,i],y]=R(w.sxs.get(o),w.sys.get(o),n+1);break;case"nearest":[[s,i],y]=$(n,t,_,d,w.sxs.get(o),w.sys.get(o)),p=w._xs.get(o)[y],h=w._ys.get(o)[y];break;default:throw new Error("shouldn’t have happened")}a=e instanceof c.GlyphRenderer?e.view.convert_indices_from_subset([o])[0]:o;const x={index:a,x:f,y:v,sx:_,sy:d,data_x:p,data_y:h,segment_index:y,indices:r.multiline_indices,name:e.name};g.push([s,i,this._render_tooltips(l,a,x)])}else{const t=null===(n=w._x)||void 0===n?void 0:n[o],i=null===(s=w._y)||void 0===s?void 0:s[o];let a,p,h;if("snap_to_data"==this.model.point_policy){let e=w.get_anchor_point(this.model.anchor,o,[_,d]);if(null==e&&(e=w.get_anchor_point("center",o,[_,d]),null==e))continue;a=e.x,p=e.y}else[a,p]=[_,d];h=e instanceof c.GlyphRenderer?e.view.convert_indices_from_subset([o])[0]:o;const u={index:h,x:f,y:v,sx:_,sy:d,data_x:t,data_y:i,indices:r.indices,name:e.name};g.push([a,p,this._render_tooltips(l,h,u)])}if(0==g.length)o.clear();else{const{content:e}=o;y.empty(o.content);for(const[,,t]of g)null!=t&&e.appendChild(t);const[t,n]=g[g.length-1];o.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 c.GlyphRenderer))continue;const s=this.plot_view.renderer_view(n);if(null==s)continue;const{x_scale:o,y_scale:i}=s.coordinates,r=o.invert(e.sx),l=i.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=y.div({style:{display:"table",borderSpacing:"2px"}});for(const[n]of e){const e=y.div({style:{display:"table-row"}});t.appendChild(e);const s=y.div({style:{display:"table-cell"},class:T.tooltip_row_label},0!=n.length?`${n}: :"");e.appendChild(s);const o=y.span();o.dataset.value="";const i=y.span({class:T.tooltip_color_block}," ");i.dataset.swatch="",y.undisplay(i);const r=y.div({style:{display:"table-cell"},class:T.tooltip_row_value},o,i);e.appendChild(r)}return t}_render_template(e,t,n,s,o){const i=e.cloneNode(!0),r=i.querySelectorAll("[data-value]"),l=i.querySelectorAll("[data-swatch]"),a=/\$color(\[.*\])?:(\w*)/,c=/\$swatch:(\w*)/;for(const[[,e],i]of v.enumerate(t)){const t=e.match(c),_=e.match(a);if(null!=t||null!=_){if(null!=t){const[,e]=t,o=n.get_column(e);if(null==o)r[i].textContent=`${e} unknown;else{const e=w.isNumber(s)?o[s]:null;null!=e&&(l[i].style.backgroundColor=f.color2css(e),y.display(l[i]))}}if(null!=_){const[,e="",t]=_,o=n.get_column(t);if(null==o){r[i].textContent=`${t} unknown`;continue}const a=e.indexOf("hex")>=0,c=e.indexOf("swatch")>=0,d=w.isNumber(s)?o[s]:null;if(null==d){r[i].textContent="(null)";continue}r[i].textContent=a?f.color2hex(d):f.color2css(d),c&&(l[i].style.backgroundColor=f.color2css(d),y.display(l[i]))}}else{const t=m.replace_placeholders(e.replace("$~","$data_"),n,s,this.model.formatters,o);if(w.isString(t))r[i].textContent=t;else for(const e of t)r[i].appendChild(e)}}return i}_render_tooltips(e,t,n){var s;const{tooltips:o}=this.model;if(w.isString(o)){const s=m.replace_placeholders({html:o},e,t,this.model.formatters,n);return y.div({},s)}if(w.isFunction(o))return o(e,n);if(null!=o){const i=null!==(s=this._template_el)&&void 0!==s?s:this._template_el=this._create_template(o);return this._render_template(i,o,e,t,n)}return null}}n.HoverToolView=H,H.__name__="HoverToolView";class M extends r.InspectTool{constructor(e){super(e),this.tool_name="Hover",this.icon=k.tool_icon_hover}static init_HoverTool(){this.prototype.default_view=H,this.define((({Any:e,Boolean:t,String:n,Array:s,Tuple:o,Dict:i,Or:r,Ref:a,Function:c,Auto:_,Nullable:p})=>({tooltips:[p(r(n,s(o(n,n)),c())),[["index","$index"],["data (x, y)","($x, $y)"],["screen (x, y)","($sx, $sy)"]]],formatters:[i(r(a(l.CustomJSHover),m.FormatterType)),{}],renderers:[r(s(a(d.DataRenderer)),_),"auto"],names:[s(n),[]],mode:[b.HoverMode,"mouse"],muted_policy:[b.MutedPolicy,"show"],point_policy:[b.PointPolicy,"snap_to_data"],line_policy:[b.LinePolicy,"nearest"],show_arrow:[t,!0],anchor:[b.Anchor,"center"],attachment:[b.TooltipAttachment,"horizontal"],callback:[p(e)]}))),this.register_alias("hover",(()=>new M))}}n.HoverTool=M,M.__name__="HoverTool",M.init_HoverTool()},n”, “ function _(t,o,e,n,i){n();const s=t(15),l=t(53),c=t(238),r=t(247),a=t(245);class u extends l.Model{constructor(t){super(t)}static init_ToolProxy(){this.define((({Boolean:t,Array:o,Ref:e})=>({tools:[o(e(c.ButtonTool)),[]],active:[t,!1],disabled:[t,!1]})))}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 r.InspectTool&&t.toggleable}initialize(){super.initialize(),this.do=new s.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 a.enumerate(t))if(null==e)o.push(null);else{const t=()=>{var t,o;for(const e of this.tools)null===(o=null===(t=e.menu)||void 0===t?void 0:t[n])||void 0===o||o.handler()};o.push(Object.assign(Object.assign({},e),{handler:t}))}return o}}e.ToolProxy=u,u.__name__="ToolProxy",u.init_ToolProxy()},n”, “ function _(o,t,s,i,e){i();const n=o(20),r=o(9),l=o(13),c=o(248),h=o(235),a=o(392),_=o(319),p=o(221);class f extends c.ToolbarBase{constructor(o){super(o)}static init_ProxyToolbar(){this.define((({Array:o,Ref:t})=>({toolbars:[o(t(h.Toolbar)),[]]})))}initialize(){super.initialize(),this._merge_tools()}_merge_tools(){this._proxied_tools=[];const o={},t={},s={},i=[],e=[];for(const o of this.help)r.includes(e,o.redirect)||(i.push(o),e.push(o.redirect));this._proxied_tools.push(…i),this.help=i;for(const[o,t]of l.entries(this.gestures)){o in s||(s[o]={});for(const i of t.tools)i.type in s[o]||(s[o][i.type]=[]),s[o][i.type].push(i)}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 a.ToolProxy({tools:o,active:t});return this._proxied_tools.push(s),s};for(const o of l.keys(s)){const t=this.gestures[o];t.tools=[];for(const i of l.keys(s[o])){const e=s[o][i];if(e.length>0)if("multi"==o)for(const o of e){const s=n([o]);t.tools.push(s),this.connect(s.properties.active.change,(()=>this._active_change(s)))}else{const o=n(e);t.tools.push(o),this.connect(o.properties.active.change,(()=>this._active_change(o)))}}}this.actions=[];for(const[o,s]of l.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 l.values(o))t.length>0&&this.inspectors.push(n(t,!0));for(const[o,t]of l.entries(this.gestures))0!=t.tools.length&&(t.tools=r.sort_by(t.tools,(o=>o.default_order)),"pinch"!=o&&"scroll"!=o&&"multi"!=o&&(t.tools[0].active=!0))}}s.ProxyToolbar=f,f.__name__="ProxyToolbar",f.init_ProxyToolbar();class u extends _.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 p.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})}}s.ToolbarBoxView=u,u.__name__="ToolbarBoxView";class y extends _.LayoutDOM{constructor(o){super(o)}static init_ToolbarBox(){this.prototype.default_view=u,this.define((({Ref:o})=>({toolbar:[o(c.ToolbarBase)],toolbar_location:[n.Location,"right"]})))}}s.ToolbarBox=y,y.__name__="ToolbarBox",y.init_ToolbarBox()},n”, “ function _(e,n,r,t,o){t();const s=e(1),u=e(7),c=e(53),l=s.__importStar(e(21)),a=e(8),i=e(13);r.resolve_defs=function(e){var n,r,t,o;function s(e){return null!=e.module?`${e.module}.${e.name}`:e.name}function d(e){if(a.isString(e))switch(e){case"Any":return l.Any;case"Unknown":return l.Unknown;case"Boolean":return l.Boolean;case"Number":return l.Number;case"Int":return l.Int;case"String":return l.String;case"Null":return l.Null}else switch(e[0]){case"Nullable":{const[,n]=e;return l.Nullable(d(n))}case"Or":{const[,…n]=e;return l.Or(…n.map(d))}case"Tuple":{const[,n,…r]=e;return l.Tuple(d(n),…r.map(d))}case"Array":{const[,n]=e;return l.Array(d(n))}case"Struct":{const[,…n]=e,r=n.map((([e,n])=>[e,d(n)]));return l.Struct(i.to_object(r))}case"Dict":{const[,n]=e;return l.Dict(d(n))}case"Map":{const[,n,r]=e;return l.Map(d(n),d(r))}case"Enum":{const[,…n]=e;return l.Enum(…n)}case"Ref":{const[,n]=e,r=u.Models.get(s(n));if(null!=r)return l.Ref(r);throw new Error(${s(n)} wasn’t defined before referencing it)}case"AnyRef":return l.AnyRef()}}for(const l of e){const e=(()=>{if(null==l.extends)return c.Model;{const e=u.Models.get(s(l.extends));if(null!=e)return e;throw new Error(base model ${s(l.extends)} of ${s(l)} is not defined)}})(),a=((o=class extends e{}).__name__=l.name,o.__module__=l.module,o);for(const e of null!==(n=l.properties)&&void 0!==n?n:[]){const n=d(null!==(r=e.kind)&&void 0!==r?r:"Unknown");a.define({[e.name]:[n,e.default]})}for(const e of null!==(t=l.overrides)&&void 0!==t?t:[])a.override({[e.name]:e.default});u.Models.register_models([a])}}},n”, “ function _(n,e,t,o,i){o();const d=n(5),c=n(240),s=n(122),a=n(43),l=n(396);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=a.div({class:l.BOKEH_ROOT}),e.appendChild(d));const w=await 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 <body>);if("SCRIPT"==e.tagName){const o=l.div({class:n.BOKEH_ROOT});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(398),r=n(19),a=n(395);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=c.parse_token(o).session_id;n in i||(i[n]={});const e=i[n];return s in e||(e[s]=c.pull_session(n,o,t)),e[s]}(n,o,l)}catch(n){const t=c.parse_token(o).session_id;throw r.logger.error(Failed to load Bokeh session ${t}: ${n}),n}return 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(399),l=e(400),_=e(401);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: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(399),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(!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(399),_=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(400),a=e(19),c=e(43),g=e(13),f=e(395),u=e(396),m=s.__importDefault(e(44)),p=s.__importDefault(e(253)),d=s.__importDefault(e(403));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=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!=g.size(e))throw new Error("embed_items_notebook expects exactly one document in docs_json");const t=l.Document.from_json(g.values(e)[0]);for(const e of o){null!=e.notebook_comms_target&&b(e.notebook_comms_target,t);const o=u._resolve_element(e),n=u._resolve_root_elements(e);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);a.__exportStar(t(399),o),a.__exportStar(t(400),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/annotations/arrow":55,"models/annotations/data_annotation":56,"models/sources/columnar_data_source":57,"models/sources/data_source":58,"models/selections/selection":59,"core/selection_manager":60,"models/renderers/glyph_renderer":61,"models/renderers/data_renderer":62,"models/glyphs/line":63,"models/glyphs/xy_glyph":64,"core/util/projections":65,"models/glyphs/glyph":98,"core/util/bbox":99,"core/util/ragged_array":100,"core/util/spatial":101,"models/ranges/factor_range":104,"models/ranges/range":105,"models/glyphs/utils":106,"core/hittest":107,"models/glyphs/webgl/line":108,"models/glyphs/webgl/utils/index":109,"models/glyphs/webgl/utils/program":110,"models/glyphs/webgl/utils/buffer":111,"models/glyphs/webgl/utils/texture":112,"models/glyphs/webgl/base":113,"models/glyphs/webgl/line.vert":114,"models/glyphs/webgl/line.frag":115,"models/glyphs/patch":116,"models/glyphs/harea":117,"models/glyphs/area":118,"models/glyphs/varea":119,"models/sources/cds_view":120,"models/filters/filter":121,"core/build_views":122,"models/renderers/graph_renderer":123,"models/expressions/expression":124,"models/graphs/layout_provider":125,"models/graphs/graph_hit_test_policy":126,"models/glyphs/multi_line":127,"models/glyphs/patches":128,"models/selections/interaction_policy":129,"models/sources/column_data_source":130,"core/util/typed_array":131,"core/util/set":132,"models/annotations/arrow_head":133,"models/annotations/band":134,"models/annotations/upper_lower":135,"models/annotations/box_annotation":136,"models/annotations/color_bar":137,"models/annotations/title":138,"models/annotations/text_annotation":139,"core/layout/side_panel":140,"core/layout/types":141,"core/layout/layoutable":142,"core/util/text":143,"models/canvas/cartesian_frame":144,"models/scales/categorical_scale":145,"models/scales/scale":146,"models/transforms/index":147,"models/transforms/customjs_transform":148,"models/transforms/transform":149,"models/transforms/dodge":150,"models/transforms/range_transform":151,"models/transforms/interpolator":152,"models/transforms/jitter":153,"models/transforms/linear_interpolator":154,"models/transforms/step_interpolator":155,"models/ranges/range1d":156,"models/scales/log_scale":157,"models/scales/continuous_scale":158,"models/ranges/data_range1d":159,"models/ranges/data_range":160,"models/util":161,"models/axes/index":162,"models/axes/axis":163,"models/renderers/guide_renderer":164,"models/tickers/ticker":165,"models/formatters/tick_formatter":166,"core/graphics":167,"core/util/affine":168,"models/policies/labeling":169,"models/axes/categorical_axis":170,"models/tickers/categorical_ticker":171,"models/formatters/categorical_tick_formatter":172,"models/axes/continuous_axis":173,"models/axes/datetime_axis":174,"models/axes/linear_axis":175,"models/formatters/basic_tick_formatter":176,"models/tickers/basic_ticker":177,"models/tickers/adaptive_ticker":178,"models/tickers/continuous_ticker":179,"models/formatters/datetime_tick_formatter":180,"core/util/templating":182,"models/tickers/datetime_ticker":185,"models/tickers/composite_ticker":186,"models/tickers/days_ticker":187,"models/tickers/single_interval_ticker":188,"models/tickers/util":189,"models/tickers/months_ticker":190,"models/tickers/years_ticker":191,"models/axes/log_axis":192,"models/formatters/log_tick_formatter":193,"models/tickers/log_ticker":194,"models/axes/mercator_axis":195,"models/formatters/mercator_tick_formatter":196,"models/tickers/mercator_ticker":197,"models/tickers/index":198,"models/tickers/fixed_ticker":199,"models/tickers/binned_ticker":200,"models/mappers/scanning_color_mapper":201,"models/mappers/continuous_color_mapper":202,"models/mappers/color_mapper":203,"models/mappers/mapper":204,"models/formatters/index":205,"models/formatters/func_tick_formatter":206,"models/formatters/numeral_tick_formatter":207,"models/formatters/printf_tick_formatter":208,"models/mappers/index":209,"models/mappers/categorical_color_mapper":210,"models/mappers/categorical_mapper":211,"models/mappers/categorical_marker_mapper":212,"models/mappers/categorical_pattern_mapper":213,"models/mappers/linear_color_mapper":214,"models/mappers/log_color_mapper":215,"models/mappers/eqhist_color_mapper":216,"models/scales/index":217,"models/scales/linear_scale":218,"models/scales/linear_interpolation_scale":219,"models/ranges/index":220,"core/layout/index":221,"core/layout/alignments":222,"core/layout/grid":223,"core/layout/html":224,"core/layout/border":225,"models/annotations/label":226,"models/annotations/label_set":227,"models/annotations/legend":228,"models/annotations/legend_item":229,"core/vectorization":230,"models/annotations/poly_annotation":231,"models/annotations/slope":232,"models/annotations/span":233,"models/annotations/toolbar_panel":234,"models/tools/toolbar":235,"models/tools/tool":236,"models/tools/gestures/gesture_tool":237,"models/tools/button_tool":238,"core/dom_view":240,"styles/toolbar.css":241,"styles/icons.css":242,"styles/menus.css":243,"core/util/menus":244,"core/util/iterator":245,"models/tools/on_off_button":246,"models/tools/inspectors/inspect_tool":247,"models/tools/toolbar_base":248,"core/util/canvas":249,"core/util/svg":250,"models/tools/actions/action_tool":251,"models/tools/actions/help_tool":252,"styles/logo.css":253,"models/annotations/tooltip":254,"styles/tooltips.css":255,"models/annotations/whisker":256,"models/callbacks/index":257,"models/callbacks/customjs":258,"models/callbacks/callback":259,"models/callbacks/open_url":260,"models/canvas/index":261,"models/canvas/canvas":262,"core/ui_events":263,"core/bokeh_events":264,"core/util/wheel":265,"models/expressions/index":266,"models/expressions/customjs_expr":267,"models/expressions/stack":268,"models/expressions/cumsum":269,"models/expressions/minimum":270,"models/expressions/maximum":271,"models/filters/index":272,"models/filters/boolean_filter":273,"models/filters/customjs_filter":274,"models/filters/group_filter":275,"models/filters/index_filter":276,"models/glyphs/index":277,"models/glyphs/annular_wedge":278,"models/glyphs/annulus":279,"models/glyphs/arc":280,"models/glyphs/bezier":281,"models/glyphs/circle":282,"models/glyphs/webgl/markers":283,"models/glyphs/webgl/markers.vert":284,"models/glyphs/webgl/markers.frag":285,"models/glyphs/ellipse":286,"models/glyphs/ellipse_oval":287,"models/glyphs/center_rotatable":288,"models/glyphs/hbar":289,"models/glyphs/box":290,"models/glyphs/hex_tile":291,"models/glyphs/image":292,"models/glyphs/image_base":293,"models/glyphs/image_rgba":294,"models/glyphs/image_url":295,"core/util/image":296,"models/glyphs/multi_polygons":297,"models/glyphs/oval":298,"models/glyphs/quad":299,"models/glyphs/quadratic":300,"models/glyphs/ray":301,"models/glyphs/rect":302,"models/glyphs/scatter":303,"models/glyphs/marker":304,"models/glyphs/defs":305,"models/glyphs/segment":306,"models/glyphs/spline":307,"core/util/interpolation":308,"models/glyphs/step":309,"models/glyphs/text":310,"models/glyphs/vbar":311,"models/glyphs/wedge":312,"models/graphs/index":313,"models/graphs/static_layout_provider":314,"models/grids/index":315,"models/grids/grid":316,"models/layouts/index":317,"models/layouts/box":318,"models/layouts/layout_dom":319,"models/layouts/column":320,"models/layouts/grid_box":321,"models/layouts/html_box":322,"models/layouts/panel":323,"models/layouts/row":324,"models/layouts/spacer":325,"models/layouts/tabs":326,"styles/tabs.css":327,"styles/buttons.css":328,"models/layouts/widget_box":329,"models/plots/index":330,"models/plots/gmap_plot":331,"models/plots/plot":332,"models/plots/plot_canvas":333,"core/util/throttle":334,"models/plots/range_manager":335,"models/plots/state_manager":336,"models/plots/gmap_plot_canvas":337,"models/policies/index":338,"models/renderers/index":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/tools/tool_proxy":392,"models/tools/toolbar_box":393,"document/defs":394,"embed/standalone":395,"embed/dom":396,"embed/server":397,"client/connection":398,"protocol/message":399,"protocol/receiver":400,"client/session":401,"embed/notebook":402,"styles/notebook.css":403,"protocol/index":404,"testing":405,"safely":406}, {});});n”, “n”, “ /* END bokeh.min.js /n”, “ },n”, “ n”, “ function(Bokeh) {n”, “ / BEGIN bokeh-widgets.min.js /n”, “ /!n”, “ * Copyright (c) 2012 - 2021, Anaconda, Inc., and Bokeh Contributorsn”, “ * 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 documentationn”, “ * and/or other materials provided with the distribution.n”, “ * n”, “ * Neither the name of Anaconda nor the names of any contributorsn”, “ * may be used to endorse or promote products derived from this softwaren”, “ * 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, THEn”, “ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSEn”, “ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BEn”, “ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, ORn”, “ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OFn”, “ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSn”, “ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER INn”, “ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)n”, “ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OFn”, “ * THE POSSIBILITY OF SUCH DAMAGE.n”, “ /n”, “ (function(root, factory) {n”, “ factory(root["Bokeh"], "2.3.0");n”, “ })(this, function(Bokeh, version) {n”, “ var 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”, “ 417: function _(t,e,i,o,r){o();const s=t(1).__importStar(t(418));i.Widgets=s;t(7).register_models(s)},n”, “ 418: function _(t,e,o,r,u){r(),u("AbstractButton",t(419).AbstractButton),u("AbstractIcon",t(422).AbstractIcon),u("AutocompleteInput",t(423).AutocompleteInput),u("Button",t(428).Button),u("CheckboxButtonGroup",t(429).CheckboxButtonGroup),u("CheckboxGroup",t(431).CheckboxGroup),u("ColorPicker",t(433).ColorPicker),u("DatePicker",t(434).DatePicker),u("DateRangeSlider",t(437).DateRangeSlider),u("DateSlider",t(442).DateSlider),u("Div",t(443).Div),u("Dropdown",t(446).Dropdown),u("FileInput",t(447).FileInput),u("InputWidget",t(426).InputWidget),u("Markup",t(444).Markup),u("MultiSelect",t(448).MultiSelect),u("Paragraph",t(449).Paragraph),u("PasswordInput",t(450).PasswordInput),u("MultiChoice",t(451).MultiChoice),u("NumericInput",t(454).NumericInput),u("PreText",t(455).PreText),u("RadioButtonGroup",t(456).RadioButtonGroup),u("RadioGroup",t(457).RadioGroup),u("RangeSlider",t(458).RangeSlider),u("Select",t(459).Select),u("Slider",t(460).Slider),u("Spinner",t(461).Spinner),u("TextInput",t(424).TextInput),u("TextAreaInput",t(462).TextAreaInput),u("Toggle",t(463).Toggle),u("Widget",t(488).Widget)},n”, “ 419: function _(t,e,n,i,s){i();const l=t(1),o=t(20),r=t(43),c=t(122),u=t(420),_=t(422),a=l.__importStar(t(328)),b=a;class d extends u.ControlView{*controls(){yield this.button_el}async lazy_initialize(){await super.lazy_initialize();const{icon:t}=this.model;null!=t&&(this.icon_view=await c.build_view(t,{parent:this}))}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.render()))}remove(){null!=this.icon_view&&this.icon_view.remove(),super.remove()}styles(){return[…super.styles(),a.default]}_render_button(…t){return r.button({type:"button",disabled:this.model.disabled,class:[b.btn,b[`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?r.prepend(this.button_el,this.icon_view.el,r.nbsp()):r.prepend(this.button_el,this.icon_view.el),this.icon_view.render()),this.group_el=r.div({class:b.btn_group},this.button_el),this.el.appendChild(this.group_el)}click(){}}n.AbstractButtonView=d,d.__name__="AbstractButtonView";class h extends u.Control{constructor(t){super(t)}static init_AbstractButton(){this.define((({String:t,Ref:e,Nullable:n})=>({label:[t,"Button"],icon:[n(e(_.AbstractIcon)),null],button_type:[o.ButtonType,"default"]})))}}n.AbstractButton=h,h.__name__="AbstractButton",h.init_AbstractButton()},n”, “ 420: function _(t,e,o,s,n){s();const i=t(488),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())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”, “ 488: function _(i,t,e,o,n){o();const s=i(322),r=i(20);class d extends s.HTMLBoxView{_width_policy(){return"horizontal"==this.model.orientation?super._width_policy():"fixed"}_height_policy(){return"horizontal"==this.model.orientation?"fixed":super._height_policy()}box_sizing(){const i=super.box_sizing();return"horizontal"==this.model.orientation?null==i.width&&(i.width=this.model.default_size):null==i.height&&(i.height=this.model.default_size),i}}e.WidgetView=d,d.__name__="WidgetView";class _ extends s.HTMLBox{constructor(i){super(i)}static init_Widget(){this.define((({Number:i})=>({orientation:[r.Orientation,"horizontal"],default_size:[i,300]}))),this.override({margin:[5,5,5,5]})}}e.Widget=_,_.__name__="Widget",_.init_Widget()},n”, “ 422: function _(c,t,s,n,e){n();const o=c(53),_=c(240);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”, “ 423: function _(e,t,n,i,s){i();const h=e(1),o=e(424),_=e(43),u=e(10),r=h.__importStar(e(243)),c=r;class l extends o.TextInputView{constructor(){super(…arguments),this._open=!1,this._last_value="",this._hover_index=0}styles(){return[…super.styles(),r.default]}render(){super.render(),this.input_el.addEventListener("keydown",(e=>this._keydown(e))),this.input_el.addEventListener("keyup",(e=>this._keyup(e))),this.menu=_.div({class:[c.menu,c.below]}),this.menu.addEventListener("click",(e=>this._menu_click(e))),this.menu.addEventListener("mouseover",(e=>this._menu_hover(e))),this.el.appendChild(this.menu),_.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){_.empty(this.menu);for(const t of e){const e=_.div({},t);this.menu.appendChild(e)}e.length>0&&this.menu.children[0].classList.add(c.active)}_show_menu(){if(!this._open){this._open=!0,this._hover_index=0,this._last_value=this.model.value,_.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,_.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;t<this.menu.children.length&&this.menu.children[t].textContent!=e.target.textContent;t++);this._bump_hover(t)}}_bump_hover(e){const t=this.menu.children.length;this._open&&t>0&&(this.menu.children[this._hover_index].classList.remove(c.active),this._hover_index=u.clamp(e,0,t-1),this.menu.children[this._hover_index].classList.add(c.active))}_keydown(e){}_keyup(e){switch(e.keyCode){case _.Keys.Enter:this.change_input();break;case _.Keys.Esc:this._hide_menu();break;case _.Keys.Up:this._bump_hover(this._hover_index-1);break;case _.Keys.Down:this._bump_hover(this._hover_index+1);break;default:{const e=this.input_el.value;if(e.length<this.model.min_characters)return void this._hide_menu();const t=[],{case_sensitive:n}=this.model;let i;i=n?e=>e:e=>e.toLowerCase();for(const n of this.model.completions)i(n).startsWith(i(e))&&t.push(n);this._update_completions(t),0==t.length?this._hide_menu():this._show_menu()}}}}n.AutocompleteInputView=l,l.__name__="AutocompleteInputView";class a extends o.TextInput{constructor(e){super(e)}static init_AutocompleteInput(){this.prototype.default_view=l,this.define((({Boolean:e,Int:t,String:n,Array:i})=>({completions:[i(n),[]],min_characters:[t,2],case_sensitive:[e,!0],restrict:[e,!0]})))}}n.AutocompleteInput=a,a.__name__="AutocompleteInput",a.init_AutocompleteInput()},n”, “ 424: function _(t,e,n,i,p){i();const _=t(1),u=t(425),s=t(43),x=_.__importStar(t(427));class a extends u.TextLikeInputView{_render_input(){this.input_el=s.input({type:"text",class:x.input})}}n.TextInputView=a,a.__name__="TextInputView";class c extends u.TextLikeInput{constructor(t){super(t)}static init_TextInput(){this.prototype.default_view=a}}n.TextInput=c,c.__name__="TextInput",c.init_TextInput()},n”, “ 425: function _(e,t,n,i,l){i();const s=e(426);class h extends s.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=h,h.__name__="TextLikeInputView";class a extends s.InputWidget{constructor(e){super(e)}static init_TextLikeInput(){this.define((({Int:e,String:t,Nullable:n})=>({value:[t,""],value_input:[t,""],placeholder:[t,""],max_length:[n(e),null]})))}}n.TextLikeInput=a,a.__name__="TextLikeInput",a.init_TextLikeInput()},n”, “ 426: function _(t,e,i,n,s){n();const l=t(1),o=t(420),r=t(43),_=l.__importStar(t(427)),p=_;class d extends o.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(),_.default]}render(){super.render();const{title:t}=this.model;this.label_el=r.label({style:{display:0==t.length?"none":""}},t),this.group_el=r.div({class:p.input_group},this.label_el),this.el.appendChild(this.group_el)}change_input(){}}i.InputWidgetView=d,d.__name__="InputWidgetView";class u extends o.Control{constructor(t){super(t)}static init_InputWidget(){this.define((({String:t})=>({title:[t,""]})))}}i.InputWidget=u,u.__name__="InputWidget",u.init_InputWidget()},n”, “ 427: function _(o,i,t,n,p){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;-webkit-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,<svg version="1.1" viewBox="0 0 25 20" xmlns="http://www.w3.org/2000/svg"><path d="M 0,0 25,0 12.5,20 Z" fill="black" /></svg>\’);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;display:-webkit-inline-flex;flex-wrap:nowrap;-webkit-flex-wrap:nowrap;align-items:start;-webkit-align-items:start;flex-direction:column;-webkit-flex-direction:column;white-space:nowrap;}.bk-root .bk-input-group.bk-inline{flex-direction:row;-webkit-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”, “ 428: function _(t,e,n,i,o){i();const s=t(419),u=t(264);class c extends s.AbstractButtonView{click(){this.model.trigger_event(new u.ButtonClick),super.click()}}n.ButtonView=c,c.__name__="ButtonView";class _ extends s.AbstractButton{constructor(t){super(t)}static init_Button(){this.prototype.default_view=c,this.override({label:"Button"})}}n.Button=_,_.__name__="Button",_.init_Button()},n”, “ 429: function _(t,e,o,i,c){i();const n=t(1),s=t(430),a=t(43),u=n.__importStar(t(328));class r extends s.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)=>{a.classes(e).toggle(u.active,t.has(o))}))}}o.CheckboxButtonGroupView=r,r.__name__="CheckboxButtonGroupView";class _ extends s.ButtonGroup{constructor(t){super(t)}static init_CheckboxButtonGroup(){this.prototype.default_view=r,this.define((({Int:t,Array:e})=>({active:[e(t),[]]})))}}o.CheckboxButtonGroup=_,_.__name__="CheckboxButtonGroup",_.init_CheckboxButtonGroup()},n”, “ 430: function _(t,e,n,s,i){s();const o=t(1),r=t(420),u=t(20),a=t(43),_=o.__importStar(t(328)),l=_;class c extends r.ControlView{*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(),_.default]}render(){super.render(),this._buttons=this.model.labels.map(((t,e)=>{const n=a.div({class:[l.btn,l[`btn_${this.model.button_type}`]],disabled:this.model.disabled},t);return n.addEventListener("click",(()=>this.change_active(e))),n})),this._update_active();const t=a.div({class:l.btn_group},this._buttons);this.el.appendChild(t)}}n.ButtonGroupView=c,c.__name__="ButtonGroupView";class d extends r.Control{constructor(t){super(t)}static init_ButtonGroup(){this.define((({String:t,Array:e})=>({labels:[e(t),[]],button_type:[u.ButtonType,"default"]})))}}n.ButtonGroup=d,d.__name__="ButtonGroup",d.init_ButtonGroup()},n”, “ 431: function _(e,t,i,n,s){n();const o=e(1),c=e(432),a=e(43),l=e(9),d=o.__importStar(e(427));class h extends c.InputGroupView{render(){super.render();const e=a.div({class:[d.input_group,this.model.inline?d.inline:null]});this.el.appendChild(e);const{active:t,labels:i}=this.model;this._inputs=[];for(let n=0;n<i.length;n++){const s=a.input({type:"checkbox",value:`${n}`});s.addEventListener("change",(()=>this.change_active(n))),this._inputs.push(s),this.model.disabled&&(s.disabled=!0),l.includes(t,n)&&(s.checked=!0);const o=a.label({},s,a.span({},i[n]));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()}}i.CheckboxGroupView=h,h.__name__="CheckboxGroupView";class p extends c.InputGroup{constructor(e){super(e)}static init_CheckboxGroup(){this.prototype.default_view=h,this.define((({Boolean:e,Int:t,String:i,Array:n})=>({active:[n(t),[]],labels:[n(i),[]],inline:[e,!1]})))}}i.CheckboxGroup=p,p.__name__="CheckboxGroup",p.init_CheckboxGroup()},n”, “ 432: function _(n,t,e,s,o){s();const r=n(1),u=n(420),c=r.__importDefault(n(427));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”, “ 433: function _(e,i,t,n,o){n();const s=e(1),l=e(426),r=e(43),c=e(22),a=s.__importStar(e(427));class d extends l.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=c.color2css(this.model.color))),this.connect(this.model.properties.disabled.change,(()=>this.input_el.disabled=this.model.disabled))}render(){super.render(),this.input_el=r.input({type:"color",class:a.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()}}t.ColorPickerView=d,d.__name__="ColorPickerView";class h extends l.InputWidget{constructor(e){super(e)}static init_ColorPicker(){this.prototype.default_view=d,this.define((({Color:e})=>({color:[e,"#000000"]})))}}t.ColorPicker=h,h.__name__="ColorPicker",h.init_ColorPicker()},n”, “ 434: function _(e,t,i,n,s){n();const a=e(1),l=a.__importDefault(e(435)),o=e(426),d=e(43),r=e(20),c=e(8),h=a.__importStar(e(427)),u=a.__importDefault(e(436));function _(e){const t=[];for(const i of e)if(c.isString(i))t.push(i);else{const[e,n]=i;t.push({from:e,to:n})}return t}class p extends o.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(),u.default]}render(){var e,t;null==this._picker&&(super.render(),this.input_el=d.input({type:"text",class:h.input,disabled:this.model.disabled}),this.group_el.appendChild(this.input_el),this._picker=l.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:_(this.model.disabled_dates),enable:_(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=p,p.__name__="DatePickerView";class m extends o.InputWidget{constructor(e){super(e)}static init_DatePicker(){this.prototype.default_view=p,this.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:[r.CalendarPosition,"auto"],inline:[e,!1]}}))}}i.DatePicker=m,m.__name__="DatePicker",m.init_DatePicker()},n”, “ 435: 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 anyn”, “ purpose with or without fee is hereby granted.n”, “ n”, “ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITHn”, “ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITYn”, “ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,n”, “ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROMn”, “ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE ORn”, “ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE ORn”, “ PERFORMANCE OF THIS SOFTWARE.n”, “ ************************************************************************* /var e=function(){return(e=Object.assign||function(e){for(var n,t=1,a=arguments.length;t<a;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};function n(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var a=Array(e),i=0;for(n=0;n<t;n++)for(var o=arguments[n],r=0,l=o.length;r<l;r++,i++)a[i]=o[r];return a}var t=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],a={_disable:[],_enable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:"F j, Y",altInput:!1,altInputClass:"form-control input",animate:"object"==typeof window&&-1===window.navigator.userAgent.indexOf("MSIE"),ariaDateFormat:"F j, Y",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:", ",dateFormat:"Y-m-d",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enable:[],enableSeconds:!1,enableTime:!1,errorHandler:function(e){return"undefined"!=typeof console&&console.warn(e)},getWeek:function(e){var n=new Date(e.getTime());n.setHours(0,0,0,0),n.setDate(n.getDate()+3-(n.getDay()+6)%7);var t=new Date(n.getFullYear(),0,4);return 1+Math.round(((n.getTime()-t.getTime())/864e5-3+(t.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:"default",minuteIncrement:5,mode:"single",monthSelectorType:"dropdown",nextArrow:"<svg version=’1.1’ xmlns=’http://www.w3.org/2000/svg’ xmlns:xlink=’http://www.w3.org/1999/xlink’ viewBox=’0 0 17 17’><g></g><path d=’M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z’ /></svg>",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"<svg version=’1.1’ xmlns=’http://www.w3.org/2000/svg’ xmlns:xlink=’http://www.w3.org/1999/xlink’ viewBox=’0 0 17 17’><g></g><path d=’M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z’ /></svg>",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="";g<s.length;g++){var w=s[g],b="\\"===w,C="\\"===s[g-1]||b;if(D[w]&&!C){h+=D[w];var M=new RegExp(h).exec(e);M&&(f=!0)&&m["Y"!==w?"push":"unshift"]({fn:v[w],val:M[++p]})}else b||(h+=".");m.forEach((function(e){var n=e.fn,t=e.val;return l=n(l,t,c)||l}))}l=f?l:void 0}}if(l instanceof Date&&!isNaN(l.getTime()))return!0===i&&l.setHours(0,0,0,0),l;t.errorHandler(new Error("Invalid date provided: "+d))}}};function M(e,n,t){return void 0===t&&(t=!0),!1!==t?new Date(e.getTime()).setHours(0,0,0,0)-new Date(n.getTime()).setHours(0,0,0,0):e.getTime()-n.getTime()}var y=864e5;function x(p,v){var w={config:e(e({},a),k.defaultConfig),l10n:i};function x(e){return e.bind(w)}function E(){var e=w.config;!1===e.weekNumbers&&1===e.showMonths||!0!==e.noCalendar&&window.requestAnimationFrame((function(){if(void 0!==w.calendarContainer&&(w.calendarContainer.style.visibility="hidden",w.calendarContainer.style.display="block"),void 0!==w.daysContainer){var n=(w.days.offsetWidth+1)*e.showMonths;w.daysContainer.style.width=n+"px",w.calendarContainer.style.width=n+(void 0!==w.weekWrapper?w.weekWrapper.offsetWidth:0)+"px",w.calendarContainer.style.removeProperty("visibility"),w.calendarContainer.style.removeProperty("display")}}))}function T(e){if(0===w.selectedDates.length){var n=void 0!==w.config.minDate?new Date(w.config.minDate.getTime()):new Date,t=_(),a=t.hours,i=t.minutes,l=t.seconds;n.setHours(a,i,l,0),w.setDate(n,!1)}void 0!==e&&"blur"!==e.type&&function(e){e.preventDefault();var n="keydown"===e.type,t=g(e),a=t;void 0!==w.amPM&&t===w.amPM&&(w.amPM.textContent=w.l10n.amPM[r(w.amPM.textContent===w.l10n.amPM[0])]);var i=parseFloat(a.getAttribute("min")),l=parseFloat(a.getAttribute("max")),c=parseFloat(a.getAttribute("step")),d=parseInt(a.value,10),s=e.delta||(n?38===e.which?1:-1:0),u=d+c*s;if(void 0!==a.value&&2===a.value.length){var f=a===w.hourElement,m=a===w.minuteElement;u<i?(u=l+u+r(!f)+(r(f)&&r(!w.amPM)),m&&H(void 0,-1,w.hourElement)):u>l&&(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<w.now?w.config.maxDate:w.now),a=w.currentYear,i=w.currentMonth;try{void 0!==t&&(w.currentYear=t.getFullYear(),w.currentMonth=t.getMonth())}catch(e){e.message="Invalid date supplied: "+t,w.config.errorHandler(e)}n&&w.currentYear!==a&&(pe("onYearChange"),K()),!n||w.currentYear===a&&w.currentMonth===i||pe("onMonthChange"),w.redraw()}function Y(e){var n=g(e);~n.className.indexOf("arrow")&&H(e,n.classList.contains("arrowUp")?1:-1)}function H(e,n,t){var a=e&&g(e),i=t||a&&a.parentNode&&a.parentNode.firstChild,o=he("increment");o.delta=n,i&&i.dispatchEvent(o)}function j(e,n,t,a){var i=X(n,!0),o=s("span","flatpickr-day "+e,n.getDate().toString());return o.dateObj=n,o.$i=a,o.setAttribute("aria-label",w.formatDate(n,w.config.ariaDateFormat)),-1===e.indexOf("hidden")&&0===M(n,w.now)&&(w.todayDateElem=o,o.classList.add("today"),o.setAttribute("aria-current","date")),i?(o.tabIndex=-1,ve(n)&&(o.classList.add("selected"),w.selectedDateElem=o,"range"===w.config.mode&&(d(o,"startRange",w.selectedDates[0]&&0===M(n,w.selectedDates[0],!0)),d(o,"endRange",w.selectedDates[1]&&0===M(n,w.selectedDates[1],!0)),"nextMonthDay"===e&&o.classList.add("inRange")))):o.classList.add("flatpickr-disabled"),"range"===w.config.mode&&function(e){return!("range"!==w.config.mode||w.selectedDates.length<2)&&M(e,w.selectedDates[0])>=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","<span class=’flatpickr-day’>"+w.config.getWeek(n)+"</span>"),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&&d<c&&d!=(n>0?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;n<w.config.showMonths;n++){var t=new Date(w.currentYear,w.currentMonth,1);t.setMonth(w.currentMonth+n),e.appendChild(B(t.getFullYear(),t.getMonth()))}w.daysContainer.appendChild(e),w.days=w.daysContainer.firstChild,"range"===w.config.mode&&1===w.selectedDates.length&&ae()}}function K(){if(!(w.config.showMonths>1||"dropdown"!==w.config.monthSelectorType)){var e=function(e){return!(void 0!==w.config.minDate&&w.currentYear===w.config.minDate.getFullYear()&&e<w.config.minDate.getMonth()||void 0!==w.config.maxDate&&w.currentYear===w.config.maxDate.getFullYear()&&e>w.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<t.length&&(t=n(t.splice(e,t.length),t.splice(0,e)));for(var a=w.config.showMonths;a–;)w.weekdayContainer.children[a].innerHTML="\n <span class=’flatpickr-weekday’>\n "+t.join("</span><span class=’flatpickr-weekday’>")+"\n </span>\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&&e<w.config.minDate.getFullYear()||w.config.maxDate&&e>w.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<i.length;o++){if("function"==typeof(r=i[o])&&r(t))return a;if(r instanceof Date&&void 0!==t&&r.getTime()===t.getTime())return a;if("string"==typeof r&&void 0!==t){var l=w.parseDate(r,void 0,!0);return l&&l.getTime()===t.getTime()?a:!a}if("object"==typeof r&&void 0!==t&&r.from&&r.to&&t.getTime()>=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;c<i;c+=y)X(new Date(c),!0)||(o=o||c>a&&c<i,c<t&&(!r||c>r)?r=c:c>t&&(!l||c<l)&&(l=c));for(var d=0;d<w.config.showMonths;d++)for(var s=w.daysContainer.children[d],u=function(a,i){var c,d,u,f=s.children[a],m=f.dateObj.getTime(),g=r>0&&m<r||l>0&&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"),t<n&&m===t?f.classList.add("startRange"):t>n&&m===t&&f.classList.add("endRange"),m>=r&&(0===l||m<=l)&&(d=t,u=n,(c=m)>Math.min(d,u)&&c<Math.max(d,u))&&f.classList.add("inRange"))))},f=0,m=s.children.length;f<m;f++)u(f)}}function ie(){!w.isOpen||w.config.static||w.config.inline||ce()}function oe(e){return function(n){var t=w.config["_"+e+"Date"]=w.parseDate(n,w.config.dateFormat),a=w.config["_"+("min"===e?"max":"min")+"Date"];void 0!==t&&(w["min"===e?"minDateHasTime":"maxDateHasTime"]=t.getHours()>0||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&&c<t&&l.top>t,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;n<document.styleSheets.length;n++){var t=document.styleSheets[n];try{t.cssRules}catch(e){continue}e=t;break}return null!=e?e:(a=document.createElement("style"),document.head.appendChild(a),a.sheet);var a}();if(void 0===D)return;var b=window.document.body.offsetWidth,C=Math.max(0,b/2-a/2),M=D.cssRules.length,y="{left:"+l.left+"px;right:auto;}";d(w.calendarContainer,"rightMost",!1),d(w.calendarContainer,"centerMost",!0),D.insertRule(".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after"+y,M),w.calendarContainer.style.left=C+"px",w.calendarContainer.style.right="auto"}else w.calendarContainer.style.left="auto",w.calendarContainer.style.right=p+"px";else w.calendarContainer.style.left=f+"px",w.calendarContainer.style.right="auto"}}}function de(){w.config.noCalendar||w.isMobile||(K(),De(),J())}function se(){w._input.focus(),-1!==window.navigator.userAgent.indexOf("MSIE")||void 0!==navigator.msMaxTouchPoints?setTimeout(w.close,0):w.close()}function ue(e){e.preventDefault(),e.stopPropagation();var n=f(g(e),(function(e){return e.classList&&e.classList.contains("flatpickr-day")&&!e.classList.contains("flatpickr-disabled")&&!e.classList.contains("notAllowed")}));if(void 0!==n){var t=n,a=w.latestSelectedDateObj=new Date(t.dateObj.getTime()),i=(a.getMonth()<w.currentMonth||a.getMonth()>w.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]&&a<t.length;a++)t[a](w.selectedDates,w.input.value,w,n);"onChange"===e&&(w.input.dispatchEvent(he("change")),w.input.dispatchEvent(he("input")))}}function he(e){var n=document.createEvent("Event");return n.initEvent(e,!0,!0),n}function ve(e){for(var n=0;n<w.selectedDates.length;n++)if(0===M(w.selectedDates[n],e))return""+n;return!1}function De(){w.config.noCalendar||w.isMobile||!w.monthNav||(w.yearElements.forEach((function(e,n){var t=new Date(w.currentYear,w.currentMonth,1);t.setMonth(w.currentMonth+n),w.config.showMonths>1||"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.currentYear<w.config.minDate.getFullYear()),w._hideNextMonthArrow=void 0!==w.config.maxDate&&(w.currentYear===w.config.maxDate.getFullYear()?w.currentMonth+1>w.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<n.length;u++)w.config[n[u]]=!0===w.config[n[u]]||"true"===w.config[n[u]];for(t.filter((function(e){return void 0!==w.config[e]})).forEach((function(e){w.config[e]=c(w.config[e]||[]).map(x)})),w.isMobile=!w.config.disableMobile&&!w.config.inline&&"single"===w.config.mode&&!w.config.disable.length&&!w.config.enable.length&&!w.config.weekNumbers&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),u=0;u<w.config.plugins.length;u++){var f=w.config.plugins[u](w)||{};for(var m in f)t.indexOf(m)>-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()<w.now.getTime()?w.config.maxDate:w.now,w.currentYear=w._initialDate.getFullYear(),w.currentMonth=w._initialDate.getMonth(),w.selectedDates.length>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;i<t.length;i++){var o=t[i];try{if(null!==o.getAttribute("data-fp-omit"))continue;void 0!==o._flatpickr&&(o._flatpickr.destroy(),o._flatpickr=void 0),o._flatpickr=x(o,n||{}),a.push(o._flatpickr)}catch(e){console.error(e)}}return 1===a.length?a[0]:a}"function"!=typeof Object.assign&&(Object.assign=function(e){for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];if(!e)throw TypeError("Cannot convert undefined or null to object");for(var a=function(n){n&&Object.keys(n).forEach((function(t){return e[t]=n[t]}))},i=0,o=n;i<o.length;i++){var r=o[i];a(r)}return e}),"undefined"!=typeof HTMLElement&&"undefined"!=typeof HTMLCollection&&"undefined"!=typeof NodeList&&(HTMLCollection.prototype.flatpickr=NodeList.prototype.flatpickr=function(e){return E(this,e)},HTMLElement.prototype.flatpickr=function(e){return E([this],e)});var k=function(e,n){return"string"==typeof e?E(window.document.querySelectorAll(e),n):e instanceof Node?E([e],n):E(e,n)};return k.defaultConfig={},k.l10ns={en:e({},i),default:e({},i)},k.localize=function(n){k.l10ns.default=e(e({},k.l10ns.default),n)},k.setDefaults=function(n){k.defaultConfig=e(e({},k.defaultConfig),n)},k.parseDate=C({}),k.formatDate=b({}),k.compareDates=M,"undefined"!=typeof jQuery&&void 0!==jQuery.fn&&(jQuery.fn.flatpickr=function(e){return E(this,e)}),Date.prototype.fp_incr=function(e){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+("string"==typeof e?parseInt(e,10):e))},"undefined"!=typeof window&&(window.flatpickr=k),k},"object"==typeof t&&void 0!==n?n.exports=r():"function"==typeof define&&define.amd?define(r):(o=o||self).flatpickr=r()},n”, “ 436: function _(t,e,a,r,i){r(),a.default=’.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);box-shadow:1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible;}.flatpickr-calendar.open{display:inline-block;z-index:99999;}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);animation:fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);}.flatpickr-calendar.inline{display:block;position:relative;top:2px;}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px);}.flatpickr-calendar.static.open{z-index:999;display:block;}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none !important;box-shadow:none !important;}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0;}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0;}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6;}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto;}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:\’\’;height:0;width:0;left:22px;}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px;}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%;}.flatpickr-calendar:before{border-width:5px;margin:0 -5px;}.flatpickr-calendar:after{border-width:4px;margin:0 -4px;}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%;}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6;}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff;}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%;}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6;}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff;}.flatpickr-calendar:focus{outline:0;}.flatpickr-wrapper{position:relative;display:inline-block;}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.flatpickr-months .flatpickr-month{background:transparent;color:rgba(0, 0, 0, 0.9);fill:rgba(0, 0, 0, 0.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0, 0, 0, 0.9);fill:rgba(0, 0, 0, 0.9);}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none;}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative;}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0;}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0;}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9;}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747;}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px;}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill 0.1s;transition:fill 0.1s;fill:inherit;}.numInputWrapper{position:relative;height:auto;}.numInputWrapper input,.numInputWrapper span{display:inline-block;}.numInputWrapper input{width:100%;}.numInputWrapper input::-ms-clear{display:none;}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57, 57, 57, 0.15);-webkit-box-sizing:border-box;box-sizing:border-box;}.numInputWrapper span:hover{background:rgba(0, 0, 0, 0.1);}.numInputWrapper span:active{background:rgba(0, 0, 0, 0.2);}.numInputWrapper span:after{display:block;content:"";position:absolute;}.numInputWrapper span.arrowUp{top:0;border-bottom:0;}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57, 57, 57, 0.6);top:26%;}.numInputWrapper span.arrowDown{top:50%;}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57, 57, 57, 0.6);top:40%;}.numInputWrapper span svg{width:inherit;height:auto;}.numInputWrapper span svg path{fill:rgba(0, 0, 0, 0.5);}.numInputWrapper:hover{background:rgba(0, 0, 0, 0.05);}.numInputWrapper:hover span{opacity:1;}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px);}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:0.5ch;padding:0;}.flatpickr-current-month span.cur-month:hover{background:rgba(0, 0, 0, 0.05);}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block;}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0, 0, 0, 0.9);}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0, 0, 0, 0.9);}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 0.5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;}.flatpickr-current-month input.cur-year:focus{outline:0;}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0, 0, 0, 0.5);background:transparent;pointer-events:none;}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:none;padding:0 0 0 0.5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto;}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none;}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0, 0, 0, 0.05);}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0;}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px;}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:rgba(0, 0, 0, 0.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder;}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0;}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px;}.flatpickr-days:focus{outline:0;}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px);opacity:1;}.dayContainer + .dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6;}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6;}.flatpickr-day.today{border-color:#959ea9;}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff;}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7;}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px;}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0;}.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7;}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px;}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:rgba(57, 57, 57, 0.3);background:transparent;border-color:transparent;cursor:default;}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57, 57, 57, 0.1);}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7, 5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7, 5px 0 0 #569ff7;}.flatpickr-day.hidden{visibility:hidden;}.rangeMode .flatpickr-day{margin-top:1px;}.flatpickr-weekwrapper{float:left;}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6;}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px;}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57, 57, 57, 0.3);background:transparent;cursor:default;border:none;}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box;}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.flatpickr-time:after{content:"";display:table;clear:both;}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left;}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939;}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939;}.flatpickr-time.hasSeconds .numInputWrapper{width:26%;}.flatpickr-time.time24hr .numInputWrapper{width:49%;}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;}.flatpickr-time input.flatpickr-hour{font-weight:bold;}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400;}.flatpickr-time input:focus{outline:0;border:0;}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400;}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee;}.flatpickr-input[readonly]{cursor:pointer;}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0);}to{opacity:1;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0);}to{opacity:1;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}}.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-box-shadow:0 3px 13px rgba(0, 0, 0, 0.08);box-shadow:0 3px 13px rgba(0, 0, 0, 0.08);}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible;}.flatpickr-calendar.open{display:inline-block;z-index:99999;}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);animation:fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);}.flatpickr-calendar.inline{display:block;position:relative;top:2px;}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px);}.flatpickr-calendar.static.open{z-index:999;display:block;}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none !important;box-shadow:none !important;}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0;}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0;}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #eceef1;}.flatpickr-calendar.hasTime .flatpickr-innerContainer{border-bottom:0;}.flatpickr-calendar.hasTime .flatpickr-time{border:1px solid #eceef1;}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto;}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:\’\’;height:0;width:0;left:22px;}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px;}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%;}.flatpickr-calendar:before{border-width:5px;margin:0 -5px;}.flatpickr-calendar:after{border-width:4px;margin:0 -4px;}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%;}.flatpickr-calendar.arrowTop:before{border-bottom-color:#eceef1;}.flatpickr-calendar.arrowTop:after{border-bottom-color:#eceef1;}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%;}.flatpickr-calendar.arrowBottom:before{border-top-color:#eceef1;}.flatpickr-calendar.arrowBottom:after{border-top-color:#eceef1;}.flatpickr-calendar:focus{outline:0;}.flatpickr-wrapper{position:relative;display:inline-block;}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.flatpickr-months .flatpickr-month{border-radius:5px 5px 0 0;background:#eceef1;color:#5a6171;fill:#5a6171;height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:#5a6171;fill:#5a6171;}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none;}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative;}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0;}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0;}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#bbb;}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747;}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px;}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill 0.1s;transition:fill 0.1s;fill:inherit;}.numInputWrapper{position:relative;height:auto;}.numInputWrapper input,.numInputWrapper span{display:inline-block;}.numInputWrapper input{width:100%;}.numInputWrapper input::-ms-clear{display:none;}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(72, 72, 72, 0.15);-webkit-box-sizing:border-box;box-sizing:border-box;}.numInputWrapper span:hover{background:rgba(0, 0, 0, 0.1);}.numInputWrapper span:active{background:rgba(0, 0, 0, 0.2);}.numInputWrapper span:after{display:block;content:"";position:absolute;}.numInputWrapper span.arrowUp{top:0;border-bottom:0;}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(72, 72, 72, 0.6);top:26%;}.numInputWrapper span.arrowDown{top:50%;}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(72, 72, 72, 0.6);top:40%;}.numInputWrapper span svg{width:inherit;height:auto;}.numInputWrapper span svg path{fill:rgba(90, 97, 113, 0.5);}.numInputWrapper:hover{background:rgba(0, 0, 0, 0.05);}.numInputWrapper:hover span{opacity:1;}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px);}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:0.5ch;padding:0;}.flatpickr-current-month span.cur-month:hover{background:rgba(0, 0, 0, 0.05);}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block;}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#5a6171;}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#5a6171;}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 0.5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;}.flatpickr-current-month input.cur-year:focus{outline:0;}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(90, 97, 113, 0.5);background:transparent;pointer-events:none;}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:#eceef1;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:none;padding:0 0 0 0.5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto;}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none;}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0, 0, 0, 0.05);}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:#eceef1;outline:none;padding:0;}.flatpickr-weekdays{background:#eceef1;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px;}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;}span.flatpickr-weekday{cursor:default;font-size:90%;background:#eceef1;color:#5a6171;line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder;}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0;}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px;border-left:1px solid #eceef1;border-right:1px solid #eceef1;}.flatpickr-days:focus{outline:0;}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px);opacity:1;}.dayContainer + .dayContainer{-webkit-box-shadow:-1px 0 0 #eceef1;box-shadow:-1px 0 0 #eceef1;}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#484848;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e2e2e2;border-color:#e2e2e2;}.flatpickr-day.today{border-color:#bbb;}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#bbb;background:#bbb;color:#fff;}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#ff5a5f;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#ff5a5f;}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px;}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0;}.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #ff5a5f;box-shadow:-10px 0 0 #ff5a5f;}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px;}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e2e2e2, 5px 0 0 #e2e2e2;box-shadow:-5px 0 0 #e2e2e2, 5px 0 0 #e2e2e2;}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:rgba(72, 72, 72, 0.3);background:transparent;border-color:transparent;cursor:default;}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(72, 72, 72, 0.1);}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #ff5a5f, 5px 0 0 #ff5a5f;box-shadow:-5px 0 0 #ff5a5f, 5px 0 0 #ff5a5f;}.flatpickr-day.hidden{visibility:hidden;}.rangeMode .flatpickr-day{margin-top:1px;}.flatpickr-weekwrapper{float:left;}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;border-left:1px solid #eceef1;}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px;}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(72, 72, 72, 0.3);background:transparent;cursor:default;border:none;}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;background:#fff;border-bottom:1px solid #eceef1;}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box;}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;background:#fff;border-radius:0 0 5px 5px;}.flatpickr-time:after{content:"";display:table;clear:both;}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left;}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#484848;}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#484848;}.flatpickr-time.hasSeconds .numInputWrapper{width:26%;}.flatpickr-time.time24hr .numInputWrapper{width:49%;}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#484848;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;}.flatpickr-time input.flatpickr-hour{font-weight:bold;}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400;}.flatpickr-time input:focus{outline:0;border:0;}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#484848;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400;}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eaeaea;}.flatpickr-input[readonly]{cursor:pointer;}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0);}to{opacity:1;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0);}to{opacity:1;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}}span.flatpickr-day.selected{font-weight:bold;}’},n”, “ 437: function _(e,t,a,i,r){i();const n=e(1).__importDefault(e(181)),s=e(438),d=e(8);class _ extends s.AbstractRangeSliderView{}a.DateRangeSliderView=_,_.__name__="DateRangeSliderView";class l extends s.AbstractSlider{constructor(e){super(e),this.behaviour="drag",this.connected=[!1,!0,!1]}static init_DateRangeSlider(){this.prototype.default_view=_,this.override({format:"%d %b %Y"})}_formatter(e,t){return d.isString(t)?n.default(e,t):t.compute(e)}}a.DateRangeSlider=l,l.__name__="DateRangeSlider",l.init_DateRangeSlider()},n”, “ 438: function _(t,e,i,s,l){s();const r=t(1),o=r.__importStar(t(439)),n=t(43),a=t(9),d=t(22),_=t(420),h=t(166),c=r.__importStar(t(440)),m=c,u=r.__importDefault(t(441)),p=r.__importStar(t(427));class b extends _.ControlView{controls(){yield this.slider_el}get noUiSlider(){return this.slider_el.noUiSlider}connect_signals(){super.connect_signals();const{direction:t,orientation:e,tooltips:i}=this.model.properties;this.on_change([t,e,i],(()=>this.render()));const{start:s,end:l,value:r,step:o,title:n}=this.model.properties;this.on_change([s,l,r,o],(()=>{const{start:t,end:e,value:i,step:s}=this._calc_to();this.noUiSlider.updateOptions({range:{min:t,max:e},start:i,step:s})}));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([r,n,d],(()=>this._update_title()))}styles(){return[…super.styles(),u.default,c.default]}_update_title(){var t;n.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(n.span({class:m.slider_value},e))}}_set_bar_color(){if(!this.model.disabled){this.slider_el.querySelector(".noUi-connect").style.backgroundColor=d.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=a.repeat(t,i.length)}else l=!1;if(null==this.slider_el){this.slider_el=n.div(),o.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 r=(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)=>r(e,!0))),this.noUiSlider.on("end",((t,e)=>r(e,!1)))}else this.noUiSlider.updateOptions({range:{min:t,max:e},start:i,step:s});this._set_bar_color(),this.model.disabled?this.slider_el.setAttribute("disabled","true"):this.slider_el.removeAttribute("disabled"),this.title_el=n.div({class:m.slider_title}),this._update_title(),this.group_el=n.div({class:p.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 v 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=v,v.__name__="AbstractSliderView";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 t}}i.AbstractRangeSliderView=g,g.__name__="AbstractRangeSliderView";class S extends _.Control{constructor(t){super(t),this.connected=!1}static init_AbstractSlider(){this.define((({Any:t,Boolean:e,Number:i,String:s,Color:l,Or:r,Enum:o,Ref:n,Nullable:a})=>({title:[a(s),""],show_value:[e,!0],start:[t],end:[t],value:[t],value_throttled:[t],step:[i,1],format:[r(s,n(h.TickFormatter))],direction:[o("ltr","rtl"),"ltr"],tooltips:[e,!0],bar_color:[l,"#e6e6e6"]})))}pretty(t){return this._formatter(t,this.format)}}i.AbstractSlider=S,S.__name__="AbstractSlider",S.init_AbstractSlider()},n”, “ 439: function _(t,e,r,n,i){n”, “ /! nouislider - 14.6.3 - 11/19/2020 /n”, “ var o;o=function(){"use strict";var t="14.6.3";function e(t){t.parentElement.removeChild(t)}function r(t){return null!=t}function n(t){t.preventDefault()}function i(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}function o(t,e,r){r>0&&(u(t,e),setTimeout((function(){c(t,e)}),r))}function s(t){return Math.max(Math.min(t,100),0)}function a(t){return Array.isArray(t)?t:[t]}function l(t){var e=(t=String(t)).split(".");return e.length>1?e[1].length:0}function u(t,e){t.classList&&!/\s/.test(e)?t.classList.add(e):t.className+=" "+e}function c(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 p(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 f(t,e){return 100/(e-t)}function d(t,e,r){return 100*e/(t[r+1]-t[r])}function h(t,e){for(var r=1;t>=e[r];)r+=1;return r}function m(t,e,r){if(r>=t.slice(-1)[0])return 100;var n=h(r,t),i=t[n-1],o=t[n],s=e[n-1],a=e[n];return s+function(t,e){return d(t,t[0]<0?e+Math.abs(t[0]):e-t[0],0)}([i,o],r)/f(s,a)}function g(t,e,r,n){if(100===n)return n;var i=h(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}function v(t,e,r){var n;if("number"==typeof e&&(e=[e]),!Array.isArray(e))throw new Error("noUiSlider (14.6.3): ‘range’ contains invalid value.");if(!i(n="min"===t?0:"max"===t?100:parseFloat(t))||!i(e[0]))throw new Error("noUiSlider (14.6.3): ‘range’ value isn’t numeric.");r.xPct.push(n),r.xVal.push(e[0]),n?r.xSteps.push(!isNaN(e[1])&&e[1]):isNaN(e[1])||(r.xSteps[0]=e[1]),r.xHighestCompleteStep.push(0)}function b(t,e,r){if(e)if(r.xVal[t]!==r.xVal[t+1]){r.xSteps[t]=d([r.xVal[t],r.xVal[t+1]],e,0)/f(r.xPct[t],r.xPct[t+1]);var n=(r.xVal[t+1]-r.xVal[t])/r.xNumSteps[t],i=Math.ceil(Number(n.toFixed(3))-1),o=r.xVal[t]+r.xNumSteps[t]*i;r.xHighestCompleteStep[t]=o}else r.xSteps[t]=r.xHighestCompleteStep[t]=r.xVal[t]}function x(t,e,r){var n;this.xPct=[],this.xVal=[],this.xSteps=[r||!1],this.xNumSteps=[!1],this.xHighestCompleteStep=[],this.snap=e;var i=[];for(n in t)t.hasOwnProperty(n)&&i.push([t[n],n]);for(i.length&&"object"==typeof i[0][0]?i.sort((function(t,e){return t[0][0]-e[0][0]})):i.sort((function(t,e){return t[0]-e[0]})),n=0;n<i.length;n++)v(i[n][1],i[n][0],this);for(this.xNumSteps=this.xSteps.slice(0),n=0;n<this.xNumSteps.length;n++)b(n,this.xNumSteps[n],this)}x.prototype.getDistance=function(t){var e,r=[];for(e=0;e<this.xNumSteps.length-1;e++){var n=this.xNumSteps[e];if(n&&t/n%1!=0)throw new Error("noUiSlider (14.6.3): ‘limit’, ‘margin’ and ‘padding’ of "+this.xPct[e]+"% range must be divisible by step.");r[e]=d(this.xVal,t,e)}return r},x.prototype.getAbsoluteDistance=function(t,e,r){var n,i=0;if(t<this.xPct[this.xPct.length-1])for(;t>this.xPct[i+1];)i++;else t===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);r||t!==this.xPct[i+1]||i++;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},x.prototype.toStepping=function(t){return t=m(this.xVal,this.xPct,t)},x.prototype.fromStepping=function(t){return function(t,e,r){if(r>=100)return t.slice(-1)[0];var n=h(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)*f(s,e[n]))}(this.xVal,this.xPct,t)},x.prototype.getStep=function(t){return t=g(this.xPct,this.xSteps,this.snap,t)},x.prototype.getDefaultStep=function(t,e,r){var n=h(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},x.prototype.getNearbySteps=function(t){var e=h(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]}}},x.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(l);return Math.max.apply(null,t)},x.prototype.convert=function(t){return this.getStep(this.toStepping(t))};var S={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"},y=".__tooltips",E=".__aria";function C(t){if(function(t){return"object"==typeof t&&"function"==typeof t.to&&"function"==typeof t.from}(t))return!0;throw new Error("noUiSlider (14.6.3): ‘format’ requires ‘to’ and ‘from’ methods.")}function P(t,e){if(!i(e))throw new Error("noUiSlider (14.6.3): ‘step’ is not numeric.");t.singleStep=e}function N(t,e){if(!i(e))throw new Error("noUiSlider (14.6.3): ‘keyboardPageMultiplier’ is not numeric.");t.keyboardPageMultiplier=e}function k(t,e){if(!i(e))throw new Error("noUiSlider (14.6.3): ‘keyboardDefaultStep’ is not numeric.");t.keyboardDefaultStep=e}function U(t,e){if("object"!=typeof e||Array.isArray(e))throw new Error("noUiSlider (14.6.3): ‘range’ is not an object.");if(void 0===e.min||void 0===e.max)throw new Error("noUiSlider (14.6.3): Missing ‘min’ or ‘max’ in ‘range’.");if(e.min===e.max)throw new Error("noUiSlider (14.6.3): ‘range’ ‘min’ and ‘max’ cannot be equal.");t.spectrum=new x(e,t.snap,t.singleStep)}function A(t,e){if(e=a(e),!Array.isArray(e)||!e.length)throw new Error("noUiSlider (14.6.3): ‘start’ option is incorrect.");t.handles=e.length,t.start=e}function V(t,e){if(t.snap=e,"boolean"!=typeof e)throw new Error("noUiSlider (14.6.3): ‘snap’ option must be a boolean.")}function D(t,e){if(t.animate=e,"boolean"!=typeof e)throw new Error("noUiSlider (14.6.3): ‘animate’ option must be a boolean.")}function M(t,e){if(t.animationDuration=e,"number"!=typeof e)throw new Error("noUiSlider (14.6.3): ‘animationDuration’ option must be a number.")}function O(t,e){var r,n=[!1];if("lower"===e?e=[!0,!1]:"upper"===e&&(e=[!1,!0]),!0===e||!1===e){for(r=1;r<t.handles;r++)n.push(e);n.push(!1)}else{if(!Array.isArray(e)||!e.length||e.length!==t.handles+1)throw new Error("noUiSlider (14.6.3): ‘connect’ option doesn’t match handle count.");n=e}t.connect=n}function L(t,e){switch(e){case"horizontal":t.ort=0;break;case"vertical":t.ort=1;break;default:throw new Error("noUiSlider (14.6.3): ‘orientation’ option is invalid.")}}function z(t,e){if(!i(e))throw new Error("noUiSlider (14.6.3): ‘margin’ option must be numeric.");0!==e&&(t.margin=t.spectrum.getDistance(e))}function H(t,e){if(!i(e))throw new Error("noUiSlider (14.6.3): ‘limit’ option must be numeric.");if(t.limit=t.spectrum.getDistance(e),!t.limit||t.handles<2)throw new Error("noUiSlider (14.6.3): ‘limit’ option is only supported on linear sliders with 2 or more handles.")}function j(t,e){var r;if(!i(e)&&!Array.isArray(e))throw new Error("noUiSlider (14.6.3): ‘padding’ option must be numeric or array of exactly 2 numbers.");if(Array.isArray(e)&&2!==e.length&&!i(e[0])&&!i(e[1]))throw new Error("noUiSlider (14.6.3): ‘padding’ option must be numeric or array of exactly 2 numbers.");if(0!==e){for(Array.isArray(e)||(e=[e,e]),t.padding=[t.spectrum.getDistance(e[0]),t.spectrum.getDistance(e[1])],r=0;r<t.spectrum.xNumSteps.length-1;r++)if(t.padding[0][r]<0||t.padding[1][r]<0)throw new Error("noUiSlider (14.6.3): ‘padding’ option must be a positive number(s).");var n=e[0]+e[1],o=t.spectrum.xVal[0];if(n/(t.spectrum.xVal[t.spectrum.xVal.length-1]-o)>1)throw new Error("noUiSlider (14.6.3): ‘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 (14.6.3): ‘direction’ option was not recognized.")}}function R(t,e){if("string"!=typeof e)throw new Error("noUiSlider (14.6.3): ‘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;if(i){if(2!==t.handles)throw new Error("noUiSlider (14.6.3): ‘fixed’ behaviour must be used with 2 handles");z(t,t.start[1]-t.start[0])}if(a&&(t.margin||t.limit))throw new Error("noUiSlider (14.6.3): ‘unconstrained’ behaviour cannot be used with margin or limit");t.events={tap:r||o,drag:n,fixed:i,snap:o,hover:s,unconstrained:a}}function T(t,e){if(!1!==e)if(!0===e){t.tooltips=[];for(var r=0;r<t.handles;r++)t.tooltips.push(!0)}else{if(t.tooltips=a(e),t.tooltips.length!==t.handles)throw new Error("noUiSlider (14.6.3): must pass a formatter for all handles.");t.tooltips.forEach((function(t){if("boolean"!=typeof t&&("object"!=typeof t||"function"!=typeof t.to))throw new Error("noUiSlider (14.6.3): ‘tooltips’ must be passed a formatter or ‘false’.")}))}}function _(t,e){t.ariaFormat=e,C(e)}function B(t,e){t.format=e,C(e)}function q(t,e){if(t.keyboardSupport=e,"boolean"!=typeof e)throw new Error("noUiSlider (14.6.3): ‘keyboardSupport’ option must be a boolean.")}function X(t,e){t.documentElement=e}function Y(t,e){if("string"!=typeof e&&!1!==e)throw new Error("noUiSlider (14.6.3): ‘cssPrefix’ must be a string or `false`.");t.cssPrefix=e}function I(t,e){if("object"!=typeof e)throw new Error("noUiSlider (14.6.3): ‘cssClasses’ must be an object.");if("string"==typeof t.cssPrefix)for(var r in t.cssClasses={},e)e.hasOwnProperty(r)&&(t.cssClasses[r]=t.cssPrefix+e[r]);else t.cssClasses=e}function W(t){var e={margin:0,limit:0,padding:0,animate:!0,animationDuration:300,ariaFormat:S,format:S},n={step:{r:!1,t:P},keyboardPageMultiplier:{r:!1,t:N},keyboardDefaultStep:{r:!1,t:k},start:{r:!0,t:A},connect:{r:!0,t:O},direction:{r:!0,t:F},snap:{r:!1,t:V},animate:{r:!1,t:D},animationDuration:{r:!1,t:M},range:{r:!0,t:U},orientation:{r:!1,t:L},margin:{r:!1,t:z},limit:{r:!1,t:H},padding:{r:!1,t:j},behaviour:{r:!0,t:R},ariaFormat:{r:!1,t:_},format:{r:!1,t:B},tooltips:{r:!1,t:T},keyboardSupport:{r:!0,t:q},documentElement:{r:!1,t:X},cssPrefix:{r:!0,t:Y},cssClasses:{r:!0,t:I}},i={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:!0,cssPrefix:"noUi-",cssClasses:w,keyboardPageMultiplier:5,keyboardDefaultStep:10};t.format&&!t.ariaFormat&&(t.ariaFormat=t.format),Object.keys(n).forEach((function(o){if(!r(t[o])&&void 0===i[o]){if(n[o].r)throw new Error("noUiSlider (14.6.3): ‘"+o+"’ is required.");return!0}n[o].t(e,r(t[o])?t[o]:i[o])})),e.pips=t.pips;var o=document.createElement("div"),s=void 0!==o.style.msTransform,a=void 0!==o.style.transform;return e.transformRule=a?"transform":s?"msTransform":"webkitTransform",e.style=[["left","top"],["right","bottom"]][e.dir][e.ort],e}function $(t,r,i){var l,f,d,h,m,g,v,b,x=window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"},S=window.CSS&&CSS.supports&&CSS.supports("touch-action","none")&&function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e)}catch(t){}return t}(),w=t,C=r.spectrum,P=[],N=[],k=[],U=0,A={},V=t.ownerDocument,D=r.documentElement||V.documentElement,M=V.body,O="rtl"===V.dir||1===r.ort?0:100;function L(t,e){var r=V.createElement("div");return e&&u(r,e),t.appendChild(r),r}function z(t,e){var n=L(t,r.cssClasses.origin),i=L(n,r.cssClasses.handle);return L(i,r.cssClasses.touchArea),i.setAttribute("data-handle",e),r.keyboardSupport&&(i.setAttribute("tabindex","0"),i.addEventListener("keydown",(function(t){return function(t,e){if(F()||R(e))return!1;var n=["Left","Right"],i=["Down","Up"],o=["PageDown","PageUp"],s=["Home","End"];r.dir&&!r.ort?n.reverse():r.ort&&!r.dir&&(i.reverse(),o.reverse());var a,l=t.key.replace("Arrow",""),u=l===o[0],c=l===o[1],p=l===i[0]||l===n[0]||u,f=l===i[1]||l===n[1]||c,d=l===s[0],h=l===s[1];if(!(p||f||d||h))return!0;if(t.preventDefault(),f||p){var m=r.keyboardPageMultiplier,g=p?0:1,v=ht(e)[g];if(null===v)return!1;!1===v&&(v=C.getDefaultStep(N[e],p,r.keyboardDefaultStep)),(c||u)&&(v*=m),v=Math.max(v,1e-7),v*=p?-1:1,a=P[e]+v}else a=h?r.spectrum.xVal[r.spectrum.xVal.length-1]:r.spectrum.xVal[0];return ut(e,C.toStepping(a),!0,!0),nt("slide",e),nt("update",e),nt("change",e),nt("set",e),!1}(t,e)}))),i.setAttribute("role","slider"),i.setAttribute("aria-orientation",r.ort?"vertical":"horizontal"),0===e?u(i,r.cssClasses.handleLower):e===r.handles-1&&u(i,r.cssClasses.handleUpper),n}function H(t,e){return!!e&&L(t,r.cssClasses.connect)}function j(t,e){return!!r.tooltips[e]&&L(t.firstChild,r.cssClasses.tooltip)}function F(){return w.hasAttribute("disabled")}function R(t){return f[t].hasAttribute("disabled")}function T(){m&&(rt("update"+y),m.forEach((function(t){t&&e(t)})),m=null)}function _(){T(),m=f.map(j),et("update"+y,(function(t,e,n){if(m[e]){var i=t[e];!0!==r.tooltips[e]&&(i=r.tooltips[e].to(n[e])),m[e].innerHTML=i}}))}function B(t,e,n){var i=V.createElement("div"),o=[];o[0]=r.cssClasses.valueNormal,o[1]=r.cssClasses.valueLarge,o[2]=r.cssClasses.valueSub;var s=[];s[0]=r.cssClasses.markerNormal,s[1]=r.cssClasses.markerLarge,s[2]=r.cssClasses.markerSub;var a=[r.cssClasses.valueHorizontal,r.cssClasses.valueVertical],l=[r.cssClasses.markerHorizontal,r.cssClasses.markerVertical];function c(t,e){var n=e===r.cssClasses.value,i=n?o:s;return e+" "+(n?a:l)[r.ort]+" "+i[t]}return u(i,r.cssClasses.pips),u(i,0===r.ort?r.cssClasses.pipsHorizontal:r.cssClasses.pipsVertical),Object.keys(t).forEach((function(o){!function(t,o,s){if(-1!==(s=e?e(o,s):s)){var a=L(i,!1);a.className=c(s,r.cssClasses.marker),a.style[r.style]=t+"%",s>0&&((a=L(i,!1)).className=c(s,r.cssClasses.value),a.setAttribute("data-value",o),a.style[r.style]=t+"%",a.innerHTML=n.to(o))}}(o,t[o][0],t[o][1])})),i}function q(){h&&(e(h),h=null)}function X(t){q();var e=t.mode,r=t.density||1,n=t.filter||!1,i=function(t,e,r){if("range"===t||"steps"===t)return C.xVal;if("count"===t){if(e<2)throw new Error("noUiSlider (14.6.3): ‘values’ (>= 2) required for mode ‘count’.");var n=e-1,i=100/n;for(e=[];n–;)e[n]=n*i;e.push(100),t="positions"}return"positions"===t?e.map((function(t){return C.fromStepping(r?C.getStep(t):t)})):"values"===t?r?e.map((function(t){return C.fromStepping(C.getStep(C.toStepping(t)))})):e:void 0}(e,t.values||!1,t.stepped||!1),o=function(t,e,r){var n,i={},o=C.xVal[0],s=C.xVal[C.xVal.length-1],a=!1,l=!1,u=0;return n=r.slice().sort((function(t,e){return t-e})),(r=n.filter((function(t){return!this[t]&&(this[t]=!0)}),{}))[0]!==o&&(r.unshift(o),a=!0),r[r.length-1]!==s&&(r.push(s),l=!0),r.forEach((function(n,o){var s,c,p,f,d,h,m,g,v,b,x=n,S=r[o+1],w="steps"===e;if(w&&(s=C.xNumSteps[o]),s||(s=S-x),!1!==x)for(void 0===S&&(S=x),s=Math.max(s,1e-7),c=x;c<=S;c=(c+s).toFixed(7)/1){for(g=(d=(f=C.toStepping(c))-u)/t,b=d/(v=Math.round(g)),p=1;p<=v;p+=1)i[(h=u+p*b).toFixed(5)]=[C.fromStepping(h),0];m=r.indexOf(c)>-1?1:w?2:0,!o&&a&&c!==S&&(m=0),c===S&&l||(i[f.toFixed(5)]=[c,m]),u=f}})),i}(r,e,i),s=t.format||{to:Math.round};return h=w.appendChild(B(o,n,s))}function Y(){var t=l.getBoundingClientRect(),e="offset"+["Width","Height"][r.ort];return 0===r.ort?t.width||l[e]:t.height||l[e]}function I(t,e,n,i){var o=function(o){return!!(o=function(t,e,r){var n,i,o=0===t.type.indexOf("touch"),s=0===t.type.indexOf("mouse"),a=0===t.type.indexOf("pointer");if(0===t.type.indexOf("MSPointer")&&(a=!0),"mousedown"===t.type&&!t.buttons&&!t.touches)return!1;if(o){var l=function(t){return t.target===r||r.contains(t.target)||t.target.shadowRoot&&t.target.shadowRoot.contains(r)};if("touchstart"===t.type){var u=Array.prototype.filter.call(t.touches,l);if(u.length>1)return!1;n=u[0].pageX,i=u[0].pageY}else{var c=Array.prototype.find.call(t.changedTouches,l);if(!c)return!1;n=c.pageX,i=c.pageY}}return e=e||p(V),(s||a)&&(n=t.clientX+e.x,i=t.clientY+e.y),t.pageOffset=e,t.points=[n,i],t.cursor=s||a,t}(o,i.pageOffset,i.target||e))&&!(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!==o.buttons&&o.buttons>1)&&(!i.hover||!o.buttons)&&(S||o.preventDefault(),o.calcPoint=o.points[r.ort],void n(o,i)));var s,a},s=[];return t.split(" ").forEach((function(t){e.addEventListener(t,o,!!S&&{passive:!0}),s.push([t,o])})),s}function $(t){var e,n,i,o,a,u,c=100*(t-(e=l,n=r.ort,i=e.getBoundingClientRect(),o=e.ownerDocument,a=o.documentElement,u=p(o),/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(u.x=0),n?i.top+u.y-a.clientTop:i.left+u.x-a.clientLeft))/Y();return c=s(c),r.dir?100-c:c}function G(t,e){"mouseout"===t.type&&"HTML"===t.target.nodeName&&null===t.relatedTarget&&K(t,e)}function J(t,e){if(-1===navigator.appVersion.indexOf("MSIE 9")&&0===t.buttons&&0!==e.buttonsProperty)return K(t,e);var n=(r.dir?-1:1)*(t.calcPoint-e.startCalcPoint);st(n>0,100*n/e.baseSize,e.locations,e.handleNumbers)}function K(t,e){e.handle&&(c(e.handle,r.cssClasses.active),U-=1),e.listeners.forEach((function(t){D.removeEventListener(t[0],t[1])})),0===U&&(c(w,r.cssClasses.drag),lt(),t.cursor&&(M.style.cursor="",M.removeEventListener("selectstart",n))),e.handleNumbers.forEach((function(t){nt("change",t),nt("set",t),nt("end",t)}))}function Q(t,e){if(e.handleNumbers.some(R))return!1;var i;1===e.handleNumbers.length&&(i=f[e.handleNumbers[0]].children[0],U+=1,u(i,r.cssClasses.active)),t.stopPropagation();var o=[],s=I(x.move,D,J,{target:t.target,handle:i,listeners:o,startCalcPoint:t.calcPoint,baseSize:Y(),pageOffset:t.pageOffset,handleNumbers:e.handleNumbers,buttonsProperty:t.buttons,locations:N.slice()}),a=I(x.end,D,K,{target:t.target,handle:i,listeners:o,doNotReject:!0,handleNumbers:e.handleNumbers}),l=I("mouseout",D,G,{target:t.target,handle:i,listeners:o,doNotReject:!0,handleNumbers:e.handleNumbers});o.push.apply(o,s.concat(a,l)),t.cursor&&(M.style.cursor=getComputedStyle(t.target).cursor,f.length>1&&u(w,r.cssClasses.drag),M.addEventListener("selectstart",n,!1)),e.handleNumbers.forEach((function(t){nt("start",t)}))}function Z(t){t.stopPropagation();var e=$(t.calcPoint),n=function(t){var e=100,r=!1;return f.forEach((function(n,i){if(!R(i)){var o=N[i],s=Math.abs(o-t);(s<e||s<=e&&t>o||100===s&&100===e)&&(r=i,e=s)}})),r}(e);if(!1===n)return!1;r.events.snap||o(w,r.cssClasses.tap,r.animationDuration),ut(n,e,!0,!0),lt(),nt("slide",n,!0),nt("update",n,!0),nt("change",n,!0),nt("set",n,!0),r.events.snap&&Q(t,{handleNumbers:[n]})}function tt(t){var e=$(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(g,n)}))}))}function et(t,e){A[t]=A[t]||[],A[t].push(e),"update"===t.split(".")[0]&&f.forEach((function(t,e){nt("update",e)}))}function rt(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===E||t===y}(i)&&r!==i||delete A[t]}))}function nt(t,e,n){Object.keys(A).forEach((function(i){var o=i.split(".")[0];t===o&&A[i].forEach((function(t){t.call(g,P.map(r.format.to),e,P.slice(),n||!1,N.slice(),g)}))}))}function it(t,e,n,i,o,a){var l;return f.length>1&&!r.events.unconstrained&&(i&&e>0&&(l=C.getAbsoluteDistance(t[e-1],r.margin,0),n=Math.max(n,l)),o&&e<f.length-1&&(l=C.getAbsoluteDistance(t[e+1],r.margin,1),n=Math.min(n,l))),f.length>1&&r.limit&&(i&&e>0&&(l=C.getAbsoluteDistance(t[e-1],r.limit,0),n=Math.min(n,l)),o&&e<f.length-1&&(l=C.getAbsoluteDistance(t[e+1],r.limit,1),n=Math.max(n,l))),r.padding&&(0===e&&(l=C.getAbsoluteDistance(0,r.padding[0],0),n=Math.max(n,l)),e===f.length-1&&(l=C.getAbsoluteDistance(100,r.padding[1],1),n=Math.min(n,l))),!((n=s(n=C.getStep(n)))===t[e]&&!a)&&n}function ot(t,e){var n=r.ort;return(n?e:t)+", "+(n?t:e)}function st(t,e,r,n){var i=r.slice(),o=[!t,t],s=[t,!t];n=n.slice(),t&&n.reverse(),n.length>1?n.forEach((function(t,r){var n=it(i,t,i[t]+e,o[r],s[r],!1);!1===n?e=0:(e=n-i[t],i[t]=n)})):o=s=[!0];var a=!1;n.forEach((function(t,n){a=ut(t,r[t]+e,o[n],s[n])||a})),a&&n.forEach((function(t){nt("update",t),nt("slide",t)}))}function at(t,e){return r.dir?100-t-e:t}function lt(){k.forEach((function(t){var e=N[t]>50?-1:1,r=3+(f.length+e*t);f[t].style.zIndex=r}))}function ut(t,e,n,i,o){return o||(e=it(N,t,e,n,i,!1)),!1!==e&&(function(t,e){N[t]=e,P[t]=C.fromStepping(e);var n="translate("+ot(10*(at(e,0)-O)+"%","0")+")";f[t].style[r.transformRule]=n,ct(t),ct(t+1)}(t,e),!0)}function ct(t){if(d[t]){var e=0,n=100;0!==t&&(e=N[t-1]),t!==d.length-1&&(n=N[t]);var i=n-e,o="translate("+ot(at(e,i)+"%","0")+")",s="scale("+ot(i/100,"1")+")";d[t].style[r.transformRule]=o+" "+s}}function pt(t,e){return null===t||!1===t||void 0===t?N[e]:("number"==typeof t&&(t=String(t)),t=r.format.from(t),!1===(t=C.toStepping(t))||isNaN(t)?N[e]:t)}function ft(t,e,n){var i=a(t),s=void 0===N[0];e=void 0===e||!!e,r.animate&&!s&&o(w,r.cssClasses.tap,r.animationDuration),k.forEach((function(t){ut(t,pt(i[t],t),!0,!1,n)}));for(var l=1===k.length?0:1;l<k.length;++l)k.forEach((function(t){ut(t,N[t],!0,!0,n)}));lt(),k.forEach((function(t){nt("update",t),null!==i[t]&&e&&nt("set",t)}))}function dt(){var t=P.map(r.format.to);return 1===t.length?t[0]:t}function ht(t){var e=N[t],n=C.getNearbySteps(e),i=P[t],o=n.thisStep.step,s=null;if(r.snap)return[i-n.stepBefore.startValue||null,n.stepAfter.startValue-i||null];!1!==o&&i+o>n.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]}return u(v=w,r.cssClasses.target),0===r.dir?u(v,r.cssClasses.ltr):u(v,r.cssClasses.rtl),0===r.ort?u(v,r.cssClasses.horizontal):u(v,r.cssClasses.vertical),u(v,"rtl"===getComputedStyle(v).direction?r.cssClasses.textDirectionRtl:r.cssClasses.textDirectionLtr),l=L(v,r.cssClasses.base),function(t,e){var n=L(e,r.cssClasses.connects);f=[],(d=[]).push(H(n,t[0]));for(var i=0;i<r.handles;i++)f.push(z(e,i)),k[i]=i,d.push(H(n,t[i+1]))}(r.connect,l),(b=r.events).fixed||f.forEach((function(t,e){I(x.start,t.children[0],Q,{handleNumbers:[e]})})),b.tap&&I(x.start,l,Z,{}),b.hover&&I(x.move,l,tt,{hover:!0}),b.drag&&d.forEach((function(t,e){if(!1!==t&&0!==e&&e!==d.length-1){var n=f[e-1],i=f[e],o=[t];u(t,r.cssClasses.draggable),b.fixed&&(o.push(n.children[0]),o.push(i.children[0])),o.forEach((function(t){I(x.start,t,Q,{handles:[n,i],handleNumbers:[e-1,e]})}))}})),ft(r.start),r.pips&&X(r.pips),r.tooltips&&_(),rt("update"+E),et("update"+E,(function(t,e,n,i,o){k.forEach((function(t){var e=f[t],i=it(N,t,0,!0,!0,!0),s=it(N,t,100,!0,!0,!0),a=o[t],l=r.ariaFormat.to(n[t]);i=C.fromStepping(i).toFixed(1),s=C.fromStepping(s).toFixed(1),a=C.fromStepping(a).toFixed(1),e.children[0].setAttribute("aria-valuemin",i),e.children[0].setAttribute("aria-valuemax",s),e.children[0].setAttribute("aria-valuenow",a),e.children[0].setAttribute("aria-valuetext",l)}))})),g={destroy:function(){for(var t in rt(E),rt(y),r.cssClasses)r.cssClasses.hasOwnProperty(t)&&c(w,r.cssClasses[t]);for(;w.firstChild;)w.removeChild(w.firstChild);delete w.noUiSlider},steps:function(){return k.map(ht)},on:et,off:rt,get:dt,set:ft,setHandle:function(t,e,r,n){if(!((t=Number(t))>=0&&t<k.length))throw new Error("noUiSlider (14.6.3): invalid handle number, got: "+t);ut(t,pt(e,t),!0,!0,n),nt("update",t),r&&nt("set",t)},reset:function(t){ft(r.start,t)},__moveHandles:function(t,e,r){st(t,e,N,r)},options:i,updateOptions:function(t,e){var n=dt(),o=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips"];o.forEach((function(e){void 0!==t[e]&&(i[e]=t[e])}));var s=W(i);o.forEach((function(e){void 0!==t[e]&&(r[e]=s[e])})),C=s.spectrum,r.margin=s.margin,r.limit=s.limit,r.padding=s.padding,r.pips?X(r.pips):q(),r.tooltips?_():T(),N=[],ft(t.start||n,e)},target:w,removePips:q,removeTooltips:T,getTooltips:function(){return m},getOrigins:function(){return f},pips:X}}return{__spectrum:x,version:t,cssClasses:w,create:function(t,e){if(!t||!t.nodeName)throw new Error("noUiSlider (14.6.3): create requires a single element, got: "+t);if(t.noUiSlider)throw new Error("noUiSlider (14.6.3): Slider was already initialized.");var r=$(t,W(e),e);return t.noUiSlider=r,r}}},"function"==typeof define&&define.amd?define([],o):"object"==typeof r?e.exports=o():window.noUiSlider=o()},n”, “ 440: function _(e,t,l,i,o){i(),l.root="bk-root",l.slider_title="bk-slider-title",l.slider_value="bk-slider-value",l.default=".bk-root .bk-slider-title{white-space:nowrap;}.bk-root .bk-slider-value{font-weight:600;}"},n”, “ 441: function _(o,t,r,i,n){i(),r.root="bk-root",r.default=’.bk-root{}.bk-root .noUi-target,.bk-root .noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box;}.bk-root .noUi-target{position:relative;}.bk-root .noUi-base,.bk-root .noUi-connects{width:100%;height:100%;position:relative;z-index:1;}.bk-root .noUi-connects{overflow:hidden;z-index:0;}.bk-root .noUi-connect,.bk-root .noUi-origin{will-change:transform;position:absolute;z-index:1;top:0;right:0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;-webkit-transform-style:preserve-3d;transform-origin:0 0;transform-style:flat;}.bk-root .noUi-connect{height:100%;width:100%;}.bk-root .noUi-origin{height:10%;width:10%;}.bk-root .noUi-txt-dir-rtl.noUi-horizontal .noUi-origin{left:0;right:auto;}.bk-root .noUi-vertical .noUi-origin{width:0;}.bk-root .noUi-horizontal .noUi-origin{height:0;}.bk-root .noUi-handle{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute;}.bk-root .noUi-touch-area{height:100%;width:100%;}.bk-root .noUi-state-tap .noUi-connect,.bk-root .noUi-state-tap .noUi-origin{-webkit-transition:transform 0.3s;transition:transform 0.3s;}.bk-root .noUi-state-drag *{cursor:inherit !important;}.bk-root .noUi-horizontal{height:18px;}.bk-root .noUi-horizontal .noUi-handle{width:34px;height:28px;right:-17px;top:-6px;}.bk-root .noUi-vertical{width:18px;}.bk-root .noUi-vertical .noUi-handle{width:28px;height:34px;right:-6px;top:-17px;}.bk-root .noUi-txt-dir-rtl.noUi-horizontal .noUi-handle{left:-17px;right:auto;}.bk-root .noUi-target{background:#FAFAFA;border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;}.bk-root .noUi-connects{border-radius:3px;}.bk-root .noUi-connect{background:#3FB8AF;}.bk-root .noUi-draggable{cursor:ew-resize;}.bk-root .noUi-vertical .noUi-draggable{cursor:ns-resize;}.bk-root .noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;}.bk-root .noUi-active{box-shadow:inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;}.bk-root .noUi-handle:before,.bk-root .noUi-handle:after{content:"";display:block;position:absolute;height:14px;width:1px;background:#E8E7E6;left:14px;top:6px;}.bk-root .noUi-handle:after{left:17px;}.bk-root .noUi-vertical .noUi-handle:before,.bk-root .noUi-vertical .noUi-handle:after{width:14px;height:1px;left:6px;top:14px;}.bk-root .noUi-vertical .noUi-handle:after{top:17px;}.bk-root [disabled] .noUi-connect{background:#B8B8B8;}.bk-root [disabled].noUi-target,.bk-root [disabled].noUi-handle,.bk-root [disabled] .noUi-handle{cursor:not-allowed;}.bk-root .noUi-pips,.bk-root .noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box;}.bk-root .noUi-pips{position:absolute;color:#999;}.bk-root .noUi-value{position:absolute;white-space:nowrap;text-align:center;}.bk-root .noUi-value-sub{color:#ccc;font-size:10px;}.bk-root .noUi-marker{position:absolute;background:#CCC;}.bk-root .noUi-marker-sub{background:#AAA;}.bk-root .noUi-marker-large{background:#AAA;}.bk-root .noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%;}.bk-root .noUi-value-horizontal{-webkit-transform:translate(-50%, 50%);transform:translate(-50%, 50%);}.bk-root .noUi-rtl .noUi-value-horizontal{-webkit-transform:translate(50%, 50%);transform:translate(50%, 50%);}.bk-root .noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px;}.bk-root .noUi-marker-horizontal.noUi-marker-sub{height:10px;}.bk-root .noUi-marker-horizontal.noUi-marker-large{height:15px;}.bk-root .noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%;}.bk-root .noUi-value-vertical{-webkit-transform:translate(0, -50%);transform:translate(0, -50%);padding-left:25px;}.bk-root .noUi-rtl .noUi-value-vertical{-webkit-transform:translate(0, 50%);transform:translate(0, 50%);}.bk-root .noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px;}.bk-root .noUi-marker-vertical.noUi-marker-sub{width:10px;}.bk-root .noUi-marker-vertical.noUi-marker-large{width:15px;}.bk-root .noUi-tooltip{display:block;position:absolute;border:1px solid #D9D9D9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap;}.bk-root .noUi-horizontal .noUi-tooltip{-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0);left:50%;bottom:120%;}.bk-root .noUi-vertical .noUi-tooltip{-webkit-transform:translate(0, -50%);transform:translate(0, -50%);top:50%;right:120%;}.bk-root .noUi-horizontal .noUi-origin > .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”, “ 442: function _(t,e,i,r,a){r();const s=t(1).__importDefault(t(181)),d=t(438),_=t(8);class n extends d.AbstractSliderView{}i.DateSliderView=n,n.__name__="DateSliderView";class l extends d.AbstractSlider{constructor(t){super(t),this.behaviour="tap",this.connected=[!0,!1]}static init_DateSlider(){this.prototype.default_view=n,this.override({format:"%d %b %Y"})}_formatter(t,e){return _.isString(e)?s.default(t,e):e.compute(t)}}i.DateSlider=l,l.__name__="DateSlider",l.init_DateSlider()},n”, “ 443: function _(e,t,i,n,s){n();const r=e(444);class _ extends r.MarkupView{render(){super.render(),this.model.render_as_text?this.markup_el.textContent=this.model.text:this.markup_el.innerHTML=this.model.text}}i.DivView=_,_.__name__="DivView";class a extends r.Markup{constructor(e){super(e)}static init_Div(){this.prototype.default_view=_,this.define((({Boolean:e})=>({render_as_text:[e,!1]})))}}i.Div=a,a.__name__="Div",a.init_Div()},n”, “ 444: function _(t,e,s,i,a){i();const n=t(1),l=t(224),r=t(43),c=t(488),u=n.__importStar(t(445));class _ extends c.WidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>{this.layout.invalidate_cache(),this.render(),this.root.compute_layout()}))}styles(){return[…super.styles(),u.default]}_update_layout(){this.layout=new l.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=r.div({class:u.clearfix,style:t}),this.el.appendChild(this.markup_el)}}s.MarkupView=_,_.__name__="MarkupView";class o extends c.Widget{constructor(t){super(t)}static init_Markup(){this.define((({String:t,Dict:e})=>({text:[t,""],style:[e(t),{}]})))}}s.Markup=o,o.__name__="Markup",o.init_Markup()},n”, “ 445: 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”, “ 446: function _(e,t,i,n,s){n();const o=e(1),r=e(419),l=e(264),d=e(43),_=e(8),u=o.__importStar(e(328)),c=o.__importStar(e(243)),h=c;class p extends r.AbstractButtonView{constructor(){super(…arguments),this._open=!1}styles(){return[…super.styles(),c.default]}render(){super.render();const e=d.div({class:[h.caret,h.down]});if(this.model.is_split){const t=this._render_button(e);t.classList.add(u.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 d.div({class:h.divider});{const i=_.isString(e)?e:e[0],n=d.div({},i);return n.addEventListener("click",(()=>this._item_click(t))),n}}));this.menu=d.div({class:[h.menu,h.below]},t),this.el.appendChild(this.menu),d.undisplay(this.menu)}_show_menu(){if(!this._open){this._open=!0,d.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,d.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 l.ButtonClick),super.click()):this._toggle_menu()}_item_click(e){this._hide_menu();const t=this.model.menu[e];if(null!=t){const i=_.isString(t)?t:t[1];_.isString(i)?this.model.trigger_event(new l.MenuItemClick(i)):i.execute(this.model,{index:e})}}}i.DropdownView=p,p.__name__="DropdownView";class m extends r.AbstractButton{constructor(e){super(e)}static init_Dropdown(){this.prototype.default_view=p,this.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)),[]]}))),this.override({label:"Dropdown"})}get is_split(){return this.split}}i.Dropdown=m,m.__name__="Dropdown",m.init_Dropdown()},n”, “ 447: function _(e,i,t,l,s){l();const n=e(488);class a extends n.WidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.render())),this.connect(this.model.properties.width.change,(()=>this.render()))}render(){null==this.dialogEl&&(this.dialogEl=document.createElement("input"),this.dialogEl.type="file",this.dialogEl.multiple=this.model.multiple,this.dialogEl.onchange=()=>{const{files:e}=this.dialogEl;null!=e&&this.load_files(e)},this.el.appendChild(this.dialogEl)),null!=this.model.accept&&""!=this.model.accept&&(this.dialogEl.accept=this.model.accept),this.dialogEl.style.width="{this.model.width}px",this.dialogEl.disabled=this.model.disabled}async load_files(e){const i=[],t=[],l=[];let s;for(s=0;s<e.length;s++){t.push(e[s].name);const n=await this.readfile(e[s]),[,a,,o]=n.split(/[:;,]/,4);i.push(o),l.push(a)}this.model.multiple?(this.model.filename=t,this.model.mime_type=l,this.model.value=i):(this.model.filename=t[0],this.model.mime_type=l[0],this.model.value=i[0])}readfile(e){return new Promise(((i,t)=>{const l=new FileReader;l.onload=()=>{var s;const{result:n}=l;null!=n?i(n):t(null!==(s=l.error)&&void 0!==s?s:new Error(`unable to read ‘${e.name}’`))},l.readAsDataURL(e)}))}}t.FileInputView=a,a.__name__="FileInputView";class o extends n.Widget{constructor(e){super(e)}static init_FileInput(){this.prototype.default_view=a,this.define((({Boolean:e,String:i,Array:t,Or:l})=>({value:[l(i,t(i)),""],mime_type:[l(i,t(i)),""],filename:[l(i,t(i)),""],accept:[i,""],multiple:[e,!1]})))}}t.FileInput=o,o.__name__="FileInput",o.init_FileInput()},n”, “ 448: function _(e,t,i,s,n){s();const l=e(1),o=e(43),r=e(8),c=e(426),h=l.__importStar(e(427));class p extends c.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 r.isString(e)?t=i=e:[t,i]=e,o.option({value:t},i)}));this.input_el=o.select({multiple:!0,class:h.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=p,p.__name__="MultiSelectView";class u extends c.InputWidget{constructor(e){super(e)}static init_MultiSelect(){this.prototype.default_view=p,this.define((({Int:e,String:t,Array:i,Tuple:s,Or:n})=>({value:[i(t),[]],options:[i(n(t,s(t,t))),[]],size:[e,4]})))}}i.MultiSelect=u,u.__name__="MultiSelect",u.init_MultiSelect()},n”, “ 449: function _(a,r,e,t,p){t();const s=a(444),i=a(43);class n extends s.MarkupView{render(){super.render();const a=i.p({style:{margin:0}},this.model.text);this.markup_el.appendChild(a)}}e.ParagraphView=n,n.__name__="ParagraphView";class _ extends s.Markup{constructor(a){super(a)}static init_Paragraph(){this.prototype.default_view=n}}e.Paragraph=_,_.__name__="Paragraph",_.init_Paragraph()},n”, “ 450: function _(s,t,e,n,r){n();const p=s(424);class u extends p.TextInputView{render(){super.render(),this.input_el.type="password"}}e.PasswordInputView=u,u.__name__="PasswordInputView";class a extends p.TextInput{constructor(s){super(s)}static init_PasswordInput(){this.prototype.default_view=u}}e.PasswordInput=a,a.__name__="PasswordInput",a.init_PasswordInput()},n”, “ 451: function _(e,t,i,l,s){l();const o=e(1),n=o.__importDefault(e(452)),h=e(43),a=e(8),u=e(224),c=o.__importStar(e(427)),d=o.__importDefault(e(453)),_=e(426);class r extends _.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,delete_button:l,placeholder:s,options:o,name:n,title:h}=this.model.properties;this.on_change([e,t,i,l,s,o,n,h],(()=>this.render()))}styles(){return[…super.styles(),d.default]}_update_layout(){this.layout=new u.CachedVariadicBox(this.el),this.layout.set_sizing(this.box_sizing())}render(){super.render(),this.input_el=h.select({multiple:!0,class:c.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 a.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),this.choice_el=new n.default(this.input_el,o);const u=()=>this.choice_el.containerOuter.element.getBoundingClientRect().height;null!=this._last_height&&this._last_height!=u()&&this.root.invalidate_layout(),this._last_height=u(),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=r,r.__name__="MultiChoiceView";class m extends _.InputWidget{constructor(e){super(e)}static init_MultiChoice(){this.prototype.default_view=r,this.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],solid:[e,!0]})))}}i.MultiChoice=m,m.__name__="MultiChoice",m.init_MultiChoice()},n”, “ 452: 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.0n”, “ *n”, “ * http://www.apache.org/licenses/LICENSE-2.0n”, “ */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;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var r=i(2),o=i(8),a=i(0),c=function(){function e(t,i){var n=i.location,s=void 0===n?0:n,r=i.distance,a=void 0===r?100:r,c=i.threshold,l=void 0===c?.6:c,h=i.maxPatternLength,u=void 0===h?32:h,d=i.caseSensitive,p=void 0!==d&&d,m=i.tokenSeparator,f=void 0===m?/ +/g:m,v=i.findAllMatches,g=void 0!==v&&v,_=i.minMatchCharLength,b=void 0===_?1:_,y=i.id,E=void 0===y?null:y,I=i.keys,S=void 0===I?[]:I,w=i.shouldSort,O=void 0===w||w,C=i.getFn,A=void 0===C?o:C,L=i.sortFn,T=void 0===L?function(e,t){return e.score-t.score}:L,x=i.tokenize,k=void 0!==x&&x,P=i.matchAllTokens,D=void 0!==P&&P,M=i.includeMatches,N=void 0!==M&&M,F=i.includeScore,j=void 0!==F&&F,K=i.verbose,R=void 0!==K&&K;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.options={location:s,distance:a,threshold:l,maxPatternLength:u,isCaseSensitive:p,tokenSeparator:f,findAllMatches:g,minMatchCharLength:b,id:E,keys:S,includeMatches:N,includeScore:j,shouldSort:O,getFn:A,sortFn:T,verbose:R,tokenize:k,matchAllTokens:D},this.setCollection(t)}var t,i,c;return t=e,(i=[{key:"setCollection",value:function(e){return this.list=e,e}},{key:"search",value:function(e){var t=arguments.length>1&&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;n<s;n+=1)t.push(new r(i[n],this.options));return{tokenSearchers:t,fullSearcher:new r(e,this.options)}}},{key:"_search",value:function(){var e=arguments.length>0&&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;r<o;r+=1)this._analyze({key:"",value:i[r],record:r,index:r},{resultMap:n,results:s,tokenSearchers:e,fullSearcher:t});return{weights:null,results:s}}for(var a={},c=0,l=i.length;c<l;c+=1)for(var h=i[c],u=0,d=this.options.keys.length;u<d;u+=1){var p=this.options.keys[u];if("string"!=typeof p){if(a[p.name]={weight:1-p.weight||1},p.weight<=0||p.weight>1)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<h.length;S+=1){var w=h[S];this._log(’\nPattern: "’.concat(w.pattern,’"’));for(var O=!1,C=0;C<E.length;C+=1){var A=E[C],L=w.search(A),T={};L.isMatch?(T[A]=L.score,g=!0,O=!0,I.push(L.score)):(T[A]=1,this.options.matchAllTokens||I.push(1)),this._log(‘Token: "’.concat(A,’", score: ‘).concat(T[A]))}O&&(b+=1)}_=I[0];for(var x=I.length,k=1;k<x;k+=1)_+=I[k];_/=x,this._log("Token score average:",_)}var P=y.score;_>-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<F;N+=1)this._analyze({key:i,arrayIndex:N,value:r[N],record:o,index:c},{resultMap:m,results:v,tokenSearchers:h,fullSearcher:d})}}},{key:"_computeScore",value:function(e,t){this._log("\n\nComputing score:\n");for(var i=0,n=t.length;i<n;i+=1){for(var s=t[i].output,r=s.length,o=1,a=1,c=0;c<r;c+=1){var l=e?e[s[c].key].weight:1,h=(1===l?s[c].score:s[c].score||.001)*l;1!==l?a=Math.min(a,h):(s[c].nScore=h,o*=h)}t[i].score=1===a?o:a,this._log(t[i])}}},{key:"_sort",value:function(e){this._log("\n\nSorting…."),e.sort(this.options.sortFn)}},{key:"_format",value:function(e){var t=[];if(this.options.verbose){var i=[];this._log("\n\nOutput:\n\n",JSON.stringify(e,(function(e,t){if("object"===n(t)&&null!==t){if(-1!==i.indexOf(t))return;i.push(t)}return t}))),i=null}var s=[];this.options.includeMatches&&s.push((function(e,t){var i=e.output;t.matches=[];for(var n=0,s=i.length;n<s;n+=1){var r=i[n];if(0!==r.matchedIndices.length){var o={indices:r.matchedIndices,value:r.value};r.key&&(o.key=r.key),r.hasOwnProperty("arrayIndex")&&r.arrayIndex>-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;r<o;r+=1){var a=e[r];if(this.options.id&&(a.item=this.options.getFn(a.item,this.options.id)[0]),s.length){for(var c={item:a.item},l=0,h=s.length;l<h;l+=1)s[l](a,c);t.push(c)}else t.push(a.item)}return t}},{key:"_log",value:function(){var e;this.options.verbose&&(e=console).log.apply(e,arguments)}}])&&s(t.prototype,i),c&&s(t,c),e}();e.exports=c},function(e,t,i){function n(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var s=i(3),r=i(4),o=i(7),a=function(){function e(t,i){var n=i.location,s=void 0===n?0:n,r=i.distance,a=void 0===r?100:r,c=i.threshold,l=void 0===c?.6:c,h=i.maxPatternLength,u=void 0===h?32:h,d=i.isCaseSensitive,p=void 0!==d&&d,m=i.tokenSeparator,f=void 0===m?/ +/g:m,v=i.findAllMatches,g=void 0!==v&&v,_=i.minMatchCharLength,b=void 0===_?1:_;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.options={location:s,distance:a,threshold:l,maxPatternLength:u,isCaseSensitive:p,tokenSeparator:f,findAllMatches:g,minMatchCharLength:b},this.pattern=this.options.isCaseSensitive?t:t.toLowerCase(),this.pattern.length<=u&&(this.patternAlphabet=o(this.pattern))}var t,i,a;return t=e,(i=[{key:"search",value:function(e){if(this.options.isCaseSensitive||(e=e.toLowerCase()),this.pattern===e)return{isMatch:!0,score:0,matchedIndices:[[0,e.length-1]]};var t=this.options,i=t.maxPatternLength,n=t.tokenSeparator;if(this.pattern.length>i)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<l;c+=1){var h=r[c];a.push([e.indexOf(h),h.length-1])}return{score:o?.5:1,isMatch:o,matchedIndices:a}}},function(e,t,i){var n=i(5),s=i(6);e.exports=function(e,t,i,r){for(var o=r.location,a=void 0===o?0:o,c=r.distance,l=void 0===c?100:c,h=r.threshold,u=void 0===h?.6:h,d=r.findAllMatches,p=void 0!==d&&d,m=r.minMatchCharLength,f=void 0===m?1:m,v=a,g=e.length,_=u,b=e.indexOf(t,v),y=t.length,E=[],I=0;I<g;I+=1)E[I]=0;if(-1!==b){var S=n(t,{errors:0,currentLocation:b,expectedLocation:v,distance:l});if(_=Math.min(S,_),-1!==(b=e.lastIndexOf(t,v+y))){var w=n(t,{errors:0,currentLocation:b,expectedLocation:v,distance:l});_=Math.min(w,_)}}b=-1;for(var O=[],C=1,A=y+g,L=1<<y-1,T=0;T<y;T+=1){for(var x=0,k=A;x<k;)n(t,{errors:T,currentLocation:v+k,expectedLocation:v,distance:l})<=_?x=k:A=k,k=Math.floor((A-x)/2+x);A=k;var P=Math.max(1,v-k+1),D=p?g:Math.min(v+k,g)+y,M=Array(D+2);M[D+1]=(1<<T)-1;for(var N=D;N>=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<o;r+=1){var a=e[r];a&&-1===n?n=r:a||-1===n||((s=r-1)-n+1>=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<i;n+=1)t[e.charAt(n)]=0;for(var s=0;s<i;s+=1)t[e.charAt(s)]|=1<<i-s-1;return t}},function(e,t,i){var n=i(0);e.exports=function(e,t){return function e(t,i,s){if(i){var r=i.indexOf("."),o=i,a=null;-1!==r&&(o=i.slice(0,r),a=i.slice(r+1));var c=t[o];if(null!=c)if(a||"string"!=typeof c&&"number"!=typeof c)if(n(c))for(var l=0,h=c.length;l<h;l+=1)e(c[l],a,s);else a&&e(c,a,s);else s.push(c.toString())}else s.push(t);return s}(e,t,[])}}])},function(e,t,i){"use strict";function n(e){var t,i=e.Symbol;return"function"==typeof i?i.observable?t=i.observable:(t=i("observable"),i.observable=t):t="@@observable",t}i.d(t,"a",(function(){return n}))},function(e,t,i){e.exports=i(7)},function(e,t){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"==typeof window&&(i=window)}e.exports=i},function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,"exports",{enumerable:!0}),t.webpackPolyfill=1}return t}},function(e,t,i){"use strict";i.r(t);var n=i(2),s=i.n(n),r=i(0),o=i.n(r),a=i(1),c=function(){return Math.random().toString(36).substring(7).split("").join(".")},l={INIT:"@@redux/INIT"+c(),REPLACE:"@@redux/REPLACE"+c(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+c()}};function h(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function u(e,t,i){var n;if("function"==typeof t&&"function"==typeof i||"function"==typeof i&&"function"==typeof arguments[3])throw new Error("It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function.");if("function"==typeof t&&void 0===i&&(i=t,t=void 0),void 0!==i){if("function"!=typeof i)throw new Error("Expected the enhancer to be a function.");return i(u)(e,t)}if("function"!=typeof e)throw new Error("Expected the reducer to be a function.");var s=e,r=t,o=[],c=o,d=!1;function p(){c===o&&(c=o.slice())}function m(){if(d)throw new Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return r}function f(e){if("function"!=typeof e)throw new Error("Expected the listener to be a function.");if(d)throw new Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");var t=!0;return p(),c.push(e),function(){if(t){if(d)throw new Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");t=!1,p();var i=c.indexOf(e);c.splice(i,1)}}}function v(e){if(!h(e))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw new Error(‘Actions may not have an undefined "type" property. Have you misspelled a constant?’);if(d)throw new Error("Reducers may not dispatch actions.");try{d=!0,r=s(r,e)}finally{d=!1}for(var t=o=c,i=0;i<t.length;i++)(0,t[i])();return e}function g(e){if("function"!=typeof e)throw new Error("Expected the nextReducer to be a function.");s=e,v({type:l.REPLACE})}function _(){var e,t=f;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new TypeError("Expected the observer to be an object.");function i(){e.next&&e.next(m())}return i(),{unsubscribe:t(i)}}})[a.a]=function(){return this},e}return v({type:l.INIT}),(n={dispatch:v,subscribe:f,getState:m,replaceReducer:g})[a.a]=_,n}function d(e,t){var i=t&&t.type;return"Given "+(i&&’action "’+String(i)+’"’||"an action")+’, reducer "’+e+’" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.’}var p,m=[],f=[],v=[],g={loading:!1},_=function(e,t){switch(void 0===e&&(e=g),t.type){case"SET_IS_LOADING":return{loading:t.isLoading};default:return e}},b=function(e){return Array.from({length:e},(function(){return(e=0,t=36,Math.floor(Math.random()*(t-e)+e)).toString(36);var e,t})).join("")},y=function(e){return Object.prototype.toString.call(e).slice(8,-1)},E=function(e,t){return null!=t&&y(t)===e},I=function(e){return"string"!=typeof e?e:e.replace(/&/g,"&amp;").replace(/>/g,"&rt;").replace(/</g,"&lt;").replace(/"/g,"&quot;")},S=(p=document.createElement("div"),function(e){var t=e.trim();p.innerHTML=t;for(var i=p.children[0];p.firstChild;)p.removeChild(p.firstChild);return i}),w=function(e,t){return e.score-t.score},O=function(e){return JSON.parse(JSON.stringify(e))},C=function(e){for(var t=Object.keys(e),i={},n=0;n<t.length;n++){var s=t[n];"function"==typeof e[s]&&(i[s]=e[s])}var r,o=Object.keys(i);try{!function(e){Object.keys(e).forEach((function(t){var i=e[t];if(void 0===i(void 0,{type:l.INIT}))throw new Error(‘Reducer "’+t+"\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don’t want to set a value for this reducer, you can use null instead of undefined.");if(void 0===i(void 0,{type:l.PROBE_UNKNOWN_ACTION()}))throw new Error(‘Reducer "’+t+"\" returned undefined when probed with a random type. Don’t try to handle "+l.INIT+’ or other actions in "redux/" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.’)}))}(i)}catch(e){r=e}return function(e,t){if(void 0===e&&(e={}),r)throw r;for(var n=!1,s={},a=0;a<o.length;a++){var c=o[a],l=i[c],h=e[c],u=l(h,t);if(void 0===u){var p=d(c,t);throw new Error(p)}s[c]=u,n=n||u!==h}return n?s:e}}({items:function(e,t){switch(void 0===e&&(e=m),t.type){case"ADD_ITEM":return[].concat(e,[{id:t.id,choiceId:t.choiceId,groupId:t.groupId,value:t.value,label:t.label,active:!0,highlighted:!1,customProperties:t.customProperties,placeholder:t.placeholder||!1,keyCode:null}]).map((function(e){var t=e;return t.highlighted=!1,t}));case"REMOVE_ITEM":return e.map((function(e){var i=e;return i.id===t.id&&(i.active=!1),i}));case"HIGHLIGHT_ITEM":return e.map((function(e){var i=e;return i.id===t.id&&(i.highlighted=t.highlighted),i}));default:return e}},groups:function(e,t){switch(void 0===e&&(e=f),t.type){case"ADD_GROUP":return[].concat(e,[{id:t.id,value:t.value,active:t.active,disabled:t.disabled}]);case"CLEAR_CHOICES":return[];default:return e}},choices:function(e,t){switch(void 0===e&&(e=v),t.type){case"ADD_CHOICE":return[].concat(e,[{id:t.id,elementId:t.elementId,groupId:t.groupId,value:t.value,label:t.label||t.value,disabled:t.disabled||!1,selected:!1,active:!0,score:9999,customProperties:t.customProperties,placeholder:t.placeholder||!1,keyCode:null}]);case"ADD_ITEM":return t.activateOptions?e.map((function(e){var i=e;return i.active=t.active,i})):t.choiceId>-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<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var T=function(){function e(){this._store=u(A,window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__())}var t,i,n,s=e.prototype;return s.subscribe=function(e){this._store.subscribe(e)},s.dispatch=function(e){this._store.dispatch(e)},s.isLoading=function(){return this.state.general.loading},s.getChoiceById=function(e){return this.activeChoices.find((function(t){return t.id===parseInt(e,10)}))},s.getGroupById=function(e){return this.groups.find((function(t){return t.id===e}))},t=e,(i=[{key:"state",get:function(){return this._store.getState()}},{key:"items",get:function(){return this.state.items}},{key:"activeItems",get:function(){return this.items.filter((function(e){return!0===e.active}))}},{key:"highlightedActiveItems",get:function(){return this.items.filter((function(e){return e.active&&e.highlighted}))}},{key:"choices",get:function(){return this.state.choices}},{key:"activeChoices",get:function(){return this.choices.filter((function(e){return!0===e.active}))}},{key:"selectableChoices",get:function(){return this.choices.filter((function(e){return!0!==e.disabled}))}},{key:"searchableChoices",get:function(){return this.selectableChoices.filter((function(e){return!0!==e.placeholder}))}},{key:"placeholderChoice",get:function(){return[].concat(this.choices).reverse().find((function(e){return!0===e.placeholder}))}},{key:"groups",get:function(){return this.state.groups}},{key:"activeGroups",get:function(){var e=this.groups,t=this.choices;return e.filter((function(e){var i=!0===e.active&&!1===e.disabled,n=t.some((function(e){return!0===e.active&&!1===e.disabled}));return i&&n}),[])}}])&&L(t.prototype,i),n&&L(t,n),e}();function x(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var k=function(){function e(e){var t=e.element,i=e.type,n=e.classNames;this.element=t,this.classNames=n,this.type=i,this.isActive=!1}var t,i,n,s=e.prototype;return s.getChild=function(e){return this.element.querySelector(e)},s.show=function(){return this.element.classList.add(this.classNames.activeState),this.element.setAttribute("aria-expanded","true"),this.isActive=!0,this},s.hide=function(){return this.element.classList.remove(this.classNames.activeState),this.element.setAttribute("aria-expanded","false"),this.isActive=!1,this},t=e,(i=[{key:"distanceFromTopWindow",get:function(){return this.element.getBoundingClientRect().bottom}}])&&x(t.prototype,i),n&&x(t,n),e}(),P={items:[],choices:[],silent:!1,renderChoiceLimit:-1,maxItemCount:-1,addItems:!0,addItemFilter:null,removeItems:!0,removeItemButton:!1,editItems:!1,duplicateItemsAllowed:!0,delimiter:",",paste:!0,searchEnabled:!0,searchChoices:!0,searchFloor:1,searchResultLimit:4,searchFields:["label","value"],position:"auto",resetScrollPosition:!0,shouldSort:!0,shouldSortItems:!1,sorter:function(e,t){var i=e.value,n=e.label,s=void 0===n?i:n,r=t.value,o=t.label,a=void 0===o?r:o;return s.localeCompare(a,[],{sensitivity:"base",ignorePunctuation:!0,numeric:!0})},placeholder:!0,placeholderValue:null,searchPlaceholderValue:null,prependValue:null,appendValue:null,renderSelectedChoices:"auto",loadingText:"Loading…",noResultsText:"No results found",noChoicesText:"No choices to choose from",itemSelectText:"Press to select",uniqueItemText:"Only unique values can be added",customAddItemText:"Only values matching specific conditions can be added",addItemText:function(e){return’Press Enter to add <b>"’+I(e)+’"</b>’},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;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var he=function(){function e(e){var t=e.element,i=e.type,n=e.classNames,s=e.preventPaste;this.element=t,this.type=i,this.classNames=n,this.preventPaste=s,this.isFocussed=this.element===document.activeElement,this.isDisabled=t.disabled,this._onPaste=this._onPaste.bind(this),this._onInput=this._onInput.bind(this),this._onFocus=this._onFocus.bind(this),this._onBlur=this._onBlur.bind(this)}var t,i,n,s=e.prototype;return s.addEventListeners=function(){this.element.addEventListener("paste",this._onPaste),this.element.addEventListener("input",this._onInput,{passive:!0}),this.element.addEventListener("focus",this._onFocus,{passive:!0}),this.element.addEventListener("blur",this._onBlur,{passive:!0})},s.removeEventListeners=function(){this.element.removeEventListener("input",this._onInput,{passive:!0}),this.element.removeEventListener("paste",this._onPaste),this.element.removeEventListener("focus",this._onFocus,{passive:!0}),this.element.removeEventListener("blur",this._onBlur,{passive:!0})},s.enable=function(){this.element.removeAttribute("disabled"),this.isDisabled=!1},s.disable=function(){this.element.setAttribute("disabled",""),this.isDisabled=!0},s.focus=function(){this.isFocussed||this.element.focus()},s.blur=function(){this.isFocussed&&this.element.blur()},s.clear=function(e){return void 0===e&&(e=!0),this.element.value&&(this.element.value=""),e&&this.setWidth(),this},s.setWidth=function(){var e=this.element,t=e.style,i=e.value,n=e.placeholder;t.minWidth=n.length+1+"ch",t.width=i.length+1+"ch"},s.setActiveDescendant=function(e){this.element.setAttribute("aria-activedescendant",e)},s.removeActiveDescendant=function(){this.element.removeAttribute("aria-activedescendant")},s._onInput=function(){this.type!==oe&&this.setWidth()},s._onPaste=function(e){this.preventPaste&&e.preventDefault()},s._onFocus=function(){this.isFocussed=!0},s._onBlur=function(){this.isFocussed=!1},t=e,(i=[{key:"placeholder",set:function(e){this.element.placeholder=e}},{key:"value",get:function(){return I(this.element.value)},set:function(e){this.element.value=e}}])&&le(t.prototype,i),n&&le(t,n),e}(),ue=function(){function e(e){var t=e.element;this.element=t,this.scrollPos=this.element.scrollTop,this.height=this.element.offsetHeight}var t=e.prototype;return t.clear=function(){this.element.innerHTML=""},t.append=function(e){this.element.appendChild(e)},t.getChild=function(e){return this.element.querySelector(e)},t.hasChildren=function(){return this.element.hasChildNodes()},t.scrollToTop=function(){this.element.scrollTop=0},t.scrollToChildElement=function(e,t){var i=this;if(e){var n=this.element.offsetHeight,s=this.element.scrollTop+n,r=e.offsetHeight,o=e.offsetTop+r,a=t>0?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),n<e&&(s=!0)):(this._scrollUp(n,4,e),n>e&&(s=!0)),s&&requestAnimationFrame((function(){i._animateScroll(e,t)}))},e}();function de(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var pe=function(){function e(e){var t=e.element,i=e.classNames;if(this.element=t,this.classNames=i,!(t instanceof HTMLInputElement||t instanceof HTMLSelectElement))throw new TypeError("Invalid element passed");this.isDisabled=!1}var t,i,n,s=e.prototype;return s.conceal=function(){this.element.classList.add(this.classNames.input),this.element.hidden=!0,this.element.tabIndex=-1;var e=this.element.getAttribute("style");e&&this.element.setAttribute("data-choice-orig-style",e),this.element.setAttribute("data-choice","active")},s.reveal=function(){this.element.classList.remove(this.classNames.input),this.element.hidden=!1,this.element.removeAttribute("tabindex");var e=this.element.getAttribute("data-choice-orig-style");e?(this.element.removeAttribute("data-choice-orig-style"),this.element.setAttribute("style",e)):this.element.removeAttribute("style"),this.element.removeAttribute("data-choice"),this.element.value=this.element.value},s.enable=function(){this.element.removeAttribute("disabled"),this.element.disabled=!1,this.isDisabled=!1},s.disable=function(){this.element.setAttribute("disabled",""),this.element.disabled=!0,this.isDisabled=!0},s.triggerEvent=function(e,t){!function(e,t,i){void 0===i&&(i=null);var n=new CustomEvent(t,{detail:i,bubbles:!0,cancelable:!0});e.dispatchEvent(n)}(this.element,e,t)},t=e,(i=[{key:"isActive",get:function(){return"active"===this.element.dataset.choice}},{key:"dir",get:function(){return this.element.dir}},{key:"value",get:function(){return this.element.value},set:function(e){this.element.value=e}}])&&de(t.prototype,i),n&&de(t,n),e}();function me(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var fe=function(e){var t,i,n,s,r;function o(t){var i,n=t.element,s=t.classNames,r=t.delimiter;return(i=e.call(this,{element:n,classNames:s})||this).delimiter=r,i}return i=e,(t=o).prototype=Object.create(i.prototype),t.prototype.constructor=t,t.__proto__=i,n=o,(s=[{key:"value",get:function(){return this.element.value},set:function(e){var t=e.map((function(e){return e.value})).join(this.delimiter);this.element.setAttribute("value",t),this.element.value=t}}])&&me(n.prototype,s),r&&me(n,r),o}(pe);function ve(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var ge=function(e){var t,i,n,s,r;function o(t){var i,n=t.element,s=t.classNames,r=t.template;return(i=e.call(this,{element:n,classNames:s})||this).template=r,i}return i=e,(t=o).prototype=Object.create(i.prototype),t.prototype.constructor=t,t.__proto__=i,o.prototype.appendDocFragment=function(e){this.element.innerHTML="",this.element.appendChild(e)},n=o,(s=[{key:"placeholderOption",get:function(){return this.element.querySelector(‘option[value=""]’)||this.element.querySelector("option[placeholder]")}},{key:"optionGroups",get:function(){return Array.from(this.element.getElementsByTagName("OPTGROUP"))}},{key:"options",get:function(){return Array.from(this.element.options)},set:function(e){var t=this,i=document.createDocumentFragment();e.forEach((function(e){return n=e,s=t.template(n),void i.appendChild(s);var n,s})),this.appendDocFragment(i)}}])&&ve(n.prototype,s),r&&ve(n,r),o}(pe),_e={containerOuter:function(e,t,i,n,s,r){var o=e.containerOuter,a=Object.assign(document.createElement("div"),{className:o});return a.dataset.type=r,t&&(a.dir=t),n&&(a.tabIndex=0),i&&(a.setAttribute("role",s?"combobox":"listbox"),s&&a.setAttribute("aria-autocomplete","list")),a.setAttribute("aria-haspopup","true"),a.setAttribute("aria-expanded","false"),a},containerInner:function(e){var t=e.containerInner;return Object.assign(document.createElement("div"),{className:t})},itemList:function(e,t){var i=e.list,n=e.listSingle,s=e.listItems;return Object.assign(document.createElement("div"),{className:i+" "+(t?n:s)})},placeholder:function(e,t){var i=e.placeholder;return Object.assign(document.createElement("div"),{className:i,innerHTML:t})},item:function(e,t,i){var n=e.item,s=e.button,r=e.highlightedState,o=e.itemSelectable,a=e.placeholder,c=t.id,l=t.value,h=t.label,u=t.customProperties,d=t.active,p=t.disabled,m=t.highlighted,f=t.placeholder,v=Object.assign(document.createElement("div"),{className:n,innerHTML:h});if(Object.assign(v.dataset,{item:"",id:c,value:l,customProperties:u}),d&&v.setAttribute("aria-selected","true"),p&&v.setAttribute("aria-disabled","true"),f&&v.classList.add(a),v.classList.add(m?r:o),i){p&&v.classList.remove(o),v.dataset.deletable="";var g="Remove item",_=Object.assign(document.createElement("button"),{type:"button",className:s,innerHTML:g});_.setAttribute("aria-label","Remove item: ‘"+l+"’"),_.dataset.button="",v.appendChild(_)}return v},choiceList:function(e,t){var i=e.list,n=Object.assign(document.createElement("div"),{className:i});return t||n.setAttribute("aria-multiselectable","true"),n.setAttribute("role","listbox"),n},choiceGroup:function(e,t){var i=e.group,n=e.groupHeading,s=e.itemDisabled,r=t.id,o=t.value,a=t.disabled,c=Object.assign(document.createElement("div"),{className:i+" "+(a?s:"")});return c.setAttribute("role","group"),Object.assign(c.dataset,{group:"",id:r,value:o}),a&&c.setAttribute("aria-disabled","true"),c.appendChild(Object.assign(document.createElement("div"),{className:n,innerHTML:o})),c},choice:function(e,t,i){var n=e.item,s=e.itemChoice,r=e.itemSelectable,o=e.selectedState,a=e.itemDisabled,c=e.placeholder,l=t.id,h=t.value,u=t.label,d=t.groupId,p=t.elementId,m=t.disabled,f=t.selected,v=t.placeholder,g=Object.assign(document.createElement("div"),{id:p,innerHTML:u,className:n+" "+s});return f&&g.classList.add(o),v&&g.classList.add(c),g.setAttribute("role",d>0?"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<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var we="-ms-scroll-limit"in document.documentElement.style&&"-ms-ime-align"in document.documentElement.style,Oe={},Ce=function(){var e,t,i;function n(e,t){var i=this;void 0===e&&(e="[data-choice]"),void 0===t&&(t={}),this.config=o.a.all([P,n.defaults.options,t],{arrayMerge:function(e,t){return[].concat(t)}});var s,r,a,c,l=(s=this.config,r=P,a=Object.keys(s).sort(),c=Object.keys(r).sort(),a.filter((function(e){return c.indexOf(e)<0})));l.length&&console.warn("Unknown config option(s) passed",l.join(", "));var h="string"==typeof e?document.querySelector(e):e;if(!(h instanceof HTMLInputElement||h instanceof HTMLSelectElement))throw TypeError("Expected one of the following types text|select-one|select-multiple");if(this._isTextElement=h.type===re,this._isSelectOneElement=h.type===oe,this._isSelectMultipleElement=h.type===ae,this._isSelectElement=this._isSelectOneElement||this._isSelectMultipleElement,this.config.searchEnabled=this._isSelectMultipleElement||this.config.searchEnabled,["auto","always"].includes(this.config.renderSelectedChoices)||(this.config.renderSelectedChoices="auto"),t.addItemFilter&&"function"!=typeof t.addItemFilter){var u=t.addItemFilter instanceof RegExp?t.addItemFilter:new RegExp(t.addItemFilter);this.config.addItemFilter=u.test.bind(u)}if(this._isTextElement?this.passedElement=new fe({element:h,classNames:this.config.classNames,delimiter:this.config.delimiter}):this.passedElement=new ge({element:h,classNames:this.config.classNames,template:function(e){return i._templates.option(e)}}),this.initialised=!1,this._store=new T,this._initialState={},this._currentState={},this._prevState={},this._currentValue="",this._canSearch=this.config.searchEnabled,this._isScrollingOnIe=!1,this._highlightPosition=0,this._wasTap=!0,this._placeholderValue=this._generatePlaceholderValue(),this._baseId=function(e,t){var i=e.id||e.name&&e.name+"-"+b(2)||b(4);return t+"-"+i.replace(/(:|.|\[|\]|,)/g,"")}(this.passedElement.element,"choices-"),this._direction=this.passedElement.dir,!this._direction){var d=window.getComputedStyle(this.passedElement.element).direction;d!==window.getComputedStyle(document.documentElement).direction&&(this._direction=d)}if(this._idNames={itemChoice:"item-choice"},this._presetGroups=this.passedElement.optionGroups,this._presetOptions=this.passedElement.options,this._presetChoices=this.config.choices,this._presetItems=this.config.items,this.passedElement.value&&(this._presetItems=this._presetItems.concat(this.passedElement.value.split(this.config.delimiter))),this.passedElement.options&&this.passedElement.options.forEach((function(e){i._presetChoices.push({value:e.value,label:e.innerHTML,selected:e.selected,disabled:e.disabled||e.parentNode.disabled,placeholder:""===e.value||e.hasAttribute("placeholder"),customProperties:e.getAttribute("data-custom-properties")})})),this._render=this._render.bind(this),this._onFocus=this._onFocus.bind(this),this._onBlur=this._onBlur.bind(this),this._onKeyUp=this._onKeyUp.bind(this),this._onKeyDown=this._onKeyDown.bind(this),this._onClick=this._onClick.bind(this),this._onTouchMove=this._onTouchMove.bind(this),this._onTouchEnd=this._onTouchEnd.bind(this),this._onMouseDown=this._onMouseDown.bind(this),this._onMouseOver=this._onMouseOver.bind(this),this._onFormReset=this._onFormReset.bind(this),this._onAKey=this._onAKey.bind(this),this._onEnterKey=this._onEnterKey.bind(this),this._onEscapeKey=this._onEscapeKey.bind(this),this._onDirectionKey=this._onDirectionKey.bind(this),this._onDeleteKey=this._onDeleteKey.bind(this),this.passedElement.isActive)return this.config.silent||console.warn("Trying to initialise Choices on element already initialised"),void(this.initialised=!0);this.init()}e=n,i=[{key:"defaults",get:function(){return Object.preventExtensions({get options(){return Oe},get templates(){return _e}})}}],(t=null)&&Se(e.prototype,t),i&&Se(e,i);var r=n.prototype;return r.init=function(){if(!this.initialised){this._createTemplates(),this._createElements(),this._createStructure(),this._initialState=O(this._store.state),this._store.subscribe(this._render),this._render(),this._addEventListeners(),(!this.config.addItems||this.passedElement.element.hasAttribute("disabled"))&&this.disable(),this.initialised=!0;var e=this.config.callbackOnInit;e&&"function"==typeof e&&e.call(this)}},r.destroy=function(){this.initialised&&(this._removeEventListeners(),this.passedElement.reveal(),this.containerOuter.unwrap(this.passedElement.element),this.clearStore(),this._isSelectElement&&(this.passedElement.options=this._presetOptions),this._templates=null,this.initialised=!1)},r.enable=function(){return this.passedElement.isDisabled&&this.passedElement.enable(),this.containerOuter.isDisabled&&(this._addEventListeners(),this.input.enable(),this.containerOuter.enable()),this},r.disable=function(){return this.passedElement.isDisabled||this.passedElement.disable(),this.containerOuter.isDisabled||(this._removeEventListeners(),this.input.disable(),this.containerOuter.disable()),this},r.highlightItem=function(e,t){if(void 0===t&&(t=!0),!e)return this;var i=e.id,n=e.groupId,s=void 0===n?-1:n,r=e.value,o=void 0===r?"":r,a=e.label,c=void 0===a?"":a,l=s>=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<m;v+=1)f[v]&&l(f[v]);return t},r._createItemsFragment=function(e,t){var i=this;void 0===t&&(t=document.createDocumentFragment());var n=this.config,s=n.shouldSortItems,r=n.sorter,o=n.removeItemButton;return s&&!this._isSelectOneElement&&e.sort(r),this._isTextElement?this.passedElement.value=e:this.passedElement.options=e,e.forEach((function(e){var n=i._getTemplate("item",e,o);t.appendChild(n)})),t},r._triggerChange=function(e){null!=e&&this.passedElement.triggerEvent(N,{value:e})},r._selectPlaceholderChoice=function(){var e=this._store.placeholderChoice;e&&(this._addItem({value:e.value,label:e.label,choiceId:e.id,groupId:e.groupId,placeholder:e.placeholder}),this._triggerChange(e.value))},r._handleButtonAction=function(e,t){if(e&&t&&this.config.removeItems&&this.config.removeItemButton){var i=t.parentNode.getAttribute("data-id"),n=e.find((function(e){return e.id===parseInt(i,10)}));this._removeItem(n),this._triggerChange(n.value),this._isSelectOneElement&&this._selectPlaceholderChoice()}},r._handleItemAction=function(e,t,i){var n=this;if(void 0===i&&(i=!1),e&&t&&this.config.removeItems&&!this._isSelectOneElement){var s=t.getAttribute("data-id");e.forEach((function(e){e.id!==parseInt(s,10)||e.highlighted?!i&&e.highlighted&&n.unhighlightItem(e):n.highlightItem(e)})),this.input.focus()}},r._handleChoiceAction=function(e,t){if(e&&t){var i=t.dataset.id,n=this._store.getChoiceById(i);if(n){var s=e[0]&&e[0].keyCode?e[0].keyCode:null,r=this.dropdown.isActive;n.keyCode=s,this.passedElement.triggerEvent(F,{choice:n}),n.selected||n.disabled||this._canAddItem(e,n.value).response&&(this._addItem({value:n.value,label:n.label,choiceId:n.id,groupId:n.groupId,customProperties:n.customProperties,placeholder:n.placeholder,keyCode:n.keyCode}),this._triggerChange(n.value)),this.clearInput(),r&&this._isSelectOneElement&&(this.hideDropdown(!0),this.containerOuter.focus())}}},r._handleBackspace=function(e){if(this.config.removeItems&&e){var t=e[e.length-1],i=e.some((function(e){return e.highlighted}));this.config.editItems&&!i&&t?(this.input.value=t.value,this.input.setWidth(),this._removeItem(t),this._triggerChange(t.value)):(i||this.highlightItem(t,!1),this.removeHighlightedItems(!0))}},r._startLoading=function(){this._store.dispatch(Ie(!0))},r._stopLoading=function(){this._store.dispatch(Ie(!1))},r._handleLoadingState=function(e){void 0===e&&(e=!0);var t=this.itemList.getChild("."+this.config.classNames.placeholder);e?(this.disable(),this.containerOuter.addLoadingState(),this._isSelectOneElement?t?t.innerHTML=this.config.loadingText:(t=this._getTemplate("placeholder",this.config.loadingText),this.itemList.append(t)):this.input.placeholder=this.config.loadingText):(this.enable(),this.containerOuter.removeLoadingState(),this._isSelectOneElement?t.innerHTML=this._placeholderValue||"":this.input.placeholder=this._placeholderValue||"")},r._handleSearch=function(e){if(e&&this.input.isFocussed){var t=this._store.choices,i=this.config,n=i.searchFloor,s=i.searchChoices,r=t.some((function(e){return!e.active}));if(e&&e.length>=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.offsetX<i.offsetLeft;this._isScrollingOnIe=n}if(t!==this.input.element){var s=t.closest("[data-button],[data-item],[data-choice]");if(s instanceof HTMLElement){var r=e.shiftKey,o=this._store.activeItems,a=s.dataset;"button"in a?this._handleButtonAction(o,s):"item"in a?this._handleItemAction(o,s,r):"choice"in a&&this._handleChoiceAction(o,s)}e.preventDefault()}}},r._onMouseOver=function(e){var t=e.target;t instanceof HTMLElement&&"choice"in t.dataset&&this._highlightChoice(t)},r._onClick=function(e){var t=e.target;this.containerOuter.element.contains(t)?this.dropdown.isActive||this.containerOuter.isDisabled?this._isSelectOneElement&&t!==this.input.element&&!this.dropdown.element.contains(t)&&this.hideDropdown():this._isTextElement?document.activeElement!==this.input.element&&this.input.focus():(this.showDropdown(),this.containerOuter.focus()):(this._store.highlightedActiveItems.length>0&&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<n;r++)s[r-1]=arguments[r];return(t=this._templates[e]).call.apply(t,[this,i].concat(s))},r._createTemplates=function(){var e=this.config.callbackOnCreateTemplates,t={};e&&"function"==typeof e&&(t=e.call(this,S)),this._templates=o()(_e,t)},r._createElements=function(){this.containerOuter=new ce({element:this._getTemplate("containerOuter",this._direction,this._isSelectElement,this._isSelectOneElement,this.config.searchEnabled,this.passedElement.element.type),classNames:this.config.classNames,type:this.passedElement.element.type,position:this.config.position}),this.containerInner=new ce({element:this._getTemplate("containerInner"),classNames:this.config.classNames,type:this.passedElement.element.type,position:this.config.position}),this.input=new he({element:this._getTemplate("input",this._placeholderValue),classNames:this.config.classNames,type:this.passedElement.element.type,preventPaste:!this.config.paste}),this.choiceList=new ue({element:this._getTemplate("choiceList",this._isSelectOneElement)}),this.itemList=new ue({element:this._getTemplate("itemList",this._isSelectOneElement)}),this.dropdown=new k({element:this._getTemplate("dropdown"),classNames:this.config.classNames,type:this.passedElement.element.type})},r._createStructure=function(){this.passedElement.conceal(),this.containerInner.wrap(this.passedElement.element),this.containerOuter.wrap(this.containerInner.element),this._isSelectOneElement?this.input.placeholder=this.config.searchPlaceholderValue||"":this._placeholderValue&&(this.input.placeholder=this._placeholderValue,this.input.setWidth()),this.containerOuter.element.appendChild(this.containerInner.element),this.containerOuter.element.appendChild(this.dropdown.element),this.containerInner.element.appendChild(this.itemList.element),this._isTextElement||this.dropdown.element.appendChild(this.choiceList.element),this._isSelectOneElement?this.config.searchEnabled&&this.dropdown.element.insertBefore(this.input.element,this.dropdown.element.firstChild):this.containerInner.element.appendChild(this.input.element),this._isSelectElement&&(this._highlightPosition=0,this._isSearching=!1,this._startLoading(),this._presetGroups.length?this._addPredefinedGroups(this._presetGroups):this._addPredefinedChoices(this._presetChoices),this._stopLoading()),this._isTextElement&&this._addPredefinedItems(this._presetItems)},r._addPredefinedGroups=function(e){var t=this,i=this.passedElement.placeholderOption;i&&"SELECT"===i.parentNode.tagName&&this._addChoice({value:i.value,label:i.innerHTML,isSelected:i.selected,isDisabled:i.disabled,placeholder:!0}),e.forEach((function(e){return t._addGroup({group:e,id:e.id||null})}))},r._addPredefinedChoices=function(e){var t=this;this.config.shouldSort&&e.sort(this.config.sorter);var i=e.some((function(e){return e.selected})),n=e.findIndex((function(e){return void 0===e.disabled||!e.disabled}));e.forEach((function(e,s){var r=e.value,o=e.label,a=e.customProperties,c=e.placeholder;if(t._isSelectElement)if(e.choices)t._addGroup({group:e,id:e.id||null});else{var l=!(!t._isSelectOneElement||i||s!==n)||e.selected,h=e.disabled;t._addChoice({value:r,label:o,isSelected:l,isDisabled:h,customProperties:a,placeholder:c})}else t._addChoice({value:r,label:o,isSelected:e.selected,isDisabled:e.disabled,customProperties:a,placeholder:c})}))},r._addPredefinedItems=function(e){var t=this;e.forEach((function(e){"object"==typeof e&&e.value&&t._addItem({value:e.value,label:e.label,choiceId:e.id,customProperties:e.customProperties,placeholder:e.placeholder}),"string"==typeof e&&t._addItem({value:e})}))},r._setChoiceOrItem=function(e){var t=this;({object:function(){e.value&&(t._isTextElement?t._addItem({value:e.value,label:e.label,choiceId:e.id,customProperties:e.customProperties,placeholder:e.placeholder}):t._addChoice({value:e.value,label:e.label,isSelected:!0,isDisabled:!1,customProperties:e.customProperties,placeholder:e.placeholder}))},string:function(){t._isTextElement?t._addItem({value:e}):t._addChoice({value:e,label:e,isSelected:!0,isDisabled:!1})}})[y(e).toLowerCase()]()},r._findAndSelectChoiceByValue=function(e){var t=this,i=this._store.choices.find((function(i){return t.config.valueComparer(i.value,e)}));i&&!i.selected&&this._addItem({value:i.value,label:i.label,choiceId:i.id,groupId:i.groupId,customProperties:i.customProperties,placeholder:i.placeholder,keyCode:i.keyCode})},r._generatePlaceholderValue=function(){if(this._isSelectElement){var e=this.passedElement.placeholderOption;return!!e&&e.text}var t=this.config,i=t.placeholder,n=t.placeholderValue,s=this.passedElement.element.dataset;if(i){if(n)return n;if(s.placeholder)return s.placeholder}return!1},n}();t.default=Ce}]).default},"object"==typeof i&&"object"==typeof t?t.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof i?i.Choices=o():r.Choices=o()},n”, “ 453: function _(o,e,i,t,r){t(),i.root="bk-root",i.default=".bk-root{}.bk-root .choices{position:relative;margin-bottom:24px;font-size:16px;}.bk-root .choices:focus{outline:none;}.bk-root .choices:last-child{margin-bottom:0;}.bk-root .choices.is-disabled .choices__inner,.bk-root .choices.is-disabled .choices__input{background-color:#eaeaea;cursor:not-allowed;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.bk-root .choices.is-disabled .choices__item{cursor:not-allowed;}.bk-root .choices [hidden]{display:none !important;}.bk-root .choices[data-type*=’select-one’]{cursor:pointer;}.bk-root .choices[data-type*=’select-one’] .choices__inner{padding-bottom:7.5px;}.bk-root .choices[data-type*=’select-one’] .choices__input{display:block;width:100%;padding:10px;border-bottom:1px solid #dddddd;background-color:#ffffff;margin:0;}.bk-root .choices[data-type*=’select-one’] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);padding:0;background-size:8px;position:absolute;top:50%;right:0;margin-top:-10px;margin-right:25px;height:20px;width:20px;border-radius:10em;opacity:0.5;}.bk-root .choices[data-type*=’select-one’] .choices__button:hover,.bk-root .choices[data-type*=’select-one’] .choices__button:focus{opacity:1;}.bk-root .choices[data-type*=’select-one’] .choices__button:focus{box-shadow:0px 0px 0px 2px #00bcd4;}.bk-root .choices[data-type*=’select-one’] .choices__item[data-value=’’] .choices__button{display:none;}.bk-root .choices[data-type*=’select-one’]:after{content:’’;height:0;width:0;border-style:solid;border-color:#333333 transparent transparent transparent;border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none;}.bk-root .choices[data-type*=’select-one’].is-open:after{border-color:transparent transparent #333333 transparent;margin-top:-7.5px;}.bk-root .choices[data-type*=’select-one’][dir=’rtl’]:after{left:11.5px;right:auto;}.bk-root .choices[data-type*=’select-one’][dir=’rtl’] .choices__button{right:auto;left:0;margin-left:25px;margin-right:0;}.bk-root .choices[data-type*=’select-multiple’] .choices__inner,.bk-root .choices[data-type*=’text’] .choices__inner{cursor:text;}.bk-root .choices[data-type*=’select-multiple’] .choices__button,.bk-root .choices[data-type*=’text’] .choices__button{position:relative;display:inline-block;margin-top:0;margin-right:-4px;margin-bottom:0;margin-left:8px;padding-left:16px;border-left:1px solid #008fa1;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);background-size:8px;width:8px;line-height:1;opacity:0.75;border-radius:0;}.bk-root .choices[data-type*=’select-multiple’] .choices__button:hover,.bk-root .choices[data-type*=’select-multiple’] .choices__button:focus,.bk-root .choices[data-type*=’text’] .choices__button:hover,.bk-root .choices[data-type*=’text’] .choices__button:focus{opacity:1;}.bk-root .choices__inner{display:inline-block;vertical-align:top;width:100%;background-color:#f9f9f9;padding:7.5px 7.5px 3.75px;border:1px solid #dddddd;border-radius:2.5px;font-size:14px;min-height:44px;overflow:hidden;}.bk-root .is-focused .choices__inner,.bk-root .is-open .choices__inner{border-color:#b7b7b7;}.bk-root .is-open .choices__inner{border-radius:2.5px 2.5px 0 0;}.bk-root .is-flipped.is-open .choices__inner{border-radius:0 0 2.5px 2.5px;}.bk-root .choices__list{margin:0;padding-left:0;list-style:none;}.bk-root .choices__list–single{display:inline-block;padding:4px 16px 4px 4px;width:100%;}.bk-root [dir=’rtl’] .choices__list–single{padding-right:4px;padding-left:16px;}.bk-root .choices__list–single .choices__item{width:100%;}.bk-root .choices__list–multiple{display:inline;}.bk-root .choices__list–multiple .choices__item{display:inline-block;vertical-align:middle;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;margin-right:3.75px;margin-bottom:3.75px;background-color:#00bcd4;border:1px solid #00a5bb;color:#ffffff;word-break:break-all;box-sizing:border-box;}.bk-root .choices__list–multiple .choices__item[data-deletable]{padding-right:5px;}.bk-root [dir=’rtl’] .choices__list–multiple .choices__item{margin-right:0;margin-left:3.75px;}.bk-root .choices__list–multiple .choices__item.is-highlighted{background-color:#00a5bb;border:1px solid #008fa1;}.bk-root .is-disabled .choices__list–multiple .choices__item{background-color:#aaaaaa;border:1px solid #919191;}.bk-root .choices__list–dropdown{visibility:hidden;z-index:1;position:absolute;width:100%;background-color:#ffffff;border:1px solid #dddddd;top:100%;margin-top:-1px;border-bottom-left-radius:2.5px;border-bottom-right-radius:2.5px;overflow:hidden;word-break:break-all;will-change:visibility;}.bk-root .choices__list–dropdown.is-active{visibility:visible;}.bk-root .is-open .choices__list–dropdown{border-color:#b7b7b7;}.bk-root .is-flipped .choices__list–dropdown{top:auto;bottom:100%;margin-top:0;margin-bottom:-1px;border-radius:0.25rem 0.25rem 0 0;}.bk-root .choices__list–dropdown .choices__list{position:relative;max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position;}.bk-root .choices__list–dropdown .choices__item{position:relative;padding:10px;font-size:14px;}.bk-root [dir=’rtl’] .choices__list–dropdown .choices__item{text-align:right;}@media (min-width: 640px){.bk-root .choices__list–dropdown .choices__item–selectable{padding-right:100px;}.bk-root .choices__list–dropdown .choices__item–selectable:after{content:attr(data-select-text);font-size:12px;opacity:0;position:absolute;right:10px;top:50%;transform:translateY(-50%);}.bk-root [dir=’rtl’] .choices__list–dropdown .choices__item–selectable{text-align:right;padding-left:100px;padding-right:10px;}.bk-root [dir=’rtl’] .choices__list–dropdown .choices__item–selectable:after{right:auto;left:10px;}}.bk-root .choices__list–dropdown .choices__item–selectable.is-highlighted{background-color:#f2f2f2;}.bk-root .choices__list–dropdown .choices__item–selectable.is-highlighted:after{opacity:0.5;}.bk-root .choices__item{cursor:default;}.bk-root .choices__item–selectable{cursor:pointer;}.bk-root .choices__item–disabled{cursor:not-allowed;-webkit-user-select:none;-ms-user-select:none;user-select:none;opacity:0.5;}.bk-root .choices__heading{font-weight:600;font-size:12px;padding:10px;border-bottom:1px solid #f7f7f7;color:gray;}.bk-root .choices__button{text-indent:-9999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer;}.bk-root .choices__button:focus{outline:none;}.bk-root .choices__input{display:inline-block;vertical-align:baseline;background-color:#f9f9f9;font-size:14px;margin-bottom:5px;border:0;border-radius:0;max-width:100%;padding:4px 0 4px 2px;}.bk-root .choices__input:focus{outline:0;}.bk-root [dir=’rtl’] .choices__input{padding-right:2px;padding-left:0;}.bk-root .choices__placeholder{opacity:0.5;}.bk-root .choices{width:100%;}.bk-root .choices{box-sizing:border-box;}.bk-root .choices *,.bk-root .choices *:before,.bk-root .choices *:after{box-sizing:inherit;}.bk-root .choices__inner .choices__item.light{background-color:rgba(0, 126, 255, 0.08);border-radius:5px;border:1px solid rgba(0, 126, 255, 0.24);color:#007eff;}.bk-root .choices__inner .choices__item.solid{background-color:#1f77b4;border:none;border-radius:5px;color:white;}.bk-root .choices__inner .choices__item.solid .is-highlighted{background-color:#1f77b4;border:none;}.bk-root .choices__input{background-color:transparent;}.bk-root .choices__inner{background:transparent;border:1px solid darkgray;border-radius:5px;min-height:unset;}.bk-root .choices__list{white-space:initial;}.bk-root .choices__list–dropdown{z-index:100;}.bk-root .choices[data-type*=select-multiple] .choices__button.light{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDA3ZWZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);}.bk-root .choices[data-type*=select-multiple] .choices__button.solid{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjZmZmZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);border-left:1px solid white;opacity:1;}"},n”, “ 454: function _(e,t,l,i,n){i();const s=e(1),u=s.__importStar(e(183)),h=e(426),o=e(166),a=e(43),r=e(8),d=e(11),p=s.__importStar(e(427)),_=/^[-+]?\d*$/,m=/^[-+]?\d.?\d*(?:(?:\d|\d.)[eE][-+]?)*\d*$/;class c 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.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&&d.assert(t<=l,"Invalid bounds, low must be inferior to high"),null!=e&&null!=t&&(this.model.value=Math.max(e,t))})),this.connect(this.model.properties.high.change,(()=>{const{value:e,low:t,high:l}=this.model;null!=t&&null!=l&&d.assert(l>=t,"Invalid bounds, high must be superior to low"),null!=e&&null!=l&&(this.model.value=Math.min(e,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=a.input({type:"text",class:p.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=>_.test(e))):"float"==this.model.mode&&this._set_input_filter((e=>m.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=c,c.__name__="NumericInputView";class v extends h.InputWidget{constructor(e){super(e)}static init_NumericInput(){this.prototype.default_view=c,this.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(o.TickFormatter))),null],low:[s(e),null],high:[s(e),null]})))}_formatter(e,t){return r.isString(t)?u.format(e,t):t.doFormat([e],{loc:0})[0]}pretty(e){return null!=this.format?this._formatter(e,this.format):${e}}}l.NumericInput=v,v.__name__="NumericInput",v.init_NumericInput()},n”, “ 455: function _(e,t,r,s,i){s();const n=e(444),_=e(43);class a extends n.MarkupView{render(){super.render();const e=_.pre({style:{overflow:"auto"}},this.model.text);this.markup_el.appendChild(e)}}r.PreTextView=a,a.__name__="PreTextView";class o extends n.Markup{constructor(e){super(e)}static init_PreText(){this.prototype.default_view=a}}r.PreText=o,o.__name__="PreText",o.init_PreText()},n”, “ 456: function _(t,o,i,e,a){e();const n=t(1),u=t(430),s=t(43),c=n.__importStar(t(328));class _ extends u.ButtonGroupView{change_active(t){this.model.active!==t&&(this.model.active=t)}_update_active(){const{active:t}=this.model;this._buttons.forEach(((o,i)=>{s.classes(o).toggle(c.active,t===i)}))}}i.RadioButtonGroupView=_,_.__name__="RadioButtonGroupView";class r extends u.ButtonGroup{constructor(t){super(t)}static init_RadioButtonGroup(){this.prototype.default_view=_,this.define((({Int:t,Nullable:o})=>({active:[o(t),null]})))}}i.RadioButtonGroup=r,r.__name__="RadioButtonGroup",r.init_RadioButtonGroup()},n”, “ 457: function _(e,i,t,n,a){n();const s=e(1),o=e(43),d=e(34),l=e(432),p=s.__importStar(e(427));class r extends l.InputGroupView{render(){super.render();const e=o.div({class:[p.input_group,this.model.inline?p.inline:null]});this.el.appendChild(e);const i=d.uniqueId(),{active:t,labels:n}=this.model;this._inputs=[];for(let a=0;a<n.length;a++){const s=o.input({type:"radio",name:i,value:${a}});s.addEventListener("change",(()=>this.change_active(a))),this._inputs.push(s),this.model.disabled&&(s.disabled=!0),a==t&&(s.checked=!0);const d=o.label({},s,o.span({},n[a]));e.appendChild(d)}}change_active(e){this.model.active=e}}t.RadioGroupView=r,r.__name__="RadioGroupView";class u extends l.InputGroup{constructor(e){super(e)}static init_RadioGroup(){this.prototype.default_view=r,this.define((({Boolean:e,Int:i,String:t,Array:n})=>({active:[i],labels:[n(t),[]],inline:[e,!1]})))}}t.RadioGroup=u,u.__name__="RadioGroup",u.init_RadioGroup()},n”, “ 458: function _(e,t,i,r,a){r();const n=e(1).__importStar(e(183)),s=e(438),_=e(8);class d extends s.AbstractRangeSliderView{}i.RangeSliderView=d,d.__name__="RangeSliderView";class o extends s.AbstractSlider{constructor(e){super(e),this.behaviour="drag",this.connected=[!1,!0,!1]}static init_RangeSlider(){this.prototype.default_view=d,this.override({format:"0[.]00"})}_formatter(e,t){return _.isString(t)?n.format(e,t):t.compute(e)}}i.RangeSlider=o,o.__name__="RangeSlider",o.init_RangeSlider()},n”, “ 459: function _(e,t,n,i,s){i();const l=e(1),u=e(43),a=e(8),o=e(13),_=e(426),p=l.__importStar(e(427));class r 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,(()=>{u.empty(this.input_el),u.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,i;return a.isString(t)?n=i=t:[n,i]=t,e.add(n),u.option({value:n},i)}))}e.clear();const{options:n}=this.model;return a.isArray(n)?t(n):o.entries(n).map((([e,n])=>u.optgroup({label:e},t(n))))}render(){super.render(),this.input_el=u.select({class:p.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=r,r.__name__="SelectView";class c extends _.InputWidget{constructor(e){super(e)}static init_Select(){this.prototype.default_view=r,this.define((({String:e,Array:t,Tuple:n,Dict:i,Or:s})=>{const l=t(s(e,n(e,e)));return{value:[e,""],options:[s(l,i(l)),[]]}}))}}n.Select=c,c.__name__="Select",c.init_Select()},n”, “ 460: function _(t,e,i,r,s){r();const _=t(1).__importStar(t(183)),a=t(438),n=t(8);class o extends a.AbstractSliderView{}i.SliderView=o,o.__name__="SliderView";class d extends a.AbstractSlider{constructor(t){super(t),this.behaviour="tap",this.connected=[!0,!1]}static init_Slider(){this.prototype.default_view=o,this.override({format:"0[.]00"})}_formatter(t,e){return n.isString(e)?_.format(t,e):e.compute(t)}}i.Slider=d,d.__name__="Slider",d.init_Slider()},n”, “ 461: function _(e,t,i,n,s){n();const l=e(454),o=e(43),{min:r,max:a,floor:h,abs:_}=Math;function u(e){return h(e)!==e?e.toFixed(16).replace(/0+$/,"").split(".")[1].length:0}class d extends l.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())o.toggle_attribute(e,"disabled",this.model.disabled)}))}render(){super.render(),this.wrapper_el=o.div({class:"bk-spin-wrapper"}),this.group_el.replaceChild(this.wrapper_el,this.input_el),this.btn_up_el=o.button({class:"bk-spin-btn bk-spin-btn-up"}),this.btn_down_el=o.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())o.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=u;return a(n(_(null!=e?e:0)),n(_(null!=t?t:0)),n(_(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 o.Keys.Up:return e.preventDefault(),this.increment(this.model.step);case o.Keys.Down:return e.preventDefault(),this.increment(-this.model.step);case o.Keys.PageUp:return e.preventDefault(),this.increment(this.model.page_step_multiplier*this.model.step);case o.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?r(0,i):0:e<0&&(this.model.value=null!=i?i:null!=t?a(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=d,d.__name__="SpinnerView";class p extends l.NumericInput{constructor(e){super(e)}static init_Spinner(){this.prototype.default_view=d,this.define((({Number:e,Nullable:t})=>({value_throttled:[t(e),null],step:[e,1],page_step_multiplier:[e,10],wheel_wait:[e,100]}))),this.override({mode:"float"})}}i.Spinner=p,p.__name__="Spinner",p.init_Spinner()},n”, “ 462: function _(e,t,s,n,i){n();const r=e(1),o=e(425),p=e(43),c=r.__importStar(e(427));class l extends o.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=p.textarea({class:c.input})}render(){super.render(),this.input_el.cols=this.model.cols,this.input_el.rows=this.model.rows}}s.TextAreaInputView=l,l.__name__="TextAreaInputView";class _ extends o.TextLikeInput{constructor(e){super(e)}static init_TextAreaInput(){this.prototype.default_view=l,this.define((({Int:e})=>({cols:[e,20],rows:[e,2]}))),this.override({max_length:500})}}s.TextAreaInput=_,_.__name__="TextAreaInput",_.init_TextAreaInput()},n”, “ 463: function _(e,t,i,s,c){s();const o=e(1),a=e(419),n=e(43),l=o.__importStar(e(328));class _ extends a.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(){n.classes(this.button_el).toggle(l.active,this.model.active)}}i.ToggleView=_,_.__name__="ToggleView";class g extends a.AbstractButton{constructor(e){super(e)}static init_Toggle(){this.prototype.default_view=_,this.define((({Boolean:e})=>({active:[e,!1]}))),this.override({label:"Toggle"})}}i.Toggle=g,g.__name__="Toggle",g.init_Toggle()},n”, “ }, 417, {"models/widgets/main":417,"models/widgets/index":418,"models/widgets/abstract_button":419,"models/widgets/control":420,"models/widgets/widget":488,"models/widgets/abstract_icon":422,"models/widgets/autocomplete_input":423,"models/widgets/text_input":424,"models/widgets/text_like_input":425,"models/widgets/input_widget":426,"styles/widgets/inputs.css":427,"models/widgets/button":428,"models/widgets/checkbox_button_group":429,"models/widgets/button_group":430,"models/widgets/checkbox_group":431,"models/widgets/input_group":432,"models/widgets/color_picker":433,"models/widgets/date_picker":434,"styles/widgets/flatpickr.css":436,"models/widgets/date_range_slider":437,"models/widgets/abstract_slider":438,"styles/widgets/sliders.css":440,"styles/widgets/nouislider.css":441,"models/widgets/date_slider":442,"models/widgets/div":443,"models/widgets/markup":444,"styles/clearfix.css":445,"models/widgets/dropdown":446,"models/widgets/file_input":447,"models/widgets/multiselect":448,"models/widgets/paragraph":449,"models/widgets/password_input":450,"models/widgets/multichoice":451,"styles/widgets/choices.css":453,"models/widgets/numeric_input":454,"models/widgets/pretext":455,"models/widgets/radio_button_group":456,"models/widgets/radio_group":457,"models/widgets/range_slider":458,"models/widgets/selectbox":459,"models/widgets/slider":460,"models/widgets/spinner":461,"models/widgets/textarea_input":462,"models/widgets/toggle":463}, {});});n”, “n”, “ / END bokeh-widgets.min.js /n”, “ },n”, “ n”, “ function(Bokeh) {n”, “ / BEGIN bokeh-tables.min.js /n”, “ /!n”, “ * Copyright (c) 2012 - 2021, Anaconda, Inc., and Bokeh Contributorsn”, “ * 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 documentationn”, “ * and/or other materials provided with the distribution.n”, “ * n”, “ * Neither the name of Anaconda nor the names of any contributorsn”, “ * may be used to endorse or promote products derived from this softwaren”, “ * 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, THEn”, “ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSEn”, “ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BEn”, “ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, ORn”, “ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OFn”, “ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSn”, “ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER INn”, “ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)n”, “ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OFn”, “ * THE POSSIBILITY OF SUCH DAMAGE.n”, “ /n”, “ (function(root, factory) {n”, “ factory(root["Bokeh"], "2.3.0");n”, “ })(this, function(Bokeh, version) {n”, “ var 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”, “ 464: function _(t,e,o,r,s){r();const _=t(1).__importStar(t(465));o.Tables=_;t(7).register_models(_)},n”, “ 465: function _(g,a,r,e,t){e();const o=g(1);o.__exportStar(g(466),r),o.__exportStar(g(469),r),t("DataTable",g(472).DataTable),t("TableColumn",g(490).TableColumn),t("TableWidget",g(489).TableWidget);var n=g(492);t("AvgAggregator",n.AvgAggregator),t("MinAggregator",n.MinAggregator),t("MaxAggregator",n.MaxAggregator),t("SumAggregator",n.SumAggregator);var A=g(493);t("GroupingInfo",A.GroupingInfo),t("DataCube",A.DataCube)},n”, “ 466: function _(e,t,i,s,r){s();const a=e(1),n=e(43),l=e(240),u=e(53),d=e(467),o=a.__importStar(e(468));class _ extends l.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(o.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 n.Keys.Left:case n.Keys.Right:case n.Keys.Up:case n.Keys.Down:case n.Keys.PageUp:case n.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[d.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=_,_.__name__="CellEditorView";class c extends u.Model{}i.CellEditor=c,c.__name__="CellEditor";class p extends _{get emptyValue(){return""}_createInput(){return n.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=p,p.__name__="StringEditorView";class h extends c{static init_StringEditor(){this.prototype.default_view=p,this.define((({String:e,Array:t})=>({completions:[t(e),[]]})))}}i.StringEditor=h,h.__name__="StringEditor",h.init_StringEditor();class E extends _{_createInput(){return n.textarea()}renderEditor(){this.inputEl.focus(),this.inputEl.select()}}i.TextEditorView=E,E.__name__="TextEditorView";class V extends c{static init_TextEditor(){this.prototype.default_view=E}}i.TextEditor=V,V.__name__="TextEditor",V.init_TextEditor();class m extends _{_createInput(){return n.select()}renderEditor(){for(const e of this.model.options)this.inputEl.appendChild(n.option({value:e},e));this.focus()}}i.SelectEditorView=m,m.__name__="SelectEditorView";class f extends c{static init_SelectEditor(){this.prototype.default_view=m,this.define((({String:e,Array:t})=>({options:[t(e),[]]})))}}i.SelectEditor=f,f.__name__="SelectEditor",f.init_SelectEditor();class x extends _{_createInput(){return n.input({type:"text"})}}i.PercentEditorView=x,x.__name__="PercentEditorView";class g extends c{static init_PercentEditor(){this.prototype.default_view=x}}i.PercentEditor=g,g.__name__="PercentEditor",g.init_PercentEditor();class w extends _{_createInput(){return n.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=w,w.__name__="CheckboxEditorView";class v extends c{static init_CheckboxEditor(){this.prototype.default_view=w}}i.CheckboxEditor=v,v.__name__="CheckboxEditor",v.init_CheckboxEditor();class y extends _{_createInput(){return n.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=y,y.__name__="IntEditorView";class I extends c{static init_IntEditor(){this.prototype.default_view=y,this.define((({Int:e})=>({step:[e,1]})))}}i.IntEditor=I,I.__name__="IntEditor",I.init_IntEditor();class b extends _{_createInput(){return n.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=b,b.__name__="NumberEditorView";class N extends c{static init_NumberEditor(){this.prototype.default_view=b,this.define((({Number:e})=>({step:[e,.01]})))}}i.NumberEditor=N,N.__name__="NumberEditor",N.init_NumberEditor();class S extends _{_createInput(){return n.input({type:"text"})}}i.TimeEditorView=S,S.__name__="TimeEditorView";class C extends c{static init_TimeEditor(){this.prototype.default_view=S}}i.TimeEditor=C,C.__name__="TimeEditor",C.init_TimeEditor();class D extends _{_createInput(){return n.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=D,D.__name__="DateEditorView";class T extends c{static init_DateEditor(){this.prototype.default_view=D}}i.DateEditor=T,T.__name__="DateEditor",T.init_DateEditor()},n”, “ 467: function _(_,n,i,t,d){t(),i.DTINDEX_NAME="__bkdt_internal_index__"},n”, “ 468: 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”, “ 469: function _(t,e,r,a,n){a();const i=t(1),o=i.__importDefault(t(181)),s=i.__importStar(t(183)),l=t(470),c=t(43),m=t(20),u=t(8),_=t(34),F=t(22),d=t(53);class f extends d.Model{constructor(t){super(t)}doFormat(t,e,r,a,n){return null==r?"":(r+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}}r.CellFormatter=f,f.__name__="CellFormatter";class h extends f{constructor(t){super(t)}static init_StringFormatter(){this.define((({Color:t,Nullable:e})=>({font_style:[m.FontStyle,"normal"],text_align:[m.TextAlign,"left"],text_color:[e(t),null]})))}doFormat(t,e,r,a,n){const{font_style:i,text_align:o,text_color:s}=this,l=c.div({},null==r?"":`${r}`);switch(i){case"bold":l.style.fontWeight="bold";break;case"italic":l.style.fontStyle="italic"}return null!=o&&(l.style.textAlign=o),null!=s&&(l.style.color=F.color2css(s)),l.outerHTML}}r.StringFormatter=h,h.__name__="StringFormatter",h.init_StringFormatter();class g extends h{constructor(t){super(t)}static init_ScientificFormatter(){this.define((({Number:t,String:e,Nullable:r})=>({nan_format:[r(e),null],precision:[t,10],power_limit_high:[t,5],power_limit_low:[t,-3]})))}get scientific_limit_low(){return 10**this.power_limit_low}get scientific_limit_high(){return 10**this.power_limit_high}doFormat(t,e,r,a,n){const i=Math.abs(r)<=this.scientific_limit_low||Math.abs(r)>=this.scientific_limit_high;let o=this.precision;return o<1&&(o=1),r=null!=r&&!isNaN(r)||null==this.nan_format?0==r?_.to_fixed(r,1):i?r.toExponential(o):_.to_fixed(r,o):this.nan_format,super.doFormat(t,e,r,a,n)}}r.ScientificFormatter=g,g.__name__="ScientificFormatter",g.init_ScientificFormatter();class p extends h{constructor(t){super(t)}static init_NumberFormatter(){this.define((({String:t,Nullable:e})=>({format:[t,"0,0"],language:[t,"en"],rounding:[m.RoundingFunction,"round"],nan_format:[e(t),null]})))}doFormat(t,e,r,a,n){const{format:i,language:o,nan_format:l}=this,c=(()=>{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)||null==l?s.format(r,i,o,c):l,super.doFormat(t,e,r,a,n)}}r.NumberFormatter=p,p.__name__="NumberFormatter",p.init_NumberFormatter();class S extends f{constructor(t){super(t)}static init_BooleanFormatter(){this.define((({String:t})=>({icon:[t,"check"]})))}doFormat(t,e,r,a,n){return r?c.i({class:this.icon}).outerHTML:""}}r.BooleanFormatter=S,S.__name__="BooleanFormatter",S.init_BooleanFormatter();class b extends h{constructor(t){super(t)}static init_DateFormatter(){this.define((({String:t,Nullable:e})=>({format:[t,"ISO-8601"],nan_format:[e(t),null]})))}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,a,n){const{nan_format:i}=this;let s;return s=null!=(r=u.isString(r)?parseInt(r,10):r)&&!isNaN(r)&&-9223372036854776!==r||null==i?null==r?"":o.default(r,this.getFormat()):i,super.doFormat(t,e,s,a,n)}}r.DateFormatter=b,b.__name__="DateFormatter",b.init_DateFormatter();class x extends f{constructor(t){super(t)}static init_HTMLTemplateFormatter(){this.define((({String:t})=>({template:[t,"<%= value %>"]})))}doFormat(t,e,r,a,n){const{template:i}=this;if(null==r)return"";return l._.template(i)(Object.assign(Object.assign({},n),{value:r}))}}r.HTMLTemplateFormatter=x,x.__name__="HTMLTemplateFormatter",x.init_HTMLTemplateFormatter()},n”, “ 470: function _(e,n,t,f,i){var o=e(471),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”, “ 471: function _(r,e,n,t,a){n”, “ // (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editorsn”, “ // 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<a;t++)if(e.call(n,r[t],t,r)===u)return}else{var c=h.keys(r);for(t=0,a=c.length;t<a;t++)if(e.call(n,r[c[t]],c[t],r)===u)return}};h.keys=p||function(r){if(r!==Object(r))throw new TypeError("Invalid object");var e=[];for(var n in r)h.has(r,n)&&e.push(n);return e},h.defaults=function(r){return v(l.call(arguments,1),(function(e){if(e)for(var n in e)void 0===r[n]&&(r[n]=e[n])})),r},h.isArray=_||function(r){return"[object Array]"===i.call(r)},h.has=function(r,e){if(!h.isArray(e))return null!=r&&f.call(r,e);for(var n=e.length,t=0;t<n;t++){var a=e[t];if(null==r||!f.call(r,a))return!1;r=r[a]}return!!n};var g={escape:{"&":"&amp;","<":"&lt;",">":"&gt;",’"’:"&quot;","’":"&#x27;"}},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”, “ 472: function _(e,t,i,s,o){s();const n=e(1),l=e(473),r=e(477),d=e(478),a=e(479),h=e(34),u=e(8),c=e(9),_=e(13),m=e(19),g=e(488),p=e(467),f=e(489),b=e(490),w=n.__importStar(e(468)),x=w,C=n.__importDefault(e(491));i.AutosizeModes={fit_columns:"FCV",fit_viewport:"FVC",force_fit:"LFF",none:"NOA"};let z=!1;class v{constructor(e,t){this.init(e,t)}init(e,t){if(p.DTINDEX_NAME in e.data)throw new Error(`special name ${p.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 _.keys(this.source.data))t[i]=this.source.data[i][this.index[e]];return t[p.DTINDEX_NAME]=this.index[e],t}getField(e,t){return t==p.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 c.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,c.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=[[p.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 u.isNumber(t)&&u.isNumber(r)?l*(t-r||+isNaN(t)-+isNaN(r)):`${t}`>`${r}`?l:-l}return 0}))}}i.TableDataProvider=v,v.__name__="TableDataProvider";class A extends g.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()))}remove(){var e;null===(e=this.grid)||void 0===e||e.destroy(),super.remove()}styles(){return[…super.styles(),C.default,w.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:h.uniqueId(),name:this.model.index_header,field:p.DTINDEX_NAME,width:this.model.index_width,behavior:"select",cannotTriggerInsert:!0,resizable:!1,selectable:!1,sortable:!0,cssClass:x.cell_index,headerCssClass:x.header_index}}css_classes(){return super.css_classes().concat(x.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.map((e=>Object.assign(Object.assign({},e.toColumn()),{parent:this})));let s=null;if("checkbox"==this.model.selectable&&(s=new r.CheckboxSelectColumn({cssClass:x.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||(m.logger.warn("jquery-ui is required to enable DataTable.reorderable"),z=!0),o=!1);let n=-1,h=!1;const{frozen_rows:c,frozen_columns:_}=this.model,g=null==_?-1:_-1;null!=c&&(h=c<0,n=Math.abs(c));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:g,frozenRow:n,frozenBottom:h},f=null!=this.grid;if(this.data=new v(this.model.source,this.model.view),this.grid=new a.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 l.RowSelectionModel({selectActiveRow:null==s})),null!=s&&this.grid.registerPlugin(s);const e={dataItemColumnValueExtractor(e,t){let i=e[t.field];return u.isString(i)&&(i=i.replace(/\n/g,"\\n")),i},includeHeaderWhenCopying:!1};this.grid.registerPlugin(new d.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=A,A.__name__="DataTableView";class D extends f.TableWidget{constructor(e){super(e),this._sort_columns=[]}get sort_columns(){return this._sort_columns}static init_DataTable(){this.prototype.default_view=A,this.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(b.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]}))),this.override({width:600,height:400})}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?c.some(t,(t=>e.top<=t&&t<=e.bottom))?null:Math.max(0,Math.min(…t)-1):null}}i.DataTable=D,D.__name__="DataTable",D.init_DataTable()},n”, “ 473: function _(e,t,n,o,r){var l=e(474),i=e(476);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<e.length;n++)for(var o=e[n].fromRow;o<=e[n].toRow;o++)t.push(o);return t}function h(e){for(var n=[],o=t.getColumns().length-1,r=0;r<e.length;r++)n.push(new i.Range(e[r],0,e[r],o));return n}function w(){return f(r)}function g(e){(r&&0!==r.length||e&&0!==e.length)&&(r=e,c.onSelectedRangesChanged.notify(r))}function v(e,n){o.selectActiveRow&&null!=n.row&&g([new i.Range(n.row,0,n.row,t.getColumns().length-1)])}function p(e){var n=t.getActiveCell();if(t.getOptions().multiSelect&&n&&e.shiftKey&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&(e.which==i.keyCode.UP||e.which==i.keyCode.DOWN)){var o=w();o.sort((function(e,t){return e-t})),o.length||(o=[n.row]);var r,l=o[0],c=o[o.length-1];if((r=e.which==i.keyCode.DOWN?n.row<c||l==c?++c:++l:n.row<c?–c:–l)>=0&&r<t.getDataLength())t.scrollRowIntoView(r),g(h(function(e,t){var n,o=[];for(n=e;n<=t;n++)o.push(n);for(n=t;n<e;n++)o.push(n);return o}(l,c)));e.preventDefault(),e.stopPropagation()}}function y(e){var n=t.getCellFromEvent(e);if(!n||!t.canCellBeActive(n.row,n.cell))return!1;if(!t.getOptions().multiSelect||!e.ctrlKey&&!e.shiftKey&&!e.metaKey)return!1;var o=f(r),i=l.inArray(n.row,o);if(-1===i&&(e.ctrlKey||e.metaKey))o.push(n.row),t.setActiveCell(n.row,n.cell);else if(-1!==i&&(e.ctrlKey||e.metaKey))o=l.grep(o,(function(e,t){return e!==n.row})),t.setActiveCell(n.row,n.cell);else if(o.length&&e.shiftKey){var c=o.pop(),u=Math.min(n.row,c),s=Math.max(n.row,c);o=[];for(var a=u;a<=s;a++)a!==c&&o.push(a);o.push(c),t.setActiveCell(n.row,n.cell)}return g(h(o)),e.stopImmediatePropagation(),!0}l.extend(this,{getSelectedRows:w,setSelectedRows:function(e){g(h(e))},getSelectedRanges:function(){return r},setSelectedRanges:g,init:function(n){o=l.extend(!0,{},s,e),t=n,u.subscribe(t.onActiveCellChanged,a(v)),u.subscribe(t.onKeyDown,a(p)),u.subscribe(t.onClick,a(y))},destroy:function(){u.unsubscribeAll()},pluginName:"RowSelectionModel",onSelectedRangesChanged:new i.Event})}}},n”, “ 474: function _(e,n,f,o,t){n.exports="undefined"!=typeof $?$:e(475)},n”, “ 475: function _(e,t,n,r,i){n”, “ /!n”, “ * jQuery JavaScript Library v3.5.1n”, “ * https://jquery.com/n”, “ n”, “ * Includes Sizzle.jsn”, “ * https://sizzlejs.com/n”, “ *n”, “ * Copyright JS Foundation and other contributorsn”, “ * Released under the MIT licensen”, “ * https://jquery.org/licensen”, “ *n”, “ * Date: 2020-05-04T22:49Zn”, “ */n”, “ !function(e,n){"use strict";"object"==typeof t&&"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(e)}("undefined"!=typeof window?window:this,(function(e,t){"use strict";var n=[],r=Object.getPrototypeOf,i=n.slice,o=n.flat?function(e){return n.flat.call(e)}:function(e){return n.concat.apply([],e)},a=n.push,s=n.indexOf,u={},l=u.toString,c=u.hasOwnProperty,f=c.toString,p=f.call(Object),d={},h=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},g=function(e){return null!=e&&e===e.window},v=e.document,y={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||v).createElement("script");if(o.text=e,t)for(r in y)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?u[l.call(e)]||"object":typeof e}var b="3.5.1",w=function(e,t){return new w.fn.init(e,t)};function T(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!h(e)&&!g(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&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<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:a,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||h(a)||(a={}),s===u&&(a=this,s–);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||w.isPlainObject(n)?n:{},i=!1,a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+(b+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==l.call(e))&&(!(t=r(e))||"function"==typeof(n=c.call(t,"constructor")&&t.constructor)&&f.call(n)===p)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){m(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(T(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(T(Object(e))?w.merge(n,"string"==typeof e?[e]:e):a.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:s.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,a=0,s=[];if(T(e))for(r=e.length;a<r;a++)null!=(i=t(e[a],a,n))&&s.push(i);else for(a in e)null!=(i=t(e[a],a,n))&&s.push(i);return o(s)},guid:1,support:d}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),(function(e,t){u["[object "+t+"]"]=t.toLowerCase()}));var C=n”, “ /!n”, “ * Sizzle CSS Selector Engine v2.3.5n”, “ * https://sizzlejs.com/n”, “ n”, “ * Copyright JS Foundation and other contributorsn”, “ * Released under the MIT licensen”, “ * https://js.foundation/n”, “ *n”, “ * Date: 2020-03-14n”, “ */n”, “ function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,v,y,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ue(),S=ue(),k=ue(),A=ue(),N=function(e,t){return e===t&&(f=!0),0},D={}.hasOwnProperty,j=[],q=j.pop,L=j.push,H=j.push,O=j.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}[\\x20\\t\\r\\n\\f]?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\[[\\x20\\t\\r\\n\\f]*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:’((?:\\\.|[^\\\\’]))’|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+I+\"))|)"+M+"\\]",F=":("+I+")(?:\\(((‘((?:\\\.|[^\\\\’]))’|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^[\\x20\\t\\r\\n\\f]+|((?:^|[^\\\\])(?:\\\.)*)[\\x20\\t\\r\\n\\f]+$","g"),_=new RegExp("^[\\x20\\t\\r\\n\\f]*,[\\x20\\t\\r\\n\\f]*"),z=new RegExp("^[\\x20\\t\\r\\n\\f]*([>+~]|[\\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?"�":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(j=O.call(w.childNodes),w.childNodes),j[w.childNodes.length].nodeType}catch(e){H={apply:j.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.namespaceURI,n=(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="<a id=’"+b+"’></a><select id=’"+b+"-\r\\’ msallowcapture=’’><option selected=’’></option></select>",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="<a href=’’ disabled=’disabled’></a><select disabled=’disabled’><option/></select>";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&&D.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;n<t;n+=2)e.push(n);return e})),odd:ve((function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e})),lt:ve((function(e,t,n){for(var r=n<0?n+t:n>t?t:n;–r>=0;)e.push(r);return e})),gt:ve((function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e}))}}).pseudos.nth=r.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=de(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=he(t);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(c=(f=t[b]||(t[b]={}))[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function we(e){return e.length>1?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<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(e,t,n,r,i,o){return r&&!r[b]&&(r=Ce(r)),i&&!i[b]&&(i=Ce(i,o)),le((function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(t||"",s.nodeType?[s]:s,[]),v=!e||!o&&t?g:Te(g,p,e,s,u),y=n?i||(o?e:h||r)?[]:a:v;if(n&&n(v,y,s,u),r)for(l=Te(y,d),r(l,[],s,u),c=l.length;c–;)(f=l[c])&&(y[d[c]]=!(v[d[c]]=f));if(o){if(i||e){if(i){for(l=[],c=y.length;c–;)(f=y[c])&&l.push(v[c]=f);i(null,y=[],l,u)}for(c=y.length;c–;)(f=y[c])&&(l=i?P(o,f):p[c])>-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}];u<o;u++)if(n=r.relative[e[u].type])p=[be(we(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o&&!r.relative[e[i].type];i++);return Ce(u>1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:" "===e[u-2].type?"":""})).replace($,"$1"),n,u<i&&Ee(e.slice(u,i)),i<o&&Ee(e=e.slice(i)),i<o&&xe(e))}p.push(n)}return we(p)}return me.prototype=r.filters=r.pseudos,r.setFilters=new me,a=se.tokenize=function(e,t){var n,i,o,a,s,u,l,c=S[e+" "];if(c)return t?0:c.slice(0);for(s=e,u=[],l=r.preFilter;s;){for(a in n&&!(i=_.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=z.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace($," ")}),s=s.slice(n.length)),r.filter)!(i=G[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?se.error(e):S(e,u).slice(0)},s=se.compile=function(e,t){var n,i=[],o=[],s=k[e+" "];if(!s){for(t||(t=a(e)),n=t.length;n–;)(s=Ee(t[n]))[b]?i.push(s):o.push(s);(s=k(e,function(e,t){var n=t.length>0,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))).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="<a href=’#’></a>","#"===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="<input/>",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 D(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;t<r;t++)if(w.contains(i[t],this))return!0})));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?w(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"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,j=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<n;e++)if(w.contains(this,t[e]))return!0}))},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-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<o.length;)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1);e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){w.each(n,(function(n,r){h(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)}))}(arguments),n&&!t&&u()),this},remove:function(){return w.each(arguments,(function(e,t){for(var n;(n=w.inArray(t,o,n))>-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)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,h(l)?i?l.call(e,a(o,n,R,i),a(o,n,M,i)):(o++,l.call(e,a(o,n,R,i),a(o,n,M,i),a(o,n,R,n.notifyWith))):(r!==R&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=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(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=w.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;for(;n–;)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=function(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:J.test(e)?JSON.parse(e):e)}(n)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){for(n=a.length;n–;)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each((function(){Q.set(this,e)})):$(this,(function(t){var n;if(o&&void 0===t)return void 0!==(n=Q.get(o,e))||void 0!==(n=Z(o,e))?n:void 0;this.each((function(){Q.set(this,e,t)}))}),null,t,arguments.length>1,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<n?w.queue(this[0],e):void 0===t?this:this.each((function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)}))},dequeue:function(e){return this.each((function(){w.dequeue(this,e)}))},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,s=function(){–r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a–;)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=v.documentElement,ie=function(e){return w.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return w.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===w.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},u=s(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=e.nodeType&&(w.cssNumber[t]||"px"!==l&&+u)&&te.exec(w.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a–;)w.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e){var t,n=e.ownerDocument,r=e.nodeName,i=ue[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),ue[r]=i,i)}function ce(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=Y.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=le(r))):"none"!==n&&(i[o]="none",Y.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return ce(this,!0)},hide:function(){return ce(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each((function(){ae(this)?w(this).show():w(this).hide()}))}});var fe,pe,de=/^(?:checkbox|radio)$/i,he=/<([a-z][^\/\0>\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="<textarea>x</textarea>",d.noCloneChecked=!!fe.cloneNode(!0).lastChild.defaultValue,fe.innerHTML="<option></option>",d.option=!!fe.lastChild;var ve={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_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<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ve.tbody=ve.tfoot=ve.colgroup=ve.caption=ve.thead,ve.th=ve.td,d.option||(ve.optgroup=ve.option=[1,"<select multiple=’multiple’>","</select>"]);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<h;d++)if((o=e[d])||0===o)if(\"object\"===x(o))w.merge(p,o.nodeType?[o]:o);else if(xe.test(o)){for(a=a||f.appendChild(t.createElement(\"div\")),s=(he.exec(o)||[\"\",\"\"])[1].toLowerCase(),u=ve[s]||ve._default,a.innerHTML=u[1]+w.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;w.merge(p,a.childNodes),(a=f.firstChild).textContent=\"\"}else p.push(t.createTextNode(o));for(f.textContent=\"\",d=0;o=p[d++];)if(r&&w.inArray(o,r)>-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=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:.(.+)|)/;function Ee(){return!0}function Se(){return!1}function ke(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==("focus"===t)}function Ae(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)Ae(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=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each((function(){w.event.add(this,t,i,r,n)}))}function Ne(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.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,Ee)}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=Ce.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=Ce.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<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){for(a=w.event.handlers.call(this,u,l),t=0;(i=a[t++])&&!u.isPropagationStopped();)for(u.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!u.isImmediatePropagationStopped();)u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((w.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?w(i,this).index(l)>-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<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:h(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return de.test(t.type)&&t.click&&A(t,"input")&&Ne(t,"click",Ee),!1},trigger:function(e){var t=this||e;return de.test(t.type)&&t.click&&A(t,"input")&&Ne(t,"click"),!0},_default:function(e){var t=e.target;return de.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Te.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({focus:"focusin",blur:"focusout"},(function(e,t){w.event.special[e]={setup:function(){return Ne(this,e,ke),!1},trigger:function(){return Ne(this,e),!0},delegateType:t}})),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},(function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}})),w.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each((function(){w.event.remove(this,e,n,t)}))}});var De=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|–)|(?:\]\]|–)>\s*$/g;function Le(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&w(e).children("tbody")[0]||e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(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;n<r;n++)w.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=w.extend({},o),Q.set(t,a))}}function Re(e,t){var n=t.nodeName.toLowerCase();"input"===n&&de.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Me(e,t,n,r){t=o(t);var i,a,s,u,l,c,f=0,p=e.length,g=p-1,v=t[0],y=h(v);if(y||p>1&&"string"==typeof v&&!d.checkClone&&je.test(v))return e.each((function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Me(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"),He)).length;f<p;f++)l=i,f!==g&&(l=w.clone(l,!0,!0),u&&w.merge(s,ye(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,w.map(s,Oe),f=0;f<u;f++)l=s[f],ge.test(l.type||"")&&!Y.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&!l.noModule&&w._evalUrl(l.src,{nonce:l.nonce||l.getAttribute("nonce")},c):m(l.textContent.replace(qe,""),l,c))}return e}function Ie(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ye(r)),r.parentNode&&(n&&ie(r)&&me(ye(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=ie(e);if(!(d.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r<i;r++)Re(o[r],a[r]);if(t)if(n)for(o=o||ye(e),a=a||ye(s),r=0,i=o.length;r<i;r++)Pe(o[r],a[r]);else Pe(e,s);return(a=ye(s,"script")).length>0&&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 Ie(this,e,!0)},remove:function(e){return Ie(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 Me(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)}))},prepend:function(){return Me(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Me(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Me(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&&!De.test(e)&&!ve[(he.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)}),null,e,arguments.length)},replaceWith:function(){var e=[];return Me(this,arguments,(function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ye(this)),n&&n.replaceChild(t,this))}),e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},(function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,s=0;s<=o;s++)n=s===o?this:this.clone(!0),w(i[s])[t](n),a.apply(r,n.get());return this.pushStack(r)}}));var We=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Fe=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Be=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},$e=new RegExp(ne.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=w.style(e,t)),!d.pixelBoxStyles()&&We.test(a)&&$e.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);r="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",a=36===n(t.right),i=36===n(t.width),c.style.position="absolute",o=12===n(c.offsetWidth/3),re.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var r,i,o,a,s,u,l=v.createElement("div"),c=v.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",d.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(d,{boxSizingReliable:function(){return t(),i},pixelBoxStyles:function(){return t(),a},pixelPosition:function(){return t(),r},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),o},reliableTrDimensions:function(){var t,n,r,i;return null==s&&(t=v.createElement("table"),n=v.createElement("tr"),r=v.createElement("div"),t.style.cssText="position:absolute;left:-11111px",n.style.height="1px",r.style.height="9px",re.appendChild(t).appendChild(n).appendChild(r),i=e.getComputedStyle(n),s=parseInt(i.height)>3,re.removeChild(t)),s}}))}();var Ue=["Webkit","Moz","ms"],Xe=v.createElement("div").style,Ve={};function Ge(e){var t=w.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;n–;)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^–/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=w.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=w.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=w.css(e,"border"+ne[a]+"Width",!0,i))):(u+=w.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=w.css(e,"border"+ne[a]+"Width",!0,i):s+=w.css(e,"border"+ne[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!d.boxSizingReliable()||n)&&"border-box"===w.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(We.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)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(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=Qe.test(t),l=e.style;if(u||(t=Ge(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 Qe.test(t)||(t=Ge(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[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!Ye.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,t,r):Be(e,Je,(function(){return tt(e,t,r)}))},set:function(e,n,r){var i,o=Fe(e),a=!d.scrollboxSize()&&"absolute"===o.position,s=(a||r)&&"border-box"===w.css(e,"boxSizing",!1,o),u=r?et(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-et(e,t,"border",!1,o)-.5)),u&&(i=te.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ze(0,n,u)}}})),w.cssHooks.marginLeft=ze(d.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-Be(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=Ze)})),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=Fe(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)}),e,t,arguments.length>1)}}),w.Tween=nt,nt.prototype={constructor:nt,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=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.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):nt.propHooks._default.set(this),this}},nt.prototype.init.prototype=nt.prototype,nt.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[Ge(e.prop)]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},nt.propHooks.scrollTop=nt.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=nt.prototype.init,w.fx.step={};var rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){it&&(!1===v.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(st):e.setTimeout(st,w.fx.interval),w.fx.tick())}function ut(){return e.setTimeout((function(){rt=void 0})),rt=Date.now()}function lt(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 ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(e,t,n){var r,i,o=0,a=ft.prefilters.length,s=w.Deferred().always((function(){delete u.elem})),u=function(){if(i)return!1;for(var t=rt||ut(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:rt||ut(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=w.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);o<a;o++)if(r=ft.prefilters[o].call(l,e,c,l.opts))return h(r.stop)&&(w._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,ct,l),h(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),w.fx.timer(w.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}w.Animation=w.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){h(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=w._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always((function(){p.always((function(){a.unqueued–,w.queue(e,"fx").length||a.empty.fire()}))}))),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||w.style(e,r)}if((u=!w.isEmptyObject(t))||!w.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=w.css(e,"display"))&&(l?c=l:(ce([e],!0),l=e.style.display||l,c=w.css(e,"display"),ce([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===w.css(e,"float")&&(u||(p.done((function(){h.display=l})),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always((function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]}))),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&ce([e],!0),p.done((function(){for(r in g||ce([e]),Y.remove(e,"fxshow"),d)w.style(e,r,d[r])}))),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||h(e)&&e,duration:e,easing:n&&t||t&&!h(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){h(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=w.isEmptyObject(e),o=w.speed(t,n,r),a=function(){var t=ft(this,w.extend({},e),o);(i||Y.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&this.queue(e||"fx",[]),this.each((function(){var t=!0,i=null!=e&&e+"queueHooks",o=w.timers,a=Y.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&at.test(i)&&r(a[i]);for(i=o.length;i–;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||w.dequeue(this,e)}))},finish:function(e){return!1!==e&&(e=e||"fx"),this.each((function(){var t,n=Y.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=w.timers,a=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t–;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish}))}}),w.each(["toggle","show","hide"],(function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(lt(t,!0),e,r,i)}})),w.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},(function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}})),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t–,1);n.length||w.fx.stop(),rt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){it||(it=!0,st())},w.fx.stop=function(){it=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx&&w.fx.speeds[t]||t,n=n||"fx",this.queue(n,(function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}}))},function(){var e=v.createElement("input"),t=v.createElement("select").appendChild(v.createElement("option"));e.type="checkbox",d.checkOn=""!==e.value,d.optSelected=t.selected,(e=v.createElement("input")).value="t",e.type="radio",d.radioValue="t"===e.value}();var pt,dt=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return $(this,w.attr,e,t,arguments.length>1)},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)?pt: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)}}),pt={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=dt[t]||w.find.attr;dt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=dt[a],dt[a]=i,i=null!=n(e,t,r)?a:null,dt[a]=o),i}}));var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(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):ht.test(e.nodeName)||gt.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,yt(this)))}));if((t=mt(e)).length)for(;n=this[u++];)if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(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,yt(this)))}));if(!arguments.length)return this.attr("class","");if((t=mt(e)).length)for(;n=this[u++];)if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=vt(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,yt(this),t),t)})):this.each((function(){var t,i,o,a;if(r)for(i=0,o=w(this),a=mt(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=yt(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&&(" "+vt(yt(n))+" ").indexOf(t)>-1)return!0;return!1}});var xt=/\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(xt,""):null==n?"":n:void 0}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(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<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=w.makeArray(t),a=i.length;a–;)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-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 bt=/^(?:focusinfocus|focusoutblur)$/,wt=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&&!bt.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,bt.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,wt),r[m](),t.isPropagationStopped()&&d.removeEventListener(m,wt),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 Tt=e.location,Ct={guid:Date.now()},Et=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,(function(t,i){n||St.test(e)?r(e,i):Dt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)}));else if(n||"object"!==x(t))r(e,t);else for(i in t)Dt(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)Dt(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")&&Nt.test(this.nodeName)&&!At.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(kt,"\r\n")}})):{name:t.name,value:n.replace(kt,"\r\n")}})).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=v.createElement("a");function Ft(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 Bt(e,t,n,r){var i={},o=e===Mt;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 $t(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}Wt.href=Tt.href,w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,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?$t($t(e,w.ajaxSettings),t):$t(w.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),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=Ht.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||Tt.href)+"").replace(Pt,Tt.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=Wt.protocol+"//"+Wt.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)),Bt(Rt,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=!Ot.test(d.type),i=d.url.replace(qt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(jt,"+")):(p=d.url.slice(i.length),d.data&&(d.processData||"string"==typeof d.data)&&(i+=(Et.test(i)?"&":"?")+d.data,delete d.data),!1===d.cache&&(i=i.replace(Lt,"$1"),p=(Et.test(i)?"&":"?")+"_="+Ct.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]?", "+It+"; 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=Bt(Mt,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&&(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 _t={0:200,1223:204},zt=w.ajaxSettings.xhr();d.cors=!!zt&&"withCredentials"in zt,d.ajax=zt=!!zt,w.ajaxTransport((function(t){var n,r;if(d.cors||zt&&!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(_t[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("<script>").attr(e.scriptAttrs||{}).prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),v.head.appendChild(t[0])},abort:function(){n&&n()}}}));var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||w.expando+"_"+Ct.guid++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",(function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(Vt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=h(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Vt,"$1"+i):!1!==t.jsonp&&(t.url+=(Et.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||w.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always((function(){void 0===o?w(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Xt.push(i)),a&&h(o)&&o(a[0]),a=o=void 0})),"script"})),d.createHTMLDocument=((Ut=v.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),w.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(d.createHTMLDocument?((r=(t=v.implementation.createHTMLDocument("")).createElement("base")).href=v.location.href,t.head.appendChild(r)):t=v),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=be([e],t,o),o&&o.length&&w(o).remove(),w.merge([],i.childNodes)));var r,i,o},w.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=vt(e.slice(s)),e=e.slice(0,s)),h(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&w.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done((function(e){o=arguments,a.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)})).always(n&&function(e,t){a.each((function(){n.apply(this,o||[e.responseText,t,e])}))}),this},w.expr.pseudos.animated=function(e){return w.grep(w.timers,(function(t){return e===t.elem})).length},w.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=w.css(e,"position"),c=w(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=w.css(e,"top"),u=w.css(e,"left"),("absolute"===l||"fixed"===l)&&(o+u).indexOf("auto")>-1?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),h(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each((function(t){w.offset.setOffset(this,e,t)}));var t,n,r=this[0];return r?r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map((function(){for(var e=this.offsetParent;e&&"static"===w.css(e,"position");)e=e.offsetParent;return e||re}))}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},(function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return $(this,(function(e,r,i){var o;if(g(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i}),e,r,arguments.length)}})),w.each(["top","left"],(function(e,t){w.cssHooks[t]=ze(d.pixelPosition,(function(e,n){if(n)return n=_e(e,t),We.test(n)?w(e).position()[t]+"px":n}))})),w.each({Height:"height",Width:"width"},(function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},(function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return $(this,(function(t,n,i){var o;return g(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,s):w.style(t,n,i,s)}),t,a?i:void 0,a)}}))})),w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],(function(e,t){w.fn[t]=function(e){return this.on(t,e)}})),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,""):this.off(t,e||"",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),(function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}));var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.proxy=function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),h(e))return r=i.call(arguments,2),(o=function(){return e.apply(t||this,r.concat(i.call(arguments)))}).guid=e.guid=e.guid||w.guid++,o},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=A,w.isFunction=h,w.isWindow=g,w.camelCase=X,w.type=x,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},w.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],(function(){return w}));var Yt=e.jQuery,Qt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=Qt),t&&e.jQuery===w&&(e.jQuery=Yt),w},void 0===t&&(e.jQuery=e.$=w),w}))},n”, “ 476: function _(t,n,i,o,e){var r=t(474);function u(){var t=!1,n=!1;this.stopPropagation=function(){t=!0},this.isPropagationStopped=function(){return t},this.stopImmediatePropagation=function(){n=!0},this.isImmediatePropagationStopped=function(){return n}}function s(){this.__nonDataRow=!0}function l(){this.__group=!0,this.level=0,this.count=0,this.value=null,this.title=null,this.collapsed=!1,this.selectChecked=!1,this.totals=null,this.rows=[],this.groups=null,this.groupingKey=null}function c(){this.__groupTotals=!0,this.group=null,this.initialized=!1}function h(){var t=null;this.isActive=function(n){return n?t===n:null!==t},this.activate=function(n){if(n!==t){if(null!==t)throw new Error("SlickGrid.EditorLock.activate: an editController is still active, can’t activate another editController");if(!n.commitCurrentEdit)throw new Error("SlickGrid.EditorLock.activate: editController must implement .commitCurrentEdit()");if(!n.cancelCurrentEdit)throw new Error("SlickGrid.EditorLock.activate: editController must implement .cancelCurrentEdit()");t=n}},this.deactivate=function(n){if(t!==n)throw new Error("SlickGrid.EditorLock.deactivate: specified editController is not the currently active one");t=null},this.commitCurrentEdit=function(){return!t||t.commitCurrentEdit()},this.cancelCurrentEdit=function(){return!t||t.cancelCurrentEdit()}}l.prototype=new s,l.prototype.equals=function(t){return this.value===t.value&&this.count===t.count&&this.collapsed===t.collapsed&&this.title===t.title},c.prototype=new s,n.exports={Event:function(){var t=[];this.subscribe=function(n){t.push(n)},this.unsubscribe=function(n){for(var i=t.length-1;i>=0;i–)t[i]===n&&t.splice(i,1)},this.notify=function(n,i,o){var e;i=i||new u,o=o||this;for(var r=0;r<t.length&&!i.isPropagationStopped()&&!i.isImmediatePropagationStopped();r++)e=t[r].call(o,i,n);return e}},EventData:u,EventHandler:function(){var t=[];this.subscribe=function(n,i){return t.push({event:n,handler:i}),n.subscribe(i),this},this.unsubscribe=function(n,i){for(var o=t.length;o–;)if(t[o].event===n&&t[o].handler===i)return t.splice(o,1),void n.unsubscribe(i);return this},this.unsubscribeAll=function(){for(var n=t.length;n–;)t[n].event.unsubscribe(t[n].handler);return t=[],this}},Range:function(t,n,i,o){void 0===i&&void 0===o&&(i=t,o=n),this.fromRow=Math.min(t,i),this.fromCell=Math.min(n,o),this.toRow=Math.max(t,i),this.toCell=Math.max(n,o),this.isSingleRow=function(){return this.fromRow==this.toRow},this.isSingleCell=function(){return this.fromRow==this.toRow&&this.fromCell==this.toCell},this.contains=function(t,n){return t>=this.fromRow&&t<=this.toRow&&n>=this.fromCell&&n<=this.toCell},this.toString=function(){return this.isSingleCell()?"("+this.fromRow+":"+this.fromCell+")":"("+this.fromRow+":"+this.fromCell+" - "+this.toRow+":"+this.toCell+")"}},NonDataRow:s,Group:l,GroupTotals:c,EditorLock:h,GlobalEditorLock:new h,TreeColumns:function(t){var n={};function i(t){t.forEach((function(t){n[t.id]=t,t.columns&&i(t.columns)}))}function o(t,n){return t.filter((function(t){var i=n.call(t);return i&&t.columns&&(t.columns=o(t.columns,n)),i&&(!t.columns||t.columns.length)}))}function e(t,n){t.sort((function(t,i){return u(n.getColumnIndex(t.id))-u(n.getColumnIndex(i.id))})).forEach((function(t){t.columns&&e(t.columns,n)}))}function u(t){return void 0===t?-1:t}function s(t){if(!t.length)return t.columns?1+s(t.columns):1;for(var n in t)return s(t[n])}function l(t,n,i){var o=[];if(n==(i=i||0))return t.length&&t.forEach((function(t){t.columns&&(t.extractColumns=function(){return c(t)})})),t;for(var e in t)t[e].columns&&(o=o.concat(l(t[e].columns,n,i+1)));return o}function c(t){var n=[];if(t.hasOwnProperty("length"))for(var i=0;i<t.length;i++)n=n.concat(c(t[i]));else{if(!t.hasOwnProperty("columns"))return t;n=n.concat(c(t.columns))}return n}function h(){return r.extend(!0,[],t)}i(t),this.hasDepth=function(){for(var n in t)if(t[n].hasOwnProperty("columns"))return!0;return!1},this.getTreeColumns=function(){return t},this.extractColumns=function(){return this.hasDepth()?c(t):t},this.getDepth=function(){return s(t)},this.getColumnsInDepth=function(n){return l(t,n)},this.getColumnsInGroup=function(t){return c(t)},this.visibleColumns=function(){return o(h(),(function(){return this.visible}))},this.filter=function(t){return o(h(),t)},this.reOrder=function(n){return e(t,n)},this.getById=function(t){return n[t]},this.getInIds=function(t){return t.map((function(t){return n[t]}))}},keyCode:{SPACE:8,BACKSPACE:8,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,ESC:27,HOME:36,INSERT:45,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,RIGHT:39,TAB:9,UP:38,A:65,C:67,V:86},preClickClassName:"slick-edit-preclick",GridAutosizeColsMode:{None:"NOA",LegacyOff:"LOF",LegacyForceFit:"LFF",IgnoreViewport:"IGV",FitColsToViewport:"FCV",FitViewportToCols:"FVC"},ColAutosizeMode:{Locked:"LCK",Guide:"GUI",Content:"CON",ContentIntelligent:"CTI"},RowSelectionMode:{FirstRow:"FS1",FirstNRows:"FSN",AllRows:"ALL",LastRow:"LS1"},ValueFilterMode:{None:"NONE",DeDuplicate:"DEDP",GetGreatestAndSub:"GR8T",GetLongestTextAndSub:"LNSB",GetLongestText:"LNSC"},WidthEvalMode:{CanvasTextSize:"CANV",HTML:"HTML"}}},n”, “ 477: function _(e,t,o,l,n){var i=e(474),c=e(476);t.exports={CheckboxSelectColumn:function(e){var t,o=null,l=k(),n=new c.EventHandler,r={},d=!1,a=i.extend(!0,{},{columnId:"_checkbox_selector",cssClass:null,hideSelectAllCheckbox:!1,toolTip:"Select/Deselect All",width:30,hideInColumnTitleRow:!1,hideInFilterHeaderRow:!0},e);function s(){t.updateColumnHeader(a.columnId,"","")}function u(){i("#filter-checkbox-selectall-container").hide()}function h(e,n){var c,s,u,h=t.getSelectedRows(),f={},p=0;if("function"==typeof o)for(u=0;u<t.getDataLength();u++){C(s,t.getDataItem(u),t)||p++}var b=[];for(s=0;s<h.length;s++){c=h[s],C(s,t.getDataItem(c),t)?(f[c]=!0,f[c]!==r[c]&&(t.invalidateRow(c),delete r[c])):b.push(c)}for(s in r)t.invalidateRow(s);(r=f,t.render(),d=h.length&&h.length+p>=t.getDataLength(),a.hideInColumnTitleRow||a.hideSelectAllCheckbox||R(d),a.hideInFilterHeaderRow)||i("#header-filter-selector"+l).prop("checked",d);if(b.length>0){for(s=0;s<b.length;s++){var m=h.indexOf(b[s]);h.splice(m,1)}t.setSelectedRows(h)}}function f(e,o){32==e.which&&t.getColumns()[o.cell].id===a.columnId&&(t.getEditorLock().isActive()&&!t.getEditorLock().commitCurrentEdit()||b(o.row),e.preventDefault(),e.stopImmediatePropagation())}function p(e,o){if(t.getColumns()[o.cell].id===a.columnId&&i(e.target).is(":checkbox")){if(t.getEditorLock().isActive()&&!t.getEditorLock().commitCurrentEdit())return e.preventDefault(),void e.stopImmediatePropagation();b(o.row),e.stopPropagation(),e.stopImmediatePropagation()}}function b(e){var o=t.getDataItem(e);C(e,o,t)&&(r[e]?t.setSelectedRows(i.grep(t.getSelectedRows(),(function(t){return t!=e}))):t.setSelectedRows(t.getSelectedRows().concat(e)),t.setActiveCell(e,function(){if(null===g){g=0;for(var e=t.getColumns(),o=0;o<e.length;o++)e[o].id==a.columnId&&(g=o)}return g}()))}function m(e,o){if(o.column.id==a.columnId&&i(e.target).is(":checkbox")){if(t.getEditorLock().isActive()&&!t.getEditorLock().commitCurrentEdit())return e.preventDefault(),void e.stopImmediatePropagation();if(i(e.target).is(":checked")){for(var l=[],n=0;n<t.getDataLength();n++){C(n,t.getDataItem(n),t)&&l.push(n)}t.setSelectedRows(l)}else t.setSelectedRows([]);e.stopPropagation(),e.stopImmediatePropagation()}}"function"==typeof a.selectableOverride&&v(a.selectableOverride);var g=null;function k(){return Math.round(1e7*Math.random())}function w(e,t,o,l,n,i){var c=k()+e;return n&&C(e,n,i)?r[e]?"<input id=’selector"+c+"’ type=’checkbox’ checked=’checked’><label for=’selector"+c+"’></label>":"<input id=’selector"+c+"’ type=’checkbox’><label for=’selector"+c+"’></label>":null}function C(e,t,l){return"function"!=typeof o||o(e,t,l)}function R(e){e?t.updateColumnHeader(a.columnId,"<input id=’header-selector"+l+"’ type=’checkbox’ checked=’checked’><label for=’header-selector"+l+"’></label>",a.toolTip):t.updateColumnHeader(a.columnId,"<input id=’header-selector"+l+"’ type=’checkbox’><label for=’header-selector"+l+"’></label>",a.toolTip)}function v(e){o=e}i.extend(this,{init:function(e){t=e,n.subscribe(t.onSelectedRowsChanged,h).subscribe(t.onClick,p).subscribe(t.onKeyDown,f),a.hideInFilterHeaderRow||function(e){e.onHeaderRowCellRendered.subscribe((function(e,t){"sel"===t.column.field&&(i(t.node).empty(),i("<span id=’filter-checkbox-selectall-container’><input id=’header-filter-selector"+l+"’ type=’checkbox’><label for=’header-filter-selector"+l+"’></label></span>").appendTo(t.node).on("click",(function(e){m(e,t)})))}))}(e),a.hideInColumnTitleRow||n.subscribe(t.onHeaderClick,m)},destroy:function(){n.unsubscribeAll()},pluginName:"CheckboxSelectColumn",deSelectRows:function(e){var o,l=e.length,n=[];for(o=0;o<l;o++)r[e[o]]&&(n[n.length]=e[o]);t.setSelectedRows(i.grep(t.getSelectedRows(),(function(e){return n.indexOf(e)<0})))},selectRows:function(e){var o,l=e.length,n=[];for(o=0;o<l;o++)r[e[o]]||(n[n.length]=e[o]);t.setSelectedRows(t.getSelectedRows().concat(n))},getColumnDefinition:function(){return{id:a.columnId,name:a.hideSelectAllCheckbox||a.hideInColumnTitleRow?"":"<input id=’header-selector"+l+"’ type=’checkbox’><label for=’header-selector"+l+"’></label>",toolTip:a.hideSelectAllCheckbox||a.hideInColumnTitleRow?"":a.toolTip,field:"sel",width:a.width,resizable:!1,sortable:!1,cssClass:a.cssClass,hideSelectAllCheckbox:a.hideSelectAllCheckbox,formatter:w}},getOptions:function(){return a},selectableOverride:v,setOptions:function(e){if((a=i.extend(!0,{},a,e)).hideSelectAllCheckbox)s(),u();else if(a.hideInColumnTitleRow?s():(R(d),n.subscribe(t.onHeaderClick,m)),a.hideInFilterHeaderRow)u();else{var o=i("#filter-checkbox-selectall-container");o.show(),o.find(‘input[type="checkbox"]’).prop("checked",d)}}})}}},n”, “ 478: function _(e,t,o,l,n){var a=e(474),r=e(476),i=r.keyCode;t.exports={CellExternalCopyManager:function(e){var t,o,l=this,n=e||{},s=n.copiedCellStyleLayerKey||"copy-manager",u=n.copiedCellStyle||"copied",c=0,d=n.bodyElement||document.body,f=n.onCopyInit||null,h=n.onCopySuccess||null;function C(e){if(n.headerColumnValueExtractor){var t=n.headerColumnValueExtractor(e);if(t)return t}return e.name}function m(e,o,l){if(n.dataItemColumnValueExtractor){var r=n.dataItemColumnValueExtractor(e,o);if(r)return r}var i="";if(o.editor){var s={container:a("<p>"),column:o,position:{top:0,left:0},grid:t,event:l},u=new o.editor(s);u.loadValue(e),i=u.serializeValue(),u.destroy()}else i=e[o.field];return i}function g(e,o,l){if(o.denyPaste)return null;if(n.dataItemColumnValueSetter)return n.dataItemColumnValueSetter(e,o,l);if(o.editor){var r={container:a("body"),column:o,position:{top:0,left:0},grid:t},i=new o.editor(r);i.loadValue(e),i.applyValue(e,l),i.destroy()}else e[o.field]=l}function p(e){var t=document.createElement("textarea");return t.style.position="absolute",t.style.left="-1000px",t.style.top=document.body.scrollTop+"px",t.value=e,d.appendChild(t),t.select(),t}function y(e,a){var r;if(!t.getEditorLock().isActive()||t.getOptions().autoEdit){if(e.which==i.ESC&&o&&(e.preventDefault(),w(),l.onCopyCancelled.notify({ranges:o}),o=null),(e.which===i.C||e.which===i.INSERT)&&(e.ctrlKey||e.metaKey)&&!e.shiftKey&&(f&&f.call(),0!==(r=t.getSelectionModel().getSelectedRanges()).length)){o=r,v(r),l.onCopyCells.notify({ranges:r});for(var s=t.getColumns(),u="",c=0;c<r.length;c++){for(var y=r[c],D=[],S=y.fromRow;S<y.toRow+1;S++){var R=[],x=t.getDataItem(S);if(0===D.length&&n.includeHeaderWhenCopying){for(var E=[],V=y.fromCell;V<y.toCell+1;V++)s[V].name.length>0&&E.push(C(s[V]));D.push(E.join("\t"))}for(V=y.fromCell;V<y.toCell+1;V++)R.push(m(x,s[V],e));D.push(R.join("\t"))}u+=D.join("\r\n")+"\r\n"}if(window.clipboardData)return window.clipboardData.setData("Text",u),!0;var b=document.activeElement;if((M=p(u)).focus(),setTimeout((function(){d.removeChild(M),b?b.focus():console.log("Not element to restore focus to after copy?")}),100),h){var I=0;I=1===r.length?r[0].toRow+1-r[0].fromRow:r.length,h.call(this,I)}return!1}if(!n.readOnlyMode&&(e.which===i.V&&(e.ctrlKey||e.metaKey)&&!e.shiftKey||e.which===i.INSERT&&e.shiftKey&&!e.ctrlKey)){var M=p("");return setTimeout((function(){!function(e,t){var o=e.getColumns(),a=t.value.split(/[\n\f\r]/);""===a[a.length-1]&&a.pop();var r=[],i=0;d.removeChild(t);for(var s=0;s<a.length;s++)""!==a[s]?r[i++]=a[s].split("\t"):r[i++]=[""];var u=e.getActiveCell(),c=e.getSelectionModel().getSelectedRanges(),f=c&&c.length?c[0]:null,h=null,C=null;if(f)h=f.fromRow,C=f.fromCell;else{if(!u)return;h=u.row,C=u.cell}var m=!1,p=r.length,y=r.length?r[0].length:0;1==r.length&&1==r[0].length&&f&&(m=!0,p=f.toRow-f.fromRow+1,y=f.toCell-f.fromCell+1);var w=e.getData().length-h,D=0;if(w<p&&n.newRowCreator){var S=e.getData();for(D=1;D<=p-w;D++)S.push({});e.setData(S),e.render()}var R=h+p>e.getDataLength();if(n.newRowCreator&&R){var x=h+p-e.getDataLength();n.newRowCreator(x)}var E={isClipboardCommand:!0,clippedRange:r,oldValues:[],cellExternalCopyManager:l,_options:n,setDataItemValueForColumn:g,markCopySelection:v,oneCellToMultiple:m,activeRow:h,activeCell:C,destH:p,destW:y,maxDestY:e.getDataLength(),maxDestX:e.getColumns().length,h:0,w:0,execute:function(){this.h=0;for(var t=0;t<this.destH;t++){this.oldValues[t]=[],this.w=0,this.h++;for(var l=0;l<this.destW;l++){this.w++;var n=h+t,a=C+l;if(n<this.maxDestY&&a<this.maxDestX){e.getCellNode(n,a);var i=e.getDataItem(n);this.oldValues[t][l]=i[o[a].field],m?this.setDataItemValueForColumn(i,o[a],r[0][0]):this.setDataItemValueForColumn(i,o[a],r[t]?r[t][l]:""),e.updateCell(n,a),e.onCellChange.notify({row:n,cell:a,item:i,grid:e})}}}var s={fromCell:C,fromRow:h,toCell:C+this.w-1,toRow:h+this.h-1};this.markCopySelection([s]),e.getSelectionModel().setSelectedRanges([s]),this.cellExternalCopyManager.onPasteCells.notify({ranges:[s]})},undo:function(){for(var t=0;t<this.destH;t++)for(var l=0;l<this.destW;l++){var n=h+t,a=C+l;if(n<this.maxDestY&&a<this.maxDestX){e.getCellNode(n,a);var r=e.getDataItem(n);m?this.setDataItemValueForColumn(r,o[a],this.oldValues[0][0]):this.setDataItemValueForColumn(r,o[a],this.oldValues[t][l]),e.updateCell(n,a),e.onCellChange.notify({row:n,cell:a,item:r,grid:e})}}var i={fromCell:C,fromRow:h,toCell:C+this.w-1,toRow:h+this.h-1};if(this.markCopySelection([i]),e.getSelectionModel().setSelectedRanges([i]),this.cellExternalCopyManager.onPasteCells.notify({ranges:[i]}),D>1){for(var s=e.getData();D>1;D–)s.splice(s.length-1,1);e.setData(s),e.render()}}};n.clipboardCommandHandler?n.clipboardCommandHandler(E):E.execute()}(t,M)}),100),!1}}}function v(e){w();for(var o=t.getColumns(),n={},a=0;a<e.length;a++)for(var r=e[a].fromRow;r<=e[a].toRow;r++){n[r]={};for(var i=e[a].fromCell;i<=e[a].toCell&&i<o.length;i++)n[r][o[i].id]=u}t.setCellCssStyles(s,n),clearTimeout(c),c=setTimeout((function(){l.clearCopySelection()}),2e3)}function w(){t.removeCellCssStyles(s)}a.extend(this,{init:function(e){(t=e).onKeyDown.subscribe(y);var o=e.getSelectionModel();if(!o)throw new Error("Selection model is mandatory for this plugin. Please set a selection model on the grid before adding this plugin: grid.setSelectionModel(new Slick.CellSelectionModel())");o.onSelectedRangesChanged.subscribe((function(e,o){t.focus()}))},destroy:function(){t.onKeyDown.unsubscribe(y)},pluginName:"CellExternalCopyManager",clearCopySelection:w,handleKeyDown:y,onCopyCells:new r.Event,onCopyCancelled:new r.Event,onPasteCells:new r.Event,setIncludeHeaderWhenCopying:function(e){n.includeHeaderWhenCopying=e}})}}},n”, “ 479: function _(r,t,o,_,e){var p=r(1);p.__exportStar(r(476),t.exports),p.__exportStar(r(480),t.exports),p.__exportStar(r(483),t.exports),p.__exportStar(r(484),t.exports),p.__exportStar(r(485),t.exports),p.__exportStar(r(486),t.exports),p.__exportStar(r(487),t.exports)},n”, “ 480: function _(require,module,exports,__esModule,__esExport){n”, “ /n”, “ * @licensen”, “ * (c) 2009-2016 Michael Leibmann”, “ * michael{dot}leibman{at}gmail{dot}comn”, “ * http://github.com/mleibman/slickgridn”, “ n”, “ * Distributed under MIT license.n”, “ * All rights reserved.n”, “ *n”, “ * SlickGrid v2.4n”, “ *n”, “ * NOTES:n”, “ * Cell/row DOM manipulations are done directly bypassing jQuery’s DOM manipulation methods.n”, “ * This increases the speed dramatically, but can only be done safely because there are no event handlersn”, “ * or data associated with any cell/row DOM nodes. Cell editors must make sure they implement .destroy()n”, “ * and do proper cleanup.n”, “ */n”, “ var $=require(474),Slick=require(476),scrollbarDimensions,maxSupportedCssHeight;function SlickGrid(container,data,columns,options){$.fn.drag||require(481),$.fn.drop||require(482);var defaults={alwaysShowVerticalScroll:!1,alwaysAllowHorizontalScroll:!1,explicitInitialization:!1,rowHeight:25,defaultColumnWidth:80,enableAddRow:!1,leaveSpaceForNewRows:!1,editable:!1,autoEdit:!0,suppressActiveCellChangeOnEdit:!1,enableCellNavigation:!0,enableColumnReorder:!0,asyncEditorLoading:!1,asyncEditorLoadDelay:100,forceFitColumns:!1,enableAsyncPostRender:!1,asyncPostRenderDelay:50,enableAsyncPostRenderCleanup:!1,asyncPostRenderCleanupDelay:40,autoHeight:!1,editorLock:Slick.GlobalEditorLock,showColumnHeader:!0,showHeaderRow:!1,headerRowHeight:25,createFooterRow:!1,showFooterRow:!1,footerRowHeight:25,createPreHeaderPanel:!1,showPreHeaderPanel:!1,preHeaderPanelHeight:25,showTopPanel:!1,topPanelHeight:25,formatterFactory:null,editorFactory:null,cellFlashingCssClass:"flashing",selectedCellCssClass:"selected",multiSelect:!0,enableTextSelectionOnCells:!1,dataItemColumnValueExtractor:null,frozenBottom:!1,frozenColumn:-1,frozenRow:-1,fullWidthRows:!1,multiColumnSort:!1,numberedMultiColumnSort:!1,tristateMultiColumnSort:!1,sortColNumberInSeparateSpan:!1,defaultFormatter,forceSyncScrolling:!1,addNewRowCssClass:"new-row",preserveCopiedSelectionOnPaste:!1,showCellSelection:!0,viewportClass:null,minRowBuffer:3,emulatePagingWhenScrolling:!0,editorCellNavOnLRKeys:!1,doPaging:!0,autosizeColsMode:Slick.GridAutosizeColsMode.LegacyOff,autosizeColPaddingPx:4,autosizeTextAvgToMWidthRatio:.75,viewportSwitchToScrollModeWidthPercent:void 0,viewportMinWidthPx:void 0,viewportMaxWidthPx:void 0},columnDefaults={name:"",resizable:!0,sortable:!1,minWidth:30,maxWidth:void 0,rerenderOnResize:!1,headerCssClass:null,defaultSortAsc:!0,focusable:!0,selectable:!0},columnAutosizeDefaults={ignoreHeaderText:!1,colValueArray:void 0,allowAddlPercent:void 0,formatterOverride:void 0,autosizeMode:Slick.ColAutosizeMode.ContentIntelligent,rowSelectionModeOnInit:void 0,rowSelectionMode:Slick.RowSelectionMode.FirstNRows,rowSelectionCount:100,valueFilterMode:Slick.ValueFilterMode.None,widthEvalMode:Slick.WidthEvalMode.CanvasTextSize,sizeToRemaining:void 0,widthPx:void 0,colDataTypeOf:void 0},th,h,ph,n,cj,page=0,offset=0,vScrollDir=1,initialized=!1,$container,uid="slickgrid_"+Math.round(1e6*Math.random()),self=this,$focusSink,$focusSink2,$groupHeaders=$(),$headerScroller,$headers,$headerRow,$headerRowScroller,$headerRowSpacerL,$headerRowSpacerR,$footerRow,$footerRowScroller,$footerRowSpacerL,$footerRowSpacerR,$preHeaderPanel,$preHeaderPanelScroller,$preHeaderPanelSpacer,$preHeaderPanelR,$preHeaderPanelScrollerR,$preHeaderPanelSpacerR,$topPanelScroller,$topPanel,$viewport,$canvas,$style,$boundAncestors,treeColumns,stylesheet,columnCssRulesL,columnCssRulesR,viewportH,viewportW,canvasWidth,canvasWidthL,canvasWidthR,headersWidth,headersWidthL,headersWidthR,viewportHasHScroll,viewportHasVScroll,headerColumnWidthDiff=0,headerColumnHeightDiff=0,cellWidthDiff=0,cellHeightDiff=0,jQueryNewWidthBehaviour=!1,absoluteColumnMinWidth,hasFrozenRows=!1,frozenRowsHeight=0,actualFrozenRow=-1,paneTopH=0,paneBottomH=0,viewportTopH=0,viewportBottomH=0,topPanelH=0,headerRowH=0,footerRowH=0,tabbingDirection=1,$activeCanvasNode,$activeViewportNode,activePosX,activeRow,activeCell,activeCellNode=null,currentEditor=null,serializedEditorValue,editController,rowsCache={},renderedRows=0,numVisibleRows=0,prevScrollTop=0,scrollTop=0,lastRenderedScrollTop=0,lastRenderedScrollLeft=0,prevScrollLeft=0,scrollLeft=0,selectionModel,selectedRows=[],plugins=[],cellCssClasses={},columnsById={},sortColumns=[],columnPosLeft=[],columnPosRight=[],pagingActive=!1,pagingIsLastPage=!1,scrollThrottle=ActionThrottle(render,50),h_editorLoader=null,h_render=null,h_postrender=null,h_postrenderCleanup=null,postProcessedRows={},postProcessToRow=null,postProcessFromRow=null,postProcessedCleanupQueue=[],postProcessgroupId=0,counter_rows_rendered=0,counter_rows_removed=0,rowNodeFromLastMouseWheelEvent,zombieRowNodeFromLastMouseWheelEvent,zombieRowCacheFromLastMouseWheelEvent,zombieRowPostProcessedFromLastMouseWheelEvent,$paneHeaderL,$paneHeaderR,$paneTopL,$paneTopR,$paneBottomL,$paneBottomR,$headerScrollerL,$headerScrollerR,$headerL,$headerR,$groupHeadersL,$groupHeadersR,$headerRowScrollerL,$headerRowScrollerR,$footerRowScrollerL,$footerRowScrollerR,$headerRowL,$headerRowR,$footerRowL,$footerRowR,$topPanelScrollerL,$topPanelScrollerR,$topPanelL,$topPanelR,$viewportTopL,$viewportTopR,$viewportBottomL,$viewportBottomR,$canvasTopL,$canvasTopR,$canvasBottomL,$canvasBottomR,$viewportScrollContainerX,$viewportScrollContainerY,$headerScrollContainer,$headerRowScrollContainer,$footerRowScrollContainer,cssShow={position:"absolute",visibility:"hidden",display:"block"},$hiddenParents,oldProps=[],columnResizeDragging=!1;function init(){if(($container=container instanceof $?container:$(container)).length<1)throw new Error("SlickGrid requires a valid container, "+container+" does not exist in the DOM.");if(cacheCssForHiddenInit(),maxSupportedCssHeight=maxSupportedCssHeight||getMaxSupportedCssHeight(),options=$.extend({},defaults,options),validateAndEnforceOptions(),columnDefaults.width=options.defaultColumnWidth,treeColumns=new Slick.TreeColumns(columns),columns=treeColumns.extractColumns(),updateColumnProps(),options.enableColumnReorder&&!$.fn.sortable)throw new Error("SlickGrid’s ‘enableColumnReorder = true’ option requires jquery-ui.sortable module to be loaded");if(editController={commitCurrentEdit,cancelCurrentEdit},$container.empty().css("overflow","hidden").css("outline",0).addClass(uid).addClass("ui-widget"),/relative|absolute|fixed/.test($container.css("position"))||$container.css("position","relative"),$focusSink=$("<div tabIndex=’0’ hideFocus style=’position:fixed;width:0;height:0;top:0;left:0;outline:0;’></div>").appendTo($container),$paneHeaderL=$("<div class=’slick-pane slick-pane-header slick-pane-left’ tabIndex=’0’ />").appendTo($container),$paneHeaderR=$("<div class=’slick-pane slick-pane-header slick-pane-right’ tabIndex=’0’ />").appendTo($container),$paneTopL=$("<div class=’slick-pane slick-pane-top slick-pane-left’ tabIndex=’0’ />").appendTo($container),$paneTopR=$("<div class=’slick-pane slick-pane-top slick-pane-right’ tabIndex=’0’ />").appendTo($container),$paneBottomL=$("<div class=’slick-pane slick-pane-bottom slick-pane-left’ tabIndex=’0’ />").appendTo($container),$paneBottomR=$("<div class=’slick-pane slick-pane-bottom slick-pane-right’ tabIndex=’0’ />").appendTo($container),options.createPreHeaderPanel&&($preHeaderPanelScroller=$("<div class=’slick-preheader-panel ui-state-default’ style=’overflow:hidden;position:relative;’ />").appendTo($paneHeaderL),$preHeaderPanel=$("<div />").appendTo($preHeaderPanelScroller),$preHeaderPanelSpacer=$("<div style=’display:block;height:1px;position:absolute;top:0;left:0;’></div>").appendTo($preHeaderPanelScroller),$preHeaderPanelScrollerR=$("<div class=’slick-preheader-panel ui-state-default’ style=’overflow:hidden;position:relative;’ />").appendTo($paneHeaderR),$preHeaderPanelR=$("<div />").appendTo($preHeaderPanelScrollerR),$preHeaderPanelSpacerR=$("<div style=’display:block;height:1px;position:absolute;top:0;left:0;’></div>").appendTo($preHeaderPanelScrollerR),options.showPreHeaderPanel||($preHeaderPanelScroller.hide(),$preHeaderPanelScrollerR.hide())),$headerScrollerL=$("<div class=’slick-header ui-state-default slick-header-left’ />").appendTo($paneHeaderL),$headerScrollerR=$("<div class=’slick-header ui-state-default slick-header-right’ />").appendTo($paneHeaderR),$headerScroller=$().add($headerScrollerL).add($headerScrollerR),treeColumns.hasDepth()){$groupHeadersL=[],$groupHeadersR=[];for(var e=0;e<treeColumns.getDepth()-1;e++)$groupHeadersL[e]=$("<div class=’slick-group-header-columns slick-group-header-columns-left’ style=’left:-1000px’ />").appendTo($headerScrollerL),$groupHeadersR[e]=$("<div class=’slick-group-header-columns slick-group-header-columns-right’ style=’left:-1000px’ />").appendTo($headerScrollerR);$groupHeaders=$().add($groupHeadersL).add($groupHeadersR)}$headerL=$("<div class=’slick-header-columns slick-header-columns-left’ style=’left:-1000px’ />").appendTo($headerScrollerL),$headerR=$("<div class=’slick-header-columns slick-header-columns-right’ style=’left:-1000px’ />").appendTo($headerScrollerR),$headers=$().add($headerL).add($headerR),$headerRowScrollerL=$("<div class=’slick-headerrow ui-state-default’ />").appendTo($paneTopL),$headerRowScrollerR=$("<div class=’slick-headerrow ui-state-default’ />").appendTo($paneTopR),$headerRowScroller=$().add($headerRowScrollerL).add($headerRowScrollerR),$headerRowSpacerL=$("<div style=’display:block;height:1px;position:absolute;top:0;left:0;’></div>").appendTo($headerRowScrollerL),$headerRowSpacerR=$("<div style=’display:block;height:1px;position:absolute;top:0;left:0;’></div>").appendTo($headerRowScrollerR),$headerRowL=$("<div class=’slick-headerrow-columns slick-headerrow-columns-left’ />").appendTo($headerRowScrollerL),$headerRowR=$("<div class=’slick-headerrow-columns slick-headerrow-columns-right’ />").appendTo($headerRowScrollerR),$headerRow=$().add($headerRowL).add($headerRowR),$topPanelScrollerL=$("<div class=’slick-top-panel-scroller ui-state-default’ />").appendTo($paneTopL),$topPanelScrollerR=$("<div class=’slick-top-panel-scroller ui-state-default’ />").appendTo($paneTopR),$topPanelScroller=$().add($topPanelScrollerL).add($topPanelScrollerR),$topPanelL=$("<div class=’slick-top-panel’ style=’width:10000px’ />").appendTo($topPanelScrollerL),$topPanelR=$("<div class=’slick-top-panel’ style=’width:10000px’ />").appendTo($topPanelScrollerR),$topPanel=$().add($topPanelL).add($topPanelR),options.showColumnHeader||$headerScroller.hide(),options.showTopPanel||$topPanelScroller.hide(),options.showHeaderRow||$headerRowScroller.hide(),$viewportTopL=$("<div class=’slick-viewport slick-viewport-top slick-viewport-left’ tabIndex=’0’ hideFocus />").appendTo($paneTopL),$viewportTopR=$("<div class=’slick-viewport slick-viewport-top slick-viewport-right’ tabIndex=’0’ hideFocus />").appendTo($paneTopR),$viewportBottomL=$("<div class=’slick-viewport slick-viewport-bottom slick-viewport-left’ tabIndex=’0’ hideFocus />").appendTo($paneBottomL),$viewportBottomR=$("<div class=’slick-viewport slick-viewport-bottom slick-viewport-right’ tabIndex=’0’ hideFocus />").appendTo($paneBottomR),$viewport=$().add($viewportTopL).add($viewportTopR).add($viewportBottomL).add($viewportBottomR),$activeViewportNode=$viewportTopL,$canvasTopL=$("<div class=’grid-canvas grid-canvas-top grid-canvas-left’ tabIndex=’0’ hideFocus />").appendTo($viewportTopL),$canvasTopR=$("<div class=’grid-canvas grid-canvas-top grid-canvas-right’ tabIndex=’0’ hideFocus />").appendTo($viewportTopR),$canvasBottomL=$("<div class=’grid-canvas grid-canvas-bottom grid-canvas-left’ tabIndex=’0’ hideFocus />").appendTo($viewportBottomL),$canvasBottomR=$("<div class=’grid-canvas grid-canvas-bottom grid-canvas-right’ tabIndex=’0’ hideFocus />").appendTo($viewportBottomR),options.viewportClass&&$viewport.toggleClass(options.viewportClass,!0),$canvas=$().add($canvasTopL).add($canvasTopR).add($canvasBottomL).add($canvasBottomR),scrollbarDimensions=scrollbarDimensions||measureScrollbar(),$activeCanvasNode=$canvasTopL,$preHeaderPanelSpacer&&$preHeaderPanelSpacer.css("width",getCanvasWidth()+scrollbarDimensions.width+"px"),$headers.width(getHeadersWidth()),$headerRowSpacerL.css("width",getCanvasWidth()+scrollbarDimensions.width+"px"),$headerRowSpacerR.css("width",getCanvasWidth()+scrollbarDimensions.width+"px"),options.createFooterRow&&($footerRowScrollerR=$("<div class=’slick-footerrow ui-state-default’ />").appendTo($paneTopR),$footerRowScrollerL=$("<div class=’slick-footerrow ui-state-default’ />").appendTo($paneTopL),$footerRowScroller=$().add($footerRowScrollerL).add($footerRowScrollerR),$footerRowSpacerL=$("<div style=’display:block;height:1px;position:absolute;top:0;left:0;’></div>").css("width",getCanvasWidth()+scrollbarDimensions.width+"px").appendTo($footerRowScrollerL),$footerRowSpacerR=$("<div style=’display:block;height:1px;position:absolute;top:0;left:0;’></div>").css("width",getCanvasWidth()+scrollbarDimensions.width+"px").appendTo($footerRowScrollerR),$footerRowL=$("<div class=’slick-footerrow-columns slick-footerrow-columns-left’ />").appendTo($footerRowScrollerL),$footerRowR=$("<div class=’slick-footerrow-columns slick-footerrow-columns-right’ />").appendTo($footerRowScrollerR),$footerRow=$().add($footerRowL).add($footerRowR),options.showFooterRow||$footerRowScroller.hide()),$focusSink2=$focusSink.clone().appendTo($container),options.explicitInitialization||finishInitialization()}function finishInitialization(){initialized||(initialized=!0,getViewportWidth(),getViewportHeight(),measureCellPaddingAndBorder(),disableSelection($headers),options.enableTextSelectionOnCells||$viewport.on("selectstart.ui",(function(e){return $(e.target).is("input,textarea")})),setFrozenOptions(),setPaneVisibility(),setScroller(),setOverflow(),updateColumnCaches(),createColumnHeaders(),createColumnGroupHeaders(),createColumnFooter(),setupColumnSort(),createCssRules(),resizeCanvas(),bindAncestorScrollEvents(),$container.on("resize.slickgrid",resizeCanvas),$viewport.on("scroll",handleScroll),$.fn.mousewheel&&$viewport.on("mousewheel",handleMouseWheel),$headerScroller.on("contextmenu",handleHeaderContextMenu).on("click",handleHeaderClick).on("mouseenter",".slick-header-column",handleHeaderMouseEnter).on("mouseleave",".slick-header-column",handleHeaderMouseLeave),$headerRowScroller.on("scroll",handleHeaderRowScroll),options.createFooterRow&&($footerRow.on("contextmenu",handleFooterContextMenu).on("click",handleFooterClick),$footerRowScroller.on("scroll",handleFooterRowScroll)),options.createPreHeaderPanel&&$preHeaderPanelScroller.on("scroll",handlePreHeaderPanelScroll),$focusSink.add($focusSink2).on("keydown",handleKeyDown),$canvas.on("keydown",handleKeyDown).on("click",handleClick).on("dblclick",handleDblClick).on("contextmenu",handleContextMenu).on("draginit",handleDragInit).on("dragstart",{distance:3},handleDragStart).on("drag",handleDrag).on("dragend",handleDragEnd).on("mouseenter",".slick-cell",handleMouseEnter).on("mouseleave",".slick-cell",handleMouseLeave),restoreCssFromHiddenInit())}function cacheCssForHiddenInit(){($hiddenParents=$container.parents().addBack().not(":visible")).each((function(){var e={};for(var o in cssShow)e[o]=this.style[o],this.style[o]=cssShow[o];oldProps.push(e)}))}function restoreCssFromHiddenInit(){$hiddenParents.each((function(e){var o=oldProps[e];for(var t in cssShow)this.style[t]=o[t]}))}function hasFrozenColumns(){return options.frozenColumn>-1}function registerPlugin(e){plugins.unshift(e),e.init(self)}function unregisterPlugin(e){for(var o=plugins.length;o>=0;o–)if(plugins[o]===e){plugins[o].destroy&&plugins[o].destroy(),plugins.splice(o,1);break}}function getPluginByName(e){for(var o=plugins.length-1;o>=0;o–)if(plugins[o].pluginName===e)return plugins[o]}function setSelectionModel(e){selectionModel&&(selectionModel.onSelectedRangesChanged.unsubscribe(handleSelectedRangesChanged),selectionModel.destroy&&selectionModel.destroy()),(selectionModel=e)&&(selectionModel.init(self),selectionModel.onSelectedRangesChanged.subscribe(handleSelectedRangesChanged))}function getSelectionModel(){return selectionModel}function getCanvasNode(e,o){e||(e=0),o||(o=0);var t="number"==typeof e?e:getColumnIndex(e);return hasFrozenRows&&o>=actualFrozenRow+(options.frozenBottom?0:1)?hasFrozenColumns()&&t>options.frozenColumn?$canvasBottomR[0]:$canvasBottomL[0]:hasFrozenColumns()&&t>options.frozenColumn?$canvasTopR[0]:$canvasTopL[0]}function getActiveCanvasNode(e){return setActiveCanvasNode(e),$activeCanvasNode[0]}function getCanvases(){return $canvas}function setActiveCanvasNode(e){e&&($activeCanvasNode=$(e.target).closest(".grid-canvas"))}function getViewportNode(){return $viewport[0]}function getActiveViewportNode(e){return setActiveViewPortNode(e),$activeViewportNode[0]}function setActiveViewportNode(e){e&&($activeViewportNode=$(e.target).closest(".slick-viewport"))}function measureScrollbar(){var e=$(‘<div class="’+$viewport.className+’" style="position:absolute; top:-10000px; left:-10000px; overflow:auto; width:100px; height:100px;"></div>’).appendTo("body"),o=$(‘<div style="width:200px; height:200px; overflow:auto;"></div>’).appendTo(e),t={width:e[0].offsetWidth-e[0].clientWidth,height:e[0].offsetHeight-e[0].clientHeight};return o.remove(),e.remove(),t}function getHeadersWidth(){headersWidth=headersWidthL=headersWidthR=0;for(var e=!options.autoHeight,o=0,t=columns.length;o<t;o++){var n=columns[o].width;options.frozenColumn>-1&&o>options.frozenColumn?headersWidthR+=n:headersWidthL+=n}return e&&(options.frozenColumn>-1&&o>options.frozenColumn?headersWidthR+=scrollbarDimensions.width:headersWidthL+=scrollbarDimensions.width),hasFrozenColumns()?(headersWidthL+=1e3,headersWidthR=Math.max(headersWidthR,viewportW)+headersWidthL,headersWidthR+=scrollbarDimensions.width):(headersWidthL+=scrollbarDimensions.width,headersWidthL=Math.max(headersWidthL,viewportW)+1e3),headersWidth=headersWidthL+headersWidthR,Math.max(headersWidth,viewportW)+1e3}function getHeadersWidthL(){return headersWidthL=0,columns.forEach((function(e,o){options.frozenColumn>-1&&o>options.frozenColumn||(headersWidthL+=e.width)})),hasFrozenColumns()?headersWidthL+=1e3:(headersWidthL+=scrollbarDimensions.width,headersWidthL=Math.max(headersWidthL,viewportW)+1e3),headersWidthL}function getHeadersWidthR(){return headersWidthR=0,columns.forEach((function(e,o){options.frozenColumn>-1&&o>options.frozenColumn&&(headersWidthR+=e.width)})),hasFrozenColumns()&&(headersWidthR=Math.max(headersWidthR,viewportW)+getHeadersWidthL(),headersWidthR+=scrollbarDimensions.width),headersWidthR}function getCanvasWidth(){var e=viewportHasVScroll?viewportW-scrollbarDimensions.width:viewportW,o=columns.length;for(canvasWidthL=canvasWidthR=0;o–;)hasFrozenColumns()&&o>options.frozenColumn?canvasWidthR+=columns[o].width:canvasWidthL+=columns[o].width;var t=canvasWidthL+canvasWidthR;return options.fullWidthRows?Math.max(t,e):t}function updateCanvasWidth(e){var o,t=canvasWidth,n=canvasWidthL,l=canvasWidthR;((o=(canvasWidth=getCanvasWidth())!==t||canvasWidthL!==n||canvasWidthR!==l)||hasFrozenColumns()||hasFrozenRows)&&($canvasTopL.width(canvasWidthL),getHeadersWidth(),$headerL.width(headersWidthL),$headerR.width(headersWidthR),hasFrozenColumns()?($canvasTopR.width(canvasWidthR),$paneHeaderL.width(canvasWidthL),$paneHeaderR.css("left",canvasWidthL),$paneHeaderR.css("width",viewportW-canvasWidthL),$paneTopL.width(canvasWidthL),$paneTopR.css("left",canvasWidthL),$paneTopR.css("width",viewportW-canvasWidthL),$headerRowScrollerL.width(canvasWidthL),$headerRowScrollerR.width(viewportW-canvasWidthL),$headerRowL.width(canvasWidthL),$headerRowR.width(canvasWidthR),options.createFooterRow&&($footerRowScrollerL.width(canvasWidthL),$footerRowScrollerR.width(viewportW-canvasWidthL),$footerRowL.width(canvasWidthL),$footerRowR.width(canvasWidthR)),options.createPreHeaderPanel&&$preHeaderPanel.width(canvasWidth),$viewportTopL.width(canvasWidthL),$viewportTopR.width(viewportW-canvasWidthL),hasFrozenRows&&($paneBottomL.width(canvasWidthL),$paneBottomR.css("left",canvasWidthL),$viewportBottomL.width(canvasWidthL),$viewportBottomR.width(viewportW-canvasWidthL),$canvasBottomL.width(canvasWidthL),$canvasBottomR.width(canvasWidthR))):($paneHeaderL.width("100%"),$paneTopL.width("100%"),$headerRowScrollerL.width("100%"),$headerRowL.width(canvasWidth),options.createFooterRow&&($footerRowScrollerL.width("100%"),$footerRowL.width(canvasWidth)),options.createPreHeaderPanel&&($preHeaderPanel.width("100%"),$preHeaderPanel.width(canvasWidth)),$viewportTopL.width("100%"),hasFrozenRows&&($viewportBottomL.width("100%"),$canvasBottomL.width(canvasWidthL))),viewportHasHScroll=canvasWidth>viewportW-scrollbarDimensions.width),$headerRowSpacerL.width(canvasWidth+(viewportHasVScroll?scrollbarDimensions.width:0)),$headerRowSpacerR.width(canvasWidth+(viewportHasVScroll?scrollbarDimensions.width:0)),options.createFooterRow&&($footerRowSpacerL.width(canvasWidth+(viewportHasVScroll?scrollbarDimensions.width:0)),$footerRowSpacerR.width(canvasWidth+(viewportHasVScroll?scrollbarDimensions.width:0))),(o||e)&&applyColumnWidths()}function disableSelection(e){e&&e.jquery&&e.attr("unselectable","on").css("MozUserSelect","none").on("selectstart.ui",(function(){return!1}))}function getMaxSupportedCssHeight(){for(var e=1e6,o=navigator.userAgent.toLowerCase().match(/firefox/)?6e6:1e9,t=$("<div style=’display:none’ />").appendTo(document.body);;){var n=2*e;if(t.css("height",n),n>o||t.height()!==n)break;e=n}return t.remove(),e}function getUID(){return uid}function getHeaderColumnWidthDiff(){return headerColumnWidthDiff}function getScrollbarDimensions(){return scrollbarDimensions}function bindAncestorScrollEvents(){for(var e=hasFrozenRows&&!options.frozenBottom?$canvasBottomL[0]:$canvasTopL[0];(e=e.parentNode)!=document.body&&null!=e;)if(e==$viewportTopL[0]||e.scrollWidth!=e.clientWidth||e.scrollHeight!=e.clientHeight){var o=$(e);$boundAncestors=$boundAncestors?$boundAncestors.add(o):o,o.on("scroll."+uid,handleActiveCellPositionChange)}}function unbindAncestorScrollEvents(){$boundAncestors&&($boundAncestors.off("scroll."+uid),$boundAncestors=null)}function updateColumnHeader(e,o,t){if(initialized){var n=getColumnIndex(e);if(null!=n){var l=columns[n],r=$headers.children().eq(n);r&&(void 0!==o&&(columns[n].name=o),void 0!==t&&(columns[n].toolTip=t),trigger(self.onBeforeHeaderCellDestroy,{node:r[0],column:l,grid:self}),r.attr("title",t||"").children().eq(0).html(o),trigger(self.onHeaderCellRendered,{node:r[0],column:l,grid:self}))}}}function getHeader(e){if(!e)return hasFrozenColumns()?$headers:$headerL;var o=getColumnIndex(e.id);return hasFrozenColumns()?o<=options.frozenColumn?$headerL:$headerR:$headerL}function getHeaderColumn(e){var o="number"==typeof e?e:getColumnIndex(e),t=hasFrozenColumns()?o<=options.frozenColumn?$headerL:$headerR:$headerL,n=hasFrozenColumns()?o<=options.frozenColumn?o:o-options.frozenColumn-1:o,l=t.children().eq(n);return l&&l[0]}function getHeaderRow(){return hasFrozenColumns()?$headerRow:$headerRow[0]}function getFooterRow(){return hasFrozenColumns()?$footerRow:$footerRow[0]}function getPreHeaderPanel(){return $preHeaderPanel[0]}function getPreHeaderPanelRight(){return $preHeaderPanelR[0]}function getHeaderRowColumn(e){var o,t="number"==typeof e?e:getColumnIndex(e);hasFrozenColumns()?t<=options.frozenColumn?o=$headerRowL:(o=$headerRowR,t-=options.frozenColumn+1):o=$headerRowL;var n=o.children().eq(t);return n&&n[0]}function getFooterRowColumn(e){var o,t="number"==typeof e?e:getColumnIndex(e);hasFrozenColumns()?t<=options.frozenColumn?o=$footerRowL:(o=$footerRowR,t-=options.frozenColumn+1):o=$footerRowL;var n=o&&o.children().eq(t);return n&&n[0]}function createColumnFooter(){if(options.createFooterRow){$footerRow.find(".slick-footerrow-column").each((function(){var e=$(this).data("column");e&&trigger(self.onBeforeFooterRowCellDestroy,{node:this,column:e,grid:self})})),$footerRowL.empty(),$footerRowR.empty();for(var e=0;e<columns.length;e++){var o=columns[e],t=$("<div class=’ui-state-default slick-footerrow-column l"+e+" r"+e+"’></div>").data("column",o).addClass(hasFrozenColumns()&&e<=options.frozenColumn?"frozen":"").appendTo(hasFrozenColumns()&&e>options.frozenColumn?$footerRowR:$footerRowL);trigger(self.onFooterRowCellRendered,{node:t[0],column:o,grid:self})}}}function createColumnGroupHeaders(){var e=0,o=!1;if(treeColumns.hasDepth()){for(var t=0;t<$groupHeadersL.length;t++){$groupHeadersL[t].empty(),$groupHeadersR[t].empty();var n=treeColumns.getColumnsInDepth(t);for(var l in n){var r=n[l];e+=r.extractColumns().length,hasFrozenColumns()&&0===t&&e-1===options.frozenColumn&&(o=!0),$("<div class=’ui-state-default slick-group-header-column’ />").html("<span class=’slick-column-name’>"+r.name+"</span>").attr("id",""+uid+r.id).attr("title",r.toolTip||"").data("column",r).addClass(r.headerCssClass||"").addClass(hasFrozenColumns()&&e-1>options.frozenColumn?"frozen":"").appendTo(hasFrozenColumns()&&e-1>options.frozenColumn?$groupHeadersR[t]:$groupHeadersL[t])}if(hasFrozenColumns()&&0===t&&!o){$groupHeadersL[t].empty(),$groupHeadersR[t].empty(),alert("All columns of group should to be grouped!");break}}applyColumnGroupHeaderWidths()}}function createColumnHeaders(){function e(){$(this).addClass("ui-state-hover")}function o(){$(this).removeClass("ui-state-hover")}$headers.find(".slick-header-column").each((function(){var e=$(this).data("column");e&&trigger(self.onBeforeHeaderCellDestroy,{node:this,column:e,grid:self})})),$headerL.empty(),$headerR.empty(),getHeadersWidth(),$headerL.width(headersWidthL),$headerR.width(headersWidthR),$headerRow.find(".slick-headerrow-column").each((function(){var e=$(this).data("column");e&&trigger(self.onBeforeHeaderRowCellDestroy,{node:this,column:e,grid:self})})),$headerRowL.empty(),$headerRowR.empty(),options.createFooterRow&&($footerRowL.find(".slick-footerrow-column").each((function(){var e=$(this).data("column");e&&trigger(self.onBeforeFooterRowCellDestroy,{node:this,column:e,grid:self})})),$footerRowL.empty(),hasFrozenColumns()&&($footerRowR.find(".slick-footerrow-column").each((function(){var e=$(this).data("column");e&&trigger(self.onBeforeFooterRowCellDestroy,{node:this,column:e,grid:self})})),$footerRowR.empty()));for(var t=0;t<columns.length;t++){var n=columns[t],l=hasFrozenColumns()?t<=options.frozenColumn?$headerL:$headerR:$headerL,r=hasFrozenColumns()?t<=options.frozenColumn?$headerRowL:$headerRowR:$headerRowL,i=$("<div class=’ui-state-default slick-header-column’ />").html("<span class=’slick-column-name’>"+n.name+"</span>").width(n.width-headerColumnWidthDiff).attr("id",""+uid+n.id).attr("title",n.toolTip||"").data("column",n).addClass(n.headerCssClass||"").addClass(hasFrozenColumns()&&t<=options.frozenColumn?"frozen":"").appendTo(l);if((options.enableColumnReorder||n.sortable)&&i.on("mouseenter",e).on("mouseleave",o),n.hasOwnProperty("headerCellAttrs")&&n.headerCellAttrs instanceof Object)for(var a in n.headerCellAttrs)n.headerCellAttrs.hasOwnProperty(a)&&i.attr(a,n.headerCellAttrs[a]);if(n.sortable&&(i.addClass("slick-header-sortable"),i.append("<span class=’slick-sort-indicator"+(options.numberedMultiColumnSort&&!options.sortColNumberInSeparateSpan?" slick-sort-indicator-numbered":"")+"’ />"),options.numberedMultiColumnSort&&options.sortColNumberInSeparateSpan&&i.append("<span class=’slick-sort-indicator-numbered’ />")),trigger(self.onHeaderCellRendered,{node:i[0],column:n,grid:self}),options.showHeaderRow){var s=$("<div class=’ui-state-default slick-headerrow-column l"+t+" r"+t+"’></div>").data("column",n).addClass(hasFrozenColumns()&&t<=options.frozenColumn?"frozen":"").appendTo(r);trigger(self.onHeaderRowCellRendered,{node:s[0],column:n,grid:self})}if(options.createFooterRow&&options.showFooterRow){var d=$("<div class=’ui-state-default slick-footerrow-column l"+t+" r"+t+"’></div>").data("column",n).appendTo($footerRow);trigger(self.onFooterRowCellRendered,{node:d[0],column:n,grid:self})}}setSortColumns(sortColumns),setupColumnResize(),options.enableColumnReorder&&("function"==typeof options.enableColumnReorder?options.enableColumnReorder(self,$headers,headerColumnWidthDiff,setColumns,setupColumnResize,columns,getColumnIndex,uid,trigger):setupColumnReorder())}function setupColumnSort(){$headers.click((function(e){if(!columnResizeDragging&&(e.metaKey=e.metaKey||e.ctrlKey,!$(e.target).hasClass("slick-resizable-handle"))){var o=$(e.target).closest(".slick-header-column");if(o.length){var t=o.data("column");if(t.sortable){if(!getEditorLock().commitCurrentEdit())return;for(var n=null,l=0;l<sortColumns.length;l++)if(sortColumns[l].columnId==t.id){(n=sortColumns[l]).sortAsc=!n.sortAsc;break}var r=!!n;options.tristateMultiColumnSort?(n||(n={columnId:t.id,sortAsc:t.defaultSortAsc}),r&&n.sortAsc&&(sortColumns.splice(l,1),n=null),options.multiColumnSort||(sortColumns=[]),!n||r&&options.multiColumnSort||sortColumns.push(n)):e.metaKey&&options.multiColumnSort?n&&sortColumns.splice(l,1):((e.shiftKey||e.metaKey)&&options.multiColumnSort||(sortColumns=[]),n?0===sortColumns.length&&sortColumns.push(n):(n={columnId:t.id,sortAsc:t.defaultSortAsc},sortColumns.push(n))),setSortColumns(sortColumns),options.multiColumnSort?trigger(self.onSort,{multiColumnSort:!0,sortCols:$.map(sortColumns,(function(e){return{columnId:columns[getColumnIndex(e.columnId)].id,sortCol:columns[getColumnIndex(e.columnId)],sortAsc:e.sortAsc}}))},e):trigger(self.onSort,{multiColumnSort:!1,columnId:sortColumns.length>0?t.id:null,sortCol:sortColumns.length>0?t:null,sortAsc:!(sortColumns.length>0)||sortColumns[0].sortAsc},e)}}}}))}function currentPositionInHeader(e){var o=0;return $headers.find(".slick-header-column").each((function(t){if(this.id==e)return o=t,!1})),o}function limitPositionInGroup(e){var o,t=0,n=0;return treeColumns.getColumnsInDepth($groupHeadersL.length-1).some((function(l){return t=n,n+=l.columns.length,l.columns.some((function(t){return t.id===e&&(o=l),o})),o})),n–,{start:t,end:n,group:o}}function remove(e,o){var t=e.lastIndexOf(o);t>-1&&(e.splice(t,1),remove(e,o))}function columnPositionValidInGroup(e){var o=currentPositionInHeader(e[0].id),t=limitPositionInGroup(e.data("column").id),n=t.start<=o&&o<=t.end;return{limit:t,valid:n,message:n?"":’Column "’.concat(e.text(),’" can be reordered only within the "’,t.group.name,’" group!’)}}function setupColumnReorder(){$headers.filter(":ui-sortable").sortable("destroy");var e,o=null;function t(){$viewportScrollContainerX[0].scrollLeft=$viewportScrollContainerX[0].scrollLeft+10}function n(){$viewportScrollContainerX[0].scrollLeft=$viewportScrollContainerX[0].scrollLeft-10}$headers.sortable({containment:"parent",distance:3,axis:"x",cursor:"default",tolerance:"intersection",helper:"clone",placeholder:"slick-sortable-placeholder ui-state-default slick-header-column",start:function(o,t){t.placeholder.width(t.helper.outerWidth()-headerColumnWidthDiff),e=!hasFrozenColumns()||t.placeholder.offset().left+t.placeholder.width()>$viewportScrollContainerX.offset().left,$(t.helper).addClass("slick-header-column-active")},beforeStop:function(e,o){$(o.helper).removeClass("slick-header-column-active")},sort:function(l,r){e&&l.originalEvent.pageX>$container[0].clientWidth?o||(o=setInterval(t,100)):e&&l.originalEvent.pageX<$viewportScrollContainerX.offset().left?o||(o=setInterval(n,100)):(clearInterval(o),o=null)},stop:function(e,t){var n=!1;clearInterval(o),o=null;var l=null;if(treeColumns.hasDepth()){var r=columnPositionValidInGroup(t.item);l=r.limit,(n=!r.valid)&&alert(r.message)}if(!n&&getEditorLock().commitCurrentEdit()){var i=$headerL.sortable("toArray");i=i.concat($headerR.sortable("toArray"));for(var a=[],s=0;s<i.length;s++)a.push(columns[getColumnIndex(i[s].replace(uid,""))]);setColumns(a),trigger(self.onColumnsReordered,{impactedColumns:getImpactedColumns(l)}),e.stopPropagation(),setupColumnResize()}else $(this).sortable("cancel")}})}function getImpactedColumns(e){var o=[];if(e)for(var t=e.start;t<=e.end;t++)o.push(columns[t]);else o=columns;return o}function setupColumnResize(){var e,o,t,n,l,r,i,a,s;(l=$headers.children()).find(".slick-resizable-handle").remove(),l.each((function(e,o){e>=columns.length||columns[e].resizable&&(void 0===a&&(a=e),s=e)})),void 0!==a&&l.each((function(d,c){d>=columns.length||d<a||options.forceFitColumns&&d>=s||($(c),$("<div class=’slick-resizable-handle’ />").appendTo(c).on("dragstart",(function(o,a){if(!getEditorLock().commitCurrentEdit())return!1;n=o.pageX,$(this).parent().addClass("slick-header-column-active");var s=null,c=null;if(l.each((function(e,o){e>=columns.length||(columns[e].previousWidth=$(o).outerWidth())})),options.forceFitColumns)for(s=0,c=0,e=d+1;e<columns.length;e++)(t=columns[e]).resizable&&(null!==c&&(t.maxWidth?c+=t.maxWidth-t.previousWidth:c=null),s+=t.previousWidth-Math.max(t.minWidth||0,absoluteColumnMinWidth));var u=0,h=0;for(e=0;e<=d;e++)(t=columns[e]).resizable&&(null!==h&&(t.maxWidth?h+=t.maxWidth-t.previousWidth:h=null),u+=t.previousWidth-Math.max(t.minWidth||0,absoluteColumnMinWidth));null===s&&(s=1e5),null===u&&(u=1e5),null===c&&(c=1e5),null===h&&(h=1e5),i=n+Math.min(s,h),r=n-Math.min(u,c)})).on("drag",(function(l,a){columnResizeDragging=!0;var s,c,u=Math.min(i,Math.max(r,l.pageX))-n,h=0;if(u<0){for(c=u,e=d;e>=0;e–)(t=columns[e]).resizable&&(s=Math.max(t.minWidth||0,absoluteColumnMinWidth),c&&t.previousWidth+c<s?(c+=t.previousWidth-s,t.width=s):(t.width=t.previousWidth+c,c=0));for(o=0;o<=d;o++)t=columns[o],hasFrozenColumns()&&o>options.frozenColumn?t.width:h+=t.width;if(options.forceFitColumns)for(c=-u,e=d+1;e<columns.length;e++)(t=columns[e]).resizable&&(c&&t.maxWidth&&t.maxWidth-t.previousWidth<c?(c-=t.maxWidth-t.previousWidth,t.width=t.maxWidth):(t.width=t.previousWidth+c,c=0),hasFrozenColumns()&&e>options.frozenColumn?t.width:h+=t.width);else for(e=d+1;e<columns.length;e++)t=columns[e],hasFrozenColumns()&&e>options.frozenColumn?t.width:h+=t.width;if(options.forceFitColumns)for(c=-u,e=d+1;e<columns.length;e++)(t=columns[e]).resizable&&(c&&t.maxWidth&&t.maxWidth-t.previousWidth<c?(c-=t.maxWidth-t.previousWidth,t.width=t.maxWidth):(t.width=t.previousWidth+c,c=0))}else{for(c=u,h=0,0,e=d;e>=0;e–)(t=columns[e]).resizable&&(c&&t.maxWidth&&t.maxWidth-t.previousWidth<c?(c-=t.maxWidth-t.previousWidth,t.width=t.maxWidth):(t.width=t.previousWidth+c,c=0));for(o=0;o<=d;o++)t=columns[o],hasFrozenColumns()&&o>options.frozenColumn?t.width:h+=t.width;if(options.forceFitColumns)for(c=-u,e=d+1;e<columns.length;e++)(t=columns[e]).resizable&&(s=Math.max(t.minWidth||0,absoluteColumnMinWidth),c&&t.previousWidth+c<s?(c+=t.previousWidth-s,t.width=s):(t.width=t.previousWidth+c,c=0),hasFrozenColumns()&&e>options.frozenColumn?t.width:h+=t.width);else for(e=d+1;e<columns.length;e++)t=columns[e],hasFrozenColumns()&&e>options.frozenColumn?t.width:h+=t.width}hasFrozenColumns()&&h!=canvasWidthL&&($headerL.width(h+1e3),$paneHeaderR.css("left",h)),applyColumnHeaderWidths(),applyColumnGroupHeaderWidths(),options.syncColumnCellResize&&applyColumnWidths(),trigger(self.onColumnsDrag,{triggeredByColumn:$(this).parent().attr("id").replace(uid,""),resizeHandle:$(this)})})).on("dragend",(function(o,n){$(this).parent().removeClass("slick-header-column-active");var r,i=$(this).parent().attr("id").replace(uid,"");for(!0===trigger(self.onBeforeColumnsResize,{triggeredByColumn:i})&&(applyColumnHeaderWidths(),applyColumnGroupHeaderWidths()),e=0;e<columns.length;e++)t=columns[e],r=$(l[e]).outerWidth(),t.previousWidth!==r&&t.rerenderOnResize&&invalidateAllRows();updateCanvasWidth(!0),render(),trigger(self.onColumnsResized,{triggeredByColumn:i}),setTimeout((function(){columnResizeDragging=!1}),300)})))}))}function getVBoxDelta(e){var o=0;return e&&"function"==typeof e.css&&$.each(["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],(function(t,n){o+=parseFloat(e.css(n))||0})),o}function setFrozenOptions(){if(options.frozenColumn=options.frozenColumn>=0&&options.frozenColumn<columns.length?parseInt(options.frozenColumn):-1,options.frozenRow>-1){hasFrozenRows=!0,frozenRowsHeight=options.frozenRow*options.rowHeight;var e=getDataLength();actualFrozenRow=options.frozenBottom?e-options.frozenRow:options.frozenRow}else hasFrozenRows=!1}function setPaneVisibility(){hasFrozenColumns()?($paneHeaderR.show(),$paneTopR.show(),hasFrozenRows?($paneBottomL.show(),$paneBottomR.show()):($paneBottomR.hide(),$paneBottomL.hide())):($paneHeaderR.hide(),$paneTopR.hide(),$paneBottomR.hide(),hasFrozenRows?$paneBottomL.show():($paneBottomR.hide(),$paneBottomL.hide()))}function setOverflow(){$viewportTopL.css({"overflow-x":hasFrozenColumns()?hasFrozenRows&&!options.alwaysAllowHorizontalScroll?"hidden":"scroll":hasFrozenRows&&!options.alwaysAllowHorizontalScroll?"hidden":"auto","overflow-y":options.alwaysShowVerticalScroll?"scroll":hasFrozenColumns()?"hidden":hasFrozenRows?"scroll":"auto"}),$viewportTopR.css({"overflow-x":hasFrozenColumns()?hasFrozenRows&&!options.alwaysAllowHorizontalScroll?"hidden":"scroll":hasFrozenRows&&!options.alwaysAllowHorizontalScroll?"hidden":"auto","overflow-y":options.alwaysShowVerticalScroll?"scroll":(hasFrozenColumns(),hasFrozenRows?"scroll":"auto")}),$viewportBottomL.css({"overflow-x":hasFrozenColumns()?hasFrozenRows&&!options.alwaysAllowHorizontalScroll?"scroll":"auto":(hasFrozenRows&&options.alwaysAllowHorizontalScroll,"auto"),"overflow-y":options.alwaysShowVerticalScroll?"scroll":hasFrozenColumns()?"hidden":hasFrozenRows?"scroll":"auto"}),$viewportBottomR.css({"overflow-x":hasFrozenColumns()?hasFrozenRows&&!options.alwaysAllowHorizontalScroll?"scroll":"auto":(hasFrozenRows&&options.alwaysAllowHorizontalScroll,"auto"),"overflow-y":options.alwaysShowVerticalScroll?"scroll":(hasFrozenColumns(),"auto")}),options.viewportClass&&($viewportTopL.toggleClass(options.viewportClass,!0),$viewportTopR.toggleClass(options.viewportClass,!0),$viewportBottomL.toggleClass(options.viewportClass,!0),$viewportBottomR.toggleClass(options.viewportClass,!0))}function setScroller(){hasFrozenColumns()?($headerScrollContainer=$headerScrollerR,$headerRowScrollContainer=$headerRowScrollerR,$footerRowScrollContainer=$footerRowScrollerR,hasFrozenRows?options.frozenBottom?($viewportScrollContainerX=$viewportBottomR,$viewportScrollContainerY=$viewportTopR):$viewportScrollContainerX=$viewportScrollContainerY=$viewportBottomR:$viewportScrollContainerX=$viewportScrollContainerY=$viewportTopR):($headerScrollContainer=$headerScrollerL,$headerRowScrollContainer=$headerRowScrollerL,$footerRowScrollContainer=$footerRowScrollerL,hasFrozenRows?options.frozenBottom?($viewportScrollContainerX=$viewportBottomL,$viewportScrollContainerY=$viewportTopL):$viewportScrollContainerX=$viewportScrollContainerY=$viewportBottomL:$viewportScrollContainerX=$viewportScrollContainerY=$viewportTopL)}function measureCellPaddingAndBorder(){var e,o=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],t=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],n=$.fn.jquery.split(".");jQueryNewWidthBehaviour=1==n[0]&&n[1]>=8||n[0]>=2,e=$("<div class=’ui-state-default slick-header-column’ style=’visibility:hidden’>-</div>").appendTo($headers),headerColumnWidthDiff=headerColumnHeightDiff=0,"border-box"!=e.css("box-sizing")&&"border-box"!=e.css("-moz-box-sizing")&&"border-box"!=e.css("-webkit-box-sizing")&&($.each(o,(function(o,t){headerColumnWidthDiff+=parseFloat(e.css(t))||0})),$.each(t,(function(o,t){headerColumnHeightDiff+=parseFloat(e.css(t))||0}))),e.remove();var l=$("<div class=’slick-row’ />").appendTo($canvas);e=$("<div class=’slick-cell’ id=’’ style=’visibility:hidden’>-</div>").appendTo(l),cellWidthDiff=cellHeightDiff=0,"border-box"!=e.css("box-sizing")&&"border-box"!=e.css("-moz-box-sizing")&&"border-box"!=e.css("-webkit-box-sizing")&&($.each(o,(function(o,t){cellWidthDiff+=parseFloat(e.css(t))||0})),$.each(t,(function(o,t){cellHeightDiff+=parseFloat(e.css(t))||0}))),l.remove(),absoluteColumnMinWidth=Math.max(headerColumnWidthDiff,cellWidthDiff)}function createCssRules(){$style=$("<style type=’text/css’ rel=’stylesheet’ />").appendTo($("head"));for(var e=options.rowHeight-cellHeightDiff,o=["."+uid+" .slick-group-header-column { left: 1000px; }","."+uid+" .slick-header-column { left: 1000px; }","."+uid+" .slick-top-panel { height:"+options.topPanelHeight+"px; }","."+uid+" .slick-preheader-panel { height:"+options.preHeaderPanelHeight+"px; }","."+uid+" .slick-headerrow-columns { height:"+options.headerRowHeight+"px; }","."+uid+" .slick-footerrow-columns { height:"+options.footerRowHeight+"px; }","."+uid+" .slick-cell { height:"+e+"px; }","."+uid+" .slick-row { height:"+options.rowHeight+"px; }"],t=0;t<columns.length;t++)o.push("."+uid+" .l"+t+" { }"),o.push("."+uid+" .r"+t+" { }");$style[0].styleSheet?$style[0].styleSheet.cssText=o.join(" "):$style[0].appendChild(document.createTextNode(o.join(" ")))}function getColumnCssRules(e){var o;if(!stylesheet){var t=document.styleSheets;for(o=0;o<t.length;o++)if((t[o].ownerNode||t[o].owningElement)==$style[0]){stylesheet=t[o];break}if(!stylesheet)throw new Error("Cannot find stylesheet.");columnCssRulesL=[],columnCssRulesR=[];var n,l,r=stylesheet.cssRules||stylesheet.rules;for(o=0;o<r.length;o++){var i=r[o].selectorText;(n=/.l\d+/.exec(i))?(l=parseInt(n[0].substr(2,n[0].length-2),10),columnCssRulesL[l]=r[o]):(n=/.r\d+/.exec(i))&&(l=parseInt(n[0].substr(2,n[0].length-2),10),columnCssRulesR[l]=r[o])}}return{left:columnCssRulesL[e],right:columnCssRulesR[e]}}function removeCssRules(){$style.remove(),stylesheet=null}function destroy(){getEditorLock().cancelCurrentEdit(),trigger(self.onBeforeDestroy,{});for(var e=plugins.length;e–;)unregisterPlugin(plugins[e]);options.enableColumnReorder&&$headers.filter(":ui-sortable").sortable("destroy"),unbindAncestorScrollEvents(),$container.off(".slickgrid"),removeCssRules(),$canvas.off("draginit dragstart dragend drag"),$container.empty().removeClass(uid)}var canvas=null,canvas_context=null;function autosizeColumn(e,o){var t=e;if("number"==typeof e)t=columns[e];else if("string"==typeof e)for(var n=0;n<columns.length;n++)columns[n].Id===e&&(t=columns[n]);getColAutosizeWidth(t,$(getCanvasNode(0,0)),o)}function autosizeColumns(e,o){if((e=e||options.autosizeColsMode)!==Slick.GridAutosizeColsMode.LegacyForceFit&&e!==Slick.GridAutosizeColsMode.LegacyOff){if(e!==Slick.GridAutosizeColsMode.None){(canvas=document.createElement("canvas"))&&canvas.getContext&&(canvas_context=canvas.getContext("2d"));var t,n,l,r,i=$(getCanvasNode(0,0)),a=viewportHasVScroll?viewportW-scrollbarDimensions.width:viewportW,s=0,d=0,c=0,u=0,h=0;for(t=0;t<columns.length;t++)getColAutosizeWidth(n=columns[t],i,o),h+=n.autoSize.autosizeMode===Slick.ColAutosizeMode.Locked?n.width:0,u+=n.autoSize.autosizeMode===Slick.ColAutosizeMode.Locked?n.width:n.minWidth,s+=n.autoSize.widthPx,d+=n.autoSize.sizeToRemaining?0:n.autoSize.widthPx,c+=n.autoSize.sizeToRemaining&&n.minWidth||0;var p=s-d;if(e===Slick.GridAutosizeColsMode.FitViewportToCols){var m=s+scrollbarDimensions.width;e=Slick.GridAutosizeColsMode.IgnoreViewport,options.viewportMaxWidthPx&&m>options.viewportMaxWidthPx?(m=options.viewportMaxWidthPx,e=Slick.GridAutosizeColsMode.FitColsToViewport):options.viewportMinWidthPx&&m<options.viewportMinWidthPx&&(m=options.viewportMinWidthPx,e=Slick.GridAutosizeColsMode.FitColsToViewport),$container.width(m)}if(e===Slick.GridAutosizeColsMode.FitColsToViewport)if(p>0&&d<a-c)for(t=0;t<columns.length;t++){var w=a-d;l=(n=columns[t]).autoSize.sizeToRemaining?w*n.autoSize.widthPx/p:n.autoSize.widthPx,n.rerenderOnResize&&n.width!=l&&(r=!0),n.width=l}else if(options.viewportSwitchToScrollModeWidthPercent&&d+c>a*options.viewportSwitchToScrollModeWidthPercent/100||u>a)e=Slick.GridAutosizeColsMode.IgnoreViewport;else{var v=d-h,f=a-h-c;for(t=0;t<columns.length;t++)l=(n=columns[t]).width,n.autoSize.autosizeMode!==Slick.ColAutosizeMode.Locked&&(n.autoSize.sizeToRemaining?l=n.minWidth:((l=f/v*n.autoSize.widthPx)<n.minWidth&&(l=n.minWidth),v-=n.autoSize.widthPx,f-=l)),n.rerenderOnResize&&n.width!=l&&(r=!0),n.width=l}if(e===Slick.GridAutosizeColsMode.IgnoreViewport)for(t=0;t<columns.length;t++)l=columns[t].autoSize.widthPx,columns[t].rerenderOnResize&&columns[t].width!=l&&(r=!0),columns[t].width=l;reRenderColumns(r)}}else legacyAutosizeColumns()}function LogColWidths(){for(var e="Col Widths:",o=0;o<columns.length;o++)e+=" "+columns[o].width;console.log(e)}function getColAutosizeWidth(e,o,t){var n=e.autoSize;if(n.widthPx=e.width,n.autosizeMode!==Slick.ColAutosizeMode.Locked&&n.autosizeMode!==Slick.ColAutosizeMode.Guide){var l=getDataLength();if(n.autosizeMode===Slick.ColAutosizeMode.ContentIntelligent){var r,i=n.colDataTypeOf;if(l>0){var a=getDataItem(0);a&&"object"===(i=typeof(r=a[e.field]))&&(r instanceof Date&&(i="date"),"undefined"!=typeof moment&&r instanceof moment&&(i="moment"))}"boolean"===i&&(n.colValueArray=[!0,!1]),"number"===i&&(n.valueFilterMode=Slick.ValueFilterMode.GetGreatestAndSub,n.rowSelectionMode=Slick.RowSelectionMode.AllRows),"string"===i&&(n.valueFilterMode=Slick.ValueFilterMode.GetLongestText,n.rowSelectionMode=Slick.RowSelectionMode.AllRows,n.allowAddlPercent=5),"date"===i&&(n.colValueArray=[new Date(2009,8,30,12,20,20)]),"moment"===i&&"undefined"!=typeof moment&&(n.colValueArray=[moment([2009,8,30,12,20,20])])}var s=getColContentSize(e,o,t);s=s*(n.allowAddlPercent?1+n.allowAddlPercent/100:1)+options.autosizeColPaddingPx,e.minWidth&&s<e.minWidth&&(s=e.minWidth),e.maxWidth&&s>e.maxWidth&&(s=e.maxWidth),n.widthPx=s}}function getColContentSize(e,o,t){var n,l=e.autoSize,r=1,i=0,a=0;if(l.ignoreHeaderText||(a=getColHeaderWidth(e)),l.colValueArray)return i=getColWidth(e,o,l.colValueArray),Math.max(a,i);var s=getData();s.getItems&&(s=s.getItems());var d=(t?l.rowSelectionModeOnInit:void 0)||l.rowSelectionMode;if(d===Slick.RowSelectionMode.FirstRow&&(s=s.slice(0,1)),d===Slick.RowSelectionMode.LastRow&&(s=s.slice(s.length-1,s.length)),d===Slick.RowSelectionMode.FirstNRows&&(s=s.slice(0,l.rowSelectionCount)),l.valueFilterMode===Slick.ValueFilterMode.DeDuplicate){var c={};for(u=0,n=s.length;u<n;u++)c[s[u][e.field]]=!0;if(Object.keys)s=Object.keys(c);else for(var u in s=[],c)s.push(u)}if(l.valueFilterMode===Slick.ValueFilterMode.GetGreatestAndSub){var h,p=0;for(u=0,n=s.length;u<n;u++)w=s[u][e.field],Math.abs(w)>p&&(h=w,p=Math.abs(w));h=""+h,s=[h=+(h=Array(h.length+1).join("9"))]}if(l.valueFilterMode===Slick.ValueFilterMode.GetLongestTextAndSub){var m=0;for(u=0,n=s.length;u<n;u++)((w=s[u][e.field])||"").length>m&&(m=w.length);w=Array(m+1).join("m"),r=options.autosizeTextAvgToMWidthRatio,s=[w]}if(l.valueFilterMode===Slick.ValueFilterMode.GetLongestText){m=0;var w,v=0;for(u=0,n=s.length;u<n;u++)((w=s[u][e.field])||"").length>m&&(m=w.length,v=u);s=[w=s[v][e.field]]}return i=getColWidth(e,o,s)*r,Math.max(a,i)}function getColWidth(e,o,t){var n=getColumnIndex(e.id),l=$(‘<div class="slick-row ui-widget-content"></div>’),r=$(‘<div class="slick-cell"></div>’);r.css({position:"absolute",visibility:"hidden","text-overflow":"initial","white-space":"nowrap"}),l.append(r),o.append(l);var i,a,s,d,c=0;return canvas_context&&e.autoSize.widthEvalMode===Slick.WidthEvalMode.CanvasTextSize?(canvas_context.font=r.css("font-size")+" "+r.css("font-family"),$(t).each((function(o,t){d=Array.isArray(t)?t[e.field]:t,(i=(a=""+d)?canvas_context.measureText(a).width:0)>c&&(c=i,s=a)})),r.html(s),i=r.outerWidth(),l.remove(),i):($(t).each((function(o,t){d=Array.isArray(t)?t[e.field]:t,applyFormatResultToCellNode(e.formatterOverride?e.formatterOverride(o,n,d,e,t):e.formatter?e.formatter(o,n,d,e,t):""+d,r[0]),(i=r.outerWidth())>c&&(c=i)})),l.remove(),c)}function getColHeaderWidth(e){var o=0,t=getUID()+e.id,n=document.getElementById(t),l=t+"_";if(n){var r=n.cloneNode(!0);r.id=l,r.style.cssText="position: absolute; visibility: hidden;right: auto;text-overflow: initial;white-space: nowrap;",n.parentNode.insertBefore(r,n),o=r.offsetWidth,r.parentNode.removeChild(r)}else{var i=getHeader(e);o=(n=$("<div class=’ui-state-default slick-header-column’ />").html("<span class=’slick-column-name’>"+e.name+"</span>").attr("id",l).css({position:"absolute",visibility:"hidden",right:"auto","text-overflow:":"initial","white-space":"nowrap"}).addClass(e.headerCssClass||"").appendTo(i))[0].offsetWidth,i[0].removeChild(n[0])}return o}function legacyAutosizeColumns(){var e,o,t,n=[],l=0,r=0,i=viewportHasVScroll?viewportW-scrollbarDimensions.width:viewportW;for(e=0;e<columns.length;e++)o=columns[e],n.push(o.width),r+=o.width,o.resizable&&(l+=o.width-Math.max(o.minWidth,absoluteColumnMinWidth));for(t=r;r>i&&l;){var a=(r-i)/l;for(e=0;e<columns.length&&r>i;e++){o=columns[e];var s=n[e];if(!(!o.resizable||s<=o.minWidth||s<=absoluteColumnMinWidth)){var d=Math.max(o.minWidth,absoluteColumnMinWidth),c=Math.floor(a*(s-d))||1;r-=c=Math.min(c,s-d),l-=c,n[e]-=c}}if(t<=r)break;t=r}for(t=r;r<i;){var u=i/r;for(e=0;e<columns.length&&r<i;e++){o=columns[e];var h,p=n[e];r+=h=!o.resizable||o.maxWidth<=p?0:Math.min(Math.floor(u*p)-p,o.maxWidth-p||1e6)||1,n[e]+=r<=i?h:0}if(t>=r)break;t=r}var m=!1;for(e=0;e<columns.length;e++)columns[e].rerenderOnResize&&columns[e].width!=n[e]&&(m=!0),columns[e].width=n[e];reRenderColumns(m)}function reRenderColumns(e){applyColumnHeaderWidths(),applyColumnGroupHeaderWidths(),updateCanvasWidth(!0),trigger(self.onAutosizeColumns,{columns}),e&&(invalidateAllRows(),render())}function trigger(e,o,t){return t=t||new Slick.EventData,(o=o||{}).grid=self,e.notify(o,t,self)}function getEditorLock(){return options.editorLock}function getEditController(){return editController}function getColumnIndex(e){return columnsById[e]}function applyColumnGroupHeaderWidths(){if(treeColumns.hasDepth())for(var e=$groupHeadersL.length-1;e>=0;e–){treeColumns.getColumnsInDepth(e);$().add($groupHeadersL[e]).add($groupHeadersR[e]).each((function(e){var o=$(this),t=0;o.width(0===e?getHeadersWidthL():getHeadersWidthR()),o.children().each((function(){var e=$(this),n=$(this).data("column");n.width=0,n.columns.forEach((function(){var e=o.next().children(":eq("+t+++")");n.width+=e.outerWidth()})),e.width(n.width-headerColumnWidthDiff)}))}))}}function applyColumnHeaderWidths(){if(initialized){for(var e,o=0,t=$headers.children(),n=columns.length;o<n;o++)e=$(t[o]),jQueryNewWidthBehaviour?e.outerWidth()!==columns[o].width&&e.outerWidth(columns[o].width):e.width()!==columns[o].width-headerColumnWidthDiff&&e.width(columns[o].width-headerColumnWidthDiff);updateColumnCaches()}}function applyColumnWidths(){for(var e,o,t=0,n=0;n<columns.length;n++)e=columns[n].width,(o=getColumnCssRules(n)).left.style.left=t+"px",o.right.style.right=(-1!=options.frozenColumn&&n>options.frozenColumn?canvasWidthR:canvasWidthL)-t-e+"px",options.frozenColumn==n?t=0:t+=columns[n].width}function setSortColumn(e,o){setSortColumns([{columnId:e,sortAsc:o}])}function setSortColumns(e){sortColumns=e;var o=options.numberedMultiColumnSort&&sortColumns.length>1,t=$headers.children();t.removeClass("slick-header-column-sorted").find(".slick-sort-indicator").removeClass("slick-sort-indicator-asc slick-sort-indicator-desc"),t.find(".slick-sort-indicator-numbered").text(""),$.each(sortColumns,(function(e,n){null==n.sortAsc&&(n.sortAsc=!0);var l=getColumnIndex(n.columnId);null!=l&&(t.eq(l).addClass("slick-header-column-sorted").find(".slick-sort-indicator").addClass(n.sortAsc?"slick-sort-indicator-asc":"slick-sort-indicator-desc"),o&&t.eq(l).find(".slick-sort-indicator-numbered").text(e+1))}))}function getSortColumns(){return sortColumns}function handleSelectedRangesChanged(e,o){var t=selectedRows.slice(0);selectedRows=[];for(var n={},l=0;l<o.length;l++)for(var r=o[l].fromRow;r<=o[l].toRow;r++){n[r]||(selectedRows.push(r),n[r]={});for(var i=o[l].fromCell;i<=o[l].toCell;i++)canCellBeSelected(r,i)&&(n[r][columns[i].id]=options.selectedCellCssClass)}setCellCssStyles(options.selectedCellCssClass,n),simpleArrayEquals(t,selectedRows)&&trigger(self.onSelectedRowsChanged,{rows:getSelectedRows(),previousSelectedRows:t},e)}function simpleArrayEquals(e,o){return Array.isArray(e)&&Array.isArray(o)&&o.sort().toString()!==e.sort().toString()}function getColumns(){return columns}function updateColumnCaches(){columnPosLeft=[],columnPosRight=[];for(var e=0,o=0,t=columns.length;o<t;o++)columnPosLeft[o]=e,columnPosRight[o]=e+columns[o].width,options.frozenColumn==o?e=0:e+=columns[o].width}function updateColumnProps(){columnsById={};for(var e=0;e<columns.length;e++){columns[e].width&&(columns[e].widthRequest=columns[e].width);var o=columns[e]=$.extend({},columnDefaults,columns[e]);o.autoSize=$.extend({},columnAutosizeDefaults,o.autoSize),columnsById[o.id]=e,o.minWidth&&o.width<o.minWidth&&(o.width=o.minWidth),o.maxWidth&&o.width>o.maxWidth&&(o.width=o.maxWidth),o.resizable}}function setColumns(e){var o=new Slick.TreeColumns(e);columns=o.hasDepth()?(treeColumns=o).extractColumns():e,updateColumnProps(),updateColumnCaches(),initialized&&(setPaneVisibility(),setOverflow(),invalidateAllRows(),createColumnHeaders(),createColumnGroupHeaders(),createColumnFooter(),removeCssRules(),createCssRules(),resizeCanvas(),updateCanvasWidth(),applyColumnHeaderWidths(),applyColumnWidths(),handleScroll())}function getOptions(){return options}function setOptions(e,o){if(getEditorLock().commitCurrentEdit()){makeActiveCellNormal(),void 0!==e.showColumnHeader&&setColumnHeaderVisibility(e.showColumnHeader),options.enableAddRow!==e.enableAddRow&&invalidateRow(getDataLength());var t=$.extend(!0,{},options);options=$.extend(options,e),trigger(self.onSetOptions,{optionsBefore:t,optionsAfter:options}),validateAndEnforceOptions(),$viewport.css("overflow-y",options.autoHeight?"hidden":"auto"),o||render(),setFrozenOptions(),setScroller(),zombieRowNodeFromLastMouseWheelEvent=null,setColumns(treeColumns.extractColumns())}}function validateAndEnforceOptions(){options.autoHeight&&(options.leaveSpaceForNewRows=!1),options.forceFitColumns&&(options.autosizeColsMode=Slick.GridAutosizeColsMode.LegacyForceFit,console.log("forceFitColumns option is deprecated - use autosizeColsMode"))}function setData(e,o){data=e,invalidateAllRows(),updateRowCount(),o&&scrollTo(0)}function getData(){return data}function getDataLength(){return data.getLength?data.getLength():data&&data.length||0}function getDataLengthIncludingAddNew(){return getDataLength()+(options.enableAddRow&&(!pagingActive||pagingIsLastPage)?1:0)}function getDataItem(e){return data.getItem?data.getItem(e):data[e]}function getTopPanel(){return $topPanel[0]}function setTopPanelVisibility(e,o){var t=!1!==o;options.showTopPanel!=e&&(options.showTopPanel=e,e?t?$topPanelScroller.slideDown("fast",resizeCanvas):($topPanelScroller.show(),resizeCanvas()):t?$topPanelScroller.slideUp("fast",resizeCanvas):($topPanelScroller.hide(),resizeCanvas()))}function setHeaderRowVisibility(e,o){var t=!1!==o;options.showHeaderRow!=e&&(options.showHeaderRow=e,e?t?$headerRowScroller.slideDown("fast",resizeCanvas):($headerRowScroller.show(),resizeCanvas()):t?$headerRowScroller.slideUp("fast",resizeCanvas):($headerRowScroller.hide(),resizeCanvas()))}function setColumnHeaderVisibility(e,o){options.showColumnHeader!=e&&(options.showColumnHeader=e,e?o?$headerScroller.slideDown("fast",resizeCanvas):($headerScroller.show(),resizeCanvas()):o?$headerScroller.slideUp("fast",resizeCanvas):($headerScroller.hide(),resizeCanvas()))}function setFooterRowVisibility(e,o){var t=!1!==o;options.showFooterRow!=e&&(options.showFooterRow=e,e?t?$footerRowScroller.slideDown("fast",resizeCanvas):($footerRowScroller.show(),resizeCanvas()):t?$footerRowScroller.slideUp("fast",resizeCanvas):($footerRowScroller.hide(),resizeCanvas()))}function setPreHeaderPanelVisibility(e,o){var t=!1!==o;options.showPreHeaderPanel!=e&&(options.showPreHeaderPanel=e,e?t?$preHeaderPanelScroller.slideDown("fast",resizeCanvas):($preHeaderPanelScroller.show(),resizeCanvas()):t?$preHeaderPanelScroller.slideUp("fast",resizeCanvas):($preHeaderPanelScroller.hide(),resizeCanvas()))}function getContainerNode(){return $container.get(0)}function getRowTop(e){return options.rowHeight*e-offset}function getRowFromPosition(e){return Math.floor((e+offset)/options.rowHeight)}function scrollTo(e){e=Math.max(e,0),e=Math.min(e,th-$viewportScrollContainerY.height()+(viewportHasHScroll||hasFrozenColumns()?scrollbarDimensions.height:0));var o=offset;page=Math.min(n-1,Math.floor(e/ph));var t=e-(offset=Math.round(page*cj));offset!=o&&(cleanupRows(getVisibleRange(t)),updateRowPositions());prevScrollTop!=t&&(vScrollDir=prevScrollTop+o<t+offset?1:-1,lastRenderedScrollTop=scrollTop=prevScrollTop=t,hasFrozenColumns()&&($viewportTopL[0].scrollTop=t),hasFrozenRows&&($viewportBottomL[0].scrollTop=$viewportBottomR[0].scrollTop=t),$viewportScrollContainerY[0].scrollTop=t,trigger(self.onViewportChanged,{}))}function defaultFormatter(e,o,t,n,l,r){return null==t?"":(t+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function getFormatter(e,o){var t=data.getItemMetadata&&data.getItemMetadata(e),n=t&&t.columns&&(t.columns[o.id]||t.columns[getColumnIndex(o.id)]);return n&&n.formatter||t&&t.formatter||o.formatter||options.formatterFactory&&options.formatterFactory.getFormatter(o)||options.defaultFormatter}function callFormatter(e,o,t,n,l,r){var i,a=data.getItemMetadata&&data.getItemMetadata(e);if(a=a&&a.columns){var s=a[n.id]||a[o];i=getFormatter(e,n)(e,o,t,n,l,s)}else i=getFormatter(e,n)(e,o,t,n,l);return i}function getEditor(e,o){var t=columns[o],n=data.getItemMetadata&&data.getItemMetadata(e),l=n&&n.columns;return l&&l[t.id]&&void 0!==l[t.id].editor?l[t.id].editor:l&&l[o]&&void 0!==l[o].editor?l[o].editor:t.editor||options.editorFactory&&options.editorFactory.getEditor(t)}function getDataItemValueForColumn(e,o){return options.dataItemColumnValueExtractor?options.dataItemColumnValueExtractor(e,o):e[o.field]}function appendRowHtml(e,o,t,n,l){var r=getDataItem(t),i=t<l&&!r,a="slick-row"+(hasFrozenRows&&t<=options.frozenRow?" frozen":"")+(i?" loading":"")+(t===activeRow&&options.showCellSelection?" active":"")+(t%2==1?" odd":" even");r||(a+=" "+options.addNewRowCssClass);var s=data.getItemMetadata&&data.getItemMetadata(t);s&&s.cssClasses&&(a+=" "+s.cssClasses);var d,c,u=getFrozenRowOffset(t),h="<div class=’ui-widget-content "+a+"’ style=’top:"+(getRowTop(t)-u)+"px’>";e.push(h),hasFrozenColumns()&&o.push(h);for(var p=0,m=columns.length;p<m;p++){if(c=columns[p],d=1,s&&s.columns){var w=s.columns[c.id]||s.columns[p];""===(d=w&&w.colspan||1)&&(d=m-p)}if(columnPosRight[Math.min(m-1,p+d-1)]>n.leftPx){if(!c.alwaysRenderColumn&&columnPosLeft[p]>n.rightPx)break;hasFrozenColumns()&&p>options.frozenColumn?appendCellHtml(o,t,p,d,r):appendCellHtml(e,t,p,d,r)}else(c.alwaysRenderColumn||hasFrozenColumns()&&p<=options.frozenColumn)&&appendCellHtml(e,t,p,d,r);d>1&&(p+=d-1)}e.push("</div>"),hasFrozenColumns()&&o.push("</div>")}function appendCellHtml(e,o,t,n,l){var r=columns[t],i="slick-cell l"+t+" r"+Math.min(columns.length-1,t+n-1)+(r.cssClass?" "+r.cssClass:"");for(var a in hasFrozenColumns()&&t<=options.frozenColumn&&(i+=" frozen"),o===activeRow&&t===activeCell&&options.showCellSelection&&(i+=" active"),cellCssClasses)cellCssClasses[a][o]&&cellCssClasses[a][o][r.id]&&(i+=" "+cellCssClasses[a][o][r.id]);var s=null,d="";l&&(s=getDataItemValueForColumn(l,r),null==(d=getFormatter(o,r)(o,t,s,r,l,self))&&(d=""));var c=trigger(self.onBeforeAppendCell,{row:o,cell:t,value:s,dataContext:l})||"";c+=d&&d.addClasses?(c?" ":"")+d.addClasses:"";var u=d&&d.toolTip?"title=’"+d.toolTip+"’":"",h="";if(r.hasOwnProperty("cellAttrs")&&r.cellAttrs instanceof Object)for(var a in r.cellAttrs)r.cellAttrs.hasOwnProperty(a)&&(h+=" "+a+’="’+r.cellAttrs[a]+’" ‘);e.push("<div class=’"+i+(c?" "+c:"")+"’ "+u+h+">"),l&&e.push("[object Object]"!==Object.prototype.toString.call(d)?d:d.text),e.push("</div>"),rowsCache[o].cellRenderQueue.push(t),rowsCache[o].cellColSpans[t]=n}function cleanupRows(e){for(var o in rowsCache){var t=!0;hasFrozenRows&&(options.frozenBottom&&o>=actualFrozenRow||!options.frozenBottom&&o<=actualFrozenRow)&&(t=!1),(o=parseInt(o,10))!==activeRow&&(o<e.top||o>e.bottom)&&t&&removeRowFromCache(o)}options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()}function invalidate(){updateRowCount(),invalidateAllRows(),render()}function invalidateAllRows(){for(var e in currentEditor&&makeActiveCellNormal(),rowsCache)removeRowFromCache(e);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()}function queuePostProcessedRowForCleanup(e,o,t){for(var n in postProcessgroupId++,o)o.hasOwnProperty(n)&&postProcessedCleanupQueue.push({actionType:"C",groupId:postProcessgroupId,node:e.cellNodesByColumnIdx[0|n],columnIdx:0|n,rowIdx:t});postProcessedCleanupQueue.push({actionType:"R",groupId:postProcessgroupId,node:e.rowNode}),$(e.rowNode).detach()}function queuePostProcessedCellForCleanup(e,o,t){postProcessedCleanupQueue.push({actionType:"C",groupId:postProcessgroupId,node:e,columnIdx:o,rowIdx:t}),$(e).detach()}function removeRowFromCache(e){var o=rowsCache[e];o&&(rowNodeFromLastMouseWheelEvent==o.rowNode[0]||hasFrozenColumns()&&rowNodeFromLastMouseWheelEvent==o.rowNode[1]?(o.rowNode.hide(),zombieRowNodeFromLastMouseWheelEvent=o.rowNode):o.rowNode.each((function(){this.parentElement.removeChild(this)})),delete rowsCache[e],delete postProcessedRows[e],renderedRows–,counter_rows_removed++)}function invalidateRows(e){var o,t;if(e&&e.length){for(vScrollDir=0,t=e.length,o=0;o<t;o++)currentEditor&&activeRow===e[o]&&makeActiveCellNormal(),rowsCache[e[o]]&&removeRowFromCache(e[o]);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()}}function invalidateRow(e){(e||0===e)&&invalidateRows([e])}function applyFormatResultToCellNode(e,o,t){null==e&&(e=""),"[object Object]"===Object.prototype.toString.call(e)?(o.innerHTML=e.text,e.removeClasses&&!t&&$(o).removeClass(e.removeClasses),e.addClasses&&$(o).addClass(e.addClasses),e.toolTip&&$(o).attr("title",e.toolTip)):o.innerHTML=e}function updateCell(e,o){var t=getCellNode(e,o);if(t){var n=columns[o],l=getDataItem(e);if(currentEditor&&activeRow===e&&activeCell===o)currentEditor.loadValue(l);else applyFormatResultToCellNode(l?getFormatter(e,n)(e,o,getDataItemValueForColumn(l,n),n,l,self):"",t),invalidatePostProcessingResults(e)}}function updateRow(e){var o=rowsCache[e];if(o){ensureCellNodesInRowsCache(e);var t=getDataItem(e);for(var n in o.cellNodesByColumnIdx)if(o.cellNodesByColumnIdx.hasOwnProperty(n)){var l=columns[n|=0],r=o.cellNodesByColumnIdx[n][0];e===activeRow&&n===activeCell&&currentEditor?currentEditor.loadValue(t):t?applyFormatResultToCellNode(getFormatter(e,l)(e,n,getDataItemValueForColumn(t,l),l,t,self),r):r.innerHTML=""}invalidatePostProcessingResults(e)}}function getViewportHeight(){if(options.autoHeight&&-1==options.frozenColumn||(topPanelH=options.showTopPanel?options.topPanelHeight+getVBoxDelta($topPanelScroller):0,headerRowH=options.showHeaderRow?options.headerRowHeight+getVBoxDelta($headerRowScroller):0,footerRowH=options.showFooterRow?options.footerRowHeight+getVBoxDelta($footerRowScroller):0),options.autoHeight){var e=$paneHeaderL.outerHeight();e+=options.showHeaderRow?options.headerRowHeight+getVBoxDelta($headerRowScroller):0,e+=options.showFooterRow?options.footerRowHeight+getVBoxDelta($footerRowScroller):0,e+=getCanvasWidth()>viewportW?scrollbarDimensions.height:0,viewportH=options.rowHeight*getDataLengthIncludingAddNew()+(-1==options.frozenColumn?e:0)}else{var o=options.showColumnHeader?parseFloat($.css($headerScroller[0],"height"))+getVBoxDelta($headerScroller):0,t=options.createPreHeaderPanel&&options.showPreHeaderPanel?options.preHeaderPanelHeight+getVBoxDelta($preHeaderPanelScroller):0;viewportH=parseFloat($.css($container[0],"height",!0))-parseFloat($.css($container[0],"paddingTop",!0))-parseFloat($.css($container[0],"paddingBottom",!0))-o-topPanelH-headerRowH-footerRowH-t}return numVisibleRows=Math.ceil(viewportH/options.rowHeight),viewportH}function getViewportWidth(){viewportW=parseFloat($container.width())}function resizeCanvas(){if(initialized){paneTopH=0,paneBottomH=0,viewportTopH=0,viewportBottomH=0,getViewportWidth(),getViewportHeight(),hasFrozenRows?options.frozenBottom?(paneTopH=viewportH-frozenRowsHeight-scrollbarDimensions.height,paneBottomH=frozenRowsHeight+scrollbarDimensions.height):(paneTopH=frozenRowsHeight,paneBottomH=viewportH-frozenRowsHeight):paneTopH=viewportH,paneTopH+=topPanelH+headerRowH+footerRowH,hasFrozenColumns()&&options.autoHeight&&(paneTopH+=scrollbarDimensions.height),viewportTopH=paneTopH-topPanelH-headerRowH-footerRowH,options.autoHeight&&(hasFrozenColumns()&&$container.height(paneTopH+parseFloat($.css($headerScrollerL[0],"height"))),$paneTopL.css("position","relative")),$paneTopL.css({top:$paneHeaderL.height(),height:paneTopH});var e=$paneTopL.position().top+paneTopH;options.autoHeight||$viewportTopL.height(viewportTopH),hasFrozenColumns()?($paneTopR.css({top:$paneHeaderL.height(),height:paneTopH}),$viewportTopR.height(viewportTopH),hasFrozenRows&&($paneBottomL.css({top:e,height:paneBottomH}),$paneBottomR.css({top:e,height:paneBottomH}),$viewportBottomR.height(paneBottomH))):hasFrozenRows&&($paneBottomL.css({width:"100%",height:paneBottomH}),$paneBottomL.css("top",e)),hasFrozenRows?($viewportBottomL.height(paneBottomH),options.frozenBottom?($canvasBottomL.height(frozenRowsHeight),hasFrozenColumns()&&$canvasBottomR.height(frozenRowsHeight)):($canvasTopL.height(frozenRowsHeight),hasFrozenColumns()&&$canvasTopR.height(frozenRowsHeight))):$viewportTopR.height(viewportTopH),scrollbarDimensions&&scrollbarDimensions.width||(scrollbarDimensions=measureScrollbar()),options.autosizeColsMode===Slick.GridAutosizeColsMode.LegacyForceFit&&autosizeColumns(),updateRowCount(),handleScroll(),lastRenderedScrollLeft=-1,render()}}function updatePagingStatusFromView(e){pagingActive=0!==e.pageSize,pagingIsLastPage=e.pageNum==e.totalPages-1}function updateRowCount(){if(initialized){var e=getDataLength(),o=getDataLengthIncludingAddNew(),t=0,l=hasFrozenRows&&!options.frozenBottom?$canvasBottomL.height():$canvasTopL.height();if(hasFrozenRows)t=getDataLength()-options.frozenRow;else t=o+(options.leaveSpaceForNewRows?numVisibleRows-1:0);var r=$viewportScrollContainerY.height(),i=viewportHasVScroll;viewportHasVScroll=options.alwaysShowVerticalScroll||!options.autoHeight&&t*options.rowHeight>r,makeActiveCellNormal();var a=e-1;for(var s in rowsCache)s>a&&removeRowFromCache(s);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup(),activeCellNode&&activeRow>a&&resetActiveCell();l=h;options.autoHeight?h=options.rowHeight*t:(th=Math.max(options.rowHeight*t,r-scrollbarDimensions.height))<maxSupportedCssHeight?(h=ph=th,n=1,cj=0):(ph=(h=maxSupportedCssHeight)/100,n=Math.floor(th/ph),cj=(th-h)/(n-1)),h!==l&&(hasFrozenRows&&!options.frozenBottom?($canvasBottomL.css("height",h),hasFrozenColumns()&&$canvasBottomR.css("height",h)):($canvasTopL.css("height",h),$canvasTopR.css("height",h)),scrollTop=$viewportScrollContainerY[0].scrollTop);var d=scrollTop+offset<=th-r;0==th||0==scrollTop?page=offset=0:scrollTo(d?scrollTop+offset:th-r),h!=l&&options.autoHeight&&resizeCanvas(),options.autosizeColsMode===Slick.GridAutosizeColsMode.LegacyForceFit&&i!=viewportHasVScroll&&autosizeColumns(),updateCanvasWidth(!1)}}function getVisibleRange(e,o){return null==e&&(e=scrollTop),null==o&&(o=scrollLeft),{top:getRowFromPosition(e),bottom:getRowFromPosition(e+viewportH)+1,leftPx:o,rightPx:o+viewportW}}function getRenderedRange(e,o){var t=getVisibleRange(e,o),n=Math.round(viewportH/options.rowHeight),l=options.minRowBuffer;return-1==vScrollDir?(t.top-=n,t.bottom+=l):1==vScrollDir?(t.top-=l,t.bottom+=n):(t.top-=l,t.bottom+=l),t.top=Math.max(0,t.top),t.bottom=Math.min(getDataLengthIncludingAddNew()-1,t.bottom),t.leftPx-=viewportW,t.rightPx+=viewportW,t.leftPx=Math.max(0,t.leftPx),t.rightPx=Math.min(canvasWidth,t.rightPx),t}function ensureCellNodesInRowsCache(e){var o=rowsCache[e];if(o&&o.cellRenderQueue.length)for(var t=o.rowNode.children().last();o.cellRenderQueue.length;){var n=o.cellRenderQueue.pop();o.cellNodesByColumnIdx[n]=t,0===(t=t.prev()).length&&(t=$(o.rowNode[0]).children().last())}}function cleanUpCells(e,o){if(!hasFrozenRows||!(options.frozenBottom&&o>actualFrozenRow||o<=actualFrozenRow)){var t,n=rowsCache[o],l=[];for(var r in n.cellNodesByColumnIdx)if(n.cellNodesByColumnIdx.hasOwnProperty(r)&&!((r|=0)<=options.frozenColumn||Array.isArray(columns)&&columns[r]&&columns[r].alwaysRenderColumn)){var i=n.cellColSpans[r];(columnPosLeft[r]>e.rightPx||columnPosRight[Math.min(columns.length-1,r+i-1)]<e.leftPx)&&(o==activeRow&&r==activeCell||l.push(r))}for(;null!=(t=l.pop());)n.cellNodesByColumnIdx[t][0].parentElement.removeChild(n.cellNodesByColumnIdx[t][0]),delete n.cellColSpans[t],delete n.cellNodesByColumnIdx[t],postProcessedRows[o]&&delete postProcessedRows[o][t]}}function cleanUpAndRenderCells(e){for(var o,t,n,l=[],r=[],i=e.top,a=e.bottom;i<=a;i++)if(o=rowsCache[i]){ensureCellNodesInRowsCache(i),cleanUpCells(e,i),t=0;var s=data.getItemMetadata&&data.getItemMetadata(i);s=s&&s.columns;for(var d=getDataItem(i),c=0,u=columns.length;c<u&&!(columnPosLeft[c]>e.rightPx);c++)if(null==(n=o.cellColSpans[c])){if(n=1,s){var h=s[columns[c].id]||s[c];""===(n=h&&h.colspan||1)&&(n=u-c)}columnPosRight[Math.min(u-1,c+n-1)]>e.leftPx&&(appendCellHtml(l,i,c,n,d),t++),c+=n>1?n-1:0}else c+=n>1?n-1:0;t&&(t,r.push(i))}if(l.length){var p,m,w=document.createElement("div");for(w.innerHTML=l.join("");null!=(p=r.pop());){var v;for(o=rowsCache[p];null!=(v=o.cellRenderQueue.pop());)m=w.lastChild,hasFrozenColumns()&&v>options.frozenColumn?o.rowNode[1].appendChild(m):o.rowNode[0].appendChild(m),o.cellNodesByColumnIdx[v]=$(m)}}}function renderRows(e){for(var o=[],t=[],n=[],l=!1,r=getDataLength(),i=e.top,a=e.bottom;i<=a;i++)rowsCache[i]||hasFrozenRows&&options.frozenBottom&&i==getDataLength()||(renderedRows++,n.push(i),rowsCache[i]={rowNode:null,cellColSpans:[],cellNodesByColumnIdx:[],cellRenderQueue:[]},appendRowHtml(o,t,i,e,r),activeCellNode&&activeRow===i&&(l=!0),counter_rows_rendered++);if(n.length){var s=document.createElement("div"),d=document.createElement("div");s.innerHTML=o.join(""),d.innerHTML=t.join("");for(i=0,a=n.length;i<a;i++)hasFrozenRows&&n[i]>=actualFrozenRow?hasFrozenColumns()?rowsCache[n[i]].rowNode=$().add($(s.firstChild).appendTo($canvasBottomL)).add($(d.firstChild).appendTo($canvasBottomR)):rowsCache[n[i]].rowNode=$().add($(s.firstChild).appendTo($canvasBottomL)):hasFrozenColumns()?rowsCache[n[i]].rowNode=$().add($(s.firstChild).appendTo($canvasTopL)).add($(d.firstChild).appendTo($canvasTopR)):rowsCache[n[i]].rowNode=$().add($(s.firstChild).appendTo($canvasTopL));l&&(activeCellNode=getCellNode(activeRow,activeCell))}}function startPostProcessing(){options.enableAsyncPostRender&&(clearTimeout(h_postrender),h_postrender=setTimeout(asyncPostProcessRows,options.asyncPostRenderDelay))}function startPostProcessingCleanup(){options.enableAsyncPostRenderCleanup&&(clearTimeout(h_postrenderCleanup),h_postrenderCleanup=setTimeout(asyncPostProcessCleanupRows,options.asyncPostRenderCleanupDelay))}function invalidatePostProcessingResults(e){for(var o in postProcessedRows[e])postProcessedRows[e].hasOwnProperty(o)&&(postProcessedRows[e][o]="C");postProcessFromRow=Math.min(postProcessFromRow,e),postProcessToRow=Math.max(postProcessToRow,e),startPostProcessing()}function updateRowPositions(){for(var e in rowsCache){var o=e?parseInt(e):0;rowsCache[o].rowNode[0].style.top=getRowTop(o)+"px"}}function render(){if(initialized){scrollThrottle.dequeue();var e=getVisibleRange(),o=getRenderedRange();if(cleanupRows(o),lastRenderedScrollLeft!=scrollLeft){if(hasFrozenRows){var t=$.extend(!0,{},o);options.frozenBottom?(t.top=actualFrozenRow,t.bottom=getDataLength()):(t.top=0,t.bottom=options.frozenRow),cleanUpAndRenderCells(t)}cleanUpAndRenderCells(o)}renderRows(o),hasFrozenRows&&(options.frozenBottom?renderRows({top:actualFrozenRow,bottom:getDataLength()-1,leftPx:o.leftPx,rightPx:o.rightPx}):renderRows({top:0,bottom:options.frozenRow-1,leftPx:o.leftPx,rightPx:o.rightPx})),postProcessFromRow=e.top,postProcessToRow=Math.min(getDataLengthIncludingAddNew()-1,e.bottom),startPostProcessing(),lastRenderedScrollTop=scrollTop,lastRenderedScrollLeft=scrollLeft,h_render=null,trigger(self.onRendered,{startRow:e.top,endRow:e.bottom,grid:self})}}function handleHeaderScroll(){handleElementScroll($headerScrollContainer[0])}function handleHeaderRowScroll(){var e=$headerRowScrollContainer[0].scrollLeft;e!=$viewportScrollContainerX[0].scrollLeft&&($viewportScrollContainerX[0].scrollLeft=e)}function handleFooterRowScroll(){var e=$footerRowScrollContainer[0].scrollLeft;e!=$viewportScrollContainerX[0].scrollLeft&&($viewportScrollContainerX[0].scrollLeft=e)}function handlePreHeaderPanelScroll(){handleElementScroll($preHeaderPanelScroller[0])}function handleElementScroll(e){var o=e.scrollLeft;o!=$viewportScrollContainerX[0].scrollLeft&&($viewportScrollContainerX[0].scrollLeft=o)}function handleScroll(){return scrollTop=$viewportScrollContainerY[0].scrollTop,scrollLeft=$viewportScrollContainerX[0].scrollLeft,_handleScroll(!1)}function _handleScroll(e){var o=$viewportScrollContainerY[0].scrollHeight-$viewportScrollContainerY[0].clientHeight,t=$viewportScrollContainerY[0].scrollWidth-$viewportScrollContainerY[0].clientWidth;o=Math.max(0,o),t=Math.max(0,t),scrollTop>o&&(scrollTop=o),scrollLeft>t&&(scrollLeft=t);var l=Math.abs(scrollTop-prevScrollTop),r=Math.abs(scrollLeft-prevScrollLeft);if(r&&(prevScrollLeft=scrollLeft,$viewportScrollContainerX[0].scrollLeft=scrollLeft,$headerScrollContainer[0].scrollLeft=scrollLeft,$topPanelScroller[0].scrollLeft=scrollLeft,$headerRowScrollContainer[0].scrollLeft=scrollLeft,options.createFooterRow&&($footerRowScrollContainer[0].scrollLeft=scrollLeft),options.createPreHeaderPanel&&(hasFrozenColumns()?$preHeaderPanelScrollerR[0].scrollLeft=scrollLeft:$preHeaderPanelScroller[0].scrollLeft=scrollLeft),hasFrozenColumns()?hasFrozenRows&&($viewportTopR[0].scrollLeft=scrollLeft):hasFrozenRows&&($viewportTopL[0].scrollLeft=scrollLeft)),l)if(vScrollDir=prevScrollTop<scrollTop?1:-1,prevScrollTop=scrollTop,e&&($viewportScrollContainerY[0].scrollTop=scrollTop),hasFrozenColumns()&&(hasFrozenRows&&!options.frozenBottom?$viewportBottomL[0].scrollTop=scrollTop:$viewportTopL[0].scrollTop=scrollTop),l<viewportH)scrollTo(scrollTop+offset);else{var i=offset;page=h==viewportH?0:Math.min(n-1,Math.floor(scrollTop*((th-viewportH)/(h-viewportH))*(1/ph))),i!=(offset=Math.round(page*cj))&&invalidateAllRows()}if(r||l){var a=Math.abs(lastRenderedScrollLeft-scrollLeft),s=Math.abs(lastRenderedScrollTop-scrollTop);(a>20||s>20)&&(options.forceSyncScrolling||s<viewportH&&a<viewportW?render():scrollThrottle.enqueue(),trigger(self.onViewportChanged,{}))}return trigger(self.onScroll,{scrollLeft,scrollTop}),!(!r&&!l)}function ActionThrottle(e,o){var t=!1,n=!1;function l(){n=!1}function r(){t=!0,setTimeout(i,o),e()}function i(){n?(l(),r()):t=!1}return{enqueue:function(){t?n=!0:r()},dequeue:l}}function asyncPostProcessRows(){for(var e=getDataLength();postProcessFromRow<=postProcessToRow;){var o=vScrollDir>=0?postProcessFromRow++:postProcessToRow–,t=rowsCache[o];if(t&&!(o>=e)){for(var n in postProcessedRows[o]||(postProcessedRows[o]={}),ensureCellNodesInRowsCache(o),t.cellNodesByColumnIdx)if(t.cellNodesByColumnIdx.hasOwnProperty(n)){var l=columns[n|=0],r=postProcessedRows[o][n];if(l.asyncPostRender&&"R"!==r){var i=t.cellNodesByColumnIdx[n];i&&l.asyncPostRender(i,o,getDataItem(o),l,"C"===r),postProcessedRows[o][n]="R"}}return void(h_postrender=setTimeout(asyncPostProcessRows,options.asyncPostRenderDelay))}}}function asyncPostProcessCleanupRows(){if(postProcessedCleanupQueue.length>0){for(var e=postProcessedCleanupQueue[0].groupId;postProcessedCleanupQueue.length>0&&postProcessedCleanupQueue[0].groupId==e;){var o=postProcessedCleanupQueue.shift();if("R"==o.actionType&&$(o.node).remove(),"C"==o.actionType){var t=columns[o.columnIdx];t.asyncPostRenderCleanup&&o.node&&t.asyncPostRenderCleanup(o.node,o.rowIdx,t)}}h_postrenderCleanup=setTimeout(asyncPostProcessCleanupRows,options.asyncPostRenderCleanupDelay)}}function updateCellCssStylesOnRenderedRows(e,o){var t,n,l,r;for(var i in rowsCache){if(r=o&&o[i],l=e&&e[i],r)for(n in r)l&&r[n]==l[n]||(t=getCellNode(i,getColumnIndex(n)))&&$(t).removeClass(r[n]);if(l)for(n in l)r&&r[n]==l[n]||(t=getCellNode(i,getColumnIndex(n)))&&$(t).addClass(l[n])}}function addCellCssStyles(e,o){if(cellCssClasses[e])throw new Error("addCellCssStyles: cell CSS hash with key ‘"+e+"’ already exists.");cellCssClasses[e]=o,updateCellCssStylesOnRenderedRows(o,null),trigger(self.onCellCssStylesChanged,{key:e,hash:o,grid:self})}function removeCellCssStyles(e){cellCssClasses[e]&&(updateCellCssStylesOnRenderedRows(null,cellCssClasses[e]),delete cellCssClasses[e],trigger(self.onCellCssStylesChanged,{key:e,hash:null,grid:self}))}function setCellCssStyles(e,o){var t=cellCssClasses[e];cellCssClasses[e]=o,updateCellCssStylesOnRenderedRows(o,t),trigger(self.onCellCssStylesChanged,{key:e,hash:o,grid:self})}function getCellCssStyles(e){return cellCssClasses[e]}function flashCell(e,o,t){(t=t||100,rowsCache[e])&&function e(o,n){n&&setTimeout((function(){o.queue((function(){o.toggleClass(options.cellFlashingCssClass).dequeue(),e(o,n-1)}))}),t)}($(getCellNode(e,o)),4)}function handleMouseWheel(e,o,t,n){var l=$(e.target).closest(".slick-row"),r=l[0];if(r!=rowNodeFromLastMouseWheelEvent){var i=l.parents(".grid-canvas").hasClass("grid-canvas-left");if(zombieRowNodeFromLastMouseWheelEvent&&zombieRowNodeFromLastMouseWheelEvent[i?0:1]!=r){var a=zombieRowNodeFromLastMouseWheelEvent[i||1==zombieRowNodeFromLastMouseWheelEvent.length?0:1];a.parentElement.removeChild(a),zombieRowNodeFromLastMouseWheelEvent=null}rowNodeFromLastMouseWheelEvent=r}scrollTop=Math.max(0,$viewportScrollContainerY[0].scrollTop-n*options.rowHeight),scrollLeft=$viewportScrollContainerX[0].scrollLeft+10*t,_handleScroll(!0)&&e.preventDefault()}function handleDragInit(e,o){var t=getCellFromEvent(e);if(!t||!cellExists(t.row,t.cell))return!1;var n=trigger(self.onDragInit,o,e);return!!e.isImmediatePropagationStopped()&&n}function handleDragStart(e,o){var t=getCellFromEvent(e);if(!t||!cellExists(t.row,t.cell))return!1;var n=trigger(self.onDragStart,o,e);return!!e.isImmediatePropagationStopped()&&n}function handleDrag(e,o){return trigger(self.onDrag,o,e)}function handleDragEnd(e,o){trigger(self.onDragEnd,o,e)}function handleKeyDown(e){trigger(self.onKeyDown,{row:activeRow,cell:activeCell},e);var o=e.isImmediatePropagationStopped(),t=Slick.keyCode;if(!o&&!e.shiftKey&&!e.altKey){if(options.editable&&currentEditor&&currentEditor.keyCaptureList&&currentEditor.keyCaptureList.indexOf(e.which)>-1)return;e.which==t.HOME?o=e.ctrlKey?navigateTop():navigateRowStart():e.which==t.END&&(o=e.ctrlKey?navigateBottom():navigateRowEnd())}if(!o)if(e.shiftKey||e.altKey||e.ctrlKey)e.which!=t.TAB||!e.shiftKey||e.ctrlKey||e.altKey||(o=navigatePrev());else{if(options.editable&&currentEditor&&currentEditor.keyCaptureList&&currentEditor.keyCaptureList.indexOf(e.which)>-1)return;if(e.which==t.ESCAPE){if(!getEditorLock().isActive())return;cancelEditAndSetFocus()}else e.which==t.PAGE_DOWN?(navigatePageDown(),o=!0):e.which==t.PAGE_UP?(navigatePageUp(),o=!0):e.which==t.LEFT?o=navigateLeft():e.which==t.RIGHT?o=navigateRight():e.which==t.UP?o=navigateUp():e.which==t.DOWN?o=navigateDown():e.which==t.TAB?o=navigateNext():e.which==t.ENTER&&(options.editable&&(currentEditor?activeRow===getDataLength()?navigateDown():commitEditAndSetFocus():getEditorLock().commitCurrentEdit()&&makeActiveCellEditable(void 0,void 0,e)),o=!0)}if(o){e.stopPropagation(),e.preventDefault();try{e.originalEvent.keyCode=0}catch(e){}}}function handleClick(e){currentEditor||(e.target!=document.activeElement||$(e.target).hasClass("slick-cell"))&&setFocus();var o=getCellFromEvent(e);if(o&&(null===currentEditor||activeRow!=o.row||activeCell!=o.cell)&&(trigger(self.onClick,{row:o.row,cell:o.cell},e),!e.isImmediatePropagationStopped()&&canCellBeActive(o.row,o.cell)&&(!getEditorLock().isActive()||getEditorLock().commitCurrentEdit()))){scrollRowIntoView(o.row,!1);var t=e.target&&e.target.className===Slick.preClickClassName,n=columns[o.cell],l=!!(options.editable&&n&&n.editor&&options.suppressActiveCellChangeOnEdit);setActiveCellInternal(getCellNode(o.row,o.cell),null,t,l,e)}}function handleContextMenu(e){var o=$(e.target).closest(".slick-cell",$canvas);0!==o.length&&(activeCellNode===o[0]&&null!==currentEditor||trigger(self.onContextMenu,{},e))}function handleDblClick(e){var o=getCellFromEvent(e);!o||null!==currentEditor&&activeRow==o.row&&activeCell==o.cell||(trigger(self.onDblClick,{row:o.row,cell:o.cell},e),e.isImmediatePropagationStopped()||options.editable&&gotoCell(o.row,o.cell,!0,e))}function handleHeaderMouseEnter(e){trigger(self.onHeaderMouseEnter,{column:$(this).data("column"),grid:self},e)}function handleHeaderMouseLeave(e){trigger(self.onHeaderMouseLeave,{column:$(this).data("column"),grid:self},e)}function handleHeaderContextMenu(e){var o=$(e.target).closest(".slick-header-column",".slick-header-columns"),t=o&&o.data("column");trigger(self.onHeaderContextMenu,{column:t},e)}function handleHeaderClick(e){if(!columnResizeDragging){var o=$(e.target).closest(".slick-header-column",".slick-header-columns"),t=o&&o.data("column");t&&trigger(self.onHeaderClick,{column:t},e)}}function handleFooterContextMenu(e){var o=$(e.target).closest(".slick-footerrow-column",".slick-footerrow-columns"),t=o&&o.data("column");trigger(self.onFooterContextMenu,{column:t},e)}function handleFooterClick(e){var o=$(e.target).closest(".slick-footerrow-column",".slick-footerrow-columns"),t=o&&o.data("column");trigger(self.onFooterClick,{column:t},e)}function handleMouseEnter(e){trigger(self.onMouseEnter,{},e)}function handleMouseLeave(e){trigger(self.onMouseLeave,{},e)}function cellExists(e,o){return!(e<0||e>=getDataLength()||o<0||o>=columns.length)}function getCellFromPoint(e,o){for(var t=getRowFromPosition(o),n=0,l=0,r=0;r<columns.length&&l<e;r++)l+=columns[r].width,n++;return n<0&&(n=0),{row:t,cell:n-1}}function getCellFromNode(e){var o=/l\d+/.exec(e.className);if(!o)throw new Error("getCellFromNode: cannot get cell - "+e.className);return parseInt(o[0].substr(1,o[0].length-1),10)}function getRowFromNode(e){for(var o in rowsCache)for(var t in rowsCache[o].rowNode)if(rowsCache[o].rowNode[t]===e)return o?parseInt(o):0;return null}function getFrozenRowOffset(e){return hasFrozenRows?options.frozenBottom?e>=actualFrozenRow?h<viewportTopH?actualFrozenRow*options.rowHeight:h:0:e>=actualFrozenRow?frozenRowsHeight:0:0}function getCellFromEvent(e){var o,t,n=$(e.target).closest(".slick-cell",$canvas);if(!n.length)return null;if(o=getRowFromNode(n[0].parentNode),hasFrozenRows){var l=n.parents(".grid-canvas").offset(),r=0;n.parents(".grid-canvas-bottom").length&&(r=options.frozenBottom?$canvasTopL.height():frozenRowsHeight),o=getCellFromPoint(e.clientX-l.left,e.clientY-l.top+r+$(document).scrollTop()).row}return t=getCellFromNode(n[0]),null==o||null==t?null:{row:o,cell:t}}function getCellNodeBox(e,o){if(!cellExists(e,o))return null;for(var t=getFrozenRowOffset(e),n=getRowTop(e)-t,l=n+options.rowHeight-1,r=0,i=0;i<o;i++)r+=columns[i].width,options.frozenColumn==i&&(r=0);return{top:n,left:r,bottom:l,right:r+columns[o].width}}function resetActiveCell(){setActiveCellInternal(null,!1)}function setFocus(){-1==tabbingDirection?$focusSink[0].focus():$focusSink2[0].focus()}function scrollCellIntoView(e,o,t){if(scrollRowIntoView(e,t),!(o<=options.frozenColumn)){var n=getColspan(e,o);internalScrollColumnIntoView(columnPosLeft[o],columnPosRight[o+(n>1?n-1:0)])}}function internalScrollColumnIntoView(e,o){var t=scrollLeft+$viewportScrollContainerX.width();e<scrollLeft?($viewportScrollContainerX.scrollLeft(e),handleScroll(),render()):o>t&&($viewportScrollContainerX.scrollLeft(Math.min(e,o-$viewportScrollContainerX[0].clientWidth)),handleScroll(),render())}function scrollColumnIntoView(e){internalScrollColumnIntoView(columnPosLeft[e],columnPosRight[e])}function setActiveCellInternal(e,o,t,n,l){null!==activeCellNode&&(makeActiveCellNormal(),$(activeCellNode).removeClass("active"),rowsCache[activeRow]&&$(rowsCache[activeRow].rowNode).removeClass("active"));if(null!=(activeCellNode=e)){var r=$(activeCellNode),i=r.offset(),a=Math.floor(r.parents(".grid-canvas").offset().top),s=r.parents(".grid-canvas-bottom").length;hasFrozenRows&&s&&(a-=options.frozenBottom?$canvasTopL.height():frozenRowsHeight);var d=getCellFromPoint(i.left,Math.ceil(i.top)-a);activeRow=d.row,activeCell=activePosX=activeCell=activePosX=getCellFromNode(activeCellNode),null==o&&(o=activeRow==getDataLength()||options.autoEdit),options.showCellSelection&&(r.addClass("active"),rowsCache[activeRow]&&$(rowsCache[activeRow].rowNode).addClass("active")),options.editable&&o&&isCellPotentiallyEditable(activeRow,activeCell)&&(clearTimeout(h_editorLoader),options.asyncEditorLoading?h_editorLoader=setTimeout((function(){makeActiveCellEditable(void 0,t,l)}),options.asyncEditorLoadDelay):makeActiveCellEditable(void 0,t,l))}else activeRow=activeCell=null;n||trigger(self.onActiveCellChanged,getActiveCell())}function clearTextSelection(){if(document.selection&&document.selection.empty)try{document.selection.empty()}catch(e){}else if(window.getSelection){var e=window.getSelection();e&&e.removeAllRanges&&e.removeAllRanges()}}function isCellPotentiallyEditable(e,o){var t=getDataLength();return!(e<t&&!getDataItem(e))&&(!(columns[o].cannotTriggerInsert&&e>=t)&&!!getEditor(e,o))}function makeActiveCellNormal(){if(currentEditor){if(trigger(self.onBeforeCellEditorDestroy,{editor:currentEditor}),currentEditor.destroy(),currentEditor=null,activeCellNode){var e=getDataItem(activeRow);if($(activeCellNode).removeClass("editable invalid"),e){var o=columns[activeCell];applyFormatResultToCellNode(getFormatter(activeRow,o)(activeRow,activeCell,getDataItemValueForColumn(e,o),o,e,self),activeCellNode),invalidatePostProcessingResults(activeRow)}}navigator.userAgent.toLowerCase().match(/msie/)&&clearTextSelection(),getEditorLock().deactivate(editController)}}function makeActiveCellEditable(e,o,t){if(activeCellNode){if(!options.editable)throw new Error("Grid : makeActiveCellEditable : should never get called when options.editable is false");if(clearTimeout(h_editorLoader),isCellPotentiallyEditable(activeRow,activeCell)){var n=columns[activeCell],l=getDataItem(activeRow);if(!1!==trigger(self.onBeforeEditCell,{row:activeRow,cell:activeCell,item:l,column:n})){getEditorLock().activate(editController),$(activeCellNode).addClass("editable");var r=e||getEditor(activeRow,activeCell);e||r.suppressClearOnEdit||(activeCellNode.innerHTML="");var i=data.getItemMetadata&&data.getItemMetadata(activeRow),a=(i=i&&i.columns)&&(i[n.id]||i[activeCell]);currentEditor=new r({grid:self,gridPosition:absBox($container[0]),position:absBox(activeCellNode),container:activeCellNode,column:n,columnMetaData:a,item:l||{},event:t,commitChanges:commitEditAndSetFocus,cancelChanges:cancelEditAndSetFocus}),l&&(currentEditor.loadValue(l),o&&currentEditor.preClick&&currentEditor.preClick()),serializedEditorValue=currentEditor.serializeValue(),currentEditor.position&&handleActiveCellPositionChange()}else setFocus()}}}function commitEditAndSetFocus(){getEditorLock().commitCurrentEdit()&&(setFocus(),options.autoEdit&&navigateDown())}function cancelEditAndSetFocus(){getEditorLock().cancelCurrentEdit()&&setFocus()}function absBox(e){var o={top:e.offsetTop,left:e.offsetLeft,bottom:0,right:0,width:$(e).outerWidth(),height:$(e).outerHeight(),visible:!0};o.bottom=o.top+o.height,o.right=o.left+o.width;for(var t=e.offsetParent;(e=e.parentNode)!=document.body&&null!=e;)o.visible&&e.scrollHeight!=e.offsetHeight&&"visible"!=$(e).css("overflowY")&&(o.visible=o.bottom>e.scrollTop&&o.top<e.scrollTop+e.clientHeight),o.visible&&e.scrollWidth!=e.offsetWidth&&"visible"!=$(e).css("overflowX")&&(o.visible=o.right>e.scrollLeft&&o.left<e.scrollLeft+e.clientWidth),o.left-=e.scrollLeft,o.top-=e.scrollTop,e===t&&(o.left+=e.offsetLeft,o.top+=e.offsetTop,t=e.offsetParent),o.bottom=o.top+o.height,o.right=o.left+o.width;return o}function getActiveCellPosition(){return absBox(activeCellNode)}function getGridPosition(){return absBox($container[0])}function handleActiveCellPositionChange(){if(activeCellNode&&(trigger(self.onActiveCellPositionChanged,{}),currentEditor)){var e=getActiveCellPosition();currentEditor.show&&currentEditor.hide&&(e.visible?currentEditor.show():currentEditor.hide()),currentEditor.position&&currentEditor.position(e)}}function getCellEditor(){return currentEditor}function getActiveCell(){return activeCellNode?{row:activeRow,cell:activeCell}:null}function getActiveCellNode(){return activeCellNode}function scrollRowIntoView(e,o){if(!hasFrozenRows||!options.frozenBottom&&e>actualFrozenRow-1||options.frozenBottom&&e<actualFrozenRow-1){var t=$viewportScrollContainerY.height(),n=hasFrozenRows&&!options.frozenBottom?e-options.frozenRow:e,l=n*options.rowHeight,r=(n+1)*options.rowHeight-t+(viewportHasHScroll?scrollbarDimensions.height:0);(n+1)*options.rowHeight>scrollTop+t+offset?(scrollTo(o?l:r),render()):n*options.rowHeight<scrollTop+offset&&(scrollTo(o?r:l),render())}}function scrollRowToTop(e){scrollTo(e*options.rowHeight),render()}function scrollPage(e){var o=e*numVisibleRows;if(scrollTo((getRowFromPosition(scrollTop+options.rowHeight-1)+o)*options.rowHeight),render(),options.enableCellNavigation&&null!=activeRow){var t=activeRow+o,n=getDataLengthIncludingAddNew();t>=n&&(t=n-1),t<0&&(t=0);for(var l=0,r=null,i=activePosX;l<=activePosX;)canCellBeActive(t,l)&&(r=l),l+=getColspan(t,l);null!==r?(setActiveCellInternal(getCellNode(t,r)),activePosX=i):resetActiveCell()}}function navigatePageDown(){scrollPage(1)}function navigatePageUp(){scrollPage(-1)}function navigateTop(){navigateToRow(0)}function navigateBottom(){navigateToRow(getDataLength()-1)}function navigateToRow(e){var o=getDataLength();if(!o)return!0;if(e<0?e=0:e>=o&&(e=o-1),scrollCellIntoView(e,0,!0),options.enableCellNavigation&&null!=activeRow){for(var t=0,n=null,l=activePosX;t<=activePosX;)canCellBeActive(e,t)&&(n=t),t+=getColspan(e,t);null!==n?(setActiveCellInternal(getCellNode(e,n)),activePosX=l):resetActiveCell()}return!0}function getColspan(e,o){var t=data.getItemMetadata&&data.getItemMetadata(e);if(!t||!t.columns)return 1;var n=t.columns[columns[o].id]||t.columns[o],l=n&&n.colspan;return l=""===l?columns.length-o:l||1}function findFirstFocusableCell(e){for(var o=0;o<columns.length;){if(canCellBeActive(e,o))return o;o+=getColspan(e,o)}return null}function findLastFocusableCell(e){for(var o=0,t=null;o<columns.length;)canCellBeActive(e,o)&&(t=o),o+=getColspan(e,o);return t}function gotoRight(e,o,t){if(o>=columns.length)return null;do{o+=getColspan(e,o)}while(o<columns.length&&!canCellBeActive(e,o));return o<columns.length?{row:e,cell:o,posX:o}:null}function gotoLeft(e,o,t){if(o<=0)return null;var n=findFirstFocusableCell(e);if(null===n||n>=o)return null;for(var l,r={row:e,cell:n,posX:n};;){if(!(l=gotoRight(r.row,r.cell,r.posX)))return null;if(l.cell>=o)return r;r=l}}function gotoDown(e,o,t){for(var n,l=getDataLengthIncludingAddNew();;){if(++e>=l)return null;for(n=o=0;o<=t;)n=o,o+=getColspan(e,o);if(canCellBeActive(e,n))return{row:e,cell:n,posX:t}}}function gotoUp(e,o,t){for(var n;;){if(–e<0)return null;for(n=o=0;o<=t;)n=o,o+=getColspan(e,o);if(canCellBeActive(e,n))return{row:e,cell:n,posX:t}}}function gotoNext(e,o,t){if(null==e&&null==o&&canCellBeActive(e=o=t=0,o))return{row:e,cell:o,posX:o};var n=gotoRight(e,o,t);if(n)return n;var l=null,r=getDataLengthIncludingAddNew();for(e===r-1&&e–;++e<r;)if(null!==(l=findFirstFocusableCell(e)))return{row:e,cell:l,posX:l};return null}function gotoPrev(e,o,t){if(null==e&&null==o&&canCellBeActive(e=getDataLengthIncludingAddNew()-1,o=t=columns.length-1))return{row:e,cell:o,posX:o};for(var n,l;!n&&!(n=gotoLeft(e,o,t));){if(–e<0)return null;o=0,null!==(l=findLastFocusableCell(e))&&(n={row:e,cell:l,posX:l})}return n}function gotoRowStart(e,o,t){var n=findFirstFocusableCell(e);return null===n?null:{row:e,cell:n,posX:n}}function gotoRowEnd(e,o,t){var n=findLastFocusableCell(e);return null===n?null:{row:e,cell:n,posX:n}}function navigateRight(){return navigate("right")}function navigateLeft(){return navigate("left")}function navigateDown(){return navigate("down")}function navigateUp(){return navigate("up")}function navigateNext(){return navigate("next")}function navigatePrev(){return navigate("prev")}function navigateRowStart(){return navigate("home")}function navigateRowEnd(){return navigate("end")}function navigate(e){if(!options.enableCellNavigation)return!1;if(!activeCellNode&&"prev"!=e&&"next"!=e)return!1;if(!getEditorLock().commitCurrentEdit())return!0;setFocus();tabbingDirection={up:-1,down:1,left:-1,right:1,prev:-1,next:1,home:-1,end:1}[e];var o=(0,{up:gotoUp,down:gotoDown,left:gotoLeft,right:gotoRight,prev:gotoPrev,next:gotoNext,home:gotoRowStart,end:gotoRowEnd}[e])(activeRow,activeCell,activePosX);if(o){if(hasFrozenRows&&options.frozenBottom&o.row==getDataLength())return;var t=o.row==getDataLength();return(!options.frozenBottom&&o.row>=actualFrozenRow||options.frozenBottom&&o.row<actualFrozenRow)&&scrollCellIntoView(o.row,o.cell,!t&&options.emulatePagingWhenScrolling),setActiveCellInternal(getCellNode(o.row,o.cell)),activePosX=o.posX,!0}return setActiveCellInternal(getCellNode(activeRow,activeCell)),!1}function getCellNode(e,o){if(rowsCache[e]){ensureCellNodesInRowsCache(e);try{return rowsCache[e].cellNodesByColumnIdx.length>o?rowsCache[e].cellNodesByColumnIdx[o][0]:null}catch(t){return rowsCache[e].cellNodesByColumnIdx[o]}}return null}function setActiveCell(e,o,t,n,l){initialized&&(e>getDataLength()||e<0||o>=columns.length||o<0||options.enableCellNavigation&&(scrollCellIntoView(e,o,!1),setActiveCellInternal(getCellNode(e,o),t,n,l)))}function canCellBeActive(e,o){if(!options.enableCellNavigation||e>=getDataLengthIncludingAddNew()||e<0||o>=columns.length||o<0)return!1;var t=data.getItemMetadata&&data.getItemMetadata(e);if(t&&void 0!==t.focusable)return!!t.focusable;var n=t&&t.columns;return n&&n[columns[o].id]&&void 0!==n[columns[o].id].focusable?!!n[columns[o].id].focusable:n&&n[o]&&void 0!==n[o].focusable?!!n[o].focusable:!!columns[o].focusable}function canCellBeSelected(e,o){if(e>=getDataLength()||e<0||o>=columns.length||o<0)return!1;var t=data.getItemMetadata&&data.getItemMetadata(e);if(t&&void 0!==t.selectable)return!!t.selectable;var n=t&&t.columns&&(t.columns[columns[o].id]||t.columns[o]);return n&&void 0!==n.selectable?!!n.selectable:!!columns[o].selectable}function gotoCell(e,o,t,n){if(initialized&&canCellBeActive(e,o)&&getEditorLock().commitCurrentEdit()){scrollCellIntoView(e,o,!1);var l=getCellNode(e,o),r=columns[o],i=!!(options.editable&&r&&r.editor&&options.suppressActiveCellChangeOnEdit);setActiveCellInternal(l,t||e===getDataLength()||options.autoEdit,null,i,n),currentEditor||setFocus()}}function commitCurrentEdit(){var e=getDataItem(activeRow),o=columns[activeCell];if(currentEditor){if(currentEditor.isValueChanged()){var t=currentEditor.validate();if(t.valid){if(activeRow<getDataLength()){var n={row:activeRow,cell:activeCell,editor:currentEditor,serializedValue:currentEditor.serializeValue(),prevSerializedValue:serializedEditorValue,execute:function(){this.editor.applyValue(e,this.serializedValue),updateRow(this.row),trigger(self.onCellChange,{row:this.row,cell:this.cell,item:e})},undo:function(){this.editor.applyValue(e,this.prevSerializedValue),updateRow(this.row),trigger(self.onCellChange,{row:this.row,cell:this.cell,item:e})}};options.editCommandHandler?(makeActiveCellNormal(),options.editCommandHandler(e,o,n)):(n.execute(),makeActiveCellNormal())}else{var l={};currentEditor.applyValue(l,currentEditor.serializeValue()),makeActiveCellNormal(),trigger(self.onAddNewRow,{item:l,column:o})}return!getEditorLock().isActive()}return $(activeCellNode).removeClass("invalid"),$(activeCellNode).width(),$(activeCellNode).addClass("invalid"),trigger(self.onValidationError,{editor:currentEditor,cellNode:activeCellNode,validationResults:t,row:activeRow,cell:activeCell,column:o}),currentEditor.focus(),!1}makeActiveCellNormal()}return!0}function cancelCurrentEdit(){return makeActiveCellNormal(),!0}function rowsToRanges(e){for(var o=[],t=columns.length-1,n=0;n<e.length;n++)o.push(new Slick.Range(e[n],0,e[n],t));return o}function getSelectedRows(){if(!selectionModel)throw new Error("Selection model is not set");return selectedRows.slice(0)}function setSelectedRows(e){if(!selectionModel)throw new Error("Selection model is not set");self&&self.getEditorLock&&!self.getEditorLock().isActive()&&selectionModel.setSelectedRanges(rowsToRanges(e))}this.debug=function(){var e="";e+="\ncounter_rows_rendered: "+counter_rows_rendered,e+="\ncounter_rows_removed: "+counter_rows_removed,e+="\nrenderedRows: "+renderedRows,e+="\nnumVisibleRows: "+numVisibleRows,e+="\nmaxSupportedCssHeight: "+maxSupportedCssHeight,e+="\nn(umber of pages): "+n,e+="\n(current) page: "+page,e+="\npage height (ph): "+ph,e+="\nvScrollDir: "+vScrollDir,alert(e)},this.eval=function(expr){return eval(expr)},$.extend(this,{slickGridVersion:"2.4.27",onScroll:new Slick.Event,onSort:new Slick.Event,onHeaderMouseEnter:new Slick.Event,onHeaderMouseLeave:new Slick.Event,onHeaderContextMenu:new Slick.Event,onHeaderClick:new Slick.Event,onHeaderCellRendered:new Slick.Event,onBeforeHeaderCellDestroy:new Slick.Event,onHeaderRowCellRendered:new Slick.Event,onFooterRowCellRendered:new Slick.Event,onFooterContextMenu:new Slick.Event,onFooterClick:new Slick.Event,onBeforeHeaderRowCellDestroy:new Slick.Event,onBeforeFooterRowCellDestroy:new Slick.Event,onMouseEnter:new Slick.Event,onMouseLeave:new Slick.Event,onClick:new Slick.Event,onDblClick:new Slick.Event,onContextMenu:new Slick.Event,onKeyDown:new Slick.Event,onAddNewRow:new Slick.Event,onBeforeAppendCell:new Slick.Event,onValidationError:new Slick.Event,onViewportChanged:new Slick.Event,onColumnsReordered:new Slick.Event,onColumnsDrag:new Slick.Event,onColumnsResized:new Slick.Event,onBeforeColumnsResize:new Slick.Event,onCellChange:new Slick.Event,onBeforeEditCell:new Slick.Event,onBeforeCellEditorDestroy:new Slick.Event,onBeforeDestroy:new Slick.Event,onActiveCellChanged:new Slick.Event,onActiveCellPositionChanged:new Slick.Event,onDragInit:new Slick.Event,onDragStart:new Slick.Event,onDrag:new Slick.Event,onDragEnd:new Slick.Event,onSelectedRowsChanged:new Slick.Event,onCellCssStylesChanged:new Slick.Event,onAutosizeColumns:new Slick.Event,onRendered:new Slick.Event,onSetOptions:new Slick.Event,registerPlugin,unregisterPlugin,getPluginByName,getColumns,setColumns,getColumnIndex,updateColumnHeader,setSortColumn,setSortColumns,getSortColumns,autosizeColumns,autosizeColumn,getOptions,setOptions,getData,getDataLength,getDataItem,setData,getSelectionModel,setSelectionModel,getSelectedRows,setSelectedRows,getContainerNode,updatePagingStatusFromView,applyFormatResultToCellNode,render,invalidate,invalidateRow,invalidateRows,invalidateAllRows,updateCell,updateRow,getViewport:getVisibleRange,getRenderedRange,resizeCanvas,updateRowCount,scrollRowIntoView,scrollRowToTop,scrollCellIntoView,scrollColumnIntoView,getCanvasNode,getUID,getHeaderColumnWidthDiff,getScrollbarDimensions,getHeadersWidth,getCanvasWidth,getCanvases,getActiveCanvasNode,setActiveCanvasNode,getViewportNode,getActiveViewportNode,setActiveViewportNode,focus:setFocus,scrollTo,getCellFromPoint,getCellFromEvent,getActiveCell,setActiveCell,getActiveCellNode,getActiveCellPosition,resetActiveCell,editActiveCell:makeActiveCellEditable,getCellEditor,getCellNode,getCellNodeBox,canCellBeSelected,canCellBeActive,navigatePrev,navigateNext,navigateUp,navigateDown,navigateLeft,navigateRight,navigatePageUp,navigatePageDown,navigateTop,navigateBottom,navigateRowStart,navigateRowEnd,gotoCell,getTopPanel,setTopPanelVisibility,getPreHeaderPanel,getPreHeaderPanelLeft:getPreHeaderPanel,getPreHeaderPanelRight,setPreHeaderPanelVisibility,getHeader,getHeaderColumn,setHeaderRowVisibility,getHeaderRow,getHeaderRowColumn,setFooterRowVisibility,getFooterRow,getFooterRowColumn,getGridPosition,flashCell,addCellCssStyles,setCellCssStyles,removeCellCssStyles,getCellCssStyles,getFrozenRowOffset,setColumnHeaderVisibility,init:finishInitialization,destroy,getEditorLock,getEditController}),init()}module.exports={Grid:SlickGrid}},n”, “ 481: function _(t,e,a,n,r){n”, “ /!n”, “ * jquery.event.drag - v 2.3.0n”, “ * Copyright (c) 2010 Three Dub Media - http://threedubmedia.comn”, “ * Open Source MIT License - http://threedubmedia.com/code/licensen”, “ */n”, “ var o=t(474);o.fn.drag=function(t,e,a){var n="string"==typeof t?t:"",r=o.isFunction(t)?t:o.isFunction(e)?e:null;return 0!==n.indexOf("drag")&&(n="drag"+n),a=(t==r?e:a)||{},r?this.on(n,a,r):this.trigger(n)};var i=o.event,d=i.special,s=d.drag={defaults:{which:1,distance:0,not:":input",handle:null,relative:!1,drop:!0,click:!1},datakey:"dragdata",noBubble:!0,add:function(t){var e=o.data(this,s.datakey),a=t.data||{};e.related+=1,o.each(s.defaults,(function(t,n){void 0!==a[t]&&(e[t]=a[t])}))},remove:function(){o.data(this,s.datakey).related-=1},setup:function(){if(!o.data(this,s.datakey)){var t=o.extend({related:0},s.defaults);o.data(this,s.datakey,t),i.add(this,"touchstart mousedown",s.init,t),this.attachEvent&&this.attachEvent("ondragstart",s.dontstart)}},teardown:function(){(o.data(this,s.datakey)||{}).related||(o.removeData(this,s.datakey),i.remove(this,"touchstart mousedown",s.init),s.textselect(!0),this.detachEvent&&this.detachEvent("ondragstart",s.dontstart))},init:function(t){if(!s.touched){var e,a=t.data;if(!(0!=t.which&&a.which>0&&t.which!=a.which)){var n=o(t.target).attr("class")||"";if(!o(t.target).is(a.not)&&n&&-1!==n.toString().indexOf("slick")&&(!a.handle||o(t.target).closest(a.handle,t.currentTarget).length)&&(s.touched="touchstart"==t.type?this:null,a.propagates=1,a.mousedown=this,a.interactions=[s.interaction(this,a)],a.target=t.target,a.pageX=t.pageX,a.pageY=t.pageY,a.dragging=null,e=s.hijack(t,"draginit",a),a.propagates))return(e=s.flatten(e))&&e.length&&(a.interactions=[],o.each(e,(function(){a.interactions.push(s.interaction(this,a))}))),a.propagates=a.interactions.length,!1!==a.drop&&d.drop&&d.drop.handler(t,a),s.textselect(!1),s.touched?i.add(s.touched,"touchmove touchend",s.handler,a):i.add(document,"mousemove mouseup",s.handler,a),!(!s.touched||a.live)&&void 0}}},interaction:function(t,e){var a=t&&t.ownerDocument&&o(t)[e.relative?"position":"offset"]()||{top:0,left:0};return{drag:t,callback:new s.callback,droppable:[],offset:a}},handler:function(t){var e=t.data;switch(t.type){case!e.dragging&&"touchmove":t.preventDefault();case!e.dragging&&"mousemove":if(Math.pow(t.pageX-e.pageX,2)+Math.pow(t.pageY-e.pageY,2)<Math.pow(e.distance,2))break;t.target=e.target,s.hijack(t,"dragstart",e),e.propagates&&(e.dragging=!0);case"touchmove":t.preventDefault();case"mousemove":if(e.dragging){if(s.hijack(t,"drag",e),e.propagates){!1!==e.drop&&d.drop&&d.drop.handler(t,e);break}t.type="mouseup"}case"touchend":case"mouseup":default:s.touched?i.remove(s.touched,"touchmove touchend",s.handler):i.remove(document,"mousemove mouseup",s.handler),e.dragging&&(!1!==e.drop&&d.drop&&d.drop.handler(t,e),s.hijack(t,"dragend",e)),s.textselect(!0),!1===e.click&&e.dragging&&o.data(e.mousedown,"suppress.click",(new Date).getTime()+5),e.dragging=s.touched=!1}},hijack:function(t,e,a,n,r){if(a){var d,c,l,p={event:t.originalEvent,type:t.type},u=e.indexOf("drop")?"drag":"drop",g=n||0,h=isNaN(n)?a.interactions.length:n;t.type=e;var f=function(){};t.originalEvent=new o.Event(p.event,{preventDefault:f,stopPropagation:f,stopImmediatePropagation:f}),a.results=[];do{if(c=a.interactions[g]){if("dragend"!==e&&c.cancelled)continue;l=s.properties(t,a,c),c.results=[],o(r||c[u]||a.droppable).each((function(n,r){if(l.target=r,t.isPropagationStopped=function(){return!1},!1===(d=r?i.dispatch.call(r,t,l):null)?("drag"==u&&(c.cancelled=!0,a.propagates-=1),"drop"==e&&(c[u][n]=null)):"dropinit"==e&&c.droppable.push(s.element(d)||r),"dragstart"==e&&(c.proxy=o(s.element(d)||c.drag)[0]),c.results.push(d),delete t.result,"dropinit"!==e)return d})),a.results[g]=s.flatten(c.results),"dropinit"==e&&(c.droppable=s.flatten(c.droppable)),"dragstart"!=e||c.cancelled||l.update()}}while(++g<h);return t.type=p.type,t.originalEvent=p.event,s.flatten(a.results)}},properties:function(t,e,a){var n=a.callback;return n.drag=a.drag,n.proxy=a.proxy||a.drag,n.startX=e.pageX,n.startY=e.pageY,n.deltaX=t.pageX-e.pageX,n.deltaY=t.pageY-e.pageY,n.originalX=a.offset.left,n.originalY=a.offset.top,n.offsetX=n.originalX+n.deltaX,n.offsetY=n.originalY+n.deltaY,n.drop=s.flatten((a.drop||[]).slice()),n.available=s.flatten((a.droppable||[]).slice()),n},element:function(t){if(t&&(t.jquery||1==t.nodeType))return t},flatten:function(t){return o.map(t,(function(t){return t&&t.jquery?o.makeArray(t):t&&t.length?s.flatten(t):t}))},textselect:function(t){o(document)[t?"off":"on"]("selectstart",s.dontstart).css("MozUserSelect",t?"":"none"),document.unselectable=t?"off":"on"},dontstart:function(){return!1},callback:function(){}};s.callback.prototype={update:function(){d.drop&&this.available.length&&o.each(this.available,(function(t){d.drop.locate(this,t)}))}};var c=i.dispatch;i.dispatch=function(t){if(!(o.data(this,"suppress."+t.type)-(new Date).getTime()>0))return c.apply(this,arguments);o.removeData(this,"suppress."+t.type)},d.draginit=d.dragstart=d.dragend=s},n”, “ 482: function _(t,e,a,n,i){n”, “ /!n”, “ * jquery.event.drop - v 2.3.0n”, “ * Copyright (c) 2010 Three Dub Media - http://threedubmedia.comn”, “ * Open Source MIT License - http://threedubmedia.com/code/licensen”, “ /n”, “ var o=t(474);o.fn.drop=function(t,e,a){var n="string"==typeof t?t:"",i=o.isFunction(t)?t:o.isFunction(e)?e:null;return 0!==n.indexOf("drop")&&(n="drop"+n),a=(t==i?e:a)||{},i?this.on(n,a,i):this.trigger(n)},o.drop=function(t){t=t||{},d.multi=!0===t.multi?1/0:!1===t.multi?1:isNaN(t.multi)?d.multi:t.multi,d.delay=t.delay||d.delay,d.tolerance=o.isFunction(t.tolerance)?t.tolerance:null===t.tolerance?null:d.tolerance,d.mode=t.mode||d.mode||"intersect"};var r=o.event.special,d=o.event.special.drop={multi:1,delay:20,mode:"overlap",targets:[],datakey:"dropdata",noBubble:!0,add:function(t){o.data(this,d.datakey).related+=1},remove:function(){o.data(this,d.datakey).related-=1},setup:function(){if(!o.data(this,d.datakey)){o.data(this,d.datakey,{related:0,active:[],anyactive:0,winner:0,location:{}}),d.targets.push(this)}},teardown:function(){if(!(o.data(this,d.datakey)||{}).related){o.removeData(this,d.datakey);var t=this;d.targets=o.grep(d.targets,(function(e){return e!==t}))}},handler:function(t,e){var a;if(e)switch(t.type){case"mousedown":case"touchstart":a=o(d.targets),"string"==typeof e.drop&&(a=a.filter(e.drop)),a.each((function(){var t=o.data(this,d.datakey);t.active=[],t.anyactive=0,t.winner=0})),e.droppable=a,r.drag.hijack(t,"dropinit",e);break;case"mousemove":case"touchmove":d.event=t,d.timer||d.tolerate(e);break;case"mouseup":case"touchend":d.timer=clearTimeout(d.timer),e.propagates&&(r.drag.hijack(t,"drop",e),r.drag.hijack(t,"dropend",e))}},locate:function(t,e){var a=o.data(t,d.datakey),n=o(t),i=n.length&&!n.is(document)?n.offset():{},r=n.outerHeight(),l=n.outerWidth(),c={elem:t,width:l,height:r,top:i.top,left:i.left,right:i.left+l,bottom:i.top+r};return a&&(a.location=c,a.index=e,a.elem=t),c},contains:function(t,e){return(e[0]||e.left)>=t.left&&(e[0]||e.right)<=t.right&&(e[1]||e.top)>=t.top&&(e[1]||e.bottom)<=t.bottom},modes:{intersect:function(t,e,a){return this.contains(a,[t.pageX,t.pageY])?1e9:this.modes.overlap.apply(this,arguments)},overlap:function(t,e,a){return Math.max(0,Math.min(a.bottom,e.bottom)-Math.max(a.top,e.top))*Math.max(0,Math.min(a.right,e.right)-Math.max(a.left,e.left))},fit:function(t,e,a){return this.contains(a,e)?1:0},middle:function(t,e,a){return this.contains(a,[e.left+.5*e.width,e.top+.5*e.height])?1:0}},sort:function(t,e){return e.winner-t.winner||t.index-e.index},tolerate:function(t){var e,a,n,i,l,c,s,u,p=0,h=t.interactions.length,m=[d.event.pageX,d.event.pageY],f=d.tolerance||d.modes[d.mode];do{if(u=t.interactions[p]){if(!u)return;u.drop=[],l=[],c=u.droppable.length,f&&(n=d.locate(u.proxy)),e=0;do{if(s=u.droppable[e]){if(!(a=(i=o.data(s,d.datakey)).location))continue;i.winner=f?f.call(d,d.event,n,a):d.contains(a,m)?1:0,l.push(i)}}while(++e<c);l.sort(d.sort),e=0;do{(i=l[e])&&(i.winner&&u.drop.length<d.multi?(i.active[p]||i.anyactive||(!1!==r.drag.hijack(d.event,"dropstart",t,p,i.elem)[0]?(i.active[p]=1,i.anyactive+=1):i.winner=0),i.winner&&u.drop.push(i.elem)):i.active[p]&&1==i.anyactive&&(r.drag.hijack(d.event,"dropend",t,p,i.elem),i.active[p]=0,i.anyactive-=1))}while(++e<c)}}while(++p<h);d.last&&m[0]==d.last.pageX&&m[1]==d.last.pageY?delete d.timer:d.timer=setTimeout((function(){d.tolerate(t)}),d.delay),d.last=d.event}};r.dropinit=r.dropstart=r.dropend=d},n”, “ 483: function _(e,t,n,r,o){var i=e(474),l=e(476);var a={Avg:function(e){this.field_=e,this.init=function(){this.count_=0,this.nonNullCount_=0,this.sum_=0},this.accumulate=function(e){var t=e[this.field_];this.count_++,null==t||""===t||isNaN(t)||(this.nonNullCount_++,this.sum_+=parseFloat(t))},this.storeResult=function(e){e.avg||(e.avg={}),0!==this.nonNullCount_&&(e.avg[this.field_]=this.sum_/this.nonNullCount_)}},Min:function(e){this.field_=e,this.init=function(){this.min_=null},this.accumulate=function(e){var t=e[this.field_];null==t||""===t||isNaN(t)||(null==this.min_||t<this.min_)&&(this.min_=t)},this.storeResult=function(e){e.min||(e.min={}),e.min[this.field_]=this.min_}},Max:function(e){this.field_=e,this.init=function(){this.max_=null},this.accumulate=function(e){var t=e[this.field_];null==t||""===t||isNaN(t)||(null==this.max_||t>this.max_)&&(this.max_=t)},this.storeResult=function(e){e.max||(e.max={}),e.max[this.field_]=this.max_}},Sum:function(e){this.field_=e,this.init=function(){this.sum_=null},this.accumulate=function(e){var t=e[this.field_];null==t||""===t||isNaN(t)||(this.sum_+=parseFloat(t))},this.storeResult=function(e){e.sum||(e.sum={}),e.sum[this.field_]=this.sum_}},Count:function(e){this.field_=e,this.init=function(){},this.storeResult=function(e){e.count||(e.count={}),e.count[this.field_]=e.group.rows.length}}};t.exports={DataView:function(e){var t,n,r,o,a,u=this,s="id",g=[],c=[],f={},h=null,p=null,d=null,m=!1,v=!0,_={},w={},y=[],$=[],C={getter:null,formatter:null,comparer:function(e,t){return e.value===t.value?0:e.value>t.value?1:-1},predefinedValues:[],aggregators:[],aggregateEmpty:!1,aggregateCollapsed:!1,aggregateChildGroups:!1,collapsed:!1,displayTotalsRow:!0,lazyTotalsCalculation:!1},I=[],R=[],x=[],E=":|:",M=0,S=0,b=0,F=new l.Event,A=new l.Event,N=new l.Event,G=new l.Event,T=new l.Event,O=new l.Event,P=new l.Event,D=new l.Event;function K(e){for(var t,n=e=e||0,r=g.length;n<r;n++){if(void 0===(t=g[n][s]))throw new Error("Each data element must implement a unique ‘id’ property");f[t]=n}}function j(){var e=M?Math.max(1,Math.ceil(b/M)):1;return{pageSize:M,pageNum:S,totalRows:b,totalPages:e,dataView:u}}function B(e,r){v=r,n=e,t=null,!1===r&&g.reverse(),g.sort(e),!1===r&&g.reverse(),f={},K(),se()}function z(e,r){v=r,t=e,n=null;var o=Object.prototype.toString;Object.prototype.toString="function"==typeof e?e:function(){return this[e]},!1===r&&g.reverse(),g.sort(),Object.prototype.toString=o,!1===r&&g.reverse(),f={},K(),se()}function V(t){e.groupItemMetadataProvider||(e.groupItemMetadataProvider=new l.Data.GroupItemMetadataProvider),R=[],x=[],I=(t=t||[])instanceof Array?t:[t];for(var n=0;n<I.length;n++){var r=I[n]=i.extend(!0,{},C,I[n]);r.getterIsAFn="function"==typeof r.getter,r.compiledAccumulators=[];for(var o=r.aggregators.length;o–;)r.compiledAccumulators[o]=re(r.aggregators[o]);x[n]={}}se()}function q(){if(!h){h={};for(var e=0,t=c.length;e<t;e++)h[c[e][s]]=e}}function U(e){return g[f[e]]}function L(e,t){if(void 0===f[e])throw new Error("Invalid id");if(e!==t[s]){var n=t[s];if(null==n)throw new Error("Cannot update item to associate with a null id");if(void 0!==f[n])throw new Error("Cannot update item to associate with a non-unique id");f[n]=f[e],delete f[e],d&&d[e]&&delete d[e],e=n}g[f[e]]=t,d||(d={}),d[e]=!0,se()}function k(e,t){g.splice(e,0,t),K(e),se()}function H(e){var t=f[e];if(void 0===t)throw new Error("Invalid id");delete f[e],g.splice(t,1),K(t),se()}function W(e){if(!n)throw new Error("sortedAddItem() requires a sort comparer, use sort()");k(function(e){var t=0,r=g.length;for(;t<r;){var o=t+r>>>1;-1===n(g[o],e)?t=o+1:r=o}return t}(e),e)}function J(e,t){if(null==e)for(var n=0;n<I.length;n++)x[n]={},I[n].collapsed=t,!0===t?D.notify({level:n,groupingKey:null}):P.notify({level:n,groupingKey:null});else x[e]={},I[e].collapsed=t,!0===t?D.notify({level:e,groupingKey:null}):P.notify({level:e,groupingKey:null});se()}function Q(e,t,n){x[e][t]=I[e].collapsed^n,se()}function X(e,t){for(var n,r,o,i=[],a={},u=t?t.level+1:0,s=I[u],g=0,c=s.predefinedValues.length;g<c;g++)(n=a[r=s.predefinedValues[g]])||((n=new l.Group).value=r,n.level=u,n.groupingKey=(t?t.groupingKey+E:"")+r,i[i.length]=n,a[r]=n);for(g=0,c=e.length;g<c;g++)o=e[g],(n=a[r=s.getterIsAFn?s.getter(o):o[s.getter]])||((n=new l.Group).value=r,n.level=u,n.groupingKey=(t?t.groupingKey+E:"")+r,i[i.length]=n,a[r]=n),n.rows[n.count++]=o;if(u<I.length-1)for(g=0;g<i.length;g++)(n=i[g]).groups=X(n.rows,n);return i.length&&ee(i,u),i.sort(I[u].comparer),i}function Y(e){var t,n=e.group,r=I[n.level],o=n.level==I.length,i=r.aggregators.length;if(!o&&r.aggregateChildGroups)for(var l=n.groups.length;l–;)n.groups[l].totals.initialized||Y(n.groups[l].totals);for(;i–;)(t=r.aggregators[i]).init(),!o&&r.aggregateChildGroups?r.compiledAccumulators[i].call(t,n.groups):r.compiledAccumulators[i].call(t,n.rows),t.storeResult(e);e.initialized=!0}function Z(e){var t=I[e.level],n=new l.GroupTotals;n.group=e,e.totals=n,t.lazyTotalsCalculation||Y(n)}function ee(e,t){for(var n,r=I[t=t||0],o=r.collapsed,i=x[t],l=e.length;l–;)(n=e[l]).collapsed&&!r.aggregateCollapsed||(n.groups&&ee(n.groups,t+1),r.aggregators.length&&(r.aggregateEmpty||n.rows.length||n.groups&&n.groups.length)&&Z(n),n.collapsed=o^i[n.groupingKey],n.title=r.formatter?r.formatter(n):n.value)}function te(e,t){for(var n,r,o=I[t=t||0],i=[],l=0,a=0,u=e.length;a<u;a++){if(r=e[a],i[l++]=r,!r.collapsed)for(var s=0,g=(n=r.groups?te(r.groups,t+1):r.rows).length;s<g;s++)i[l++]=n[s];r.totals&&o.displayTotalsRow&&(!r.collapsed||o.aggregateCollapsed)&&(i[l++]=r.totals)}return i}function ne(e){var t=e.toString().indexOf("function")>=0?/^function[^(]\(([^)]*)\)\s*{([\s\S]*)}$/:/^[^(]*\(([^)]*)\)\s*{([\s\S]*)}$/,n=e.toString().match(t);return{params:n[1].split(","),body:n[2]}}function re(e){if(e.accumulate){var t=ne(e.accumulate),n=new Function("_items","for (var "+t.params[0]+", _i=0, _il=_items.length; _i<_il; _i++) {"+t.params[0]+" = _items[_i]; "+t.body+"}"),r="compiledAccumulatorLoop";return n.displayName=r,n.name=oe(n,r),n}return function(){}}function oe(e,t){try{Object.defineProperty(e,"name",{writable:!0,value:t})}catch(n){e.name=t}}function ie(e,t){for(var n=[],r=0,o=0,i=e.length;o<i;o++)p(e[o],t)&&(n[r++]=e[o]);return n}function le(e,t,n){for(var r,o=[],i=0,l=0,a=e.length;l<a;l++)r=e[l],n[l]?o[i++]=r:p(r,t)&&(o[i++]=r,n[l]=!0);return o}function ae(t){if(p){var n=e.inlineFilters?o:ie,i=e.inlineFilters?a:le;_.isFilterNarrowing?y=n(y,r):_.isFilterExpanding?y=i(t,r,$):_.isFilterUnchanged||(y=n(t,r))}else y=M?t:t.concat();var l;return M?(y.length<=S*M&&(S=0===y.length?0:Math.floor((y.length-1)/M)),l=y.slice(M*S,M*S+M)):l=y,{totalRows:y.length,rows:l}}function ue(e){h=null,_.isFilterNarrowing==w.isFilterNarrowing&&_.isFilterExpanding==w.isFilterExpanding||($=[]);var t=ae(e);b=t.totalRows;var n=t.rows;R=[],I.length&&(R=X(n)).length&&(n=te(R));var r=function(e,t){var n,r,o,i=[],l=0,a=Math.max(t.length,e.length);_&&_.ignoreDiffsBefore&&(l=Math.max(0,Math.min(t.length,_.ignoreDiffsBefore))),_&&_.ignoreDiffsAfter&&(a=Math.min(t.length,Math.max(0,_.ignoreDiffsAfter)));for(var u=l,g=e.length;u<a;u++)u>=g?i[i.length]=u:(n=t[u],r=e[u],(!n||I.length&&(o=n.__nonDataRow||r.__nonDataRow)&&n.__group!==r.__group||n.__group&&!n.equals(r)||o&&(n.__groupTotals||r.__groupTotals)||n[s]!=r[s]||d&&d[n[s]])&&(i[i.length]=u));return i}(c,n);return c=n,r}function se(){if(!m){var e=i.extend(!0,{},j()),t=c.length,n=b,r=ue(g);M&&b<S*M&&(S=Math.max(0,Math.ceil(b/M)-1),r=ue(g)),d=null,w=_,_={},n!==b&&(T.notify(e,null,u),O.notify(j(),null,u)),t!==c.length&&A.notify({previous:t,current:c.length,dataView:u,callingOnRowsChanged:r.length>0},null,u),r.length>0&&N.notify({rows:r,dataView:u,calledOnRowCountChanged:t!==c.length},null,u),(t!==c.length||r.length>0)&&G.notify({rowsDiff:r,previousRowCount:t,currentRowCount:c.length,rowCountChanged:t!==c.length,rowsChanged:r.length>0,dataView:u},null,u)}}e=i.extend(!0,{},{groupItemMetadataProvider:null,inlineFilters:!1},e),i.extend(this,{beginUpdate:function(){m=!0},endUpdate:function(){m=!1,se()},setPagingOptions:function(e){T.notify(j(),null,u),null!=e.pageSize&&(M=e.pageSize,S=M?Math.min(S,Math.max(0,Math.ceil(b/M)-1)):0),null!=e.pageNum&&(S=Math.min(e.pageNum,Math.max(0,Math.ceil(b/M)-1))),O.notify(j(),null,u),se()},getPagingInfo:j,getIdPropertyName:function(){return s},getItems:function(){return g},setItems:function(e,t){void 0!==t&&(s=t),g=y=e,f={},K(),function(){for(var e,t=0,n=g.length;t<n;t++)if(void 0===(e=g[t][s])||f[e]!==t)throw new Error("Each data element must implement a unique ‘id’ property")}(),se(),F.notify({idProperty:t},null,u)},setFilter:function(t){p=t,e.inlineFilters&&(o=function(){var e=ne(p),t="{ continue _coreloop; }$1",n="{ _retval[_idx++] = $item$; continue _coreloop; }$1",r=e.body.replace(/return false\s*([;}]|\}|$)/gi,t).replace(/return!1([;}]|\}|$)/gi,t).replace(/return true\s*([;}]|\}|$)/gi,n).replace(/return!0([;}]|\}|$)/gi,n).replace(/return ([^;}]+?)\s*([;}]|$)/gi,"{ if ($1) { _retval[_idx++] = $item$; }; continue _coreloop; }$2"),o=["var _retval = [], _idx = 0; ","var $item$, $args$ = _args; ","_coreloop: ","for (var _i = 0, _il = _items.length; _i < _il; _i++) { ","$item$ = _items[_i]; ","$filter$; ","} ","return _retval; "].join("");o=(o=(o=o.replace(/\$filter\$/gi,r)).replace(/\$item\$/gi,e.params[0])).replace(/\$args\$/gi,e.params[1]);var i=new Function("_items,_args",o),l="compiledFilter";return i.displayName=l,i.name=oe(i,l),i}(),a=function(){var e=ne(p),t="{ continue _coreloop; }$1",n="{ _cache[_i] = true;_retval[_idx++] = $item$; continue _coreloop; }$1",r=e.body.replace(/return false\s*([;}]|\}|$)/gi,t).replace(/return!1([;}]|\}|$)/gi,t).replace(/return true\s*([;}]|\}|$)/gi,n).replace(/return!0([;}]|\}|$)/gi,n).replace(/return ([^;}]+?)\s*([;}]|$)/gi,"{ if ((_cache[_i] = $1)) { _retval[_idx++] = $item$; }; continue _coreloop; }$2"),o=["var _retval = [], _idx = 0; ","var $item$, $args$ = _args; ","_coreloop: ","for (var _i = 0, _il = _items.length; _i < _il; _i++) { ","$item$ = _items[_i]; ","if (_cache[_i]) { ","_retval[_idx++] = $item$; ","continue _coreloop; ","} ","$filter$; ","} ","return _retval; "].join("");o=(o=(o=o.replace(/\$filter\$/gi,r)).replace(/\$item\$/gi,e.params[0])).replace(/\$args\$/gi,e.params[1]);var i=new Function("_items,_args,_cache",o),l="compiledFilterWithCaching";return i.displayName=l,i.name=oe(i,l),i}()),se()},getFilter:function(){return p},getFilteredItems:function(){return y},sort:B,fastSort:z,reSort:function(){n?B(n,v):t&&z(t,v)},setGrouping:V,getGrouping:function(){return I},groupBy:function(e,t,n){V(null!=e?{getter:e,formatter:t,comparer:n}:[])},setAggregators:function(e,t){if(!I.length)throw new Error("At least one grouping must be specified before calling setAggregators().");I[0].aggregators=e,I[0].aggregateCollapsed=t,V(I)},collapseAllGroups:function(e){J(e,!0)},expandAllGroups:function(e){J(e,!1)},collapseGroup:function(e){var t,n,r=Array.prototype.slice.call(arguments),o=r[0];1===r.length&&-1!==o.indexOf(E)?(t=o,n=o.split(E).length-1):(t=r.join(E),n=r.length-1),Q(n,t,!0),D.notify({level:n,groupingKey:t})},expandGroup:function(e){var t,n,r=Array.prototype.slice.call(arguments),o=r[0];1===r.length&&-1!==o.indexOf(E)?(n=o.split(E).length-1,t=o):(n=r.length-1,t=r.join(E)),Q(n,t,!1),P.notify({level:n,groupingKey:t})},getGroups:function(){return R},getIdxById:function(e){return f[e]},getRowByItem:function(e){return q(),h[e[s]]},getRowById:function(e){return q(),h[e]},getItemById:U,getItemByIdx:function(e){return g[e]},mapItemsToRows:function(e){var t=[];q();for(var n=0,r=e.length;n<r;n++){var o=h[e[n][s]];null!=o&&(t[t.length]=o)}return t},mapRowsToIds:function(e){for(var t=[],n=0,r=e.length;n<r;n++)e[n]<c.length&&(t[t.length]=c[e[n]][s]);return t},mapIdsToRows:function(e){var t=[];q();for(var n=0,r=e.length;n<r;n++){var o=h[e[n]];null!=o&&(t[t.length]=o)}return t},setRefreshHints:function(e){_=e},setFilterArgs:function(e){r=e},refresh:se,updateItem:L,insertItem:k,addItem:function(e){g.push(e),K(g.length-1),se()},deleteItem:H,sortedAddItem:W,sortedUpdateItem:function(e,t){if(void 0===f[e]||e!==t[s])throw new Error("Invalid or non-matching id "+f[e]);if(!n)throw new Error("sortedUpdateItem() requires a sort comparer, use sort()");var r=U(e);0!==n(r,t)?(H(e),W(t)):L(e,t)},syncGridSelection:function(e,t,n){var r,o=this,a=o.mapRowsToIds(e.getSelectedRows()),u=new l.Event;function s(t){a.join(",")!=t.join(",")&&(a=t,u.notify({grid:e,ids:a,dataView:o},new l.EventData,o))}return e.onSelectedRowsChanged.subscribe((function(t,l){if(!r){var u=o.mapRowsToIds(e.getSelectedRows());if(n&&e.getOptions().multiSelect)s(i.grep(a,(function(e){return void 0===o.getRowById(e)})).concat(u));else s(u)}})),this.onRowsOrCountChanged.subscribe((function(){if(a.length>0){r=!0;var n=o.mapIdsToRows(a);t||s(o.mapRowsToIds(n)),e.setSelectedRows(n),r=!1}})),u},syncGridCellCssStyles:function(e,t){var n,r;function o(e){for(var t in n={},e){var r=c[t][s];n[r]=e[t]}}function i(){if(n){r=!0,q();var o={};for(var i in n){var l=h[i];null!=l&&(o[l]=n[i])}e.setCellCssStyles(t,o),r=!1}}o(e.getCellCssStyles(t)),e.onCellCssStylesChanged.subscribe((function(n,l){r||t==l.key&&(l.hash?o(l.hash):(e.onCellCssStylesChanged.unsubscribe(),u.onRowsOrCountChanged.unsubscribe(i)))})),this.onRowsOrCountChanged.subscribe(i)},getLength:function(){return c.length},getItem:function(e){var t=c[e];if(t&&t.__group&&t.totals&&!t.totals.initialized){var n=I[t.level];n.displayTotalsRow||(Y(t.totals),t.title=n.formatter?n.formatter(t):t.value)}else t&&t.__groupTotals&&!t.initialized&&Y(t);return t},getItemMetadata:function(t){var n=c[t];return void 0===n?null:n.__group?e.groupItemMetadataProvider.getGroupRowMetadata(n):n.__groupTotals?e.groupItemMetadataProvider.getTotalsRowMetadata(n):null},onSetItemsCalled:F,onRowCountChanged:A,onRowsChanged:N,onRowsOrCountChanged:G,onBeforePagingInfoChanged:T,onPagingInfoChanged:O,onGroupExpanded:P,onGroupCollapsed:D})},Aggregators:a,Data:{Aggregators:a}}},n”, “ 484: function _(e,t,i,n,o){var l=e(474),a=e(476);function s(e){var t,i;function n(){var t=e.column.editorFixedDecimalPlaces;return void 0===t&&(t=s.DefaultDecimalPlaces),t||0===t?t:null}this.init=function(){var i=e.grid.getOptions().editorCellNavOnLRKeys;t=l("<INPUT type=text class=’editor-text’ />").appendTo(e.container).on("keydown.nav",i?u:c).focus().select()},this.destroy=function(){t.remove()},this.focus=function(){t.focus()},this.loadValue=function(o){i=o[e.column.field];var l=n();null!==l&&(i||0===i)&&i.toFixed&&(i=i.toFixed(l)),t.val(i),t[0].defaultValue=i,t.select()},this.serializeValue=function(){var e=parseFloat(t.val());s.AllowEmptyValue?e||0===e||(e=""):e=e||0;var i=n();return null!==i&&(e||0===e)&&e.toFixed&&(e=parseFloat(e.toFixed(i))),e},this.applyValue=function(t,i){t[e.column.field]=i},this.isValueChanged=function(){return!(""===t.val()&&null==i)&&t.val()!=i},this.validate=function(){if(isNaN(t.val()))return{valid:!1,msg:"Please enter a valid number"};if(e.column.validator){var i=e.column.validator(t.val());if(!i.valid)return i}return{valid:!0,msg:null}},this.init()}function u(e){var t=this.selectionStart,i=this.value.length;(e.keyCode===a.keyCode.LEFT&&t>0||e.keyCode===a.keyCode.RIGHT&&t<i-1)&&e.stopImmediatePropagation()}function c(e){e.keyCode!==a.keyCode.LEFT&&e.keyCode!==a.keyCode.RIGHT||e.stopImmediatePropagation()}s.DefaultDecimalPlaces=null,s.AllowEmptyValue=!1,t.exports={Editors:{Text:function(e){var t,i;this.init=function(){var i=e.grid.getOptions().editorCellNavOnLRKeys;t=l("<INPUT type=text class=’editor-text’ />").appendTo(e.container).on("keydown.nav",i?u:c).focus().select()},this.destroy=function(){t.remove()},this.focus=function(){t.focus()},this.getValue=function(){return t.val()},this.setValue=function(e){t.val(e)},this.loadValue=function(n){i=n[e.column.field]||"",t.val(i),t[0].defaultValue=i,t.select()},this.serializeValue=function(){return t.val()},this.applyValue=function(t,i){t[e.column.field]=i},this.isValueChanged=function(){return!(""===t.val()&&null==i)&&t.val()!=i},this.validate=function(){if(e.column.validator){var i=e.column.validator(t.val());if(!i.valid)return i}return{valid:!0,msg:null}},this.init()},Integer:function(e){var t,i;this.init=function(){var i=e.grid.getOptions().editorCellNavOnLRKeys;t=l("<INPUT type=text class=’editor-text’ />").appendTo(e.container).on("keydown.nav",i?u:c).focus().select()},this.destroy=function(){t.remove()},this.focus=function(){t.focus()},this.loadValue=function(n){i=n[e.column.field],t.val(i),t[0].defaultValue=i,t.select()},this.serializeValue=function(){return parseInt(t.val(),10)||0},this.applyValue=function(t,i){t[e.column.field]=i},this.isValueChanged=function(){return!(""===t.val()&&null==i)&&t.val()!=i},this.validate=function(){if(isNaN(t.val()))return{valid:!1,msg:"Please enter a valid integer"};if(e.column.validator){var i=e.column.validator(t.val());if(!i.valid)return i}return{valid:!0,msg:null}},this.init()},Float:s,Date:function(e){var t,i,n=!1;this.init=function(){(t=l("<INPUT type=text class=’editor-text’ />")).appendTo(e.container),t.focus().select(),t.datepicker({showOn:"button",buttonImageOnly:!0,beforeShow:function(){n=!0},onClose:function(){n=!1}}),t.width(t.width()-18)},this.destroy=function(){l.datepicker.dpDiv.stop(!0,!0),t.datepicker("hide"),t.datepicker("destroy"),t.remove()},this.show=function(){n&&l.datepicker.dpDiv.stop(!0,!0).show()},this.hide=function(){n&&l.datepicker.dpDiv.stop(!0,!0).hide()},this.position=function(e){n&&l.datepicker.dpDiv.css("top",e.top+30).css("left",e.left)},this.focus=function(){t.focus()},this.loadValue=function(n){i=n[e.column.field],t.val(i),t[0].defaultValue=i,t.select()},this.serializeValue=function(){return t.val()},this.applyValue=function(t,i){t[e.column.field]=i},this.isValueChanged=function(){return!(""===t.val()&&null==i)&&t.val()!=i},this.validate=function(){if(e.column.validator){var i=e.column.validator(t.val());if(!i.valid)return i}return{valid:!0,msg:null}},this.init()},YesNoSelect:function(e){var t,i;this.init=function(){(t=l("<SELECT tabIndex=’0’ class=’editor-yesno’><OPTION value=’yes’>Yes</OPTION><OPTION value=’no’>No</OPTION></SELECT>")).appendTo(e.container),t.focus()},this.destroy=function(){t.remove()},this.focus=function(){t.focus()},this.loadValue=function(n){t.val((i=n[e.column.field])?"yes":"no"),t.select()},this.serializeValue=function(){return"yes"==t.val()},this.applyValue=function(t,i){t[e.column.field]=i},this.isValueChanged=function(){return t.val()!=i},this.validate=function(){return{valid:!0,msg:null}},this.init()},Checkbox:function(e){var t,i;this.init=function(){(t=l("<INPUT type=checkbox value=’true’ class=’editor-checkbox’ hideFocus>")).appendTo(e.container),t.focus()},this.destroy=function(){t.remove()},this.focus=function(){t.focus()},this.loadValue=function(n){(i=!!n[e.column.field])?t.prop("checked",!0):t.prop("checked",!1)},this.preClick=function(){t.prop("checked",!t.prop("checked"))},this.serializeValue=function(){return t.prop("checked")},this.applyValue=function(t,i){t[e.column.field]=i},this.isValueChanged=function(){return this.serializeValue()!==i},this.validate=function(){return{valid:!0,msg:null}},this.init()},PercentComplete:function(e){var t,i,n;this.init=function(){(t=l("<INPUT type=text class=’editor-percentcomplete’ />")).width(l(e.container).innerWidth()-25),t.appendTo(e.container),(i=l("<div class=’editor-percentcomplete-picker’ />").appendTo(e.container)).append("<div class=’editor-percentcomplete-helper’><div class=’editor-percentcomplete-wrapper’><div class=’editor-percentcomplete-slider’ /><div class=’editor-percentcomplete-buttons’ /></div></div>"),i.find(".editor-percentcomplete-buttons").append("<button val=0>Not started</button><br/><button val=50>In Progress</button><br/><button val=100>Complete</button>"),t.focus().select(),i.find(".editor-percentcomplete-slider").slider({orientation:"vertical",range:"min",value:n,slide:function(e,i){t.val(i.value)}}),i.find(".editor-percentcomplete-buttons button").on("click",(function(e){t.val(l(this).attr("val")),i.find(".editor-percentcomplete-slider").slider("value",l(this).attr("val"))}))},this.destroy=function(){t.remove(),i.remove()},this.focus=function(){t.focus()},this.loadValue=function(i){t.val(n=i[e.column.field]),t.select()},this.serializeValue=function(){return parseInt(t.val(),10)||0},this.applyValue=function(t,i){t[e.column.field]=i},this.isValueChanged=function(){return!(""===t.val()&&null==n)&&(parseInt(t.val(),10)||0)!=n},this.validate=function(){return isNaN(parseInt(t.val(),10))?{valid:!1,msg:"Please enter a valid positive number"}:{valid:!0,msg:null}},this.init()},LongText:function(e){var t,i,n,o=this;this.init=function(){var n=l("body");e.grid.getOptions().editorCellNavOnLRKeys;i=l("<DIV style=’z-index:10000;position:absolute;background:white;padding:5px;border:3px solid gray; -moz-border-radius:10px; border-radius:10px;’/>").appendTo(n),t=l("<TEXTAREA hidefocus rows=5 style=’background:white;width:250px;height:80px;border:0;outline:0’>").appendTo(i),l("<DIV style=’text-align:right’><BUTTON>Save</BUTTON><BUTTON>Cancel</BUTTON></DIV>").appendTo(i),i.find("button:first").on("click",this.save),i.find("button:last").on("click",this.cancel),t.on("keydown",this.handleKeyDown),o.position(e.position),t.focus().select()},this.handleKeyDown=function(t){if(t.which==a.keyCode.ENTER&&t.ctrlKey)o.save();else if(t.which==a.keyCode.ESCAPE)t.preventDefault(),o.cancel();else if(t.which==a.keyCode.TAB&&t.shiftKey)t.preventDefault(),e.grid.navigatePrev();else if(t.which==a.keyCode.TAB)t.preventDefault(),e.grid.navigateNext();else if((t.which==a.keyCode.LEFT||t.which==a.keyCode.RIGHT)&&e.grid.getOptions().editorCellNavOnLRKeys){var i=this.selectionStart,n=this.value.length;t.keyCode===a.keyCode.LEFT&&0===i&&e.grid.navigatePrev(),t.keyCode===a.keyCode.RIGHT&&i>=n-1&&e.grid.navigateNext()}},this.save=function(){e.commitChanges()},this.cancel=function(){t.val(n),e.cancelChanges()},this.hide=function(){i.hide()},this.show=function(){i.show()},this.position=function(e){i.css("top",e.top-5).css("left",e.left-5)},this.destroy=function(){i.remove()},this.focus=function(){t.focus()},this.loadValue=function(i){t.val(n=i[e.column.field]),t.select()},this.serializeValue=function(){return t.val()},this.applyValue=function(t,i){t[e.column.field]=i},this.isValueChanged=function(){return!(""===t.val()&&null==n)&&t.val()!=n},this.validate=function(){if(e.column.validator){var i=e.column.validator(t.val());if(!i.valid)return i}return{valid:!0,msg:null}},this.init()}}}},n”, “ 485: function _(e,n,r,t,c){e(476);n.exports={Formatters:{PercentComplete:function(e,n,r,t,c){return null==r||""===r?"-":r<50?"<span style=’color:red;font-weight:bold;’>"+r+"%</span>":"<span style=’color:green’>"+r+"%</span>"},PercentCompleteBar:function(e,n,r,t,c){return null==r||""===r?"":"<span class=’percent-complete-bar’ style=’background:"+(r<30?"red":r<70?"silver":"green")+";width:"+r+"%’></span>"},YesNo:function(e,n,r,t,c){return r?"Yes":"No"},Checkmark:function(e,n,r,t,c){return r?"<img src=’../images/tick.png’>":""},Checkbox:function(e,n,r,t,c){return’<img class="slick-edit-preclick" src="../images/’+(r?"CheckboxY":"CheckboxN")+’.png">’}}}},n”, “ 486: function _(t,o,r,e,n){var a=t(474),l=t(476);o.exports={RemoteModel:function(){var t=50,o={length:0},r="",e=null,n=1,i=null,s=null,u=new l.Event,f=new l.Event;function c(){for(var t in o)delete o[t];o.length=0}function h(l,c){if(s){s.abort();for(var h=s.fromPage;h<=s.toPage;h++)o[h*t]=void 0}l<0&&(l=0),o.length>0&&(c=Math.min(c,o.length-1));for(var v=Math.floor(l/t),m=Math.floor(c/t);void 0!==o[v*t]&&v<m;)v++;for(;void 0!==o[m*t]&&v<m;)m–;if(v>m||v==m&&void 0!==o[v*t])f.notify({from:l,to:c});else{var g="http://octopart.com/api/v3/parts/search?apikey=68b25f31&include[]=short_description&show[]=uid&show[]=manufacturer&show[]=mpn&show[]=brand&show[]=octopart_url&show[]=short_description&q="+r+"&start="+v*t+"&limit="+((m-v)*t+t);null!=e&&(g+="&sortby="+e+(n>0?"+asc":"+desc")),null!=i&&clearTimeout(i),i=setTimeout((function(){for(var r=v;r<=m;r++)o[r*t]=null;u.notify({from:l,to:c}),(s=a.jsonp({url:g,callbackParameter:"callback",cache:!0,success:d,error:function(){!function(t,o){alert("error loading pages "+t+" to "+o)}(v,m)}})).fromPage=v,s.toPage=m}),50)}}function d(t){var r=t.request.start,e=r+t.results.length;o.length=Math.min(parseInt(t.hits),1e3);for(var n=0;n<t.results.length;n++){var a=t.results[n].item;o[r+n]=a,o[r+n].index=r+n}s=null,f.notify({from:r,to:e})}return{data:o,clear:c,isDataLoaded:function(t,r){for(var e=t;e<=r;e++)if(null==o[e]||null==o[e])return!1;return!0},ensureData:h,reloadData:function(t,r){for(var e=t;e<=r;e++)delete o[e];h(t,r)},setSort:function(t,o){e=t,n=o,c()},setSearch:function(t){r=t,c()},onDataLoading:u,onDataLoaded:f}}}},n”, “ 487: function _(e,s,t,o,l){var a=e(474),r=e(476);s.exports={GroupItemMetadataProvider:function(e){var s,t={checkboxSelect:!1,checkboxSelectCssClass:"slick-group-select-checkbox",checkboxSelectPlugin:null,groupCssClass:"slick-group",groupTitleCssClass:"slick-group-title",totalsCssClass:"slick-group-totals",groupFocusable:!0,totalsFocusable:!1,toggleCssClass:"slick-group-toggle",toggleExpandedCssClass:"expanded",toggleCollapsedCssClass:"collapsed",enableExpandCollapse:!0,groupFormatter:function(e,s,t,l,a,r){if(!o.enableExpandCollapse)return a.title;var c=15*a.level+"px";return(o.checkboxSelect?’<span class="’+o.checkboxSelectCssClass+" "+(a.selectChecked?"checked":"unchecked")+’"></span>’:"")+"<span class=’"+o.toggleCssClass+" "+(a.collapsed?o.toggleCollapsedCssClass:o.toggleExpandedCssClass)+"’ style=’margin-left:"+c+"’></span><span class=’"+o.groupTitleCssClass+"’ level=’"+a.level+"’>"+a.title+"</span>"},totalsFormatter:function(e,s,t,o,l,a){return o.groupTotalsFormatter&&o.groupTotalsFormatter(l,o,a)||""},includeHeaderTotals:!1},o=a.extend(!0,{},t,e);function l(e,t){var l=a(e.target),c=this.getDataItem(t.row);if(c&&c instanceof r.Group&&l.hasClass(o.toggleCssClass)){var n=s.getRenderedRange();this.getData().setRefreshHints({ignoreDiffsBefore:n.top,ignoreDiffsAfter:n.bottom+1}),c.collapsed?this.getData().expandGroup(c.groupingKey):this.getData().collapseGroup(c.groupingKey),e.stopImmediatePropagation(),e.preventDefault()}if(c&&c instanceof r.Group&&l.hasClass(o.checkboxSelectCssClass)){c.selectChecked=!c.selectChecked,l.removeClass(c.selectChecked?"unchecked":"checked"),l.addClass(c.selectChecked?"checked":"unchecked");var i=s.getData().mapItemsToRows(c.rows);(c.selectChecked?o.checkboxSelectPlugin.selectRows:o.checkboxSelectPlugin.deSelectRows)(i)}}function c(e,t){if(o.enableExpandCollapse&&e.which==r.keyCode.SPACE){var l=this.getActiveCell();if(l){var a=this.getDataItem(l.row);if(a&&a instanceof r.Group){var c=s.getRenderedRange();this.getData().setRefreshHints({ignoreDiffsBefore:c.top,ignoreDiffsAfter:c.bottom+1}),a.collapsed?this.getData().expandGroup(a.groupingKey):this.getData().collapseGroup(a.groupingKey),e.stopImmediatePropagation(),e.preventDefault()}}}}return{init:function(e){(s=e).onClick.subscribe(l),s.onKeyDown.subscribe(c)},destroy:function(){s&&(s.onClick.unsubscribe(l),s.onKeyDown.unsubscribe(c))},getGroupRowMetadata:function(e){var s=e&&e.level;return{selectable:!1,focusable:o.groupFocusable,cssClasses:o.groupCssClass+" slick-group-level-"+s,formatter:o.includeHeaderTotals&&o.totalsFormatter,columns:{0:{colspan:o.includeHeaderTotals?"1":"",formatter:o.groupFormatter,editor:null}}}},getTotalsRowMetadata:function(e){var s=e&&e.group&&e.group.level;return{selectable:!1,focusable:o.totalsFocusable,cssClasses:o.totalsCssClass+" slick-group-level-"+s,formatter:o.totalsFormatter,editor:null}},getOptions:function(){return o},setOptions:function(e){a.extend(!0,o,e)}}}}},n”, “ 488: function _(i,t,e,o,n){o();const s=i(322),r=i(20);class d extends s.HTMLBoxView{_width_policy(){return"horizontal"==this.model.orientation?super._width_policy():"fixed"}_height_policy(){return"horizontal"==this.model.orientation?"fixed":super._height_policy()}box_sizing(){const i=super.box_sizing();return"horizontal"==this.model.orientation?null==i.width&&(i.width=this.model.default_size):null==i.height&&(i.height=this.model.default_size),i}}e.WidgetView=d,d.__name__="WidgetView";class _ extends s.HTMLBox{constructor(i){super(i)}static init_Widget(){this.define((({Number:i})=>({orientation:[r.Orientation,"horizontal"],default_size:[i,300]}))),this.override({margin:[5,5,5,5]})}}e.Widget=_,_.__name__="Widget",_.init_Widget()},n”, “ 489: function _(e,i,t,s,n){s();const c=e(488),u=e(130),a=e(120);class o extends c.Widget{constructor(e){super(e)}static init_TableWidget(){this.define((({Ref:e})=>({source:[e(u.ColumnDataSource),()=>new u.ColumnDataSource],view:[e(a.CDSView),()=>new a.CDSView]})))}initialize(){super.initialize(),null==this.view.source&&(this.view.source=this.source,this.view.compute_indices())}}t.TableWidget=o,o.__name__="TableWidget",o.init_TableWidget()},n”, “ 490: function _(t,e,i,r,o){r();const l=t(469),n=t(466),d=t(34),a=t(20),s=t(53);class u extends s.Model{constructor(t){super(t)}static init_TableColumn(){this.define((({Boolean:t,Number:e,String:i,Nullable:r,Ref:o})=>({field:[i],title:[r(i),null],width:[e,300],formatter:[o(l.StringFormatter),()=>new l.StringFormatter],editor:[o(n.StringEditor),()=>new n.StringEditor],sortable:[t,!0],default_sort:[a.Sort,"ascending"]})))}toColumn(){var t;return{id:d.uniqueId(),field:this.field,name:null!==(t=this.title)&&void 0!==t?t:this.field,width:this.width,formatter:null!=this.formatter?this.formatter.doFormat.bind(this.formatter):void 0,model:this.editor,editor:this.editor.default_view,sortable:this.sortable,defaultSortAsc:"ascending"==this.default_sort}}}i.TableColumn=u,u.__name__="TableColumn",u.init_TableColumn()},n”, “ 491: function _(A,o,e,r,i){r(),e.root="bk-root",e.default=’.bk-root{}.bk-root .slick-header.ui-state-default,.bk-root .slick-headerrow.ui-state-default,.bk-root .slick-footerrow.ui-state-default,.bk-root .slick-top-panel-scroller.ui-state-default,.bk-root .slick-group-header.ui-state-default{width:100%;overflow:auto;position:relative;border-left:0px !important;}.bk-root .slick-header.ui-state-default{overflow:inherit;}.bk-root .slick-header::-webkit-scrollbar,.bk-root .slick-headerrow::-webkit-scrollbar,.bk-root .slick-footerrow::-webkit-scrollbar{display:none;}.bk-root .slick-header-columns,.bk-root .slick-headerrow-columns,.bk-root .slick-footerrow-columns,.bk-root .slick-group-header-columns{position:relative;white-space:nowrap;cursor:default;overflow:hidden;}.bk-root .slick-header-column.ui-state-default,.bk-root .slick-group-header-column.ui-state-default{position:relative;display:inline-block;box-sizing:content-box !important;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;height:16px;line-height:16px;margin:0;padding:4px;border-right:1px solid silver;border-left:0px !important;border-top:0px !important;border-bottom:0px !important;float:left;}.bk-root .slick-footerrow-column.ui-state-default{-o-text-overflow:ellipsis;text-overflow:ellipsis;margin:0;padding:4px;border-right:1px solid silver;border-left:0px;border-top:0px;border-bottom:0px;float:left;line-height:20px;vertical-align:middle;}.bk-root .slick-headerrow-column.ui-state-default,.bk-root .slick-footerrow-column.ui-state-default{padding:4px;}.bk-root .slick-header-column-sorted{font-style:italic;}.bk-root .slick-sort-indicator{display:inline-block;width:8px;height:5px;margin-left:4px;margin-top:6px;float:left;}.bk-root .slick-sort-indicator-numbered{display:inline-block;width:8px;height:5px;margin-left:4px;margin-top:0;line-height:20px;float:left;font-family:Arial;font-style:normal;font-weight:bold;color:#6190CD;}.bk-root .slick-sort-indicator-desc{background:url(images/sort-desc.gif);}.bk-root .slick-sort-indicator-asc{background:url(images/sort-asc.gif);}.bk-root .slick-resizable-handle{position:absolute;font-size:0.1px;display:block;cursor:col-resize;width:9px;right:-5px;top:0;height:100%;z-index:1;}.bk-root .slick-sortable-placeholder{background:silver;}.bk-root .grid-canvas{position:relative;outline:0;}.bk-root .slick-row.ui-widget-content,.bk-root .slick-row.ui-state-active{position:absolute;border:0px;width:100%;}.bk-root .slick-cell,.bk-root .slick-headerrow-column,.bk-root .slick-footerrow-column{position:absolute;border:1px solid transparent;border-right:1px dotted silver;border-bottom-color:silver;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;vertical-align:middle;z-index:1;padding:1px 2px 2px 1px;margin:0;white-space:nowrap;cursor:default;}.bk-root .slick-cell,.bk-root .slick-headerrow-column{border-bottom-color:silver;}.bk-root .slick-footerrow-column{border-top-color:silver;}.bk-root .slick-group-toggle{display:inline-block;}.bk-root .slick-cell.highlighted{background:lightskyblue;background:rgba(0, 0, 255, 0.2);-webkit-transition:all 0.5s;-moz-transition:all 0.5s;-o-transition:all 0.5s;transition:all 0.5s;}.bk-root .slick-cell.flashing{border:1px solid red !important;}.bk-root .slick-cell.editable{z-index:11;overflow:visible;background:white;border-color:black;border-style:solid;}.bk-root .slick-cell:focus{outline:none;}.bk-root .slick-reorder-proxy{display:inline-block;background:blue;opacity:0.15;cursor:move;}.bk-root .slick-reorder-guide{display:inline-block;height:2px;background:blue;opacity:0.7;}.bk-root .slick-selection{z-index:10;position:absolute;border:2px dashed black;}.bk-root .slick-pane{position:absolute;outline:0;overflow:hidden;width:100%;}.bk-root .slick-pane-header{display:block;}.bk-root .slick-header{overflow:hidden;position:relative;}.bk-root .slick-headerrow{overflow:hidden;position:relative;}.bk-root .slick-top-panel-scroller{overflow:hidden;position:relative;}.bk-root .slick-top-panel{width:10000px;}.bk-root .slick-viewport{position:relative;outline:0;width:100%;}.bk-root .slick-header-columns{background:url(\’images/header-columns-bg.gif\’) repeat-x center bottom;border-bottom:1px solid silver;}.bk-root .slick-header-column{background:url(\’images/header-columns-bg.gif\’) repeat-x center bottom;border-right:1px solid silver;}.bk-root .slick-header-column:hover,.bk-root .slick-header-column-active{background:white url(\’images/header-columns-over-bg.gif\’) repeat-x center bottom;}.bk-root .slick-headerrow{background:#fafafa;}.bk-root .slick-headerrow-column{background:#fafafa;border-bottom:0;height:100%;}.bk-root .slick-row.ui-state-active{background:#F5F7D7;}.bk-root .slick-row{position:absolute;background:white;border:0px;line-height:20px;}.bk-root .slick-row.selected{z-index:10;background:#DFE8F6;}.bk-root .slick-cell{padding-left:4px;padding-right:4px;}.bk-root .slick-group{border-bottom:2px solid silver;}.bk-root .slick-group-toggle{width:9px;height:9px;margin-right:5px;}.bk-root .slick-group-toggle.expanded{background:url(images/collapse.gif) no-repeat center center;}.bk-root .slick-group-toggle.collapsed{background:url(images/expand.gif) no-repeat center center;}.bk-root .slick-group-totals{color:gray;background:white;}.bk-root .slick-group-select-checkbox{width:13px;height:13px;margin:3px 10px 0 0;display:inline-block;}.bk-root .slick-group-select-checkbox.checked{background:url(images/GrpCheckboxY.png) no-repeat center center;}.bk-root .slick-group-select-checkbox.unchecked{background:url(images/GrpCheckboxN.png) no-repeat center center;}.bk-root .slick-cell.selected{background-color:beige;}.bk-root .slick-cell.active{border-color:gray;border-style:solid;}.bk-root .slick-sortable-placeholder{background:silver !important;}.bk-root .slick-row.odd{background:#fafafa;}.bk-root .slick-row.ui-state-active{background:#F5F7D7;}.bk-root .slick-row.loading{opacity:0.5;}.bk-root .slick-cell.invalid{border-color:red;-moz-animation-duration:0.2s;-webkit-animation-duration:0.2s;-moz-animation-name:slickgrid-invalid-hilite;-webkit-animation-name:slickgrid-invalid-hilite;}@-moz-keyframes slickgrid-invalid-hilite{from{box-shadow:0 0 6px red;}to{box-shadow:none;}}@-webkit-keyframes slickgrid-invalid-hilite{from{box-shadow:0 0 6px red;}to{box-shadow:none;}}.bk-root .slick-column-name,.bk-root .slick-sort-indicator{display:inline-block;float:left;margin-bottom:100px;}.bk-root .slick-header-button{display:inline-block;float:right;vertical-align:top;margin:1px;margin-bottom:100px;height:15px;width:15px;background-repeat:no-repeat;background-position:center center;cursor:pointer;}.bk-root .slick-header-button-hidden{width:0;-webkit-transition:0.2s width;-ms-transition:0.2s width;transition:0.2s width;}.bk-root .slick-header-column:hover > .slick-header-button{width:15px;}.bk-root .slick-header-menubutton{position:absolute;right:0;top:0;bottom:0;width:14px;background-repeat:no-repeat;background-position:left center;background-image:url(../images/down.gif);cursor:pointer;display:none;border-left:thin ridge silver;}.bk-root .slick-header-column:hover > .slick-header-menubutton,.bk-root .slick-header-column-active .slick-header-menubutton{display:inline-block;}.bk-root .slick-header-menu{position:absolute;display:inline-block;margin:0;padding:2px;cursor:default;}.bk-root .slick-header-menuitem{list-style:none;margin:0;padding:0;cursor:pointer;}.bk-root .slick-header-menuicon{display:inline-block;width:16px;height:16px;vertical-align:middle;margin-right:4px;background-repeat:no-repeat;background-position:center center;}.bk-root .slick-header-menucontent{display:inline-block;vertical-align:middle;}.bk-root .slick-header-menuitem-disabled{color:silver;}.bk-root .slick-header-menuitem.slick-header-menuitem-divider{cursor:default;border:none;overflow:hidden;padding:0;height:1px;margin:8px 2px;background-color:#cecece;}.bk-root .slick-header-menuitem-divider.slick-header-menuitem:hover{background-color:#cecece;}.bk-root .slick-columnpicker{border:1px solid #718BB7;background:#f0f0f0;padding:6px;-moz-box-shadow:2px 2px 2px silver;-webkit-box-shadow:2px 2px 2px silver;box-shadow:2px 2px 2px silver;min-width:150px;cursor:default;position:absolute;z-index:20;overflow:auto;resize:both;}.bk-root .slick-columnpicker > .close{float:right;}.bk-root .slick-columnpicker .title{font-size:16px;width:60%;border-bottom:solid 1px #d6d6d6;margin-bottom:10px;}.bk-root .slick-columnpicker li{list-style:none;margin:0;padding:0;background:none;}.bk-root .slick-columnpicker input{margin:4px;}.bk-root .slick-columnpicker li a{display:block;padding:4px;font-weight:bold;}.bk-root .slick-columnpicker li a:hover{background:white;}.bk-root .slick-columnpicker-list li.hidden{display:none;}.bk-root .slick-pager{width:100%;height:26px;border:1px solid gray;border-top:0;background:url(\’../images/header-columns-bg.gif\’) repeat-x center bottom;vertical-align:middle;}.bk-root .slick-pager .slick-pager-status{display:inline-block;padding:6px;}.bk-root .slick-pager .ui-icon-container{display:inline-block;margin:2px;border-color:gray;}.bk-root .slick-pager .slick-pager-nav{display:inline-block;float:left;padding:2px;}.bk-root .slick-pager .slick-pager-settings{display:block;float:right;padding:2px;}.bk-root .slick-pager .slick-pager-settings *{vertical-align:middle;}.bk-root .slick-pager .slick-pager-settings a{padding:2px;text-decoration:underline;cursor:pointer;}.bk-root .slick-header-columns{border-bottom:1px solid silver;background-image:none;}.bk-root .slick-header-column{border-right:1px solid transparent;background-image:none;}.bk-root .slick-header-column:last-of-type{border-right-color:transparent;}.bk-root .slick-header-column:hover,.bk-root .slick-header-column-active{background-color:#F0F8FF;background-image:none;}.bk-root .slick-group-toggle.expanded{background-image:url("data:image/gif;base64,R0lGODlhCQAJAPcAAAFGeoCAgNXz/+v5/+v6/+z5/+36//L7//X8//j9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAACQAJAAAIMwADCBxIUIDBgwIEChgwwECBAgQUFjBAkaJCABgxGlB4AGHCAAIQiBypEEECkScJqgwQEAA7");}.bk-root .slick-group-toggle.collapsed{background-image:url("data:image/gif;base64,R0lGODlhCQAJAPcAAAFGeoCAgNXz/+v5/+v6/+z5/+36//L7//X8//j9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAACQAJAAAIOAADCBxIUIDBgwIEChgwAECBAgQUFjAAQIABAwoBaNSIMYCAAwIqGlSIAEHFkiQTIBCgkqDLAAEBADs=");}.bk-root .slick-group-select-checkbox.checked{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xNkRpr/UAAAEcSURBVChTjdI9S8NQFAbg/raQXVwCRRFE7GK7OXTwD+ikk066VF3a0ja0hQTyQdJrwNq0zrYSQRLEXMSWSlCIb8glqRcFD+9yz3nugXwU4n9XQqMoGjj36uBJsTwuaNo3EwBG4Yy7pe7Gv8YcvhJCGFVsjxsjxujj6OTSGlHv+U2WZUZbPWKOv1ZjT5a7pbIoiptbO5b73mwrjHa1B27l8VlTEIS1damlTnEE+EEN9/P8WrfH81qdAIGeXvTTmzltdCy46sEhxpKUINReZR9NnqZbr9puugxV3NjWh/k74WmmEdWhmUNy2jNmWRc6fZTVADCqao52u+DGWTACYNT3fRxwtatPufTNR4yCIGAUn5hS+vJHhWGY/ANx/A3tvdv+1tZmuwAAAABJRU5ErkJggg==");}.bk-root .slick-group-select-checkbox.unchecked{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xNkRpr/UAAACXSURBVChT1dIxC4MwEAXg/v8/VOhQVDBNakV0KA6pxS4JhWRSIYPEJxwdDi1de7wleR+3JIf486w0hKCKRpSvvOhZcCmvNQBRuKqdah03U7UjNNH81rOaBYDo8SQaPX8JANFEaLaGBeAPaaY61rGksiN6TmR5H1j9CSoAosYYHLA7vTxYMvVEZa0liif23r93xjm3/oEYF8PiDn/I2FHCAAAAAElFTkSuQmCC");}.bk-root .slick-sort-indicator-desc{background-image:url("data:image/gif;base64,R0lGODlhDQAFAIcAAGGQzUD/QOPu+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAMAAAEALAAAAAANAAUAAAgeAAUAGEgQgIAACBEKLHgwYcKFBh1KFNhQosOKEgMCADs=");}.bk-root .slick-sort-indicator-asc{background-image:url("data:image/gif;base64,R0lGODlhDQAFAIcAAGGQzUD/QOPu+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAMAAAEALAAAAAANAAUAAAgbAAMIDABgoEGDABIeRJhQ4cKGEA8KmEiRosGAADs=");}.bk-root .slick-header-menubutton{background-image:url("data:image/gif;base64,R0lGODlhDgAOAIABADtKYwAAACH5BAEAAAEALAAAAAAOAA4AAAISjI+py+0PHZgUsGobhTn6DxoFADs=");}.bk-root .slick-pager{background-image:none;}’},n”, “ 492: function _(t,e,s,r,a){r();const i=t(479),{Avg:g,Min:n,Max:o,Sum:u}=i.Data.Aggregators,c=t(53);class _ extends c.Model{constructor(t){super(t)}static init_RowAggregator(){this.define((({String:t})=>({field_:[t,""]})))}}s.RowAggregator=_,_.__name__="RowAggregator",_.init_RowAggregator();const l=new g;class m extends _{constructor(){super(…arguments),this.key="avg",this.init=l.init,this.accumulate=l.accumulate,this.storeResult=l.storeResult}}s.AvgAggregator=m,m.__name__="AvgAggregator";const h=new n;class A extends _{constructor(){super(…arguments),this.key="min",this.init=h.init,this.accumulate=h.accumulate,this.storeResult=h.storeResult}}s.MinAggregator=A,A.__name__="MinAggregator";const R=new o;class x extends _{constructor(){super(…arguments),this.key="max",this.init=R.init,this.accumulate=R.accumulate,this.storeResult=R.storeResult}}s.MaxAggregator=x,x.__name__="MaxAggregator";const d=new u;class w extends _{constructor(){super(…arguments),this.key="sum",this.init=d.init,this.accumulate=d.accumulate,this.storeResult=d.storeResult}}s.SumAggregator=w,w.__name__="SumAggregator"},n”, “ 493: function _(t,e,s,o,r){o();const i=t(43),a=t(479),n=t(467),l=t(472),u=t(130),g=t(492),c=t(53);function p(t,e,s,o,r){const{collapsed:a,level:n,title:l}=r,u=i.span({class:"slick-group-toggle "+(a?"collapsed":"expanded"),style:{"margin-left":15*n+"px"}}),g=i.span({class:"slick-group-title",level:n},l);return`${u.outerHTML}${g.outerHTML}`}function h(t,e){const s=this.getDataItem(e.row);s instanceof a.Group&&t.target.classList.contains("slick-group-toggle")&&(s.collapsed?this.getData().expandGroup(s.groupingKey):this.getData().collapseGroup(s.groupingKey),t.stopImmediatePropagation(),t.preventDefault(),this.invalidate(),this.render())}class d extends c.Model{constructor(t){super(t)}static init_GroupingInfo(){this.define((({Boolean:t,String:e,Array:s,Ref:o})=>({getter:[e,""],aggregators:[s(o(g.RowAggregator)),[]],collapsed:[t,!1]})))}get comparer(){return(t,e)=>t.value===e.value?0:t.value>e.value?1:-1}}s.GroupingInfo=d,d.__name__="GroupingInfo",d.init_GroupingInfo();class f extends l.TableDataProvider{constructor(t,e,s,o){super(t,e),this.columns=s,this.groupingInfos=[],this.groupingDelimiter=":|:",this.target=o}setGrouping(t){this.groupingInfos=t,this.toggledGroupsByLevel=t.map((()=>({}))),this.refresh()}extractGroups(t,e){const s=[],o=new Map,r=e?e.level+1:0,{comparer:i,getter:n}=this.groupingInfos[r];return t.forEach((t=>{const i=this.source.data[n][t];let l=o.get(i);if(!l){const t=e?`${e.groupingKey}${this.groupingDelimiter}${i}`:`${i}`;l=Object.assign(new a.Group,{value:i,level:r,groupingKey:t}),s.push(l),o.set(i,l)}l.rows.push(t)})),r<this.groupingInfos.length-1&&s.forEach((t=>{t.groups=this.extractGroups(t.rows,t)})),s.sort(i),s}calculateTotals(t,e){const s={avg:{},max:{},min:{},sum:{}},{source:{data:o}}=this,r=Object.keys(o),i=t.rows.map((t=>r.reduce(((e,s)=>Object.assign(Object.assign({},e),{[s]:o[s][t]})),{})));return e.forEach((t=>{t.init(),i.forEach((e=>t.accumulate(e))),t.storeResult(s)})),s}addTotals(t,e=0){const{aggregators:s,collapsed:o}=this.groupingInfos[e],r=this.toggledGroupsByLevel[e];t.forEach((t=>{t.groups&&this.addTotals(t.groups,e+1),s.length&&t.rows.length&&(t.totals=this.calculateTotals(t,s)),t.collapsed=o!==r[t.groupingKey],t.title=t.value?`${t.value}`:""}))}flattenedGroupedRows(t,e=0){const s=[];return t.forEach((t=>{if(s.push(t),!t.collapsed){const o=t.groups?this.flattenedGroupedRows(t.groups,e+1):t.rows;s.push(…o)}})),s}refresh(){const t=this.extractGroups([…this.view.indices]),e=this.source.data[this.columns[0].field];t.length&&(this.addTotals(t),this.rows=this.flattenedGroupedRows(t),this.target.data={row_indices:this.rows.map((t=>t instanceof a.Group?t.rows:t)),labels:this.rows.map((t=>t instanceof a.Group?t.title:e[t]))})}getLength(){return this.rows.length}getItem(t){const e=this.rows[t],{source:{data:s}}=this;return e instanceof a.Group?e:Object.keys(s).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:s[o][e]})),{[n.DTINDEX_NAME]:e})}getItemMetadata(t){const e=this.rows[t],s=this.columns.slice(1),o=e instanceof a.Group?this.groupingInfos[e.level].aggregators:[];return e instanceof a.Group?{selectable:!1,focusable:!1,cssClasses:"slick-group",columns:[{formatter:p},…s.map((function(t){const{field:e,formatter:s}=t,r=o.find((({field_:t})=>t===e));if(r){const{key:t}=r;return{formatter:(o,r,i,a,n)=>s?s(o,r,n.totals[t][e],a,n):""}}return{}}))]}:{}}collapseGroup(t){const e=t.split(this.groupingDelimiter).length-1;this.toggledGroupsByLevel[e][t]=!this.groupingInfos[e].collapsed,this.refresh()}expandGroup(t){const e=t.split(this.groupingDelimiter).length-1;this.toggledGroupsByLevel[e][t]=this.groupingInfos[e].collapsed,this.refresh()}}s.DataCubeProvider=f,f.__name__="DataCubeProvider";class m extends l.DataTableView{render(){const t={enableCellNavigation:!1!==this.model.selectable,enableColumnReorder:!1,autosizeColsMode:this.autosize,multiColumnSort:!1,editable:this.model.editable,autoEdit:this.model.auto_edit,rowHeight:this.model.row_height},e=this.model.columns.map((t=>t.toColumn()));var s,o;e[0].formatter=(s=e[0].formatter,o=this.model.grouping.length,(t,e,r,a,n)=>{const l=i.span({class:"slick-group-toggle",style:{"margin-left":15*(null!=o?o:0)+"px"}}),u=s?s(t,e,r,a,n):`${r}`;return`${l.outerHTML}${u&&u.replace(/^<div/,"<span").replace(/div>$/,"span>")}`}),delete e[0].editor,this.data=new f(this.model.source,this.model.view,e,this.model.target),this.data.setGrouping(this.model.grouping),this.el.style.width=`${this.model.width}px`,this.grid=new a.Grid(this.el,this.data,e,t),this.grid.onClick.subscribe(h)}}s.DataCubeView=m,m.__name__="DataCubeView";class w extends l.DataTable{constructor(t){super(t)}static init_DataCube(){this.prototype.default_view=m,this.define((({Array:t,Ref:e})=>({grouping:[t(e(d)),[]],target:[e(u.ColumnDataSource)]})))}}s.DataCube=w,w.__name__="DataCube",w.init_DataCube()},n”, “ }, 464, {"models/widgets/tables/main":464,"models/widgets/tables/index":465,"models/widgets/tables/cell_editors":466,"models/widgets/tables/definitions":467,"styles/widgets/tables.css":468,"models/widgets/tables/cell_formatters":469,"models/widgets/tables/data_table":472,"models/widgets/widget":488,"models/widgets/tables/table_widget":489,"models/widgets/tables/table_column":490,"styles/widgets/slickgrid.css":491,"models/widgets/tables/row_aggregators":492,"models/widgets/tables/data_cube":493}, {});});n”, “n”, “ / END bokeh-tables.min.js /n”, “ },n”, “ n”, “ function(Bokeh) {n”, “ Bokeh.set_log_level("info");n”, “ },n”, “ n”, “ function(Bokeh) {n”, “ / BEGIN panel.min.js /n”, “ /!n”, “ * Copyright (c) 2012 - 2021, Anaconda, Inc., and Bokeh Contributorsn”, “ * 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 documentationn”, “ * and/or other materials provided with the distribution.n”, “ * n”, “ * Neither the name of Anaconda nor the names of any contributorsn”, “ * may be used to endorse or promote products derived from this softwaren”, “ * 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, THEn”, “ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSEn”, “ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BEn”, “ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, ORn”, “ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OFn”, “ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSn”, “ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER INn”, “ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)n”, “ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OFn”, “ * THE POSSIBILITY OF SUCH DAMAGE.n”, “ /n”, “ (function(root, factory) {n”, “ factory(root["Bokeh"], undefined);n”, “ })(this, function(Bokeh, version) {n”, “ var 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”, “ "4e90918c0a": function _(e,s,t,o,i){o();const n=e("tslib").__importStar(e("480618c798"));t.Panel=n;e("@bokehjs/base").register_models(n)},n”, “ "480618c798": function _(e,a,t,o,c){o();const d=e("tslib");c("AcePlot",e("c2edc6955b").AcePlot),c("Audio",e("339f84d639").Audio),c("Card",e("b85e13a3ba").Card),c("CommManager",e("e552778259").CommManager),c("DataTabulator",e("99baa24a1a").DataTabulator),c("DeckGLPlot",e("df2378664f").DeckGLPlot),c("ECharts",e("9d046c4720").ECharts),c("HTML",e("ed08037ce5").HTML),c("IDOM",e("7d45bd3bc4").IDOM),c("IPyWidget",e("0eae77d68f").IPyWidget),c("JSON",e("5284fdbb37").JSON),c("FileDownload",e("1767172ffa").FileDownload),c("KaTeX",e("7b859fb3cf").KaTeX),c("Location",e("642aa56b24").Location),c("MathJax",e("0c21036737").MathJax),c("Perspective",e("545156b57b").Perspective),c("Player",e("ed9bae6d87").Player),c("PlotlyPlot",e("47b5ae5c43").PlotlyPlot),c("Progress",e("9f787650b9").Progress),c("SingleSelect",e("3b85956787").SingleSelect),c("SpeechToText",e("aaa48703af").SpeechToText),c("State",e("bfa46a5f19").State),c("TextToSpeech",e("33cd2c254e").TextToSpeech),c("TrendIndicator",e("2efaffc12a").TrendIndicator),c("VegaPlot",e("4feb5fa522").VegaPlot),c("Video",e("ffe54b53c3").Video),c("VideoStream",e("9ff7f7b5e9").VideoStream),d.__exportStar(e("c51f25e2a7"),t)},n”, “ "c2edc6955b": function _(e,t,i,o,s){o();const n=e("@bokehjs/models/layouts/html_box"),a=e("@bokehjs/core/dom"),d=e("7116a7a602");class h extends d.PanelHTMLBoxView{initialize(){super.initialize(),this._ace=window.ace,this._container=a.div({id:"_"+Math.random().toString(36).substr(2,9),style:{width:"100%",height:"100%"}})}connect_signals(){super.connect_signals(),this.connect(this.model.properties.code.change,(()=>this._update_code_from_model())),this.connect(this.model.properties.theme.change,(()=>this._update_theme())),this.connect(this.model.properties.language.change,(()=>this._update_language())),this.connect(this.model.properties.filename.change,(()=>this._update_filename())),this.connect(this.model.properties.print_margin.change,(()=>this._update_print_margin())),this.connect(this.model.properties.annotations.change,(()=>this._add_annotations())),this.connect(this.model.properties.readonly.change,(()=>{this._editor.setReadOnly(this.model.readonly)}))}render(){super.render(),this._container!==this.el.childNodes[0]&&this.el.appendChild(this._container),this._container.textContent=this.model.code,this._editor=this._ace.edit(this._container.id),this._langTools=this._ace.require("ace/ext/language_tools"),this._modelist=this._ace.require("ace/ext/modelist"),this._editor.setOptions({enableBasicAutocompletion:!0,enableSnippets:!0,fontFamily:"monospace"}),this._update_theme(),this._update_filename(),this._update_language(),this._editor.setReadOnly(this.model.readonly),this._editor.setShowPrintMargin(this.model.print_margin),this._editor.on("change",(()=>this._update_code_from_editor()))}_update_code_from_model(){this._editor&&this._editor.getValue()!=this.model.code&&this._editor.setValue(this.model.code)}_update_print_margin(){this._editor.setShowPrintMargin(this.model.print_margin)}_update_code_from_editor(){this._editor.getValue()!=this.model.code&&(this.model.code=this._editor.getValue())}_update_theme(){this._editor.setTheme(`ace/theme/${this.model.theme}`)}_update_filename(){if(this.model.filename){const e=this._modelist.getModeForPath(this.model.filename).mode;this.model.language=e.slice(9)}}_update_language(){null!=this.model.language&&this._editor.session.setMode(`ace/mode/${this.model.language}`)}_add_annotations(){this._editor.session.setAnnotations(this.model.annotations)}after_layout(){super.after_layout(),this._editor.resize()}}i.AcePlotView=h,h.__name__="AcePlotView";class _ extends n.HTMLBox{constructor(e){super(e)}static init_AcePlot(){this.prototype.default_view=h,this.define((({Any:e,Array:t,Boolean:i,String:o})=>({code:[o,""],filename:[o],language:[o],theme:[o,"chrome"],annotations:[t(e),[]],readonly:[i,!1],print_margin:[i,!1]}))),this.override({height:300,width:300})}}i.AcePlot=_,_.__name__="AcePlot",_.__module__="panel.models.ace",_.init_AcePlot()},n”, “ "7116a7a602": function _(e,i,t,s,h){s();const o=e("@bokehjs/core/layout/html"),n=e("@bokehjs/core/layout/types"),_=e("@bokehjs/core/dom"),a=e("@bokehjs/models/widgets/markup"),d=e("@bokehjs/models/layouts/html_box");function l(e,i){let t=null!=i.width?"fixed":"fit",s=null!=i.height?"fixed":"fit";const{sizing_mode:h}=i;if(null!=h)if("fixed"==h)t=s="fixed";else if("stretch_both"==h)t=s="max";else if("stretch_width"==h)t="max";else if("stretch_height"==h)s="max";else switch(h){case"scale_width":t="max",s="min";break;case"scale_height":t="min",s="max";break;case"scale_both":t="max",s="max";break;default:throw new Error("unreachable")}"fixed"==t&&i.width?e.style.width=i.width+"px":"max"==t&&(e.style.width="100%"),"fixed"==s&&i.height?e.style.height=i.height+"px":"max"==s&&(e.style.height="100%")}t.set_size=l;class c extends o.VariadicBox{constructor(e,i,t){super(e),this.el=e,this.sizing_mode=i,this.changed=t,this._cache=new Map,this._cache_count=new Map}_measure(e){const i=[e.width,e.height,this.sizing_mode].toString(),t=this.changed&&"fixed"!=this.sizing_mode&&null!=this.sizing_mode?1:0,s=this._cache.get(i),h=this._cache_count.get(i);if(null!=s&&null!=h&&h>=t)return this._cache_count.set(i,h+1),s;const o=new n.Sizeable(e).bounded_to(this.sizing.size),a=_.sized(this.el,o,(()=>{const e=new n.Sizeable(_.content_size(this.el)),{border:i,padding:t}=_.extents(this.el);return e.grow_by(i).grow_by(t).map(Math.ceil)}));return this._cache.set(i,a),this._cache_count.set(i,0),a}invalidate_cache(){}}t.CachedVariadicBox=c,c.__name__="CachedVariadicBox";class r extends a.MarkupView{_update_layout(){let e=void 0!==this._prev_sizing_mode&&this._prev_sizing_mode!==this.model.sizing_mode;this._prev_sizing_mode=this.model.sizing_mode,this.layout=new c(this.el,this.model.sizing_mode,e),this.layout.set_sizing(this.box_sizing())}render(){super.render(),l(this.markup_el,this.model)}}t.PanelMarkupView=r,r.__name__="PanelMarkupView";class m extends d.HTMLBoxView{_update_layout(){let e=void 0!==this._prev_sizing_mode&&this._prev_sizing_mode!==this.model.sizing_mode;this._prev_sizing_mode=this.model.sizing_mode,this.layout=new c(this.el,this.model.sizing_mode,e),this.layout.set_sizing(this.box_sizing())}render(){super.render(),l(this.el,this.model)}}t.PanelHTMLBoxView=m,m.__name__="PanelHTMLBoxView"},n”, “ "339f84d639": function _(e,t,i,o,s){o();const l=e("@bokehjs/models/layouts/html_box"),d=e("7116a7a602");class u extends d.PanelHTMLBoxView{initialize(){super.initialize(),this._blocked=!1,this._setting=!1,this._time=Date.now()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.loop.change,(()=>this.set_loop())),this.connect(this.model.properties.paused.change,(()=>this.set_paused())),this.connect(this.model.properties.time.change,(()=>this.set_time())),this.connect(this.model.properties.value.change,(()=>this.set_value())),this.connect(this.model.properties.volume.change,(()=>this.set_volume()))}render(){super.render(),this.audioEl=document.createElement("audio"),this.audioEl.controls=!0,this.audioEl.src=this.model.value,this.audioEl.currentTime=this.model.time,this.audioEl.loop=this.model.loop,null!=this.model.volume?this.audioEl.volume=this.model.volume/100:this.model.volume=100*this.audioEl.volume,this.audioEl.onpause=()=>this.model.paused=!0,this.audioEl.onplay=()=>this.model.paused=!1,this.audioEl.ontimeupdate=()=>this.update_time(this),this.audioEl.onvolumechange=()=>this.update_volume(this),this.el.appendChild(this.audioEl),this.model.paused||this.audioEl.play()}update_time(e){e._setting?e._setting=!1:Date.now()-e._time<e.model.throttle||(e._blocked=!0,e.model.time=e.audioEl.currentTime,e._time=Date.now())}update_volume(e){e._setting?e._setting=!1:(e._blocked=!0,e.model.volume=100*e.audioEl.volume)}set_loop(){this.audioEl.loop=this.model.loop}set_paused(){!this.audioEl.paused&&this.model.paused&&this.audioEl.pause(),this.audioEl.paused&&!this.model.paused&&this.audioEl.play()}set_volume(){this._blocked?this._blocked=!1:(this._setting=!0,null!=this.model.volume&&(this.audioEl.volume=this.model.volume/100))}set_time(){this._blocked?this._blocked=!1:(this._setting=!0,this.audioEl.currentTime=this.model.time)}set_value(){this.audioEl.src=this.model.value}}i.AudioView=u,u.__name__="AudioView";class h extends l.HTMLBox{constructor(e){super(e)}static init_Audio(){this.prototype.default_view=u,this.define((({Any:e,Boolean:t,Int:i,Number:o})=>({loop:[t,!1],paused:[t,!0],time:[o,0],throttle:[o,250],value:[e,""],volume:[i]})))}}i.Audio=h,h.__name__="Audio",h.__module__="panel.models.widgets",h.init_Audio()},n”, “ "b85e13a3ba": function _(e,s,l,t,o){t();const a=e("tslib"),i=e("@bokehjs/models/layouts/column"),c=a.__importStar(e("@bokehjs/core/dom")),n=e("@bokehjs/core/dom"),d=e("@bokehjs/core/layout/grid"),r=e("@bokehjs/core/util/color");class h extends i.ColumnView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.collapsed.change,(()=>this._collapse()));const{active_header_background:e,header_background:s,header_color:l}=this.model.properties;this.on_change([e,s,l],(()=>this.render()))}_update_layout(){const e=(this.model.collapsed?this.child_views.slice(0,1):this.child_views).map((e=>e.layout));this.layout=new d.Column(e),this.layout.rows=this.model.rows,this.layout.spacing=[this.model.spacing,0],this.layout.set_sizing(this.box_sizing())}render(){n.empty(this.el);const{background:e,button_css_classes:s,header_color:l,header_tag:t,header_css_classes:o}=this.model;this.el.style.backgroundColor=null!=e?r.color2css(e):"",n.classes(this.el).clear().add(…this.css_classes());let a=this.model.header_background;!this.model.collapsed&&this.model.active_header_background&&(a=this.model.active_header_background);const i=this.child_views[0];let d;if(this.model.collapsible){this.button_el=c.createElement("button",{type:"button",class:o}),this.button_el.style.backgroundColor=null!=a?a:"",i.el.style.backgroundColor=null!=a?a:"",this.button_el.appendChild(i.el);const e=c.createElement("p",{class:s});e.innerHTML=this.model.collapsed?"+":"−",this.button_el.appendChild(e),this.button_el.onclick=()=>this._toggle_button(),d=this.button_el}else d=c.createElement(t,{class:o}),d.style.backgroundColor=null!=a?a:"",d.appendChild(i.el);d.style.color=null!=l?l:"",this.el.appendChild(d),i.render();for(const e of this.child_views.slice(1))this.model.collapsed||this.el.appendChild(e.el),e.render()}_toggle_button(){this.model.collapsed=!this.model.collapsed}_collapse(){this.invalidate_render()}_createElement(){return c.createElement(this.model.tag,{class:this.css_classes()})}}l.CardView=h,h.__name__="CardView";class _ extends i.Column{constructor(e){super(e)}static init_Card(){this.prototype.default_view=h,this.define((({Array:e,Boolean:s,Nullable:l,String:t})=>({active_header_background:[l(t),null],button_css_classes:[e(t),[]],collapsed:[s,!0],collapsible:[s,!0],header_background:[l(t),null],header_color:[l(t),null],header_css_classes:[e(t),[]],header_tag:[t,"div"],tag:[t,"div"]})))}}l.Card=_,_.__name__="Card",_.__module__="panel.models.layout",_.init_Card()},n”, “ "e552778259": function _(e,t,n,o,i){o();const s=e("@bokehjs/document"),c=e("@bokehjs/core/view"),_=e("@bokehjs/model"),l=e("@bokehjs/protocol/message"),a=e("@bokehjs/protocol/receiver");class h extends c.View{renderTo(){}}n.CommManagerView=h,h.__name__="CommManagerView";class m extends _.Model{constructor(e){super(e),this._document_listener=e=>this._document_changed(e),this._receiver=new a.Receiver,this._event_buffer=[],this._blocked=!1,this._timeout=Date.now(),null!=window.PyViz&&window.PyViz.comm_manager?(this.ns=window.PyViz,this.ns.comm_manager.register_target(this.plot_id,this.comm_id,(e=>this.msg_handler(e))),this._client_comm=this.ns.comm_manager.get_client_comm(this.plot_id,this.client_comm_id,(e=>this.on_ack(e)))):console.log("Could not find comm manager on window.PyViz, ensure the extension is loaded.")}_doc_attached(){super._doc_attached(),null!=this.document&&this.document.on_change(this._document_listener)}_document_changed(e){e.setter_id!==this.id&&(e instanceof s.ModelChangedEvent&&!(e.attr in e.model.serializable_attributes())||(this._event_buffer.push(e),(!this._blocked||Date.now()>this._timeout)&&(setTimeout((()=>this.process_events()),this.debounce),this._blocked=!0,this._timeout=Date.now()+this.timeout)))}process_events(){if(null==this.document||null==this._client_comm)return;const e=this.document.create_json_patch(this._event_buffer);this._event_buffer=[];const t=l.Message.create("PATCH-DOC",{},e);this._client_comm.send(t)}on_ack(e){const t=e.metadata;this._event_buffer.length?(this._blocked=!0,this._timeout=Date.now()+this.timeout,this.process_events()):this._blocked=!1,"Ready"==t.msg_type&&t.content?console.log("Python callback returned following output:",t.content):"Error"==t.msg_type&&console.log("Python failed with the following traceback:",t.traceback)}msg_handler(e){const t=e.metadata,n=e.buffers,o=e.content.data,i=this.plot_id;if("Ready"==t.msg_type)t.content?console.log("Python callback returned following output:",t.content):"Error"==t.msg_type&&console.log("Python failed with the following traceback:",t.traceback);else if(null!=i){let e=null;if(i in this.ns.plot_index&&null!=this.ns.plot_index[i]?e=this.ns.plot_index[i]:void 0!==window.Bokeh&&i in window.Bokeh.index&&(e=window.Bokeh.index[i]),null==e)return;null!=n&&n.length>0?this._receiver.consume(n[0].buffer):this._receiver.consume(o);const t=this._receiver.message;null!=t&&Object.keys(t.content).length>0&&null!=this.document&&this.document.apply_json_patch(t.content,t.buffers,this.id)}}static init_CommManager(){this.prototype.default_view=h,this.define((({Int:e,String:t})=>({plot_id:[t],comm_id:[t],client_comm_id:[t],timeout:[e,5e3],debounce:[e,50]})))}}n.CommManager=m,m.__name__="CommManager",m.__module__="panel.models.comm_manager",m.init_CommManager()},n”, “ "99baa24a1a": function _(t,e,s,o,i){o();const a=t("@bokehjs/models/layouts/html_box"),l=t("@bokehjs/core/dom"),n=t("@bokehjs/core/kinds"),r=t("@bokehjs/models/sources/column_data_source"),d=t("@bokehjs/models/widgets/tables"),u=t("7e38aee5d7"),h=t("7116a7a602");class c extends h.PanelHTMLBoxView{constructor(){super(…arguments),this._tabulator_cell_updating=!1,this._selection_updating=!1,this._styled_cells=[]}connect_signals(){super.connect_signals();const{configuration:t,layout:e,columns:s,theme:o,theme_url:i,groupby:a}=this.model.properties;this.on_change([t,e,s,a],(()=>this.render_and_resize())),this.on_change([o,i],(()=>this.setCSS())),this.connect(this.model.properties.download.change,(()=>{const t=this.model.filename.endsWith(".json")?"json":"csv";this.tabulator.download(t,this.model.filename)})),this.connect(this.model.properties.hidden_columns.change,(()=>{this.hideColumns()})),this.connect(this.model.properties.page_size.change,(()=>{this.setPageSize()})),this.connect(this.model.properties.page.change,(()=>{this.setPage()})),this.connect(this.model.properties.max_page.change,(()=>{this.setMaxPage()})),this.connect(this.model.properties.frozen_rows.change,(()=>{this.freezeRows()})),this.connect(this.model.properties.styles.change,(()=>{this.updateStyles()})),this.connect(this.model.source.properties.data.change,(()=>{this.setData()})),this.connect(this.model.source.streaming,(()=>this.addData())),this.connect(this.model.source.patching,(()=>this.updateOrAddData())),this.connect(this.model.source.selected.change,(()=>this.updateSelection())),this.connect(this.model.source.selected.properties.indices.change,(()=>this.updateSelection()))}render_and_resize(){this.render(),this.update_layout(),this.compute_layout(),this.root!==this&&this.invalidate_layout()}render(){super.render();if(this.setCSS())return;this._initializing=!0;const t=l.div({class:"pnx-tabulator"});h.set_size(t,this.model);let e=this.getConfiguration();this.tabulator=new Tabulator(t,e),this.tabulator.modules=Object.assign({},this.tabulator.modules);const s=this.tabulator.modules.ajax;this.tabulator.modules.ajax.sendRequest=()=>{this.requestPage(s.params.page,s.params.sorters)},"remote"===this.model.pagination&&(this.tabulator.options.pagination=this.model.pagination,this.tabulator.modules.page.mode="remote"),this.setGroupBy(),this.hideColumns(),this.model.pagination?(this.setMaxPage(),this.tabulator.setPage(this.model.page),this.setData()):this.freezeRows(),this.el.appendChild(t)}requestPage(t,e){return new Promise(((s,o)=>{try{this.model.page=t||1,this.model.sorters=e,s({data:[],last_page:this.model.max_page})}catch(t){o(t)}}))}renderComplete(){this._initializing&&(this.updateStyles(),this.updateSelection()),this._initializing=!1}freezeRows(){for(const t of this.model.frozen_rows)this.tabulator.getRow(t).freeze()}getLayout(){switch(this.model.layout){case"fit_data":return"fitData";case"fit_data_fill":return"fitDataFill";case"fit_data_stretch":return"fitDataStretch";case"fit_data_table":return"fitDataTable";case"fit_columns":return"fitColumns"}}getConfiguration(){let t=Object.assign(Object.assign({},this.model.configuration),{index:"_index",renderComplete:()=>this.renderComplete(),rowSelectionChanged:(t,e)=>this.rowSelectionChanged(t,e),cellEdited:t=>this.cellEdited(t),columns:this.getColumns(),layout:this.getLayout(),ajaxURL:"http://panel.pyviz.org",ajaxSorting:!0,pagination:"remote"==this.model.pagination?"local":this.model.pagination,paginationSize:this.model.page_size,paginationInitialPage:1}),e=this.model.source;return null===e||0===Object.keys(e.data).length?t:(e=u.transform_cds_to_records(e,!0),Object.assign(Object.assign({},t),{data:e}))}getColumns(){var t;const e=null===(t=this.model.configuration)||void 0===t?void 0:t.columns;let s=[];if(null!=e)for(const t of e)if(null!=t.columns){const e=[];for(const s of t.columns)e.push(Object.assign({},s));s.push(Object.assign(Object.assign({},t),{columns:e}))}else s.push(Object.assign({},t));for(const t of this.model.columns){let o=null;if(null!=e)for(const e of s)if(null!=e.columns){for(const s of e.columns)if(t.field===s.field){o=s;break}if(null!=o)break}else if(t.field===e.field){o=e;break}if(null==o&&(o={field:t.field}),null==o.title&&(o.title=t.title),null==o.width&&null!=t.width&&0!=t.width&&(o.width=t.width),null==o.formatter&&null!=t.formatter){const e=t.formatter.type;o.formatter="BooleanFormatter"===e?"tickCross":e=>t.formatter.doFormat(e.getRow(),e,e.getValue(),null,null)}o.editable=()=>this.model.editable;const i=t.editor,a=i.type;null!=o.editor||("StringEditor"===a?i.completions.length>0?(o.editor="autocomplete",o.editorParams={values:i.completions}):o.editor="input":"TextEditor"===a?o.editor="textarea":"IntEditor"===a||"NumberEditor"===a?(o.editor="number",o.editorParams={step:i.step}):"CheckboxEditor"===a?o.editor="tickCross":"SelectEditor"===a?(o.editor="select",o.editorParams={values:i.options}):o.editor=(e,s,o,i)=>this.renderEditor(t,e,s,o,i)),null==e&&s.push(o)}return s}renderEditor(t,e,s,o,i){const a=t.editor,l=new a.default_view({column:t,model:a,parent:this,container:e._cell.element});return l.initialize(),l.connect_signals(),s((()=>{l.setValue(e.getValue())})),l.inputEl.addEventListener("change",(()=>{const t=l.serializeValue(),s=e.getValue(),a=l.validate();a.valid||i(a.msg),null!=s&&typeof t!=typeof s?i("Mismatching type"):o(l.serializeValue())})),l.inputEl}after_layout(){super.after_layout(),null!=this.tabulator&&this.tabulator.redraw(!0),this.updateStyles()}setData(){const t=u.transform_cds_to_records(this.model.source,!0);null!=this.model.pagination?this.tabulator.rowManager.setData(t,!0,!1):this.tabulator.setData(t),this.freezeRows(),this.updateSelection()}setGroupBy(){if(0==this.model.groupby.length)return void this.tabulator.setGroupBy(!1);this.tabulator.setGroupBy((t=>{const e=[];for(const s of this.model.groupby){const o=s+": "+t[s];e.push(o)}return e.join(", ")}))}setCSS(){let t;t="default"==this.model.theme?"tabulator":"tabulator_"+this.model.theme;const e=this.model.theme_url+t+".min.css";let s=null;const o=document.getElementsByTagName("link"),i=this.model.theme_url.indexOf("dist/");for(const t of o)if(t.href.startsWith(this.model.theme_url.slice(0,i))){s=t;break}let a=document.getElementsByTagName("head")[0];if(null!=s){if(s.href==e)return!1;null!=s.parentNode&&(a=s.parentNode)}const l=document.createElement("link");return l.type="text/css",l.rel="stylesheet",l.media="screen",l.href=e,l.onload=()=>{null!=s&&null!=s.parentNode&&(a=s.parentNode,a.removeChild(s)),this.render_and_resize()},a.appendChild(l),!0}updateStyles(){for(const t of this._styled_cells)t.cssText="";if(this._styled_cells=[],null!=this.model.styles&&0!=this.tabulator.getDataCount())for(const t in this.model.styles){const e=this.model.styles[t],s=this.tabulator.getRow(t);if(!s)continue;const o=s._row.cells;for(const t in e){const s=e[t],i=o[t];if(null==i||!s.length)continue;const a=i.element;this._styled_cells.push(a),a.cssText="";for(const t of s){if(!t.includes(":"))continue;const[e,s]=t.split(":");a.style.setProperty(e,s.trimLeft())}}}}addData(){const t=this.tabulator.rowManager.getRows(),e=t[t.length-1];let s=u.transform_cds_to_records(this.model.source,!0);this.tabulator.setData(s),this.model.follow&&this.tabulator.scrollToRow(e.data._index||0,"top",!1),this.freezeRows(),this.updateSelection()}updateOrAddData(){if(this._tabulator_cell_updating)return;let t=u.transform_cds_to_records(this.model.source,!0);this.tabulator.setData(t),this.freezeRows(),this.updateSelection()}hideColumns(){for(const t of this.tabulator.getColumns())this.model.hidden_columns.indexOf(t._column.field)>-1?t.hide():t.show()}setMaxPage(){this.tabulator.setMaxPage(Math.max(this.model.page,this.model.max_page)),this.tabulator.modules.page._setPageButtons()}setPage(){this.tabulator.setPage(this.model.page)}setPageSize(){this.tabulator.setPageSize(this.model.page_size)}updateSelection(){if(null==this.tabulator||this._selection_updating)return;const t=this.model.source.selected.indices;this._selection_updating=!0,this.tabulator.deselectRow(),this.tabulator.selectRow(t),this._selection_updating=!1}rowSelectionChanged(t,e){if(this._selection_updating||this._initializing)return;this._selection_updating=!0;const s=t.map((t=>t._index));this.model.source.selected.indices=s,this._selection_updating=!1}cellEdited(t){const e=t._cell.column.field,s=t._cell.row.data._index,o=t._cell.value;this._tabulator_cell_updating=!0,this.model.source.patch({[e]:[[s,o]]}),this._tabulator_cell_updating=!1}}s.DataTabulatorView=c,c.__name__="DataTabulatorView",s.TableLayout=n.Enum("fit_data","fit_data_fill","fit_data_stretch","fit_data_table","fit_columns");class m extends a.HTMLBox{constructor(t){super(t)}static init_DataTabulator(){this.prototype.default_view=c,this.define((({Any:t,Array:e,Boolean:o,Nullable:i,Number:a,Ref:l,String:n})=>({configuration:[t,{}],columns:[e(l(d.TableColumn)),[]],download:[o,!0],editable:[o,!0],filename:[n,"table.csv"],follow:[o,!0],frozen_rows:[e(a),[]],groupby:[e(n),[]],hidden_columns:[e(n),[]],layout:[s.TableLayout,"fit_data"],max_page:[a,0],pagination:[i(n),null],page:[a,0],page_size:[a,0],source:[l(r.ColumnDataSource)],sorters:[e(t),[]],styles:[t,{}],theme:[n,"simple"],theme_url:[n,"https://unpkg.com/tabulator-tables@4.9.3/dist/css/"]})))}}s.DataTabulator=m,m.__name__="DataTabulator",m.__module__="panel.models.tabulator",m.init_DataTabulator()},n”, “ "7e38aee5d7": function _(n,t,e,l,o){l(),e.transform_cds_to_records=function(n,t=!1){const e=[],l=n.columns(),o=n.get_length();if(0===l.length||null===o)return[];for(let r=0;r<o;r++){const o={};for(const t of l){let e=n.get_array(t);const l=null==e[0].shape?null:e[0].shape;null!=l&&l.length>1&&"number"==typeof l[0]?o[t]=e.slice(r*l[1],r*l[1]+l[1]):o[t]=e[r]}t&&(o._index=r),e.push(o)}return e}},n”, “ "df2378664f": function _(e,t,o,i,a){i();const n=e("tslib"),s=e("@bokehjs/core/dom"),c=e("@bokehjs/models/layouts/html_box"),r=e("@bokehjs/models/sources/column_data_source"),d=e("7e38aee5d7"),l=e("7116a7a602"),_=e("6e04fbe567"),h=n.__importDefault(e("093eb75864"));function p(){const e={},t=window.deck,o=Object.keys(t).filter((e=>e.charAt(0)===e.charAt(0).toUpperCase()));for(const i of o)e[i]=t[i];return e}class u extends l.PanelHTMLBoxView{connect_signals(){super.connect_signals();const{data:e,mapbox_api_key:t,tooltip:o,layers:i,initialViewState:a,data_sources:n}=this.model.properties;this.on_change([t,o],(()=>this.render())),this.on_change([e,a],(()=>this.updateDeck())),this.on_change([i],(()=>this._update_layers())),this.on_change([n],(()=>this._connect_sources(!0))),this._layer_map={},this._connected=[],this._connect_sources()}_update_layers(){this._layer_map={},this._update_data(!0)}_connect_sources(e=!1){for(const e of this.model.data_sources)this._connected.indexOf(e)<0&&(this.connect(e.properties.data.change,(()=>this._update_data(!0))),this._connected.push(e));this._update_data(e)}initialize(){if(super.initialize(),window.deck.JSONConverter){const{CSVLoader:e,Tile3DLoader:t}=window.loaders;window.loaders.registerLoaders([t,e]);const o={classes:p(),enumerations:{COORDINATE_SYSTEM:window.deck.COORDINATE_SYSTEM,GL:h.default},constants:{Tile3DLoader:t}};this.jsonConverter=new window.deck.JSONConverter({configuration:o})}}_update_data(e=!0){let t=0;for(const e of this.model.layers){let o;if(t+=1,t-1 in this._layer_map)o=this.model.data_sources[this._layer_map[t-1]];else{if("number"!=typeof e.data)continue;this._layer_map[t-1]=e.data,o=this.model.data_sources[e.data]}e.data=d.transform_cds_to_records(o)}e&&this.updateDeck()}_on_click_event(e){const t={coordinate:e.coordinate,lngLat:e.lngLat,index:e.index};this.model.clickState=t}_on_hover_event(e){if(null==e.coordinate)return;const t={coordinate:e.coordinate,lngLat:e.lngLat,index:e.index};this.model.hoverState=t}_on_viewState_event(e){this.model.viewState=e.viewState}getData(){return Object.assign(Object.assign({},this.model.data),{layers:this.model.layers,initialViewState:this.model.initialViewState,onViewStateChange:e=>this._on_viewState_event(e),onClick:e=>this._on_click_event(e),onHover:e=>this._on_hover_event(e)})}updateDeck(){if(!this.deckGL)return void this.render();const e=this.getData();if(window.deck.updateDeck)window.deck.updateDeck(e,this.deckGL);else{const t=this.jsonConverter.convert(e);this.deckGL.setProps(t)}}createDeck({mapboxApiKey:e,container:t,jsonInput:o,tooltip:i}){let a;try{const n=this.jsonConverter.convert(o),s=_.makeTooltip(i,n.layers);a=new window.deck.DeckGL(Object.assign(Object.assign({},n),{map:window.mapboxgl,mapboxApiAccessToken:e,container:t,getTooltip:s}))}catch(e){console.error(e)}return a}render(){super.render();const e=s.div({class:"deckgl"});l.set_size(e,this.model);const t=this.model.mapbox_api_key,o=this.model.tooltip,i=this.getData();window.deck.createDeck?this.deckGL=window.deck.createDeck({mapboxApiKey:t,container:e,jsonInput:i,tooltip:o}):this.deckGL=this.createDeck({mapboxApiKey:t,container:e,jsonInput:i,tooltip:o}),this.el.appendChild(e)}}o.DeckGLPlotView=u,u.__name__="DeckGLPlotView";class k extends c.HTMLBox{constructor(e){super(e)}static init_DeckGLPlot(){this.prototype.default_view=u,this.define((({Any:e,Array:t,String:o,Ref:i})=>({data:[e],data_sources:[t(i(r.ColumnDataSource)),[]],clickState:[e,{}],hoverState:[e,{}],initialViewState:[e,{}],layers:[t(e),[]],mapbox_api_key:[o,""],tooltip:[e,{}],viewState:[e,{}]}))),this.override({height:400,width:600})}}o.DeckGLPlot=k,k.__name__="DeckGLPlot",k.__module__="panel.models.deckgl",k.init_DeckGLPlot()},n”, “ "6e04fbe567": function _(t,e,n,i,l){n”, “ /n”, “ This file was adapted from https://github.com/uber/deck.gl/ the LICENSEn”, “ below is preserved to comply with the original license.n”, “ n”, “ Copyright (c) 2015 - 2017 Uber Technologies, Inc.n”, “ n”, “ Permission is hereby granted, free of charge, to any person obtaining a copyn”, “ of this software and associated documentation files (the "Software"), to dealn”, “ in the Software without restriction, including without limitation the rightsn”, “ to use, copy, modify, merge, publish, distribute, sublicense, and/or selln”, “ copies of the Software, and to permit persons to whom the Software isn”, “ furnished to do so, subject to the following conditions:n”, “ n”, “ The above copyright notice and this permission notice shall be included inn”, “ all copies or substantial portions of the Software.n”, “ n”, “ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORn”, “ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,n”, “ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEn”, “ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERn”, “ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,n”, “ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INn”, “ THE SOFTWARE.n”, “ /n”, “ let o,r;i();const c={fontFamily:’"Helvetica Neue", Helvetica, Arial, sans-serif’,display:"flex",flex:"wrap",maxWidth:"500px",flexDirection:"column",zIndex:2};function s(){return document.createElement("div")}function a(t){if(!t.picked)return null;if(t.object===o)return r;const e={html:u(t.object),style:c};return r=e,o=t.object,e}n.getTooltipDefault=a;const f=new Set(["position","index"]);function u(t){const e=s();for(const n in t){if(f.has(n))continue;const i=s();i.className="header",i.textContent=n;const l=s();l.className="value",l.textContent=h(t[n]);const o=s();p(o,i,l),o.appendChild(i),o.appendChild(l),e.appendChild(o)}return e.innerHTML}function p(t,e,n){Object.assign(e.style,{fontWeight:700,marginRight:"10px",flex:"1 1 0%"}),Object.assign(n.style,{flex:"none",maxWidth:"250px",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}),Object.assign(t.style,{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"stretch"})}function h(t){let e;if(Array.isArray(t)&&t.length>4)e=`Array<${t.length}>`;else if("string"==typeof t)e=t;else if("number"==typeof t)e=String(t);else try{e=JSON.stringify(t)}catch(t){e="<Non-Serializable Object>"}return e.length>50&&(e=e.slice(0,50)),e}function d(t,e){let n=t;for(const t in e){if("object"==typeof e[t])for(const i in e[t])n=n.replace(`{${t}.${i}}`,e[t][i]);n=n.replace(`{${t}}`,e[t])}return n}n.tabularize=u,n.toText=h,n.substituteIn=d,n.makeTooltip=function(t,e){if(!t)return null;let n=!1;const i={};for(let l=0;l<e.length;l++){const o=e[l].id;"boolean"!=typeof t&&(l.toString()in t||o in t)&&(i[o]=o in t?t[o]:t[l.toString()],n=!0)}return t.html||t.text||n?e=>{if(!e.picked)return null;const l=n?i[e.layer.id]:t;if(null==l)return;if("boolean"==typeof l)return l?a(e):null;const o={style:l.style||c};return l.html?o.html=d(l.html,e.object):o.text=d(l.text,e.object),o}:a}},n”, “ "093eb75864": function _(E,_,R,T,A){_.exports={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,FUNC_ADD:32774,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,BLEND_COLOR:32773,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,VENDOR:7936,RENDERER:7937,VERSION:7938,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,BROWSER_DEFAULT_WEBGL:37444,STATIC_DRAW:35044,STREAM_DRAW:35040,DYNAMIC_DRAW:35048,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,CULL_FACE:2884,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,BLEND:3042,DEPTH_TEST:2929,DITHER:3024,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,SCISSOR_TEST:3089,STENCIL_TEST:2960,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CONTEXT_LOST_WEBGL:37442,CW:2304,CCW:2305,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,COMPILE_STATUS:35713,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_ATTRIBUTES:35721,ACTIVE_UNIFORMS:35718,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,ALWAYS:519,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,GEQUAL:518,NOTEQUAL:517,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,TEXTURE_WIDTH:4096,TEXTURE_HEIGHT:4097,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,MAX_3D_TEXTURE_SIZE:32883,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,MAX_TEXTURE_LOD_BIAS:34045,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,RASTERIZER_DISCARD:35977,VERTEX_ARRAY_BINDING:34229,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,MAX_ELEMENT_INDEX:36203,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,RGB9_E5:35901,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2UI:36975,TEXTURE_IMMUTABLE_FORMAT:37167,TEXTURE_IMMUTABLE_LEVELS:33503,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,UNSIGNED_INT_24_8:34042,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,INT_2_10_10_10_REV:36255,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,MAX_SAMPLES:36183,SAMPLER_BINDING:35097,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,UNSIGNED_NORMALIZED:35863,SIGNED_NORMALIZED:36764,VERTEX_ATTRIB_ARRAY_INTEGER:35069,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,DEPTH24_STENCIL8:35056,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,COLOR:6144,DEPTH:6145,STENCIL:6146,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,INVALID_INDEX:4294967295,TIMEOUT_IGNORED:-1,MAX_CLIENT_WAIT_TIMEOUT_WEBGL:37447,VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE:35070,UNMASKED_VENDOR_WEBGL:37445,UNMASKED_RENDERER_WEBGL:37446,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047,TEXTURE_MAX_ANISOTROPY_EXT:34046,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35986,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,UNSIGNED_INT_24_8_WEBGL:34042,HALF_FLOAT_OES:36193,RGBA32F_EXT:34836,RGB32F_EXT:34837,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT:33297,UNSIGNED_NORMALIZED_EXT:35863,MIN_EXT:32775,MAX_EXT:32776,SRGB_EXT:35904,SRGB_ALPHA_EXT:35906,SRGB8_ALPHA8_EXT:35907,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT:33296,FRAGMENT_SHADER_DERIVATIVE_HINT_OES:35723,COLOR_ATTACHMENT0_WEBGL:36064,COLOR_ATTACHMENT1_WEBGL:36065,COLOR_ATTACHMENT2_WEBGL:36066,COLOR_ATTACHMENT3_WEBGL:36067,COLOR_ATTACHMENT4_WEBGL:36068,COLOR_ATTACHMENT5_WEBGL:36069,COLOR_ATTACHMENT6_WEBGL:36070,COLOR_ATTACHMENT7_WEBGL:36071,COLOR_ATTACHMENT8_WEBGL:36072,COLOR_ATTACHMENT9_WEBGL:36073,COLOR_ATTACHMENT10_WEBGL:36074,COLOR_ATTACHMENT11_WEBGL:36075,COLOR_ATTACHMENT12_WEBGL:36076,COLOR_ATTACHMENT13_WEBGL:36077,COLOR_ATTACHMENT14_WEBGL:36078,COLOR_ATTACHMENT15_WEBGL:36079,DRAW_BUFFER0_WEBGL:34853,DRAW_BUFFER1_WEBGL:34854,DRAW_BUFFER2_WEBGL:34855,DRAW_BUFFER3_WEBGL:34856,DRAW_BUFFER4_WEBGL:34857,DRAW_BUFFER5_WEBGL:34858,DRAW_BUFFER6_WEBGL:34859,DRAW_BUFFER7_WEBGL:34860,DRAW_BUFFER8_WEBGL:34861,DRAW_BUFFER9_WEBGL:34862,DRAW_BUFFER10_WEBGL:34863,DRAW_BUFFER11_WEBGL:34864,DRAW_BUFFER12_WEBGL:34865,DRAW_BUFFER13_WEBGL:34866,DRAW_BUFFER14_WEBGL:34867,DRAW_BUFFER15_WEBGL:34868,MAX_COLOR_ATTACHMENTS_WEBGL:36063,MAX_DRAW_BUFFERS_WEBGL:34852,VERTEX_ARRAY_BINDING_OES:34229,QUERY_COUNTER_BITS_EXT:34916,CURRENT_QUERY_EXT:34917,QUERY_RESULT_EXT:34918,QUERY_RESULT_AVAILABLE_EXT:34919,TIME_ELAPSED_EXT:35007,TIMESTAMP_EXT:36392,GPU_DISJOINT_EXT:36795}},n”, “ "9d046c4720": function _(t,e,s,h,i){h();const r=t("@bokehjs/models/layouts/html_box");class n extends r.HTMLBoxView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.data.change,(()=>this._plot()));const{width:t,height:e,renderer:s,theme:h}=this.model.properties;this.on_change([t,e],(()=>this._resize())),this.on_change([h,s],(()=>this.render()))}render(){super.render();const t={width:this.model.width,height:this.model.height,renderer:this.model.renderer};null!=this._chart&&window.echarts.dispose(this._chart),this._chart=window.echarts.init(this.el,this.model.theme,t),this._plot()}after_layout(){super.after_layout(),this._chart.resize()}_plot(){null!=window.echarts&&this._chart.setOption(this.model.data)}_resize(){this._chart.resize({width:this.model.width,height:this.model.height})}}s.EChartsView=n,n.__name__="EChartsView";class a extends r.HTMLBox{constructor(t){super(t)}static init_ECharts(){this.prototype.default_view=n,this.define((({Any:t,String:e})=>({data:[t,{}],theme:[e,"default"],renderer:[e,"canvas"]})))}}s.ECharts=a,a.__name__="ECharts",a.__module__="panel.models.echarts",a.init_ECharts()},n”, “ "ed08037ce5": function _(e,t,r,n,a){n();const o=e("@bokehjs/models/widgets/markup"),s=e("7116a7a602");function i(e){return(new DOMParser).parseFromString(e,"text/html").documentElement.textContent}r.htmlDecode=i;class l extends s.PanelMarkupView{render(){super.render();const e=i(this.model.text)||this.model.text;e?(this.markup_el.innerHTML=e,Array.from(this.markup_el.querySelectorAll("script")).forEach((e=>{const t=document.createElement("script");Array.from(e.attributes).forEach((e=>t.setAttribute(e.name,e.value))),t.appendChild(document.createTextNode(e.innerHTML)),e.parentNode&&e.parentNode.replaceChild(t,e)}))):this.markup_el.innerHTML=""}}r.HTMLView=l,l.__name__="HTMLView";class m extends o.Markup{constructor(e){super(e)}static init_HTML(){this.prototype.default_view=l}}r.HTML=m,m.__name__="HTML",m.__module__="panel.models.markup",m.init_HTML()},n”, “ "7d45bd3bc4": function _(require,module,exports,__esModule,__esExport){__esModule();const preact_1=require("6f11f2ef27"),hooks_1=require("4c02a9b43f"),preact_2=require("b3f51db71c"),fast_json_patch_1=require("cbecfde9cd"),html_box_1=require("@bokehjs/models/layouts/html_box"),layout_1=require("7116a7a602"),event_to_object_1=require("3329d4aa5b"),LayoutConfigContext=preact_1.createContext({});function mountLayout(e,t,o,n){preact_1.render(preact_2.html`n”, “ <${Layout}n”, “ saveUpdateHook=${t}n”, “ sendEvent=${o}n”, “ importSourceUrl=${n}n”, “ />n”, “ `,e)}function Layout({saveUpdateHook:e,sendEvent:t,importSourceUrl:o}){const[n,r]=useInplaceJsonPatch({});return hooks_1.useEffect((()=>e(r)),[r]),n.tagName?preact_2.html`n”, “ <${LayoutConfigContext.Provider}n”, “ value=${{sendEvent:t,importSourceUrl:o}}n”, “ >n”, “ <${Element} model=${n} />n”, “ <//>n”, “ `:preact_2.html`<div />`}function Element({model:e}){return e.importSource?preact_2.html`<${ImportedElement} model=${e} />`:preact_2.html`<${StandardElement} model=${e} />`}function ImportedElement({model:e}){const t=hooks_1.useContext(LayoutConfigContext),o=useLazyModule(e.importSource.source,t.importSourceUrl);if(o){const n=getPathProperty(o,e.tagName),r=elementChildren(e),a=elementAttributes(e,t.sendEvent);return preact_2.html`<${n} …${a}>${r}<//>`}{const t=e.importSource.fallback;if(!t)return preact_2.html`<div />`;switch(typeof t){case"object":return preact_2.html`<${Element} model=${t} />`;case"string":return preact_2.html`<div>${t}</div>`;default:return null}}}function StandardElement({model:e}){const t=hooks_1.useContext(LayoutConfigContext),o=elementChildren(e),n=elementAttributes(e,t.sendEvent);return e.children&&e.children.length?preact_2.html`<${e.tagName} …${n}>${o}<//>`:preact_2.html`<${e.tagName} …${n} />`}function elementChildren(e){return e.children?e.children.map((e=>{switch(typeof e){case"object":return preact_2.html`<${Element} model=${e} />`;case"string":return e;default:return null}})):[]}function elementAttributes(e,t){const o=Object.assign({},e.attributes);return e.eventHandlers&&Object.keys(e.eventHandlers).forEach((n=>{const r=e.eventHandlers[n];o[n]=eventHandler(t,r)})),o}function eventHandler(e,t){return function(){const o=Array.from(arguments).map((e=>"object"==typeof e?(t.preventDefault&&e.preventDefault(),t.stopPropagation&&e.stopPropagation(),event_to_object_1.serializeEvent(e)):e));return new Promise((n=>{const r={data:o,target:t.target};e(r),n(r)}))}}function useLazyModule(source,sourceUrlBase=""){const[module,setModule]=hooks_1.useState(null);return module||eval(`import(‘${joinUrl(sourceUrlBase,source)}’)`).then(setModule),module}function getPathProperty(e,t){const o=t.split(".");let n=e[o.shift()];for(let e=0;e<o.length;e++)n=n[o[e]];return n}function useInplaceJsonPatch(e){const t=hooks_1.useRef(e),o=useForceUpdate(),n=hooks_1.useCallback(((e,n)=>{applyPatchInplace(t.current,e,n),o()}),[t,o]);return[t.current,n]}function applyPatchInplace(e,t,o){t?fast_json_patch_1.applyPatch(e,[{op:"replace",path:t,value:fast_json_patch_1.applyPatch(fast_json_patch_1.getValueByPointer(e,t),o,!1,!1).newDocument}]):fast_json_patch_1.applyPatch(e,o)}function useForceUpdate(){const[,e]=hooks_1.useState({});return hooks_1.useCallback((()=>e({})),[])}function joinUrl(e,t){return t.startsWith("./")?(e.endsWith("/")?e.slice(0,-1):e)+t.slice(1):t}exports.mountLayout=mountLayout,exports.default=Layout;class IDOMView extends layout_1.PanelHTMLBoxView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.event.change,(()=>{this._update(…this.model.event),setTimeout((()=>{requestAnimationFrame((()=>this.fix_layout()))}))}))}fix_layout(){this.update_layout(),this.compute_layout(),this.invalidate_layout(),layout_1.set_size(this.el,this.model)}initialize(){super.initialize(),mountLayout(this.el,(e=>this._save_update(e)),(e=>this._send(e)),this.model.importSourceUrl)}async lazy_initialize(){await super.lazy_initialize(),await new Promise((e=>{const t=()=>{this._update?e(null):setTimeout(t,100)};t()}))}_save_update(e){this._update=e}async render(){super.render(),this._update(…this.model.event),await new Promise((e=>{const t=()=>{this.el.children.length?(this.fix_layout(),e(null)):setTimeout(t,50)};t()}))}_send(e){this.model.msg=e}}exports.IDOMView=IDOMView,IDOMView.__name__="IDOMView";class IDOM extends html_box_1.HTMLBox{constructor(e){super(e)}static init_IDOM(){this.prototype.default_view=IDOMView,this.define((({Any:e,String:t})=>({event:[e,[]],importSourceUrl:[t,""],msg:[e,{}]})))}}exports.IDOM=IDOM,IDOM.__name__="IDOM",IDOM.__module__="panel.models.idom",IDOM.init_IDOM()},n”, “ "6f11f2ef27": function _(e,n,t,_,l){_();var o,r,i,u,s,c,f={},p=[],a=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function d(e,n){for(var t in n)e[t]=n[t];return e}function h(e){var n=e.parentNode;n&&n.removeChild(e)}function v(e,n,t){var _,l,o,r=arguments,i={};for(o in n)"key"==o?_=n[o]:"ref"==o?l=n[o]:i[o]=n[o];if(arguments.length>3)for(t=[t],o=3;o<arguments.length;o++)t.push(r[o]);if(null!=t&&(i.children=t),"function"==typeof e&&null!=e.defaultProps)for(o in e.defaultProps)void 0===i[o]&&(i[o]=e.defaultProps[o]);return y(e,i,_,l,null)}function y(e,n,t,_,l){var r={type:e,props:n,key:t,ref:_,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==l?++o.__v:l};return null!=o.vnode&&o.vnode(r),r}function m(e){return e.children}function k(e,n){this.props=e,this.context=n}function g(e,n){if(null==n)return e.__?g(e.__,e.__.__k.indexOf(e)+1):null;for(var t;n<e.__k.length;n++)if(null!=(t=e.__k[n])&&null!=t.__e)return t.__e;return"function"==typeof e.type?g(e):null}function b(e){var n,t;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,n=0;n<e.__k.length;n++)if(null!=(t=e.__k[n])&&null!=t.__e){e.__e=e.__c.base=t.__e;break}return b(e)}}function C(e){(!e.__d&&(e.__d=!0)&&i.push(e)&&!x.__r++||s!==o.debounceRendering)&&((s=o.debounceRendering)||u)(x)}function x(){for(var e;x.__r=i.length;)e=i.sort((function(e,n){return e.__v.__b-n.__v.__b})),i=[],e.some((function(e){var n,t,_,l,o,r;e.__d&&(o=(l=(n=e).__v).__e,(r=n.__P)&&(t=[],(_=d({},l)).__v=l.__v+1,A(r,l,_,n.__n,void 0!==r.ownerSVGElement,null!=l.__h?[o]:null,t,null==o?g(l):o,l.__h),N(t,l),l.__e!=o&&b(l)))}))}function P(e,n,t,_,l,o,r,i,u,s){var c,a,d,h,v,k,b,C=_&&_.__k||p,x=C.length;for(t.__k=[],c=0;c<n.length;c++)if(null!=(h=t.__k[c]=null==(h=n[c])||"boolean"==typeof h?null:"string"==typeof h||"number"==typeof h?y(null,h,null,null,h):Array.isArray(h)?y(m,{children:h},null,null,null):h.__b>0?y(h.type,h.props,h.key,null,h.__v):h)){if(h.__=t,h.__b=t.__b+1,null===(d=C[c])||d&&h.key==d.key&&h.type===d.type)C[c]=void 0;else for(a=0;a<x;a++){if((d=C[a])&&h.key==d.key&&h.type===d.type){C[a]=void 0;break}d=null}A(e,h,d=d||f,l,o,r,i,u,s),v=h.__e,(a=h.ref)&&d.ref!=a&&(b||(b=[]),d.ref&&b.push(d.ref,null,h),b.push(a,h.__c||v,h)),null!=v?(null==k&&(k=v),"function"==typeof h.type&&null!=h.__k&&h.__k===d.__k?h.__d=u=S(h,u,e):u=E(e,h,d,C,v,u),s||"option"!==t.type?"function"==typeof t.type&&(t.__d=u):e.value=""):u&&d.__e==u&&u.parentNode!=e&&(u=g(d))}for(t.__e=k,c=x;c–;)null!=C[c]&&("function"==typeof t.type&&null!=C[c].__e&&C[c].__e==t.__d&&(t.__d=g(_,c+1)),M(C[c],C[c]));if(b)for(c=0;c<b.length;c++)L(b[c],b[++c],b[++c])}function S(e,n,t){var _,l;for(_=0;_<e.__k.length;_++)(l=e.__k[_])&&(l.__=e,n="function"==typeof l.type?S(l,n,t):E(t,l,l,e.__k,l.__e,n));return n}function E(e,n,t,_,l,o){var r,i,u;if(void 0!==n.__d)r=n.__d,n.__d=void 0;else if(null==t||l!=o||null==l.parentNode)e:if(null==o||o.parentNode!==e)e.appendChild(l),r=null;else{for(i=o,u=0;(i=i.nextSibling)&&u<_.length;u+=2)if(i==l)break e;e.insertBefore(l,o),r=o}return void 0!==r?r:l.nextSibling}function w(e,n,t){"-"===n[0]?e.setProperty(n,t):e[n]=null==t?"":"number"!=typeof t||a.test(n)?t:t+"px"}function U(e,n,t,_,l){var o;e:if("style"===n)if("string"==typeof t)e.style.cssText=t;else{if("string"==typeof _&&(e.style.cssText=_=""),_)for(n in _)t&&n in t||w(e.style,n,"");if(t)for(n in t)_&&t[n]===_[n]||w(e.style,n,t[n])}else if("o"===n[0]&&"n"===n[1])o=n!==(n=n.replace(/Capture$/,"")),n=n.toLowerCase()in e?n.toLowerCase().slice(2):n.slice(2),e.l||(e.l={}),e.l[n+o]=t,t?_||e.addEventListener(n,o?T:D,o):e.removeEventListener(n,o?T:D,o);else if("dangerouslySetInnerHTML"!==n){if(l)n=n.replace(/xlink[H:h]/,"h").replace(/sName$/,"s");else if("href"!==n&&"list"!==n&&"form"!==n&&"download"!==n&&n in e)try{e[n]=null==t?"":t;break e}catch(e){}"function"==typeof t||(null!=t&&(!1!==t||"a"===n[0]&&"r"===n[1])?e.setAttribute(n,t):e.removeAttribute(n))}}function D(e){this.l[e.type+!1](o.event?o.event(e):e)}function T(e){this.l[e.type+!0](o.event?o.event(e):e)}function A(e,n,t,_,l,r,i,u,s){var c,f,p,a,h,v,y,g,b,C,x,S=n.type;if(void 0!==n.constructor)return null;null!=t.__h&&(s=t.__h,u=n.__e=t.__e,n.__h=null,r=[u]),(c=o.__b)&&c(n);try{e:if("function"==typeof S){if(g=n.props,b=(c=S.contextType)&&_[c.__c],C=c?b?b.props.value:c.__:_,t.__c?y=(f=n.__c=t.__c).__=f.__E:("prototype"in S&&S.prototype.render?n.__c=f=new S(g,C):(n.__c=f=new k(g,C),f.constructor=S,f.render=F),b&&b.sub(f),f.props=g,f.state||(f.state={}),f.context=C,f.__n=_,p=f.__d=!0,f.__h=[]),null==f.__s&&(f.__s=f.state),null!=S.getDerivedStateFromProps&&(f.__s==f.state&&(f.__s=d({},f.__s)),d(f.__s,S.getDerivedStateFromProps(g,f.__s))),a=f.props,h=f.state,p)null==S.getDerivedStateFromProps&&null!=f.componentWillMount&&f.componentWillMount(),null!=f.componentDidMount&&f.__h.push(f.componentDidMount);else{if(null==S.getDerivedStateFromProps&&g!==a&&null!=f.componentWillReceiveProps&&f.componentWillReceiveProps(g,C),!f.__e&&null!=f.shouldComponentUpdate&&!1===f.shouldComponentUpdate(g,f.__s,C)||n.__v===t.__v){f.props=g,f.state=f.__s,n.__v!==t.__v&&(f.__d=!1),f.__v=n,n.__e=t.__e,n.__k=t.__k,f.__h.length&&i.push(f);break e}null!=f.componentWillUpdate&&f.componentWillUpdate(g,f.__s,C),null!=f.componentDidUpdate&&f.__h.push((function(){f.componentDidUpdate(a,h,v)}))}f.context=C,f.props=g,f.state=f.__s,(c=o.__r)&&c(n),f.__d=!1,f.__v=n,f.__P=e,c=f.render(f.props,f.state,f.context),f.state=f.__s,null!=f.getChildContext&&(_=d(d({},_),f.getChildContext())),p||null==f.getSnapshotBeforeUpdate||(v=f.getSnapshotBeforeUpdate(a,h)),x=null!=c&&c.type===m&&null==c.key?c.props.children:c,P(e,Array.isArray(x)?x:[x],n,t,_,l,r,i,u,s),f.base=n.__e,n.__h=null,f.__h.length&&i.push(f),y&&(f.__E=f.__=null),f.__e=!1}else null==r&&n.__v===t.__v?(n.__k=t.__k,n.__e=t.__e):n.__e=W(t.__e,n,t,_,l,r,i,s);(c=o.diffed)&&c(n)}catch(e){n.__v=null,(s||null!=r)&&(n.__e=u,n.__h=!!s,r[r.indexOf(u)]=null),o.__e(e,n,t)}}function N(e,n){o.__c&&o.__c(n,e),e.some((function(n){try{e=n.__h,n.__h=[],e.some((function(e){e.call(n)}))}catch(e){o.__e(e,n.__v)}}))}function W(e,n,t,_,l,o,r,i){var u,s,c,a,d=t.props,v=n.props,y=n.type,m=0;if("svg"===y&&(l=!0),null!=o)for(;m<o.length;m++)if((u=o[m])&&(u===e||(y?u.localName==y:3==u.nodeType))){e=u,o[m]=null;break}if(null==e){if(null===y)return document.createTextNode(v);e=l?document.createElementNS("http://www.w3.org/2000/svg",y):document.createElement(y,v.is&&v),o=null,i=!1}if(null===y)d===v||i&&e.data===v||(e.data=v);else{if(o=o&&p.slice.call(e.childNodes),s=(d=t.props||f).dangerouslySetInnerHTML,c=v.dangerouslySetInnerHTML,!i){if(null!=o)for(d={},a=0;a<e.attributes.length;a++)d[e.attributes[a].name]=e.attributes[a].value;(c||s)&&(c&&(s&&c.__html==s.__html||c.__html===e.innerHTML)||(e.innerHTML=c&&c.__html||""))}if(function(e,n,t,_,l){var o;for(o in t)"children"===o||"key"===o||o in n||U(e,o,null,t[o],_);for(o in n)l&&"function"!=typeof n[o]||"children"===o||"key"===o||"value"===o||"checked"===o||t[o]===n[o]||U(e,o,n[o],t[o],_)}(e,v,d,l,i),c)n.__k=[];else if(m=n.props.children,P(e,Array.isArray(m)?m:[m],n,t,_,l&&"foreignObject"!==y,o,r,e.firstChild,i),null!=o)for(m=o.length;m–;)null!=o[m]&&h(o[m]);i||("value"in v&&void 0!==(m=v.value)&&(m!==e.value||"progress"===y&&!m)&&U(e,"value",m,d.value,!1),"checked"in v&&void 0!==(m=v.checked)&&m!==e.checked&&U(e,"checked",m,d.checked,!1))}return e}function L(e,n,t){try{"function"==typeof e?e(n):e.current=n}catch(e){o.__e(e,t)}}function M(e,n,t){var _,l,r;if(o.unmount&&o.unmount(e),(_=e.ref)&&(_.current&&_.current!==e.__e||L(_,null,n)),t||"function"==typeof e.type||(t=null!=(l=e.__e)),e.__e=e.__d=void 0,null!=(_=e.__c)){if(_.componentWillUnmount)try{_.componentWillUnmount()}catch(e){o.__e(e,n)}_.base=_.__P=null}if(_=e.__k)for(r=0;r<_.length;r++)_[r]&&M(_[r],n,t);null!=l&&h(l)}function F(e,n,t){return this.constructor(e,t)}function H(e,n,t){var _,l,r;o.__&&o.__(e,n),l=(_="function"==typeof t)?null:t&&t.__k||n.__k,r=[],A(n,e=(!_&&t||n).__k=v(m,null,[e]),l||f,f,void 0!==n.ownerSVGElement,!_&&t?[t]:l?null:n.firstChild?p.slice.call(n.childNodes):null,r,!_&&t?t:l?l.__e:n.firstChild,_),N(r,e)}t.options=o,t.isValidElement=r,t.createElement=v,t.h=v,t.createRef=function(){return{current:null}},t.Fragment=m,t.Component=k,t.toChildArray=function e(n,t){return t=t||[],null==n||"boolean"==typeof n||(Array.isArray(n)?n.some((function(n){e(n,t)})):t.push(n)),t},t.render=H,t.hydrate=function e(n,t){H(n,t,e)},t.cloneElement=function(e,n,t){var _,l,o,r=arguments,i=d({},e.props);for(o in n)"key"==o?_=n[o]:"ref"==o?l=n[o]:i[o]=n[o];if(arguments.length>3)for(t=[t],o=3;o<arguments.length;o++)t.push(r[o]);return null!=t&&(i.children=t),y(e.type,i,_||e.key,l||e.ref,null)},t.createContext=function(e,n){var t={__c:n="__cC"+c++,__:e,Consumer:function(e,n){return e.children(n)},Provider:function(e){var t,_;return this.getChildContext||(t=[],(_={})[n]=this,this.getChildContext=function(){return _},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&t.some(C)},this.sub=function(e){t.push(e);var n=e.componentWillUnmount;e.componentWillUnmount=function(){t.splice(t.indexOf(e),1),n&&n.call(e)}}),e.children}};return t.Provider.__=t.Consumer.contextType=t},t.options=o={__e:function(e,n){for(var t,_,l;n=n.__;)if((t=n.__c)&&!t.__)try{if((_=t.constructor)&&null!=_.getDerivedStateFromError&&(t.setState(_.getDerivedStateFromError(e)),l=t.__d),null!=t.componentDidCatch&&(t.componentDidCatch(e),l=t.__d),l)return t.__E=t}catch(n){e=n}throw e},__v:0},t.isValidElement=r=function(e){return null!=e&&void 0===e.constructor},k.prototype.setState=function(e,n){var t;t=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),"function"==typeof e&&(e=e(d({},t),this.props)),e&&d(t,e),null!=e&&this.__v&&(n&&this.__h.push(n),C(this))},k.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),C(this))},k.prototype.render=m,i=[],u="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,x.__r=0,c=0},n”, “ "4c02a9b43f": function _(_,n,t,o,u){o();const e=_("6f11f2ef27");var i,c,r,f=0,a=[],s=e.options.__b,h=e.options.__r,p=e.options.diffed,v=e.options.__c,m=e.options.unmount;function l(_,n){e.options.__h&&e.options.__h(c,_,f||n),f=0;var t=c.__H||(c.__H={__:[],__h:[]});return _>=t.__.length&&t.__.push({}),t.__[_]}function H(_){return f=1,d(q,_)}function d(_,n,t){var o=l(i++,2);return o.t=_,o.__c||(o.__=[t?t(n):q(void 0,n),function(_){var n=o.t(o.__[0],_);o.__[0]!==n&&(o.__=[n,o.__[1]],o.__c.setState({}))}],o.__c=c),o.__}function E(_,n){var t=l(i++,4);!e.options.__s&&F(t.__H,n)&&(t.__=_,t.__H=n,c.__h.push(t))}function y(_,n){var t=l(i++,7);return F(t.__H,n)&&(t.__=_(),t.__H=n,t.__h=_),t.__}function b(){a.forEach((function(_){if(_.__P)try{_.__H.__h.forEach(A),_.__H.__h.forEach(D),_.__H.__h=[]}catch(n){_.__H.__h=[],e.options.__e(n,_.__v)}})),a=[]}t.useState=H,t.useReducer=d,t.useEffect=function(_,n){var t=l(i++,3);!e.options.__s&&F(t.__H,n)&&(t.__=_,t.__H=n,c.__H.__h.push(t))},t.useLayoutEffect=E,t.useRef=function(_){return f=5,y((function(){return{current:_}}),[])},t.useImperativeHandle=function(_,n,t){f=6,E((function(){"function"==typeof _?_(n()):_&&(_.current=n())}),null==t?t:t.concat(_))},t.useMemo=y,t.useCallback=function(_,n){return f=8,y((function(){return _}),n)},t.useContext=function(_){var n=c.context[_.__c],t=l(i++,9);return t.__c=_,n?(null==t.__&&(t.__=!0,n.sub(c)),n.props.value):_.__},t.useDebugValue=function(_,n){e.options.useDebugValue&&e.options.useDebugValue(n?n(_):_)},t.useErrorBoundary=function(_){var n=l(i++,10),t=H();return n.__=_,c.componentDidCatch||(c.componentDidCatch=function(_){n.__&&n.__(_),t[1](_)}),[t[0],function(){t[1](void 0)}]},e.options.__b=function(_){c=null,s&&s(_)},e.options.__r=function(_){h&&h(_),i=0;var n=(c=_.__c).__H;n&&(n.__h.forEach(A),n.__h.forEach(D),n.__h=[])},e.options.diffed=function(_){p&&p(_);var n=_.__c;n&&n.__H&&n.__H.__h.length&&(1!==a.push(n)&&r===e.options.requestAnimationFrame||((r=e.options.requestAnimationFrame)||function(_){var n,t=function(){clearTimeout(o),g&&cancelAnimationFrame(n),setTimeout(_)},o=setTimeout(t,100);g&&(n=requestAnimationFrame(t))})(b)),c=void 0},e.options.__c=function(_,n){n.some((function(_){try{_.__h.forEach(A),_.__h=_.__h.filter((function(_){return!_.__||D(_)}))}catch(t){n.some((function(_){_.__h&&(_.__h=[])})),n=[],e.options.__e(t,_.__v)}})),v&&v(_,n)},e.options.unmount=function(_){m&&m(_);var n=_.__c;if(n&&n.__H)try{n.__H.__.forEach(A)}catch(_){e.options.__e(_,n.__v)}};var g="function"==typeof requestAnimationFrame;function A(_){var n=c;"function"==typeof _.__c&&_.__c(),c=n}function D(_){var n=c;_.__c=_.__(),c=n}function F(_,n){return!_||_.length!==n.length||n.some((function(n,t){return n!==_[t]}))}function q(_,n){return"function"==typeof n?n(_):n}},n”, “ "b3f51db71c": function _(e,f,n,t,o){t();const r=e("tslib"),d=e("6f11f2ef27");var a=e("6f11f2ef27");o("h",a.h),o("render",a.render),o("Component",a.Component);var h=r.__importDefault(e("ab33dd3f38")).default.bind(d.h);n.html=h},n”, “ "ab33dd3f38": function _(n,t,s,u,r){u();var e=function(n,t,s,u){var r;t[0]=0;for(var h=1;h<t.length;h++){var p=t[h++],a=t[h]?(t[0]|=p?1:2,s[t[h++]]):t[++h];3===p?u[0]=a:4===p?u[1]=Object.assign(u[1]||{},a):5===p?(u[1]=u[1]||{})[t[++h]]=a:6===p?u[1][t[++h]]+=a+"":p?(r=n.apply(a,e(n,a,s,["",null])),u.push(r),a[0]?t[0]|=2:(t[h-2]=0,t[h]=r)):u.push(a)}return u},h=new Map;s.default=function(n){var t=h.get(this);return t||(t=new Map,h.set(this,t)),(t=e(this,t.get(n)||(t.set(n,t=function(n){for(var t,s,u=1,r="",e="",h=[0],p=function(n){1===u&&(n||(r=r.replace(/^\s\n\s*|\s*\n\s*$/g,"")))?h.push(0,n,r):3===u&&(n||r)?(h.push(3,n,r),u=2):2===u&&"…"===r&&n?h.push(4,n,0):2===u&&r&&!n?h.push(5,0,!0,r):u>=5&&((r||!n&&5===u)&&(h.push(u,0,r,s),u=6),n&&(h.push(u,n,0,s),u=6)),r=""},a=0;a<n.length;a++){a&&(1===u&&p(),p(a));for(var f=0;f<n[a].length;f++)t=n[a][f],1===u?"<"===t?(p(),h=[h],u=3):r+=t:4===u?"–"===r&&">"===t?(u=1,r=""):r=t+r[0]:e?t===e?e="":r+=t:’"’===t||"’"===t?e=t:">"===t?(p(),u=1):u&&("="===t?(u=5,s=r,r=""):"/"===t&&(u<5||">"===n[a][f+1])?(p(),3===u&&(h=h[0]),u=h,(h=h[0]).push(2,0,u),u=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(p(),u=2):r+=t),3===u&&"!–"===r&&(u=4,h=h[0])}return p(),h}(n)),t),arguments,[])).length>1?t:t[0]}},n”, “ "cbecfde9cd": function _(e,n,t,o,a){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,o=arguments.length;t<o;t++)for(var a in n=arguments[t])Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a]);return e}).apply(this,arguments)};o();n”, “ /!n”, “ * https://github.com/Starcounter-Jack/JSON-Patchn”, “ * (c) 2017 Joachim Western”, “ * MIT licensen”, “ */n”, “ var p=e("cb21060ee5"),s=e("b2f693e532"),c=e("b2f693e532");t.applyOperation=c.applyOperation,t.applyPatch=c.applyPatch,t.applyReducer=c.applyReducer,t.getValueByPointer=c.getValueByPointer,t.validate=c.validate,t.validator=c.validator;var i=e("cb21060ee5");t.JsonPatchError=i.PatchError,t.deepClone=i._deepClone,t.escapePathComponent=i.escapePathComponent,t.unescapePathComponent=i.unescapePathComponent;var u=new WeakMap,l=function(e){this.observers=new Map,this.obj=e},v=function(e,n){this.callback=e,this.observer=n};function h(e,n){n.unobserve()}function d(e,n){var t,o=function(e){return u.get(e)}(e);if(o){var a=function(e,n){return e.observers.get(n)}(o,n);t=a&&a.observer}else o=new l(e),u.set(e,o);if(t)return t;if(t={},o.value=p._deepClone(e),n){t.callback=n,t.next=null;var r=function(){f(t)},s=function(){clearTimeout(t.next),t.next=setTimeout(r)};"undefined"!=typeof window&&(window.addEventListener("mouseup",s),window.addEventListener("keyup",s),window.addEventListener("mousedown",s),window.addEventListener("keydown",s),window.addEventListener("change",s))}return t.patches=[],t.object=e,t.unobserve=function(){f(t),clearTimeout(t.next),function(e,n){e.observers.delete(n.callback)}(o,t),"undefined"!=typeof window&&(window.removeEventListener("mouseup",s),window.removeEventListener("keyup",s),window.removeEventListener("mousedown",s),window.removeEventListener("keydown",s),window.removeEventListener("change",s))},o.observers.set(n,new v(n,t)),t}function f(e,n){void 0===n&&(n=!1);var t=u.get(e.object);w(t.value,e.object,e.patches,"",n),e.patches.length&&s.applyPatch(t.value,e.patches);var o=e.patches;return o.length>0&&(e.patches=[],e.callback&&e.callback(o)),o}function w(e,n,t,o,a){if(n!==e){"function"==typeof n.toJSON&&(n=n.toJSON());for(var r=p._objectKeys(n),s=p._objectKeys(e),c=!1,i=s.length-1;i>=0;i–){var u=e[v=s[i]];if(!p.hasOwnProperty(n,v)||void 0===n[v]&&void 0!==u&&!1===Array.isArray(n))Array.isArray(e)===Array.isArray(n)?(a&&t.push({op:"test",path:o+"/"+p.escapePathComponent(v),value:p._deepClone(u)}),t.push({op:"remove",path:o+"/"+p.escapePathComponent(v)}),c=!0):(a&&t.push({op:"test",path:o,value:e}),t.push({op:"replace",path:o,value:n}),!0);else{var l=n[v];"object"==typeof u&&null!=u&&"object"==typeof l&&null!=l?w(u,l,t,o+"/"+p.escapePathComponent(v),a):u!==l&&(!0,a&&t.push({op:"test",path:o+"/"+p.escapePathComponent(v),value:p._deepClone(u)}),t.push({op:"replace",path:o+"/"+p.escapePathComponent(v),value:p._deepClone(l)}))}}if(c||r.length!=s.length)for(i=0;i<r.length;i++){var v=r[i];p.hasOwnProperty(e,v)||void 0===n[v]||t.push({op:"add",path:o+"/"+p.escapePathComponent(v),value:p._deepClone(n[v])})}}}function b(e,n,t){void 0===t&&(t=!1);var o=[];return w(e,n,o,"",t),o}t.unobserve=h,t.observe=d,t.generate=f,t.compare=b;var y=e("b2f693e532"),m=e("cb21060ee5");t.default=r({},y,{unobserve:h,observe:d,generate:f,compare:b,JsonPatchError:m.PatchError,deepClone:p._deepClone,escapePathComponent:p.escapePathComponent,unescapePathComponent:m.unescapePathComponent})},n”, “ "cb21060ee5": function _(r,e,t,n,o){n”, “ /!n”, “ * https://github.com/Starcounter-Jack/JSON-Patchn”, “ * (c) 2017 Joachim Western”, “ * MIT licensen”, “ /n”, “ var i,f=this&&this.__extends||(i=function(r,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,e){r.__proto__=e}||function(r,e){for(var t in e)e.hasOwnProperty(t)&&(r[t]=e[t])})(r,e)},function(r,e){function t(){this.constructor=r}i(r,e),r.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t)});n();var u=Object.prototype.hasOwnProperty;function a(r,e){return u.call(r,e)}function c(r){if(Array.isArray(r)){for(var e=new Array(r.length),t=0;t<e.length;t++)e[t]=""+t;return e}if(Object.keys)return Object.keys(r);e=[];for(var n in r)a(r,n)&&e.push(n);return e}function p(r){return-1===r.indexOf("/")&&-1===r.indexOf("~")?r:r.replace(/~/g,"~0").replace(/\//g,"~1")}function s(r,e){var t;for(var n in r)if(a(r,n)){if(r[n]===e)return p(n)+"/";if("object"==typeof r[n]&&""!=(t=s(r[n],e)))return p(n)+"/"+t}return""}function h(r,e){var t=[r];for(var n in e){var o="object"==typeof e[n]?JSON.stringify(e[n],null,2):e[n];void 0!==o&&t.push(n+": "+o)}return t.join("\n")}t.hasOwnProperty=a,t._objectKeys=c,t._deepClone=function(r){switch(typeof r){case"object":return JSON.parse(JSON.stringify(r));case"undefined":return null;default:return r}},t.isInteger=function(r){for(var e,t=0,n=r.length;t<n;){if(!((e=r.charCodeAt(t))>=48&&e<=57))return!1;t++}return!0},t.escapePathComponent=p,t.unescapePathComponent=function(r){return r.replace(/~1/g,"/").replace(/~0/g,"~")},t._getPathRecursive=s,t.getPath=function(r,e){if(r===e)return"/";var t=s(r,e);if(""===t)throw new Error("Object not found in root");return"/"+t},t.hasUndefined=function r(e){if(void 0===e)return!0;if(e)if(Array.isArray(e)){for(var t=0,n=e.length;t<n;t++)if(r(e[t]))return!0}else if("object"==typeof e){var o=c(e),i=o.length;for(t=0;t<i;t++)if(r(e[o[t]]))return!0}return!1};var y=function(r){function e(e,t,n,o,i){var f=this.constructor,u=r.call(this,h(e,{name:t,index:n,operation:o,tree:i}))||this;return u.name=t,u.index=n,u.operation=o,u.tree=i,Object.setPrototypeOf(u,f.prototype),u.message=h(e,{name:t,index:n,operation:o,tree:i}),u}return f(e,r),e}(Error);t.PatchError=y},n”, “ "b2f693e532": function _(e,t,o,r,n){r();var a=e("0c8122087b"),i=e("cb21060ee5");o.JsonPatchError=i.PatchError,o.deepClone=i._deepClone;var p={add:function(e,t,o){return e[t]=this.value,{newDocument:o}},remove:function(e,t,o){var r=e[t];return delete e[t],{newDocument:o,removed:r}},replace:function(e,t,o){var r=e[t];return e[t]=this.value,{newDocument:o,removed:r}},move:function(e,t,o){var r=h(o,this.path);r&&(r=i._deepClone(r));var n=c(o,{op:"remove",path:this.from}).removed;return c(o,{op:"add",path:this.path,value:n}),{newDocument:o,removed:r}},copy:function(e,t,o){var r=h(o,this.from);return c(o,{op:"add",path:this.path,value:i._deepClone(r)}),{newDocument:o}},test:function(e,t,o){return{newDocument:o,test:a(e[t],this.value)}},_get:function(e,t,o){return this.value=e[t],{newDocument:o}}},s={add:function(e,t,o){return i.isInteger(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:o,index:t}},remove:function(e,t,o){return{newDocument:o,removed:e.splice(t,1)[0]}},replace:function(e,t,o){var r=e[t];return e[t]=this.value,{newDocument:o,removed:r}},move:p.move,copy:p.copy,test:p.test,_get:p._get};function h(e,t){if(""==t)return e;var o={op:"_get",path:t};return c(e,o),o.value}function c(e,t,r,n,c,u){if(void 0===r&&(r=!1),void 0===n&&(n=!0),void 0===c&&(c=!0),void 0===u&&(u=0),r&&("function"==typeof r?r(t,0,e,t.path):d(t,0)),""===t.path){var f={newDocument:e};if("add"===t.op)return f.newDocument=t.value,f;if("replace"===t.op)return f.newDocument=t.value,f.removed=e,f;if("move"===t.op||"copy"===t.op)return f.newDocument=h(e,t.from),"move"===t.op&&(f.removed=e),f;if("test"===t.op){if(f.test=a(e,t.value),!1===f.test)throw new o.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",u,t,e);return f.newDocument=e,f}if("remove"===t.op)return f.removed=e,f.newDocument=null,f;if("_get"===t.op)return t.value=e,f;if(r)throw new o.JsonPatchError("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",u,t,e);return f}n||(e=i._deepClone(e));var l=(t.path||"").split("/"),v=e,E=1,_=l.length,O=void 0,w=void 0,A=void 0;for(A="function"==typeof r?r:d;;){if(w=l[E],c&&"__proto__"==w)throw new TypeError("JSON-Patch: modifying `__proto__` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(r&&void 0===O&&(void 0===v[w]?O=l.slice(0,E).join("/"):E==_-1&&(O=t.path),void 0!==O&&A(t,0,e,O)),E++,Array.isArray(v)){if("-"===w)w=v.length;else{if(r&&!i.isInteger(w))throw new o.JsonPatchError("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",u,t,e);i.isInteger(w)&&(w=~~w)}if(E>=_){if(r&&"add"===t.op&&w>v.length)throw new o.JsonPatchError("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",u,t,e);if(!1===(f=s[t.op].call(t,v,w,e)).test)throw new o.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",u,t,e);return f}}else if(w&&-1!=w.indexOf("~")&&(w=i.unescapePathComponent(w)),E>=_){if(!1===(f=p[t.op].call(t,v,w,e)).test)throw new o.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",u,t,e);return f}v=v[w]}}function u(e,t,r,n,a){if(void 0===n&&(n=!0),void 0===a&&(a=!0),r&&!Array.isArray(t))throw new o.JsonPatchError("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");n||(e=i._deepClone(e));for(var p=new Array(t.length),s=0,h=t.length;s<h;s++)p[s]=c(e,t[s],r,!0,a,s),e=p[s].newDocument;return p.newDocument=e,p}function f(e,t,r){var n=c(e,t);if(!1===n.test)throw new o.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",r,t,e);return n.newDocument}function d(e,t,r,n){if("object"!=typeof e||null===e||Array.isArray(e))throw new o.JsonPatchError("Operation is not an object","OPERATION_NOT_AN_OBJECT",t,e,r);if(!p[e.op])throw new o.JsonPatchError("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",t,e,r);if("string"!=typeof e.path)throw new o.JsonPatchError("Operation `path` property is not a string","OPERATION_PATH_INVALID",t,e,r);if(0!==e.path.indexOf("/")&&e.path.length>0)throw new o.JsonPatchError(‘Operation `path` property must start with "/"’,"OPERATION_PATH_INVALID",t,e,r);if(("move"===e.op||"copy"===e.op)&&"string"!=typeof e.from)throw new o.JsonPatchError("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,r);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&void 0===e.value)throw new o.JsonPatchError("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,r);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&i.hasUndefined(e.value))throw new o.JsonPatchError("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,r);if(r)if("add"==e.op){var a=e.path.split("/").length,s=n.split("/").length;if(a!==s+1&&a!==s)throw new o.JsonPatchError("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,r)}else if("replace"===e.op||"remove"===e.op||"_get"===e.op){if(e.path!==n)throw new o.JsonPatchError("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,r)}else if("move"===e.op||"copy"===e.op){var h=l([{op:"_get",path:e.from,value:void 0}],r);if(h&&"OPERATION_PATH_UNRESOLVABLE"===h.name)throw new o.JsonPatchError("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,r)}}function l(e,t,r){try{if(!Array.isArray(e))throw new o.JsonPatchError("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)u(i._deepClone(t),i._deepClone(e),r||!0);else{r=r||d;for(var n=0;n<e.length;n++)r(e[n],n,t,void 0)}}catch(e){if(e instanceof o.JsonPatchError)return e;throw e}}o.getValueByPointer=h,o.applyOperation=c,o.applyPatch=u,o.applyReducer=f,o.validator=d,o.validate=l,o.default={JsonPatchError:o.JsonPatchError,deepClone:o.deepClone,getValueByPointer:h,applyOperation:c,applyPatch:u,applyReducer:f,validator:d,validate:l}},n”, “ "0c8122087b": function _(r,t,e,n,f){var i=Array.isArray,o=Object.keys,u=Object.prototype.hasOwnProperty;t.exports=function r(t,e){if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e){var n,f,a,c=i(t),g=i(e);if(c&&g){if((f=t.length)!=e.length)return!1;for(n=f;0!=n–;)if(!r(t[n],e[n]))return!1;return!0}if(c!=g)return!1;var p=t instanceof Date,s=e instanceof Date;if(p!=s)return!1;if(p&&s)return t.getTime()==e.getTime();var y=t instanceof RegExp,l=e instanceof RegExp;if(y!=l)return!1;if(y&&l)return t.toString()==e.toString();var h=o(t);if((f=h.length)!==o(e).length)return!1;for(n=f;0!=n–;)if(!u.call(e,h[n]))return!1;for(n=f;0!=n–;)if(!r(t[a=h[n]],e[a]))return!1;return!0}return t!=t&&e!=e}},n”, “ "3329d4aa5b": function _(e,t,o,a,i){function n(e){const t={type:e.type};return"value"in e.target&&(t.value=e.target.value),e.type in c&&Object.assign(t,c[e.type](e)),t}a(),o.serializeEvent=n;const r={clipboard:e=>({clipboardData:e.clipboardData}),composition:e=>({data:e.data}),keyboard:e=>({altKey:e.altKey,charCode:e.charCode,ctrlKey:e.ctrlKey,key:e.key,keyCode:e.keyCode,locale:e.locale||null,location:e.location,metaKey:e.metaKey,repeat:e.repeat,shiftKey:e.shiftKey,which:e.which}),mouse:e=>({altKey:e.altKey,button:e.button,buttons:e.buttons,clientX:e.clientX,clientY:e.clientY,ctrlKey:e.ctrlKey,metaKey:e.metaKey,pageX:e.pageX,pageY:e.pageY,screenX:e.screenX,screenY:e.screenY,shiftKey:e.shiftKey}),pointer:e=>({pointerId:e.pointerId,width:e.width,height:e.height,pressure:e.pressure,tiltX:e.tiltX,tiltY:e.tiltY,pointerType:e.pointerType,isPrimary:e.isPrimary}),touch:e=>({altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey}),ui:e=>({detail:e.detail}),wheel:e=>({deltaMode:e.deltaMode,deltaX:e.deltaX,deltaY:e.deltaY,deltaZ:e.deltaZ}),animation:e=>({animationName:e.animationName,pseudoElement:e.pseudoElement,elapsedTime:e.elapsedTime}),transition:e=>({propertyName:e.propertyName,pseudoElement:e.pseudoElement,elapsedTime:e.elapsedTime})},l={clipboard:["copy","cut","paste"],composition:["compositionend","compositionstart","compositionupdate"],keyboard:["keydown","keypress","keyup"],mouse:["click","contextmenu","doubleclick","drag","dragend","dragenter","dragexit","dragleave","dragover","dragstart","drop","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup"],pointer:["pointerdown","pointermove","pointerup","pointercancel","gotpointercapture","lostpointercapture","pointerenter","pointerleave","pointerover","pointerout"],selection:["select"],touch:["touchcancel","touchend","touchmove","touchstart"],ui:["scroll"],wheel:["wheel"],animation:["animationstart","animationend","animationiteration"],transition:["transitionend"]},c={};Object.keys(l).forEach((e=>{l[e].forEach((t=>{c[t]=r[e]}))})),o.default=n},n”, “ "0eae77d68f": function _(e,i,t,n,d){n();const s=e("@bokehjs/models/layouts/html_box"),l=e("7116a7a602"),o=window.Jupyter;class a extends l.PanelHTMLBoxView{constructor(){super(…arguments),this.rendered=!1}render(){super.render(),this._render().then((()=>{this.rendered=!0,this.invalidate_layout(),this.notify_finished()}))}has_finished(){return this.rendered&&super.has_finished()}async _render(){const{spec:e,state:i}=this.model.bundle;let t;if(null!=o&&null!=o.notebook?t=o.notebook.kernel.widget_manager:null!=window.PyViz.widget_manager&&(t=window.PyViz.widget_manager),t)if(null==this.ipyview){const n=(await t.set_state(i)).find((i=>i.model_id==e.model_id));if(null!=n){const e=await t.create_view(n,{el:this.el});if(this.ipyview=e,e.children_views)for(const i of e.children_views.views)await i;this.el.appendChild(e.el),e.trigger("displayed",e)}}else this.el.appendChild(this.ipyview.el);else console.log("Panel IPyWidget model could not find a WidgetManager")}}t.IPyWidgetView=a,a.__name__="IPyWidgetView";class r extends s.HTMLBox{constructor(e){super(e)}static init_IPyWidget(){this.prototype.default_view=a,this.define((({Any:e})=>({bundle:[e,{}]})))}}t.IPyWidget=r,r.__name__="IPyWidget",r.__module__="panel.models.ipywidget",r.init_IPyWidget()},n”, “ "5284fdbb37": function _(e,t,r,s,n){s();const i=e("tslib"),o=e("@bokehjs/core/kinds"),d=e("@bokehjs/models/widgets/markup"),l=i.__importDefault(e("18bba7b7e1")),a=e("7116a7a602");class h extends a.PanelMarkupView{connect_signals(){super.connect_signals();const{depth:e,hover_preview:t,theme:r}=this.model.properties;this.on_change([e,t,r],(()=>this.render()))}render(){super.render();const e=this.model.text.replace(/(\r\n|\n|\r)/gm,"").replace("’",’"’);let t;try{t=window.JSON.parse(e)}catch(e){return void(this.markup_el.innerHTML="<b>Invalid JSON:</b> "+e.toString())}const r={hoverPreviewEnabled:this.model.hover_preview,theme:this.model.theme},s=null==this.model.depth?1/0:this.model.depth,n=new l.default(t,s,r).render();let i="border-radius: 5px; padding: 10px;";"dark"==this.model.theme?n.style.cssText="background-color: rgb(30, 30, 30);"+i:n.style.cssText=i,this.markup_el.append(n)}}r.JSONView=h,h.__name__="JSONView",r.JSONTheme=o.Enum("dark","light");class p extends d.Markup{constructor(e){super(e)}static init_JSON(){this.prototype.default_view=h,this.define((({Boolean:e,Int:t,Nullable:s})=>({depth:[s(t),1],hover_preview:[e,!1],theme:[r.JSONTheme,"dark"]})))}}r.JSON=p,p.__name__="JSON",p.__module__="panel.models.markup",p.init_JSON()},n”, “ "18bba7b7e1": function _(t,e,r,n,o){function i(t){return null===t?"null":typeof t}function s(t){return!!t&&"object"==typeof t}function a(t){if(void 0===t)return"";if(null===t)return"Object";if("object"==typeof t&&!t.constructor)return"Object";var e=/function ([^(])/.exec(t.constructor.toString());return e&&e.length>1?e[1]:""}function f(t,e,r){return"null"===t||"undefined"===t?t:("string"!==t&&"stringifiable"!==t||(r=’"’+r.replace(/"/g,’\\"’)+’"’),"function"===t?e.toString().replace(/[\r\n]/g,"").replace(/\{.*\}/,"")+"{…}":r)}function m(t){var e="";return s(t)?(e=a(t),Array.isArray(t)&&(e+="["+t.length+"]")):e=f(i(t),t,t),e}function l(t){return"json-formatter-"+t}function d(t,e,r){var n=document.createElement(t);return e&&n.classList.add(l(e)),void 0!==r&&(r instanceof Node?n.appendChild(r):n.appendChild(document.createTextNode(String(r)))),n}n(),function(t){if("undefined"!=typeof window){var e=document.createElement("style");e.setAttribute("media","screen"),e.innerHTML=t,document.head.appendChild(e)}}(‘.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: "►";\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: "►";\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’);var c=/(^\d{1,4}[.|\\/|-]\\d{1,2}[\\.|\\/|-]\\d{1,4})(\\s*(?:0?[1-9]:[0-5]|1(?=[012])\\d:[0-5])\\d\\s*[ap]m)?$/,p=/\\d{2}:\\d{2}:\\d{2} GMT-\\d{4}/,j=/\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/,h=window.requestAnimationFrame||function(t){return t(),0},u={hoverPreviewEnabled:!1,hoverPreviewArrayCount:100,hoverPreviewFieldCount:5,animateOpen:!0,animateClose:!0,theme:null,useToJSON:!0,sortPropertiesBy:null},g=function(){function t(t,e,r,n){void 0===e&&(e=1),void 0===r&&(r=u),this.json=t,this.open=e,this.config=r,this.key=n,this._isOpen=null,void 0===this.config.hoverPreviewEnabled&&(this.config.hoverPreviewEnabled=u.hoverPreviewEnabled),void 0===this.config.hoverPreviewArrayCount&&(this.config.hoverPreviewArrayCount=u.hoverPreviewArrayCount),void 0===this.config.hoverPreviewFieldCount&&(this.config.hoverPreviewFieldCount=u.hoverPreviewFieldCount),void 0===this.config.useToJSON&&(this.config.useToJSON=u.useToJSON),\"\"===this.key&&(this.key='\"\"')}return Object.defineProperty(t.prototype,\"isOpen\",{get:function(){return null!==this._isOpen?this._isOpen:this.open>0},set:function(t){this._isOpen=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"isDate\",{get:function(){return this.json instanceof Date||"string"===this.type&&(c.test(this.json)||j.test(this.json)||p.test(this.json))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isUrl",{get:function(){return"string"===this.type&&0===this.json.indexOf("http")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isArray",{get:function(){return Array.isArray(this.json)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isObject",{get:function(){return s(this.json)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isEmptyObject",{get:function(){return!this.keys.length&&!this.isArray},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isEmpty",{get:function(){return this.isEmptyObject||this.keys&&!this.keys.length&&this.isArray},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useToJSON",{get:function(){return this.config.useToJSON&&"stringifiable"===this.type},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasKey",{get:function(){return void 0!==this.key},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"constructorName",{get:function(){return a(this.json)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"type",{get:function(){return this.config.useToJSON&&this.json&&this.json.toJSON?"stringifiable":i(this.json)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keys",{get:function(){if(this.isObject){var t=Object.keys(this.json);return!this.isArray&&this.config.sortPropertiesBy?t.sort(this.config.sortPropertiesBy):t}return[]},enumerable:!0,configurable:!0}),t.prototype.toggleOpen=function(){this.isOpen=!this.isOpen,this.element&&(this.isOpen?this.appendChildren(this.config.animateOpen):this.removeChildren(this.config.animateClose),this.element.classList.toggle(l("open")))},t.prototype.openAtDepth=function(t){void 0===t&&(t=1),t<0||(this.open=t,this.isOpen=0!==t,this.element&&(this.removeChildren(!1),0===t?this.element.classList.remove(l("open")):(this.appendChildren(this.config.animateOpen),this.element.classList.add(l("open")))))},t.prototype.getInlinepreview=function(){var t=this;if(this.isArray)return this.json.length>this.config.hoverPreviewArrayCount?"Array["+this.json.length+"]":"["+this.json.map(m).join(", ")+"]";var e=this.keys,r=e.slice(0,this.config.hoverPreviewFieldCount).map((function(e){return e+":"+m(t.json[e])})),n=e.length>=this.config.hoverPreviewFieldCount?"…":"";return"{"+r.join(", ")+n+"}"},t.prototype.render=function(){this.element=d("div","row");var t=this.isObject?d("a","toggler-link"):d("span");if(this.isObject&&!this.useToJSON&&t.appendChild(d("span","toggler")),this.hasKey&&t.appendChild(d("span","key",this.key+":")),this.isObject&&!this.useToJSON){var e=d("span","value"),r=d("span"),n=d("span","constructor-name",this.constructorName);if(r.appendChild(n),this.isArray){var o=d("span");o.appendChild(d("span","bracket","[")),o.appendChild(d("span","number",this.json.length)),o.appendChild(d("span","bracket","]")),r.appendChild(o)}e.appendChild(r),t.appendChild(e)}else{(e=this.isUrl?d("a"):d("span")).classList.add(l(this.type)),this.isDate&&e.classList.add(l("date")),this.isUrl&&(e.classList.add(l("url")),e.setAttribute("href",this.json));var i=f(this.type,this.json,this.useToJSON?this.json.toJSON():this.json);e.appendChild(document.createTextNode(i)),t.appendChild(e)}if(this.isObject&&this.config.hoverPreviewEnabled){var s=d("span","preview-text");s.appendChild(document.createTextNode(this.getInlinepreview())),t.appendChild(s)}var a=d("div","children");return this.isObject&&a.classList.add(l("object")),this.isArray&&a.classList.add(l("array")),this.isEmpty&&a.classList.add(l("empty")),this.config&&this.config.theme&&this.element.classList.add(l(this.config.theme)),this.isOpen&&this.element.classList.add(l("open")),this.element.appendChild(t),this.element.appendChild(a),this.isObject&&this.isOpen&&this.appendChildren(),this.isObject&&!this.useToJSON&&t.addEventListener("click",this.toggleOpen.bind(this)),this.element},t.prototype.appendChildren=function(e){var r=this;void 0===e&&(e=!1);var n=this.element.querySelector("div."+l("children"));if(n&&!this.isEmpty)if(e){var o=0,i=function(){var e=r.keys[o],s=new t(r.json[e],r.open-1,r.config,e);n.appendChild(s.render()),(o+=1)<r.keys.length&&(o>10?i():h(i))};h(i)}else this.keys.forEach((function(e){var o=new t(r.json[e],r.open-1,r.config,e);n.appendChild(o.render())}))},t.prototype.removeChildren=function(t){void 0===t&&(t=!1);var e=this.element.querySelector("div."+l("children"));if(t){var r=0,n=function(){e&&e.children.length&&(e.removeChild(e.children[0]),(r+=1)>10?n():h(n))};h(n)}else e&&(e.innerHTML="")},t}();r.default=g},n”, “ "1767172ffa": function _(e,t,i,s,l){s();const n=e("tslib"),o=e("@bokehjs/models/widgets/input_widget"),a=n.__importStar(e("@bokehjs/styles/buttons.css")),h=a,d=e("@bokehjs/core/dom"),_=e("@bokehjs/core/enums");class r extends o.InputWidgetView{constructor(){super(…arguments),this._downloadable=!1,this._embed=!1,this._prev_href="",this._prev_download=""}initialize(){super.initialize(),this.model.data&&this.model.filename&&(this._embed=!0)}connect_signals(){super.connect_signals(),this.connect(this.model.properties.button_type.change,(()=>this._update_button_style())),this.connect(this.model.properties.filename.change,(()=>this._update_download())),this.connect(this.model.properties._transfers.change,(()=>this._handle_click())),this.connect(this.model.properties.label.change,(()=>this._update_label())),this.connect(this.model.properties.disabled.change,(()=>this.set_disabled()))}render(){super.render(),this.group_el.style.display="flex",this.group_el.style.alignItems="stretch",this.anchor_el=document.createElement("a"),this._update_button_style(),this._update_label(),this.model.disabled?(this.anchor_el.setAttribute("disabled",""),this._downloadable=!1):(this.anchor_el.removeAttribute("disabled"),this._prev_download&&(this.anchor_el.download=this._prev_download),this._prev_href&&(this.anchor_el.href=this._prev_href),this.anchor_el.download&&this.anchor_el.download&&(this._downloadable=!0)),this._embed?this._make_link_downloadable():(this._click_listener=this._increment_clicks.bind(this),this.anchor_el.addEventListener("click",this._click_listener)),this.group_el.appendChild(this.anchor_el),this.input_el=d.input({type:"bk_btn, bk_btn_type"}),this.input_el.addEventListener("change",(()=>this.change_input()))}styles(){return[…super.styles(),a.default]}_increment_clicks(){this.model.clicks=this.model.clicks+1}_handle_click(){!this.model.auto&&this._downloadable||(this._make_link_downloadable(),!this._embed&&this.model.auto&&(this.anchor_el.removeEventListener("click",this._click_listener),this.anchor_el.click(),this.anchor_el.removeAttribute("href"),this.anchor_el.removeAttribute("download"),this.anchor_el.addEventListener("click",this._click_listener)),this._prev_href=this.anchor_el.getAttribute("href"),this._prev_download=this.anchor_el.getAttribute("download"))}_make_link_downloadable(){this._update_href(),this._update_download(),this.anchor_el.download&&this.anchor_el.href&&(this._downloadable=!0)}_update_href(){if(this.model.data){const e=function(e){const t=atob(e.split(",")[1]),i=e.split(",")[0].split(":")[1].split(";")[0],s=new ArrayBuffer(t.length),l=new Uint8Array(s);for(let e=0;e<t.length;e++)l[e]=t.charCodeAt(e);return new Blob([s],{type:i})}(this.model.data);this.anchor_el.href=URL.createObjectURL(e)}}_update_download(){this.model.filename&&(this.anchor_el.download=this.model.filename)}_update_label(){this.anchor_el.textContent=this.model.label}_update_button_style(){const e=h[btn_${this.model.button_type}];if(this.anchor_el.hasAttribute("class")){const t=this.anchor_el.classList.item(1);t&&this.anchor_el.classList.replace(t,e)}else this.anchor_el.classList.add(h.btn),this.anchor_el.classList.add(e)}set_disabled(){this.model.disabled?this.anchor_el.setAttribute("disabled",""):this.anchor_el.removeAttribute("disabled")}}i.FileDownloadView=r,r.__name__="FileDownloadView";class c extends o.InputWidget{constructor(e){super(e)}static init_FileDownload(){this.prototype.default_view=r,this.define((({Boolean:e,Int:t,Nullable:i,String:s})=>({auto:[e,!1],clicks:[t,0],data:[i(s),null],label:[s,"Download"],filename:[i(s),null],button_type:[_.ButtonType,"default"],_transfers:[t,0]}))),this.override({title:""})}}i.FileDownload=c,c.__name__="FileDownload",c.__module__="panel.models.widgets",c.init_FileDownload()},n”, “ "7b859fb3cf": function _(e,t,i,a,n){a();const s=e("@bokehjs/models/widgets/markup"),r=e("7116a7a602");class l extends r.PanelMarkupView{render(){super.render(),this.markup_el.innerHTML=this.model.text,window.renderMathInElement&&window.renderMathInElement(this.el,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"\\[",right:"\\]",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1}]})}}i.KaTeXView=l,l.__name__="KaTeXView";class d extends s.Markup{constructor(e){super(e)}static init_KaTeX(){this.prototype.default_view=l}}i.KaTeX=d,d.__name__="KaTeX",d.__module__="panel.models.katex",d.init_KaTeX()},n”, “ "642aa56b24": function _(o,e,t,i,a){i();const h=o("@bokehjs/core/view"),n=o("@bokehjs/model");class s extends h.View{initialize(){super.initialize(),this.model.pathname=window.location.pathname,this.model.search=window.location.search,this.model.hash=window.location.hash,this.model.href=window.location.href,this.model.hostname=window.location.hostname,this.model.protocol=window.location.protocol,this.model.port=window.location.port}connect_signals(){super.connect_signals(),this.connect(this.model.properties.pathname.change,(()=>this.update("pathname"))),this.connect(this.model.properties.search.change,(()=>this.update("search"))),this.connect(this.model.properties.hash.change,(()=>this.update("hash"))),this.connect(this.model.properties.reload.change,(()=>this.update("reload")))}update(o){this.model.reload&&"reload"!==o?("pathname"==o&&(window.location.pathname=this.model.pathname),"search"==o&&(window.location.search=this.model.search),"hash"==o&&(window.location.hash=this.model.hash)):(window.history.pushState({},"",`${this.model.pathname}${this.model.search}${this.model.hash}`),this.model.href=window.location.href,"reload"===o&&window.location.reload())}}t.LocationView=s,s.__name__="LocationView";class c extends n.Model{constructor(o){super(o)}static init_Location(){this.prototype.default_view=s,this.define((({Boolean:o,String:e})=>({href:[e,""],hostname:[e,""],pathname:[e,""],protocol:[e,""],port:[e,""],search:[e,""],hash:[e,""],reload:[o,!1]})))}}t.Location=c,c.__name__="Location",c.__module__="panel.models.location",c.init_Location()},n”, “ "0c21036737": function _(e,t,a,i,s){i();const h=e("@bokehjs/models/widgets/markup"),_=e("7116a7a602");class n extends _.PanelMarkupView{initialize(){super.initialize(),this._hub=window.MathJax.Hub,this._hub.Config({tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]}})}render(){super.render(),this._hub&&(this.markup_el.innerHTML=this.model.text,this._hub.Queue(["Typeset",this._hub,this.markup_el]))}}a.MathJaxView=n,n.__name__="MathJaxView";class u extends h.Markup{constructor(e){super(e)}static init_MathJax(){this.prototype.default_view=n}}a.MathJax=u,u.__name__="MathJax",u.__module__="panel.models.mathjax",u.init_MathJax()},n”, “ "545156b57b": function _(e,t,i,s,n){s();const o=e("@bokehjs/models/layouts/html_box"),l=e("@bokehjs/core/dom"),r=e("@bokehjs/models/sources/column_data_source"),c=e("7116a7a602"),h=["perspective-viewer-material","perspective-viewer-material-dark","perspective-viewer-material-dense","perspective-viewer-material-dense-dark","perspective-viewer-vaporwave"];function p(e){return!h.includes(e)}function a(e){return"perspective-viewer-"+e}class u extends c.PanelHTMLBoxView{constructor(){super(…arguments),this._updating=!1,this._config_listener=null,this._event_listener=null,this._loaded=!1}connect_signals(){super.connect_signals(),this.connect(this.model.source.properties.data.change,(()=>this.setData())),this.connect(this.model.properties.toggle_config.change,(()=>{this.perspective_element.toggleConfig(),this.fix_layout()})),this.connect(this.model.properties.columns.change,(()=>{this.updateAttribute("columns",this.model.columns,!0)})),this.connect(this.model.properties.computed_columns.change,(()=>{this.updateAttribute("computed-columns",this.model.computed_columns,!0)})),this.connect(this.model.properties.column_pivots.change,(()=>{this.updateAttribute("column-pivots",this.model.column_pivots,!0)})),this.connect(this.model.properties.row_pivots.change,(()=>{this.updateAttribute("row-pivots",this.model.row_pivots,!0)})),this.connect(this.model.properties.aggregates.change,(()=>{this.updateAttribute("aggregates",this.model.aggregates,!0)})),this.connect(this.model.properties.filters.change,(()=>{this.updateAttribute("filters",this.model.filters,!0)})),this.connect(this.model.properties.sort.change,(()=>{this.updateAttribute("sort",this.model.sort,!0)})),this.connect(this.model.properties.plugin.change,(()=>{this.updateAttribute("plugin",this.model.plugin,!1)})),this.connect(this.model.properties.selectable.change,(()=>{this.updateAttribute("selectable",this.model.selectable,!0)})),this.connect(this.model.properties.editable.change,(()=>{this.updateAttribute("editable",this.model.editable,!0)})),this.connect(this.model.properties.theme.change,(()=>this.updateTheme())),null!=this.model.document&&(this._event_listener=e=>this.on_event(e),this.model.document.on_change(this._event_listener))}disconnect_signals(){null!=this._config_listener&&this.perspective_element.removeEventListener("perspective-config-update",this._config_listener),this._config_listener=null,null!=this.model.document&&null!=this._event_listener&&this.model.document.remove_on_change(this._event_listener),this._event_listener=null,super.disconnect_signals()}render(){super.render(),this.worker=window.perspective.worker(),this.table=this.worker.table(this.data);const e=l.div({class:"pnx-perspective-viewer"});c.set_size(e,this.model),e.innerHTML=this.getInnerHTML(),this.perspective_element=e.children[0],c.set_size(this.perspective_element,this.model),this.el.appendChild(e),this.perspective_element.load(this.table).then((()=>{this.update_config(),this._config_listener=()=>this.sync_config(),this.model.toggle_config&&this.perspective_element.toggleConfig(),this.perspective_element.addEventListener("perspective-config-update",this._config_listener),this._loaded=!0}))}fix_layout(){this.update_layout(),this.compute_layout(),this.invalidate_layout()}sync_config(){if(this._updating)return;const e=this.perspective_element.save(),t={};for(const i in e){const s=i.replace("-","_"),n=e[i];void 0===n||"plugin"==s&&"debug"===n||(t[s]=n)}this._updating=!0,this.model.setv(t),this._updating=!1}update_config(){if(this._updating)return;const e=this.perspective_element.save();for(const t in e){const i=t.replace("-","_");let s=this.model.property(i).get_value();e[t]!==s&&(this._updating=!0,"plugin"!==i&&(s=JSON.stringify(s)),this.perspective_element.setAttribute(t,s),this._updating=!1)}}on_event(e){null!=(e=e.hint)&&null!=e.column_source&&e.column_source.id==this.model.source.id&&(void 0!==e.rollover?this.stream(e.data,e.rollover):void 0!==e.patches&&this.patch(e.patches))}get data(){const e={};for(const t of this.model.source.columns())e[t]=this.model.source.get_array(t);return e}stream(e,t){this._loaded&&(null==t?this.table.update(e):this.table.replace(this.data))}patch(e){this.table.replace(this.data)}getInnerHTML(){let e="<perspective-viewer style=’height:100%;width:100%;’";var t,i;return e+=(t="class",null==(i=a(this.model.theme))?"":("string"!=typeof i&&(i=JSON.stringify(i))," "+t+"=’"+i+"’")),e+="></perspective-viewer>",e}setData(){this._loaded&&this.table.load(this.data)}updateAttribute(e,t,i){if(this._updating)return;t!=this.perspective_element.save()[e]&&(i&&(t=JSON.stringify(t)),this._updating=!0,this.perspective_element.setAttribute(e,t),this._updating=!1)}updateTheme(){let e=this.perspective_element.getAttribute("class"),t=this.toNewClassAttribute(e,this.model.theme);this.perspective_element.setAttribute("class",t)}toNewClassAttribute(e,t){let i=[];return null!=e&&(i=e.split(" ").filter(p)),i.push(a(t)),i.join(" ")}}i.PerspectiveView=u,u.__name__="PerspectiveView";class d extends o.HTMLBox{constructor(e){super(e)}static init_Perspective(){this.prototype.default_view=u,this.define((({Any:e,Array:t,Boolean:i,Ref:s,Nullable:n,String:o})=>({aggregates:[e],column_pivots:[n(t(o))],columns:[t(o)],computed_columns:[n(t(o))],editable:[n(i)],filters:[n(t(e))],plugin:[o],plugin_config:[e],row_pivots:[n(t(o))],selectable:[n(i)],toggle_config:[i,!0],sort:[n(t(t(o)))],source:[s(r.ColumnDataSource)],theme:[o]})))}}i.Perspective=d,d.__name__="Perspective",d.__module__="panel.models.perspective",d.init_Perspective()},n”, “ "ed9bae6d87": function _(e,t,i,s,o){s();const l=e("@bokehjs/core/kinds"),n=e("@bokehjs/core/dom"),a=e("@bokehjs/models/widgets/widget");function r(e){e.forEach((e=>e.style.borderStyle="inset"))}function d(e){e.forEach((e=>e.style.borderStyle="outset"))}class h extends a.WidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.render())),this.connect(this.model.properties.value.change,(()=>this.render())),this.connect(this.model.properties.loop_policy.change,(()=>this.set_loop_state(this.model.loop_policy))),this.connect(this.model.properties.show_loop_controls.change,(()=>{this.model.show_loop_controls&&this.loop_state.parentNode!=this.groupEl?this.groupEl.appendChild(this.loop_state):this.model.show_loop_controls||this.loop_state.parentNode!=this.groupEl||this.el.removeChild(this.loop_state)}))}get_height(){return 250}render(){if(null!=this.sliderEl)return this.sliderEl.min=String(this.model.start),this.sliderEl.max=String(this.model.end),void(this.sliderEl.value=String(this.model.value));super.render(),this.groupEl=n.div(),this.groupEl.style.display="flex",this.groupEl.style.flexDirection="column",this.groupEl.style.alignItems="center",this.sliderEl=document.createElement("input"),this.sliderEl.style.width="100%",this.sliderEl.setAttribute("type","range"),this.sliderEl.value=String(this.model.value),this.sliderEl.min=String(this.model.start),this.sliderEl.max=String(this.model.end),this.sliderEl.onchange=e=>this.set_frame(parseInt(e.target.value));const e=n.div();e.style.cssText="margin: 0 auto; display: flex; padding: 5px; align-items: stretch; width: 100%;";const t="text-align: center; min-width: 20px; flex-grow: 1; margin: 2px",i="text-align: center; min-width: 40px; flex-grow: 2; margin: 2px",s=document.createElement("button");s.style.cssText=t,s.appendChild(document.createTextNode("–")),s.onclick=()=>this.slower(),e.appendChild(s);const o=document.createElement("button");o.style.cssText=i,o.appendChild(document.createTextNode("❚◀◀")),o.onclick=()=>this.first_frame(),e.appendChild(o);const l=document.createElement("button");l.style.cssText=i,l.appendChild(document.createTextNode("❚◀")),l.onclick=()=>this.previous_frame(),e.appendChild(l);const a=document.createElement("button");a.style.cssText=i,a.appendChild(document.createTextNode("◀")),a.onclick=()=>this.reverse_animation(),e.appendChild(a);const h=document.createElement("button");h.style.cssText=i,h.appendChild(document.createTextNode("❚❚")),h.onclick=()=>this.pause_animation(),e.appendChild(h);const c=document.createElement("button");c.style.cssText=i,c.appendChild(document.createTextNode("▶")),c.onclick=()=>this.play_animation(),e.appendChild(c);const p=document.createElement("button");p.style.cssText=i,p.appendChild(document.createTextNode("▶❚")),p.onclick=()=>this.next_frame(),e.appendChild(p);const m=document.createElement("button");m.style.cssText=i,m.appendChild(document.createTextNode("▶▶❚")),m.onclick=()=>this.last_frame(),e.appendChild(m);const _=document.createElement("button");_.style.cssText=t,_.appendChild(document.createTextNode("+")),_.onclick=()=>this.faster(),e.appendChild(_),this._toggle_reverse=()=>{d([h,c]),r([a])},this._toogle_pause=()=>{d([a,c]),r([h])},this._toggle_play=()=>{d([a,h]),r([c])},this.loop_state=document.createElement("form"),this.loop_state.style.cssText="margin: 0 auto; display: table";const u=document.createElement("input");u.type="radio",u.value="once",u.name="state";const g=document.createElement("label");g.innerHTML="Once",g.style.cssText="padding: 0 10px 0 5px; user-select:none;";const f=document.createElement("input");f.setAttribute("type","radio"),f.setAttribute("value","loop"),f.setAttribute("name","state");const v=document.createElement("label");v.innerHTML="Loop",v.style.cssText="padding: 0 10px 0 5px; user-select:none;";const y=document.createElement("input");y.setAttribute("type","radio"),y.setAttribute("value","reflect"),y.setAttribute("name","state");const x=document.createElement("label");x.innerHTML="Reflect",x.style.cssText="padding: 0 10px 0 5px; user-select:none;","once"==this.model.loop_policy?u.checked=!0:"loop"==this.model.loop_policy?f.checked=!0:y.checked=!0,this.loop_state.appendChild(u),this.loop_state.appendChild(g),this.loop_state.appendChild(f),this.loop_state.appendChild(v),this.loop_state.appendChild(y),this.loop_state.appendChild(x),this.groupEl.appendChild(this.sliderEl),this.groupEl.appendChild(e),this.model.show_loop_controls&&this.groupEl.appendChild(this.loop_state),this.el.appendChild(this.groupEl)}set_frame(e){this.model.value!=e&&(this.model.value=e),this.sliderEl.value!=String(e)&&(this.sliderEl.value=String(e))}get_loop_state(){for(var e=this.loop_state.state,t=0;t<e.length;t++){var i=e[t];if(i.checked)return i.value}return"once"}set_loop_state(e){for(var t=this.loop_state.state,i=0;i<t.length;i++){var s=t[i];s.value==e&&(s.checked=!0)}}next_frame(){this.set_frame(Math.min(this.model.end,this.model.value+this.model.step))}previous_frame(){this.set_frame(Math.max(this.model.start,this.model.value-this.model.step))}first_frame(){this.set_frame(this.model.start)}last_frame(){this.set_frame(this.model.end)}slower(){this.model.interval=Math.round(this.model.interval/.7),this.model.direction>0?this.play_animation():this.model.direction<0&&this.reverse_animation()}faster(){this.model.interval=Math.round(.7*this.model.interval),this.model.direction>0?this.play_animation():this.model.direction<0&&this.reverse_animation()}anim_step_forward(){if(this.model.value<this.model.end)this.next_frame();else{var e=this.get_loop_state();"loop"==e?this.first_frame():"reflect"==e?(this.last_frame(),this.reverse_animation()):(this.pause_animation(),this.last_frame())}}anim_step_reverse(){if(this.model.value>this.model.start)this.previous_frame();else{var e=this.get_loop_state();"loop"==e?this.last_frame():"reflect"==e?(this.first_frame(),this.play_animation()):(this.pause_animation(),this.first_frame())}}pause_animation(){this._toogle_pause(),this.model.direction=0,this.timer&&(clearInterval(this.timer),this.timer=null)}play_animation(){this.pause_animation(),this._toggle_play(),this.model.direction=1,this.timer||(this.timer=setInterval((()=>this.anim_step_forward()),this.model.interval))}reverse_animation(){this.pause_animation(),this._toggle_reverse(),this.model.direction=-1,this.timer||(this.timer=setInterval((()=>this.anim_step_reverse()),this.model.interval))}}i.PlayerView=h,h.__name__="PlayerView",i.LoopPolicy=l.Enum("once","loop","reflect");class c extends a.Widget{constructor(e){super(e)}static init_Player(){this.prototype.default_view=h,this.define((({Boolean:e,Int:t})=>({direction:[t,0],interval:[t,500],start:[t],end:[t],step:[t,1],loop_policy:[i.LoopPolicy,"once"],value:[t,0],show_loop_controls:[e,!0]}))),this.override({width:400})}}i.Player=c,c.__name__="Player",c.__module__="panel.models.widgets",c.init_Player()},n”, “ "47b5ae5c43": function _(t,e,o,i,r){i();const l=t("tslib").__importStar(t("@bokehjs/core/properties")),s=t("@bokehjs/core/dom"),a=t("@bokehjs/core/util/object"),p=t("@bokehjs/core/util/eq"),n=t("@bokehjs/models/layouts/html_box"),_=t("99a25e6992"),h=t("990b5dd5c7"),u=t("7116a7a602"),d=(t,e,o)=>{let i=Array.isArray(e)?[]:{};if("click"===o||"hover"===o||"selected"===o){const o=[];if(null==e)return null;const r=t.data;for(let t=0;t<e.points.length;t++){const i=e.points[t];let l={};for(let t in i){const e=i[t];!i.hasOwnProperty(t)||Array.isArray(e)||h.isPlainObject(e)||(l[t]=e)}null!=i&&(i.hasOwnProperty("curveNumber")&&i.hasOwnProperty("pointNumber")&&r[i.curveNumber].hasOwnProperty("customdata")&&(l.customdata=r[i.curveNumber].customdata[i.pointNumber]),i.hasOwnProperty("pointNumbers")&&(l.pointNumbers=i.pointNumbers)),o[t]=l}i.points=o}else if("relayout"===o||"restyle"===o)for(let t in e)e.hasOwnProperty(t)&&(i[t]=e[t]);return e.hasOwnProperty("range")&&(i.range=e.range),e.hasOwnProperty("lassoPoints")&&(i.lassoPoints=e.lassoPoints),i};class y extends u.PanelHTMLBoxView{constructor(){super(…arguments),this._settingViewport=!1,this._plotInitialized=!1,this._reacting=!1,this._relayouting=!1,this._end_relayouting=_.debounce((()=>{this._relayouting=!1}),2e3,!1)}connect_signals(){super.connect_signals(),this.connect(this.model.properties.viewport_update_policy.change,this._updateSetViewportFunction),this.connect(this.model.properties.viewport_update_throttle.change,this._updateSetViewportFunction),this.connect(this.model.properties._render_count.change,this.plot),this.connect(this.model.properties.viewport.change,this._updateViewportFromProperty)}render(){super.render(),this._layout_wrapper=s.div({style:"height: 100%; width: 100%"}),this.el.appendChild(this._layout_wrapper),window.Plotly&&this.plot()}plot(){if(!window.Plotly)return;const t=[];for(let e=0;e<this.model.data.length;e++)t.push(this._get_trace(e,!1));let e=h.deepCopy(this.model.layout);if(this._relayouting){const{layout:t}=this._layout_wrapper;Object.keys(t).reduce(((t,o)=>{"axis"===o.slice(1,5)&&"range"in t&&(e[o].range=t.range)}),{})}this._reacting=!0,window.Plotly.react(this._layout_wrapper,t,e,this.model.config).then((()=>{var t,e;this._updateSetViewportFunction(),this._updateViewportProperty(),this._plotInitialized||(this._layout_wrapper.on("plotly_relayout",(t=>{!0!==t._update_from_property&&(this.model.relayout_data=d(this._layout_wrapper,t,"relayout"),this._updateViewportProperty(),this._end_relayouting())})),this._layout_wrapper.on("plotly_relayouting",(()=>{"mouseup"!==this.model.viewport_update_policy&&(this._relayouting=!0,this._updateViewportProperty())})),this._layout_wrapper.on("plotly_restyle",(t=>{this.model.restyle_data=d(this._layout_wrapper,t,"restyle"),this._updateViewportProperty()})),this._layout_wrapper.on("plotly_click",(t=>{this.model.click_data=d(this._layout_wrapper,t,"click")})),this._layout_wrapper.on("plotly_hover",(t=>{this.model.hover_data=d(this._layout_wrapper,t,"hover")})),this._layout_wrapper.on("plotly_selected",(t=>{this.model.selected_data=d(this._layout_wrapper,t,"selected")})),this._layout_wrapper.on("plotly_clickannotation",(t=>{delete t.event,delete t.fullAnnotation,this.model.clickannotation_data=t})),this._layout_wrapper.on("plotly_deselect",(()=>{this.model.selected_data=null})),this._layout_wrapper.on("plotly_unhover",(()=>{this.model.hover_data=null}))),this._plotInitialized=!0,this._reacting=!1,t=this._layout_wrapper,(e=window.getComputedStyle(t).display)&&"none"!==e&&window.Plotly.Plots.resize(this._layout_wrapper)}))}_get_trace(t,e){const o=a.clone(this.model.data[t]),i=this.model.data_sources[t];for(const t of i.columns()){let r=i.get_array(t)[0];if(null!=r.shape&&r.shape.length>1){const t=[],e=r.shape;for(let o=0;o<e[0];o++)t.push(r.slice(o*e[1],(o+1)*e[1]));r=t}let l=t.split("."),s=l[l.length-1],a=o;for(let t of l.slice(0,-1))a=a[t];e&&1==l.length?a[s]=[r]:a[s]=r}return o}_updateViewportFromProperty(){if(!window.Plotly||this._settingViewport||this._reacting||!this.model.viewport)return;const t=this._layout_wrapper._fullLayout;Object.keys(this.model.viewport).reduce(((e,o)=>{if(p.isEqual(h.get(t,o),e))return!0;{let t=h.deepCopy(this.model.viewport);return t._update_from_property=!0,window.Plotly.relayout(this.el,t),!1}}),{})}_updateViewportProperty(){const t=this._layout_wrapper._fullLayout;let e={};for(let o in t){if(!t.hasOwnProperty(o))continue;let i=o.slice(0,5);"xaxis"!==i&&"yaxis"!==i||(e[o+".range"]=h.deepCopy(t[o].range))}p.isEqual(e,this.model.viewport)||this._setViewport(e)}_updateSetViewportFunction(){"continuous"===this.model.viewport_update_policy||"mouseup"===this.model.viewport_update_policy?this._setViewport=t=>{this._settingViewport||(this._settingViewport=!0,this.model.viewport=t,this._settingViewport=!1)}:this._setViewport=h.throttle((t=>{this._settingViewport||(this._settingViewport=!0,this.model.viewport=t,this._settingViewport=!1)}),this.model.viewport_update_throttle)}}o.PlotlyPlotView=y,y.__name__="PlotlyPlotView";class c extends n.HTMLBox{constructor(t){super(t)}static init_PlotlyPlot(){this.prototype.default_view=y,this.define({data:[l.Array,[]],layout:[l.Any,{}],config:[l.Any,{}],data_sources:[l.Array,[]],relayout_data:[l.Any,{}],restyle_data:[l.Array,[]],click_data:[l.Any,{}],hover_data:[l.Any,{}],clickannotation_data:[l.Any,{}],selected_data:[l.Any,{}],viewport:[l.Any,{}],viewport_update_policy:[l.String,"mouseup"],viewport_update_throttle:[l.Number,200],_render_count:[l.Number,0]})}}o.PlotlyPlot=c,c.__name__="PlotlyPlot",c.__module__="panel.models.plotly",c.init_PlotlyPlot()},n”, “ "99a25e6992": function _(n,l,u,t,e){function o(n,l,u){var t,e,o,a,r;function i(){var c=Date.now()-a;c<l&&c>=0?t=setTimeout(i,l-c):(t=null,u||(r=n.apply(o,e),o=e=null))}null==l&&(l=100);var c=function(){o=this,e=arguments,a=Date.now();var c=u&&!t;return t||(t=setTimeout(i,l)),c&&(r=n.apply(o,e),o=e=null),r};return c.clear=function(){t&&(clearTimeout(t),t=null)},c.flush=function(){t&&(r=n.apply(o,e),o=e=null,clearTimeout(t),t=null)},c}o.debounce=o,l.exports=o},n”, “ "990b5dd5c7": function _(t,n,r,e,o){e();r.get=(t,n,r)=>{const e=r=>String.prototype.split.call(n,r).filter(Boolean).reduce(((t,n)=>null!=t?t[n]:t),t),o=e(/[,[\]]+?/)||e(/[,[\].]+?/);return void 0===o||o===t?r:o},r.throttle=function(t,n){var r=0;return function(){var e=Number(new Date);e-r>=n&&(t(),r=e)}},r.deepCopy=function t(n){var r;if(null==n||"object"!=typeof n)return n;if(n instanceof Array){r=[];for(var e=0,o=n.length;e<o;e++)r[e]=t(n[e]);return r}if(n instanceof Object){const r={};for(const e in n){const o=e;n.hasOwnProperty(o)&&(r[o]=t(n[o]))}return r}throw new Error("Unable to copy obj! Its type isn’t supported.")},r.isPlainObject=function(t){return"[object Object]"===Object.prototype.toString.call(t)}},n”, “ "9f787650b9": function _(e,s,t,i,o){i();const r=e("tslib").__importStar(e("@bokehjs/core/properties")),h=e("@bokehjs/models/layouts/html_box"),l=e("7116a7a602");class n extends h.HTMLBoxView{connect_signals(){super.connect_signals();const e=()=>{this.render(),this.root.compute_layout()};this.connect(this.model.properties.height.change,e),this.connect(this.model.properties.width.change,e),this.connect(this.model.properties.height_policy.change,e),this.connect(this.model.properties.width_policy.change,e),this.connect(this.model.properties.sizing_mode.change,e),this.connect(this.model.properties.active.change,(()=>this.setCSS())),this.connect(this.model.properties.bar_color.change,(()=>this.setCSS())),this.connect(this.model.properties.css_classes.change,(()=>this.setCSS())),this.connect(this.model.properties.value.change,(()=>this.setValue())),this.connect(this.model.properties.max.change,(()=>this.setMax()))}render(){super.render();const e=Object.assign(Object.assign({},this.model.style),{display:"inline-block"});this.progressEl=document.createElement("progress"),this.setValue(),this.setMax(),l.set_size(this.progressEl,this.model),this.setCSS();for(const s in e)this.progressEl.style.setProperty(s,e[s]);this.el.appendChild(this.progressEl)}setCSS(){let e=this.model.css_classes.join(" ")+" "+this.model.bar_color;this.model.active&&(e+=" active"),this.progressEl.className=e}setValue(){null!=this.model.value&&(this.progressEl.value=this.model.value)}setMax(){null!=this.model.max&&(this.progressEl.max=this.model.max)}_update_layout(){let e=void 0!==this._prev_sizing_mode&&this._prev_sizing_mode!==this.model.sizing_mode;this._prev_sizing_mode=this.model.sizing_mode,this.layout=new l.CachedVariadicBox(this.el,this.model.sizing_mode,e),this.layout.set_sizing(this.box_sizing())}}t.ProgressView=n,n.__name__="ProgressView";class c extends h.HTMLBox{constructor(e){super(e)}static init_Progress(){this.prototype.default_view=n,this.define({active:[r.Boolean,!0],bar_color:[r.String,"primary"],style:[r.Any,{}],max:[r.Number,100],value:[r.Any,null]})}}t.Progress=c,c.__name__="Progress",c.__module__="panel.models.widgets",c.init_Progress()},n”, “ "3b85956787": function _(e,t,s,i,n){i();const l=e("tslib"),o=e("@bokehjs/core/dom"),c=e("@bokehjs/core/util/types"),r=e("@bokehjs/models/widgets/input_widget"),h=l.__importStar(e("@bokehjs/styles/widgets/inputs.css"));class d extends r.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,s;return c.isString(e)?t=s=e:[t,s]=e,o.option({value:t},s)}));this.select_el=o.select({multiple:!1,class:h.input,name:this.model.name,disabled:this.model.disabled},e),this.select_el.style.backgroundImage="none",this.select_el.addEventListener("change",(()=>this.change_input())),this.group_el.appendChild(this.select_el),this.render_selection()}render_selection(){const e=this.model.value;for(const t of this.el.querySelectorAll("option"))t.value===e&&(t.selected=!0);this.select_el.size=this.model.size}change_input(){const e=null!=this.el.querySelector("select:focus");let t=null;for(const e of this.el.querySelectorAll("option"))if(e.selected){t=e.value;break}this.model.value=t,super.change_input(),e&&this.select_el.focus()}}s.SingleSelectView=d,d.__name__="SingleSelectView";class a extends r.InputWidget{constructor(e){super(e)}static init_SingleSelect(){this.prototype.default_view=d,this.define((({Any:e,Array:t,Int:s,String:i})=>({value:[i,""],options:[t(e),[]],size:[s,4]})))}}s.SingleSelect=a,a.__name__="SingleSelect",a.__module__="panel.models.widgets",a.init_SingleSelect()},n”, “ "aaa48703af": function _(t,e,i,o,n){o();const s=t("tslib").__importStar(t("@bokehjs/core/properties")),r=t("@bokehjs/models/layouts/html_box"),h="Click to START the speech recognition.",{webkitSpeechRecognition:a}=window,{webkitSpeechGrammarList:l}=window;class c extends r.HTMLBoxView{initialize(){var t,e;super.initialize(),this.recognition=new a,this.recognition.lang=this.model.lang,this.recognition.continuous=this.model.continuous,this.recognition.interimResults=this.model.interim_results,this.recognition.maxAlternatives=this.model.max_alternatives,this.recognition.serviceURI=this.model.service_uri,this.setGrammars(),this.recognition.onresult=t=>{this.model.results=function(t){const e=[];for(let o of t){let t=[],n={is_final:o.isFinal,alternatives:t};for(let e=0;e<o.length;e++){let n={confidence:(i=o[e].confidence,Math.round(100*(i+Number.EPSILON))/100),transcript:o[e].transcript};t.push(n)}n.alternatives=t,e.push(n)}var i;return e}(t.results)},this.recognition.onerror=t=>{console.log("SpeechToText Error"),console.log(t)},this.recognition.onnomatch=t=>{console.log("SpeechToText No Match"),console.log(t)},this.recognition.onaudiostart=()=>this.model.audio_started=!0,this.recognition.onaudioend=()=>this.model.audio_started=!1,this.recognition.onsoundstart=()=>this.model.sound_started=!0,this.recognition.onsoundend=()=>this.model.sound_started=!1,this.recognition.onspeechstart=()=>this.model.speech_started=!0,this.recognition.onspeechend=()=>this.model.speech_started=!1,this.recognition.onstart=()=>{this.buttonEl.onclick=()=>{this.recognition.stop()},this.buttonEl.innerHTML=this.iconStarted(),this.buttonEl.setAttribute("title","Click to STOP the speech recognition."),this.model.started=!0},this.recognition.onend=()=>{this.buttonEl.onclick=()=>{this.recognition.start()},this.buttonEl.innerHTML=this.iconNotStarted(),this.buttonEl.setAttribute("title",h),this.model.started=!1},this.buttonEl=(t=`<button class="bk bk-btn bk-btn-${this.model.button_type}" type="button" title="${h}"></button>`,e=document.createElement("template"),t=t.trim(),e.innerHTML=t,e.content.firstChild),this.buttonEl.innerHTML=this.iconNotStarted(),this.buttonEl.onclick=()=>this.recognition.start()}iconStarted(){return""!==this.model.button_started?this.model.button_started:’<svg xmlns="http://www.w3.org/2000/svg" height="22px" style="vertical-align: middle;" fill="currentColor" class="bi bi-mic" viewBox="0 0 16 16">\n <path fill-rule="evenodd" d="M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5z"/>\n <path fill-rule="evenodd" d="M10 8V3a2 2 0 1 0-4 0v5a2 2 0 1 0 4 0zM8 0a3 3 0 0 0-3 3v5a3 3 0 0 0 6 0V3a3 3 0 0 0-3-3z"/>\n</svg>’}iconNotStarted(){return""!==this.model.button_not_started?this.model.button_not_started:’<svg xmlns="http://www.w3.org/2000/svg" height="22px" style="vertical-align: middle;" fill="currentColor" class="bi bi-mic-mute" viewBox="0 0 16 16">\n<path fill-rule="evenodd" d="M12.734 9.613A4.995 4.995 0 0 0 13 8V7a.5.5 0 0 0-1 0v1c0 .274-.027.54-.08.799l.814.814zm-2.522 1.72A4 4 0 0 1 4 8V7a.5.5 0 0 0-1 0v1a5 5 0 0 0 4.5 4.975V15h-3a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-3v-2.025a4.973 4.973 0 0 0 2.43-.923l-.718-.719zM11 7.88V3a3 3 0 0 0-5.842-.963l.845.845A2 2 0 0 1 10 3v3.879l1 1zM8.738 9.86l.748.748A3 3 0 0 1 5 8V6.121l1 1V8a2 2 0 0 0 2.738 1.86zm4.908 3.494l-12-12 .708-.708 12 12-.708.707z"/>\n</svg>’}setIcon(){this.model.started?this.buttonEl.innerHTML=this.iconStarted():this.buttonEl.innerHTML=this.iconNotStarted()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.start.change,(()=>{this.model.start=!1,this.recognition.start()})),this.connect(this.model.properties.stop.change,(()=>{this.model.stop=!1,this.recognition.stop()})),this.connect(this.model.properties.abort.change,(()=>{this.model.abort=!1,this.recognition.abort()})),this.connect(this.model.properties.grammars.change,(()=>this.setGrammars())),this.connect(this.model.properties.lang.change,(()=>this.recognition.lang=this.model.lang)),this.connect(this.model.properties.continuous.change,(()=>this.recognition.continuous=this.model.continuous)),this.connect(this.model.properties.interim_results.change,(()=>this.recognition.interimResults=this.model.interim_results)),this.connect(this.model.properties.max_alternatives.change,(()=>this.recognition.maxAlternatives=this.model.max_alternatives)),this.connect(this.model.properties.service_uri.change,(()=>this.recognition.serviceURI=this.model.service_uri)),this.connect(this.model.properties.button_type.change,(()=>this.buttonEl.className=`bk bk-btn bk-btn-${this.model.button_type}`)),this.connect(this.model.properties.button_hide.change,(()=>this.render()));const{button_not_started:t,button_started:e}=this.model.properties;this.on_change([t,e],(()=>this.setIcon()))}setGrammars(){this.recognition.grammars=function(t){if(t){var e=new l;for(let i of t)i.src?e.addFromString(i.src,i.weight):i.uri&&e.addFromURI(i.uri,i.weight);return e}return null}(this.model.grammars)}render(){super.render(),this.model.button_hide||this.el.appendChild(this.buttonEl)}}i.SpeechToTextView=c,c.__name__="SpeechToTextView";class d extends r.HTMLBox{constructor(t){super(t)}static init_SpeechToText(){this.prototype.default_view=c,this.define({start:[s.Boolean,!1],stop:[s.Boolean,!1],abort:[s.Boolean,!1],grammars:[s.Array,[]],lang:[s.String,""],continuous:[s.Boolean,!1],interim_results:[s.Boolean,!1],max_alternatives:[s.Number,1],service_uri:[s.String],started:[s.Boolean,!1],audio_started:[s.Boolean,!1],sound_started:[s.Boolean,!1],speech_started:[s.Boolean,!1],button_type:[s.String,"light"],button_hide:[s.Boolean,!1],button_not_started:[s.String,""],button_started:[s.String,""],results:[s.Array,[]]})}}i.SpeechToText=d,d.__name__="SpeechToText",d.__module__="panel.models.speech_to_text",d.init_SpeechToText()},n”, “ "bfa46a5f19": function _(e,t,s,a,i){a();const o=e("@bokehjs/core/view"),c=e("@bokehjs/core/util/array"),n=e("@bokehjs/model"),h=e("@bokehjs/protocol/receiver");class _ extends o.View{renderTo(){}}s.StateView=_,_.__name__="StateView";class r extends n.Model{constructor(e){super(e),this._receiver=new h.Receiver,this._cache={}}apply_state(e){this._receiver.consume(e.header),this._receiver.consume(e.metadata),this._receiver.consume(e.content),this._receiver.message&&this.document&&this.document.apply_json_patch(this._receiver.message.content)}_receive_json(e,t){const s=JSON.parse(e);this._cache[t]=s;let a=this.state;for(const e of this.values)a=a[e];a===t?this.apply_state(s):this._cache[a]&&this.apply_state(this._cache[a])}set_state(e,t){let s=c.copy(this.values);s[this.widgets[e.id]]=t;let a=this.state;for(const e of s)a=a[e];var i,o,n;this.values=s,this.json?this._cache[a]?this.apply_state(this._cache[a]):(i=a,o=e=>this._receive_json(e,a),(n=new XMLHttpRequest).overrideMimeType("application/json"),n.open("GET",i,!0),n.onreadystatechange=function(){4==n.readyState&&200==n.status&&o(n.responseText)},n.send(null)):this.apply_state(a)}static init_State(){this.prototype.default_view=_,this.define((({Any:e,Boolean:t})=>({json:[t,!1],state:[e,{}],widgets:[e,{}],values:[e,[]]})))}}s.State=r,r.__name__="State",r.__module__="panel.models.state",r.init_State()},n”, “ "33cd2c254e": function _(e,s,i,t,n){t();const h=e("@bokehjs/models/layouts/html_box");function o(e){var s=[];for(let t of e){var i={default:t.default,lang:t.lang,local_service:t.localService,name:t.name,voice_uri:t.voiceURI};s.push(i)}return s}class c extends h.HTMLBoxView{initialize(){super.initialize(),this.model.paused=speechSynthesis.paused,this.model.pending=speechSynthesis.pending,this.model.speaking=speechSynthesis.speaking,this._callback=window.setInterval((function(){!speechSynthesis.paused&&speechSynthesis.speaking&&window.speechSynthesis.resume()}),1e4);const e=()=>{"undefined"!=typeof speechSynthesis&&(this.voices=speechSynthesis.getVoices(),this.voices&&(this.model.voices=o(this.voices)))};e(),"undefined"!=typeof speechSynthesis&&void 0!==speechSynthesis.onvoiceschanged&&(speechSynthesis.onvoiceschanged=e)}remove(){null!=this._callback&&clearInterval(this._callback),speechSynthesis.cancel(),super.remove()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.speak.change,(()=>{this.speak()})),this.connect(this.model.properties.pause.change,(()=>{this.model.pause=!1,speechSynthesis.pause()})),this.connect(this.model.properties.resume.change,(()=>{this.model.resume=!1,speechSynthesis.resume()})),this.connect(this.model.properties.cancel.change,(()=>{this.model.cancel=!1,speechSynthesis.cancel()}))}speak(){let e=new SpeechSynthesisUtterance(this.model.speak.text);if(e.pitch=this.model.speak.pitch,e.volume=this.model.speak.volume,e.rate=this.model.speak.rate,this.model.voices)for(let s of this.voices)s.name===this.model.speak.voice&&(e.voice=s);e.onpause=()=>this.model.paused=!0,e.onstart=()=>{this.model.speaking=!0,this.model.paused=!1,this.model.pending=speechSynthesis.pending},e.onresume=()=>this.model.paused=!1,e.onend=()=>{this.model.speaking=!1,this.model.paused=!1,this.model.pending=speechSynthesis.pending},speechSynthesis.speak(e),this.model.paused=speechSynthesis.paused,this.model.pending=speechSynthesis.pending}render(){super.render(),this.model.voices||(this.model.voices=o(this.voices)),null!=this.model.speak&&this.model.speak.text&&this.speak()}}i.TextToSpeechView=c,c.__name__="TextToSpeechView";class p extends h.HTMLBox{constructor(e){super(e)}static init_TextToSpeech(){this.prototype.default_view=c,this.define((({Any:e,Array:s,Boolean:i})=>({paused:[i,!1],pending:[i,!1],speaking:[i,!1],voices:[s(e),[]],cancel:[i,!1],pause:[i,!1],resume:[i,!1],speak:[e,{}]})))}}i.TextToSpeech=p,p.__name__="TextToSpeech",p.__module__="panel.models.text_to_speech",p.init_TextToSpeech()},n”, “ "2efaffc12a": function _(t,e,i,l,o){l();const s=t("@bokehjs/models/layouts/html_box"),h=t("@bokehjs/core/build_views"),n=t("@bokehjs/models/plots"),a=t("@bokehjs/models/glyphs"),d=t("@bokehjs/core/dom"),r=t("@bokehjs/models/sources/column_data_source"),c=t("@bokehjs/models/formatters");class p extends s.HTMLBoxView{initialize(){super.initialize(),this.containerDiv=d.div({style:"height:100%; width:100%;"}),this.titleDiv=d.div({style:"font-size: 1em"}),this.valueDiv=d.div({style:"font-size: 2em"}),this.value2Div=d.div({style:"font-size: 1em; opacity: 0.5; display: inline"}),this.changeDiv=d.div({style:"font-size: 1em; opacity: 0.5; display: inline"}),this.textDiv=d.div({},this.titleDiv,this.valueDiv,d.div({},this.changeDiv,this.value2Div)),this.updateTitle(),this.updateValue(),this.updateValue2(),this.updateValueChange(),this.updateTextFontSize(),this.plotDiv=d.div({}),this.containerDiv=d.div({style:"height:100%; width:100%"},this.textDiv,this.plotDiv),this.updateLayout()}connect_signals(){super.connect_signals();const{pos_color:t,neg_color:e}=this.model.properties;this.on_change([t,e],(()=>this.updateValueChange()));const{plot_color:i,plot_type:l,width:o,height:s,sizing_mode:h}=this.model.properties;this.on_change([i,l,o,s,h],(()=>this.render())),this.connect(this.model.properties.title.change,(()=>this.updateTitle(!0))),this.connect(this.model.properties.value.change,(()=>this.updateValue(!0))),this.connect(this.model.properties.value_change.change,(()=>this.updateValue2(!0))),this.connect(this.model.properties.layout.change,(()=>this.updateLayout()))}async render(){super.render(),this.el.appendChild(this.containerDiv),await this.setPlot()}async setPlot(){this.plot=new n.Plot({background_fill_color:null,border_fill_color:null,outline_line_color:null,min_border:0,sizing_mode:"stretch_both",toolbar_location:null});var t=this.model.source;if("line"===this.model.plot_type){var e=new a.Line({x:{field:this.model.plot_x},y:{field:this.model.plot_y},line_width:4,line_color:this.model.plot_color});this.plot.add_glyph(e,t)}else if("step"===this.model.plot_type){var i=new a.Step({x:{field:this.model.plot_x},y:{field:this.model.plot_y},line_width:3,line_color:this.model.plot_color});this.plot.add_glyph(i,t)}else if("area"===this.model.plot_type){var l=new a.VArea({x:{field:this.model.plot_x},y1:{field:this.model.plot_y},y2:0,fill_color:this.model.plot_color,fill_alpha:.5});this.plot.add_glyph(l,t);e=new a.Line({x:{field:this.model.plot_x},y:{field:this.model.plot_y},line_width:3,line_color:this.model.plot_color});this.plot.add_glyph(e,t)}else{var o=new a.VBar({x:{field:this.model.plot_x},top:{field:this.model.plot_y},width:.9,line_color:null,fill_color:this.model.plot_color});this.plot.add_glyph(o,t)}const s=await h.build_view(this.plot);this.plotDiv.innerHTML="",s.renderTo(this.plotDiv)}after_layout(){super.after_layout(),this.updateTextFontSize()}updateTextFontSize(){this.updateTextFontSizeColumn()}updateTextFontSizeColumn(){let t=this.containerDiv.clientWidth,e=this.containerDiv.clientHeight;"column"===this.model.layout?e=Math.round(e/2):t=Math.round(t/2);const i=t/this.model.title.length*2,l=t/(2*this._value_format.length)*1.8,o=t/(this._value_change_format.length+1)*2,s=e/6,h=Math.min(i,l,o,s);this.textDiv.style.fontSize=Math.trunc(h)+"px",this.textDiv.style.lineHeight="1.3"}updateTitle(t=!1){this.titleDiv.innerText=this.model.title,t&&this.updateTextFontSize()}updateValue(t=!1){this._value_format=this.model.formatter.doFormat([this.model.value],{loc:0})[0],this.valueDiv.innerText=this._value_format,t&&this.updateTextFontSize()}updateValue2(t=!1){this._value_change_format=this.model.change_formatter.doFormat([this.model.value_change],{loc:0})[0],this.value2Div.innerText=this._value_change_format,this.updateValueChange(),t&&this.updateTextFontSize()}updateValueChange(){this.model.value_change>0?(this.changeDiv.innerHTML="&#9650;",this.changeDiv.style.color=this.model.pos_color):this.model.value_change<0?(this.changeDiv.innerHTML="&#9660;",this.changeDiv.style.color=this.model.neg_color):(this.changeDiv.innerHTML="&nbsp;",this.changeDiv.style.color="inherit")}updateLayout(){"column"===this.model.layout?(this.containerDiv.style.display="block",this.textDiv.style.height="50%",this.textDiv.style.width="100%",this.plotDiv.style.height="50%",this.plotDiv.style.width="100%"):(this.containerDiv.style.display="flex",this.textDiv.style.height="100%",this.textDiv.style.width="",this.plotDiv.style.height="100%",this.plotDiv.style.width="",this.textDiv.style.flex="1",this.plotDiv.style.flex="1"),window.dispatchEvent(new Event("resize"))}}i.TrendIndicatorView=p,p.__name__="TrendIndicatorView";class _ extends s.HTMLBox{constructor(t){super(t)}static init_TrendIndicator(){this.prototype.default_view=p,this.define((({Number:t,String:e,Ref:i})=>({description:[e,""],formatter:[i(c.TickFormatter),()=>new c.BasicTickFormatter],change_formatter:[i(c.TickFormatter),()=>new c.NumeralTickFormatter],layout:[e,"column"],source:[i(r.ColumnDataSource)],plot_x:[e,"x"],plot_y:[e,"y"],plot_color:[e,"#428bca"],plot_type:[e,"bar"],pos_color:[e,"#5cb85c"],neg_color:[e,"#d9534f"],title:[e,""],value:[t,0],value_change:[t,0]})))}}i.TrendIndicator=_,_.__name__="TrendIndicator",_.__module__="panel.models.trend",_.init_TrendIndicator()},n”, “ "4feb5fa522": function _(t,e,s,o,a){o();const n=t("@bokehjs/core/util/types"),c=t("@bokehjs/models/layouts/html_box");class d extends c.HTMLBoxView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.data.change,this._plot),this.connect(this.model.properties.data_sources.change,(()=>this._connect_sources())),this._connected=[],this._connect_sources()}_connect_sources(){for(const t in this.model.data_sources){const e=this.model.data_sources[t];this._connected.indexOf(t)<0&&(this.connect(e.properties.data.change,this._plot),this._connected.push(t))}}_fetch_datasets(){const t={};for(const e in this.model.data_sources){const s=this.model.data_sources[e],o=[],a=s.columns();for(let t=0;t<s.get_length();t++){const e={};for(const o of a)e[o]=s.data[o][t];o.push(e)}t[e]=o}return t}render(){super.render(),this._plot()}_plot(){const t=this.model.data;if(null!=t&&window.vegaEmbed){if(this.model.data_sources&&Object.keys(this.model.data_sources).length>0){const e=this._fetch_datasets();if("data"in e&&(t.data.values=e.data,delete e.data),null!=t.data){const s=n.isArray(t.data)?t.data:[t.data];for(const t of s)t.name in e&&(t.values=e[t.name],delete e[t.name])}this.model.data.datasets=e}window.vegaEmbed(this.el,this.model.data,{actions:!1})}}}s.VegaPlotView=d,d.__name__="VegaPlotView";class i extends c.HTMLBox{constructor(t){super(t)}static init_VegaPlot(){this.prototype.default_view=d,this.define((({Any:t})=>({data:[t,{}],data_sources:[t,{}]})))}}s.VegaPlot=i,i.__name__="VegaPlot",i.__module__="panel.models.vega",i.init_VegaPlot()},n”, “ "ffe54b53c3": function _(e,i,t,o,s){o();const l=e("@bokehjs/models/layouts/html_box"),d=e("7116a7a602");class h extends d.PanelHTMLBoxView{initialize(){super.initialize(),this._blocked=!1,this._setting=!1,this._time=Date.now()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.loop.change,(()=>this.set_loop())),this.connect(this.model.properties.paused.change,(()=>this.set_paused())),this.connect(this.model.properties.time.change,(()=>this.set_time())),this.connect(this.model.properties.value.change,(()=>this.set_value())),this.connect(this.model.properties.volume.change,(()=>this.set_volume()))}render(){super.render(),this.videoEl=document.createElement("video"),this.model.sizing_mode&&"fixed"!==this.model.sizing_mode||(this.model.height&&(this.videoEl.height=this.model.height),this.model.width&&(this.videoEl.width=this.model.width)),this.videoEl.style.objectFit="fill",this.videoEl.style.minWidth="100%",this.videoEl.style.minHeight="100%",this.videoEl.controls=!0,this.videoEl.src=this.model.value,this.videoEl.currentTime=this.model.time,this.videoEl.loop=this.model.loop,null!=this.model.volume?this.videoEl.volume=this.model.volume/100:this.model.volume=100*this.videoEl.volume,this.videoEl.onpause=()=>this.model.paused=!0,this.videoEl.onplay=()=>this.model.paused=!1,this.videoEl.ontimeupdate=()=>this.update_time(this),this.videoEl.onvolumechange=()=>this.update_volume(this),this.el.appendChild(this.videoEl),this.model.paused||this.videoEl.play()}update_time(e){e._setting?e._setting=!1:Date.now()-e._time<e.model.throttle||(e._blocked=!0,e.model.time=e.videoEl.currentTime,e._time=Date.now())}update_volume(e){e._setting?e._setting=!1:(e._blocked=!0,e.model.volume=100*e.videoEl.volume)}set_loop(){this.videoEl.loop=this.model.loop}set_paused(){!this.videoEl.paused&&this.model.paused&&this.videoEl.pause(),this.videoEl.paused&&!this.model.paused&&this.videoEl.play()}set_volume(){this._blocked?this._blocked=!1:(this._setting=!0,null!=this.model.volume&&(this.videoEl.volume=this.model.volume/100))}set_time(){this._blocked?this._blocked=!1:(this._setting=!0,this.videoEl.currentTime=this.model.time)}set_value(){this.videoEl.src=this.model.value}}t.VideoView=h,h.__name__="VideoView";class m extends l.HTMLBox{constructor(e){super(e)}static init_Video(){this.prototype.default_view=h,this.define((({Any:e,Boolean:i,Int:t,Number:o})=>({loop:[i,!1],paused:[i,!0],time:[o,0],throttle:[t,250],value:[e,""],volume:[t]})))}}t.Video=m,m.__name__="Video",m.__module__="panel.models.widgets",m.init_Video()},n”, “ "9ff7f7b5e9": function _(e,t,i,s,o){s();const h=e("@bokehjs/models/layouts/html_box"),l=e("7116a7a602");class a extends l.PanelHTMLBoxView{constructor(){super(…arguments),this.constraints={audio:!1,video:!0}}initialize(){super.initialize(),null!==this.model.timeout&&this.set_timeout()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.timeout.change,(()=>this.set_timeout())),this.connect(this.model.properties.snapshot.change,(()=>this.snapshot())),this.connect(this.model.properties.paused.change,(()=>this.pause()))}pause(){this.model.paused&&(null!=this.timer&&(clearInterval(this.timer),this.timer=null),this.videoEl.pause()),this.set_timeout()}set_timeout(){this.timer&&(clearInterval(this.timer),this.timer=null),null!=this.model.timeout&&this.model.timeout>0&&(this.timer=setInterval((()=>this.snapshot()),this.model.timeout))}snapshot(){this.canvasEl.width=this.videoEl.videoWidth,this.canvasEl.height=this.videoEl.videoHeight;const e=this.canvasEl.getContext("2d");e&&e.drawImage(this.videoEl,0,0,this.canvasEl.width,this.canvasEl.height),this.model.value=this.canvasEl.toDataURL("image/"+this.model.format,.95)}remove(){super.remove(),this.timer&&(clearInterval(this.timer),this.timer=null)}render(){super.render(),this.videoEl||(this.videoEl=document.createElement("video"),this.model.sizing_mode&&"fixed"!==this.model.sizing_mode||(this.model.height&&(this.videoEl.height=this.model.height),this.model.width&&(this.videoEl.width=this.model.width)),this.videoEl.style.objectFit="fill",this.videoEl.style.minWidth="100%",this.videoEl.style.minHeight="100%",this.canvasEl=document.createElement("canvas"),this.el.appendChild(this.videoEl),navigator.mediaDevices.getUserMedia&&navigator.mediaDevices.getUserMedia(this.constraints).then((e=>{this.videoEl.srcObject=e,this.model.paused||this.videoEl.play()})).catch(console.error))}}i.VideoStreamView=a,a.__name__="VideoStreamView";class n extends h.HTMLBox{constructor(e){super(e)}static init_VideoStream(){this.prototype.default_view=a,this.define((({Any:e,Boolean:t,Int:i,Nullable:s,String:o})=>({format:[o,"png"],paused:[t,!1],snapshot:[t,!1],timeout:[s(i),null],value:[e]}))),this.override({height:240,width:320})}}i.VideoStream=n,n.__name__="VideoStream",n.__module__="panel.models.widgets",n.init_VideoStream()},n”, “ "c51f25e2a7": function _(o,V,e,l,K){l(),K("VTKJSPlot",o("34fc7779c7").VTKJSPlot),K("VTKVolumePlot",o("89262e43a1").VTKVolumePlot),K("VTKAxes",o("db7a0079c0").VTKAxes),K("VTKSynchronizedPlot",o("4baab0b7ce").VTKSynchronizedPlot)},n”, “ "34fc7779c7": function _(e,t,n,i,s){i();const a=e("666f1ef4e6"),r=e("4eb45e35aa");class _ extends a.AbstractVTKView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.data.change,(()=>{this.invalidate_render()}))}render(){super.render(),this._create_orientation_widget(),this._set_axes()}invalidate_render(){this._vtk_renwin=null,super.invalidate_render()}init_vtk_renwin(){this._vtk_renwin=r.vtkns.FullScreenRenderWindow.newInstance({rootContainer:this.el,container:this._vtk_container})}plot(){if(!this.model.data)return void this._vtk_renwin.getRenderWindow().render();const e=r.vtkns.DataAccessHelper.get("zip",{zipContent:atob(this.model.data),callback:t=>{const n=r.vtkns.HttpSceneLoader.newInstance({renderer:this._vtk_renwin.getRenderer(),dataAccessHelper:e}),i=r.vtk.macro.debounce((()=>setTimeout((()=>{null==this._axes&&this.model.axes&&this._set_axes(),this._set_camera_state(),this._get_camera_state()}),100)),100);n.setUrl("index.json"),n.onReady(i)}})}}n.VTKJSPlotView=_,_.__name__="VTKJSPlotView";class o extends a.AbstractVTKPlot{static init_VTKJSPlot(){this.prototype.default_view=_,this.define((({Boolean:e,Nullable:t,String:n})=>({data:[t(n)],enable_keybindings:[e,!1]})))}}n.VTKJSPlot=o,o.__name__="VTKJSPlot",o.init_VTKJSPlot()},n”, “ "666f1ef4e6": function _(e,t,i,n,r){n();const s=e("tslib").__importStar(e("@bokehjs/core/properties")),a=e("@bokehjs/core/dom"),o=e("@bokehjs/models/layouts/html_box"),_=e("@bokehjs/core/util/object"),d=e("7116a7a602"),c=e("4eb45e35aa"),h=e("c010237f8b"),l={padding:"0px 2px 0px 2px",maxHeight:"150px",height:"auto",backgroundColor:"rgba(255, 255, 255, 0.4)",borderRadius:"10px",margin:"2px",boxSizing:"border-box",overflow:"hidden",overflowY:"auto",transition:"width 0.1s linear",bottom:"0px",position:"absolute"};class g extends d.PanelHTMLBoxView{initialize(){super.initialize(),this._camera_callbacks=[],this._renderable=!0,this._setting_camera=!1}_add_colorbars(){const e=this.el.querySelector(".vtk_info");if(e&&this.el.removeChild(e),this.model.color_mappers.length<1)return;const t=document.createElement("div"),i="350px",n="30px";t.classList.add("vtk_info"),c.applyStyle(t,l),c.applyStyle(t,{width:i}),this.el.appendChild(t);const r=[];this.model.color_mappers.forEach((e=>{const i=new h.VTKColorBar(t,e);r.push(i)}));const s=document.createElement("div");c.applyStyle(s,{textAlign:"center",fontSize:"20px"}),s.innerText="…",t.addEventListener("click",(()=>{t.style.width===n?(t.removeChild(s),c.applyStyle(t,{height:"auto",width:i}),r.forEach((e=>t.appendChild(e.canvas)))):(r.forEach((e=>t.removeChild(e.canvas))),c.applyStyle(t,{height:n,width:n}),t.appendChild(s))})),t.click()}connect_signals(){super.connect_signals(),this.on_change(this.model.properties.orientation_widget,(()=>{this._orientation_widget_visibility(this.model.orientation_widget)})),this.on_change(this.model.properties.camera,(()=>this._set_camera_state())),this.on_change(this.model.properties.axes,(()=>{this._delete_axes(),this.model.axes&&this._set_axes(),this._vtk_render()})),this.on_change(this.model.properties.color_mappers,(()=>this._add_colorbars()))}render(){super.render(),this._vtk_renwin&&this._vtk_container?(d.set_size(this._vtk_container,this.model),this.el.appendChild(this._vtk_container)):(this._orientationWidget=null,this._axes=null,this._vtk_container=a.div(),this.init_vtk_renwin(),d.set_size(this._vtk_container,this.model),this.el.appendChild(this._vtk_container),this._vtk_renwin.getInteractor().onEndAnimation((()=>this._get_camera_state())),this._remove_default_key_binding(),this._bind_key_events(),this.plot(),this._add_colorbars(),this.model.renderer_el=this._vtk_renwin)}after_layout(){super.after_layout(),this._renderable&&this._vtk_renwin.resize(),this._vtk_render()}invalidate_render(){this._unsubscribe_camera_cb(),super.invalidate_render()}resize_layout(){this.layout&&super.resize_layout()}remove(){this._unsubscribe_camera_cb(),window.removeEventListener("resize",this._vtk_renwin.resize),this._vtk_renwin.delete(),super.remove()}get _vtk_camera_state(){const e=this._vtk_renwin.getRenderer().getActiveCamera();let t;return e&&(t=_.clone(e.get()),delete t.classHierarchy,delete t.vtkObject,delete t.vtkCamera,delete t.viewPlaneNormal,delete t.flattenedDepIds,delete t.managedInstanceId,delete t.directionOfProjection),t}get _axes_canvas(){let e=this._vtk_container.querySelector(".axes-canvas");return e||(e=a.canvas({style:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%"}}),e.classList.add("axes-canvas"),this._vtk_container.appendChild(e),this._vtk_renwin.setResizeCallback((()=>{if(this._axes_canvas){const e=this._vtk_container.getBoundingClientRect(),t=Math.floor(e.width*window.devicePixelRatio),i=Math.floor(e.height*window.devicePixelRatio);this._axes_canvas.setAttribute("width",t.toFixed()),this._axes_canvas.setAttribute("height",i.toFixed())}}))),e}_bind_key_events(){this.el.addEventListener("mouseenter",(()=>{const e=this._vtk_renwin.getInteractor();this.model.enable_keybindings&&(document.querySelector("body").addEventListener("keypress",e.handleKeyPress),document.querySelector("body").addEventListener("keydown",e.handleKeyDown),document.querySelector("body").addEventListener("keyup",e.handleKeyUp))})),this.el.addEventListener("mouseleave",(()=>{const e=this._vtk_renwin.getInteractor();document.querySelector("body").removeEventListener("keypress",e.handleKeyPress),document.querySelector("body").removeEventListener("keydown",e.handleKeyDown),document.querySelector("body").removeEventListener("keyup",e.handleKeyUp)}))}_create_orientation_widget(){const e=c.vtkns.AxesActor.newInstance();this._orientationWidget=c.vtkns.OrientationMarkerWidget.newInstance({actor:e,interactor:this._vtk_renwin.getInteractor()}),this._orientationWidget.setEnabled(!0),this._orientationWidget.setViewportCorner(c.vtkns.OrientationMarkerWidget.Corners.BOTTOM_RIGHT),this._orientationWidget.setViewportSize(.15),this._orientationWidget.setMinPixelSize(75),this._orientationWidget.setMaxPixelSize(300),this.model.interactive_orientation_widget&&this._make_orientation_widget_interactive(),this._orientation_widget_visibility(this.model.orientation_widget)}_make_orientation_widget_interactive(){this._widgetManager=c.vtkns.WidgetManager.newInstance(),this._widgetManager.setRenderer(this._orientationWidget.getRenderer());const e=this._orientationWidget.getActor(),t=c.vtkns.InteractiveOrientationWidget.newInstance();t.placeWidget(e.getBounds()),t.setBounds(e.getBounds()),t.setPlaceFactor(1);this._widgetManager.addWidget(t).onOrientationChange((({direction:e})=>{const t=this._vtk_renwin.getRenderer().getActiveCamera(),i=t.getFocalPoint(),n=t.getPosition(),r=t.getViewUp(),s=Math.sqrt(Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2)+Math.pow(n[2]-i[2],2));t.setPosition(i[0]+e[0]*s,i[1]+e[1]*s,i[2]+e[2]*s),e[0]&&t.setViewUp(c.majorAxis(r,1,2)),e[1]&&t.setViewUp(c.majorAxis(r,0,2)),e[2]&&t.setViewUp(c.majorAxis(r,0,1)),this._vtk_renwin.getRenderer().resetCameraClippingRange(),this._vtk_render(),this._get_camera_state()}))}_delete_axes(){if(this._axes){Object.keys(this._axes).forEach((e=>this._vtk_renwin.getRenderer().removeActor(this._axes[e]))),this._axes=null;const e=this._axes_canvas.getContext("2d");e&&e.clearRect(0,0,this._axes_canvas.clientWidth*window.devicePixelRatio,this._axes_canvas.clientHeight*window.devicePixelRatio)}}_get_camera_state(){this._setting_camera||(this._setting_camera=!0,this.model.camera=this._vtk_camera_state,this._setting_camera=!1)}_orientation_widget_visibility(e){this._orientationWidget.setEnabled(e),null!=this._widgetManager&&(e?this._widgetManager.enablePicking():this._widgetManager.disablePicking()),this._vtk_render()}_remove_default_key_binding(){const e=this._vtk_renwin.getInteractor();document.querySelector("body").removeEventListener("keypress",e.handleKeyPress),document.querySelector("body").removeEventListener("keydown",e.handleKeyDown),document.querySelector("body").removeEventListener("keyup",e.handleKeyUp)}_set_axes(){if(this.model.axes&&this._vtk_renwin.getRenderer()){const{psActor:e,axesActor:t,gridActor:i}=this.model.axes.create_axes(this._axes_canvas);this._axes={psActor:e,axesActor:t,gridActor:i},e&&this._vtk_renwin.getRenderer().addActor(e),t&&this._vtk_renwin.getRenderer().addActor(t),i&&this._vtk_renwin.getRenderer().addActor(i)}}_set_camera_state(){this._setting_camera||void 0===this._vtk_renwin.getRenderer()||(this._setting_camera=!0,this.model.camera&&JSON.stringify(this.model.camera)!=JSON.stringify(this._vtk_camera_state)&&this._vtk_renwin.getRenderer().getActiveCamera().set(this.model.camera),this._vtk_renwin.getRenderer().resetCameraClippingRange(),this._vtk_render(),this._setting_camera=!1)}_unsubscribe_camera_cb(){this._camera_callbacks.splice(0,this._camera_callbacks.length).map((e=>e.unsubscribe()))}_vtk_render(){this._renderable&&(this._orientationWidget&&this._orientationWidget.updateMarkerOrientation(),this._vtk_renwin.getRenderWindow().render())}}i.AbstractVTKView=g,g.__name__="AbstractVTKView";class v extends o.HTMLBox{constructor(e){super(e)}getActors(){return this.renderer_el.getRenderer().getActors()}static init_AbstractVTKPlot(){this.define({axes:[s.Instance],camera:[s.Instance],color_mappers:[s.Array,[]],orientation_widget:[s.Boolean,!1],interactive_orientation_widget:[s.Boolean,!1]}),this.override({height:300,width:300})}}i.AbstractVTKPlot=v,v.__name__="AbstractVTKPlot",v.__module__="panel.models.vtk",v.init_AbstractVTKPlot()},n”, “ "4eb45e35aa": function _(e,t,n,r,a){r();const o=e("@bokehjs/core/util/array"),k=e("@bokehjs/core/kinds");if(n.ARRAY_TYPES={uint8:Uint8Array,int8:Int8Array,uint16:Uint16Array,int16:Int16Array,uint32:Uint32Array,int32:Int32Array,float32:Float32Array,float64:Float64Array},n.vtk=window.vtk,n.vtkns={},n.vtk){n.vtkns.Actor=n.vtk.Rendering.Core.vtkActor,n.vtkns.AxesActor=n.vtk.Rendering.Core.vtkAxesActor,n.vtkns.Base64=n.vtk.Common.Core.vtkBase64,n.vtkns.BoundingBox=n.vtk.Common.DataModel.vtkBoundingBox,n.vtkns.Camera=n.vtk.Rendering.Core.vtkCamera,n.vtkns.ColorTransferFunction=n.vtk.Rendering.Core.vtkColorTransferFunction,n.vtkns.CubeSource=n.vtk.Filters.Sources.vtkCubeSource,n.vtkns.DataAccessHelper=n.vtk.IO.Core.DataAccessHelper,n.vtkns.DataArray=n.vtk.Common.Core.vtkDataArray,n.vtkns.Follower=n.vtk.Rendering.Core.vtkFollower,n.vtkns.FullScreenRenderWindow=n.vtk.Rendering.Misc.vtkFullScreenRenderWindow,n.vtkns.Glyph3DMapper=n.vtk.Rendering.Core.vtkGlyph3DMapper,n.vtkns.HttpSceneLoader=n.vtk.IO.Core.vtkHttpSceneLoader,n.vtkns.ImageData=n.vtk.Common.DataModel.vtkImageData,n.vtkns.ImageMapper=n.vtk.Rendering.Core.vtkImageMapper,n.vtkns.ImageProperty=n.vtk.Rendering.Core.vtkImageProperty,n.vtkns.ImageSlice=n.vtk.Rendering.Core.vtkImageSlice,n.vtkns.InteractiveOrientationWidget=n.vtk.Widgets.Widgets3D.vtkInteractiveOrientationWidget,n.vtkns.InteractorStyleTrackballCamera=n.vtk.Interaction.Style.vtkInteractorStyleTrackballCamera,n.vtkns.Light=n.vtk.Rendering.Core.vtkLight,n.vtkns.LineSource=n.vtk.Filters.Sources.vtkLineSource,n.vtkns.LookupTable=n.vtk.Common.Core.vtkLookupTable,n.vtkns.macro=n.vtk.macro,n.vtkns.Mapper=n.vtk.Rendering.Core.vtkMapper,n.vtkns.OpenGLRenderWindow=n.vtk.Rendering.OpenGL.vtkRenderWindow,n.vtkns.OrientationMarkerWidget=n.vtk.Interaction.Widgets.vtkOrientationMarkerWidget,n.vtkns.OutlineFilter=n.vtk.Filters.General.vtkOutlineFilter,n.vtkns.PiecewiseFunction=n.vtk.Common.DataModel.vtkPiecewiseFunction,n.vtkns.PixelSpaceCallbackMapper=n.vtk.Rendering.Core.vtkPixelSpaceCallbackMapper,n.vtkns.PlaneSource=n.vtk.Filters.Sources.vtkPlaneSource,n.vtkns.PointSource=n.vtk.Filters.Sources.vtkPointSource,n.vtkns.PolyData=n.vtk.Common.DataModel.vtkPolyData,n.vtkns.Property=n.vtk.Rendering.Core.vtkProperty,n.vtkns.Renderer=n.vtk.Rendering.Core.vtkRenderer,n.vtkns.RenderWindow=n.vtk.Rendering.Core.vtkRenderWindow,n.vtkns.RenderWindowInteractor=n.vtk.Rendering.Core.vtkRenderWindowInteractor,n.vtkns.SphereMapper=n.vtk.Rendering.Core.vtkSphereMapper,n.vtkns.SynchronizableRenderWindow=n.vtk.Rendering.Misc.vtkSynchronizableRenderWindow,n.vtkns.ThirdParty=n.vtk.ThirdParty,n.vtkns.Texture=n.vtk.Rendering.Core.vtkTexture,n.vtkns.Volume=n.vtk.Rendering.Core.vtkVolume,n.vtkns.VolumeController=n.vtk.Interaction.UI.vtkVolumeController,n.vtkns.VolumeMapper=n.vtk.Rendering.Core.vtkVolumeMapper,n.vtkns.VolumeProperty=n.vtk.Rendering.Core.vtkVolumeProperty,n.vtkns.WidgetManager=n.vtk.Widgets.Core.vtkWidgetManager;const{vtkObjectManager:e}=n.vtkns.SynchronizableRenderWindow;e.setTypeMapping("vtkVolumeMapper",n.vtkns.VolumeMapper.newInstance,e.oneTimeGenericUpdater),e.setTypeMapping("vtkSmartVolumeMapper",n.vtkns.VolumeMapper.newInstance,e.oneTimeGenericUpdater),e.setTypeMapping("vtkFollower",n.vtkns.Follower.newInstance,e.genericUpdater),e.setTypeMapping("vtkOpenGLGlyph3DMapper",n.vtkns.Glyph3DMapper.newInstance,e.genericUpdater)}function i(e){const t=Math.min(Math.max(Math.round(e),0),255).toString(16);return 2==t.length?t:"0"+t}function v(e,t,n){return"#"+i(e)+i(t)+i(n)}function s(e){for(var t=new ArrayBuffer(e.length),n=new Uint8Array(t),r=0,a=e.length;r<a;r++)n[r]=e.charCodeAt(r);return t}n.Interpolation=k.Enum("fast_linear","linear","nearest"),n.applyStyle=function(e,t){Object.keys(t).forEach((n=>{e.style[n]=t[n]}))},n.hexToRGB=function(e){return[parseInt(e.slice(1,3),16)/255,parseInt(e.slice(3,5),16)/255,parseInt(e.slice(5,7),16)/255]},n.rgbToHex=v,n.vtkLutToMapper=function(e){const{scale:t,nodes:r}=e.get("scale","nodes");if(t!==n.vtkns.ColorTransferFunction.Scale.LINEAR)throw"Error transfer function scale not handle";const a=r.map((e=>e.x)),k=Math.min(…a),i=Math.max(…a),s=o.linspace(k,i,255),c=[0,0,0];return{low:k,high:i,palette:s.map((t=>(e.getColor(t,c),v(255*c[0],255*c[1],255*c[2]))))}},n.data2VTKImageData=function(e){const t=n.vtkns.ImageData.newInstance({spacing:e.spacing});t.setDimensions(e.dims),t.setOrigin(null!=e.origin?e.origin:e.dims.map((e=>e/2)));const r=n.vtkns.DataArray.newInstance({name:"scalars",numberOfComponents:1,values:new n.ARRAY_TYPES[e.dtype](s(atob(e.buffer)))});return t.getPointData().setScalars(r),t},n.majorAxis=function(e,t,n){const r=[0,0,0],a=Math.abs(e[t])>Math.abs(e[n])?t:n,o=e[a]>0?1:-1;return r[a]=o,r},n.cartesian_product=function(…e){return e.reduce(((e,t)=>e.flatMap((e=>t.map((t=>[].concat(e,t)))))))}},n”, “ "c010237f8b": function _(t,i,e,s,h){s();const a=t("@bokehjs/models/mappers"),n=t("@bokehjs/core/util/array");class c{constructor(t,i,e={}){this.parent=t,this.mapper=i,this.options=e,e.ticksNum||(e.ticksNum=5),e.fontFamily||(e.fontFamily="Arial"),e.fontSize||(e.fontSize="12px"),e.ticksSize||(e.ticksSize=2),this.canvas=document.createElement("canvas"),this.canvas.style.width="100%",this.parent.appendChild(this.canvas),this.ctx=this.canvas.getContext("2d"),this.ctx.font=`${this.options.fontSize} ${this.options.fontFamily}`,this.ctx.lineWidth=e.ticksSize,e.height||(e.height=4*(this.font_height+1)+"px"),this.canvas.style.height=e.height,this.draw_colorbar()}get values(){const{min:t,max:i}=this.mapper.metrics;return n.linspace(t,i,this.options.ticksNum)}get ticks(){return this.values.map((t=>t.toExponential(3)))}get title(){return this.mapper.name?this.mapper.name:"scalars"}get font_height(){let t=0;return this.values.forEach((i=>{const{actualBoundingBoxAscent:e,actualBoundingBoxDescent:s}=this.ctx.measureText(${i}),h=e+s;t<h&&(t=h)})),t}draw_colorbar(){this.canvas.width=this.canvas.clientWidth,this.canvas.height=this.canvas.clientHeight;const{palette:t}=this.mapper;this.ctx.font=`${this.options.fontSize} ${this.options.fontFamily}`;const i=this.font_height;this.ctx.save();const e=document.createElement("canvas"),s=t.length;e.width=s,e.height=1;const h=e.getContext("2d"),c=h.getImageData(0,0,s,1),o=new a.LinearColorMapper({palette:t}).rgba_mapper.v_compute(n.range(0,t.length));c.data.set(o),h.putImageData(c,0,0),this.ctx.drawImage(e,0,2*(this.font_height+1)+1,this.canvas.width,this.canvas.height),this.ctx.restore(),this.ctx.save(),this.ctx.textAlign="center",this.ctx.fillText(this.title,this.canvas.width/2,i+1),this.ctx.restore(),this.ctx.save();const r=n.linspace(0,this.canvas.width,5);r.forEach(((t,e)=>{let s=t;0==e?(s=t+Math.ceil(this.ctx.lineWidth/2),this.ctx.textAlign="left"):e==r.length-1?(s=t-Math.ceil(this.ctx.lineWidth/2),this.ctx.textAlign="right"):this.ctx.textAlign="center",this.ctx.moveTo(s,2*(i+1)),this.ctx.lineTo(s,2*(i+1)+5),this.ctx.stroke(),this.ctx.fillText(${this.ticks[e]},t,2*(i+1))})),this.ctx.restore()}}e.VTKColorBar=c,c.__name__="VTKColorBar"},n”, “ "89262e43a1": function _(e,t,i,s,n){s();const r=e("666f1ef4e6"),o=e("4eb45e35aa");class a extends r.AbstractVTKView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.data.change,(()=>{this._vtk_image_data=o.data2VTKImageData(this.model.data),this.invalidate_render()})),this.connect(this.model.properties.colormap.change,(()=>{this.colormap_selector.value=this.model.colormap;const e=new Event("change");this.colormap_selector.dispatchEvent(e)})),this.connect(this.model.properties.shadow.change,(()=>{this.shadow_selector.value=this.model.shadow?"1":"0";const e=new Event("change");this.shadow_selector.dispatchEvent(e)})),this.connect(this.model.properties.sampling.change,(()=>{this.sampling_slider.value=this.model.sampling.toFixed(2);const e=new Event("input");this.sampling_slider.dispatchEvent(e)})),this.connect(this.model.properties.edge_gradient.change,(()=>{this.edge_gradient_slider.value=this.model.edge_gradient.toFixed(2);const e=new Event("input");this.edge_gradient_slider.dispatchEvent(e)})),this.connect(this.model.properties.rescale.change,(()=>{this._controllerWidget.setRescaleColorMap(this.model.rescale),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.ambient.change,(()=>{this.volume.getProperty().setAmbient(this.model.ambient),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.diffuse.change,(()=>{this.volume.getProperty().setDiffuse(this.model.diffuse),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.specular.change,(()=>{this.volume.getProperty().setSpecular(this.model.specular),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.specular_power.change,(()=>{this.volume.getProperty().setSpecularPower(this.model.specular_power),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.display_volume.change,(()=>{this._set_volume_visibility(this.model.display_volume),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.display_slices.change,(()=>{this._set_slices_visibility(this.model.display_slices),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.slice_i.change,(()=>{void 0!==this.image_actor_i&&(this.image_actor_i.getMapper().setISlice(this.model.slice_i),this._vtk_renwin.getRenderWindow().render())})),this.connect(this.model.properties.slice_j.change,(()=>{void 0!==this.image_actor_j&&(this.image_actor_j.getMapper().setJSlice(this.model.slice_j),this._vtk_renwin.getRenderWindow().render())})),this.connect(this.model.properties.slice_k.change,(()=>{void 0!==this.image_actor_k&&(this.image_actor_k.getMapper().setKSlice(this.model.slice_k),this._vtk_renwin.getRenderWindow().render())})),this.connect(this.model.properties.render_background.change,(()=>{this._vtk_renwin.getRenderer().setBackground(…o.hexToRGB(this.model.render_background)),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.interpolation.change,(()=>{this._set_interpolation(this.model.interpolation),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.controller_expanded.change,(()=>{null!=this._controllerWidget&&this._controllerWidget.setExpanded(this.model.controller_expanded)}))}render(){this._vtk_renwin=null,this._orientationWidget=null,this._axes=null,super.render(),this._create_orientation_widget(),this._set_axes(),this.model.camera?this._set_camera_state():this._vtk_renwin.getRenderer().resetCamera(),this._get_camera_state()}invalidate_render(){this._vtk_renwin=null,super.invalidate_render()}init_vtk_renwin(){this._vtk_renwin=o.vtkns.FullScreenRenderWindow.newInstance({rootContainer:this.el,container:this._vtk_container})}plot(){this._controllerWidget=o.vtkns.VolumeController.newInstance({size:[400,150],rescaleColorMap:this.model.rescale}),this._plot_volume(),this._plot_slices(),this._controllerWidget.setupContent(this._vtk_renwin.getRenderWindow(),this.volume,!0),this._controllerWidget.setContainer(this.el),this._controllerWidget.setExpanded(this.model.controller_expanded),this._connect_js_controls(),this._vtk_renwin.getRenderWindow().getInteractor(),this._vtk_renwin.getRenderWindow().getInteractor().setDesiredUpdateRate(45),this._set_volume_visibility(this.model.display_volume),this._set_slices_visibility(this.model.display_slices),this._vtk_renwin.getRenderer().setBackground(…o.hexToRGB(this.model.render_background)),this._set_interpolation(this.model.interpolation),this._set_camera_state()}get vtk_image_data(){return this._vtk_image_data||(this._vtk_image_data=o.data2VTKImageData(this.model.data)),this._vtk_image_data}get volume(){return this._vtk_renwin.getRenderer().getVolumes()[0]}get image_actor_i(){return this._vtk_renwin.getRenderer().getActors()[0]}get image_actor_j(){return this._vtk_renwin.getRenderer().getActors()[1]}get image_actor_k(){return this._vtk_renwin.getRenderer().getActors()[2]}get shadow_selector(){return this.el.querySelector(".js-shadow")}get edge_gradient_slider(){return this.el.querySelector(".js-edge")}get sampling_slider(){return this.el.querySelector(".js-spacing")}get colormap_selector(){return this.el.querySelector(".js-color-preset")}_connect_js_controls(){const{el:e}=this._controllerWidget.get("el");if(void 0!==e){e.querySelector(".js-button").addEventListener("click",(()=>this.model.controller_expanded=this._controllerWidget.getExpanded()))}this.colormap_selector.addEventListener("change",(()=>{this.model.colormap=this.colormap_selector.value})),this.model.colormap?this.model.properties.colormap.change.emit():this.model.colormap=this.colormap_selector.value,this.shadow_selector.addEventListener("change",(()=>{this.model.shadow=!!Number(this.shadow_selector.value)})),(this.model.shadow=!!Number(this.shadow_selector.value))&&this.model.properties.shadow.change.emit(),this.sampling_slider.addEventListener("input",(()=>{const e=Number(this.sampling_slider.value);Math.abs(this.model.sampling-e)>=.005&&(this.model.sampling=e)})),Math.abs(this.model.sampling-Number(this.shadow_selector.value))>=.005&&this.model.properties.sampling.change.emit(),this.edge_gradient_slider.addEventListener("input",(()=>{const e=Number(this.edge_gradient_slider.value);Math.abs(this.model.edge_gradient-e)>=.005&&(this.model.edge_gradient=e)})),Math.abs(this.model.edge_gradient-Number(this.edge_gradient_slider.value))>=.005&&this.model.properties.edge_gradient.change.emit()}_plot_slices(){const e=this._vtk_image_data,t=o.vtkns.ImageSlice.newInstance(),i=o.vtkns.ImageSlice.newInstance(),s=o.vtkns.ImageSlice.newInstance(),n=o.vtkns.ImageMapper.newInstance(),r=o.vtkns.ImageMapper.newInstance(),a=o.vtkns.ImageMapper.newInstance();n.setInputData(e),n.setISlice(this.model.slice_i),t.setMapper(n),r.setInputData(e),r.setJSlice(this.model.slice_j),i.setMapper(r),a.setInputData(e),a.setKSlice(this.model.slice_k),s.setMapper(a);const l=o.vtkns.PiecewiseFunction.newInstance();l.removeAllPoints(),l.addPoint(0,1);const d=this.volume.getProperty().getRGBTransferFunction(0),c=t.getProperty();i.setProperty(c),s.setProperty(c),c.setRGBTransferFunction(d),c.setScalarOpacity(l);const _=this._vtk_renwin.getRenderer();_.addActor(t),_.addActor(i),_.addActor(s)}_plot_volume(){const e=this.vtk_image_data,t=o.vtkns.Volume.newInstance(),i=o.vtkns.VolumeMapper.newInstance();t.setMapper(i),i.setInputData(e);const s=(e.getPointData().getScalars()||e.getPointData().getArrays()[0]).getRange(),n=o.vtkns.ColorTransferFunction.newInstance();n.onModified((()=>this.model.mapper=o.vtkLutToMapper(n)));const r=o.vtkns.PiecewiseFunction.newInstance(),a=.7*Math.sqrt(e.getSpacing().map((e=>e*e)).reduce(((e,t)=>e+t),0));i.setSampleDistance(a),t.getProperty().setRGBTransferFunction(0,n),t.getProperty().setScalarOpacity(0,r),t.getProperty().setInterpolationTypeToFastLinear(),t.getProperty().setScalarOpacityUnitDistance(0,o.vtkns.BoundingBox.getDiagonalLength(e.getBounds())/Math.max(…e.getDimensions())),t.getProperty().setGradientOpacityMinimumValue(0,0),t.getProperty().setGradientOpacityMaximumValue(0,.05*(s[1]-s[0])),t.getProperty().setShade(this.model.shadow),t.getProperty().setUseGradientOpacity(0,!0),t.getProperty().setGradientOpacityMinimumOpacity(0,0),t.getProperty().setGradientOpacityMaximumOpacity(0,1),t.getProperty().setAmbient(this.model.ambient),t.getProperty().setDiffuse(this.model.diffuse),t.getProperty().setSpecular(this.model.specular),t.getProperty().setSpecularPower(this.model.specular_power),this._vtk_renwin.getRenderer().addVolume(t)}_set_interpolation(e){"fast_linear"==e?(this.volume.getProperty().setInterpolationTypeToFastLinear(),this.image_actor_i.getProperty().setInterpolationTypeToLinear()):"linear"==e?(this.volume.getProperty().setInterpolationTypeToLinear(),this.image_actor_i.getProperty().setInterpolationTypeToLinear()):(this.volume.getProperty().setInterpolationTypeToNearest(),this.image_actor_i.getProperty().setInterpolationTypeToNearest())}_set_slices_visibility(e){this._vtk_renwin.getRenderer().getActors().map((t=>t.setVisibility(e)))}_set_volume_visibility(e){this.volume.setVisibility(e)}}i.VTKVolumePlotView=a,a.__name__="VTKVolumePlotView";class l extends r.AbstractVTKPlot{constructor(e){super(e)}static init_VTKVolumePlot(){this.prototype.default_view=a,this.define((({Any:e,Array:t,Boolean:i,Int:s,Number:n,String:r,Struct:a})=>({ambient:[n,.2],colormap:[r],data:[e],diffuse:[n,.7],display_slices:[i,!1],display_volume:[i,!0],edge_gradient:[n,.2],interpolation:[o.Interpolation,"fast_linear"],mapper:[a({palette:t(r),low:n,high:n})],render_background:[r,"#52576e"],rescale:[i,!1],sampling:[n,.4],shadow:[i,!0],slice_i:[s,0],slice_j:[s,0],slice_k:[s,0],specular:[n,.3],specular_power:[n,8],controller_expanded:[i,!0]})))}}i.VTKVolumePlot=l,l.__name__="VTKVolumePlot",l.init_VTKVolumePlot()},n”, “ "db7a0079c0": function _(t,s,i,e,n){e();const a=t("tslib").__importStar(t("@bokehjs/core/properties")),r=t("@bokehjs/model"),c=t("2f3fd5db07"),h=t("4eb45e35aa");class l extends r.Model{constructor(t){super(t)}static init_VTKAxes(){this.define({origin:[a.Array],xticker:[a.Instance],yticker:[a.Instance],zticker:[a.Instance],digits:[a.Number,1],show_grid:[a.Boolean,!0],grid_opacity:[a.Number,.1],axes_opacity:[a.Number,1],fontsize:[a.Number,12]})}get xticks(){return this.xticker?this.xticker.ticks:[]}get yticks(){return this.yticker?this.yticker.ticks:[]}get zticks(){return this.zticker?this.zticker.ticks:[]}get xlabels(){return this.xticker.labels?this.xticker.labels:this.xticks.map((t=>t.toFixed(this.digits)))}get ylabels(){return this.yticker.labels?this.yticker.labels:this.yticks.map((t=>t.toFixed(this.digits)))}get zlabels(){return this.zticker.labels?this.zticker.labels:this.zticks.map((t=>t.toFixed(this.digits)))}_make_grid_lines(t,s,i){const e=[];for(let n=0;n<t-1;n++)for(let t=0;t<s-1;t++){const a=n*s+t+i,r=[5,a,n*s+t+1+i,(n+1)*s+t+1+i,(n+1)*s+t+i,a];e.push(r)}return e}_create_grid_axes(){const t=[];t.push(h.cartesian_product(this.xticks,this.yticks,[this.origin[2]])),t.push(h.cartesian_product([this.origin[0]],this.yticks,this.zticks)),t.push(h.cartesian_product(this.xticks,[this.origin[1]],this.zticks));const s=[];let i=0;s.push(this._make_grid_lines(this.xticks.length,this.yticks.length,i)),i+=this.xticks.length*this.yticks.length,s.push(this._make_grid_lines(this.yticks.length,this.zticks.length,i)),i+=this.yticks.length*this.zticks.length,s.push(this._make_grid_lines(this.xticks.length,this.zticks.length,i));const e=h.vtk({vtkClass:"vtkPolyData",points:{vtkClass:"vtkPoints",dataType:"Float32Array",numberOfComponents:3,values:t.flat(2)},lines:{vtkClass:"vtkCellArray",dataType:"Uint32Array",values:s.flat(2)}}),n=h.vtkns.Mapper.newInstance(),a=h.vtkns.Actor.newInstance();return n.setInputData(e),a.setMapper(n),a.getProperty().setOpacity(this.grid_opacity),a.setVisibility(this.show_grid),a}create_axes(t){if(null==this.origin)return{psActor:null,axesActor:null,gridActor:null};const s=[this.xticks,this.yticks,this.zticks].map(((t,s)=>{let i=null;switch(s){case 0:i=h.cartesian_product(t,[this.origin[1]],[this.origin[2]]);break;case 1:i=h.cartesian_product([this.origin[0]],t,[this.origin[2]]);break;case 2:i=h.cartesian_product([this.origin[0]],[this.origin[1]],t)}return i})).flat(2),i=h.vtk({vtkClass:"vtkPolyData",points:{vtkClass:"vtkPoints",dataType:"Float32Array",numberOfComponents:3,values:s},lines:{vtkClass:"vtkCellArray",dataType:"Uint32Array",values:[2,0,this.xticks.length-1,2,this.xticks.length,this.xticks.length+this.yticks.length-1,2,this.xticks.length+this.yticks.length,this.xticks.length+this.yticks.length+this.zticks.length-1]}}),e=h.vtkns.PixelSpaceCallbackMapper.newInstance();e.setInputData(i),e.setUseZValues(!0),e.setCallback(((s,i,n)=>{const a=t.getContext("2d");if(a){const r={height:t.clientHeight*window.devicePixelRatio,width:t.clientWidth*window.devicePixelRatio},h=e.getInputData().getPoints(),l=i.getViewMatrix();c.mat4.transpose(l,l);const o=i.getProjectionMatrix(n,-1,1);c.mat4.transpose(o,o),a.clearRect(0,0,r.width,r.height),s.forEach(((t,s)=>{const i=h.getPoint(s),e=c.vec3.fromValues(i[0],i[1],i[2]);if(c.vec3.transformMat4(e,e,l),e[2]+=.05,c.vec3.transformMat4(e,e,o),e[2]-.001<t[3]){let i;a.font="30px serif",a.textAlign="center",a.textBaseline="alphabetic",a.fillText(".",t[0],r.height-t[1]+2),a.font=this.fontsize*window.devicePixelRatio+"px serif",a.textAlign="right",a.textBaseline="top",i=s<this.xticks.length?this.xlabels[s]:s>=this.xticks.length&&s<this.xticks.length+this.yticks.length?this.ylabels[s-this.xticks.length]:this.zlabels[s-(this.xticks.length+this.yticks.length)],a.fillText(${i},t[0],r.height-t[1])}}))}}));const n=h.vtkns.Actor.newInstance();n.setMapper(e);const a=h.vtkns.Mapper.newInstance();a.setInputData(i);const r=h.vtkns.Actor.newInstance();r.setMapper(a),r.getProperty().setOpacity(this.axes_opacity);return{psActor:n,axesActor:r,gridActor:this._create_grid_axes()}}}i.VTKAxes=l,l.__name__="VTKAxes",l.__module__="panel.models.vtk",l.init_VTKAxes()},n”, “ "2f3fd5db07": function _(t,c,a,o,r){o();const _=t("tslib"),m=_.__importStar(t("68ca94c15c"));a.glMatrix=m;const i=_.__importStar(t("7c0b8e6048"));a.mat2=i;const n=_.__importStar(t("dc03f0a621"));a.mat2d=n;const s=_.__importStar(t("0285c50a7e"));a.mat3=s;const p=_.__importStar(t("a427635f32"));a.mat4=p;const S=_.__importStar(t("eb06fc032a"));a.quat=S;const e=_.__importStar(t("277615c682"));a.quat2=e;const f=_.__importStar(t("c56d9ff837"));a.vec2=f;const b=_.__importStar(t("2c5eb22089"));a.vec3=b;const d=_.__importStar(t("c1aa33d719"));a.vec4=d},n”, “ "68ca94c15c": function _(t,a,r,n,o){n(),r.EPSILON=1e-6,r.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,r.RANDOM=Math.random,r.setMatrixArrayType=function(t){r.ARRAY_TYPE=t};var h=Math.PI/180;r.toRadian=function(t){return t*h},r.equals=function(t,a){return Math.abs(t-a)<=r.EPSILON*Math.max(1,Math.abs(t),Math.abs(a))},Math.hypot||(Math.hypot=function(){for(var t=0,a=arguments.length;a–;)t+=arguments[a]*arguments[a];return Math.sqrt(t)})},n”, “ "7c0b8e6048": function _(t,n,r,a,u){a();const e=t("tslib").__importStar(t("68ca94c15c"));function o(t,n,r){var a=n[0],u=n[1],e=n[2],o=n[3],c=r[0],i=r[1],f=r[2],s=r[3];return t[0]=a*c+e*i,t[1]=u*c+o*i,t[2]=a*f+e*s,t[3]=u*f+o*s,t}function c(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t[3]=n[3]-r[3],t}r.create=function(){var t=new e.ARRAY_TYPE(4);return e.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},r.clone=function(t){var n=new e.ARRAY_TYPE(4);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n},r.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t},r.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},r.fromValues=function(t,n,r,a){var u=new e.ARRAY_TYPE(4);return u[0]=t,u[1]=n,u[2]=r,u[3]=a,u},r.set=function(t,n,r,a,u){return t[0]=n,t[1]=r,t[2]=a,t[3]=u,t},r.transpose=function(t,n){if(t===n){var r=n[1];t[1]=n[2],t[2]=r}else t[0]=n[0],t[1]=n[2],t[2]=n[1],t[3]=n[3];return t},r.invert=function(t,n){var r=n[0],a=n[1],u=n[2],e=n[3],o=r*e-u*a;return o?(o=1/o,t[0]=e*o,t[1]=-a*o,t[2]=-u*o,t[3]=r*o,t):null},r.adjoint=function(t,n){var r=n[0];return t[0]=n[3],t[1]=-n[1],t[2]=-n[2],t[3]=r,t},r.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},r.multiply=o,r.rotate=function(t,n,r){var a=n[0],u=n[1],e=n[2],o=n[3],c=Math.sin(r),i=Math.cos(r);return t[0]=a*i+e*c,t[1]=u*i+o*c,t[2]=a*-c+e*i,t[3]=u*-c+o*i,t},r.scale=function(t,n,r){var a=n[0],u=n[1],e=n[2],o=n[3],c=r[0],i=r[1];return t[0]=a*c,t[1]=u*c,t[2]=e*i,t[3]=o*i,t},r.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=-r,t[3]=a,t},r.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=n[1],t},r.str=function(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},r.frob=function(t){return Math.hypot(t[0],t[1],t[2],t[3])},r.LDU=function(t,n,r,a){return t[2]=a[2]/a[0],r[0]=a[0],r[1]=a[1],r[3]=a[3]-t[2]*r[1],[t,n,r]},r.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t[3]=n[3]+r[3],t},r.subtract=c,r.exactEquals=function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]},r.equals=function(t,n){var r=t[0],a=t[1],u=t[2],o=t[3],c=n[0],i=n[1],f=n[2],s=n[3];return Math.abs(r-c)<=e.EPSILON*Math.max(1,Math.abs(r),Math.abs(c))&&Math.abs(a-i)<=e.EPSILON*Math.max(1,Math.abs(a),Math.abs(i))&&Math.abs(u-f)<=e.EPSILON*Math.max(1,Math.abs(u),Math.abs(f))&&Math.abs(o-s)<=e.EPSILON*Math.max(1,Math.abs(o),Math.abs(s))},r.multiplyScalar=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t},r.multiplyScalarAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t[3]=n[3]+r[3]*a,t},r.mul=o,r.sub=c},n”, “ "dc03f0a621": function _(t,n,a,r,u){r();const o=t("tslib").__importStar(t("68ca94c15c"));function e(t,n,a){var r=n[0],u=n[1],o=n[2],e=n[3],c=n[4],i=n[5],s=a[0],h=a[1],f=a[2],M=a[3],b=a[4],l=a[5];return t[0]=r*s+o*h,t[1]=u*s+e*h,t[2]=r*f+o*M,t[3]=u*f+e*M,t[4]=r*b+o*l+c,t[5]=u*b+e*l+i,t}function c(t,n,a){return t[0]=n[0]-a[0],t[1]=n[1]-a[1],t[2]=n[2]-a[2],t[3]=n[3]-a[3],t[4]=n[4]-a[4],t[5]=n[5]-a[5],t}a.create=function(){var t=new o.ARRAY_TYPE(6);return o.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0,t[4]=0,t[5]=0),t[0]=1,t[3]=1,t},a.clone=function(t){var n=new o.ARRAY_TYPE(6);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n},a.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t},a.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},a.fromValues=function(t,n,a,r,u,e){var c=new o.ARRAY_TYPE(6);return c[0]=t,c[1]=n,c[2]=a,c[3]=r,c[4]=u,c[5]=e,c},a.set=function(t,n,a,r,u,o,e){return t[0]=n,t[1]=a,t[2]=r,t[3]=u,t[4]=o,t[5]=e,t},a.invert=function(t,n){var a=n[0],r=n[1],u=n[2],o=n[3],e=n[4],c=n[5],i=a*o-r*u;return i?(i=1/i,t[0]=o*i,t[1]=-r*i,t[2]=-u*i,t[3]=a*i,t[4]=(u*c-o*e)*i,t[5]=(r*e-a*c)*i,t):null},a.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},a.multiply=e,a.rotate=function(t,n,a){var r=n[0],u=n[1],o=n[2],e=n[3],c=n[4],i=n[5],s=Math.sin(a),h=Math.cos(a);return t[0]=r*h+o*s,t[1]=u*h+e*s,t[2]=r*-s+o*h,t[3]=u*-s+e*h,t[4]=c,t[5]=i,t},a.scale=function(t,n,a){var r=n[0],u=n[1],o=n[2],e=n[3],c=n[4],i=n[5],s=a[0],h=a[1];return t[0]=r*s,t[1]=u*s,t[2]=o*h,t[3]=e*h,t[4]=c,t[5]=i,t},a.translate=function(t,n,a){var r=n[0],u=n[1],o=n[2],e=n[3],c=n[4],i=n[5],s=a[0],h=a[1];return t[0]=r,t[1]=u,t[2]=o,t[3]=e,t[4]=r*s+o*h+c,t[5]=u*s+e*h+i,t},a.fromRotation=function(t,n){var a=Math.sin(n),r=Math.cos(n);return t[0]=r,t[1]=a,t[2]=-a,t[3]=r,t[4]=0,t[5]=0,t},a.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=n[1],t[4]=0,t[5]=0,t},a.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=n[0],t[5]=n[1],t},a.str=function(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"},a.frob=function(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],1)},a.add=function(t,n,a){return t[0]=n[0]+a[0],t[1]=n[1]+a[1],t[2]=n[2]+a[2],t[3]=n[3]+a[3],t[4]=n[4]+a[4],t[5]=n[5]+a[5],t},a.subtract=c,a.multiplyScalar=function(t,n,a){return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t[3]=n[3]*a,t[4]=n[4]*a,t[5]=n[5]*a,t},a.multiplyScalarAndAdd=function(t,n,a,r){return t[0]=n[0]+a[0]*r,t[1]=n[1]+a[1]*r,t[2]=n[2]+a[2]*r,t[3]=n[3]+a[3]*r,t[4]=n[4]+a[4]*r,t[5]=n[5]+a[5]*r,t},a.exactEquals=function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]&&t[4]===n[4]&&t[5]===n[5]},a.equals=function(t,n){var a=t[0],r=t[1],u=t[2],e=t[3],c=t[4],i=t[5],s=n[0],h=n[1],f=n[2],M=n[3],b=n[4],l=n[5];return Math.abs(a-s)<=o.EPSILON*Math.max(1,Math.abs(a),Math.abs(s))&&Math.abs(r-h)<=o.EPSILON*Math.max(1,Math.abs(r),Math.abs(h))&&Math.abs(u-f)<=o.EPSILON*Math.max(1,Math.abs(u),Math.abs(f))&&Math.abs(e-M)<=o.EPSILON*Math.max(1,Math.abs(e),Math.abs(M))&&Math.abs(c-b)<=o.EPSILON*Math.max(1,Math.abs(c),Math.abs(b))&&Math.abs(i-l)<=o.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))},a.mul=e,a.sub=c},n”, “ "0285c50a7e": function _(t,a,n,r,u){r();const o=t("tslib").__importStar(t("68ca94c15c"));function e(t,a,n){var r=a[0],u=a[1],o=a[2],e=a[3],i=a[4],c=a[5],s=a[6],M=a[7],h=a[8],f=n[0],b=n[1],l=n[2],m=n[3],v=n[4],E=n[5],P=n[6],S=n[7],A=n[8];return t[0]=f*r+b*e+l*s,t[1]=f*u+b*i+l*M,t[2]=f*o+b*c+l*h,t[3]=m*r+v*e+E*s,t[4]=m*u+v*i+E*M,t[5]=m*o+v*c+E*h,t[6]=P*r+S*e+A*s,t[7]=P*u+S*i+A*M,t[8]=P*o+S*c+A*h,t}function i(t,a,n){return t[0]=a[0]-n[0],t[1]=a[1]-n[1],t[2]=a[2]-n[2],t[3]=a[3]-n[3],t[4]=a[4]-n[4],t[5]=a[5]-n[5],t[6]=a[6]-n[6],t[7]=a[7]-n[7],t[8]=a[8]-n[8],t}n.create=function(){var t=new o.ARRAY_TYPE(9);return o.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},n.fromMat4=function(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[4],t[4]=a[5],t[5]=a[6],t[6]=a[8],t[7]=a[9],t[8]=a[10],t},n.clone=function(t){var a=new o.ARRAY_TYPE(9);return a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=t[3],a[4]=t[4],a[5]=t[5],a[6]=t[6],a[7]=t[7],a[8]=t[8],a},n.copy=function(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[3],t[4]=a[4],t[5]=a[5],t[6]=a[6],t[7]=a[7],t[8]=a[8],t},n.fromValues=function(t,a,n,r,u,e,i,c,s){var M=new o.ARRAY_TYPE(9);return M[0]=t,M[1]=a,M[2]=n,M[3]=r,M[4]=u,M[5]=e,M[6]=i,M[7]=c,M[8]=s,M},n.set=function(t,a,n,r,u,o,e,i,c,s){return t[0]=a,t[1]=n,t[2]=r,t[3]=u,t[4]=o,t[5]=e,t[6]=i,t[7]=c,t[8]=s,t},n.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.transpose=function(t,a){if(t===a){var n=a[1],r=a[2],u=a[5];t[1]=a[3],t[2]=a[6],t[3]=n,t[5]=a[7],t[6]=r,t[7]=u}else t[0]=a[0],t[1]=a[3],t[2]=a[6],t[3]=a[1],t[4]=a[4],t[5]=a[7],t[6]=a[2],t[7]=a[5],t[8]=a[8];return t},n.invert=function(t,a){var n=a[0],r=a[1],u=a[2],o=a[3],e=a[4],i=a[5],c=a[6],s=a[7],M=a[8],h=M*e-i*s,f=-M*o+i*c,b=s*o-e*c,l=n*h+r*f+u*b;return l?(l=1/l,t[0]=h*l,t[1]=(-M*r+u*s)*l,t[2]=(i*r-u*e)*l,t[3]=f*l,t[4]=(M*n-u*c)*l,t[5]=(-i*n+u*o)*l,t[6]=b*l,t[7]=(-s*n+r*c)*l,t[8]=(e*n-r*o)*l,t):null},n.adjoint=function(t,a){var n=a[0],r=a[1],u=a[2],o=a[3],e=a[4],i=a[5],c=a[6],s=a[7],M=a[8];return t[0]=e*M-i*s,t[1]=u*s-r*M,t[2]=r*i-u*e,t[3]=i*c-o*M,t[4]=n*M-u*c,t[5]=u*o-n*i,t[6]=o*s-e*c,t[7]=r*c-n*s,t[8]=n*e-r*o,t},n.determinant=function(t){var a=t[0],n=t[1],r=t[2],u=t[3],o=t[4],e=t[5],i=t[6],c=t[7],s=t[8];return a*(s*o-e*c)+n*(-s*u+e*i)+r*(c*u-o*i)},n.multiply=e,n.translate=function(t,a,n){var r=a[0],u=a[1],o=a[2],e=a[3],i=a[4],c=a[5],s=a[6],M=a[7],h=a[8],f=n[0],b=n[1];return t[0]=r,t[1]=u,t[2]=o,t[3]=e,t[4]=i,t[5]=c,t[6]=f*r+b*e+s,t[7]=f*u+b*i+M,t[8]=f*o+b*c+h,t},n.rotate=function(t,a,n){var r=a[0],u=a[1],o=a[2],e=a[3],i=a[4],c=a[5],s=a[6],M=a[7],h=a[8],f=Math.sin(n),b=Math.cos(n);return t[0]=b*r+f*e,t[1]=b*u+f*i,t[2]=b*o+f*c,t[3]=b*e-f*r,t[4]=b*i-f*u,t[5]=b*c-f*o,t[6]=s,t[7]=M,t[8]=h,t},n.scale=function(t,a,n){var r=n[0],u=n[1];return t[0]=r*a[0],t[1]=r*a[1],t[2]=r*a[2],t[3]=u*a[3],t[4]=u*a[4],t[5]=u*a[5],t[6]=a[6],t[7]=a[7],t[8]=a[8],t},n.fromTranslation=function(t,a){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=a[0],t[7]=a[1],t[8]=1,t},n.fromRotation=function(t,a){var n=Math.sin(a),r=Math.cos(a);return t[0]=r,t[1]=n,t[2]=0,t[3]=-n,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.fromScaling=function(t,a){return t[0]=a[0],t[1]=0,t[2]=0,t[3]=0,t[4]=a[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.fromMat2d=function(t,a){return t[0]=a[0],t[1]=a[1],t[2]=0,t[3]=a[2],t[4]=a[3],t[5]=0,t[6]=a[4],t[7]=a[5],t[8]=1,t},n.fromQuat=function(t,a){var n=a[0],r=a[1],u=a[2],o=a[3],e=n+n,i=r+r,c=u+u,s=n*e,M=r*e,h=r*i,f=u*e,b=u*i,l=u*c,m=o*e,v=o*i,E=o*c;return t[0]=1-h-l,t[3]=M-E,t[6]=f+v,t[1]=M+E,t[4]=1-s-l,t[7]=b-m,t[2]=f-v,t[5]=b+m,t[8]=1-s-h,t},n.normalFromMat4=function(t,a){var n=a[0],r=a[1],u=a[2],o=a[3],e=a[4],i=a[5],c=a[6],s=a[7],M=a[8],h=a[9],f=a[10],b=a[11],l=a[12],m=a[13],v=a[14],E=a[15],P=n*i-r*e,S=n*c-u*e,A=n*s-o*e,x=r*c-u*i,d=r*s-o*i,I=u*s-o*c,L=M*m-h*l,N=M*v-f*l,O=M*E-b*l,R=h*v-f*m,p=h*E-b*m,Y=f*E-b*v,y=P*Y-S*p+A*R+x*O-d*N+I*L;return y?(y=1/y,t[0]=(i*Y-c*p+s*R)*y,t[1]=(c*O-e*Y-s*N)*y,t[2]=(e*p-i*O+s*L)*y,t[3]=(u*p-r*Y-o*R)*y,t[4]=(n*Y-u*O+o*N)*y,t[5]=(r*O-n*p-o*L)*y,t[6]=(m*I-v*d+E*x)*y,t[7]=(v*A-l*I-E*S)*y,t[8]=(l*d-m*A+E*P)*y,t):null},n.projection=function(t,a,n){return t[0]=2/a,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/n,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t},n.str=function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},n.frob=function(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},n.add=function(t,a,n){return t[0]=a[0]+n[0],t[1]=a[1]+n[1],t[2]=a[2]+n[2],t[3]=a[3]+n[3],t[4]=a[4]+n[4],t[5]=a[5]+n[5],t[6]=a[6]+n[6],t[7]=a[7]+n[7],t[8]=a[8]+n[8],t},n.subtract=i,n.multiplyScalar=function(t,a,n){return t[0]=a[0]*n,t[1]=a[1]*n,t[2]=a[2]*n,t[3]=a[3]*n,t[4]=a[4]*n,t[5]=a[5]*n,t[6]=a[6]*n,t[7]=a[7]*n,t[8]=a[8]*n,t},n.multiplyScalarAndAdd=function(t,a,n,r){return t[0]=a[0]+n[0]*r,t[1]=a[1]+n[1]*r,t[2]=a[2]+n[2]*r,t[3]=a[3]+n[3]*r,t[4]=a[4]+n[4]*r,t[5]=a[5]+n[5]*r,t[6]=a[6]+n[6]*r,t[7]=a[7]+n[7]*r,t[8]=a[8]+n[8]*r,t},n.exactEquals=function(t,a){return t[0]===a[0]&&t[1]===a[1]&&t[2]===a[2]&&t[3]===a[3]&&t[4]===a[4]&&t[5]===a[5]&&t[6]===a[6]&&t[7]===a[7]&&t[8]===a[8]},n.equals=function(t,a){var n=t[0],r=t[1],u=t[2],e=t[3],i=t[4],c=t[5],s=t[6],M=t[7],h=t[8],f=a[0],b=a[1],l=a[2],m=a[3],v=a[4],E=a[5],P=a[6],S=a[7],A=a[8];return Math.abs(n-f)<=o.EPSILON*Math.max(1,Math.abs(n),Math.abs(f))&&Math.abs(r-b)<=o.EPSILON*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(u-l)<=o.EPSILON*Math.max(1,Math.abs(u),Math.abs(l))&&Math.abs(e-m)<=o.EPSILON*Math.max(1,Math.abs(e),Math.abs(m))&&Math.abs(i-v)<=o.EPSILON*Math.max(1,Math.abs(i),Math.abs(v))&&Math.abs(c-E)<=o.EPSILON*Math.max(1,Math.abs(c),Math.abs(E))&&Math.abs(s-P)<=o.EPSILON*Math.max(1,Math.abs(s),Math.abs(P))&&Math.abs(M-S)<=o.EPSILON*Math.max(1,Math.abs(M),Math.abs(S))&&Math.abs(h-A)<=o.EPSILON*Math.max(1,Math.abs(h),Math.abs(A))},n.mul=e,n.sub=i},n”, “ "a427635f32": function _(t,a,n,r,h){r();const o=t("tslib").__importStar(t("68ca94c15c"));function u(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function M(t,a,n){var r=a[0],h=a[1],o=a[2],u=a[3],M=a[4],s=a[5],e=a[6],i=a[7],c=a[8],f=a[9],b=a[10],l=a[11],m=a[12],v=a[13],P=a[14],E=a[15],S=n[0],I=n[1],O=n[2],L=n[3];return t[0]=S*r+I*M+O*c+L*m,t[1]=S*h+I*s+O*f+L*v,t[2]=S*o+I*e+O*b+L*P,t[3]=S*u+I*i+O*l+L*E,S=n[4],I=n[5],O=n[6],L=n[7],t[4]=S*r+I*M+O*c+L*m,t[5]=S*h+I*s+O*f+L*v,t[6]=S*o+I*e+O*b+L*P,t[7]=S*u+I*i+O*l+L*E,S=n[8],I=n[9],O=n[10],L=n[11],t[8]=S*r+I*M+O*c+L*m,t[9]=S*h+I*s+O*f+L*v,t[10]=S*o+I*e+O*b+L*P,t[11]=S*u+I*i+O*l+L*E,S=n[12],I=n[13],O=n[14],L=n[15],t[12]=S*r+I*M+O*c+L*m,t[13]=S*h+I*s+O*f+L*v,t[14]=S*o+I*e+O*b+L*P,t[15]=S*u+I*i+O*l+L*E,t}function s(t,a,n){var r=a[0],h=a[1],o=a[2],u=a[3],M=r+r,s=h+h,e=o+o,i=r*M,c=r*s,f=r*e,b=h*s,l=h*e,m=o*e,v=u*M,P=u*s,E=u*e;return t[0]=1-(b+m),t[1]=c+E,t[2]=f-P,t[3]=0,t[4]=c-E,t[5]=1-(i+m),t[6]=l+v,t[7]=0,t[8]=f+P,t[9]=l-v,t[10]=1-(i+b),t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}function e(t,a){var n=a[0],r=a[1],h=a[2],o=a[4],u=a[5],M=a[6],s=a[8],e=a[9],i=a[10];return t[0]=Math.hypot(n,r,h),t[1]=Math.hypot(o,u,M),t[2]=Math.hypot(s,e,i),t}function i(t,a,n){return t[0]=a[0]-n[0],t[1]=a[1]-n[1],t[2]=a[2]-n[2],t[3]=a[3]-n[3],t[4]=a[4]-n[4],t[5]=a[5]-n[5],t[6]=a[6]-n[6],t[7]=a[7]-n[7],t[8]=a[8]-n[8],t[9]=a[9]-n[9],t[10]=a[10]-n[10],t[11]=a[11]-n[11],t[12]=a[12]-n[12],t[13]=a[13]-n[13],t[14]=a[14]-n[14],t[15]=a[15]-n[15],t}n.create=function(){var t=new o.ARRAY_TYPE(16);return o.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},n.clone=function(t){var a=new o.ARRAY_TYPE(16);return a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=t[3],a[4]=t[4],a[5]=t[5],a[6]=t[6],a[7]=t[7],a[8]=t[8],a[9]=t[9],a[10]=t[10],a[11]=t[11],a[12]=t[12],a[13]=t[13],a[14]=t[14],a[15]=t[15],a},n.copy=function(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[3],t[4]=a[4],t[5]=a[5],t[6]=a[6],t[7]=a[7],t[8]=a[8],t[9]=a[9],t[10]=a[10],t[11]=a[11],t[12]=a[12],t[13]=a[13],t[14]=a[14],t[15]=a[15],t},n.fromValues=function(t,a,n,r,h,u,M,s,e,i,c,f,b,l,m,v){var P=new o.ARRAY_TYPE(16);return P[0]=t,P[1]=a,P[2]=n,P[3]=r,P[4]=h,P[5]=u,P[6]=M,P[7]=s,P[8]=e,P[9]=i,P[10]=c,P[11]=f,P[12]=b,P[13]=l,P[14]=m,P[15]=v,P},n.set=function(t,a,n,r,h,o,u,M,s,e,i,c,f,b,l,m,v){return t[0]=a,t[1]=n,t[2]=r,t[3]=h,t[4]=o,t[5]=u,t[6]=M,t[7]=s,t[8]=e,t[9]=i,t[10]=c,t[11]=f,t[12]=b,t[13]=l,t[14]=m,t[15]=v,t},n.identity=u,n.transpose=function(t,a){if(t===a){var n=a[1],r=a[2],h=a[3],o=a[6],u=a[7],M=a[11];t[1]=a[4],t[2]=a[8],t[3]=a[12],t[4]=n,t[6]=a[9],t[7]=a[13],t[8]=r,t[9]=o,t[11]=a[14],t[12]=h,t[13]=u,t[14]=M}else t[0]=a[0],t[1]=a[4],t[2]=a[8],t[3]=a[12],t[4]=a[1],t[5]=a[5],t[6]=a[9],t[7]=a[13],t[8]=a[2],t[9]=a[6],t[10]=a[10],t[11]=a[14],t[12]=a[3],t[13]=a[7],t[14]=a[11],t[15]=a[15];return t},n.invert=function(t,a){var n=a[0],r=a[1],h=a[2],o=a[3],u=a[4],M=a[5],s=a[6],e=a[7],i=a[8],c=a[9],f=a[10],b=a[11],l=a[12],m=a[13],v=a[14],P=a[15],E=n*M-r*u,S=n*s-h*u,I=n*e-o*u,O=r*s-h*M,L=r*e-o*M,N=h*e-o*s,p=i*m-c*l,R=i*v-f*l,x=i*P-b*l,A=c*v-f*m,y=c*P-b*m,Y=f*P-b*v,g=E*Y-S*y+I*A+O*x-L*R+N*p;return g?(g=1/g,t[0]=(M*Y-s*y+e*A)*g,t[1]=(h*y-r*Y-o*A)*g,t[2]=(m*N-v*L+P*O)*g,t[3]=(f*L-c*N-b*O)*g,t[4]=(s*x-u*Y-e*R)*g,t[5]=(n*Y-h*x+o*R)*g,t[6]=(v*I-l*N-P*S)*g,t[7]=(i*N-f*I+b*S)*g,t[8]=(u*y-M*x+e*p)*g,t[9]=(r*x-n*y-o*p)*g,t[10]=(l*L-m*I+P*E)*g,t[11]=(c*I-i*L-b*E)*g,t[12]=(M*R-u*A-s*p)*g,t[13]=(n*A-r*R+h*p)*g,t[14]=(m*S-l*O-v*E)*g,t[15]=(i*O-c*S+f*E)*g,t):null},n.adjoint=function(t,a){var n=a[0],r=a[1],h=a[2],o=a[3],u=a[4],M=a[5],s=a[6],e=a[7],i=a[8],c=a[9],f=a[10],b=a[11],l=a[12],m=a[13],v=a[14],P=a[15];return t[0]=M*(f*P-b*v)-c*(s*P-e*v)+m*(s*b-e*f),t[1]=-(r*(f*P-b*v)-c*(h*P-o*v)+m*(h*b-o*f)),t[2]=r*(s*P-e*v)-M*(h*P-o*v)+m*(h*e-o*s),t[3]=-(r*(s*b-e*f)-M*(h*b-o*f)+c*(h*e-o*s)),t[4]=-(u*(f*P-b*v)-i*(s*P-e*v)+l*(s*b-e*f)),t[5]=n*(f*P-b*v)-i*(h*P-o*v)+l*(h*b-o*f),t[6]=-(n*(s*P-e*v)-u*(h*P-o*v)+l*(h*e-o*s)),t[7]=n*(s*b-e*f)-u*(h*b-o*f)+i*(h*e-o*s),t[8]=u*(c*P-b*m)-i*(M*P-e*m)+l*(M*b-e*c),t[9]=-(n*(c*P-b*m)-i*(r*P-o*m)+l*(r*b-o*c)),t[10]=n*(M*P-e*m)-u*(r*P-o*m)+l*(r*e-o*M),t[11]=-(n*(M*b-e*c)-u*(r*b-o*c)+i*(r*e-o*M)),t[12]=-(u*(c*v-f*m)-i*(M*v-s*m)+l*(M*f-s*c)),t[13]=n*(c*v-f*m)-i*(r*v-h*m)+l*(r*f-h*c),t[14]=-(n*(M*v-s*m)-u*(r*v-h*m)+l*(r*s-h*M)),t[15]=n*(M*f-s*c)-u*(r*f-h*c)+i*(r*s-h*M),t},n.determinant=function(t){var a=t[0],n=t[1],r=t[2],h=t[3],o=t[4],u=t[5],M=t[6],s=t[7],e=t[8],i=t[9],c=t[10],f=t[11],b=t[12],l=t[13],m=t[14],v=t[15];return(a*u-n*o)*(c*v-f*m)-(a*M-r*o)*(i*v-f*l)+(a*s-h*o)*(i*m-c*l)+(n*M-r*u)*(e*v-f*b)-(n*s-h*u)*(e*m-c*b)+(r*s-h*M)*(e*l-i*b)},n.multiply=M,n.translate=function(t,a,n){var r,h,o,u,M,s,e,i,c,f,b,l,m=n[0],v=n[1],P=n[2];return a===t?(t[12]=a[0]*m+a[4]*v+a[8]*P+a[12],t[13]=a[1]*m+a[5]*v+a[9]*P+a[13],t[14]=a[2]*m+a[6]*v+a[10]*P+a[14],t[15]=a[3]*m+a[7]*v+a[11]*P+a[15]):(r=a[0],h=a[1],o=a[2],u=a[3],M=a[4],s=a[5],e=a[6],i=a[7],c=a[8],f=a[9],b=a[10],l=a[11],t[0]=r,t[1]=h,t[2]=o,t[3]=u,t[4]=M,t[5]=s,t[6]=e,t[7]=i,t[8]=c,t[9]=f,t[10]=b,t[11]=l,t[12]=r*m+M*v+c*P+a[12],t[13]=h*m+s*v+f*P+a[13],t[14]=o*m+e*v+b*P+a[14],t[15]=u*m+i*v+l*P+a[15]),t},n.scale=function(t,a,n){var r=n[0],h=n[1],o=n[2];return t[0]=a[0]*r,t[1]=a[1]*r,t[2]=a[2]*r,t[3]=a[3]*r,t[4]=a[4]*h,t[5]=a[5]*h,t[6]=a[6]*h,t[7]=a[7]*h,t[8]=a[8]*o,t[9]=a[9]*o,t[10]=a[10]*o,t[11]=a[11]*o,t[12]=a[12],t[13]=a[13],t[14]=a[14],t[15]=a[15],t},n.rotate=function(t,a,n,r){var h,u,M,s,e,i,c,f,b,l,m,v,P,E,S,I,O,L,N,p,R,x,A,y,Y=r[0],g=r[1],T=r[2],d=Math.hypot(Y,g,T);return d<o.EPSILON?null:(Y*=d=1/d,g*=d,T*=d,h=Math.sin(n),M=1-(u=Math.cos(n)),s=a[0],e=a[1],i=a[2],c=a[3],f=a[4],b=a[5],l=a[6],m=a[7],v=a[8],P=a[9],E=a[10],S=a[11],I=Y*Y*M+u,O=g*Y*M+T*h,L=T*Y*M-g*h,N=Y*g*M-T*h,p=g*g*M+u,R=T*g*M+Y*h,x=Y*T*M+g*h,A=g*T*M-Y*h,y=T*T*M+u,t[0]=s*I+f*O+v*L,t[1]=e*I+b*O+P*L,t[2]=i*I+l*O+E*L,t[3]=c*I+m*O+S*L,t[4]=s*N+f*p+v*R,t[5]=e*N+b*p+P*R,t[6]=i*N+l*p+E*R,t[7]=c*N+m*p+S*R,t[8]=s*x+f*A+v*y,t[9]=e*x+b*A+P*y,t[10]=i*x+l*A+E*y,t[11]=c*x+m*A+S*y,a!==t&&(t[12]=a[12],t[13]=a[13],t[14]=a[14],t[15]=a[15]),t)},n.rotateX=function(t,a,n){var r=Math.sin(n),h=Math.cos(n),o=a[4],u=a[5],M=a[6],s=a[7],e=a[8],i=a[9],c=a[10],f=a[11];return a!==t&&(t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[3],t[12]=a[12],t[13]=a[13],t[14]=a[14],t[15]=a[15]),t[4]=o*h+e*r,t[5]=u*h+i*r,t[6]=M*h+c*r,t[7]=s*h+f*r,t[8]=e*h-o*r,t[9]=i*h-u*r,t[10]=c*h-M*r,t[11]=f*h-s*r,t},n.rotateY=function(t,a,n){var r=Math.sin(n),h=Math.cos(n),o=a[0],u=a[1],M=a[2],s=a[3],e=a[8],i=a[9],c=a[10],f=a[11];return a!==t&&(t[4]=a[4],t[5]=a[5],t[6]=a[6],t[7]=a[7],t[12]=a[12],t[13]=a[13],t[14]=a[14],t[15]=a[15]),t[0]=o*h-e*r,t[1]=u*h-i*r,t[2]=M*h-c*r,t[3]=s*h-f*r,t[8]=o*r+e*h,t[9]=u*r+i*h,t[10]=M*r+c*h,t[11]=s*r+f*h,t},n.rotateZ=function(t,a,n){var r=Math.sin(n),h=Math.cos(n),o=a[0],u=a[1],M=a[2],s=a[3],e=a[4],i=a[5],c=a[6],f=a[7];return a!==t&&(t[8]=a[8],t[9]=a[9],t[10]=a[10],t[11]=a[11],t[12]=a[12],t[13]=a[13],t[14]=a[14],t[15]=a[15]),t[0]=o*h+e*r,t[1]=u*h+i*r,t[2]=M*h+c*r,t[3]=s*h+f*r,t[4]=e*h-o*r,t[5]=i*h-u*r,t[6]=c*h-M*r,t[7]=f*h-s*r,t},n.fromTranslation=function(t,a){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=a[0],t[13]=a[1],t[14]=a[2],t[15]=1,t},n.fromScaling=function(t,a){return t[0]=a[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=a[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.fromRotation=function(t,a,n){var r,h,u,M=n[0],s=n[1],e=n[2],i=Math.hypot(M,s,e);return i<o.EPSILON?null:(M*=i=1/i,s*=i,e*=i,r=Math.sin(a),u=1-(h=Math.cos(a)),t[0]=M*M*u+h,t[1]=s*M*u+e*r,t[2]=e*M*u-s*r,t[3]=0,t[4]=M*s*u-e*r,t[5]=s*s*u+h,t[6]=e*s*u+M*r,t[7]=0,t[8]=M*e*u+s*r,t[9]=s*e*u-M*r,t[10]=e*e*u+h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},n.fromXRotation=function(t,a){var n=Math.sin(a),r=Math.cos(a);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=r,t[6]=n,t[7]=0,t[8]=0,t[9]=-n,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.fromYRotation=function(t,a){var n=Math.sin(a),r=Math.cos(a);return t[0]=r,t[1]=0,t[2]=-n,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=n,t[9]=0,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.fromZRotation=function(t,a){var n=Math.sin(a),r=Math.cos(a);return t[0]=r,t[1]=n,t[2]=0,t[3]=0,t[4]=-n,t[5]=r,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.fromRotationTranslation=s,n.fromQuat2=function(t,a){var n=new o.ARRAY_TYPE(3),r=-a[0],h=-a[1],u=-a[2],M=a[3],e=a[4],i=a[5],c=a[6],f=a[7],b=r*r+h*h+u*u+M*M;return b>0?(n[0]=2*(e*M+f*r+i*u-c*h)/b,n[1]=2*(i*M+f*h+c*r-e*u)/b,n[2]=2*(c*M+f*u+e*h-i*r)/b):(n[0]=2*(e*M+f*r+i*u-c*h),n[1]=2*(i*M+f*h+c*r-e*u),n[2]=2*(c*M+f*u+e*h-i*r)),s(t,a,n),t},n.getTranslation=function(t,a){return t[0]=a[12],t[1]=a[13],t[2]=a[14],t},n.getScaling=e,n.getRotation=function(t,a){var n=new o.ARRAY_TYPE(3);e(n,a);var r=1/n[0],h=1/n[1],u=1/n[2],M=a[0]*r,s=a[1]*h,i=a[2]*u,c=a[4]*r,f=a[5]*h,b=a[6]*u,l=a[8]*r,m=a[9]*h,v=a[10]*u,P=M+f+v,E=0;return P>0?(E=2*Math.sqrt(P+1),t[3]=.25*E,t[0]=(b-m)/E,t[1]=(l-i)/E,t[2]=(s-c)/E):M>f&&M>v?(E=2*Math.sqrt(1+M-f-v),t[3]=(b-m)/E,t[0]=.25*E,t[1]=(s+c)/E,t[2]=(l+i)/E):f>v?(E=2*Math.sqrt(1+f-M-v),t[3]=(l-i)/E,t[0]=(s+c)/E,t[1]=.25*E,t[2]=(b+m)/E):(E=2*Math.sqrt(1+v-M-f),t[3]=(s-c)/E,t[0]=(l+i)/E,t[1]=(b+m)/E,t[2]=.25*E),t},n.fromRotationTranslationScale=function(t,a,n,r){var h=a[0],o=a[1],u=a[2],M=a[3],s=h+h,e=o+o,i=u+u,c=h*s,f=h*e,b=h*i,l=o*e,m=o*i,v=u*i,P=M*s,E=M*e,S=M*i,I=r[0],O=r[1],L=r[2];return t[0]=(1-(l+v))*I,t[1]=(f+S)*I,t[2]=(b-E)*I,t[3]=0,t[4]=(f-S)*O,t[5]=(1-(c+v))*O,t[6]=(m+P)*O,t[7]=0,t[8]=(b+E)*L,t[9]=(m-P)*L,t[10]=(1-(c+l))*L,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t},n.fromRotationTranslationScaleOrigin=function(t,a,n,r,h){var o=a[0],u=a[1],M=a[2],s=a[3],e=o+o,i=u+u,c=M+M,f=o*e,b=o*i,l=o*c,m=u*i,v=u*c,P=M*c,E=s*e,S=s*i,I=s*c,O=r[0],L=r[1],N=r[2],p=h[0],R=h[1],x=h[2],A=(1-(m+P))*O,y=(b+I)*O,Y=(l-S)*O,g=(b-I)*L,T=(1-(f+P))*L,d=(v+E)*L,_=(l+S)*N,q=(v-E)*N,w=(1-(f+m))*N;return t[0]=A,t[1]=y,t[2]=Y,t[3]=0,t[4]=g,t[5]=T,t[6]=d,t[7]=0,t[8]=_,t[9]=q,t[10]=w,t[11]=0,t[12]=n[0]+p-(A*p+g*R+_*x),t[13]=n[1]+R-(y*p+T*R+q*x),t[14]=n[2]+x-(Y*p+d*R+w*x),t[15]=1,t},n.fromQuat=function(t,a){var n=a[0],r=a[1],h=a[2],o=a[3],u=n+n,M=r+r,s=h+h,e=n*u,i=r*u,c=r*M,f=h*u,b=h*M,l=h*s,m=o*u,v=o*M,P=o*s;return t[0]=1-c-l,t[1]=i+P,t[2]=f-v,t[3]=0,t[4]=i-P,t[5]=1-e-l,t[6]=b+m,t[7]=0,t[8]=f+v,t[9]=b-m,t[10]=1-e-c,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.frustum=function(t,a,n,r,h,o,u){var M=1/(n-a),s=1/(h-r),e=1/(o-u);return t[0]=2*o*M,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*o*s,t[6]=0,t[7]=0,t[8]=(n+a)*M,t[9]=(h+r)*s,t[10]=(u+o)*e,t[11]=-1,t[12]=0,t[13]=0,t[14]=u*o*2*e,t[15]=0,t},n.perspective=function(t,a,n,r,h){var o,u=1/Math.tan(a/2);return t[0]=u/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=h&&h!==1/0?(o=1/(r-h),t[10]=(h+r)*o,t[14]=2*h*r*o):(t[10]=-1,t[14]=-2*r),t},n.perspectiveFromFieldOfView=function(t,a,n,r){var h=Math.tan(a.upDegrees*Math.PI/180),o=Math.tan(a.downDegrees*Math.PI/180),u=Math.tan(a.leftDegrees*Math.PI/180),M=Math.tan(a.rightDegrees*Math.PI/180),s=2/(u+M),e=2/(h+o);return t[0]=s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=-(u-M)*s*.5,t[9]=(h-o)*e*.5,t[10]=r/(n-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*n/(n-r),t[15]=0,t},n.ortho=function(t,a,n,r,h,o,u){var M=1/(a-n),s=1/(r-h),e=1/(o-u);return t[0]=-2*M,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*s,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*e,t[11]=0,t[12]=(a+n)*M,t[13]=(h+r)*s,t[14]=(u+o)*e,t[15]=1,t},n.lookAt=function(t,a,n,r){var h,M,s,e,i,c,f,b,l,m,v=a[0],P=a[1],E=a[2],S=r[0],I=r[1],O=r[2],L=n[0],N=n[1],p=n[2];return Math.abs(v-L)<o.EPSILON&&Math.abs(P-N)<o.EPSILON&&Math.abs(E-p)<o.EPSILON?u(t):(f=v-L,b=P-N,l=E-p,h=I*(l*=m=1/Math.hypot(f,b,l))-O*(b*=m),M=O*(f*=m)-S*l,s=S*b-I*f,(m=Math.hypot(h,M,s))?(h*=m=1/m,M*=m,s*=m):(h=0,M=0,s=0),e=b*s-l*M,i=l*h-f*s,c=f*M-b*h,(m=Math.hypot(e,i,c))?(e*=m=1/m,i*=m,c*=m):(e=0,i=0,c=0),t[0]=h,t[1]=e,t[2]=f,t[3]=0,t[4]=M,t[5]=i,t[6]=b,t[7]=0,t[8]=s,t[9]=c,t[10]=l,t[11]=0,t[12]=-(h*v+M*P+s*E),t[13]=-(e*v+i*P+c*E),t[14]=-(f*v+b*P+l*E),t[15]=1,t)},n.targetTo=function(t,a,n,r){var h=a[0],o=a[1],u=a[2],M=r[0],s=r[1],e=r[2],i=h-n[0],c=o-n[1],f=u-n[2],b=i*i+c*c+f*f;b>0&&(i*=b=1/Math.sqrt(b),c*=b,f*=b);var l=s*f-e*c,m=e*i-M*f,v=M*c-s*i;return(b=l*l+m*m+v*v)>0&&(l*=b=1/Math.sqrt(b),m*=b,v*=b),t[0]=l,t[1]=m,t[2]=v,t[3]=0,t[4]=c*v-f*m,t[5]=f*l-i*v,t[6]=i*m-c*l,t[7]=0,t[8]=i,t[9]=c,t[10]=f,t[11]=0,t[12]=h,t[13]=o,t[14]=u,t[15]=1,t},n.str=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"},n.frob=function(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},n.add=function(t,a,n){return t[0]=a[0]+n[0],t[1]=a[1]+n[1],t[2]=a[2]+n[2],t[3]=a[3]+n[3],t[4]=a[4]+n[4],t[5]=a[5]+n[5],t[6]=a[6]+n[6],t[7]=a[7]+n[7],t[8]=a[8]+n[8],t[9]=a[9]+n[9],t[10]=a[10]+n[10],t[11]=a[11]+n[11],t[12]=a[12]+n[12],t[13]=a[13]+n[13],t[14]=a[14]+n[14],t[15]=a[15]+n[15],t},n.subtract=i,n.multiplyScalar=function(t,a,n){return t[0]=a[0]*n,t[1]=a[1]*n,t[2]=a[2]*n,t[3]=a[3]*n,t[4]=a[4]*n,t[5]=a[5]*n,t[6]=a[6]*n,t[7]=a[7]*n,t[8]=a[8]*n,t[9]=a[9]*n,t[10]=a[10]*n,t[11]=a[11]*n,t[12]=a[12]*n,t[13]=a[13]*n,t[14]=a[14]*n,t[15]=a[15]*n,t},n.multiplyScalarAndAdd=function(t,a,n,r){return t[0]=a[0]+n[0]*r,t[1]=a[1]+n[1]*r,t[2]=a[2]+n[2]*r,t[3]=a[3]+n[3]*r,t[4]=a[4]+n[4]*r,t[5]=a[5]+n[5]*r,t[6]=a[6]+n[6]*r,t[7]=a[7]+n[7]*r,t[8]=a[8]+n[8]*r,t[9]=a[9]+n[9]*r,t[10]=a[10]+n[10]*r,t[11]=a[11]+n[11]*r,t[12]=a[12]+n[12]*r,t[13]=a[13]+n[13]*r,t[14]=a[14]+n[14]*r,t[15]=a[15]+n[15]*r,t},n.exactEquals=function(t,a){return t[0]===a[0]&&t[1]===a[1]&&t[2]===a[2]&&t[3]===a[3]&&t[4]===a[4]&&t[5]===a[5]&&t[6]===a[6]&&t[7]===a[7]&&t[8]===a[8]&&t[9]===a[9]&&t[10]===a[10]&&t[11]===a[11]&&t[12]===a[12]&&t[13]===a[13]&&t[14]===a[14]&&t[15]===a[15]},n.equals=function(t,a){var n=t[0],r=t[1],h=t[2],u=t[3],M=t[4],s=t[5],e=t[6],i=t[7],c=t[8],f=t[9],b=t[10],l=t[11],m=t[12],v=t[13],P=t[14],E=t[15],S=a[0],I=a[1],O=a[2],L=a[3],N=a[4],p=a[5],R=a[6],x=a[7],A=a[8],y=a[9],Y=a[10],g=a[11],T=a[12],d=a[13],_=a[14],q=a[15];return Math.abs(n-S)<=o.EPSILON*Math.max(1,Math.abs(n),Math.abs(S))&&Math.abs(r-I)<=o.EPSILON*Math.max(1,Math.abs(r),Math.abs(I))&&Math.abs(h-O)<=o.EPSILON*Math.max(1,Math.abs(h),Math.abs(O))&&Math.abs(u-L)<=o.EPSILON*Math.max(1,Math.abs(u),Math.abs(L))&&Math.abs(M-N)<=o.EPSILON*Math.max(1,Math.abs(M),Math.abs(N))&&Math.abs(s-p)<=o.EPSILON*Math.max(1,Math.abs(s),Math.abs(p))&&Math.abs(e-R)<=o.EPSILON*Math.max(1,Math.abs(e),Math.abs(R))&&Math.abs(i-x)<=o.EPSILON*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(c-A)<=o.EPSILON*Math.max(1,Math.abs(c),Math.abs(A))&&Math.abs(f-y)<=o.EPSILON*Math.max(1,Math.abs(f),Math.abs(y))&&Math.abs(b-Y)<=o.EPSILON*Math.max(1,Math.abs(b),Math.abs(Y))&&Math.abs(l-g)<=o.EPSILON*Math.max(1,Math.abs(l),Math.abs(g))&&Math.abs(m-T)<=o.EPSILON*Math.max(1,Math.abs(m),Math.abs(T))&&Math.abs(v-d)<=o.EPSILON*Math.max(1,Math.abs(v),Math.abs(d))&&Math.abs(P-_)<=o.EPSILON*Math.max(1,Math.abs(P),Math.abs(_))&&Math.abs(E-q)<=o.EPSILON*Math.max(1,Math.abs(E),Math.abs(q))},n.mul=M,n.sub=i},n”, “ "eb06fc032a": function _(t,a,r,n,e){n();const o=t("tslib"),s=o.__importStar(t("68ca94c15c")),u=o.__importStar(t("0285c50a7e")),c=o.__importStar(t("2c5eb22089")),i=o.__importStar(t("c1aa33d719"));function h(){var t=new s.ARRAY_TYPE(4);return s.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function M(t,a,r){r*=.5;var n=Math.sin(r);return t[0]=n*a[0],t[1]=n*a[1],t[2]=n*a[2],t[3]=Math.cos(r),t}function l(t,a,r){var n=a[0],e=a[1],o=a[2],s=a[3],u=r[0],c=r[1],i=r[2],h=r[3];return t[0]=n*h+s*u+e*i-o*c,t[1]=e*h+s*c+o*u-n*i,t[2]=o*h+s*i+n*c-e*u,t[3]=s*h-n*u-e*c-o*i,t}function f(t,a){var r=a[0],n=a[1],e=a[2],o=a[3],s=Math.sqrt(r*r+n*n+e*e),u=Math.exp(o),c=s>0?u*Math.sin(s)/s:0;return t[0]=r*c,t[1]=n*c,t[2]=e*c,t[3]=u*Math.cos(s),t}function v(t,a){var r=a[0],n=a[1],e=a[2],o=a[3],s=Math.sqrt(r*r+n*n+e*e),u=s>0?Math.atan2(s,o)/s:0;return t[0]=r*u,t[1]=n*u,t[2]=e*u,t[3]=.5*Math.log(r*r+n*n+e*e+o*o),t}function m(t,a,r,n){var e,o,u,c,i,h=a[0],M=a[1],l=a[2],f=a[3],v=r[0],m=r[1],q=r[2],d=r[3];return(o=h*v+M*m+l*q+f*d)<0&&(o=-o,v=-v,m=-m,q=-q,d=-d),1-o>s.EPSILON?(e=Math.acos(o),u=Math.sin(e),c=Math.sin((1-n)*e)/u,i=Math.sin(n*e)/u):(c=1-n,i=n),t[0]=c*h+i*v,t[1]=c*M+i*m,t[2]=c*l+i*q,t[3]=c*f+i*d,t}function q(t,a){var r,n=a[0]+a[4]+a[8];if(n>0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(a[5]-a[7])*r,t[1]=(a[6]-a[2])*r,t[2]=(a[1]-a[3])*r;else{var e=0;a[4]>a[0]&&(e=1),a[8]>a[3*e+e]&&(e=2);var o=(e+1)%3,s=(e+2)%3;r=Math.sqrt(a[3*e+e]-a[3*o+o]-a[3*s+s]+1),t[e]=.5*r,r=.5/r,t[3]=(a[3*o+s]-a[3*s+o])*r,t[o]=(a[3*o+e]+a[3*e+o])*r,t[s]=(a[3*s+e]+a[3*e+s])*r}return t}var d,p,A,g,_,P;r.create=h,r.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},r.setAxisAngle=M,r.getAxisAngle=function(t,a){var r=2*Math.acos(a[3]),n=Math.sin(r/2);return n>s.EPSILON?(t[0]=a[0]/n,t[1]=a[1]/n,t[2]=a[2]/n):(t[0]=1,t[1]=0,t[2]=0),r},r.getAngle=function(t,a){var n=r.dot(t,a);return Math.acos(2*n*n-1)},r.multiply=l,r.rotateX=function(t,a,r){r*=.5;var n=a[0],e=a[1],o=a[2],s=a[3],u=Math.sin(r),c=Math.cos(r);return t[0]=n*c+s*u,t[1]=e*c+o*u,t[2]=o*c-e*u,t[3]=s*c-n*u,t},r.rotateY=function(t,a,r){r*=.5;var n=a[0],e=a[1],o=a[2],s=a[3],u=Math.sin(r),c=Math.cos(r);return t[0]=n*c-o*u,t[1]=e*c+s*u,t[2]=o*c+n*u,t[3]=s*c-e*u,t},r.rotateZ=function(t,a,r){r*=.5;var n=a[0],e=a[1],o=a[2],s=a[3],u=Math.sin(r),c=Math.cos(r);return t[0]=n*c+e*u,t[1]=e*c-n*u,t[2]=o*c+s*u,t[3]=s*c-o*u,t},r.calculateW=function(t,a){var r=a[0],n=a[1],e=a[2];return t[0]=r,t[1]=n,t[2]=e,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-e*e)),t},r.exp=f,r.ln=v,r.pow=function(t,a,n){return v(t,a),r.scale(t,t,n),f(t,t),t},r.slerp=m,r.random=function(t){var a=s.RANDOM(),r=s.RANDOM(),n=s.RANDOM(),e=Math.sqrt(1-a),o=Math.sqrt(a);return t[0]=e*Math.sin(2*Math.PI*r),t[1]=e*Math.cos(2*Math.PI*r),t[2]=o*Math.sin(2*Math.PI*n),t[3]=o*Math.cos(2*Math.PI*n),t},r.invert=function(t,a){var r=a[0],n=a[1],e=a[2],o=a[3],s=r*r+n*n+e*e+o*o,u=s?1/s:0;return t[0]=-r*u,t[1]=-n*u,t[2]=-e*u,t[3]=o*u,t},r.conjugate=function(t,a){return t[0]=-a[0],t[1]=-a[1],t[2]=-a[2],t[3]=a[3],t},r.fromMat3=q,r.fromEuler=function(t,a,r,n){var e=.5*Math.PI/180;a*=e,r*=e,n*=e;var o=Math.sin(a),s=Math.cos(a),u=Math.sin(r),c=Math.cos(r),i=Math.sin(n),h=Math.cos(n);return t[0]=o*c*h-s*u*i,t[1]=s*u*h+o*c*i,t[2]=s*c*i-o*u*h,t[3]=s*c*h+o*u*i,t},r.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},r.clone=i.clone,r.fromValues=i.fromValues,r.copy=i.copy,r.set=i.set,r.add=i.add,r.mul=l,r.scale=i.scale,r.dot=i.dot,r.lerp=i.lerp,r.length=i.length,r.len=r.length,r.squaredLength=i.squaredLength,r.sqrLen=r.squaredLength,r.normalize=i.normalize,r.exactEquals=i.exactEquals,r.equals=i.equals,r.rotationTo=(d=c.create(),p=c.fromValues(1,0,0),A=c.fromValues(0,1,0),function(t,a,n){var e=c.dot(a,n);return e<-.999999?(c.cross(d,p,a),c.len(d)<1e-6&&c.cross(d,A,a),c.normalize(d,d),M(t,d,Math.PI),t):e>.999999?(t[0]=0,t[1]=0,t[2]=0,t[3]=1,t):(c.cross(d,a,n),t[0]=d[0],t[1]=d[1],t[2]=d[2],t[3]=1+e,r.normalize(t,t))}),r.sqlerp=(g=h(),_=h(),function(t,a,r,n,e,o){return m(g,a,e,o),m(_,r,n,o),m(t,g,_,2*o*(1-o)),t}),r.setAxes=(P=u.create(),function(t,a,n,e){return P[0]=n[0],P[3]=n[1],P[6]=n[2],P[1]=e[0],P[4]=e[1],P[7]=e[2],P[2]=-a[0],P[5]=-a[1],P[8]=-a[2],r.normalize(t,q(t,P))})},n”, “ "2c5eb22089": function _(t,n,r,a,u){a();const e=t("tslib").__importStar(t("68ca94c15c"));function o(){var t=new e.ARRAY_TYPE(3);return e.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function i(t){var n=t[0],r=t[1],a=t[2];return Math.hypot(n,r,a)}function c(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t}function h(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t}function M(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t}function s(t,n){var r=n[0]-t[0],a=n[1]-t[1],u=n[2]-t[2];return Math.hypot(r,a,u)}function f(t,n){var r=n[0]-t[0],a=n[1]-t[1],u=n[2]-t[2];return r*r+a*a+u*u}function v(t){var n=t[0],r=t[1],a=t[2];return n*n+r*r+a*a}function l(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}var m;r.create=o,r.clone=function(t){var n=new e.ARRAY_TYPE(3);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n},r.length=i,r.fromValues=function(t,n,r){var a=new e.ARRAY_TYPE(3);return a[0]=t,a[1]=n,a[2]=r,a},r.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t},r.set=function(t,n,r,a){return t[0]=n,t[1]=r,t[2]=a,t},r.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t},r.subtract=c,r.multiply=h,r.divide=M,r.ceil=function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t},r.floor=function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t},r.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t},r.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t},r.round=function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t},r.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t},r.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t},r.distance=s,r.squaredDistance=f,r.squaredLength=v,r.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t},r.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t},r.normalize=function(t,n){var r=n[0],a=n[1],u=n[2],e=r*r+a*a+u*u;return e>0&&(e=1/Math.sqrt(e)),t[0]=n[0]*e,t[1]=n[1]*e,t[2]=n[2]*e,t},r.dot=l,r.cross=function(t,n,r){var a=n[0],u=n[1],e=n[2],o=r[0],i=r[1],c=r[2];return t[0]=u*c-e*i,t[1]=e*o-a*c,t[2]=a*i-u*o,t},r.lerp=function(t,n,r,a){var u=n[0],e=n[1],o=n[2];return t[0]=u+a*(r[0]-u),t[1]=e+a*(r[1]-e),t[2]=o+a*(r[2]-o),t},r.hermite=function(t,n,r,a,u,e){var o=e*e,i=o*(2*e-3)+1,c=o*(e-2)+e,h=o*(e-1),M=o*(3-2*e);return t[0]=n[0]*i+r[0]*c+a[0]*h+u[0]*M,t[1]=n[1]*i+r[1]*c+a[1]*h+u[1]*M,t[2]=n[2]*i+r[2]*c+a[2]*h+u[2]*M,t},r.bezier=function(t,n,r,a,u,e){var o=1-e,i=o*o,c=e*e,h=i*o,M=3*e*i,s=3*c*o,f=c*e;return t[0]=n[0]*h+r[0]*M+a[0]*s+u[0]*f,t[1]=n[1]*h+r[1]*M+a[1]*s+u[1]*f,t[2]=n[2]*h+r[2]*M+a[2]*s+u[2]*f,t},r.random=function(t,n){n=n||1;var r=2*e.RANDOM()*Math.PI,a=2*e.RANDOM()-1,u=Math.sqrt(1-a*a)*n;return t[0]=Math.cos(r)*u,t[1]=Math.sin(r)*u,t[2]=a*n,t},r.transformMat4=function(t,n,r){var a=n[0],u=n[1],e=n[2],o=r[3]*a+r[7]*u+r[11]*e+r[15];return o=o||1,t[0]=(r[0]*a+r[4]*u+r[8]*e+r[12])/o,t[1]=(r[1]*a+r[5]*u+r[9]*e+r[13])/o,t[2]=(r[2]*a+r[6]*u+r[10]*e+r[14])/o,t},r.transformMat3=function(t,n,r){var a=n[0],u=n[1],e=n[2];return t[0]=a*r[0]+u*r[3]+e*r[6],t[1]=a*r[1]+u*r[4]+e*r[7],t[2]=a*r[2]+u*r[5]+e*r[8],t},r.transformQuat=function(t,n,r){var a=r[0],u=r[1],e=r[2],o=r[3],i=n[0],c=n[1],h=n[2],M=u*h-e*c,s=e*i-a*h,f=a*c-u*i,v=u*f-e*s,l=e*M-a*f,m=a*s-u*M,d=2*o;return M*=d,s*=d,f*=d,v*=2,l*=2,m*=2,t[0]=i+M+v,t[1]=c+s+l,t[2]=h+f+m,t},r.rotateX=function(t,n,r,a){var u=[],e=[];return u[0]=n[0]-r[0],u[1]=n[1]-r[1],u[2]=n[2]-r[2],e[0]=u[0],e[1]=u[1]*Math.cos(a)-u[2]*Math.sin(a),e[2]=u[1]*Math.sin(a)+u[2]*Math.cos(a),t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},r.rotateY=function(t,n,r,a){var u=[],e=[];return u[0]=n[0]-r[0],u[1]=n[1]-r[1],u[2]=n[2]-r[2],e[0]=u[2]*Math.sin(a)+u[0]*Math.cos(a),e[1]=u[1],e[2]=u[2]*Math.cos(a)-u[0]*Math.sin(a),t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},r.rotateZ=function(t,n,r,a){var u=[],e=[];return u[0]=n[0]-r[0],u[1]=n[1]-r[1],u[2]=n[2]-r[2],e[0]=u[0]*Math.cos(a)-u[1]*Math.sin(a),e[1]=u[0]*Math.sin(a)+u[1]*Math.cos(a),e[2]=u[2],t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},r.angle=function(t,n){var r=t[0],a=t[1],u=t[2],e=n[0],o=n[1],i=n[2],c=Math.sqrt(r*r+a*a+u*u)*Math.sqrt(e*e+o*o+i*i),h=c&&l(t,n)/c;return Math.acos(Math.min(Math.max(h,-1),1))},r.zero=function(t){return t[0]=0,t[1]=0,t[2]=0,t},r.str=function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},r.exactEquals=function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]},r.equals=function(t,n){var r=t[0],a=t[1],u=t[2],o=n[0],i=n[1],c=n[2];return Math.abs(r-o)<=e.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(a-i)<=e.EPSILON*Math.max(1,Math.abs(a),Math.abs(i))&&Math.abs(u-c)<=e.EPSILON*Math.max(1,Math.abs(u),Math.abs(c))},r.sub=c,r.mul=h,r.div=M,r.dist=s,r.sqrDist=f,r.len=i,r.sqrLen=v,r.forEach=(m=o(),function(t,n,r,a,u,e){var o,i;for(n||(n=3),r||(r=0),i=a?Math.min(a*n+r,t.length):t.length,o=r;o<i;o+=n)m[0]=t[o],m[1]=t[o+1],m[2]=t[o+2],u(m,m,e),t[o]=m[0],t[o+1]=m[1],t[o+2]=m[2];return t})},n”, “ "c1aa33d719": function _(t,n,r,a,u){a();const e=t("tslib").__importStar(t("68ca94c15c"));function o(){var t=new e.ARRAY_TYPE(4);return e.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}function i(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t[3]=n[3]-r[3],t}function c(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t[3]=n[3]*r[3],t}function h(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t[3]=n[3]/r[3],t}function M(t,n){var r=n[0]-t[0],a=n[1]-t[1],u=n[2]-t[2],e=n[3]-t[3];return Math.hypot(r,a,u,e)}function f(t,n){var r=n[0]-t[0],a=n[1]-t[1],u=n[2]-t[2],e=n[3]-t[3];return r*r+a*a+u*u+e*e}function s(t){var n=t[0],r=t[1],a=t[2],u=t[3];return Math.hypot(n,r,a,u)}function l(t){var n=t[0],r=t[1],a=t[2],u=t[3];return n*n+r*r+a*a+u*u}var m;r.create=o,r.clone=function(t){var n=new e.ARRAY_TYPE(4);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n},r.fromValues=function(t,n,r,a){var u=new e.ARRAY_TYPE(4);return u[0]=t,u[1]=n,u[2]=r,u[3]=a,u},r.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t},r.set=function(t,n,r,a,u){return t[0]=n,t[1]=r,t[2]=a,t[3]=u,t},r.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t[3]=n[3]+r[3],t},r.subtract=i,r.multiply=c,r.divide=h,r.ceil=function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t[3]=Math.ceil(n[3]),t},r.floor=function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t[3]=Math.floor(n[3]),t},r.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t[3]=Math.min(n[3],r[3]),t},r.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t[3]=Math.max(n[3],r[3]),t},r.round=function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t[3]=Math.round(n[3]),t},r.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t},r.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t[3]=n[3]+r[3]*a,t},r.distance=M,r.squaredDistance=f,r.length=s,r.squaredLength=l,r.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=-n[3],t},r.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t[3]=1/n[3],t},r.normalize=function(t,n){var r=n[0],a=n[1],u=n[2],e=n[3],o=r*r+a*a+u*u+e*e;return o>0&&(o=1/Math.sqrt(o)),t[0]=r*o,t[1]=a*o,t[2]=u*o,t[3]=e*o,t},r.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]},r.cross=function(t,n,r,a){var u=r[0]*a[1]-r[1]*a[0],e=r[0]*a[2]-r[2]*a[0],o=r[0]*a[3]-r[3]*a[0],i=r[1]*a[2]-r[2]*a[1],c=r[1]*a[3]-r[3]*a[1],h=r[2]*a[3]-r[3]*a[2],M=n[0],f=n[1],s=n[2],l=n[3];return t[0]=f*h-s*c+l*i,t[1]=-M*h+s*o-l*e,t[2]=M*c-f*o+l*u,t[3]=-M*i+f*e-s*u,t},r.lerp=function(t,n,r,a){var u=n[0],e=n[1],o=n[2],i=n[3];return t[0]=u+a*(r[0]-u),t[1]=e+a*(r[1]-e),t[2]=o+a*(r[2]-o),t[3]=i+a*(r[3]-i),t},r.random=function(t,n){var r,a,u,o,i,c;n=n||1;do{i=(r=2*e.RANDOM()-1)*r+(a=2*e.RANDOM()-1)*a}while(i>=1);do{c=(u=2*e.RANDOM()-1)*u+(o=2*e.RANDOM()-1)*o}while(c>=1);var h=Math.sqrt((1-i)/c);return t[0]=n*r,t[1]=n*a,t[2]=n*u*h,t[3]=n*o*h,t},r.transformMat4=function(t,n,r){var a=n[0],u=n[1],e=n[2],o=n[3];return t[0]=r[0]*a+r[4]*u+r[8]*e+r[12]*o,t[1]=r[1]*a+r[5]*u+r[9]*e+r[13]*o,t[2]=r[2]*a+r[6]*u+r[10]*e+r[14]*o,t[3]=r[3]*a+r[7]*u+r[11]*e+r[15]*o,t},r.transformQuat=function(t,n,r){var a=n[0],u=n[1],e=n[2],o=r[0],i=r[1],c=r[2],h=r[3],M=h*a+i*e-c*u,f=h*u+c*a-o*e,s=h*e+o*u-i*a,l=-o*a-i*u-c*e;return t[0]=M*h+l*-o+f*-c-s*-i,t[1]=f*h+l*-i+s*-o-M*-c,t[2]=s*h+l*-c+M*-i-f*-o,t[3]=n[3],t},r.zero=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},r.str=function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},r.exactEquals=function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]},r.equals=function(t,n){var r=t[0],a=t[1],u=t[2],o=t[3],i=n[0],c=n[1],h=n[2],M=n[3];return Math.abs(r-i)<=e.EPSILON*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(a-c)<=e.EPSILON*Math.max(1,Math.abs(a),Math.abs(c))&&Math.abs(u-h)<=e.EPSILON*Math.max(1,Math.abs(u),Math.abs(h))&&Math.abs(o-M)<=e.EPSILON*Math.max(1,Math.abs(o),Math.abs(M))},r.sub=i,r.mul=c,r.div=h,r.dist=M,r.sqrDist=f,r.len=s,r.sqrLen=l,r.forEach=(m=o(),function(t,n,r,a,u,e){var o,i;for(n||(n=4),r||(r=0),i=a?Math.min(a*n+r,t.length):t.length,o=r;o<i;o+=n)m[0]=t[o],m[1]=t[o+1],m[2]=t[o+2],m[3]=t[o+3],u(m,m,e),t[o]=m[0],t[o+1]=m[1],t[o+2]=m[2],t[o+3]=m[3];return t})},n”, “ "277615c682": function _(t,a,n,r,e){r();const u=t("tslib"),o=u.__importStar(t("68ca94c15c")),i=u.__importStar(t("eb06fc032a")),s=u.__importStar(t("a427635f32"));function c(t,a,n){var r=.5*n[0],e=.5*n[1],u=.5*n[2],o=a[0],i=a[1],s=a[2],c=a[3];return t[0]=o,t[1]=i,t[2]=s,t[3]=c,t[4]=r*c+e*s-u*i,t[5]=e*c+u*o-r*s,t[6]=u*c+r*i-e*o,t[7]=-r*o-e*i-u*s,t}function h(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[3],t[4]=a[4],t[5]=a[5],t[6]=a[6],t[7]=a[7],t}function f(t,a,n){var r=a[0],e=a[1],u=a[2],o=a[3],i=n[4],s=n[5],c=n[6],h=n[7],f=a[4],M=a[5],b=a[6],l=a[7],v=n[0],m=n[1],R=n[2],A=n[3];return t[0]=r*A+o*v+e*R-u*m,t[1]=e*A+o*m+u*v-r*R,t[2]=u*A+o*R+r*m-e*v,t[3]=o*A-r*v-e*m-u*R,t[4]=r*h+o*i+e*c-u*s+f*A+l*v+M*R-b*m,t[5]=e*h+o*s+u*i-r*c+M*A+l*m+b*v-f*R,t[6]=u*h+o*c+r*s-e*i+b*A+l*R+f*m-M*v,t[7]=o*h-r*i-e*s-u*c+l*A-f*v-M*m-b*R,t}n.create=function(){var t=new o.ARRAY_TYPE(8);return o.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0),t[3]=1,t},n.clone=function(t){var a=new o.ARRAY_TYPE(8);return a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=t[3],a[4]=t[4],a[5]=t[5],a[6]=t[6],a[7]=t[7],a},n.fromValues=function(t,a,n,r,e,u,i,s){var c=new o.ARRAY_TYPE(8);return c[0]=t,c[1]=a,c[2]=n,c[3]=r,c[4]=e,c[5]=u,c[6]=i,c[7]=s,c},n.fromRotationTranslationValues=function(t,a,n,r,e,u,i){var s=new o.ARRAY_TYPE(8);s[0]=t,s[1]=a,s[2]=n,s[3]=r;var c=.5*e,h=.5*u,f=.5*i;return s[4]=c*r+h*n-f*a,s[5]=h*r+f*t-c*n,s[6]=f*r+c*a-h*t,s[7]=-c*t-h*a-f*n,s},n.fromRotationTranslation=c,n.fromTranslation=function(t,a){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t[4]=.5*a[0],t[5]=.5*a[1],t[6]=.5*a[2],t[7]=0,t},n.fromRotation=function(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[3],t[4]=0,t[5]=0,t[6]=0,t[7]=0,t},n.fromMat4=function(t,a){var n=i.create();s.getRotation(n,a);var r=new o.ARRAY_TYPE(3);return s.getTranslation(r,a),c(t,n,r),t},n.copy=h,n.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t},n.set=function(t,a,n,r,e,u,o,i,s){return t[0]=a,t[1]=n,t[2]=r,t[3]=e,t[4]=u,t[5]=o,t[6]=i,t[7]=s,t},n.getReal=i.copy,n.getDual=function(t,a){return t[0]=a[4],t[1]=a[5],t[2]=a[6],t[3]=a[7],t},n.setReal=i.copy,n.setDual=function(t,a){return t[4]=a[0],t[5]=a[1],t[6]=a[2],t[7]=a[3],t},n.getTranslation=function(t,a){var n=a[4],r=a[5],e=a[6],u=a[7],o=-a[0],i=-a[1],s=-a[2],c=a[3];return t[0]=2*(n*c+u*o+r*s-e*i),t[1]=2*(r*c+u*i+e*o-n*s),t[2]=2*(e*c+u*s+n*i-r*o),t},n.translate=function(t,a,n){var r=a[0],e=a[1],u=a[2],o=a[3],i=.5*n[0],s=.5*n[1],c=.5*n[2],h=a[4],f=a[5],M=a[6],b=a[7];return t[0]=r,t[1]=e,t[2]=u,t[3]=o,t[4]=o*i+e*c-u*s+h,t[5]=o*s+u*i-r*c+f,t[6]=o*c+r*s-e*i+M,t[7]=-r*i-e*s-u*c+b,t},n.rotateX=function(t,a,n){var r=-a[0],e=-a[1],u=-a[2],o=a[3],s=a[4],c=a[5],h=a[6],f=a[7],M=s*o+f*r+c*u-h*e,b=c*o+f*e+h*r-s*u,l=h*o+f*u+s*e-c*r,v=f*o-s*r-c*e-h*u;return i.rotateX(t,a,n),r=t[0],e=t[1],u=t[2],o=t[3],t[4]=M*o+v*r+b*u-l*e,t[5]=b*o+v*e+l*r-M*u,t[6]=l*o+v*u+M*e-b*r,t[7]=v*o-M*r-b*e-l*u,t},n.rotateY=function(t,a,n){var r=-a[0],e=-a[1],u=-a[2],o=a[3],s=a[4],c=a[5],h=a[6],f=a[7],M=s*o+f*r+c*u-h*e,b=c*o+f*e+h*r-s*u,l=h*o+f*u+s*e-c*r,v=f*o-s*r-c*e-h*u;return i.rotateY(t,a,n),r=t[0],e=t[1],u=t[2],o=t[3],t[4]=M*o+v*r+b*u-l*e,t[5]=b*o+v*e+l*r-M*u,t[6]=l*o+v*u+M*e-b*r,t[7]=v*o-M*r-b*e-l*u,t},n.rotateZ=function(t,a,n){var r=-a[0],e=-a[1],u=-a[2],o=a[3],s=a[4],c=a[5],h=a[6],f=a[7],M=s*o+f*r+c*u-h*e,b=c*o+f*e+h*r-s*u,l=h*o+f*u+s*e-c*r,v=f*o-s*r-c*e-h*u;return i.rotateZ(t,a,n),r=t[0],e=t[1],u=t[2],o=t[3],t[4]=M*o+v*r+b*u-l*e,t[5]=b*o+v*e+l*r-M*u,t[6]=l*o+v*u+M*e-b*r,t[7]=v*o-M*r-b*e-l*u,t},n.rotateByQuatAppend=function(t,a,n){var r=n[0],e=n[1],u=n[2],o=n[3],i=a[0],s=a[1],c=a[2],h=a[3];return t[0]=i*o+h*r+s*u-c*e,t[1]=s*o+h*e+c*r-i*u,t[2]=c*o+h*u+i*e-s*r,t[3]=h*o-i*r-s*e-c*u,i=a[4],s=a[5],c=a[6],h=a[7],t[4]=i*o+h*r+s*u-c*e,t[5]=s*o+h*e+c*r-i*u,t[6]=c*o+h*u+i*e-s*r,t[7]=h*o-i*r-s*e-c*u,t},n.rotateByQuatPrepend=function(t,a,n){var r=a[0],e=a[1],u=a[2],o=a[3],i=n[0],s=n[1],c=n[2],h=n[3];return t[0]=r*h+o*i+e*c-u*s,t[1]=e*h+o*s+u*i-r*c,t[2]=u*h+o*c+r*s-e*i,t[3]=o*h-r*i-e*s-u*c,i=n[4],s=n[5],c=n[6],h=n[7],t[4]=r*h+o*i+e*c-u*s,t[5]=e*h+o*s+u*i-r*c,t[6]=u*h+o*c+r*s-e*i,t[7]=o*h-r*i-e*s-u*c,t},n.rotateAroundAxis=function(t,a,n,r){if(Math.abs(r)<o.EPSILON)return h(t,a);var e=Math.hypot(n[0],n[1],n[2]);r*=.5;var u=Math.sin(r),i=u*n[0]/e,s=u*n[1]/e,c=u*n[2]/e,f=Math.cos(r),M=a[0],b=a[1],l=a[2],v=a[3];t[0]=M*f+v*i+b*c-l*s,t[1]=b*f+v*s+l*i-M*c,t[2]=l*f+v*c+M*s-b*i,t[3]=v*f-M*i-b*s-l*c;var m=a[4],R=a[5],A=a[6],E=a[7];return t[4]=m*f+E*i+R*c-A*s,t[5]=R*f+E*s+A*i-m*c,t[6]=A*f+E*c+m*s-R*i,t[7]=E*f-m*i-R*s-A*c,t},n.add=function(t,a,n){return t[0]=a[0]+n[0],t[1]=a[1]+n[1],t[2]=a[2]+n[2],t[3]=a[3]+n[3],t[4]=a[4]+n[4],t[5]=a[5]+n[5],t[6]=a[6]+n[6],t[7]=a[7]+n[7],t},n.multiply=f,n.mul=f,n.scale=function(t,a,n){return t[0]=a[0]*n,t[1]=a[1]*n,t[2]=a[2]*n,t[3]=a[3]*n,t[4]=a[4]*n,t[5]=a[5]*n,t[6]=a[6]*n,t[7]=a[7]*n,t},n.dot=i.dot,n.lerp=function(t,a,r,e){var u=1-e;return n.dot(a,r)<0&&(e=-e),t[0]=a[0]*u+r[0]*e,t[1]=a[1]*u+r[1]*e,t[2]=a[2]*u+r[2]*e,t[3]=a[3]*u+r[3]*e,t[4]=a[4]*u+r[4]*e,t[5]=a[5]*u+r[5]*e,t[6]=a[6]*u+r[6]*e,t[7]=a[7]*u+r[7]*e,t},n.invert=function(t,a){var r=n.squaredLength(a);return t[0]=-a[0]/r,t[1]=-a[1]/r,t[2]=-a[2]/r,t[3]=a[3]/r,t[4]=-a[4]/r,t[5]=-a[5]/r,t[6]=-a[6]/r,t[7]=a[7]/r,t},n.conjugate=function(t,a){return t[0]=-a[0],t[1]=-a[1],t[2]=-a[2],t[3]=a[3],t[4]=-a[4],t[5]=-a[5],t[6]=-a[6],t[7]=a[7],t},n.length=i.length,n.len=n.length,n.squaredLength=i.squaredLength,n.sqrLen=n.squaredLength,n.normalize=function(t,a){var r=n.squaredLength(a);if(r>0){r=Math.sqrt(r);var e=a[0]/r,u=a[1]/r,o=a[2]/r,i=a[3]/r,s=a[4],c=a[5],h=a[6],f=a[7],M=e*s+u*c+o*h+i*f;t[0]=e,t[1]=u,t[2]=o,t[3]=i,t[4]=(s-e*M)/r,t[5]=(c-u*M)/r,t[6]=(h-o*M)/r,t[7]=(f-i*M)/r}return t},n.str=function(t){return"quat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+")"},n.exactEquals=function(t,a){return t[0]===a[0]&&t[1]===a[1]&&t[2]===a[2]&&t[3]===a[3]&&t[4]===a[4]&&t[5]===a[5]&&t[6]===a[6]&&t[7]===a[7]},n.equals=function(t,a){var n=t[0],r=t[1],e=t[2],u=t[3],i=t[4],s=t[5],c=t[6],h=t[7],f=a[0],M=a[1],b=a[2],l=a[3],v=a[4],m=a[5],R=a[6],A=a[7];return Math.abs(n-f)<=o.EPSILON*Math.max(1,Math.abs(n),Math.abs(f))&&Math.abs(r-M)<=o.EPSILON*Math.max(1,Math.abs(r),Math.abs(M))&&Math.abs(e-b)<=o.EPSILON*Math.max(1,Math.abs(e),Math.abs(b))&&Math.abs(u-l)<=o.EPSILON*Math.max(1,Math.abs(u),Math.abs(l))&&Math.abs(i-v)<=o.EPSILON*Math.max(1,Math.abs(i),Math.abs(v))&&Math.abs(s-m)<=o.EPSILON*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(c-R)<=o.EPSILON*Math.max(1,Math.abs(c),Math.abs(R))&&Math.abs(h-A)<=o.EPSILON*Math.max(1,Math.abs(h),Math.abs(A))}},n”, “ "c56d9ff837": function _(n,t,r,a,u){a();const e=n("tslib").__importStar(n("68ca94c15c"));function o(){var n=new e.ARRAY_TYPE(2);return e.ARRAY_TYPE!=Float32Array&&(n[0]=0,n[1]=0),n}function c(n,t,r){return n[0]=t[0]-r[0],n[1]=t[1]-r[1],n}function i(n,t,r){return n[0]=t[0]*r[0],n[1]=t[1]*r[1],n}function f(n,t,r){return n[0]=t[0]/r[0],n[1]=t[1]/r[1],n}function s(n,t){var r=t[0]-n[0],a=t[1]-n[1];return Math.hypot(r,a)}function h(n,t){var r=t[0]-n[0],a=t[1]-n[1];return r*r+a*a}function M(n){var t=n[0],r=n[1];return Math.hypot(t,r)}function l(n){var t=n[0],r=n[1];return t*t+r*r}var v;r.create=o,r.clone=function(n){var t=new e.ARRAY_TYPE(2);return t[0]=n[0],t[1]=n[1],t},r.fromValues=function(n,t){var r=new e.ARRAY_TYPE(2);return r[0]=n,r[1]=t,r},r.copy=function(n,t){return n[0]=t[0],n[1]=t[1],n},r.set=function(n,t,r){return n[0]=t,n[1]=r,n},r.add=function(n,t,r){return n[0]=t[0]+r[0],n[1]=t[1]+r[1],n},r.subtract=c,r.multiply=i,r.divide=f,r.ceil=function(n,t){return n[0]=Math.ceil(t[0]),n[1]=Math.ceil(t[1]),n},r.floor=function(n,t){return n[0]=Math.floor(t[0]),n[1]=Math.floor(t[1]),n},r.min=function(n,t,r){return n[0]=Math.min(t[0],r[0]),n[1]=Math.min(t[1],r[1]),n},r.max=function(n,t,r){return n[0]=Math.max(t[0],r[0]),n[1]=Math.max(t[1],r[1]),n},r.round=function(n,t){return n[0]=Math.round(t[0]),n[1]=Math.round(t[1]),n},r.scale=function(n,t,r){return n[0]=t[0]*r,n[1]=t[1]*r,n},r.scaleAndAdd=function(n,t,r,a){return n[0]=t[0]+r[0]*a,n[1]=t[1]+r[1]*a,n},r.distance=s,r.squaredDistance=h,r.length=M,r.squaredLength=l,r.negate=function(n,t){return n[0]=-t[0],n[1]=-t[1],n},r.inverse=function(n,t){return n[0]=1/t[0],n[1]=1/t[1],n},r.normalize=function(n,t){var r=t[0],a=t[1],u=r*r+a*a;return u>0&&(u=1/Math.sqrt(u)),n[0]=t[0]*u,n[1]=t[1]*u,n},r.dot=function(n,t){return n[0]*t[0]+n[1]*t[1]},r.cross=function(n,t,r){var a=t[0]*r[1]-t[1]*r[0];return n[0]=n[1]=0,n[2]=a,n},r.lerp=function(n,t,r,a){var u=t[0],e=t[1];return n[0]=u+a*(r[0]-u),n[1]=e+a*(r[1]-e),n},r.random=function(n,t){t=t||1;var r=2*e.RANDOM()*Math.PI;return n[0]=Math.cos(r)*t,n[1]=Math.sin(r)*t,n},r.transformMat2=function(n,t,r){var a=t[0],u=t[1];return n[0]=r[0]*a+r[2]*u,n[1]=r[1]*a+r[3]*u,n},r.transformMat2d=function(n,t,r){var a=t[0],u=t[1];return n[0]=r[0]*a+r[2]*u+r[4],n[1]=r[1]*a+r[3]*u+r[5],n},r.transformMat3=function(n,t,r){var a=t[0],u=t[1];return n[0]=r[0]*a+r[3]*u+r[6],n[1]=r[1]*a+r[4]*u+r[7],n},r.transformMat4=function(n,t,r){var a=t[0],u=t[1];return n[0]=r[0]*a+r[4]*u+r[12],n[1]=r[1]*a+r[5]*u+r[13],n},r.rotate=function(n,t,r,a){var u=t[0]-r[0],e=t[1]-r[1],o=Math.sin(a),c=Math.cos(a);return n[0]=u*c-e*o+r[0],n[1]=u*o+e*c+r[1],n},r.angle=function(n,t){var r=n[0],a=n[1],u=t[0],e=t[1],o=Math.sqrt(r*r+a*a)*Math.sqrt(u*u+e*e),c=o&&(r*u+a*e)/o;return Math.acos(Math.min(Math.max(c,-1),1))},r.zero=function(n){return n[0]=0,n[1]=0,n},r.str=function(n){return"vec2("+n[0]+", "+n[1]+")"},r.exactEquals=function(n,t){return n[0]===t[0]&&n[1]===t[1]},r.equals=function(n,t){var r=n[0],a=n[1],u=t[0],o=t[1];return Math.abs(r-u)<=e.EPSILON*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(a-o)<=e.EPSILON*Math.max(1,Math.abs(a),Math.abs(o))},r.len=M,r.sub=c,r.mul=i,r.div=f,r.dist=s,r.sqrDist=h,r.sqrLen=l,r.forEach=(v=o(),function(n,t,r,a,u,e){var o,c;for(t||(t=2),r||(r=0),c=a?Math.min(a*t+r,n.length):n.length,o=r;o<c;o+=t)v[0]=n[o],v[1]=n[o+1],u(v,v,e),n[o]=v[0],n[o+1]=v[1];return n})},n”, “ "4baab0b7ce": function _(e,t,n,s,r){s();const i=e("tslib").__importStar(e("@bokehjs/core/properties")),o=e("@bokehjs/core/util/object"),_=e("666f1ef4e6"),a=e("4eb45e35aa"),h=e("11e0707a8f"),c="panel";class d extends _.AbstractVTKView{initialize(){super.initialize(),this._promises=[],this._renderable=!1,this._arrays={},this._decoded_arrays={},this._pending_arrays={},this.getArray=e=>this._arrays[e]?Promise.resolve(this._arrays[e]):new Promise(((t,n)=>{this._pending_arrays[e]={resolve:t,reject:n}})),this.registerArray=(e,t)=>(this._arrays[e]=t,this._pending_arrays[e]&&this._pending_arrays[e].resolve(t),!0),this._synchronizer_context=a.vtkns.SynchronizableRenderWindow.getSynchronizerContext(c)}connect_signals(){super.connect_signals(),this.connect(this.model.properties.arrays.change,(()=>this._decode_arrays())),this.connect(this.model.properties.scene.change,(()=>{if(this.model.rebuild)this._vtk_renwin=null,this.invalidate_render();else{const e=o.clone(this.model.scene);Promise.all(this._promises).then((()=>{this._sync_plot(e,(()=>{this._on_scene_ready()}))}))}})),this.connect(this.model.properties.one_time_reset.change,(()=>{this._vtk_renwin.getRenderWindow().clearOneTimeUpdaters()}))}init_vtk_renwin(){this._vtk_renwin=h.FullScreenRenderWindowSynchronized.newInstance({rootContainer:this.el,container:this._vtk_container,synchronizerContext:this._synchronizer_context})}plot(){this._vtk_renwin.getRenderWindow().clearOneTimeUpdaters(),this._decode_arrays();const e=o.clone(this.model.scene);Promise.all(this._promises).then((()=>{this._sync_plot(e,(()=>this._on_scene_ready())).then((()=>{this._set_camera_state(),this._get_camera_state()}))}))}_decode_arrays(){const e=new a.vtkns.ThirdParty.JSZip,t=this.model.arrays,n=this.registerArray,s=this.model.arrays_processed,r=this.model;Object.keys(t).forEach((i=>{this._decoded_arrays[i]||(this._decoded_arrays[i]=!0,this._promises.push(function(i){return e.loadAsync(atob(t[i])).then((e=>e.file("data/"+i))).then((e=>e.async("arraybuffer"))).then((e=>n(i,e))).then((()=>{s.push(i),r.properties.arrays_processed.change.emit()}))}(i)))}))}_on_scene_ready(){this._promises.length>0||(this._renderable=!0,this._camera_callbacks.push(this._vtk_renwin.getRenderer().getActiveCamera().onModified((()=>this._vtk_render()))),this._orientationWidget||this._create_orientation_widget(),this._axes||this._set_axes(),this._vtk_renwin.resize(),this._vtk_render())}_sync_plot(e,t){this._renderable=!1,this._promises=[],this._unsubscribe_camera_cb(),this._synchronizer_context.setFetchArrayFunction((e=>Promise.resolve(this._arrays[e])));const n=this._synchronizer_context.getInstance(this.model.scene.dependencies[0].id);return n&&!this._vtk_renwin.getRenderer()&&this._vtk_renwin.getRenderWindow().addRenderer(n),this._vtk_renwin.getRenderWindow().synchronize(e).then(t)}}n.VTKSynchronizedPlotView=d,d.__name__="VTKSynchronizedPlotView";class l extends _.AbstractVTKPlot{constructor(e){super(e),this.outline=a.vtkns.OutlineFilter.newInstance();const t=a.vtkns.Mapper.newInstance();t.setInputConnection(this.outline.getOutputPort()),this.outline_actor=a.vtkns.Actor.newInstance(),this.outline_actor.setMapper(t)}getActors(e){let t=this.renderer_el.getRenderer().getActors();if(e){const n=this.renderer_el.getSynchronizerContext(c);t=t.filter((t=>{const s=n.getInstanceId(t);return!!s&&s.slice(-16)==e.slice(1,17)}))}return t}static init_VTKSynchronizedPlot(){this.prototype.default_view=d,this.define({arrays:[i.Any,{}],arrays_processed:[i.Array,[]],enable_keybindings:[i.Boolean,!1],one_time_reset:[i.Boolean],rebuild:[i.Boolean,!1],scene:[i.Any,{}]}),this.override({height:300,width:300})}}n.VTKSynchronizedPlot=l,l.__name__="VTKSynchronizedPlot",l.__module__="panel.models.vtk",l.init_VTKSynchronizedPlot()},n”, “ "11e0707a8f": function _(e,n,o,t,r){t();const i=e("4eb45e35aa");if(i.vtk){const e={containerStyle:null,controlPanelStyle:null,listenWindowResize:!0,resizeCallback:null,controllerVisibility:!0,synchronizerContextName:"default"},n={position:"absolute",left:"25px",top:"25px",backgroundColor:"white",borderRadius:"5px",listStyle:"none",padding:"5px 10px",margin:"0",display:"block",border:"solid 1px black",maxWidth:"calc(100vw - 70px)",maxHeight:"calc(100vh - 60px)",overflow:"auto"};o.FullScreenRenderWindowSynchronized={newInstance:i.vtk.macro.newInstance(((o,t,r={})=>{Object.assign(t,e,r),i.vtk.macro.obj(o,t),i.vtk.macro.get(o,t,["renderWindow","openGLRenderWindow","interactor","rootContainer","container","controlContainer","synchronizerContext"]),function(e,o){o.renderWindow=i.vtkns.SynchronizableRenderWindow.newInstance({synchronizerContext:o.synchronizerContext}),o.openGLRenderWindow=i.vtkns.OpenGLRenderWindow.newInstance(),o.openGLRenderWindow.setContainer(o.container),o.renderWindow.addView(o.openGLRenderWindow),o.interactor=i.vtkns.RenderWindowInteractor.newInstance(),o.interactor.setInteractorStyle(i.vtkns.InteractorStyleTrackballCamera.newInstance()),o.interactor.setView(o.openGLRenderWindow),o.interactor.initialize(),o.interactor.bindEvents(o.container),e.getRenderer=()=>o.renderWindow.getRenderers()[0],e.removeController=()=>{const e=o.controlContainer;e&&e.parentNode.removeChild(e)},e.setControllerVisibility=e=>{o.controllerVisibility=e,o.controlContainer&&(o.controlContainer.style.display=e?"block":"none")},e.toggleControllerVisibility=()=>{e.setControllerVisibility(!o.controllerVisibility)},e.addController=t=>{o.controlContainer=document.createElement("div"),i.applyStyle(o.controlContainer,o.controlPanelStyle||n),o.rootContainer.appendChild(o.controlContainer),o.controlContainer.innerHTML=t,e.setControllerVisibility(o.controllerVisibility),o.rootContainer.addEventListener("keypress",(n=>{"c"===String.fromCharCode(n.charCode)&&e.toggleControllerVisibility()}))},e.delete=i.vtk.macro.chain(e.setContainer,o.openGLRenderWindow.delete,e.delete),e.resize=()=>{const e=o.container.getBoundingClientRect(),n=window.devicePixelRatio||1;o.openGLRenderWindow.setSize(Math.floor(e.width*n),Math.floor(e.height*n)),o.resizeCallback&&o.resizeCallback(e),o.renderWindow.render()},e.setResizeCallback=n=>{o.resizeCallback=n,e.resize()},o.listenWindowResize&&window.addEventListener("resize",e.resize),e.resize()}(o,t)}))}}},n”, “ }, "4e90918c0a", {"index":"4e90918c0a","models/index":"480618c798","models/ace":"c2edc6955b","models/layout":"7116a7a602","models/audio":"339f84d639","models/card":"b85e13a3ba","models/comm_manager":"e552778259","models/tabulator":"99baa24a1a","models/data":"7e38aee5d7","models/deckgl":"df2378664f","models/tooltips":"6e04fbe567","models/echarts":"9d046c4720","models/html":"ed08037ce5","models/idom":"7d45bd3bc4","models/event-to-object":"3329d4aa5b","models/ipywidget":"0eae77d68f","models/json":"5284fdbb37","models/file_download":"1767172ffa","models/katex":"7b859fb3cf","models/location":"642aa56b24","models/mathjax":"0c21036737","models/perspective":"545156b57b","models/player":"ed9bae6d87","models/plotly":"47b5ae5c43","models/util":"990b5dd5c7","models/progress":"9f787650b9","models/singleselect":"3b85956787","models/speech_to_text":"aaa48703af","models/state":"bfa46a5f19","models/text_to_speech":"33cd2c254e","models/trend":"2efaffc12a","models/vega":"4feb5fa522","models/video":"ffe54b53c3","models/videostream":"9ff7f7b5e9","models/vtk/index":"c51f25e2a7","models/vtk/vtkjs":"34fc7779c7","models/vtk/vtklayout":"666f1ef4e6","models/vtk/util":"4eb45e35aa","models/vtk/vtkcolorbar":"c010237f8b","models/vtk/vtkvolume":"89262e43a1","models/vtk/vtkaxes":"db7a0079c0","models/vtk/vtksynchronized":"4baab0b7ce","models/vtk/panel_fullscreen_renwin_sync":"11e0707a8f"}, {});});n”, “n”, “ /* END panel.min.js */n”, “ },n”, “ function(Bokeh) {} // ensure no trailing comma for IEn”, “ ];n”, “n”, “ function run_inline_js() {n”, “ if ((root.Bokeh !== undefined) || (force === true)) {n”, “ for (var i = 0; i < inline_js.length; i++) {n”, “ inline_js[i].call(root, root.Bokeh);n”, “ }} else if (Date.now() < root._bokeh_timeout) {n”, “ setTimeout(run_inline_js, 100);n”, “ } else if (!root._bokeh_failed_load) {n”, “ console.log("Bokeh: BokehJS failed to load within specified timeout.");n”, “ root._bokeh_failed_load = true;n”, “ }n”, “ }n”, “n”, “ if (root._bokeh_is_loading === 0) {n”, “ console.debug("Bokeh: BokehJS loaded, going straight to plotting");n”, “ run_inline_js();n”, “ } else {n”, “ load_libs(css_urls, js_urls, js_modules, function() {n”, “ console.debug("Bokeh: BokehJS plotting callback run at", now());n”, “ run_inline_js();n”, “ });n”, “ }n”, “}(window));”

], “application/vnd.holoviews_load.v0+json”: “n(function(root) {n function now() {n return new Date();n }nn var force = true;nn if (typeof root._bokeh_onload_callbacks === "undefined" || force === true) {n root._bokeh_onload_callbacks = [];n root._bokeh_is_loading = undefined;n }nn if (typeof (root._bokeh_timeout) === "undefined" || force === true) {n root._bokeh_timeout = Date.now() + 5000;n root._bokeh_failed_load = false;n }nn 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_callbacksn }n console.debug("Bokeh: all callbacks have finished");n }nn 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 = [];nn 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 root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length;nn 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 }nn function on_error() {n console.error("failed to load " + url);n }nn 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 }nn var skip = [];n if (window.requirejs) {n window.requirejs.config({‘paths’: {‘tabulator’: ‘https://unpkg.com/tabulator-tables@4.9.3/dist/js/tabulator’}});n require(["tabulator"], function(Tabulator,) {n window.Tabulator = Tabulator;n })n }n if (((window[‘tabulator’] !== undefined) && (!(window[‘tabulator’] instanceof HTMLElement))) || window.requirejs) {n var urls = [’https://unpkg.com/tabulator-tables@4.9.3/dist/js/tabulator.js’, ‘https://unpkg.com/moment@2.27.0/moment.js’];n for (var i = 0; i < urls.length; i++) {n skip.push(urls[i])n }n }n for (var i = 0; i < js_urls.length; i++) {n var url = js_urls[i];n if (skip.indexOf(url) >= 0) { on_load(); continue; }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) { on_load(); continue; }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 };nn function inject_raw_css(css) {n const element = document.createElement("style");n element.appendChild(document.createTextNode(css));n document.body.appendChild(element);n }nn var js_urls = ["https://unpkg.com/tabulator-tables@4.9.3/dist/js/tabulator.js", "https://unpkg.com/moment@2.27.0/moment.js"];n var js_modules = [];n var css_urls = ["https://unpkg.com/tabulator-tables@4.9.3/dist/css/tabulator_simple.min.css"];n var inline_js = [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 },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(".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 },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 },n 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 },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 },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: flex;\n justify-content: space-between;\n padding: 0 1.25rem 0 0;\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: space-between;\n padding: 0 1.25rem 0 0;\n width: 100%;\n}\np.bk.card-button {\n background-color: transparent;\n font-size: 1.25rem;\n font-weight: 700;\n margin: 0;\n margin-left: -15px;\n}\n.bk.card-header-row {\n position: relative !important;\n}\n.bk.card-title {\n align-items: center;\n display: flex !important;\n font-size: 1.4em;\n font-weight: bold;\n padding: 0.25em;\n position: relative !important;\n}\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 }\n ");n },n function(Bokeh) {n / BEGIN bokeh.min.js /n /!n * Copyright (c) 2012 - 2021, Anaconda, Inc., and Bokeh Contributorsn * 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 documentationn * and/or other materials provided with the distribution.n * n * Neither the name of Anaconda nor the names of any contributorsn * may be used to endorse or promote products derived from this softwaren * 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, THEn * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSEn * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BEn * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, ORn * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OFn * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSn * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER INn * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OFn * 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 var define;n var parent_require = typeof require === "function" && requiren return (function(modules, entry, aliases, externals) {n if (aliases === undefined) aliases = {};n if (externals === undefined) externals = {};nn var cache = {};nn var normalize = function(name) {n if (typeof name === "number")n return name;nn if (name === "bokehjs")n return entry;nn if (!externals[name]) {n var prefix = "@bokehjs/"n if (name.slice(0, prefix.length) === prefix)n name = name.slice(prefix.length)n }nn var alias = aliases[name]n if (alias != null)n return alias;nn var trailing = name.length > 0 && name[name.lenght-1] === "/";n var index = aliases[name + (trailing ? "" : "/") + "index"];n if (index != null)n return index;nn return name;n }nn var require = function(name) {n var mod = cache[name];n if (!mod) {n var id = normalize(name);nn 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 }nn var err = new Error("Cannot find module ‘" + name + "’");n err.code = ‘MODULE_NOT_FOUND’;n throw err;n }nn mod = {exports: {}};n cache[id] = cache[name] = mod;nn function __esModule() {n Object.defineProperty(mod.exports, "__esModule", {value: true});n }nn function __esExport(name, value) {n Object.defineProperty(mod.exports, name, {n enumerable: true, get: function () { return value; }n });n }nn modules[id].call(mod.exports, require, mod, mod.exports, __esModule, __esExport);n } else {n cache[name] = mod;n }n }nn return mod.exports;n }n require.resolve = function(name) {n return ""n }nn var main = require(entry);n main.require = require;nn if (typeof Proxy !== "undefined") {n // allow Bokeh.loader["@bokehjs/module/name"] syntaxn main.loader = new Proxy({}, {n get: function(_obj, module) {n return require(module);n }n });n }nn 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 = {};nn for (var name in plugin_modules) {n modules[name] = plugin_modules[name];n }nn for (var name in plugin_aliases) {n aliases[name] = plugin_aliases[name];n }nn for (var name in plugin_externals) {n externals[name] = plugin_externals[name];n }nn var plugin = require(plugin_entry);nn for (var name in plugin) {n main[name] = plugin[name];n }nn return plugin;n }nn return main;n })n ([n function _(t,_,n,o,r){o();t(1).__exportStar(t(2),n)},n function _(t,e,n,r,o){r();var a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};n.__extends=function(t,e){function n(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)};function i(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function c(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,a=n.call(t),i=[];try{for(;(void 0===e||e– >0)&&!(r=a.next()).done;)i.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}function u(t){return this instanceof u?(this.v=t,this):new u(t)}n.__assign=function(){return n.__assign=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},n.__assign.apply(this,arguments)},n.__rest=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(t);o<r.length;o++)e.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(t,r[o])&&(n[r[o]]=t[r[o]])}return n},n.__decorate=function(t,e,n,r){var o,a=arguments.length,i=a<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,r);else for(var c=t.length-1;c>=0;c–)(o=t[c])&&(i=(a<3?o(i):a>3?o(e,n,i):o(e,n))||i);return a>3&&i&&Object.defineProperty(e,n,i),i},n.__param=function(t,e){return function(n,r){e(n,r,t)}},n.__metadata=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},n.__awaiter=function(t,e,n,r){return new(n||(n=Promise))((function(o,a){function i(t){try{u(r.next(t))}catch(t){a(t)}}function c(t){try{u(r.throw(t))}catch(t){a(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(i,c)}u((r=r.apply(t,e||[])).next())}))},n.__generator=function(t,e){var n,r,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(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=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++,r=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]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=e.call(t,i)}catch(t){a=[6,t],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}},n.__createBinding=Object.create?function(t,e,n,r){void 0===r&&(r=n),Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]},n.__exportStar=function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||n.__createBinding(e,t,r)},n.__values=i,n.__read=c,n.__spread=function(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(c(arguments[e]));return t},n.__spreadArrays=function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),o=0;for(e=0;e<n;e++)for(var a=arguments[e],i=0,c=a.length;i<c;i++,o++)r[o]=a[i];return r},n.__await=u,n.__asyncGenerator=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(t,e||[]),a=[];return r={},i("next"),i("throw"),i("return"),r[Symbol.asyncIterator]=function(){return this},r;function i(t){o[t]&&(r[t]=function(e){return new Promise((function(n,r){a.push([t,e,n,r])>1||c(t,e)}))})}function c(t,e){try{(n=o[t](e)).value instanceof u?Promise.resolve(n.value.v).then(f,l):s(a[0][2],n)}catch(t){s(a[0][3],t)}var n}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])}},n.__asyncDelegator=function(t){var e,n;return e={},r("next"),r("throw",(function(t){throw t})),r("return"),e[Symbol.iterator]=function(){return this},e;function r(r,o){e[r]=t[r]?function(e){return(n=!n)?{value:u(t[r](e)),done:"return"===r}:o?o(e):e}:o}},n.__asyncValues=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=i(t),e={},r("next"),r("throw"),r("return"),e[Symbol.asyncIterator]=function(){return this},e);function r(n){e[n]=t[n]&&function(e){return new Promise((function(r,o){(function(t,e,n,r){Promise.resolve(r).then((function(e){t({value:e,done:n})}),e)})(r,o,(e=t[n](e)).done,e.value)}))}}},n.__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};n.__importStar=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n.__createBinding(e,t,r);return f(e,t),e},n.__importDefault=function(t){return t&&t.__esModule?t:{default:t}},n.__classPrivateFieldGet=function(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)},n.__classPrivateFieldSet=function(t,e,n){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,n),n}},n function _(e,t,o,s,l){s();const n=e(1);l("version",e(3).version),l("index",e(4).index),o.embed=n.__importStar(e(4)),o.protocol=n.__importStar(e(404)),o._testing=n.__importStar(e(405));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(406).safely)},n function _(n,i,o,c,e){c(),o.version="2.3.0"},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(395),l=e(397),m=e(396);var f=e(395);s("add_document_standalone",f.add_document_standalone),s("index",f.index),s("add_document_from_session",e(397).add_document_from_session);var g=e(402);async function w(e,o,t,n){i.isString(e)&&(e=JSON.parse(_.unescape(e)));const s={};for(const[o,t]of c.entries(e))s[o]=d.Document.from_json(t);const a=[];for(const e of o){const o=m._resolve_element(e),d=m._resolve_root_elements(e);if(null!=e.docid)a.push(await 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=l._get_ws_url(t,n);r.logger.debug(`embed: computed ws url: ${s}`);try{a.push(await 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(396).BOKEH_ROOT),t.embed_item=async function(e,o){const t={},n=_.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 a.defer();const[r]=await w(t,[d]);return r},t.embed_items=async function(e,o,t,n){return await a.defer(),w(e,o,t,n)}},n function _(t,_,o,r,n){r();const a=t(1);a.__exportStar(t(6),o),a.__exportStar(t(35),o)},n function _(e,t,s,o,n){o();const i=e(1),r=e(7),a=e(3),_=e(19),l=e(264),c=e(14),d=e(30),h=e(15),f=e(17),u=e(31),m=e(9),g=e(13),w=i.__importStar(e(132)),p=e(26),v=e(8),b=e(319),y=e(130),k=e(53),j=e(394),M=e(35);class S{constructor(e){this.document=e,this.session=null,this.subscribed_models=new Set}send_event(e){const t=new M.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(){s.documents.push(this),this._init_timestamp=Date.now(),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 b.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 l.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){null==this._interactive_plot&&(this._interactive_plot=e,this._interactive_plot.trigger_event(new l.LODStart)),this._interactive_timestamp=Date.now()}interactive_stop(){null!=this._interactive_plot&&this._interactive_plot.trigger_event(new l.LODEnd),this._interactive_plot=null,this._interactive_timestamp=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=m.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=w.union(e,t.references());const t=new Set(this._all_models.values()),s=w.difference(t,e),o=w.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}`),!m.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 M.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 M.RootRemovedEvent(this,e,t))}}title(){return this._title}set_title(e,t){e!==this._title&&(this._title=e,this._trigger_on_change(new M.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 k.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 M.DocumentEventBatch)for(const s of e.events)t(s);else t(e)}_notify_change(e,t,s,o,n){this._trigger_on_change(new M.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){const o=Object.assign(Object.assign({},s),{id:e,__deferred__:!0});return new(r.Models(t))(o)}static _instantiate_references_json(e,t){var s;const o=new Map;for(const n of e){const e=n.id,i=n.type,r=null!==(s=n.attributes)&&void 0!==s?s:{};let a=t.get(e);null==a&&(a=E._instantiate_object(e,i,r),null!=n.subtype&&a.set_subtype(n.subtype)),o.set(a.id,a)}return o}static _resolve_refs(e,t,s,o){function n(e){if(f.is_ref(e)){if(t.has(e.id))return t.get(e.id);if(s.has(e.id))return s.get(e.id);throw new Error(`reference ${JSON.stringify(e)} isn’t known (not in Document?)`)}return u.is_NDArray_ref(e)?u.decode_NDArray(e,o):v.isArray(e)?function(e){const t=[];for(const s of e)t.push(n(s));return t}(e):v.isPlainObject(e)?function(e){const t={};for(const[s,o]of g.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),a=e?s.get(i):t.get(i),_=E._resolve_refs(r,t,s,o);a.setv(_,{silent:!0}),n.set(i,{instance:a,is_new:e})}const i=[],r=new Set;function a(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 g.values(o))a(e);s&&(t.finalize(),i.push(t))}}else if(v.isArray(e))for(const t of e)a(t);else if(v.isPlainObject(e))for(const t of g.values(e))a(t)}for(const e of n.values())a(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=m.difference(n,i),a=m.difference(i,n),l=m.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 a){const i=t.attributes[n];c.push(E._event_for_attribute_change(e,n,i,s,o))}for(const n of l){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)):p.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 a=o(s),_=new Map,l=[];for(const e of s.roots.root_ids)_.set(e,a.get(e)),l.push(e);if(r.sort(),l.sort(),m.difference(r,l).length>0||m.difference(l,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),a.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:a.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 (${a.version}) / Python (${t})`;s||a.version.replace(/-(dev|rc)./,"$1")==t?_.logger.debug(o):(_.logger.warn("JS/Python version mismatch"),_.logger.warn(o)),null!=e.defs&&j.resolve_defs(e.defs);const n=e.roots,i=n.root_ids,r=n.references,l=E._instantiate_references_json(r,new Map);E._initialize_references_json(r,new Map,l,new Map);const c=new E;for(const e of i){const t=l.get(e);null!=t&&c.add_root(t)}return c.set_title(e.title),c}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;return{events:t.to_serializable(e),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);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,a=new Map;for(const[e,t]of i)this._all_models.has(e)?r.set(e,t):a.set(e,t);E._initialize_references_json(o,r,a,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,a,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,a,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 y.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 y.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,s,r,o,t){o();const d=e(1),i=e(8),l=e(13),n=e(14);r.overrides={};const a=new Map;r.Models=e=>{const s=r.Models.get(e);if(null!=s)return s;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.`)},r.Models.get=e=>{var s;return null!==(s=r.overrides[e])&&void 0!==s?s:a.get(e)},r.Models.register=(e,s)=>{r.overrides[e]=s},r.Models.unregister=e=>{delete r.overrides[e]},r.Models.register_models=(e,s=!1,r)=>{var o;if(null!=e)for(const t of i.isArray(e)?e:l.values(e))if(o=t,i.isObject(o)&&o.prototype instanceof n.HasProps){const e=t.__qualified__;s||!a.has(e)?a.set(e,t):null!=r?r(e):console.warn(`Model ‘${e}’ was already registered`)}},r.register_models=r.Models.register_models,r.Models.registered_names=()=>[…a.keys()];const g=d.__importStar(e(38));r.register_models(g)},n function _(n,r,t,e,i){e();n // (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editorsn // 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 a(n){return"[object String]"===u.call(n)}function l(n){const r=typeof n;return"function"===r||"object"===r&&!!n}function s(n){return l(n)&&void 0!==n[Symbol.iterator]}t.isBoolean=c,t.isNumber=f,t.isInteger=function(n){return f(n)&&Number.isInteger(n)},t.isString=a,t.isPrimitive=function(n){return null===n||c(n)||f(n)||a(n)},t.isFunction=function(n){return"[object Function]"===u.call(n)},t.isArray=function(n){return Array.isArray(n)},t.isArrayOf=function(n,r){return o.every(n,r)},t.isArrayableOf=function(n,r){for(let t=0,e=n.length;t<e;t++)if(!r(n[t]))return!1;return!0},t.isTypedArray=function(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)},t.isObject=l,t.isPlainObject=function(n){return l(n)&&(null==n.constructor||n.constructor===Object)},t.isIterable=s,t.isArrayable=function(n){return s(n)&&"length"in n}},n function _(n,t,e,r,o){r();n // (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editorsn // Underscore may be freely distributed under the MIT license.n const i=n(10),u=n(11),c=n(12);o("map",c.map),o("reduce",c.reduce),o("min",c.min),o("min_by",c.min_by),o("max",c.max),o("max_by",c.max_by),o("sum",c.sum),o("cumsum",c.cumsum),o("every",c.every),o("some",c.some),o("find",c.find),o("find_last",c.find_last),o("find_index",c.find_index),o("find_last_index",c.find_last_index),o("sorted_index",c.sorted_index),o("is_empty",c.is_empty);const f=Array.prototype.slice;function s(n){return f.call(n)}function a(n){return[].concat(…n)}function l(n,t){return-1!==n.indexOf(t)}function m(n,t,e=1){u.assert(e>0,"’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<f;t++,n+=c)s[t]=n;return s}e.head=function(n){return n[0]},e.tail=function(n){return n[n.length-1]},e.last=function(n){return n[n.length-1]},e.copy=s,e.concat=a,e.includes=l,e.contains=l,e.nth=function(n,t){return n[t>=0?t:n.length+t]},e.zip=function(…n){if(0==n.length)return[];const t=c.min(n.map((n=>n.length))),e=n.length,r=new Array(t);for(let o=0;o<t;o++){r[o]=new Array(e);for(let t=0;t<e;t++)r[o][t]=n[t][o]}return r},e.unzip=function(n){const t=n.length,e=c.min(n.map((n=>n.length))),r=Array(e);for(let n=0;n<e;n++)r[n]=new Array(t);for(let o=0;o<t;o++)for(let t=0;t<e;t++)r[t][o]=n[o][t];return r},e.range=m,e.linspace=function(n,t,e=100){const r=(t-n)/(e-1),o=new Array(e);for(let t=0;t<e;t++)o[t]=n+r*t;return o},e.transpose=function(n){const t=n.length,e=n[0].length,r=[];for(let o=0;o<e;o++){r[o]=[];for(let e=0;e<t;e++)r[o][e]=n[e][o]}return r},e.argmin=function(n){return c.min_by(m(n.length),(t=>n[t]))},e.argmax=function(n){return 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(e<r||void 0===r)return-1}return n.index-t.index})),e.map((n=>n.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;e<n.length;)t(n[e])?n.splice(e,1):e++},e.shuffle=function(n){const t=n.length,e=new Array(t);for(let r=0;r<t;r++){const t=i.randomIn(0,r);t!==r&&(e[r]=e[t]),e[t]=n[r]}return e},e.pairwise=function(n,t){const e=n.length,r=new Array(e-1);for(let o=0;o<e-1;o++)r[o]=t(n[o],n[o+1]);return r},e.reversed=function(n){const t=n.length,e=new Array(t);for(let r=0;r<t;r++)e[t-r-1]=n[r];return e},e.repeat=function(n,t){const e=new Array(t);for(let r=0;r<t;r++)e[r]=n;return e}},n function _(n,r,t,e,o){e();const{PI:u}=Math;function a(n){if(0==n)return 0;for(;n<=0;)n+=2*u;for(;n>2*u;)n-=2*u;return n}function c(n,r){return a(n-r)}function f(){return Math.random()}function i(n){switch(n){case"deg":return u/180;case"rad":return 1;case"grad":return u/200;case"turn":return 2*u}}t.angle_norm=a,t.angle_dist=c,t.angle_between=function(n,r,t,e=!1){const o=c(r,t);if(0==o)return!1;if(o==2*u)return!0;const f=a(n),i=c(r,f)<=o&&c(f,t)<=o;return e?!i:i},t.random=f,t.randomIn=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},t.atan2=function(n,r){return Math.atan2(r[1]-n[1],r[0]-n[0])},t.radians=function(n){return n*(u/180)},t.degrees=function(n){return n/(u/180)},t.resolve_angle=function(n,r){return-i(r)*n},t.to_radians_coeff=i,t.rnorm=function(n,r){let t,e;for(;t=f(),e=f(),e=(2*e-1)*Math.sqrt(1/Math.E*2),!(-4*t*t*Math.log(t)>=e*e););let o=e/t;return o=n+r*o,o},t.clamp=function(n,r,t){return n<r?r:n>t?t:n},t.log=function(n,r=Math.E){return Math.log(n)/Math.log(r)}},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(;u<t;u++)l[u]=n[u];for(const n of r)l[u++]=n;for(let r=t+e;r<o;r++)l[u++]=n[r];return l}function u(n,t){return l(n,t,n.length-t)}function c(n,t){const e=n.length,r=new n.constructor(e);for(let o=0;o<e;o++)r[o]=t(n[o],o,n);return r}function f(n,t,e){const r=n.length;if(void 0===e&&0==r)throw new Error("can’t reduce an empty array without an initial value");let o,i;for(void 0===e?(o=n[0],i=1):(o=e,i=0);i<r;i++)o=t(o,n[i],i,n);return o}function s(n){return function(t,e){const r=t.length;let o=n>0?0:r-1;for(;o>=0&&o<r;o+=n)if(e(t[o]))return o;return-1}}function h(n,t){let e=0,r=n.length;for(;e<r;){const o=Math.floor((e+r)/2);n[o]<t?e=o+1:r=o}return e}function a(n,t,e,r,o){const i=(o-e)/(r-t);let l=i*(n-t)+e;return isFinite(l)||(l=i*(n-r)+o,isFinite(l)||e!=o||(l=e)),l}function g(n,t){if(n<t[0])return-1;if(n>t[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;e<r;e++)if(n[e]===t)return e;return-1},e.subselect=function(n,t){const e=t.length,r=new n.constructor(e);for(let o=0;o<e;o++)r[o]=n[t[o]];return r},e.mul=function(n,t,e){const r=n.length,o=null!=e?e:new n.constructor(r);for(let e=0;e<r;e++)o[e]=n[e]*t;return o},e.map=c,e.inplace_map=function(n,t,e){const r=n.length,o=null!=e?e:n;for(let e=0;e<r;e++)o[e]=t(n[e],e)},e.filter=function(n,t){const e=n.length,r=new n.constructor(e);let o=0;for(let i=0;i<e;i++){const e=n[i];t(e,i,n)&&(r[o++]=e)}return u(r,o)},e.reduce=f,e.min=function(n){let t,e=1/0;for(let r=0,o=n.length;r<o;r++)t=n[r],!isNaN(t)&&t<e&&(e=t);return e},e.max=function(n){let t,e=-1/0;for(let r=0,o=n.length;r<o;r++)t=n[r],!isNaN(t)&&t>e&&(e=t);return e},e.minmax=function(n){let t,e=1/0,r=-1/0;for(let o=0,i=n.length;o<i;o++)t=n[o],isNaN(t)||(t<e&&(e=t),t>r&&(r=t));return[e,r]},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;o<i;o++){const i=n[o],l=t(i);l<r&&(e=i,r=l)}return e},e.max_by=function(n,t){if(0==n.length)throw new Error("max_by() called with an empty array");let e=n[0],r=t(e);for(let o=1,i=n.length;o<i;o++){const i=n[o],l=t(i);l>r&&(e=i,r=l)}return e},e.sum=function(n){let t=0;for(let e=0,r=n.length;e<r;e++)t+=n[e];return t},e.cumsum=function(n){const t=new n.constructor(n.length);return f(n,((n,e,r)=>t[r]=n+e),0),t},e.every=function(n,t){for(let e=0,r=n.length;e<r;e++)if(!t(n[e]))return!1;return!0},e.some=function(n,t){for(let e=0,r=n.length;e<r;e++)if(t(n[e]))return!0;return!1},e.index_of=function(n,t){for(let e=0,r=n.length;e<r;e++)if(n[e]===t)return e;return-1},e.find_index=s(1),e.find_last_index=s(-1),e.find=function(n,t){const r=e.find_index(n,t);return-1==r?void 0:n[r]},e.find_last=function(n,t){const r=e.find_last_index(n,t);return-1==r?void 0:n[r]},e.sorted_index=h,e.bin_counts=function(n,t){const e=t.length-1,r=Array(e).fill(0);for(let o=0;o<n.length;o++){const l=h(t,n[o]);r[i.clamp(l-1,0,e-1)]+=1}return r},e.interpolate=function(n,t,e){const r=n.length,o=new Array(r);for(let i=0;i<r;i++){const r=n[i];if(isNaN(r)){o[i]=r;continue}const l=g(r,t);if(-1==l)o[i]=e[0];else if(l==t.length)o[i]=e[e.length-1];else if(l==t.length-1||t[l]==r)o[i]=e[l];else{const n=t[l],u=e[l],c=t[l+1],f=e[l+1];o[i]=a(r,n,u,c,f)}}return o},e.left_edge_index=g,e.norm=function(n,t,e){const r=e-t;return c(n,(n=>(n-t)/r))}},n function _(t,e,n,c,o){c();const s=t(9),{hasOwnProperty:r}=Object.prototype;function u(t){return Object.keys(t).length}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=s.concat([Object.keys(t),Object.keys(e)]);for(const o of c){const c=r.call(t,o)?t[o]:[],u=r.call(e,o)?e[o]:[];n[o]=s.union(c,u)}return n},n.size=u,n.isEmpty=function(t){return 0==u(t)},n.to_object=function(t){const e={};for(const[n,c]of t)e[n]=c;return e}},n function _(t,e,s,n,r){n();const i=t(1),o=t(15),c=t(17),a=i.__importStar(t(18)),_=i.__importStar(t(21)),h=t(34),u=t(13),l=t(8),f=t(26),p=t(30),d=t(35),g=t(26),y=t(36),v=t(37),m=i.__importStar(t(21));class b extends(o.Signalable()){constructor(t={}){var e,s;super(),this._subtype=void 0,this.document=null,this.destroyed=new o.Signal0(this,"destroyed"),this.change=new o.Signal0(this,"change"),this.transformchange=new o.Signal0(this,"transformchange"),this.exprchange=new o.Signal0(this,"exprchange"),this.properties={},this._pending=!1,this._changing=!1;const n=t instanceof Map?t.get.bind(t):e=>t[e];this.id=null!==(e=n("id"))&&void 0!==e?e:h.uniqueId();for(const[t,{type:e,default_value:s,options:r}]of u.entries(this._props)){let i;e instanceof a.PropertyAlias?Object.defineProperty(this.properties,t,{get:()=>this.properties[e.attr],configurable:!1,enumerable:!1}):(i=e instanceof _.Kind?new a.PrimitiveProperty(this,t,e,s,n(t),r):new e(this,t,_.Any,s,n(t),r),this.properties[t]=i)}null!==(s=n("__deferred__"))&&void 0!==s&&s||(this.finalize(),this.connect_signals())}get is_syncable(){return!0}set type(t){console.warn("prototype.type = ‘ModelName’ is deprecated, use static __name__ instead"),this.constructor.__name__=t}get type(){return this.constructor.__qualified__}static get __qualified__(){const{__module__:t,__name__:e}=this;return null!=t?`${t}.${e}`:e}static get[Symbol.toStringTag](){return this.__name__}static init_HasProps(){this.prototype._props={},this.prototype._mixins=[]}static _fix_default(t,e){if(void 0===t||l.isFunction(t))return t;if(l.isPrimitive(t))return()=>t;{const e=new v.Cloner;return()=>e.clone(t)}}static define(t){for(const[e,s]of u.entries(l.isFunction(t)?t(m):t)){if(null!=this.prototype._props[e])throw new Error(`attempted to redefine property ‘${this.prototype.type}.${e}’`);if(null!=this.prototype[e])throw new Error(`attempted to redefine attribute ‘${this.prototype.type}.${e}’`);Object.defineProperty(this.prototype,e,{get(){return this.properties[e].get_value()},set(t){return this.setv({[e]:t}),this},configurable:!1,enumerable:!0});const[t,n,r={}]=s,i={type:t,default_value:this._fix_default(n,e),options:r},o=Object.assign({},this.prototype._props);o[e]=i,this.prototype._props=o}}static internal(t){const e={};for(const[s,n]of u.entries(l.isFunction(t)?t(m):t)){const[t,r,i={}]=n;e[s]=[t,r,Object.assign(Object.assign({},i),{internal:!0})]}this.define(e)}static mixins(t){function e(t,e){const s={};for(const[n,r]of u.entries(e))s[t+n]=r;return s}const s={},n=[];for(const r of l.isArray(t)?t:[t])if(l.isArray(r)){const[t,i]=r;u.extend(s,e(t,i)),n.push([t,i])}else{const t=r;u.extend(s,t),n.push(["",t])}this.define(s),this.prototype._mixins=[…this.prototype._mixins,…n]}static override(t){for(const[e,s]of u.entries(t)){const t=this._fix_default(s,e),n=this.prototype._props[e];if(null==n)throw new Error(`attempted to override nonexistent ‘${this.prototype.type}.${e}’`);const r=Object.assign({},this.prototype._props);r[e]=Object.assign(Object.assign({},n),{default_value:t}),this.prototype._props=r}}toString(){return`${this.type}(${this.id})`}property(t){const e=this.properties[t];if(null!=e)return e;throw new Error(`unknown property ${this.type}.${t}`)}get attributes(){const t={};for(const e of this)t[e.attr]=e.get_value();return t}[v.clone](t){const e=new Map;for(const s of this)s.dirty&&e.set(s.attr,t.clone(s.get_value()));return new this.constructor(e)}[g.equals](t,e){for(const s of this){const n=t.property(s.attr);if(e.eq(s.get_value(),n.get_value()))return!1}return!0}[y.pretty](t){const e=t.token,s=[];for(const n of this)if(n.dirty){const r=n.get_value();s.push(`${n.attr}${e(":")} ${t.to_string(r)}`)}return`${this.constructor.__qualified__}${e("(")}${e("{")}${s.join(`${e(",")} `)}${e("}")}${e(")")}`}[p.serialize](t){const e=this.ref();t.add_ref(this,e);const s=this.struct();for(const e of this)e.syncable&&(t.include_defaults||e.dirty)&&(s.attributes[e.attr]=t.to_serializable(e.get_value()));return t.add_def(this,s),e}finalize(){for(const t of this){if(!(t instanceof a.VectorSpec||t instanceof a.ScalarSpec))continue;const e=t.get_value();if(null!=e){const{transform:t,expr:s}=e;null!=t&&this.connect(t.change,(()=>this.transformchange.emit())),null!=s&&this.connect(s.change,(()=>this.exprchange.emit()))}}this.initialize()}initialize(){}connect_signals(){}disconnect_signals(){o.Signal.disconnectReceiver(this)}destroy(){this.disconnect_signals(),this.destroyed.emit()}clone(){return(new v.Cloner).clone(this)}_setv(t,e){const s=e.check_eq,n=[],r=this._changing;this._changing=!0;for(const[e,r]of t)!1!==s&&f.is_equal(e.get_value(),r)||(e.set_value(r),n.push(e));n.length>0&&(this._pending=!0);for(const t of n)t.change.emit();if(!r){if(!e.no_change)for(;this._pending;)this._pending=!1,this.change.emit();this._pending=!1,this._changing=!1}}setv(t,e={}){const s=u.entries(t);if(0==s.length)return;if(!0===e.silent){for(const[t,e]of s)this.properties[t].set_value(e);return}const n=new Map,r=new Map;for(const[t,e]of s){const s=this.properties[t];n.set(s,e),r.set(s,s.get_value())}this._setv(n,e);const{document:i}=this;if(null!=i){const t=[];for(const[e,s]of r)t.push([e,s,e.get_value()]);for(const[,e,s]of t)if(this._needs_invalidate(e,s)){i._invalidate_all_models();break}this._push_changes(t,e)}}getv(t){return this.property(t).get_value()}ref(){return{id:this.id}}struct(){const t={type:this.type,id:this.id,attributes:{}};return null!=this._subtype&&(t.subtype=this._subtype),t}set_subtype(t){this._subtype=t}*[Symbol.iterator](){yield*u.values(this.properties)}*syncable_properties(){for(const t of this)t.syncable&&(yield t)}serializable_attributes(){const t={};for(const e of this.syncable_properties())t[e.attr]=e.get_value();return t}static _json_record_references(t,e,s,n){const{recursive:r}=n;if(c.is_ref(e)){const n=t.get_model_by_id(e.id);null==n||s.has(n)||b._value_record_references(n,s,{recursive:r})}else if(l.isArray(e))for(const n of e)b._json_record_references(t,n,s,{recursive:r});else if(l.isPlainObject(e))for(const n of u.values(e))b._json_record_references(t,n,s,{recursive:r})}static _value_record_references(t,e,s){const{recursive:n}=s;if(t instanceof b){if(!e.has(t)&&(e.add(t),n))for(const s of t.syncable_properties()){const t=s.get_value();b._value_record_references(t,e,{recursive:n})}}else if(l.isArray(t))for(const s of t)b._value_record_references(s,e,{recursive:n});else if(l.isPlainObject(t))for(const s of u.values(t))b._value_record_references(s,e,{recursive:n})}references(){const t=new Set;return b._value_record_references(this,t,{recursive:!0}),t}_doc_attached(){}_doc_detached(){}attach_document(t){if(null!=this.document&&this.document!=t)throw new Error("models must be owned by only a single document");this.document=t,this._doc_attached()}detach_document(){this._doc_detached(),this.document=null}_needs_invalidate(t,e){const s=new Set;b._value_record_references(e,s,{recursive:!1});const n=new Set;b._value_record_references(t,n,{recursive:!1});for(const t of s)if(!n.has(t))return!0;for(const t of n)if(!s.has(t))return!0;return!1}_push_changes(t,e={}){if(!this.is_syncable)return;const{document:s}=this;if(null==s)return;const{setter_id:n}=e,r=[];for(const[e,i,o]of t)e.syncable&&r.push(new d.ModelChangedEvent(s,this,e.attr,i,o,n));if(0!=r.length){let t;1==r.length?[t]=r:t=new d.DocumentEventBatch(s,r,n),s._trigger_on_change(t)}}on_change(t,e){for(const s of l.isArray(t)?t:[t])this.connect(s.change,e)}}s.HasProps=b,b.init_HasProps()},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 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 i.defer(),function(){for(const n of f)o.remove_by(n,(n=>null==n.signal));f.clear()}()})(),f.add(n)}},n function _(e,n,t,s,o){s();const a=new MessageChannel,l=new Map;a.port1.onmessage=e=>{const n=e.data,t=l.get(n);if(null!=t)try{t()}finally{l.delete(n)}};let r=1;t.defer=function(){return new Promise((e=>{const n=r++;l.set(n,e),a.port2.postMessage(n)}))}},n function _(n,t,i,e,c){e();const r=n(8),s=n(13);i.is_ref=function(n){if(r.isPlainObject(n)){const t=s.keys(n);return 1==t.length&&"id"==t[0]}return!1}},n function _(e,t,n,a,r){a(),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.NumberSpec=n.BooleanSpec=n.ScreenDistanceSpec=n.NullDistanceSpec=n.DistanceSpec=n.AngleSpec=void 0;const i=e(1),s=e(15),l=e(19),o=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 m.isPlainObject(e)&&(void 0===e.value?0:1)+(void 0===e.field?0:1)+(void 0===e.expr?0:1)==1}r("Uniform",y.Uniform),r("UniformScalar",y.UniformScalar),r("UniformVector",y.UniformVector),n.isSpec=g;class f{constructor(e,t,n,a,r,i={}){var l;let o;if(this.obj=e,this.attr=t,this.kind=n,this.default_value=a,this._dirty=!1,this.change=new s.Signal0(this.obj,"change"),this.internal=null!==(l=i.internal)&&void 0!==l&&l,this.on_update=i.on_update,void 0!==r)o=r,this._dirty=!0;else{const t=this._default_override();if(void 0!==t)o=t;else{if(void 0===a)return void(this.spec={value:null});o=a(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;this.validate(e),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 L extends f{}n.Any=L,L.__name__="Any";class T extends f{valid(e){return m.isArray(e)||m.isTypedArray(e)}}n.Array=T,T.__name__="Array";class P extends f{valid(e){return m.isBoolean(e)}}n.Boolean=P,P.__name__="Boolean";class b extends f{valid(e){return S.is_Color(e)}}n.Color=b,b.__name__="Color";class w extends f{}n.Instance=w,w.__name__="Instance";class q extends f{valid(e){return m.isNumber(e)}}n.Number=q,q.__name__="Number";class N extends q{valid(e){return m.isNumber(e)&&(0|e)==e}}n.Int=N,N.__name__="Int";class B extends q{}n.Angle=B,B.__name__="Angle";class D extends q{valid(e){return m.isNumber(e)&&0<=e&&e<=1}}n.Percent=D,D.__name__="Percent";class F extends f{valid(e){return m.isString(e)}}n.String=F,F.__name__="String";class z extends f{valid(e){return null===e||m.isString(e)}}n.NullString=z,z.__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 m.isString(e)&&_.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<e.length;n++)switch(e[n]){case"clock":t[n]=0;break;case"anticlock":t[n]=1}return t}}n.Direction=O,O.__name__="Direction",n.Anchor=k(o.Anchor),n.AngleUnits=k(o.AngleUnits),n.BoxOrigin=k(o.BoxOrigin),n.ButtonType=k(o.ButtonType),n.CalendarPosition=k(o.CalendarPosition),n.Dimension=k(o.Dimension),n.Dimensions=k(o.Dimensions),n.Distribution=k(o.Distribution),n.FontStyle=k(o.FontStyle),n.HatchPatternType=k(o.HatchPatternType),n.HTTPMethod=k(o.HTTPMethod),n.HexTileOrientation=k(o.HexTileOrientation),n.HoverMode=k(o.HoverMode),n.LatLon=k(o.LatLon),n.LegendClickPolicy=k(o.LegendClickPolicy),n.LegendLocation=k(o.LegendLocation),n.LineCap=k(o.LineCap),n.LineJoin=k(o.LineJoin),n.LinePolicy=k(o.LinePolicy),n.Location=k(o.Location),n.Logo=k(o.Logo),n.MarkerType=k(o.MarkerType),n.MutedPolicy=k(o.MutedPolicy),n.Orientation=k(o.Orientation),n.OutputBackend=k(o.OutputBackend),n.PaddingUnits=k(o.PaddingUnits),n.Place=k(o.Place),n.PointPolicy=k(o.PointPolicy),n.RadiusDimension=k(o.RadiusDimension),n.RenderLevel=k(o.RenderLevel),n.RenderMode=k(o.RenderMode),n.ResetPolicy=k(o.ResetPolicy),n.RoundingFunction=k(o.RoundingFunction),n.Side=k(o.Side),n.SizingMode=k(o.SizingMode),n.Sort=k(o.Sort),n.SpatialUnits=k(o.SpatialUnits),n.StartEnd=k(o.StartEnd),n.StepMode=k(o.StepMode),n.TapBehavior=k(o.TapBehavior),n.TextAlign=k(o.TextAlign),n.TextBaseline=k(o.TextBaseline),n.TextureRepetition=k(o.TextureRepetition),n.TickLabelOrientation=k(o.TickLabelOrientation),n.TooltipAttachment=k(o.TooltipAttachment),n.UpdateMode=k(o.UpdateMode),n.VerticalAlign=k(o.VerticalAlign);class E extends f{get_value(){const{value:e,expr:t,transform:n}=this.spec;return null!=t||null!=n?this.spec:e}_update(e){g(e)?this.spec=e:this.spec={value:e},null!=this.spec.value&&this.validate(this.spec.value)}materialize(e){return e}scalar(e,t){return new y.UniformScalar(e,t)}uniform(e){var t;const{expr:n,value:a,transform:r}=this.spec,i=null!==(t=e.get_length())&&void 0!==t?t:1;if(null!=n){let t=n.compute(e);return null!=r&&(t=r.compute(t)),t=this.materialize(t),this.scalar(t,i)}{let e=a;return null!=r&&(e=r.compute(e)),e=this.materialize(e),this.scalar(e,i)}}}n.ScalarSpec=E,E.__name__="ScalarSpec";class V extends E{}n.AnyScalar=V,V.__name__="AnyScalar";class $ extends E{}n.ColorScalar=$,$.__name__="ColorScalar";class J extends E{}n.NumberScalar=J,J.__name__="NumberScalar";class X extends E{}n.StringScalar=X,X.__name__="StringScalar";class Y extends E{}n.NullStringScalar=Y,Y.__name__="NullStringScalar";class H extends E{}n.ArrayScalar=H,H.__name__="ArrayScalar";class j extends E{}n.LineJoinScalar=j,j.__name__="LineJoinScalar";class G extends E{}n.LineCapScalar=G,G.__name__="LineCapScalar";class I extends E{}n.LineDashScalar=I,I.__name__="LineDashScalar";class K extends E{_default_override(){return h.settings.dev?"Bokeh":void 0}}n.FontScalar=K,K.__name__="FontScalar";class Q extends E{}n.FontSizeScalar=Q,Q.__name__="FontSizeScalar";class W extends E{}n.FontStyleScalar=W,W.__name__="FontStyleScalar";class Z extends E{}n.TextAlignScalar=Z,Z.__name__="TextAlignScalar";class ee extends E{}n.TextBaselineScalar=ee,ee.__name__="TextBaselineScalar";class te extends f{get_value(){return null===this.spec.value?null:this.spec}_update(e){g(e)?this.spec=e:this.spec={value:e},null!=this.spec.value&&this.validate(this.spec.value)}materialize(e){return e}v_materialize(e){return e}scalar(e,t){return new y.UniformScalar(e,t)}vector(e){return new y.UniformVector(e)}uniform(e){var t;const{field:n,expr:a,value:r,transform:i}=this.spec,s=null!==(t=e.get_length())&&void 0!==t?t:1;if(null!=n){let t=e.get_column(n);return null!=t?(null!=i&&(t=i.v_compute(t)),t=this.v_materialize(t),this.vector(t)):(l.logger.warn(`attempted to retrieve property array for nonexistent field ‘${n}’`),this.scalar(null,s))}if(null!=a){let t=a.v_compute(e);return null!=i&&(t=i.v_compute(t)),t=this.v_materialize(t),this.vector(t)}{let e=r;return null!=i&&(e=i.compute(e)),e=this.materialize(e),this.scalar(e,s)}}array(e){var t;let n;const a=null!==(t=e.get_length())&&void 0!==t?t:1;if(null!=this.spec.field){const t=e.get_column(this.spec.field);if(null!=t)n=this.normalize(t);else{l.logger.warn(`attempted to retrieve property array for nonexistent field ‘${this.spec.field}’`);const e=new Float64Array(a);e.fill(NaN),n=e}}else if(null!=this.spec.expr)n=this.normalize(this.spec.expr.v_compute(e));else{const e=this._value(!1);if(m.isNumber(e)){const t=new Float64Array(a);t.fill(e),n=t}else n=_.repeat(e,a)}return null!=this.spec.transform&&(n=this.spec.transform.v_compute(n)),n}}n.VectorSpec=te,te.__name__="VectorSpec";class ne extends te{}n.DataSpec=ne,ne.__name__="DataSpec";class ae extends te{_update(e){super._update(e);const{units:t}=this.spec;if(null!=t&&!_.includes(this.valid_units,t))throw new Error(`units must be one of ${this.valid_units.join(", ")}; got: ${t}`)}get units(){var e;return null!==(e=this.spec.units)&&void 0!==e?e:this.default_units}set units(e){e!=this.default_units?this.spec.units=e:delete this.spec.units}}n.UnitsSpec=ae,ae.__name__="UnitsSpec";class re extends ae{array(e){return new Float64Array(super.array(e))}}n.NumberUnitsSpec=re,re.__name__="NumberUnitsSpec";class ie extends ne{}n.BaseCoordinateSpec=ie,ie.__name__="BaseCoordinateSpec";class se extends ie{}n.CoordinateSpec=se,se.__name__="CoordinateSpec";class le extends ie{}n.CoordinateSeqSpec=le,le.__name__="CoordinateSeqSpec";class oe extends ie{}n.CoordinateSeqSeqSeqSpec=oe,oe.__name__="CoordinateSeqSeqSeqSpec";class ce extends se{constructor(){super(…arguments),this.dimension="x"}}n.XCoordinateSpec=ce,ce.__name__="XCoordinateSpec";class _e extends se{constructor(){super(…arguments),this.dimension="y"}}n.YCoordinateSpec=_e,_e.__name__="YCoordinateSpec";class ue extends le{constructor(){super(…arguments),this.dimension="x"}}n.XCoordinateSeqSpec=ue,ue.__name__="XCoordinateSeqSpec";class de extends le{constructor(){super(…arguments),this.dimension="y"}}n.YCoordinateSeqSpec=de,de.__name__="YCoordinateSeqSpec";class Se extends oe{constructor(){super(…arguments),this.dimension="x"}}n.XCoordinateSeqSeqSeqSpec=Se,Se.__name__="XCoordinateSeqSeqSeqSpec";class pe extends oe{constructor(){super(…arguments),this.dimension="y"}}n.YCoordinateSeqSeqSeqSpec=pe,pe.__name__="YCoordinateSeqSeqSeqSpec";class me extends re{get default_units(){return"rad"}get valid_units(){return[…o.AngleUnits]}materialize(e){return e-d.to_radians_coeff(this.units)}v_materialize(e){const t=-d.to_radians_coeff(this.units),n=new Float32Array(e.length);return u.mul(e,t,n),n}array(e){throw new Error("not supported")}}n.AngleSpec=me,me.__name__="AngleSpec";class he extends re{get default_units(){return"data"}get valid_units(){return[…o.SpatialUnits]}}n.DistanceSpec=he,he.__name__="DistanceSpec";class ve extends he{materialize(e){return null!=e?e:NaN}}n.NullDistanceSpec=ve,ve.__name__="NullDistanceSpec";class ye extends he{get default_units(){return"screen"}}n.ScreenDistanceSpec=ye,ye.__name__="ScreenDistanceSpec";class xe extends ne{v_materialize(e){return new Uint8Array(e)}array(e){return new Uint8Array(super.array(e))}}n.BooleanSpec=xe,xe.__name__="BooleanSpec";class ge extends ne{v_materialize(e){return m.isTypedArray(e)?e:new Float64Array(e)}array(e){return new Float64Array(super.array(e))}}n.NumberSpec=ge,ge.__name__="NumberSpec";class fe extends ne{materialize(e){return S.encode_rgba(S.color2rgba(e))}v_materialize(e){if(!v.is_NDArray(e)){const t=e.length,n=new c.RGBAArray(4*t);let a=0;for(const t of e){const[e,r,i,s]=S.color2rgba(t);n[a++]=e,n[a++]=r,n[a++]=i,n[a++]=s}return new c.ColorArray(n.buffer)}if("uint32"==e.dtype&&1==e.dimension)return p.to_big_endian(e);if("uint8"==e.dtype&&1==e.dimension){const[t]=e.shape,n=new c.RGBAArray(4*t);let a=0;for(const t of e)n[a++]=t,n[a++]=t,n[a++]=t,n[a++]=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 a=new c.RGBAArray(4*t);for(let r=0,i=0;r<n*t;)a[i++]=e[r++],a[i++]=e[r++],a[i++]=e[r++],a[i++]=255;return new c.ColorArray(a.buffer)}}else if(("float32"==e.dtype||"float64"==e.dtype)&&2==e.dimension){const[t,n]=e.shape;if(3==n||4==n){const a=new c.RGBAArray(4*t);for(let r=0,i=0;r<n*t;)a[i++]=255*e[r++],a[i++]=255*e[r++],a[i++]=255*e[r++],a[i++]=255*(3==n?1:e[r++]);return new c.ColorArray(a.buffer)}}throw new Error("invalid color array")}vector(e){return new y.ColorUniformVector(e)}}n.ColorSpec=fe,fe.__name__="ColorSpec";class Ae extends ne{}n.NDArraySpec=Ae,Ae.__name__="NDArraySpec";class Ce extends ne{}n.AnySpec=Ce,Ce.__name__="AnySpec";class Le extends ne{}n.StringSpec=Le,Le.__name__="StringSpec";class Te extends ne{}n.NullStringSpec=Te,Te.__name__="NullStringSpec";class Pe extends ne{}n.ArraySpec=Pe,Pe.__name__="ArraySpec";class be extends ne{}n.MarkerSpec=be,be.__name__="MarkerSpec";class we extends ne{}n.LineJoinSpec=we,we.__name__="LineJoinSpec";class qe extends ne{}n.LineCapSpec=qe,qe.__name__="LineCapSpec";class Ne extends ne{}n.LineDashSpec=Ne,Ne.__name__="LineDashSpec";class Be extends ne{_default_override(){return h.settings.dev?"Bokeh":void 0}}n.FontSpec=Be,Be.__name__="FontSpec";class De extends ne{}n.FontSizeSpec=De,De.__name__="FontSizeSpec";class Fe extends ne{}n.FontStyleSpec=Fe,Fe.__name__="FontStyleSpec";class ze extends ne{}n.TextAlignSpec=ze,ze.__name__="TextAlignSpec";class Ue extends ne{}n.TextBaselineSpec=Ue,Ue.__name__="TextBaselineSpec"},n function _(e,l,o,n,t){n();const s=e(8),g=e(13),r={};class i{constructor(e,l){this.name=e,this.level=l}}o.LogLevel=i,i.__name__="LogLevel";class v{constructor(e,l=v.INFO){this._name=e,this.set_level(l)}static get levels(){return Object.keys(v.log_levels)}static get(e,l=v.INFO){if(e.length>0){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(!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 g.entries(v.log_levels))o.level<this._log_level.level||this._log_level.level===v.OFF.level?this[e]=function(){}:this[e]=_(e,l)}trace(…e){}debug(…e){}info(…e){}warn(…e){}error(…e){}}function _(e,l){return null!=console[e]?console[e].bind(console,l):null!=console.log?console.log.bind(console,l):function(){}}function c(e){const l=o.logger.level;return s.isString(e)&&null==v.log_levels[e]?(console.log([bokeh] unrecognized logging level ‘${e}’ passed to Bokeh.set_log_level(), ignoring),console.log([bokeh] valid log levels are: ${v.levels.join(", ")})):(console.log([bokeh] setting log level to: ‘${s.isString(e)?e:e.level}’),o.logger.set_level(e)),l}o.Logger=v,v.__name__="Logger",v.TRACE=new i("trace",0),v.DEBUG=new i("debug",1),v.INFO=new i("info",2),v.WARN=new i("warn",6),v.ERROR=new i("error",7),v.FATAL=new i("fatal",8),v.OFF=new i("off",9),v.log_levels={trace:v.TRACE,debug:v.DEBUG,info:v.INFO,warn:v.WARN,error:v.ERROR,fatal:v.FATAL,off:v.OFF},o.logger=v.get("bokeh"),o.set_log_level=c,o.with_log_level=function(e,l){const o=c(e);try{l()}finally{c(o)}}},n function _(e,n,t,o,i){o(),t.VerticalAlign=void 0;const a=e(21);t.Align=a.Enum("start","center","end"),t.Anchor=a.Enum("top_left","top_center","top_right","center_left","center_center","center_right","bottom_left","bottom_center","bottom_right","top","left","center","right","bottom"),t.AngleUnits=a.Enum("deg","rad","grad","turn"),t.BoxOrigin=a.Enum("corner","center"),t.ButtonType=a.Enum("default","primary","success","warning","danger","light"),t.CalendarPosition=a.Enum("auto","above","below"),t.Dimension=a.Enum("width","height"),t.Dimensions=a.Enum("width","height","both"),t.Direction=a.Enum("clock","anticlock"),t.Distribution=a.Enum("uniform","normal"),t.FontStyle=a.Enum("normal","italic","bold","bold italic"),t.HatchPatternType=a.Enum("blank","dot","ring","horizontal_line","vertical_line","cross","horizontal_dash","vertical_dash","spiral","right_diagonal_line","left_diagonal_line","diagonal_cross","right_diagonal_dash","left_diagonal_dash","horizontal_wave","vertical_wave","criss_cross"," ",".","o","-","|\",\"+\",'\"',\":\",\"@\",\"/\",\"\\\\\",\"x\",\",\",\"`\",\"v\",\">\",\"*\"),t.HTTPMethod=a.Enum(\"POST\",\"GET\"),t.HexTileOrientation=a.Enum(\"pointytop\",\"flattop\"),t.HoverMode=a.Enum(\"mouse\",\"hline\",\"vline\"),t.LatLon=a.Enum(\"lat\",\"lon\"),t.LegendClickPolicy=a.Enum(\"none\",\"hide\",\"mute\"),t.LegendLocation=t.Anchor,t.LineCap=a.Enum(\"butt\",\"round\",\"square\"),t.LineJoin=a.Enum(\"miter\",\"round\",\"bevel\"),t.LineDash=a.Enum(\"solid\",\"dashed\",\"dotted\",\"dotdash\",\"dashdot\"),t.LinePolicy=a.Enum(\"prev\",\"next\",\"nearest\",\"interp\",\"none\"),t.Location=a.Enum(\"above\",\"below\",\"left\",\"right\"),t.Logo=a.Enum(\"normal\",\"grey\"),t.MarkerType=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=a.Enum(\"show\",\"ignore\"),t.Orientation=a.Enum(\"vertical\",\"horizontal\"),t.OutputBackend=a.Enum(\"canvas\",\"svg\",\"webgl\"),t.PaddingUnits=a.Enum(\"percent\",\"absolute\"),t.Place=a.Enum(\"above\",\"below\",\"left\",\"right\",\"center\"),t.PointPolicy=a.Enum(\"snap_to_data\",\"follow_mouse\",\"none\"),t.RadiusDimension=a.Enum(\"x\",\"y\",\"max\",\"min\"),t.RenderLevel=a.Enum(\"image\",\"underlay\",\"glyph\",\"guide\",\"annotation\",\"overlay\"),t.RenderMode=a.Enum(\"canvas\",\"css\"),t.ResetPolicy=a.Enum(\"standard\",\"event_only\"),t.RoundingFunction=a.Enum(\"round\",\"nearest\",\"floor\",\"rounddown\",\"ceil\",\"roundup\"),t.SelectionMode=a.Enum(\"replace\",\"append\",\"intersect\",\"subtract\"),t.Side=a.Enum(\"above\",\"below\",\"left\",\"right\"),t.SizingMode=a.Enum(\"stretch_width\",\"stretch_height\",\"stretch_both\",\"scale_width\",\"scale_height\",\"scale_both\",\"fixed\"),t.Sort=a.Enum(\"ascending\",\"descending\"),t.SpatialUnits=a.Enum(\"screen\",\"data\"),t.StartEnd=a.Enum(\"start\",\"end\"),t.StepMode=a.Enum(\"after\",\"before\",\"center\"),t.TapBehavior=a.Enum(\"select\",\"inspect\"),t.TextAlign=a.Enum(\"left\",\"right\",\"center\"),t.TextBaseline=a.Enum(\"top\",\"middle\",\"bottom\",\"alphabetic\",\"hanging\",\"ideographic\"),t.TextureRepetition=a.Enum(\"repeat\",\"repeat_x\",\"repeat_y\",\"no_repeat\"),t.TickLabelOrientation=a.Enum(\"vertical\",\"horizontal\",\"parallel\",\"normal\"),t.TooltipAttachment=a.Enum(\"horizontal\",\"vertical\",\"left\",\"right\",\"above\",\"below\"),t.UpdateMode=a.Enum(\"replace\",\"append\"),t.VerticalAlign=a.Enum(\"top\",\"middle\",\"bottom\")},\n function _(e,n,t,s,r){s();const i=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;n<this.types.length;n++){const t=this.types[n],s=e[n];if(!t.valid(s))return!1}return!0}}v.__name__=\"Tuple\",e.Tuple=v;class w extends d{constructor(e){super(),this.struct_type=e}valid(e){if(!i.isPlainObject(e))return!1;const{struct_type:n}=this;if(l.size(n)!=l.size(e))return!1;for(const t in n)if(u.call(n,t)){if(!u.call(e,t))return!1;const s=n[t],r=e[t];if(!s.valid(r))return!1}return!0}}w.__name__=\"Struct\",e.Struct=w;class h extends d{valid(e){return i.isArray(e)||i.isTypedArray(e)}}h.__name__=\"Arrayable\",e.Arrayable=h;class f extends d{constructor(e){super(),this.item_type=e}valid(e){return i.isArray(e)&&e.every((e=>this.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 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=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),l=n(10),c=n(8),{round:i}=Math;function o(n){return l.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,l;return null==n?[e,s,u,l]=[0,0,0,0]:c.isInteger(n)?[e,s,u,l]=f(n):c.isString(n)?[e,s,u,l]=null!==(r=_(n))&&void 0!==r?r:[0,0,0,0]:([e,s,u,l=1]=n,l=o(255*l)),255==l&&null!=t&&(l=o(255*t)),[e,s,u,l]}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),l=`#${g(r)}${g(e)}${g(s)}`;return 255==u?l:${l}${g(u)}};const b=/^rgba?\(\s*([^\s,]+?)\s+([^\s,]+?)\s+([^\s,]+?)(?:\s*\/\s*([^\s,]+?))?\s*\)$/,m=/^rgba?\(\s*([^\s,]+?)\s*,\s*([^\s,]+?)\s*,\s*([^\s,]+?)(?:\s*,\s*([^\s,]+?))?\s*\)$/,$=(()=>{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(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(m);if(null!=r){let[,n,t,e,s="1"]=r;const u=n.endsWith("%"),l=t.endsWith("%"),c=e.endsWith("%"),i=s.endsWith("%");if(!(u&&l&&c)&&(u||l||c))return null;u&&(n=n.slice(0,-1)),l&&(t=t.slice(0,-1)),c&&(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),l&&(f=f/100*255),c&&(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=$(n);if(null!=t)return _(t)}return null}r.css4_parse=_,r.is_Color=function(n){return!!c.isInteger(n)||(!(!c.isString(n)||null==_(n))||!(!c.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:new Float32Array(r)},o("Indices",r(25).BitSet)},n function _(t,s,r,e,i){e();const n=t(26),o=t(11);class a{constructor(t,s=0){this.size=t,this[Symbol.toStringTag]="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)):(o.assert(s.length==this._nwords,"Initializer size mismatch"),this._array=s)}clone(){return new a(this.size,new Uint32Array(this._array))}[n.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<i;s++)if(this._array[s]!=t._array[s])return!1;if(0==e)return!0;{const s=1<<e-1,r=s-1^s;return(this._array[i]&r)==(t._array[i]&r)}}static all_set(t){return new a(t,1)}static all_unset(t){return new a(t,0)}static from_indices(t,s){const r=new a(t);for(const t of s)r.set(t);return r}static from_booleans(t,s){const r=new a(t),e=Math.min(t,s.length);for(let t=0;t<e;t++)s[t]&&r.set(t);return r}_check_bounds(t){o.assert(0<=t&&t<this.size,`Out of bounds: 0 <= ${t} < ${this.size}`)}get(t){this._check_bounds(t);const s=t>>>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<<e:this._array[r]&=~(1<<e)}unset(t){this.set(t,!1)}*[Symbol.iterator](){yield*this.ones()}get count(){let t=this._count;return null==t&&(this._count=t=this._get_count()),t}_get_count(){const{_array:t,_nwords:s,size:r}=this;let e=0;for(let i=0,n=0;n<s;n++){const s=t[n];if(0==s)i+=32;else for(let t=0;t<32&&i<r;t++,i++)s>>>t&1&&(e+=1)}return e}*ones(){const{_array:t,_nwords:s,size:r}=this;for(let e=0,i=0;i<s;i++){const s=t[i];if(0!=s)for(let t=0;t<32&&e<r;t++,e++)s>>>t&1&&(yield e);else e+=32}}*zeros(){const{_array:t,_nwords:s,size:r}=this;for(let e=0,i=0;i<s;i++){const s=t[i];if(4294967295!=s)for(let t=0;t<32&&e<r;t++,e++)s>>>t&1||(yield e);else e+=32}}_check_size(t){o.assert(this.size==t.size,"Size mismatch")}add(t){this._check_size(t);for(let s=0;s<this._nwords;s++)this._array[s]|=t._array[s]}intersect(t){this._check_size(t);for(let s=0;s<this._nwords;s++)this._array[s]&=t._array[s]}subtract(t){this._check_size(t);for(let s=0;s<this._nwords;s++){const r=this._array[s],e=t._array[s];this._array[s]=(r^e)&r}}union(t){this._check_size(t);const s=this.clone();for(let r=0;r<this._nwords;r++)s._array[r]|=t._array[r];return s}intersection(t){this._check_size(t);const s=this.clone();for(let r=0;r<this._nwords;r++)s._array[r]&=t._array[r];return s}difference(t){this._check_size(t);const s=this.clone();for(let r=0;r<this._nwords;r++){const e=this._array[r],i=t._array[r];s._array[r]=(e^i)&e}return s}select(t){o.assert(this.size<=t.length,"Size mismatch");const s=this.count,r=new t.constructor(s);let e=0;for(const s of this)r[e++]=t[s];return r}}r.BitSet=a,a.__name__="BitSet"},n function _(t,e,r,n,s){n();const o=t(8),{hasOwnProperty:c}=Object.prototype;function a(t){return o.isObject(t)&&void 0!==t[r.equals]}r.equals=Symbol("equals"),r.wildcard=Symbol("wildcard");const i=Object.prototype.toString;class u{constructor(){this.a_stack=[],this.b_stack=[]}eq(t,e){if(Object.is(t,e))return!0;if(t===r.wildcard||e===r.wildcard)return!0;if(null==t||null==e)return t===e;const n=i.call(t);if(n!=i.call(e))return!1;switch(n){case"[object Number]":return this.numbers(t,e);case"[object RegExp]":case"[object String]":return`${t}`==`${e}`;case"[object Date]":case"[object Boolean]":return+t==+e}const{a_stack:s,b_stack:o}=this;let c=s.length;for(;c–;)if(s[c]===t)return o[c]===e;s.push(t),o.push(e);const u=(()=>{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<r;n++)if(!this.eq(t[n],e[n]))return!1;return!0}iterables(t,e){const r=t[Symbol.iterator](),n=e[Symbol.iterator]();for(;;){const t=r.next(),e=n.next();if(t.done&&e.done)return!0;if(t.done||e.done)return!1;if(!this.eq(t.value,e.value))return!1}}maps(t,e){if(t.size!=e.size)return!1;for(const[r,n]of t)if(!e.has(r)||!this.eq(n,e.get(r)))return!1;return!0}sets(t,e){if(t.size!=e.size)return!1;for(const r of t)if(!e.has(r))return!1;return!0}objects(t,e){const r=Object.keys(t);if(r.length!=Object.keys(e).length)return!1;for(const n of r)if(!c.call(e,n)||!this.eq(t[n],e[n]))return!1;return!0}nodes(t,e){return t.nodeType==e.nodeType&&(t.textContent==e.textContent&&!!this.iterables(t.childNodes,e.childNodes))}}r.Comparator=u,u.__name__="Comparator";const{abs:l}=Math;class b extends u{constructor(t=1e-4){super(),this.tolerance=t}numbers(t,e){return super.numbers(t,e)||l(t-e)<this.tolerance}}function f(t,e){return(new u).eq(t,e)}r.SimilarComparator=b,b.__name__="SimilarComparator",r.is_equal=f,r.is_similar=function(t,e,r){return new b(r).eq(t,e)},r.isEqual=f},n function _(n,i,e,t,r){t(),e.is_windows=navigator.appVersion.includes("Windows"),e.is_ie=(()=>{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,i,s){i();class _{constructor(){this._dev=!1,this._wireframe=!1}set dev(e){this._dev=e}get dev(){return this._dev}set wireframe(e){this._wireframe=e}get wireframe(){return this._wireframe}}r.Settings=_,_.__name__="Settings",r.settings=new _},n function _(t,e,s,r,n){var a,i,h,u,l,c,o,y;r();const p=t(8),_=t(11),A=t(26),d=t(30),D=t(31),N=Symbol("__ndarray__");class f extends Uint8Array{constructor(t,e){super(t),this[a]=!0,this.dtype="uint8",this.shape=null!=e?e:z(t)?t.shape:[this.length],this.dimension=this.shape.length}[(a=N,A.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[d.serialize](t){return D.encode_NDArray(this)}}s.Uint8NDArray=f,f.__name__="Uint8NDArray";class m extends Int8Array{constructor(t,e){super(t),this[i]=!0,this.dtype="int8",this.shape=null!=e?e:z(t)?t.shape:[this.length],this.dimension=this.shape.length}[(i=N,A.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[d.serialize](t){return D.encode_NDArray(this)}}s.Int8NDArray=m,m.__name__="Int8NDArray";class g extends Uint16Array{constructor(t,e){super(t),this[h]=!0,this.dtype="uint16",this.shape=null!=e?e:z(t)?t.shape:[this.length],this.dimension=this.shape.length}[(h=N,A.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[d.serialize](t){return D.encode_NDArray(this)}}s.Uint16NDArray=g,g.__name__="Uint16NDArray";class q extends Int16Array{constructor(t,e){super(t),this[u]=!0,this.dtype="int16",this.shape=null!=e?e:z(t)?t.shape:[this.length],this.dimension=this.shape.length}[(u=N,A.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[d.serialize](t){return D.encode_NDArray(this)}}s.Int16NDArray=q,q.__name__="Int16NDArray";class I extends Uint32Array{constructor(t,e){super(t),this[l]=!0,this.dtype="uint32",this.shape=null!=e?e:z(t)?t.shape:[this.length],this.dimension=this.shape.length}[(l=N,A.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[d.serialize](t){return D.encode_NDArray(this)}}s.Uint32NDArray=I,I.__name__="Uint32NDArray";class U extends Int32Array{constructor(t,e){super(t),this[c]=!0,this.dtype="int32",this.shape=null!=e?e:z(t)?t.shape:[this.length],this.dimension=this.shape.length}[(c=N,A.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[d.serialize](t){return D.encode_NDArray(this)}}s.Int32NDArray=U,U.__name__="Int32NDArray";class w extends Float32Array{constructor(t,e){super(t),this[o]=!0,this.dtype="float32",this.shape=null!=e?e:z(t)?t.shape:[this.length],this.dimension=this.shape.length}[(o=N,A.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[d.serialize](t){return D.encode_NDArray(this)}}s.Float32NDArray=w,w.__name__="Float32NDArray";class x extends Float64Array{constructor(t,e){super(t),this[y]=!0,this.dtype="float64",this.shape=null!=e?e:z(t)?t.shape:[this.length],this.dimension=this.shape.length}[(y=N,A.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[d.serialize](t){return D.encode_NDArray(this)}}function z(t){return p.isObject(t)&&void 0!==t[N]}s.Float64NDArray=x,x.__name__="Float64NDArray",s.is_NDArray=z,s.ndarray=function(t,e={}){let{dtype:s}=e;null==s&&(s=t instanceof ArrayBuffer||p.isArray(t)?"float64":(()=>{switch(!0){case t instanceof Uint8Array:return"uint8";case t instanceof Int8Array:return"int8";case t instanceof Uint16Array:return"uint16";case t instanceof Int16Array:return"int16";case t instanceof Uint32Array:return"uint32";case t instanceof Int32Array:return"int32";case t instanceof Float32Array:return"float32";case t instanceof Float64Array:return"float64";default:_.unreachable()}})());const{shape:r}=e;switch(s){case"uint8":return new f(t,r);case"int8":return new m(t,r);case"uint16":return new g(t,r);case"int16":return new q(t,r);case"uint32":return new I(t,r);case"int32":return new U(t,r);case"float32":return new w(t,r);case"float64":return new x(t,r)}}},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){n.assert(!this._references.has(e)),this._references.set(e,r)}add_def(e,r){const t=this.get_ref(e);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 l.isObject(e)&&void 0!==e[t.serialize]}(e))return e[t.serialize](this);if(l.isArray(e)||l.isTypedArray(e)){const r=e.length,t=new Array(r);for(let i=0;i<r;i++){const r=e[i];t[i]=this.to_serializable(r)}return t}if(l.isPlainObject(e)){const r={};for(const[t,i]of a.entries(e))r[t]=this.to_serializable(i);return r}if(null===e||l.isBoolean(e)||l.isNumber(e)||l.isString(e))return e;throw new o(${Object.prototype.toString.call(e)} is not serializable)}}t.Serializer=f,f.__name__="Serializer"},n function _(r,e,n,t,_){t();const a=r(1),f=r(8),u=a.__importStar(r(29)),s=r(27),i=r(32);n.is_NDArray_ref=function(r){return f.isPlainObject(r)&&("__buffer__"in r||"__ndarray__"in r)},n.decode_NDArray=function(r,e){const{shape:n,dtype:t,order:_}=r;let a;if("__buffer__"in r){const n=e.get(r.__buffer__);if(null==n)throw new Error(buffer for ${r.__buffer__} not found);a=n}else a=i.base64_to_buffer(r.__ndarray__);const f=(()=>{switch(t){case"uint8":return new u.Uint8NDArray(a,n);case"int8":return new u.Int8NDArray(a,n);case"uint16":return new u.Uint16NDArray(a,n);case"int16":return new u.Int16NDArray(a,n);case"uint32":return new u.Uint32NDArray(a,n);case"int32":return new u.Int32NDArray(a,n);case"float32":return new u.Float32NDArray(a,n);case"float64":return new u.Float64NDArray(a,n)}})();return _!==s.BYTE_ORDER&&i.swap(f),f},n.encode_NDArray=function(r,e){const n={order:s.BYTE_ORDER,dtype:r.dtype,shape:r.shape};if(null!=e){const t=`${e.size}`;return e.set(t,r.buffer),Object.assign({__buffer__:t},n)}{const e=i.buffer_to_base64(r.buffer);return Object.assign({__ndarray__:e},n)}}},n function _(t,e,n,r,f){r(),n.buffer_to_base64=function(t){const e=new Uint8Array(t),n=Array.from(e).map((t=>String.fromCharCode(t)));return btoa(n.join(""))},n.base64_to_buffer=function(t){const e=atob(t),n=e.length,r=new Uint8Array(n);for(let t=0,f=n;t<f;t++)r[t]=e.charCodeAt(t);return r.buffer},n.swap=function(t){switch(t.BYTES_PER_ELEMENT){case 2:!function(t){const e=new Uint8Array(t.buffer,t.byteOffset,2*t.length);for(let t=0,n=e.length;t<n;t+=2){const n=e[t];e[t]=e[t+1],e[t+1]=n}}(t);break;case 4:!function(t){const e=new Uint8Array(t.buffer,t.byteOffset,4*t.length);for(let t=0,n=e.length;t<n;t+=4){let n=e[t];e[t]=e[t+3],e[t+3]=n,n=e[t+1],e[t+1]=e[t+2],e[t+2]=n}}(t);break;case 8:!function(t){const e=new Uint8Array(t.buffer,t.byteOffset,8*t.length);for(let t=0,n=e.length;t<n;t+=8){let n=e[t];e[t]=e[t+7],e[t+7]=n,n=e[t+1],e[t+1]=e[t+6],e[t+6]=n,n=e[t+2],e[t+2]=e[t+5],e[t+5]=n,n=e[t+3],e[t+3]=e[t+4],e[t+4]=n}}(t)}}},n function _(t,r,e,s,a){s();const i=t(26);class n{is_Scalar(){return this.is_scalar}is_Vector(){return!this.is_scalar}}e.Uniform=n,n.__name__="Uniform";class l extends n{constructor(t,r){super(),this.value=t,this.length=r,this.is_scalar=!0}get(t){return this.value}*[Symbol.iterator](){const{length:t,value:r}=this;for(let e=0;e<t;e++)yield r}select(t){return new l(this.value,t.count)}[i.equals](t,r){return r.eq(this.length,t.length)&&r.eq(this.value,t.value)}}e.UniformScalar=l,l.__name__="UniformScalar";class o extends n{constructor(t){super(),this.array=t,this.is_scalar=!1,this.length=this.array.length}get(t){return this.array[t]}*[Symbol.iterator](){yield*this.array}select(t){const r=t.select(this.array);return new this.constructor(r)}[i.equals](t,r){return r.eq(this.length,t.length)&&r.eq(this.array,t.array)}}e.UniformVector=o,o.__name__="UniformVector";class h extends o{constructor(t){super(t),this.array=t,this._view=new DataView(t.buffer)}get(t){return this._view.getUint32(4*t)}*[Symbol.iterator](){const t=this.length;for(let r=0;r<t;r++)yield this.get(r)}}e.ColorUniformVector=h,h.__name__="ColorUniformVector"},n function _(t,e,r,n,u){n();const c=t(28);function s(){const t=new Array(32),e="0123456789ABCDEF";for(let r=0;r<32;r++)t[r]=e.substr(Math.floor(16*Math.random()),1);return t[12]="4",t[16]=e.substr(3&t[16].charCodeAt(0)|8,1),t.join("")}r.startsWith=function(t,e,r=0){return t.substr(r,e.length)==e},r.uuid4=s;let a=1e3;r.uniqueId=function(t){const e=c.settings.dev?"j"+a++:s();return null!=t?`${t}-${e}`:e},r.escape=function(t){return t.replace(/(?:[&<>"’])/g,(t=>{switch(t){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case’"’:return"&quot;";case"’":return"&#x27;";case"":return"&#x60;";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,r,n,i,e){i();const s=t(8),o=t(13);n.pretty=Symbol("pretty");class c{constructor(t){this.precision=null==t?void 0:t.precision}to_string(t){return function(t){return s.isObject(t)&&void 0!==t[n.pretty]}(t)?t[n.pretty](this):s.isBoolean(t)?this.boolean(t):s.isNumber(t)?this.number(t):s.isString(t)?this.string(t):s.isArray(t)?this.array(t):s.isIterable(t)?this.iterable(t):s.isPlainObject(t)?this.object(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,"\\’")}"}array(t){const r=this.token,n=[];for(const r of t)n.push(this.to_string(r));return`${r("[")}${n.join(`${r(",")} `)}${r("]")}}iterable(t){var r;const n=this.token,i=null!==(r=Object(t)[Symbol.toStringTag])&&void 0!==r?r:"Object",e=this.array(t);return`${i}${n("(")}${e}${n(")")}`}object(t){const r=this.token,n=[];for(const[i,e]of o.entries(t))n.push(${i}${r(":")} ${this.to_string(e)});return`${r("{")}${n.join(${r(",")} `)}${r("}")}}}n.Printer=c,c.__name__="Printer",n.to_string=function(t,r){return new c(r).to_string(t)}},n function _(n,o,r,e,t){e();const l=n(13),i=n(8);function c(n){return 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(i.isArray(n)){const o=n.length,r=new Array(o);for(let e=0;e<o;e++){const o=n[e];r[e]=this.clone(o)}return r}if(i.isPlainObject(n)){const o={};for(const[r,e]of l.entries(n))o[r]=this.clone(e);return o}if(null===n||i.isBoolean(n)||i.isNumber(n)||i.isString(n))return n;throw new s(${Object.prototype.toString.call(n)} is not cloneable)}}r.Cloner=a,a.__name__="Cloner"},n function _(t,_,r,o,a){o();const e=t(1);e.__exportStar(t(39),r),e.__exportStar(t(162),r),e.__exportStar(t(257),r),e.__exportStar(t(261),r),e.__exportStar(t(266),r),e.__exportStar(t(272),r),e.__exportStar(t(205),r),e.__exportStar(t(277),r),e.__exportStar(t(313),r),e.__exportStar(t(315),r),e.__exportStar(t(317),r),e.__exportStar(t(209),r),e.__exportStar(t(147),r),e.__exportStar(t(330),r),e.__exportStar(t(338),r),e.__exportStar(t(220),r),e.__exportStar(t(339),r),e.__exportStar(t(217),r),e.__exportStar(t(340),r),e.__exportStar(t(341),r),e.__exportStar(t(198),r),e.__exportStar(t(346),r),e.__exportStar(t(356),r),e.__exportStar(t(360),r)},n function _(e,o,n,a,t){a(),t("Annotation",e(40).Annotation),t("Arrow",e(55).Arrow),t("ArrowHead",e(133).ArrowHead),t("OpenHead",e(133).OpenHead),t("NormalHead",e(133).NormalHead),t("TeeHead",e(133).TeeHead),t("VeeHead",e(133).VeeHead),t("Band",e(134).Band),t("BoxAnnotation",e(136).BoxAnnotation),t("ColorBar",e(137).ColorBar),t("Label",e(226).Label),t("LabelSet",e(227).LabelSet),t("Legend",e(228).Legend),t("LegendItem",e(229).LegendItem),t("PolyAnnotation",e(231).PolyAnnotation),t("Slope",e(232).Slope),t("Span",e(233).Span),t("TextAnnotation",e(139).TextAnnotation),t("Title",e(138).Title),t("ToolbarPanel",e(234).ToolbarPanel),t("Tooltip",e(254).Tooltip),t("Whisker",e(256).Whisker)},n function _(t,e,i,n,s){n();const o=t(41);class a extends o.RendererView{get_size(){if(this.model.visible){const{width:t,height:e}=this._get_size();return{width:Math.round(t),height:Math.round(e)}}return{width:0,height:0}}_get_size(){throw new Error("not implemented")}connect_signals(){super.connect_signals();const t=this.model.properties;this.on_change(t.visible,(()=>{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=a,a.__name__="AnnotationView";class l extends o.Renderer{constructor(t){super(t)}static init_Annotation(){this.override({level:"annotation"})}}i.Annotation=l,l.__name__="Annotation",l.init_Annotation()},n function _(e,i,t,n,s){n();const r=e(1),a=e(42),_=r.__importStar(e(45)),o=e(20),l=e(53),d=e(54);class h extends a.View{get coordinates(){const{_coordinates:e}=this;return null!=e?e:this._coordinates=this._initialize_coordinates()}initialize(){super.initialize(),this.visuals=new _.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()))}_initialize_coordinates(){const{x_range_name:e,y_range_name:i}=this.model,{frame:t}=this.plot_view,n=t.x_scales.get(e),s=t.y_scales.get(i);return new d.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)}notify_finished(){this.plot_view.notify_finished()}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=h,h.__name__="RendererView";class c extends l.Model{constructor(e){super(e)}static init_Renderer(){this.define((({Boolean:e,String:i})=>({level:[o.RenderLevel,"image"],visible:[e,!0],x_range_name:[i,"default"],y_range_name:[i,"default"]})))}}t.Renderer=c,c.__name__="Renderer",c.init_Renderer()},n function _(t,e,s,i,n){i();const r=t(1),o=t(15),h=t(43),l=t(8),a=r.__importDefault(t(44));class _{constructor(t){this.removed=new o.Signal0(this,"removed"),this._ready=Promise.resolve(void 0),this._slots=new WeakMap;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=h.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}assert_root(){if(!this.is_root)throw new Error(${this.toString()} is not a root layout)}has_finished(){return this._has_finished}get is_idle(){return this.has_finished()}connect_signals(){}disconnect_signals(){o.Signal.disconnect_receiver(this)}on_change(t,e){for(const s of 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[a.default]}}s.View=_,_.__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");for(let[t,n]of l.entries(e))if(null!=n&&(!s.isBoolean(n)||n))if("class"===t&&(s.isString(n)&&(n=n.split(/\s+/)),s.isArray(n)))for(const t of n)null!=t&&i.classList.add(t);else if("style"===t&&s.isPlainObject(n))for(const[t,e]of l.entries(n))i.style[t]=e;else if("data"===t&&s.isPlainObject(n))for(const[t,e]of l.entries(n))i.dataset[t]=e;else i.setAttribute(t,n);function o(t){if(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(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 u(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 f(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.nbsp=function(){return document.createTextNode(" ")},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=u,n.size=f,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}}=u(t),{width:s,height:l}=f(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}=u(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<this.classList.length;e++){const n=this.classList.item(e);null!=n&&t.push(n)}return t}has(t){return this.classList.contains(t)}add(…t){for(const e of t)this.classList.add(e);return this}remove(…t){for(const e of t)this.classList.remove(e);return this}clear(){for(const t of this.values)"bk"!=t&&this.classList.remove(t);return this}toggle(t,e){return(null!=e?e:!this.has(t))?this.add(t):this.remove(t),this}}var g;function m(t,e,n){const{width:i,height:o,position:s,display:l}=t.style;t.style.position="absolute",t.style.display="",t.style.width=null!=e.width&&e.width!=1/0?`${e.width}px`:"auto",t.style.height=null!=e.height&&e.height!=1/0?`${e.height}px`:"auto";try{return n()}finally{t.style.position=s,t.style.display=l,t.style.width=i,t.style.height=o}}n.ClassList=p,p.__name__="ClassList",n.classes=function(t){return new p(t)},n.toggle_attribute=function(t,e,n){null==n&&(n=!t.hasAttribute(e)),n?t.setAttribute(e,"true"):t.removeAttribute(e)},(g=n.Keys||(n.Keys={}))[g.Backspace=8]="Backspace",g[g.Tab=9]="Tab",g[g.Enter=13]="Enter",g[g.Esc=27]="Esc",g[g.PageUp=33]="PageUp",g[g.PageDown=34]="PageDown",g[g.Left=37]="Left",g[g.Up=38]="Up",g[g.Right=39]="Right",g[g.Down=40]="Down",g[g.Delete=46]="Delete",n.undisplayed=function(t,e){const{display:n}=t.style;t.style.display="none";try{return e()}finally{t.style.display=n}},n.unsized=function(t,e){return m(t,{},e)},n.sized=m;class y{constructor(t){this.root=t,this.known=new Set,this.style=n.style({type:"text/css"}),c(t,this.style)}append(t){this.known.has(t)||(this.style.appendChild(document.createTextNode(t)),this.known.add(t))}}n.StyleSheet=y,y.__name__="StyleSheet",n.stylesheet=new y(document.head),n.dom_ready=async function(){if("loading"==document.readyState)return new Promise(((t,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;z-index:0;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 l=e(1),n=e(46);c("Line",n.Line),c("LineScalar",n.LineScalar),c("LineVector",n.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=l.__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 n.Line(e,t);case u.LineScalar:return new n.LineScalar(e,t);case u.LineVector:return new n.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")}})();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 n=e(1),a=e(47),o=n.__importStar(e(48)),r=e(22),_=e(8);function h(e){if(_.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=h;class c extends a.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)}set_value(e){const t=this.line_color.get_value(),i=this.line_alpha.get_value();e.strokeStyle=r.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=h(this.line_dash.get_value()),e.lineDashOffset=this.line_dash_offset.get_value()}}i.Line=c,c.__name__="Line";class u extends a.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)}set_value(e){const t=this.line_color.value,i=this.line_alpha.value;e.strokeStyle=r.color2css(t,i),e.lineWidth=this.line_width.value,e.lineJoin=this.line_join.value,e.lineCap=this.line_cap.value,e.lineDash=h(this.line_dash.value),e.lineDashOffset=this.line_dash_offset.value}}i.LineScalar=u,u.__name__="LineScalar";class d extends a.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}set_vectorize(e,t){const i=this.line_color.get(t),l=this.line_alpha.get(t),s=this.line_width.get(t),n=this.line_join.get(t),a=this.line_cap.get(t),o=this.line_dash.get(t),_=this.line_dash_offset.get(t);e.strokeStyle=r.color2css(i,l),e.lineWidth=s,e.lineJoin=n,e.lineCap=a,e.lineDash=h(o),e.lineDashOffset=_}}i.LineVector=d,d.__name__="LineVector",c.prototype.type="line",c.prototype.attrs=Object.keys(o.Line),u.prototype.type="line",u.prototype.attrs=Object.keys(o.LineScalar),d.prototype.type="line",d.prototype.attrs=Object.keys(o.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)}this.update()}*[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=r.__importStar(e(18)),n=e(20),i=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 _.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 o=l(1),a=l(47),r=o.__importStar(l(48)),c=l(22);class _ extends a.VisualProperties{get doit(){const l=this.fill_color.get_value(),t=this.fill_alpha.get_value();return!(null==l||0==t)}set_value(l){const t=this.fill_color.get_value(),e=this.fill_alpha.get_value();l.fillStyle=c.color2css(t,e)}}e.Fill=_,_.__name__="Fill";class n extends a.VisualUniforms{get doit(){const l=this.fill_color.value,t=this.fill_alpha.value;return!(0==l||0==t)}set_value(l){const t=this.fill_color.value,e=this.fill_alpha.value;l.fillStyle=c.color2css(t,e)}}e.FillScalar=n,n.__name__="FillScalar";class p extends a.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}set_vectorize(l,t){const e=this.fill_color.get(t),i=this.fill_alpha.get(t);l.fillStyle=c.color2css(e,i)}}e.FillVector=p,p.__name__="FillVector",_.prototype.type="fill",_.prototype.attrs=Object.keys(r.Fill),n.prototype.type="fill",n.prototype.attrs=Object.keys(r.FillScalar),p.prototype.type="fill",p.prototype.attrs=Object.keys(r.FillVector)},n function _(t,e,s,l,a){l();const o=t(1),_=t(47),i=o.__importStar(t(48)),n=t(22);class x extends _.VisualProperties{get doit(){const t=this.text_color.get_value(),e=this.text_alpha.get_value();return!(null==t||0==e)}set_value(t){const e=this.text_color.get_value(),s=this.text_alpha.get_value();t.fillStyle=n.color2css(e,s),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()}`}}s.Text=x,x.__name__="Text";class r extends _.VisualUniforms{get doit(){const t=this.text_color.value,e=this.text_alpha.value;return!(0==t||0==e)}set_value(t){const e=this.text_color.value,s=this.text_alpha.value,l=this.font_value(),a=this.text_align.value,o=this.text_baseline.value;t.fillStyle=n.color2css(e,s),t.font=l,t.textAlign=a,t.textBaseline=o}font_value(){return`${this.text_font_style.value} ${this.text_font_size.value} ${this.text_font.value}`}}s.TextScalar=r,r.__name__="TextScalar";class u extends _.VisualUniforms{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 s=this.text_color.get(e),l=this.text_alpha.get(e),a=this.font_value(e),o=this.text_align.get(e),_=this.text_baseline.get(e);t.fillStyle=n.color2css(s,l),t.font=a,t.textAlign=o,t.textBaseline=_}font_value(t){return`${this.text_font_style.get(t)} ${this.text_font_size.get(t)} ${this.text_font.get(t)}`}}s.TextVector=u,u.__name__="TextVector",x.prototype.type="text",x.prototype.attrs=Object.keys(i.Text),r.prototype.type="text",r.prototype.attrs=Object.keys(i.TextScalar),u.prototype.type="text",u.prototype.attrs=Object.keys(i.TextVector)},n function _(t,e,a,h,r){h();const i=t(1),s=t(47),c=t(52),n=i.__importStar(t(18)),_=i.__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(),h=this.hatch_pattern.get_value(),r=this.hatch_weight.get_value(),i=t=>{this._hatch_image=t},s=this.hatch_extra.get_value()[h];if(null!=s){const h=s.get_pattern(t,e,a,r);if(h instanceof Promise){const{_update_iteration:t}=this;h.then((e=>{this._update_iteration==t&&(i(e),this.obj.request_render())}))}else i(h)}else{const s=this.obj.canvas.create_layer(),n=c.get_pattern(s,h,t,e,a,r);i(n)}}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)}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 n.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,h=this.hatch_scale.value,r=this.hatch_pattern.value,i=this.hatch_weight.value,s=e=>{this._hatch_image=new n.UniformScalar(e,t)},_=this.hatch_extra.value[r];if(null!=_){const t=_.get_pattern(e,a,h,i);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(),n=c.get_pattern(t,r,e,a,h,i);s(n)}}get doit(){return this._static_doit}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 n.UniformScalar(null,t),this._static_doit=this._compute_static_doit(),!this._static_doit)return;const e=(t,e,a,h,r,i)=>{const s=this.hatch_extra.value[t];if(null!=s){const t=s.get_pattern(e,a,h,r);if(t instanceof Promise){const{_update_iteration:e}=this;t.then((t=>{this._update_iteration==e&&(i(t),this.obj.request_render())}))}else i(t)}else{const s=this.obj.canvas.create_layer(),n=c.get_pattern(s,t,e,a,h,r);i(n)}};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,h=this.hatch_alpha.value,r=this.hatch_scale.value;e(this.hatch_pattern.value,a,h,r,this.hatch_weight.value,(e=>{this._hatch_image=new n.UniformScalar(e,t)}))}else{const a=new Array(t);a.fill(null),this._hatch_image=new n.UniformVector(a);for(let h=0;h<t;h++){const t=this.hatch_color.get(h),r=this.hatch_alpha.get(h),i=this.hatch_scale.get(h);e(this.hatch_pattern.get(h),t,r,i,this.hatch_weight.get(h),(t=>{a[h]=t}))}}}get doit(){return this._static_doit}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=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){n();const a=e(14),i=e(8),r=e(13),l=e(19);class o extends a.HasProps{constructor(e){super(e)}get is_syncable(){return this.syncable}static init_Model(){this.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]})))}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):l.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 r.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(){r.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(i.isString(e))return[...this.references()].filter((t=>t instanceof o&&t.name===e));if(e.prototype instanceof a.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=o,o.__name__=\"Model\",o.init_Model()},\n function _(s,e,_,t,a){t();class r{constructor(s,e){this.x_scale=s,this.y_scale=e,this.x_range=this.x_scale.source_range,this.y_range=this.y_scale.source_range,this.ranges=[this.x_range,this.y_range],this.scales=[this.x_scale,this.y_scale]}map_to_screen(s,e){return[this.x_scale.v_compute(s),this.y_scale.v_compute(e)]}map_from_screen(s,e){return[this.x_scale.v_invert(s),this.y_scale.v_invert(e)]}}_.CoordinateTransform=r,r.__name__=\"CoordinateTransform\"},\n function _(t,e,s,a,i){a();const n=t(1),_=t(56),r=t(133),o=t(48),l=t(20),d=t(24),h=t(122),c=n.__importStar(t(18)),u=t(10);class v extends _.DataAnnotationView{async lazy_initialize(){await super.lazy_initialize();const{start:t,end:e}=this.model;null!=t&&(this.start=await h.build_view(t,{parent:this})),null!=e&&(this.end=await h.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 d.ScreenArray(n);for(let t=0;t<n;t++)_[t]=Math.PI/2+u.atan2([e[t],s[t]],[a[t],i[t]])}paint(t){const{start:e,end:s}=this,{_sx_start:a,_sy_start:i,_sx_end:n,_sy_end:_,_angles:r}=this,{x:o,y:l,width:d,height:h}=this.plot_view.frame.bbox;for(let c=0,u=a.length;c<u;c++)null!=s&&(t.save(),t.translate(n[c],_[c]),t.rotate(r[c]),s.render(t,c),t.restore()),null!=e&&(t.save(),t.translate(a[c],i[c]),t.rotate(r[c]+Math.PI),e.render(t,c),t.restore()),this.visuals.line.doit&&(t.save(),null==e&&null==s||(t.beginPath(),t.rect(o,l,d,h),null!=s&&(t.save(),t.translate(n[c],_[c]),t.rotate(r[c]),s.clip(t,c),t.restore()),null!=e&&(t.save(),t.translate(a[c],i[c]),t.rotate(r[c]+Math.PI),e.clip(t,c),t.restore()),t.closePath(),t.clip()),this.visuals.line.set_vectorize(t,c),t.beginPath(),t.moveTo(a[c],i[c]),t.lineTo(n[c],_[c]),t.stroke(),t.restore())}}s.ArrowView=v,v.__name__=\"ArrowView\";class p extends _.DataAnnotation{constructor(t){super(t)}static init_Arrow(){this.prototype.default_view=v,this.mixins(o.LineVector),this.define((({Ref:t,Nullable:e})=>({x_start:[c.XCoordinateSpec,{field:\"x_start\"}],y_start:[c.YCoordinateSpec,{field:\"y_start\"}],start_units:[l.SpatialUnits,\"data\"],start:[e(t(r.ArrowHead)),null],x_end:[c.XCoordinateSpec,{field:\"x_end\"}],y_end:[c.YCoordinateSpec,{field:\"y_end\"}],end_units:[l.SpatialUnits,\"data\"],end:[e(t(r.ArrowHead)),()=>new r.OpenHead]})))}}s.Arrow=p,p.__name__=\"Arrow\",p.init_Arrow()},\n function _(t,n,s,a,e){a();const i=t(1),o=t(40),c=t(57),_=t(130),r=t(65),l=i.__importStar(t(18));class h extends o.AnnotationView{constructor(){super(...arguments),this._initial_set_data=!1}connect_signals(){super.connect_signals();const t=()=>{this.set_data(this.model.source),this.request_render()};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)}set_data(t){const n=this;for(const s of this.model)if(s instanceof l.VectorSpec||s instanceof l.ScalarSpec)if(s instanceof l.BaseCoordinateSpec){const a=s.array(t);n[`_${s.attr}`]=a}else{const a=s.uniform(t);n[`${s.attr}`]=a}this.plot_model.use_map&&(null!=n._x&&r.inplace.project_xy(n._x,n._y),null!=n._xs&&r.inplace.project_xsys(n._xs,n._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)}}s.DataAnnotationView=h,h.__name__=\"DataAnnotationView\";class u extends o.Annotation{constructor(t){super(t)}static init_DataAnnotation(){this.define((({Ref:t})=>({source:[t(c.ColumnarDataSource),()=>new _.ColumnDataSource]})))}}s.DataAnnotation=u,u.__name__=\"DataAnnotation\",u.init_DataAnnotation()},\n function _(t,e,n,a,i){a();const s=t(58),r=t(15),l=t(19),o=t(60),c=t(8),u=t(9),h=t(13),g=t(59),d=t(129),_=t(29);class m extends s.DataSource{constructor(t){super(t)}get_array(t){let e=this.data[t];return null==e?this.data[t]=e=[]:c.isArray(e)||(this.data[t]=e=Array.from(e)),e}static init_ColumnarDataSource(){this.define((({Ref:t})=>({selection_policy:[t(d.SelectionPolicy),()=>new d.UnionRenderers]}))),this.internal((({AnyRef:t})=>({selection_manager:[t(),t=>new o.SelectionManager({source:t})],inspected:[t(),()=>new g.Selection]})))}initialize(){super.initialize(),this._select=new r.Signal0(this,\"select\"),this.inspect=new r.Signal(this,\"inspect\"),this.streaming=new r.Signal0(this,\"streaming\"),this.patching=new r.Signal(this,\"patching\")}get_column(t){const e=this.data[t];return null!=e?e:null}columns(){return h.keys(this.data)}get_length(t=!0){const e=u.uniq(h.values(this.data).map((t=>_.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 l.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=m,m.__name__=\"ColumnarDataSource\",m.init_ColumnarDataSource()},\n function _(e,t,c,n,a){n();const o=e(53),i=e(59);class s extends o.Model{constructor(e){super(e)}static init_DataSource(){this.define((({Ref:e})=>({selected:[e(i.Selection),()=>new i.Selection]})))}}c.DataSource=s,s.__name__=\"DataSource\",s.init_DataSource()},\n function _(i,e,s,t,n){t();const l=i(53),c=i(9),h=i(13);class d extends l.Model{constructor(i){super(i)}get_view(){return this.view}static init_Selection(){this.define((({Int:i,Array:e,Dict:s})=>({indices:[e(i),[]],line_indices:[e(i),[]],multiline_indices:[s(e(i)),{}]}))),this.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})),[]]})))}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.selected_glyphs=i.selected_glyphs,this.view=i.view,this.multiline_indices=i.multiline_indices,this.image_indices=i.image_indices;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.view=null,this.selected_glyphs=[]}is_empty(){return 0==this.indices.length&&0==this.line_indices.length&&0==this.image_indices.length}update_through_union(i){this.indices=c.union(this.indices,i.indices),this.selected_glyphs=c.union(i.selected_glyphs,this.selected_glyphs),this.line_indices=c.union(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=h.merge(i.multiline_indices,this.multiline_indices)}update_through_intersection(i){this.indices=c.intersection(this.indices,i.indices),this.selected_glyphs=c.union(i.selected_glyphs,this.selected_glyphs),this.line_indices=c.union(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=h.merge(i.multiline_indices,this.multiline_indices)}update_through_subtraction(i){this.indices=c.difference(this.indices,i.indices),this.selected_glyphs=c.union(i.selected_glyphs,this.selected_glyphs),this.line_indices=c.union(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=h.merge(i.multiline_indices,this.multiline_indices)}}s.Selection=d,d.__name__=\"Selection\",d.init_Selection()},\n function _(e,t,s,n,i){n();const o=e(14),c=e(59),r=e(61),l=e(123);class p extends o.HasProps{constructor(e){super(e),this.inspectors=new Map}static init_SelectionManager(){this.internal((({AnyRef:e})=>({source:[e()]})))}select(e,t,s,n=\"replace\"){const i=[],o=[];for(const t of e)t instanceof r.GlyphRendererView?i.push(t):t instanceof l.GraphRendererView&&o.push(t);let c=!1;for(const e of o){const i=e.model.selection_policy.hit_test(t,e);c=c||e.model.selection_policy.do_selection(i,e.model,s,n)}if(i.length>0){const e=this.source.selection_policy.hit_test(t,i);c=c||this.source.selection_policy.do_selection(e,this.source,s,n)}return c}inspect(e,t){let s=!1;if(e instanceof r.GlyphRendererView){const n=e.hit_test(t);if(null!=n){s=!n.is_empty();const i=this.get_or_create_inspector(e.model);i.update(n,!0,\"replace\"),this.source.setv({inspected:i},{silent:!0}),this.source.inspect.emit([e.model,{geometry:t}])}}else if(e instanceof l.GraphRendererView){const n=e.model.inspection_policy.hit_test(t,e);s=s||e.model.inspection_policy.do_inspection(n,t,e,!1,\"replace\")}return s}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 c.Selection,this.inspectors.set(e,t)),t}}s.SelectionManager=p,p.__name__=\"SelectionManager\",p.init_SelectionManager()},\n function _(e,t,i,s,l){s();const h=e(62),n=e(63),o=e(116),a=e(117),c=e(119),d=e(98),_=e(57),r=e(120),p=e(24),g=e(12),u=e(9),y=e(13),m=e(122),v=e(104),f={fill:{},line:{}},w={fill:{fill_alpha:.3,fill_color:\"grey\"},line:{line_alpha:.3,line_color:\"grey\"}},b={fill:{fill_alpha:.2},line:{}};class V extends h.DataRendererView{get glyph_view(){return this.glyph}async lazy_initialize(){var e,t;await super.lazy_initialize();const i=this.model.glyph;this.glyph=await this.build_glyph_view(i);const s=\"fill\"in this.glyph.visuals,l=\"line\"in this.glyph.visuals,h=Object.assign({},i.attributes);function n(e){const t=y.clone(h);return s&&y.extend(t,e.fill),l&&y.extend(t,e.line),new i.constructor(t)}delete h.id;let{selection_glyph:o}=this.model;null==o?o=n({fill:{},line:{}}):\"auto\"==o&&(o=n(f)),this.selection_glyph=await this.build_glyph_view(o);let{nonselection_glyph:a}=this.model;null==a?a=n({fill:{},line:{}}):\"auto\"==a&&(a=n(b)),this.nonselection_glyph=await this.build_glyph_view(a);const{hover_glyph:c}=this.model;null!=c&&(this.hover_glyph=await this.build_glyph_view(c));const{muted_glyph:d}=this.model;null!=d&&(this.muted_glyph=await this.build_glyph_view(d));const _=n(w);this.decimated_glyph=await this.build_glyph_view(_),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),null===(t=this.muted_glyph)||void 0===t||t.set_base(this.glyph),this.decimated_glyph.set_base(this.glyph),this.set_data()}async build_glyph_view(e){return m.build_view(e,{parent:this})}remove(){var e,t;this.glyph.remove(),this.selection_glyph.remove(),this.nonselection_glyph.remove(),null===(e=this.hover_glyph)||void 0===e||e.remove(),null===(t=this.muted_glyph)||void 0===t||t.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),null!=this.muted_glyph&&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 p.Indices(l);for(let e=0;e<l;e+=s)this.decimated.set(e);this.plot_view.invalidate_dataranges=!0}set_visuals(){var e,t,i,s;const l=this.model.data_source,{all_indices:h}=this;this.glyph.set_visuals(l,h),this.decimated_glyph.set_visuals(l,h),null===(e=this.selection_glyph)||void 0===e||e.set_visuals(l,h),null===(t=this.nonselection_glyph)||void 0===t||t.set_visuals(l,h),null===(i=this.hover_glyph)||void 0===i||i.set_visuals(l,h),null===(s=this.muted_glyph)||void 0===s||s.set_visuals(l,h)}get has_webgl(){return this.glyph.has_webgl}_render(){const e=this.has_webgl;this.glyph.map_data();const t=[...this.all_indices];let i=[...this._update_masked_indices()];const{ctx:s}=this.layer;s.save();const{selected:l}=this.model.data_source;let h;h=!l||l.is_empty()?[]:this.glyph instanceof n.LineView&&l.selected_glyph===this.glyph.model?this.model.view.convert_indices_from_subset(i):l.indices;const{inspected:d}=this.model.data_source,_=new Set((()=>!d||d.is_empty()?[]:d.selected_glyph?this.model.view.convert_indices_from_subset(i):d.indices.length>0?d.indices:Object.keys(d.multiline_indices).map((e=>parseInt(e))))()),r=g.filter(i,(e=>_.has(t[e]))),{lod_threshold:p}=this.plot_model;let y,m,v;if(null!=this.model.document&&this.model.document.interactive_duration()>0&&!e&&null!=p&&t.length>p?(i=[...this.decimated],y=this.decimated_glyph,m=this.decimated_glyph,v=this.selection_glyph):(y=this.model.muted&&null!=this.muted_glyph?this.muted_glyph:this.glyph,m=this.nonselection_glyph,v=this.selection_glyph),null!=this.hover_glyph&&r.length&&(i=u.difference(i,r)),h.length){const e={};for(const t of h)e[t]=!0;const l=new Array,o=new Array;if(this.glyph instanceof n.LineView)for(const i of t)null!=e[i]?l.push(i):o.push(i);else for(const s of i)null!=e[t[s]]?l.push(s):o.push(s);m.render(s,o),v.render(s,l),null!=this.hover_glyph&&(this.glyph instanceof n.LineView?this.hover_glyph.render(s,this.model.view.convert_indices_from_subset(r)):this.hover_glyph.render(s,r))}else if(this.glyph instanceof n.LineView)this.hover_glyph&&r.length?this.hover_glyph.render(s,this.model.view.convert_indices_from_subset(r)):y.render(s,t);else if(this.glyph instanceof o.PatchView||this.glyph instanceof a.HAreaView||this.glyph instanceof c.VAreaView)if(0==d.selected_glyphs.length||null==this.hover_glyph)y.render(s,t);else for(const e of d.selected_glyphs)e==this.glyph.model&&this.hover_glyph.render(s,t);else y.render(s,i),this.hover_glyph&&r.length&&this.hover_glyph.render(s,r);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=V,V.__name__=\"GlyphRendererView\";class x extends h.DataRenderer{constructor(e){super(e)}static init_GlyphRenderer(){this.prototype.default_view=V,this.define((({Boolean:e,Auto:t,Or:i,Ref:s,Null:l,Nullable:h})=>({data_source:[s(_.ColumnarDataSource)],view:[s(r.CDSView),e=>new r.CDSView({source:e.data_source})],glyph:[s(d.Glyph)],hover_glyph:[h(s(d.Glyph)),null],nonselection_glyph:[i(s(d.Glyph),t,l),\"auto\"],selection_glyph:[i(s(d.Glyph),t,l),\"auto\"],muted_glyph:[h(s(d.Glyph)),null],muted:[e,!1]})))}initialize(){super.initialize(),this.view.source!=this.data_source&&(this.view.source=this.data_source,this.view.compute_indices())}get_reference_point(e,t){let i=0;if(null!=e){const s=this.data_source.get_column(e);if(null!=s)if(null==this.view){const e=g.indexOf(s,t);-1!=e&&(i=e)}else for(const[e,l]of Object.entries(this.view.indices_map))if(s[parseInt(e)]==t){i=l;break}}return i}get_selection_manager(){return this.data_source.selection_manager}}i.GlyphRenderer=x,x.__name__=\"GlyphRenderer\",x.init_GlyphRenderer()},\n function _(e,r,t,a,n){a();const s=e(41);class i extends s.RendererView{get xscale(){return this.coordinates.x_scale}get yscale(){return this.coordinates.y_scale}}t.DataRendererView=i,i.__name__=\"DataRendererView\";class _ extends s.Renderer{constructor(e){super(e)}static init_DataRenderer(){this.override({level:\"glyph\"})}get selection_manager(){return this.get_selection_manager()}}t.DataRenderer=_,_.__name__=\"DataRenderer\",_.init_DataRenderer()},\n function _(e,i,t,s,n){s();const l=e(1),_=e(64),r=e(106),o=e(108),h=l.__importStar(e(48)),a=l.__importStar(e(107)),c=e(59);class d extends _.XYGlyphView{initialize(){super.initialize();const{webgl:e}=this.renderer.plot_view.canvas_view;null!=e&&(this.glglyph=new o.LineGL(e.gl,this))}_render(e,i,t){const{sx:s,sy:n}=null!=t?t:this;let l=!1,_=null;this.visuals.line.set_value(e);for(const t of i){const i=s[t],r=n[t];if(l){if(!isFinite(i+r)){e.stroke(),e.beginPath(),l=!1,_=t;continue}null!=_&&t-_>1&&(e.stroke(),l=!1)}l?e.lineTo(i,r):(e.beginPath(),e.moveTo(i,r),l=!0),_=t}l&&e.stroke()}_hit_point(e){const i=new c.Selection,t={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<l;e++){const l={x:this.sx[e],y:this.sy[e]},_={x:this.sx[e+1],y:this.sy[e+1]},r=a.dist_to_segment(t,l,_);r<n&&r<s&&(s=r,i.add_to_selected_glyphs(this.model),i.view=this,i.line_indices=[e])}return i}_hit_span(e){const{sx:i,sy:t}=e,s=new c.Selection;let n,l;\"v\"==e.direction?(n=this.renderer.yscale.invert(t),l=this._y):(n=this.renderer.xscale.invert(i),l=this._x);for(let e=0,i=l.length-1;e<i;e++)(l[e]<=n&&n<=l[e+1]||l[e+1]<=n&&n<=l[e])&&(s.add_to_selected_glyphs(this.model),s.view=this,s.line_indices.push(e));return s}get_interpolation_hit(e,i){const[t,s,n,l]=[this._x[e],this._y[e],this._x[e+1],this._y[e+1]];return r.line_interpolation(this.renderer,i,t,s,n,l)}draw_legend_for_index(e,i,t){r.generic_line_scalar_legend(this.visuals,e,i)}}t.LineView=d,d.__name__=\"LineView\";class u extends _.XYGlyph{constructor(e){super(e)}static init_Line(){this.prototype.default_view=d,this.mixins(h.LineScalar)}}t.Line=u,u.__name__=\"Line\",u.init_Line()},\n function _(t,e,i,s,_){s();const n=t(1),a=t(65),p=n.__importStar(t(18)),y=t(98);class c extends y.GlyphView{_project_data(){a.inplace.project_xy(this._x,this._y)}_index_data(t){const{_x:e,_y:i,data_size:s}=this;for(let _=0;_<s;_++){const s=e[_],n=i[_];isNaN(s+n)||!isFinite(s+n)?t.add_empty():t.add(s,n,s,n)}}scenterxy(t){return[this.sx[t],this.sy[t]]}}i.XYGlyphView=c,c.__name__="XYGlyphView";class d extends y.Glyph{constructor(t){super(t)}static init_XYGlyph(){this.define((({})=>({x:[p.XCoordinateSpec,{field:"x"}],y:[p.YCoordinateSpec,{field:"y"}]})))}}i.XYGlyph=d,d.__name__="XYGlyph",d.init_XYGlyph()},n function _(n,t,e,o,r){o();const c=n(1),l=c.__importDefault(n(66)),i=c.__importDefault(n(67)),u=n(24),a=new i.default("GOOGLE"),s=new i.default("WGS84"),f=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=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 e<n&&n<o},function(n){function t(n,t,o,r){const c=g(n.length,t.length);o=null!=o?o:n,r=null!=r?r:t;for(let l=0;l<c;l++){const c=n[l],i=t[l],[u,a]=e.wgs84_mercator.compute(c,i);o[l]=u,r[l]=a}}n.project_xy=t,n.project_xsys=function(n,e,o,r){const c=g(n.length,e.length);o=null!=o?o:n,r=null!=r?r:e;for(let l=0;l<c;l++)t(n[l],e[l],o[l],r[l])}}(e.inplace||(e.inplace={})),e.project_xy=m,e.project_xsys=function(n,t){const e=g(n.length,t.length),o=new Array(e),r=new Array(e);for(let c=0;c<e;c++){const[e,l]=m(n[c],t[c]);o[c]=e,r[c]=l}return[o,r]}},n function _(e,n,t,r,o){r();const a=e(1),i=a.__importDefault(e(67)),c=a.__importDefault(e(92));var u=i.default("WGS84");function f(e,n,t){var r,o,a;return Array.isArray(t)?(r=c.default(e,n,t)||{x:NaN,y:NaN},t.length>2?void 0!==e.name&&"geocent"===e.name||void 0!==n.name&&"geocent"===n.name?"number"==typeof r.z?[r.x,r.y,r.z].concat(t.splice(3)):[r.x,r.y,t[2]].concat(t.splice(3)):[r.x,r.y].concat(t.splice(2)):[r.x,r.y]):(o=c.default(e,n,t),2===(a=Object.keys(t)).length||a.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;o[r]=t[r]})),o)}function l(e){return e instanceof i.default?e:e.oProj?e.oProj: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){return f(e,n,t)},inverse:function(t){return f(n,e,t)}},o&&(r.oProj=n),r)}},n function _(t,e,a,s,i){s();const u=t(1),l=u.__importDefault(t(68)),o=u.__importDefault(t(79)),r=u.__importDefault(t(80)),f=t(88),p=u.__importDefault(t(90)),d=u.__importDefault(t(91)),m=u.__importDefault(t(75));function n(t,e){if(!(this instanceof n))return new n(t);e=e||function(t){if(t)throw t};var a=l.default(t);if("object"==typeof a){var s=n.projections.get(a.projName);if(s){if(a.datumCode&&"none"!==a.datumCode){var i=m.default(p.default,a.datumCode);i&&(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";var u=f.sphere(a.a,a.b,a.rf,a.ellps,a.sphere),r=f.eccentricity(u.a,u.b,u.rf,a.R_A),h=a.datum||d.default(a.datumCode,a.datum_params,u.a,u.b,r.es,r.ep2);o.default(this,a),o.default(this,s),this.a=u.a,this.b=u.b,this.rf=u.rf,this.sphere=u.sphere,this.es=r.es,this.e=r.e,this.ep2=r.ep2,this.datum=h,this.init(),e(null,this)}else e(t)}else e(t)}n.projections=r.default,n.projections.start(),a.default=n},n function _(t,r,n,u,e){u();const f=t(1),i=f.__importDefault(t(69)),a=f.__importDefault(t(76)),o=f.__importDefault(t(71)),l=f.__importDefault(t(75));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=a.default(t);if(function(t){var r=l.default(t,"authority");if(r){var n=l.default(r,"epsg");return n&&d.indexOf(n)>-1}}(r))return i.default["EPSG:3857"];var n=function(t){var r=l.default(t,"extension");if(r)return l.default(r,"proj4")}(r);return n?o.default(n):r}return function(t){return"+"===t[0]}(t)?o.default(t):void 0}},n function _(t,r,i,e,n){e();const f=t(1),a=f.__importDefault(t(70)),l=f.__importDefault(t(71)),u=f.__importDefault(t(76));function o(t){var r=this;if(2===arguments.length){var i=arguments[1];"string"==typeof i?"+"===i.charAt(0)?o[t]=l.default(arguments[1]):o[t]=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}}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(72),i=e.__importDefault(t(73)),f=e.__importDefault(t(74)),l=e.__importDefault(t(75));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},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=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=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)}};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 _(P,A,_,D,I){D(),_.PJD_3PARAM=1,_.PJD_7PARAM=2,_.PJD_WGS84=4,_.PJD_NODATUM=5,_.SEC_TO_RAD=484813681109536e-20,_.HALF_PI=Math.PI/2,_.SIXTH=.16666666666666666,_.RA4=.04722222222222222,_.RA6=.022156084656084655,_.EPSLN=1e-10,_.D2R=.017453292519943295,_.R2D=57.29577951308232,_.FORTPI=Math.PI/4,_.TWO_PI=2*Math.PI,_.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;++f<a.length;)if((t=a[f]).toLowerCase().replace(o,"")===n)return e[t]}},n function _(e,t,a,o,d){o();const r=e(1);const n=r.__importDefault(e(77)),l=e(78);function i(e){return.017453292519943295*e}a.default=function(e){var t=n.default(e),a=t.shift(),o=t.shift();t.unshift(["name",o]),t.unshift(["type",a]);var d={};return l.sExpr(t,d),function(e){if("GEOGCS"===e.type?e.projName="longlat":"LOCAL_CS"===e.type?(e.projName="identity",e.local=!0):"object"==typeof e.PROJECTION?e.projName=Object.keys(e.PROJECTION)[0]:e.projName=e.PROJECTION,e.AXIS){for(var t="",a=0,o=e.AXIS.length;a<o;++a){var d=e.AXIS[a][0].toLowerCase();-1!==d.indexOf("north")?t+="n":-1!==d.indexOf("south")?t+="s":-1!==d.indexOf("east")?t+="e":-1!==d.indexOf("west")&&(t+="w")}2===t.length&&(t+="u"),3===t.length&&(e.axis=t)}e.UNIT&&(e.units=e.UNIT.name.toLowerCase(),"metre"===e.units&&(e.units="meter"),e.UNIT.convert&&("GEOGCS"===e.type?e.DATUM&&e.DATUM.SPHEROID&&(e.to_meter=e.UNIT.convert*e.DATUM.SPHEROID.a):e.to_meter=e.UNIT.convert));var r=e.GEOGCS;function n(t){return t*(e.to_meter||1)}"GEOGCS"===e.type&&(r=e),r&&(r.DATUM?e.datumCode=r.DATUM.name.toLowerCase():e.datumCode=r.name.toLowerCase(),"d_"===e.datumCode.slice(0,2)&&(e.datumCode=e.datumCode.slice(2)),"new_zealand_geodetic_datum_1949"!==e.datumCode&&"new_zealand_1949"!==e.datumCode||(e.datumCode="nzgd49"),"wgs_1984"!==e.datumCode&&"world_geodetic_system_1984"!==e.datumCode||("Mercator_Auxiliary_Sphere"===e.PROJECTION&&(e.sphere=!0),e.datumCode="wgs84"),"_ferro"===e.datumCode.slice(-6)&&(e.datumCode=e.datumCode.slice(0,-6)),"_jakarta"===e.datumCode.slice(-8)&&(e.datumCode=e.datumCode.slice(0,-8)),~e.datumCode.indexOf("belge")&&(e.datumCode="rnb72"),r.DATUM&&r.DATUM.SPHEROID&&(e.ellps=r.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),"international"===e.ellps.toLowerCase().slice(0,13)&&(e.ellps="intl"),e.a=r.DATUM.SPHEROID.a,e.rf=parseFloat(r.DATUM.SPHEROID.rf,10)),r.DATUM&&r.DATUM.TOWGS84&&(e.datum_params=r.DATUM.TOWGS84),~e.datumCode.indexOf("osgb_1936")&&(e.datumCode="osgb36"),~e.datumCode.indexOf("osni_1952")&&(e.datumCode="osni52"),(~e.datumCode.indexOf("tm65")||~e.datumCode.indexOf("geodetic_datum_of_1965"))&&(e.datumCode="ire65"),"ch1903+"===e.datumCode&&(e.datumCode="ch1903"),~e.datumCode.indexOf("israel")&&(e.datumCode="isr93")),e.b&&!isFinite(e.b)&&(e.b=e.a),[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_2","Standard_Parallel_2"],["false_easting","False_Easting"],["false_northing","False_Northing"],["central_meridian","Central_Meridian"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",i],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",i],["x0","false_easting",n],["y0","false_northing",n],["long0","central_meridian",i],["lat0","latitude_of_origin",i],["lat0","standard_parallel_1",i],["lat1","standard_parallel_1",i],["lat2","standard_parallel_2",i],["azimuth","Azimuth"],["alpha","azimuth",i],["srsCode","name"]].forEach((function(t){return a=e,d=(o=t)[0],r=o[1],void(!(d in a)&&r in a&&(a[d]=a[r],3===o.length&&(a[d]=o[2](a[d]))));var a,o,d,r})),e.long0||!e.longc||"Albers_Conic_Equal_Area"!==e.projName&&"Lambert_Azimuthal_Equal_Area"!==e.projName||(e.long0=e.longc),e.lat_ts||!e.lat1||"Stereographic_South_Pole"!==e.projName&&"Polar Stereographic (variant B)"!==e.projName||(e.lat0=i(e.lat1>0?90:-90),e.lat_ts=e.lat1)}(d),d}},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.place<this.text.length;)this.readCharicter();if(-1===this.state)return this.root;throw new Error(‘unable to parse string "’+this.text+’". State is ‘+this.state)}},n function _(e,a,r,s,c){function n(e,a,r){Array.isArray(a)&&(r.unshift(a),a=null);var s=a?{}:e,c=r.reduce((function(e,a){return E(a,e),e}),s);a&&(e[a]=c)}function E(e,a){if(Array.isArray(e)){var r=e.shift();if("PARAMETER"===r&&(r=e.shift()),1===e.length)return Array.isArray(e[0])?(a[r]={},void E(e[0],a[r])):void(a[r]=e[0]);if(e.length)if("TOWGS84"!==r){if("AXIS"===r)return r in a||(a[r]=[]),void a[r].push(e);var s;switch(Array.isArray(r)||(a[r]={}),r){case"UNIT":case"PRIMEM":case"VERT_DATUM":return a[r]={name:e[0].toLowerCase(),convert:e[1]},void(3===e.length&&E(e[2],a[r]));case"SPHEROID":case"ELLIPSOID":return a[r]={name:e[0],a:e[1],rf:e[2]},void(4===e.length&&E(e[3],a[r]));case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"EDATUM":case"ENGINEERINGDATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":case"COMPD_CS":case"COMPOUNDCRS":case"ENGINEERINGCRS":case"ENGCRS":case"FITTED_CS":case"LOCAL_DATUM":case"DATUM":return e[0]=["name",e[0]],void n(a,r,e);default:for(s=-1;++s<e.length;)if(!Array.isArray(e[s]))return E(e,a[r]);return n(a,r,e)}}else a[r]=e;else a[r]=!0}else a[e]=!0}s(),r.sExpr=E},n function _(n,r,f,i,t){i(),f.default=function(n,r){var f,i;if(n=n||{},!r)return n;for(i in r)void 0!==(f=r[i])&&(n[i]=f);return n}},n function _(t,o,a,e,n){e();const r=t(1),f=r.__importDefault(t(81)),u=r.__importDefault(t(87));var i=[f.default,u.default],c={},d=[];function s(t,o){var a=d.length;return t.names?(d[a]=t,t.names.forEach((function(t){c[t.toLowerCase()]=a})),this):(console.log(o),!0)}function l(t){if(!t)return!1;var o=t.toLowerCase();return void 0!==c[o]&&d[c[o]]?d[c[o]]:void 0}function v(){i.forEach(s)}a.add=s,a.get=l,a.start=v,a.default={start:v,add:s,get:l}},n function _(t,i,s,h,a){h();const e=t(1),r=e.__importDefault(t(82)),n=e.__importDefault(t(83)),l=e.__importDefault(t(85)),u=e.__importDefault(t(86)),o=t(72);function f(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=r.default(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function _(t){var i,s,h=t.x,a=t.y;if(a*o.R2D>90&&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*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=l.default(this.e,a,e);i=this.x0+this.a*this.k0*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=u.default(this.e,e)))return null}return i=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(72),_=e.__importDefault(t(84));u.default=function(t){return Math.abs(t)<=o.SPI?t:t-_.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(72);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(72);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(72),u=f.__importStar(t(89)),c=f.__importDefault(t(75));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=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)<i.EPSLN)&&(n=!0,r=t),{a:t,b:r,rf:e,sphere:n}}},n function _(e,a,l,s,r){s();var i={};l.default=i,i.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"},i.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},i.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},i.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"},i.airy={a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},i.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},i.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},i.mod_airy={a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},i.andrae={a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},i.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},i.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},i.bessel={a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},i.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},i.clrk66={a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},i.clrk80={a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},i.clrk58={a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},i.CPM={a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},i.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},i.engelis={a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},i.evrst30={a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},i.evrst48={a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},i.evrst56={a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},i.evrst69={a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},i.evrstSS={a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},i.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},i.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"},i.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"},i.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"},i.hough={a:6378270,rf:297,ellipseName:"Hough"},i.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},i.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"},i.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"},i.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"},i.new_intl={a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},i.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},i.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},i.SEasia={a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},i.walbeck={a:6376896,b:6355834.8467,ellipseName:"Walbeck"},i.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"},i.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"},i.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"},l.WGS84=i.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"},i.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}},n function _(e,a,s,t,l){t();var m={};s.default=m,m.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},m.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},m.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},m.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},m.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},m.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},m.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},m.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"},m.osni52={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},m.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},m.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},m.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},m.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},m.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},m.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},m.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},m.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}},n function _(a,m,_,t,u){t();const p=a(72);_.default=function(a,m,_,t,u,d){var r={};return r.datum_type=void 0===a||"none"===a?p.PJD_NODATUM:p.PJD_WGS84,m&&(r.datum_params=m.map(parseFloat),0===r.datum_params[0]&&0===r.datum_params[1]&&0===r.datum_params[2]||(r.datum_type=p.PJD_3PARAM),r.datum_params.length>3&&(0===r.datum_params[3]&&0===r.datum_params[4]&&0===r.datum_params[5]&&0===r.datum_params[6]||(r.datum_type=p.PJD_7PARAM,r.datum_params[3]*=p.SEC_TO_RAD,r.datum_params[4]*=p.SEC_TO_RAD,r.datum_params[5]*=p.SEC_TO_RAD,r.datum_params[6]=r.datum_params[6]/1e6+1))),r.a=_,r.b=t,r.es=u,r.ep2=d,r}},n function _(t,e,a,r,u){r();const m=t(1),_=t(72),o=m.__importDefault(t(93)),d=m.__importDefault(t(95)),f=m.__importDefault(t(67)),n=m.__importDefault(t(96)),i=m.__importDefault(t(97));a.default=function t(e,a,r){var u;if(Array.isArray(r)&&(r=n.default(r)),i.default(r),e.datum&&a.datum&&function(t,e){return(t.datum.datum_type===_.PJD_3PARAM||t.datum.datum_type===_.PJD_7PARAM)&&"WGS84"!==e.datumCode||(e.datum.datum_type===_.PJD_3PARAM||e.datum.datum_type===_.PJD_7PARAM)&&"WGS84"!==t.datumCode}(e,a)&&(r=t(e,u=new f.default("WGS84"),r),e=u),"enu"!==e.axis&&(r=d.default(e,!1,r)),"longlat"===e.projName)r={x:r.x*_.D2R,y:r.y*_.D2R,z:r.z||0};else if(e.to_meter&&(r={x:r.x*e.to_meter,y:r.y*e.to_meter,z:r.z||0}),!(r=e.inverse(r)))return;return e.from_greenwich&&(r.x+=e.from_greenwich),r=o.default(e.datum,a.datum,r),a.from_greenwich&&(r={x:r.x-a.from_greenwich,y:r.y,z:r.z||0}),"longlat"===a.projName?r={x:r.x*_.R2D,y:r.y*_.R2D,z:r.z||0}:(r=a.forward(r),a.to_meter&&(r={x:r.x/a.to_meter,y:r.y/a.to_meter,z:r.z||0})),"enu"!==a.axis?d.default(a,!0,r):r}},n function _(t,e,a,u,c){u();const m=t(72),o=t(94);function _(t){return t===m.PJD_3PARAM||t===m.PJD_7PARAM}a.default=function(t,e,a){return o.compareDatums(t,e)||t.datum_type===m.PJD_NODATUM||e.datum_type===m.PJD_NODATUM?a:t.es!==e.es||t.a!==e.a||_(t.datum_type)||_(e.datum_type)?(a=o.geodeticToGeocentric(a,t.es,t.a),_(t.datum_type)&&(a=o.geocentricToWgs84(a,t.datum_type,t.datum_params)),_(e.datum_type)&&(a=o.geocentricFromWgs84(a,e.datum_type,e.datum_params)),o.geocentricToGeodetic(a,e.es,e.a,e.b)):a}},n function _(a,t,r,m,s){m();const u=a(72);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/r<h){if(c=0,_/r<h)return u.HALF_PI,x=-m,{x:a.x,y:a.y,z:a.z}}else c=Math.atan2(I,f);e=F/_,P=(n=s/_)*(1-t)*(d=1/Math.sqrt(1-t*(2-t)*n*n)),y=e*d,A=0;do{A++,i=t*(p=r/Math.sqrt(1-t*y*y))/(p+(x=s*P+F*y-p*(1-t*y*y))),o=(M=e*(d=1/Math.sqrt(1-i*(2-i)*n*n)))*P-(z=n*(1-i)*d)*y,P=z,y=M}while(o*o>1e-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,t,s,i,n){i();const r=e(1),a=r.__importStar(e(18)),o=r.__importStar(e(99)),_=r.__importStar(e(45)),l=e(42),c=e(53),h=e(19),d=e(24),u=e(8),f=e(100),p=e(12),g=e(26),y=e(101),x=e(104),v=e(59),{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)||(e.beginPath(),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;e<r;e++){const i=t[e],n=s.get(e)/2,r=o(i-n),_=o(i+n);a[e]=b(_-r)}else for(let e=0;e<r;e++){const i=t[e],n=o(i),r=o(i+s.get(e));a[e]=b(r-n)}return n&&p.inplace_map(a,(e=>m(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,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&&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_range:n,y_range: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<o.length;e++)o[e]=_.v_synthetic(o[e]);let l;l=s instanceof a.CoordinateSeqSpec?f.RaggedArray.from(o,Float64Array):o,this._configure(_${s.attr},{value:l})}else{const i=s.uniform(e).select(t);if(this._configure(s,{value:i}),s instanceof a.DistanceSpec){const e=i.is_Scalar()?i.value:p.max(i.array);this._configure(max_${s.attr},{value:e})}}this.renderer.plot_view.model.use_map&&this._project_data(),this._set_data(null!=s?s:null),null===(i=this.glglyph)||void 0===i||i.set_data_changed(),this.index_data()}_set_data(e){}get _index_size(){return this.data_size}index_data(){const e=new y.SpatialIndex(this._index_size);this._index_data(e),e.finish(),this._index=e}mask_data(){return null==this._mask_data?d.Indices.all_set(this.data_size):this._mask_data()}map_data(){var e;const t=this,{x_scale:s,y_scale:i}=this.renderer.coordinates;for(const e of this.model)if(e instanceof a.BaseCoordinateSpec){const n="x"==e.dimension?s:i;let r=t[_${e.attr}];if(r instanceof f.RaggedArray){const e=n.v_compute(r.array);r=new f.RaggedArray(r.offsets,e)}else r=n.v_compute(r);this[s${e.attr}]=r}this._map_data(),null===(e=this.glglyph)||void 0===e||e.set_data_changed()}_map_data(){}}s.GlyphView=w,w.__name__="GlyphView";class S extends c.Model{constructor(e){super(e)}}s.Glyph=S,S.__name__="Glyph"},n function _(t,i,e,h,s){h();const r=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:s}=t;if(!(i<=h&&e<=s))throw new Error(invalid bbox {x0: ${i}, y0: ${e}, x1: ${h}, y1: ${s}});this.x0=i,this.y0=e,this.x1=h,this.y1=s}else if("x"in t){const{x:i,y:e,width:h,height:s}=t;if(!(h>=0&&s>=0))throw new Error(invalid bbox {x: ${i}, y: ${e}, width: ${h}, height: ${s}});this.x0=i,this.y0=e,this.x1=i+h,this.y1=e+s}else{let i,e,h,s;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,s=h+t.height;else if("bottom"in t)s=t.bottom,h=s-t.height;else{const i=t.height/2;h=t.vcenter-i,s=t.vcenter+i}else h=t.top,s=t.bottom;if(!(i<=e&&h<=s))throw new Error(invalid bbox {left: ${i}, top: ${h}, right: ${e}, bottom: ${s}});this.x0=i,this.y0=h,this.x1=e,this.y1=s}}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:s,height:r}=this;return new o({x:t+e,y:i+h,width:s,height:r})}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 t<this.x0?t=this.x0:t>this.x1&&(t=this.x1),i<this.y0?i=this.y0:i>this.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.x1<this.x0||t.x0>this.x1||t.y1<this.y0||t.y0>this.y1)}get xview(){return{compute:t=>this.left+t,v_compute:t=>{const i=new r.ScreenArray(t.length),e=this.left;for(let h=0;h<t.length;h++)i[h]=e+t[h];return i}}}get yview(){return{compute:t=>this.bottom-t,v_compute:t=>{const i=new r.ScreenArray(t.length),e=this.bottom;for(let h=0;h<t.length;h++)i[h]=e-t[h];return i}}}}e.BBox=o,o.__name__="BBox"},n function _(t,s,r,e,n){e();const a=t(26),o=t(11);class h{constructor(t,s){this.offsets=t,this.array=s}[a.equals](t,s){return s.arrays(this.offsets,t.offsets)&&s.arrays(this.array,t.array)}get length(){return this.offsets.length}clone(){return new h(this.offsets.slice(),this.array.slice())}static from(t,s){const r=t.length;let e=0;const n=(()=>{const s=new Uint32Array(r);for(let n=0;n<r;n++){const r=t[n].length;s[n]=e,e+=r}return e<256?new Uint8Array(s):e<65536?new Uint16Array(s):s})(),a=new s(e);for(let s=0;s<r;s++)a.set(t[s],n[s]);return new h(n,a)}*[Symbol.iterator](){const{offsets:t,length:s}=this;for(let r=0;r<s;r++)yield this.array.subarray(t[r],t[r+1])}_check_bounds(t){o.assert(0<=t&&t<this.length,`Out of bounds: 0 <= ${t} < ${this.length}`)}get(t){this._check_bounds(t);const{offsets:s}=this;return this.array.subarray(s[t],s[t+1])}set(t,s){this._check_bounds(t),this.array.set(s,this.offsets[t])}}r.RaggedArray=h,h.__name__="RaggedArray",h[Symbol.toStringTag]="RaggedArray"},n function _(n,i,t,e,s){e();const o=n(1).__importDefault(n(102)),d=n(24),x=n(99);function h(n,i){let t=0,e=i.length-1;for(;t<e;){const s=t+e>>1;i[s]>n?e=s:t=s+1}return i[t]}class r extends o.default{search_indices(n,i,t,e){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let s=this._boxes.length-4;const o=[],x=new d.Indices(this.numItems);for(;void 0!==s;){const d=Math.min(s+4*this.nodeSize,h(s,this._levelBounds));for(let h=s;h<d;h+=4){const d=0|this._indices[h>>2];t<this._boxes[h+0]||(e<this._boxes[h+1]||n>this._boxes[h+2]||i>this._boxes[h+3]||(s<4*this.numItems?x.set(d):o.push(d)))}s=o.pop()}return x}}r.__name__="_FlatBush";class l{constructor(n){this.index=null,n>0&&(this.index=new r(n))}add(n,i,t,e){var s;null===(s=this.index)||void 0===s||s.add(n,i,t,e)}add_empty(){var n;null===(n=this.index)||void 0===n||n.add(1/0,1/0,-1/0,-1/0)}finish(){var n;null===(n=this.index)||void 0===n||n.finish()}_normalize(n){let{x0:i,y0:t,x1:e,y1:s}=n;return i>e&&([i,e]=[e,i]),t>s&&([t,s]=[s,t]),{x0:i,y0:t,x1:e,y1:s}}get bbox(){if(null==this.index)return x.empty();{const{minX:n,minY:i,maxX:t,maxY:e}=this.index;return{x0:n,y0:i,x1:t,y1:e}}}indices(n){if(null==this.index)return new d.Indices(0);{const{x0:i,y0:t,x1:e,y1:s}=this._normalize(n);return this.index.search_indices(i,t,e,s)}}bounds(n){const i=x.empty();for(const t of this.indices(n)){const n=this.index._boxes,e=n[4*t+0],s=n[4*t+1],o=n[4*t+2],d=n[4*t+3];o<i.x0&&(i.x0=o),e>i.x1&&(i.x1=e),d<i.y0&&(i.y0=d),s>i.y1&&(i.y1=s)}return i}}t.SpatialIndex=l,l.__name__="SpatialIndex"},n function _(t,s,i,e,h){e();const n=t(1).__importDefault(t(103)),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,t<this.minX&&(this.minX=t),s<this.minY&&(this.minY=s),i>this.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<this.numItems;e++){let h=4*e;const n=this._boxes[h++],o=this._boxes[h++],r=this._boxes[h++],a=this._boxes[h++],_=Math.floor(65535*((n+r)/2-this.minX)/t),x=Math.floor(65535*((o+a)/2-this.minY)/s);i[e]=m(_,x)}x(i,this._boxes,this._indices,0,this.numItems-1,this.nodeSize);for(let t=0,s=0;t<this._levelBounds.length-1;t++){const i=this._levelBounds[t];for(;s<i;){const t=s;let e=1/0,h=1/0,n=-1/0,o=-1/0;for(let t=0;t<this.nodeSize&&s<i;t++)e=Math.min(e,this._boxes[s++]),h=Math.min(h,this._boxes[s++]),n=Math.max(n,this._boxes[s++]),o=Math.max(o,this._boxes[s++]);this._indices[this._pos>>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;_<a;_+=4){const a=0|this._indices[_>>2];i<this._boxes[_]||(e<this._boxes[_+1]||t>this._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<e;i+=4){const e=0|this._indices[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<s?s-t:t<=i?0:t-i}function _(t,s){let i=0,e=s.length-1;for(;i<e;){const h=i+e>>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);do{a–}while(t[a]>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<i;){let s=1+(h<<1);const i=s+1;let e=this.ids[s],l=this.values[s];const n=this.values[i];if(i<this.length&&n<l&&(s=i,e=this.ids[i],l=n),l>=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 _(t,n,e,i,s){i();const r=t(105),a=t(20),o=t(21),g=t(24),p=t(9),c=t(8),l=t(11);function u(t,n,e=0){const i=new Map;for(let s=0;s<t.length;s++){const r=t[s];if(i.has(r))throw new Error(duplicate factor or subfactor: ${r});i.set(r,{value:.5+s*(1+n)+e})}return[i,(t.length-1)*n]}function h(t,n,e,i=0){var s;const r=new Map,a=new Map;for(const[n,e]of t){const t=null!==(s=a.get(n))&&void 0!==s?s:[];a.set(n,[…t,e])}let o=i,g=0;for(const[t,i]of a){const s=i.length,[a,c]=u(i,e,o);g+=c;const l=p.sum(i.map((t=>a.get(t).value)));r.set(t,{value:l/s,mapping:a}),o+=s+n+c}return[r,(a.size-1)*n+g]}function d(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,c=0;for(const[t,s]of o){const r=s.length,[o,l]=h(s,e,i,g);c+=l;const u=p.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+c]}e.Factor=o.Or(o.String,o.Tuple(o.String,o.String),o.Tuple(o.String,o.String,o.String)),e.FactorSeq=o.Or(o.Array(o.String),o.Array(o.Tuple(o.String,o.String)),o.Array(o.Tuple(o.String,o.String,o.String))),e.map_one_level=u,e.map_two_levels=h,e.map_three_levels=d;class _ extends r.Range{constructor(t){super(t)}static init_FactorRange(){this.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:[a.PaddingUnits,"percent"],start:[t],end:[t]}))),this.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]})))}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:l.unreachable()}}synthetic(t){if(c.isNumber(t))return t;if(c.isString(t))return this._lookup([t]);let n=0;const e=t[t.length-1];return c.isNumber(e)&&(n=e,t=t.slice(0,-1)),this._lookup(t)+n}v_synthetic(t){const n=t.length,e=new g.ScreenArray(n);for(let i=0;i<n;i++)e[i]=this.synthetic(t[i]);return e}_init(t){const{levels:n,mapping:e,tops:i,mids:s,inside_padding:r}=(()=>{if(p.every(this.factors,c.isString)){const t=this.factors,[n,e]=u(t,this.factor_padding);return{levels:1,mapping:n,tops:null,mids:null,inside_padding:e}}if(p.every(this.factors,(t=>c.isArray(t)&&2==t.length&&c.isString(t[0])&&c.isString(t[1])))){const t=this.factors,[n,e]=h(t,this.group_padding,this.factor_padding),i=[…n.keys()];return{levels:2,mapping:n,tops:i,mids:null,inside_padding:e}}if(p.every(this.factors,(t=>c.isArray(t)&&3==t.length&&c.isString(t[0])&&c.isString(t[1])&&c.isString(t[2])))){const t=this.factors,[n,e]=d(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}}l.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=_,_.__name__="FactorRange",_.init_FactorRange()},n function _(e,t,i,n,s){n();const a=e(53);class l extends a.Model{constructor(e){super(e),this.have_updated_interactively=!1}static init_Range(){this.define((({Number:e,Tuple:t,Or:i,Auto:n,Nullable:s})=>({bounds:[s(i(t(s(e),s(e)),n)),null],min_interval:[s(e),null],max_interval:[s(e),null]}))),this.internal((({Array:e,AnyRef:t})=>({plots:[e(t()),[]]})))}get is_reversed(){return this.start>this.end}get is_valid(){return isFinite(this.min)&&isFinite(this.max)}}i.Range=l,l.__name__="Range",l.init_Range()},n function _(e,t,i,n,l){n();const o=e(1).__importStar(e(107));function a(e,t,{x0:i,x1:n,y0:l,y1:o},a){t.save(),t.beginPath(),t.moveTo(i,(l+o)/2),t.lineTo(n,(l+o)/2),e.line.doit&&(e.line.set_vectorize(t,a),t.stroke()),t.restore()}function r(e,t,{x0:i,x1:n,y0:l,y1:o},a){var r,c;const s=.1*Math.abs(n-i),_=.1*Math.abs(o-l),v=i+s,d=n-s,h=l+_,g=o-_;t.beginPath(),t.rect(v,h,d-v,g-h),e.fill.doit&&(e.fill.set_vectorize(t,a),t.fill()),(null===(r=e.hatch)||void 0===r?void 0:r.doit)&&(e.hatch.set_vectorize(t,a),t.fill()),(null===(c=e.line)||void 0===c?void 0:c.doit)&&(e.line.set_vectorize(t,a),t.stroke())}i.generic_line_scalar_legend=function(e,t,{x0:i,x1:n,y0:l,y1:o}){t.save(),t.beginPath(),t.moveTo(i,(l+o)/2),t.lineTo(n,(l+o)/2),e.line.doit&&(e.line.set_value(t),t.stroke()),t.restore()},i.generic_line_vector_legend=a,i.generic_line_legend=a,i.generic_area_scalar_legend=function(e,t,{x0:i,x1:n,y0:l,y1:o}){var a,r;const c=.1*Math.abs(n-i),s=.1*Math.abs(o-l),_=i+c,v=n-c,d=l+s,h=o-s;t.beginPath(),t.rect(_,d,v-_,h-d),e.fill.doit&&(e.fill.set_value(t),t.fill()),(null===(a=e.hatch)||void 0===a?void 0:a.doit)&&(e.hatch.set_value(t),t.fill()),(null===(r=e.line)||void 0===r?void 0:r.doit)&&(e.line.set_value(t),t.stroke())},i.generic_area_vector_legend=r,i.generic_area_legend=r,i.line_interpolation=function(e,t,i,n,l,a){const{sx:r,sy:c}=t;let s,_,v,d;"point"==t.type?([v,d]=e.yscale.r_invert(c-1,c+1),[s,_]=e.xscale.r_invert(r-1,r+1)):"v"==t.direction?([v,d]=e.yscale.r_invert(c,c),[s,_]=[Math.min(i-1,l-1),Math.max(i+1,l+1)]):([s,_]=e.xscale.r_invert(r,r),[v,d]=[Math.min(n-1,a-1),Math.max(n+1,a+1)]);const{x:h,y:g}=o.check_2_segments_intersect(s,v,_,d,i,n,l,a);return[h,g]}},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;u<e.length;u++){const c=e[u],_=i[u];o<n!=_<n&&s+(n-o)/(_-o)*(c-s)<t&&(r=!r),s=c,o=_}return r},e.point_in_ellipse=function(t,n,e,i,r,s,o){return((Math.cos(e)/r)**2+(Math.sin(e)/i)**2)*(t-s)**2+2*Math.cos(e)*Math.sin(e)*((1/r)**2-(1/i)**2)*(t-s)*(n-o)+((Math.cos(e)/i)**2+(Math.sin(e)/r)**2)*(n-o)**2<=1},e.dist_2_pts=s,e.dist_to_segment_squared=o,e.dist_to_segment=function(t,n,e){return Math.sqrt(o(t,n,e))},e.check_2_segments_intersect=function(t,n,e,i,r,s,o,u){const c=(u-s)*(e-t)-(o-r)*(i-n);if(0==c)return{hit:!1,x:null,y:null};{let _=n-s,h=t-r;const l=(e-t)*_-(i-n)*h;_=((o-r)*_-(u-s)*h)/c,h=l/c;return{hit:_>0&&_<1&&h>0&&h<1,x:t+_*(e-t),y:n+_*(i-n)}}}},n function _(t,e,s,i,a){i();const o=t(1),n=t(109),_=t(113),r=o.__importDefault(t(114)),h=o.__importDefault(t(115)),l=t(22),g=t(46);class u{constructor(t){this._atlas=new Map,this._width=256,this._height=256,this.tex=new n.Texture2d(t),this.tex.set_wrapping(t.REPEAT,t.REPEAT),this.tex.set_interpolation(t.NEAREST,t.NEAREST),this.tex.set_size([this._width,this._height],t.RGBA),this.tex.set_data([0,0],[this._width,this._height],new Uint8Array(4*this._width*this._height)),this.get_atlas_data([1])}get_atlas_data(t){const e=t.join("-");let s=this._atlas.get(e);if(null==s){const[i,a]=this.make_pattern(t),o=this._atlas.size;this.tex.set_data([0,o],[this._width,1],new Uint8Array(i.map((t=>t+10)))),s=[o/this._height,a],this._atlas.set(e,s)}return s}make_pattern(t){t.length>1&&t.length%2&&(t=t.concat(t));let e=0;for(const s of t)e+=s;const s=[];let i=0;for(let e=0,a=t.length+2;e<a;e+=2){const a=Math.max(1e-4,t[e%t.length]),o=Math.max(1e-4,t[(e+1)%t.length]);s.push(i,i+a),i+=a+o}const a=this._width,o=new Float32Array(4*a);for(let t=0,i=a;t<i;t++){let i,n,_;const r=e*t/(a-1);let h=0,l=1e16;for(let t=0,e=s.length;t<e;t++){const e=Math.abs(s[t]-r);e<l&&(h=t,l=e)}h%2==0?(_=r<=s[h]?1:0,n=s[h],i=s[h+1]):(_=r>s[h]?-1:0,n=s[h-1],i=s[h]),o[4*t+0]=s[h],o[4*t+1]=_,o[4*t+2]=n,o[4*t+3]=i}return[o,e]}}u.__name__="DashAtlas";const f={miter:0,round:1,bevel:2},c={"":0,none:0,".":0,round:1,")":1,"(":1,o:1,"triangle in":2,"<":2,"triangle out":3,">":3,square:4,"[":4,"]":4,"=":4,butt:5,"|\":5};class d extends _.BaseGLGlyph{constructor(t,e){super(t,e),this.glyph=e,this._scale_aspect=0;const s=r.default,i=h.default;this.prog=new n.Program(t),this.prog.set_shaders(s,i),this.index_buffer=new n.IndexBuffer(t),this.vbo_position=new n.VertexBuffer(t),this.vbo_tangents=new n.VertexBuffer(t),this.vbo_segment=new n.VertexBuffer(t),this.vbo_angles=new n.VertexBuffer(t),this.vbo_texcoord=new n.VertexBuffer(t),this.dash_atlas=new u(t)}draw(t,e,s){const i=e.glglyph;if(i.data_changed&&(i._set_data(),i.data_changed=!1),this.visuals_changed&&(this._set_visuals(),this.visuals_changed=!1),i._update_scale(1,1),this._scale_aspect=1,this.prog.set_attribute(\"a_position\",\"vec2\",i.vbo_position),this.prog.set_attribute(\"a_tangents\",\"vec4\",i.vbo_tangents),this.prog.set_attribute(\"a_segment\",\"vec2\",i.vbo_segment),this.prog.set_attribute(\"a_angles\",\"vec2\",i.vbo_angles),this.prog.set_attribute(\"a_texcoord\",\"vec2\",i.vbo_texcoord),this.prog.set_uniform(\"u_length\",\"float\",[i.cumsum]),this.prog.set_texture(\"u_dash_atlas\",this.dash_atlas.tex),this.prog.set_uniform(\"u_pixel_ratio\",\"float\",[s.pixel_ratio]),this.prog.set_uniform(\"u_canvas_size\",\"vec2\",[s.width,s.height]),this.prog.set_uniform(\"u_scale_aspect\",\"vec2\",[1,1]),this.prog.set_uniform(\"u_scale_length\",\"float\",[Math.sqrt(2)]),this.I_triangles=i.I_triangles,this.I_triangles.length<65535)this.index_buffer.set_size(2*this.I_triangles.length),this.index_buffer.set_data(0,new Uint16Array(this.I_triangles)),this.prog.draw(this.gl.TRIANGLES,this.index_buffer);else{t=Array.from(this.I_triangles);const e=this.I_triangles.length,s=64008,a=[];for(let t=0,i=Math.ceil(e/s);t<i;t++)a.push([]);for(let e=0,i=t.length;e<i;e++){const i=t[e]%s;a[Math.floor(t[e]/s)].push(i)}for(let t=0,e=a.length;t<e;t++){const e=new Uint16Array(a[t]),o=t*s*4;0!==e.length&&(this.prog.set_attribute(\"a_position\",\"vec2\",i.vbo_position,0,2*o),this.prog.set_attribute(\"a_tangents\",\"vec4\",i.vbo_tangents,0,4*o),this.prog.set_attribute(\"a_segment\",\"vec2\",i.vbo_segment,0,2*o),this.prog.set_attribute(\"a_angles\",\"vec2\",i.vbo_angles,0,2*o),this.prog.set_attribute(\"a_texcoord\",\"vec2\",i.vbo_texcoord,0,2*o),this.index_buffer.set_size(2*e.length),this.index_buffer.set_data(0,e),this.prog.draw(this.gl.TRIANGLES,this.index_buffer))}}}_set_data(){this._bake(),this.vbo_position.set_size(4*this.V_position.length),this.vbo_position.set_data(0,this.V_position),this.vbo_tangents.set_size(4*this.V_tangents.length),this.vbo_tangents.set_data(0,this.V_tangents),this.vbo_angles.set_size(4*this.V_angles.length),this.vbo_angles.set_data(0,this.V_angles),this.vbo_texcoord.set_size(4*this.V_texcoord.length),this.vbo_texcoord.set_data(0,this.V_texcoord)}_set_visuals(){const{line_color:t,line_alpha:e,line_width:s,line_cap:i,line_join:a,line_dash:o,line_dash_offset:n}=this.glyph.visuals.line,[_,r,h,u]=l.color2rgba(t.value,e.value),d=s.value,p=c[i.value],v=f[a.value];this.prog.set_uniform(\"u_color\",\"vec4\",[_/255,r/255,h/255,u/255]),this.prog.set_uniform(\"u_linewidth\",\"float\",[d]),this.prog.set_uniform(\"u_antialias\",\"float\",[.9]),this.prog.set_uniform(\"u_linecaps\",\"vec2\",[p,p]),this.prog.set_uniform(\"u_linejoin\",\"float\",[v]),this.prog.set_uniform(\"u_miter_limit\",\"float\",[10]);const b=g.resolve_line_dash(o.value);let m=0,w=1;b.length&&([m,w]=this.dash_atlas.get_atlas_data(b)),this.prog.set_uniform(\"u_dash_index\",\"float\",[m]),this.prog.set_uniform(\"u_dash_phase\",\"float\",[n.value]),this.prog.set_uniform(\"u_dash_period\",\"float\",[w]),this.prog.set_uniform(\"u_dash_caps\",\"vec2\",[p,p]),this.prog.set_uniform(\"u_closed\",\"float\",[0])}_bake(){let t,e,s,i,a,o,n,_;const r=this.nvertices,h=this.glyph.sx,l=this.glyph.sy,g=n=new Float32Array(2*r),u=new Float32Array(2*r),f=_=new Float32Array(4*r);for(let t=0,e=r;t<e;t++)g[2*t+0]=isFinite(h[t])?h[t]:0,g[2*t+1]=isFinite(l[t])?l[t]:0;this.tangents=e=new Float32Array(2*r-2);for(let t=0,s=r-1;t<s;t++)e[2*t+0]=n[2*(t+1)+0]-n[2*t+0],e[2*t+1]=n[2*(t+1)+1]-n[2*t+1];for(let t=0,s=r-1;t<s;t++)f[4*(t+1)+0]=e[2*t+0],f[4*(t+1)+1]=e[2*t+1],f[4*t+2]=e[2*t+0],f[4*t+3]=e[2*t+1];f[0]=e[0],f[1]=e[1],f[4*(r-1)+2]=e[2*(r-2)+0],f[4*(r-1)+3]=e[2*(r-2)+1];const c=new Float32Array(r);for(let t=0,e=r;t<e;t++)c[t]=Math.atan2(_[4*t+0]*_[4*t+3]-_[4*t+1]*_[4*t+2],_[4*t+0]*_[4*t+2]+_[4*t+1]*_[4*t+3]);for(let t=0,e=r-1;t<e;t++)u[2*t+0]=c[t],u[2*t+1]=c[t+1];for(let t=0,e=r;t<e;t++)isFinite(h[t])||(g[2*t+0]=h[t]),isFinite(l[t])||(g[2*t+1]=l[t]);const d=4*r-4;this.V_position=i=new Float32Array(2*d),this.V_angles=s=new Float32Array(2*d),this.V_tangents=a=new Float32Array(4*d),this.V_texcoord=o=new Float32Array(2*d);for(let t=0,e=r;t<e;t++)for(let e=0;e<4;e++){for(let a=0;a<2;a++)i[2*(4*t+e-2)+a]=g[2*t+a],s[2*(4*t+e)+a]=u[2*t+a];for(let s=0;s<4;s++)a[4*(4*t+e-2)+s]=f[4*t+s]}for(let t=0,e=r;t<e;t++)o[2*(4*t+0)+0]=-1,o[2*(4*t+1)+0]=-1,o[2*(4*t+2)+0]=1,o[2*(4*t+3)+0]=1,o[2*(4*t+0)+1]=-1,o[2*(4*t+1)+1]=1,o[2*(4*t+2)+1]=-1,o[2*(4*t+3)+1]=1;const p=6*(r-1);this.I_triangles=t=new Uint32Array(p);for(let e=0,s=r;e<s;e++)t[6*e+0]=0+4*e,t[6*e+1]=1+4*e,t[6*e+2]=3+4*e,t[6*e+3]=2+4*e,t[6*e+4]=0+4*e,t[6*e+5]=3+4*e}_update_scale(t,e){let s;const i=this.nvertices,a=4*i-4,o=this.tangents,n=new Float32Array(i-1),_=new Float32Array(2*i);this.V_segment=s=new Float32Array(2*a);for(let s=0,a=i-1;s<a;s++)n[s]=Math.sqrt((o[2*s+0]*t)**2+(o[2*s+1]*e)**2);let r=0;for(let t=0,e=i-1;t<e;t++)r+=n[t],_[2*(t+1)+0]=r,_[2*t+1]=r;for(let t=0,e=i;t<e;t++)for(let e=0;e<4;e++)for(let i=0;i<2;i++)s[2*(4*t+e)+i]=_[2*t+i];this.cumsum=r,this.vbo_segment.set_size(4*this.V_segment.length),this.vbo_segment.set_data(0,this.V_segment)}}s.LineGL=d,d.__name__=\"LineGL\"},\n function _(e,r,f,u,x){u(),x(\"Program\",e(110).Program),x(\"Texture2d\",e(112).Texture2d);var t=e(111);x(\"IndexBuffer\",t.IndexBuffer),x(\"VertexBuffer\",t.VertexBuffer)},\n function _(t,e,i,s,a){s();const r=t(111);class n{constructor(t){this.gl=t,this.UTYPEMAP={float:\"uniform1fv\",vec2:\"uniform2fv\",vec3:\"uniform3fv\",vec4:\"uniform4fv\",int:\"uniform1iv\",ivec2:\"uniform2iv\",ivec3:\"uniform3iv\",ivec4:\"uniform4iv\",bool:\"uniform1iv\",bvec2:\"uniform2iv\",bvec3:\"uniform3iv\",bvec4:\"uniform4iv\",mat2:\"uniformMatrix2fv\",mat3:\"uniformMatrix3fv\",mat4:\"uniformMatrix4fv\",sampler1D:\"uniform1i\",sampler2D:\"uniform1i\",sampler3D:\"uniform1i\"},this.ATYPEMAP={float:\"vertexAttrib1f\",vec2:\"vertexAttrib2f\",vec3:\"vertexAttrib3f\",vec4:\"vertexAttrib4f\"},this.ATYPEINFO={float:[1,5126],vec2:[2,5126],vec3:[3,5126],vec4:[4,5126],vec4_uint8:[4,5121]},this._linked=!1,this._validated=!1,this._unset_variables=new Set,this._known_invalid=new Set,this._locations=new Map,this._samplers=new Map,this._attributes=new Map,this.handle=this.gl.createProgram()}delete(){this.gl.deleteProgram(this.handle)}activate(){this.gl.useProgram(this.handle)}deactivate(){this.gl.useProgram(0)}set_shaders(t,e){const i=this.gl;this._linked=!1;const s=i.createShader(i.VERTEX_SHADER),a=i.createShader(i.FRAGMENT_SHADER),r=[[t,s,\"vertex\"],[e,a,\"fragment\"]];for(const[t,e,s]of r){i.shaderSource(e,t),i.compileShader(e);if(!i.getShaderParameter(e,i.COMPILE_STATUS)){const t=i.getShaderInfoLog(e);throw new Error(`errors in ${s} shader:\\n${t}`)}}if(i.attachShader(this.handle,s),i.attachShader(this.handle,a),i.linkProgram(this.handle),!i.getProgramParameter(this.handle,i.LINK_STATUS)){const t=i.getProgramInfoLog(this.handle);throw new Error(`Program link error:\\n${t}`)}this._unset_variables=this._get_active_attributes_and_uniforms(),i.detachShader(this.handle,s),i.detachShader(this.handle,a),i.deleteShader(s),i.deleteShader(a),this._known_invalid.clear(),this._linked=!0}_get_active_attributes_and_uniforms(){const t=this.gl;this._locations.clear();const e=new RegExp(\"(\\\\w+)\\\\s*(\\\\[(\\\\d+)\\\\])\\\\s*\"),i=t.getProgramParameter(this.handle,t.ACTIVE_UNIFORMS),s=[],a=[],r=[[s,t.getProgramParameter(this.handle,t.ACTIVE_ATTRIBUTES),t.getActiveAttrib,t.getAttribLocation],[a,i,t.getActiveUniform,t.getUniformLocation]];for(const[i,s,a,n]of r)for(let r=0;r<s;r+=1){const s=a.call(t,this.handle,r),o=s.name,h=o.match(e);if(null!=h){const t=h[1];for(let e=0;e<s.size;e+=1)i.push([`${t}[${e}]`,s.type])}else i.push([o,s.type]);this._locations.set(o,n.call(t,this.handle,o))}const n=new Set;for(const[t]of s)n.add(t);for(const[t]of a)n.add(t);return n}set_texture(t,e){var i;if(!this._linked)throw new Error(\"Cannot set uniform when program has no code\");const s=null!==(i=this._locations.get(t))&&void 0!==i?i:-1;if(s<0)this._known_invalid.has(t)||(this._known_invalid.add(t),console.log(`\"Variable ${t} is not an active texture`));else{this._unset_variables.has(t)&&this._unset_variables.delete(t),this.activate();{let i=this._samplers.size;this._samplers.has(t)&&(i=this._samplers.get(t)[2]),this._samplers.set(t,[e._target,e.handle,i]),this.gl.uniform1i(s,i)}}}set_uniform(t,e,i){var s;if(!this._linked)throw new Error(\"Cannot set uniform when program has no code\");const a=null!==(s=this._locations.get(t))&&void 0!==s?s:-1;if(a<0)return void(this._known_invalid.has(t)||(this._known_invalid.add(t),console.log(`Variable ${t} is not an active uniform`)));this._unset_variables.has(t)&&this._unset_variables.delete(t);let r=1;if(!e.startsWith(\"mat\")){const t=\"int\"==e||"bool"==e?"float":e.replace(/^ib/,"");r=Math.floor(i.length/this.ATYPEINFO[t][0])}if(r>1)for(let e=0;e<r;e+=1)if(this._unset_variables.has(${t}[${e}])){const i=`${t}[${e}]`;this._unset_variables.has(i)&&this._unset_variables.delete(i)}const n=this.UTYPEMAP[e];this.activate(),e.startsWith("mat")?this.gl[n](a,!1,i):this.gl[n](a,i)}set_attribute(t,e,i,s=0,a=0,n=!1){var o;if(!this._linked)throw new Error("Cannot set attribute when program has no code");const h=null!==(o=this._locations.get(t))&&void 0!==o?o:-1;if(h<0)this._known_invalid.has(t)||(this._known_invalid.add(t),i instanceof r.VertexBuffer&&a>0||console.log(Variable ${t} is not an active attribute));else if(this._unset_variables.has(t)&&this._unset_variables.delete(t),this.activate(),i instanceof r.VertexBuffer){const[r,o]=this.ATYPEINFO[e],l="vertexAttribPointer",_=[r,o,n,s,a];this._attributes.set(t,[i.handle,h,l,_])}else{const s=this.ATYPEMAP[e];this._attributes.set(t,[null,h,s,i])}}_pre_draw(){this.activate();for(const[t,e,i]of this._samplers.values())this.gl.activeTexture(this.gl.TEXTURE0+i),this.gl.bindTexture(t,e);for(const[t,e,i,s]of this._attributes.values())null!=t?(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,t),this.gl.enableVertexAttribArray(e),this.gl[i].apply(this.gl,[e,…s])):(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,null),this.gl.disableVertexAttribArray(e),this.gl[i].apply(this.gl,[e,…s]));this._validated||(this._validated=!0,this._validate())}_validate(){if(this._unset_variables.size&&console.log(Program has unset variables: ${this._unset_variables}),this.gl.validateProgram(this.handle),!this.gl.getProgramParameter(this.handle,this.gl.VALIDATE_STATUS))throw console.log(this.gl.getProgramInfoLog(this.handle)),new Error("Program validation error")}draw(t,e){if(!this._linked)throw new Error("Cannot draw program if code has not been set");if(e instanceof r.IndexBuffer){this._pre_draw(),e.activate();const i=e.buffer_size/2,s=this.gl.UNSIGNED_SHORT;this.gl.drawElements(t,i,s,0),e.deactivate()}else{const[i,s]=e;0!=s&&(this._pre_draw(),this.gl.drawArrays(t,i,s))}}}i.Program=n,n.__name__="Program"},n function _(t,e,s,i,a){i();class r{constructor(t){this.gl=t,this._usage=35048,this.buffer_size=0,this.handle=this.gl.createBuffer()}delete(){this.gl.deleteBuffer(this.handle)}activate(){this.gl.bindBuffer(this._target,this.handle)}deactivate(){this.gl.bindBuffer(this._target,null)}set_size(t){t!=this.buffer_size&&(this.activate(),this.gl.bufferData(this._target,t,this._usage),this.buffer_size=t)}set_data(t,e){this.activate(),this.gl.bufferSubData(this._target,t,e)}}s.Buffer=r,r.__name__="Buffer";class f extends r{constructor(){super(…arguments),this._target=34962}}s.VertexBuffer=f,f.__name__="VertexBuffer";class h extends r{constructor(){super(…arguments),this._target=34963}}s.IndexBuffer=h,h.__name__="IndexBuffer"},n function _(t,e,i,a,r){a();const s=t(11);class h{constructor(t){this.gl=t,this._target=3553,this._types={Int8Array:5120,Uint8Array:5121,Int16Array:5122,Uint16Array:5123,Int32Array:5124,Uint32Array:5125,Float32Array:5126},this.handle=this.gl.createTexture()}delete(){this.gl.deleteTexture(this.handle)}activate(){this.gl.bindTexture(this._target,this.handle)}deactivate(){this.gl.bindTexture(this._target,0)}_get_alignment(t){const e=[4,8,2,1];for(const i of e)if(t%i==0)return i;s.unreachable()}set_wrapping(t,e){this.activate(),this.gl.texParameterf(this._target,this.gl.TEXTURE_WRAP_S,t),this.gl.texParameterf(this._target,this.gl.TEXTURE_WRAP_T,e)}set_interpolation(t,e){this.activate(),this.gl.texParameterf(this._target,this.gl.TEXTURE_MIN_FILTER,t),this.gl.texParameterf(this._target,this.gl.TEXTURE_MAG_FILTER,e)}set_size([t,e],i){var a,r,s;t==(null===(a=this._shape_format)||void 0===a?void 0:a.width)&&e==(null===(r=this._shape_format)||void 0===r?void 0:r.height)&&i==(null===(s=this._shape_format)||void 0===s?void 0:s.format)||(this._shape_format={width:t,height:e,format:i},this.activate(),this.gl.texImage2D(this._target,0,i,t,e,0,i,this.gl.UNSIGNED_BYTE,null))}set_data(t,[e,i],a){this.activate();const{format:r}=this._shape_format,[s,h]=t,l=this._types[a.constructor.name];if(null==l)throw new Error(Type ${a.constructor.name} not allowed for texture);const _=this._get_alignment(e);4!=_&&this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,_),this.gl.texSubImage2D(this._target,0,s,h,e,i,r,l,a),4!=_&&this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,4)}}i.Texture2d=h,h.__name__="Texture2d"},n function _(e,t,s,i,h){i();class a{constructor(e,t){this.gl=e,this.glyph=t,this.nvertices=0,this.size_changed=!1,this.data_changed=!1,this.visuals_changed=!1}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 function _(n,e,t,a,i){a();t.default="\nprecision mediump float;\n\nconst float PI = 3.14159265358979323846264;\nconst float THETA = 15.0 * 3.14159265358979323846264/180.0;\n\nuniform float u_pixel_ratio;\nuniform vec2 u_canvas_size, u_offset;\nuniform vec2 u_scale_aspect;\nuniform float u_scale_length;\n\nuniform vec4 u_color;\nuniform float u_antialias;\nuniform float u_length;\nuniform float u_linewidth;\nuniform float u_dash_index;\nuniform float u_closed;\n\nattribute vec2 a_position;\nattribute vec4 a_tangents;\nattribute vec2 a_segment;\nattribute vec2 a_angles;\nattribute vec2 a_texcoord;\n\nvarying vec4 v_color;\nvarying vec2 v_segment;\nvarying vec2 v_angles;\nvarying vec2 v_texcoord;\nvarying vec2 v_miter;\nvarying float v_length;\nvarying float v_linewidth;\n\nfloat cross(in vec2 v1, in vec2 v2)\n{\n return v1.x*v2.y - v1.y*v2.x;\n}\n\nfloat signed_distance(in vec2 v1, in vec2 v2, in vec2 v3)\n{\n return cross(v2-v1,v1-v3) / length(v2-v1);\n}\n\nvoid rotate( in vec2 v, in float alpha, out vec2 result )\n{\n float c = cos(alpha);\n float s = sin(alpha);\n result = vec2( c*v.x - s*v.y,\n s*v.x + c*v.y );\n}\n\nvoid main()\n{\n bool closed = (u_closed > 0.0);\n\n // Attributes and uniforms to varyings\n v_color = u_color;\n v_linewidth = u_linewidth;\n v_segment = a_segment * u_scale_length;\n v_length = u_length * u_scale_length;\n\n // Scale to map to pixel coordinates. The original algorithm from the paper\n // assumed isotropic scale. We obviously do not have this.\n vec2 abs_scale_aspect = abs(u_scale_aspect);\n vec2 abs_scale = u_scale_length * abs_scale_aspect;\n\n // Correct angles for aspect ratio\n vec2 av;\n av = vec2(1.0, tan(a_angles.x)) / abs_scale_aspect;\n v_angles.x = atan(av.y, av.x);\n av = vec2(1.0, tan(a_angles.y)) / abs_scale_aspect;\n v_angles.y = atan(av.y, av.x);\n\n // Thickness below 1 pixel are represented using a 1 pixel thickness\n // and a modified alpha\n v_color.a = min(v_linewidth, v_color.a);\n v_linewidth = max(v_linewidth, 1.0);\n\n // If color is fully transparent we just will discard the fragment anyway\n if( v_color.a <= 0.0 ) {\n gl_Position = vec4(0.0,0.0,0.0,1.0);\n return;\n }\n\n // This is the actual half width of the line\n float w = ceil(u_antialias+v_linewidth)/2.0;\n\n vec2 position = a_position;\n\n vec2 t1 = normalize(a_tangents.xy * abs_scale_aspect); // note the scaling for aspect ratio here\n vec2 t2 = normalize(a_tangents.zw * abs_scale_aspect);\n float u = a_texcoord.x;\n float v = a_texcoord.y;\n vec2 o1 = vec2( +t1.y, -t1.x);\n vec2 o2 = vec2( +t2.y, -t2.x);\n\n // This is a join\n // —————————————————————-\n if( t1 != t2 ) {\n float angle = atan (t1.x*t2.y-t1.y*t2.x, t1.x*t2.x+t1.y*t2.y); // Angle needs recalculation for some reason\n vec2 t = normalize(t1+t2);\n vec2 o = vec2( + t.y, - t.x);\n\n if ( u_dash_index > 0.0 )\n {\n // Broken angle\n // —————————————————————-\n if( (abs(angle) > THETA) ) {\n position += v * w * o / cos(angle/2.0);\n float s = sign(angle);\n if( angle < 0.0 ) {\n if( u == +1.0 ) {\n u = v_segment.y + v * w * tan(angle/2.0);\n if( v == 1.0 ) {\n position -= 2.0 * w * t1 / sin(angle);\n u -= 2.0 * w / sin(angle);\n }\n } else {\n u = v_segment.x - v * w * tan(angle/2.0);\n if( v == 1.0 ) {\n position += 2.0 * w * t2 / sin(angle);\n u += 2.0*w / sin(angle);\n }\n }\n } else {\n if( u == +1.0 ) {\n u = v_segment.y + v * w * tan(angle/2.0);\n if( v == -1.0 ) {\n position += 2.0 * w * t1 / sin(angle);\n u += 2.0 * w / sin(angle);\n }\n } else {\n u = v_segment.x - v * w * tan(angle/2.0);\n if( v == -1.0 ) {\n position -= 2.0 * w * t2 / sin(angle);\n u -= 2.0*w / sin(angle);\n }\n }\n }\n // Continuous angle\n // ————————————————————\n } else {\n position += v * w * o / cos(angle/2.0);\n if( u == +1.0 ) u = v_segment.y;\n else u = v_segment.x;\n }\n }\n\n // Solid line\n // ——————————————————————–\n else\n {\n position.xy += v * w * o / cos(angle/2.0);\n if( angle < 0.0 ) {\n if( u == +1.0 ) {\n u = v_segment.y + v * w * tan(angle/2.0);\n } else {\n u = v_segment.x - v * w * tan(angle/2.0);\n }\n } else {\n if( u == +1.0 ) {\n u = v_segment.y + v * w * tan(angle/2.0);\n } else {\n u = v_segment.x - v * w * tan(angle/2.0);\n }\n }\n }\n\n // This is a line start or end (t1 == t2)\n // ————————————————————————\n } else {\n position += v * w * o1;\n if( u == -1.0 ) {\n u = v_segment.x - w;\n position -= w * t1;\n } else {\n u = v_segment.y + w;\n position += w * t2;\n }\n }\n\n // Miter distance\n // ————————————————————————\n vec2 t;\n vec2 curr = a_position * abs_scale;\n if( a_texcoord.x < 0.0 ) {\n vec2 next = curr + t2*(v_segment.y-v_segment.x);\n\n rotate( t1, +v_angles.x/2.0, t);\n v_miter.x = signed_distance(curr, curr+t, position);\n\n rotate( t2, +v_angles.y/2.0, t);\n v_miter.y = signed_distance(next, next+t, position);\n } else {\n vec2 prev = curr - t1*(v_segment.y-v_segment.x);\n\n rotate( t1, -v_angles.x/2.0,t);\n v_miter.x = signed_distance(prev, prev+t, position);\n\n rotate( t2, -v_angles.y/2.0,t);\n v_miter.y = signed_distance(curr, curr+t, position);\n }\n\n if (!closed && v_segment.x <= 0.0) {\n v_miter.x = 1e10;\n }\n if (!closed && v_segment.y >= v_length)\n {\n v_miter.y = 1e10;\n }\n\n v_texcoord = vec2( u, v*w );\n\n // Calculate position in device coordinates. Note that we\n // already scaled with abs scale above.\n vec2 normpos = position * sign(u_scale_aspect);\n normpos += 0.5; // make up for Bokeh’s offset\n normpos /= u_canvas_size / u_pixel_ratio; // in 0..1\n gl_Position = vec4(normpos*2.0-1.0, 0.0, 1.0);\n gl_Position.y = -1.0;\n}\n"},n function _(n,t,e,s,a){s();e.default="\nprecision mediump float;\n\nconst float PI = 3.14159265358979323846264;\nconst float THETA = 15.0 * 3.14159265358979323846264/180.0;\n\nuniform sampler2D u_dash_atlas;\n\nuniform vec2 u_linecaps;\nuniform float u_miter_limit;\nuniform float u_linejoin;\nuniform float u_antialias;\nuniform float u_dash_phase;\nuniform float u_dash_period;\nuniform float u_dash_index;\nuniform vec2 u_dash_caps;\nuniform float u_closed;\n\nvarying vec4 v_color;\nvarying vec2 v_segment;\nvarying vec2 v_angles;\nvarying vec2 v_texcoord;\nvarying vec2 v_miter;\nvarying float v_length;\nvarying float v_linewidth;\n\n// Compute distance to cap —————————————————-\nfloat cap( int type, float dx, float dy, float t, float linewidth )\n{\n float d = 0.0;\n dx = abs(dx);\n dy = abs(dy);\n if (type == 0) discard; // None\n else if (type == 1) d = sqrt(dx*dx+dy*dy); // Round\n else if (type == 3) d = (dx+abs(dy)); // Triangle in\n else if (type == 2) d = max(abs(dy),(t+dx-abs(dy))); // Triangle out\n else if (type == 4) d = max(dx,dy); // Square\n else if (type == 5) d = max(dx+t,dy); // Butt\n return d;\n}\n\n// Compute distance to join ————————————————-\nfloat join( in int type, in float d, in vec2 segment, in vec2 texcoord, in vec2 miter,\n in float linewidth )\n{\n // texcoord.x is distance from start\n // texcoord.y is distance from centerline\n // segment.x and y indicate the limits (as for texcoord.x) for this segment\n\n float dx = texcoord.x;\n\n // Round join\n if( type == 1 ) {\n if (dx < segment.x) {\n d = max(d,length( texcoord - vec2(segment.x,0.0)));\n //d = length( texcoord - vec2(segment.x,0.0));\n } else if (dx > segment.y) {\n d = max(d,length( texcoord - vec2(segment.y,0.0)));\n //d = length( texcoord - vec2(segment.y,0.0));\n }\n }\n // Bevel join\n else if ( type == 2 ) {\n if (dx < segment.x) {\n vec2 x = texcoord - vec2(segment.x,0.0);\n d = max(d, max(abs(x.x), abs(x.y)));\n\n } else if (dx > segment.y) {\n vec2 x = texcoord - vec2(segment.y,0.0);\n d = max(d, max(abs(x.x), abs(x.y)));\n }\n / Original code for bevel which does not work for us\n if( (dx < segment.x) || (dx > segment.y) )\n d = max(d, min(abs(x.x),abs(x.y)));\n /\n }\n\n return d;\n}\n\nvoid main()\n{\n // If color is fully transparent we just discard the fragment\n if( v_color.a <= 0.0 ) {\n discard;\n }\n\n // Test if dash pattern is the solid one (0)\n bool solid = (u_dash_index == 0.0);\n\n // Test if path is closed\n bool closed = (u_closed > 0.0);\n\n vec4 color = v_color;\n float dx = v_texcoord.x;\n float dy = v_texcoord.y;\n float t = v_linewidth/2.0-u_antialias;\n float width = 1.0; //v_linewidth; original code had dashes scale with line width, we do not\n float d = 0.0;\n\n vec2 linecaps = u_linecaps;\n vec2 dash_caps = u_dash_caps;\n float line_start = 0.0;\n float line_stop = v_length;\n\n // Apply miter limit; fragments too far into the miter are simply discarded\n if( (dx < v_segment.x) || (dx > v_segment.y) ) {\n float into_miter = max(v_segment.x - dx, dx - v_segment.y);\n if (into_miter > u_miter_limit*v_linewidth/2.0)\n discard;\n }\n\n // Solid line ————————————————————–\n if( solid ) {\n d = abs(dy);\n if( (!closed) && (dx < line_start) ) {\n d = cap( int(u_linecaps.x), abs(dx), abs(dy), t, v_linewidth );\n }\n else if( (!closed) && (dx > line_stop) ) {\n d = cap( int(u_linecaps.y), abs(dx)-line_stop, abs(dy), t, v_linewidth );\n }\n else {\n d = join( int(u_linejoin), abs(dy), v_segment, v_texcoord, v_miter, v_linewidth );\n }\n\n // Dash line ————————————————————–\n } else {\n float segment_start = v_segment.x;\n float segment_stop = v_segment.y;\n float segment_center= (segment_start+segment_stop)/2.0;\n float freq = u_dash_period*width;\n float u = mod( dx + u_dash_phase*width, freq);\n vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0; // conversion to int-like\n float dash_center= tex.x * width;\n float dash_type = tex.y;\n float _start = tex.z * width;\n float _stop = tex.a * width;\n float dash_start = dx - u + _start;\n float dash_stop = dx - u + _stop;\n\n // Compute extents of the first dash (the one relative to v_segment.x)\n // Note: this could be computed in the vertex shader\n if( (dash_stop < segment_start) && (dash_caps.x != 5.0) ) {\n float u = mod(segment_start + u_dash_phase*width, freq);\n vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0; // conversion to int-like\n dash_center= tex.x * width;\n //dash_type = tex.y;\n float _start = tex.z * width;\n float _stop = tex.a * width;\n dash_start = segment_start - u + _start;\n dash_stop = segment_start - u + _stop;\n }\n\n // Compute extents of the last dash (the one relatives to v_segment.y)\n // Note: This could be computed in the vertex shader\n else if( (dash_start > segment_stop) && (dash_caps.y != 5.0) ) {\n float u = mod(segment_stop + u_dash_phase*width, freq);\n vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0; // conversion to int-like\n dash_center= tex.x * width;\n //dash_type = tex.y;\n float _start = tex.z * width;\n float _stop = tex.a * width;\n dash_start = segment_stop - u + _start;\n dash_stop = segment_stop - u + _stop;\n }\n\n // This test if the we are dealing with a discontinuous angle\n bool discontinuous = ((dx < segment_center) && abs(v_angles.x) > THETA) ||\n ((dx >= segment_center) && abs(v_angles.y) > THETA);\n //if( dx < line_start) discontinuous = false;\n //if( dx > line_stop) discontinuous = false;\n\n float d_join = join( int(u_linejoin), abs(dy),\n v_segment, v_texcoord, v_miter, v_linewidth );\n\n // When path is closed, we do not have room for linecaps, so we make room\n // by shortening the total length\n if (closed) {\n line_start += v_linewidth/2.0;\n line_stop -= v_linewidth/2.0;\n }\n\n // We also need to take antialias area into account\n //line_start += u_antialias;\n //line_stop -= u_antialias;\n\n // Check is dash stop is before line start\n if( dash_stop <= line_start ) {\n discard;\n }\n // Check is dash start is beyond line stop\n if( dash_start >= line_stop ) {\n discard;\n }\n\n // Check if current dash start is beyond segment stop\n if( discontinuous ) {\n // Dash start is beyond segment, we discard\n if( (dash_start > segment_stop) ) {\n discard;\n //gl_FragColor = vec4(1.0,0.0,0.0,.25); return;\n }\n\n // Dash stop is before segment, we discard\n if( (dash_stop < segment_start) ) {\n discard; //gl_FragColor = vec4(0.0,1.0,0.0,.25); return;\n }\n\n // Special case for round caps (nicer with this)\n if( dash_caps.x == 1.0 ) {\n if( (u > _stop) && (dash_stop > segment_stop ) && (abs(v_angles.y) < PI/2.0)) {\n discard;\n }\n }\n\n // Special case for round caps (nicer with this)\n if( dash_caps.y == 1.0 ) {\n if( (u < _start) && (dash_start < segment_start ) && (abs(v_angles.x) < PI/2.0)) {\n discard;\n }\n }\n\n // Special case for triangle caps (in & out) and square\n // We make sure the cap stop at crossing frontier\n if( (dash_caps.x != 1.0) && (dash_caps.x != 5.0) ) {\n if( (dash_start < segment_start ) && (abs(v_angles.x) < PI/2.0) ) {\n float a = v_angles.x/2.0;\n float x = (segment_start-dx)*cos(a) - dy*sin(a);\n float y = (segment_start-dx)*sin(a) + dy*cos(a);\n if( x > 0.0 ) discard;\n // We transform the cap into square to avoid holes\n dash_caps.x = 4.0;\n }\n }\n\n // Special case for triangle caps (in & out) and square\n // We make sure the cap stop at crossing frontier\n if( (dash_caps.y != 1.0) && (dash_caps.y != 5.0) ) {\n if( (dash_stop > segment_stop ) && (abs(v_angles.y) < PI/2.0) ) {\n float a = v_angles.y/2.0;\n float x = (dx-segment_stop)*cos(a) - dy*sin(a);\n float y = (dx-segment_stop)*sin(a) + dy*cos(a);\n if( x > 0.0 ) discard;\n // We transform the caps into square to avoid holes\n dash_caps.y = 4.0;\n }\n }\n }\n\n // Line cap at start\n if( (dx < line_start) && (dash_start < line_start) && (dash_stop > line_start) ) {\n d = cap( int(linecaps.x), dx-line_start, dy, t, v_linewidth);\n }\n // Line cap at stop\n else if( (dx > line_stop) && (dash_stop > line_stop) && (dash_start < line_stop) ) {\n d = cap( int(linecaps.y), dx-line_stop, dy, t, v_linewidth);\n }\n // Dash cap left - dash_type = -1, 0 or 1, but there may be roundoff errors\n else if( dash_type < -0.5 ) {\n d = cap( int(dash_caps.y), abs(u-dash_center), dy, t, v_linewidth);\n if( (dx > line_start) && (dx < line_stop) )\n d = max(d,d_join);\n }\n // Dash cap right\n else if( dash_type > 0.5 ) {\n d = cap( int(dash_caps.x), abs(dash_center-u), dy, t, v_linewidth);\n if( (dx > line_start) && (dx < line_stop) )\n d = max(d,d_join);\n }\n // Dash body (plain)\n else {// if( dash_type > -0.5 && dash_type < 0.5) {\n d = abs(dy);\n }\n\n // Line join\n if( (dx > line_start) && (dx < line_stop)) {\n if( (dx <= segment_start) && (dash_start <= segment_start)\n && (dash_stop >= segment_start) ) {\n d = d_join;\n // Antialias at outer border\n float angle = PI/2.+v_angles.x;\n float f = abs( (segment_start - dx)*cos(angle) - dy*sin(angle));\n d = max(f,d);\n }\n else if( (dx > segment_stop) && (dash_start <= segment_stop)\n && (dash_stop >= segment_stop) ) {\n d = d_join;\n // Antialias at outer border\n float angle = PI/2.+v_angles.y;\n float f = abs((dx - segment_stop)*cos(angle) - dy*sin(angle));\n d = max(f,d);\n }\n else if( dx < (segment_start - v_linewidth/2.)) {\n discard;\n }\n else if( dx > (segment_stop + v_linewidth/2.)) {\n discard;\n }\n }\n else if( dx < (segment_start - v_linewidth/2.)) {\n discard;\n }\n else if( dx > (segment_stop + v_linewidth/2.)) {\n discard;\n }\n }\n\n // Distance to border ——————————————————\n d = d - t;\n if( d < 0.0 ) {\n gl_FragColor = color;\n } else {\n d /= u_antialias;\n gl_FragColor = vec4(color.rgb, exp(-d*d)*color.a);\n }\n}\n"},n function _(i,t,s,e,l){e();const a=i(1),n=i(64),_=i(106),o=a.__importStar(i(107)),h=a.__importStar(i(48)),c=i(59);class r extends n.XYGlyphView{_inner_loop(i,t,s,e,l){for(const a of t){const t=s[a],n=e[a];0!=a?isNaN(t+n)?(i.closePath(),l.apply(i),i.beginPath()):i.lineTo(t,n):(i.beginPath(),i.moveTo(t,n))}i.closePath(),l.call(i)}_render(i,t,s){const{sx:e,sy:l}=null!=s?s:this;this.visuals.fill.doit&&(this.visuals.fill.set_value(i),this._inner_loop(i,t,e,l,i.fill)),this.visuals.hatch.doit&&(this.visuals.hatch.set_value(i),this._inner_loop(i,t,e,l,i.fill)),this.visuals.line.doit&&(this.visuals.line.set_value(i),this._inner_loop(i,t,e,l,i.stroke))}draw_legend_for_index(i,t,s){_.generic_area_scalar_legend(this.visuals,i,t)}_hit_point(i){const t=new c.Selection;return o.point_in_poly(i.sx,i.sy,this.sx,this.sy)&&(t.add_to_selected_glyphs(this.model),t.view=this),t}}s.PatchView=r,r.__name__="PatchView";class p extends n.XYGlyph{constructor(i){super(i)}static init_Patch(){this.prototype.default_view=r,this.mixins([h.LineScalar,h.FillScalar,h.HatchScalar])}}s.Patch=p,p.__name__="Patch",p.init_Patch()},n function _(t,e,s,i,n){i();const a=t(1),r=t(24),h=t(118),_=a.__importStar(t(107)),l=a.__importStar(t(18)),o=t(59);class c extends h.AreaView{_index_data(t){const{min:e,max:s}=Math,{data_size:i}=this;for(let n=0;n<i;n++){const i=this._x1[n],a=this._x2[n],r=this._y[n];isNaN(i+a+r)||!isFinite(i+a+r)?t.add_empty():t.add(e(i,a),r,s(i,a),r)}}_inner(t,e,s,i,n){t.beginPath();for(let s=0,n=e.length;s<n;s++)t.lineTo(e[s],i[s]);for(let e=s.length-1;e>=0;e–)t.lineTo(s[e],i[e]);t.closePath(),n.call(t)}_render(t,e,s){const{sx1:i,sx2:n,sy:a}=null!=s?s:this;this.visuals.fill.doit&&(this.visuals.fill.set_value(t),this._inner(t,i,n,a,t.fill)),this.visuals.hatch.doit&&(this.visuals.hatch.set_value(t),this._inner(t,i,n,a,t.fill))}_hit_point(t){const e=this.sy.length,s=new r.ScreenArray(2*e),i=new r.ScreenArray(2*e);for(let t=0,n=e;t<n;t++)s[t]=this.sx1[t],i[t]=this.sy[t],s[e+t]=this.sx2[e-t-1],i[e+t]=this.sy[e-t-1];const n=new o.Selection;return _.point_in_poly(t.sx,t.sy,s,i)&&(n.add_to_selected_glyphs(this.model),n.view=this),n}scenterxy(t){return[(this.sx1[t]+this.sx2[t])/2,this.sy[t]]}_map_data(){this.sx1=this.renderer.xscale.v_compute(this._x1),this.sx2=this.renderer.xscale.v_compute(this._x2),this.sy=this.renderer.yscale.v_compute(this._y)}}s.HAreaView=c,c.__name__="HAreaView";class d extends h.Area{constructor(t){super(t)}static init_HArea(){this.prototype.default_view=c,this.define((({})=>({x1:[l.XCoordinateSpec,{field:"x1"}],x2:[l.XCoordinateSpec,{field:"x2"}],y:[l.YCoordinateSpec,{field:"y"}]})))}}s.HArea=d,d.__name__="HArea",d.init_HArea()},n function _(e,a,_,i,r){i();const s=e(1),n=e(98),t=e(106),c=s.__importStar(e(48));class l extends n.GlyphView{draw_legend_for_index(e,a,_){t.generic_area_scalar_legend(this.visuals,e,a)}}_.AreaView=l,l.__name__="AreaView";class d extends n.Glyph{constructor(e){super(e)}static init_Area(){this.mixins([c.FillScalar,c.HatchScalar])}}_.Area=d,d.__name__="Area",d.init_Area()},n function _(t,e,s,i,n){i();const a=t(1),r=t(24),h=t(118),_=a.__importStar(t(107)),l=a.__importStar(t(18)),o=t(59);class c extends h.AreaView{_index_data(t){const{min:e,max:s}=Math,{data_size:i}=this;for(let n=0;n<i;n++){const i=this._x[n],a=this._y1[n],r=this._y2[n];isNaN(i+a+r)||!isFinite(i+a+r)?t.add_empty():t.add(i,e(a,r),i,s(a,r))}}_inner(t,e,s,i,n){t.beginPath();for(let i=0,n=s.length;i<n;i++)t.lineTo(e[i],s[i]);for(let s=i.length-1;s>=0;s–)t.lineTo(e[s],i[s]);t.closePath(),n.call(t)}_render(t,e,s){const{sx:i,sy1:n,sy2:a}=null!=s?s:this;this.visuals.fill.doit&&(this.visuals.fill.set_value(t),this._inner(t,i,n,a,t.fill)),this.visuals.hatch.doit&&(this.visuals.hatch.set_value(t),this._inner(t,i,n,a,t.fill))}scenterxy(t){return[this.sx[t],(this.sy1[t]+this.sy2[t])/2]}_hit_point(t){const e=this.sx.length,s=new r.ScreenArray(2*e),i=new r.ScreenArray(2*e);for(let t=0,n=e;t<n;t++)s[t]=this.sx[t],i[t]=this.sy1[t],s[e+t]=this.sx[e-t-1],i[e+t]=this.sy2[e-t-1];const n=new o.Selection;return _.point_in_poly(t.sx,t.sy,s,i)&&(n.add_to_selected_glyphs(this.model),n.view=this),n}_map_data(){this.sx=this.renderer.xscale.v_compute(this._x),this.sy1=this.renderer.yscale.v_compute(this._y1),this.sy2=this.renderer.yscale.v_compute(this._y2)}}s.VAreaView=c,c.__name__="VAreaView";class d extends h.Area{constructor(t){super(t)}static init_VArea(){this.prototype.default_view=c,this.define((({})=>({x:[l.XCoordinateSpec,{field:"x"}],y1:[l.YCoordinateSpec,{field:"y1"}],y2:[l.YCoordinateSpec,{field:"y2"}]})))}}s.VArea=d,d.__name__="VArea",d.init_VArea()},n function _(i,e,s,t,n){t();const c=i(53),o=i(59),r=i(24),a=i(121),u=i(57);class _ extends c.Model{constructor(i){super(i)}static init_CDSView(){this.define((({Array:i,Ref:e})=>({filters:[i(e(a.Filter)),[]],source:[e(u.ColumnarDataSource)]}))),this.internal((({Int:i,Dict:e,Ref:s,Nullable:t})=>({indices:[s(r.Indices)],indices_map:[e(i),{}],masked:[t(s(r.Indices)),null]})))}initialize(){super.initialize(),this.compute_indices()}connect_signals(){super.connect_signals(),this.connect(this.properties.filters.change,(()=>this.compute_indices()));const i=()=>{const i=()=>this.compute_indices();null!=this.source&&(this.connect(this.source.change,i),this.source instanceof u.ColumnarDataSource&&(this.connect(this.source.streaming,i),this.connect(this.source.patching,i)))};let e=null!=this.source;e?i():this.connect(this.properties.source.change,(()=>{e||(i(),e=!0)}))}compute_indices(){var i;const{source:e}=this;if(null==e)return;const s=null!==(i=e.get_length())&&void 0!==i?i:1,t=r.Indices.all_set(s);for(const i of this.filters)t.intersect(i.compute_indices(e));this.indices=t,this._indices=[…t],this.indices_map_to_subset()}indices_map_to_subset(){this.indices_map={};for(let i=0;i<this._indices.length;i++)this.indices_map[this._indices[i]]=i}convert_selection_from_subset(i){const e=i.indices.map((i=>this._indices[i]));return new o.Selection(Object.assign(Object.assign({},i.attributes),{indices:e}))}convert_selection_to_subset(i){const e=i.indices.map((i=>this.indices_map[i]));return new o.Selection(Object.assign(Object.assign({},i.attributes),{indices:e}))}convert_indices_from_subset(i){return i.map((i=>this._indices[i]))}}s.CDSView=_,_.__name__="CDSView",_.init_CDSView()},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 _(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=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,r,n,t,i){t();const s=e(62),o=e(61),l=e(124),d=e(125),a=e(126),p=e(122),_=e(64),h=e(127),c=e(128),u=e(11);class y extends s.DataRendererView{get glyph_view(){return this.node_view.glyph}async lazy_initialize(){await super.lazy_initialize();const e=this.model;let r=null,n=null;const t=new class extends l.Expression{_v_compute(n){u.assert(null==r);const[t]=r=e.layout_provider.get_edge_coordinates(n);return t}},i=new class extends l.Expression{_v_compute(e){u.assert(null!=r);const[,n]=r;return r=null,n}},s=new class extends l.Expression{_v_compute(r){u.assert(null==n);const[t]=n=e.layout_provider.get_node_coordinates(r);return t}},o=new class extends l.Expression{_v_compute(e){u.assert(null!=n);const[,r]=n;return n=null,r}},{edge_renderer:d,node_renderer:a}=this.model;if(!(d.glyph instanceof h.MultiLine||d.glyph instanceof c.Patches))throw new Error(`${this}.edge_renderer.glyph must be a MultiLine glyph`);if(!(a.glyph instanceof _.XYGlyph))throw new Error(`${this}.node_renderer.glyph must be a XYGlyph glyph`);d.glyph.properties.xs.internal=!0,d.glyph.properties.ys.internal=!0,a.glyph.properties.x.internal=!0,a.glyph.properties.y.internal=!0,d.glyph.xs={expr:t},d.glyph.ys={expr:i},a.glyph.x={expr:s},a.glyph.y={expr:o};const{parent:y}=this;this.edge_view=await p.build_view(d,{parent:y}),this.node_view=await p.build_view(a,{parent:y})}connect_signals(){super.connect_signals(),this.connect(this.model.layout_provider.change,(()=>{this.edge_view.set_data(),this.node_view.set_data(),this.request_render()}))}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 o.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)}}n.GraphRendererView=y,y.__name__="GraphRendererView";class g extends s.DataRenderer{constructor(e){super(e)}static init_GraphRenderer(){this.prototype.default_view=y,this.define((({Ref:e})=>({layout_provider:[e(d.LayoutProvider)],node_renderer:[e(o.GlyphRenderer)],edge_renderer:[e(o.GlyphRenderer)],selection_policy:[e(a.GraphHitTestPolicy),()=>new a.NodesOnly],inspection_policy:[e(a.GraphHitTestPolicy),()=>new a.NodesOnly]})))}get_selection_manager(){return this.node_renderer.data_source.selection_manager}}n.GraphRenderer=g,g.__name__="GraphRenderer",g.init_GraphRenderer()},n function _(e,t,s,n,i){n();const c=e(53);class l extends c.Model{constructor(e){super(e)}initialize(){super.initialize(),this._connected=new Set,this._result=new Map}v_compute(e){this._connected.has(e)||(this.connect(e.change,(()=>this._result.delete(e))),this.connect(e.patching,(()=>this._result.delete(e))),this.connect(e.streaming,(()=>this._result.delete(e))),this._connected.add(e));let t=this._result.get(e);return null==t&&(t=this._v_compute(e),this._result.set(e,t)),t}}s.Expression=l,l.__name__="Expression";class h extends c.Model{constructor(e){super(e)}initialize(){super.initialize(),this._connected=new Set,this._result=new Map}compute(e){this._connected.has(e)||(this.connect(e.change,(()=>this._result.delete(e))),this.connect(e.patching,(()=>this._result.delete(e))),this.connect(e.streaming,(()=>this._result.delete(e))),this._connected.add(e));let t=this._result.get(e);return null==t&&(t=this._compute(e),this._result.set(e,t)),t}}s.ScalarExpression=h,h.__name__="ScalarExpression"},n function _(o,e,r,t,n){t();const s=o(53);class c extends s.Model{constructor(o){super(o)}}r.LayoutProvider=c,c.__name__="LayoutProvider"},n function _(e,t,d,n,s){n();const o=e(53),r=e(12),_=e(9),i=e(59);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<t.data.start.length;e++)(_.contains(n,t.data.start[e])||_.contains(n,t.data.end[e]))&&s.push(e);const o=new i.Selection;for(const e of s)o.multiline_indices[e]=[0];return o.indices=s,o}do_selection(e,t,d,n){if(null==e)return!1;const s=t.node_renderer.data_source.selected;s.update(e,d,n);const o=t.edge_renderer.data_source.selected,r=this.get_linked_edges(t.node_renderer.data_source,t.edge_renderer.data_source,"selection");return o.update(r,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 o=d.node_view.model.data_source.selection_manager.get_or_create_inspector(d.node_view.model);o.update(e,n,s),d.node_view.model.data_source.setv({inspected:o},{silent:!0});const r=d.edge_view.model.data_source.selection_manager.get_or_create_inspector(d.edge_view.model),_=this.get_linked_edges(d.node_view.model.data_source,d.edge_view.model.data_source,"inspection");return r.update(_,n,s),d.edge_view.model.data_source.setv({inspected:r},{silent:!0}),d.node_view.model.data_source.inspect.emit([d.node_view.model,{geometry:t}]),!o.is_empty()}}d.NodesAndLinkedEdges=u,u.__name__="NodesAndLinkedEdges";class m extends c{constructor(e){super(e)}hit_test(e,t){return this._hit_test(e,t,t.edge_view)}get_linked_nodes(e,t,d){let n=[];"selection"==d?n=t.selected.indices:"inspection"==d&&(n=t.inspected.indices);const s=[];for(const e of n)s.push(t.data.start[e]),s.push(t.data.end[e]);const o=_.uniq(s).map((t=>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 _(t,e,i,s,n){s();const o=t(1),r=t(65),l=t(48),_=o.__importStar(t(107)),c=o.__importStar(t(18)),h=t(12),a=t(13),d=t(98),x=t(106),y=t(59);class g extends d.GlyphView{_project_data(){r.inplace.project_xy(this._xs.array,this._ys.array)}_index_data(t){const{data_size:e}=this;for(let i=0;i<e;i++){const e=this._xs.get(i);if(0==e.length){t.add_empty();continue}const s=this._ys.get(i);if(0==s.length){t.add_empty();continue}const[n,o]=h.minmax(e),[r,l]=h.minmax(s);t.add(n,r,o,l)}}_render(t,e,i){const{sxs:s,sys:n}=null!=i?i:this;for(const i of e){const e=s.get(i),o=n.get(i);this.visuals.line.set_vectorize(t,i);for(let i=0,s=e.length;i<s;i++){const s=e[i],n=o[i];0!=i?isNaN(s+n)?(t.stroke(),t.beginPath()):t.lineTo(s,n):(t.beginPath(),t.moveTo(s,n))}t.stroke()}}_hit_point(t){const e={x:t.sx,y:t.sy};let i=9999;const s=new Map;for(let t=0,n=this.sxs.length;t<n;t++){const n=Math.max(2,this.line_width.get(t)/2),o=this.sxs.get(t),r=this.sys.get(t);let l=null;for(let t=0,s=o.length-1;t<s;t++){const s={x:o[t],y:r[t]},c={x:o[t+1],y:r[t+1]},h=_.dist_to_segment(e,s,c);h<n&&h<i&&(i=h,l=[t])}null!=l&&s.set(t,l)}return new y.Selection({indices:[…s.keys()],multiline_indices:a.to_object(s)})}_hit_span(t){const{sx:e,sy:i}=t;let s,n;"v"==t.direction?(s=this.renderer.yscale.invert(i),n=this._ys):(s=this.renderer.xscale.invert(e),n=this._xs);const o=new Map;for(let t=0,e=n.length;t<e;t++){const e=n.get(t),i=[];for(let t=0,n=e.length-1;t<n;t++)e[t]<=s&&s<=e[t+1]&&i.push(t);i.length>0&&o.set(t,i)}return new y.Selection({indices:[…o.keys()],multiline_indices:a.to_object(o)})}get_interpolation_hit(t,e,i){const s=this._xs.get(t),n=this._ys.get(t),o=s[e],r=n[e],l=s[e+1],_=n[e+1];return x.line_interpolation(this.renderer,i,o,r,l,_)}draw_legend_for_index(t,e,i){x.generic_line_vector_legend(this.visuals,t,e,i)}scenterxy(){throw new Error(`${this}.scenterxy() is not implemented`)}}i.MultiLineView=g,g.__name__="MultiLineView";class u extends d.Glyph{constructor(t){super(t)}static init_MultiLine(){this.prototype.default_view=g,this.define((({})=>({xs:[c.XCoordinateSeqSpec,{field:"xs"}],ys:[c.YCoordinateSeqSpec,{field:"ys"}]}))),this.mixins(l.LineVector)}}i.MultiLine=u,u.__name__="MultiLine",u.init_MultiLine()},n function _(e,t,s,i,n){i();const r=e(1),o=e(98),a=e(106),_=e(12),c=e(48),l=r.__importStar(e(107)),h=r.__importStar(e(18)),d=e(59),y=e(11),p=e(65);class x extends o.GlyphView{_project_data(){p.inplace.project_xy(this._xs.array,this._ys.array)}_index_data(e){const{data_size:t}=this;for(let s=0;s<t;s++){const t=this._xs.get(s),i=this._ys.get(s);if(0==t.length)e.add_empty();else{const[s,n]=_.minmax(t),[r,o]=_.minmax(i);e.add(s,r,n,o)}}}_mask_data(){const{x_range:e,y_range:t}=this.renderer.plot_view.frame;return this.index.indices({x0:e.min,x1:e.max,y0:t.min,y1:t.max})}_inner_loop(e,t,s,i){for(let n=0,r=t.length;n<r;n++)0!=n?isNaN(t[n]+s[n])?(e.closePath(),i.apply(e),e.beginPath()):e.lineTo(t[n],s[n]):(e.beginPath(),e.moveTo(t[n],s[n]));e.closePath(),i.call(e)}_render(e,t,s){const{sxs:i,sys:n}=null!=s?s:this;for(const s of t){const t=i.get(s),r=n.get(s);this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(e,s),this._inner_loop(e,t,r,e.fill)),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(e,s),this._inner_loop(e,t,r,e.fill)),this.visuals.line.doit&&(this.visuals.line.set_vectorize(e,s),this._inner_loop(e,t,r,e.stroke))}}_hit_rect(e){const{sx0:t,sx1:s,sy0:i,sy1:n}=e,r=[t,s,s,t],o=[i,i,n,n],[a,_]=this.renderer.xscale.r_invert(t,s),[c,h]=this.renderer.yscale.r_invert(i,n),y=this.index.indices({x0:a,x1:_,y0:c,y1:h}),p=[];for(const e of y){const t=this.sxs.get(e),s=this.sys.get(e);let i=!0;for(let e=0,n=t.length;e<n;e++){const n=t[e],a=s[e];if(!l.point_in_poly(n,a,r,o)){i=!1;break}}i&&p.push(e)}return new d.Selection({indices:p})}_hit_point(e){const{sx:t,sy:s}=e,i=this.renderer.xscale.invert(t),n=this.renderer.yscale.invert(s),r=this.index.indices({x0:i,y0:n,x1:i,y1:n}),o=[];for(const e of r){const i=this.sxs.get(e),n=this.sys.get(e),r=i.length;for(let a=0,_=0;;_++){if(isNaN(i[_])||_==r){const r=i.subarray(a,_),c=n.subarray(a,_);if(l.point_in_poly(t,s,r,c)){o.push(e);break}a=_+1}if(_==r)break}}return new d.Selection({indices:o})}_get_snap_coord(e){return _.sum(e)/e.length}scenterxy(e,t,s){const i=this.sxs.get(e),n=this.sys.get(e),r=i.length;let o=!1;for(let e=0,a=0;;a++){const _=isNaN(i[a]);if(o=o||_,a==r&&!o){return[this._get_snap_coord(i),this._get_snap_coord(n)]}if(_||a==r){const r=i.subarray(e,a),o=n.subarray(e,a);if(l.point_in_poly(t,s,r,o)){return[this._get_snap_coord(r),this._get_snap_coord(o)]}e=a+1}if(a==r)break}y.unreachable()}draw_legend_for_index(e,t,s){a.generic_area_vector_legend(this.visuals,e,t,s)}}s.PatchesView=x,x.__name__="PatchesView";class f extends o.Glyph{constructor(e){super(e)}static init_Patches(){this.prototype.default_view=x,this.define((({})=>({xs:[h.XCoordinateSeqSpec,{field:"xs"}],ys:[h.YCoordinateSeqSpec,{field:"ys"}]}))),this.mixins([c.LineVector,c.FillVector,c.HatchVector])}}s.Patches=f,f.__name__="Patches",f.init_Patches()},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),i=t(57),l=t(8),c=t(13),a=r.__importStar(t(131)),u=t(132),h=t(35);function d(t,n,e){if(l.isArray(t)){const s=t.concat(n);return null!=e&&s.length>e?s.slice(-e):s}if(l.isTypedArray(t)){const s=t.length+n.length;if(null!=e&&s>e){const o=s-e,r=t.length;let i;t.length<e?(i=new t.constructor(e),i.set(t,0)):i=t;for(let t=o,n=r;t<n;t++)i[t-o]=i[t];for(let t=0,e=n.length;t<e;t++)i[t+(r-o)]=n[t];return i}{const e=new t.constructor(n);return a.concat(t,e)}}throw new Error("unsupported array types")}function f(t,n){let e,s,o;return l.isNumber(t)?(e=t,o=t+1,s=1):(e=null!=t.start?t.start:0,o=null!=t.stop?t.stop:n,s=null!=t.step?t.step:1),[e,o,s]}function m(t,n){const e=new Set;let s=!1;for(const[o,r]of n){let n,i,c,a;if(l.isArray(o)){const[s]=o;e.add(s),n=t[s].shape,i=t[s],a=r,2===o.length?(n=[1,n[0]],c=[o[0],0,o[1]]):c=o}else l.isNumber(o)?(a=[r],e.add(o)):(a=r,s=!0),c=[0,0,o],n=[1,t.length],i=t;let u=0;const[h,d,m]=f(c[1],n[0]),[_,p,g]=f(c[2],n[1]);for(let t=h;t<d;t+=m)for(let o=_;o<p;o+=g)s&&e.add(o),i[t*n[1]+o]=a[u],u++}return e}e.stream_to_column=d,e.slice=f,e.patch_to_column=m;class _ extends i.ColumnarDataSource{constructor(t){super(t)}static init_ColumnDataSource(){this.define((({Dict:t,Any:n})=>({data:[t(n),{}]})))}stream(t,n,e){const{data:s}=this;for(const[e,o]of c.entries(t))s[e]=d(s[e],o,n);if(this.setv({data:s},{silent:!0}),this.streaming.emit(),null!=this.document){const s=new h.ColumnsStreamedEvent(this.document,this.ref(),t,n);this.document._notify_change(this,"data",null,null,{setter_id:e,hint:s})}}patch(t,n){const{data:e}=this;let s=new Set;for(const[n,o]of c.entries(t))s=u.union(s,m(e[n],o));if(this.setv({data:e},{silent:!0}),this.patching.emit([…s]),null!=this.document){const e=new h.ColumnsPatchedEvent(this.document,this.ref(),t);this.document._notify_change(this,"data",null,null,{setter_id:n,hint:e})}}}e.ColumnDataSource=_,_.__name__="ColumnDataSource",_.init_ColumnDataSource()},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 _(e,i,t,s,o){s();const n=e(1),a=e(53),l=e(42),r=n.__importStar(e(45)),_=e(48),c=n.__importStar(e(18));class d extends l.View{initialize(){super.initialize(),this.visuals=new r.Visuals(this)}request_render(){this.parent.request_render()}get canvas(){return this.parent.canvas}set_data(e){const i=this;for(const t of this.model){if(!(t instanceof c.VectorSpec||t instanceof c.ScalarSpec))continue;const s=t.uniform(e);i[`${t.attr}`]=s}}}t.ArrowHeadView=d,d.__name__="ArrowHeadView";class h extends a.Model{constructor(e){super(e)}static init_ArrowHead(){this.define((()=>({size:[c.NumberSpec,25]})))}}t.ArrowHead=h,h.__name__="ArrowHead",h.init_ArrowHead();class v extends d{clip(e,i){this.visuals.line.set_vectorize(e,i);const t=this.size.get(i);e.moveTo(.5*t,t),e.lineTo(.5*t,-2),e.lineTo(-.5*t,-2),e.lineTo(-.5*t,t),e.lineTo(0,0),e.lineTo(.5*t,t)}render(e,i){if(this.visuals.line.doit){this.visuals.line.set_vectorize(e,i);const t=this.size.get(i);e.beginPath(),e.moveTo(.5*t,t),e.lineTo(0,0),e.lineTo(-.5*t,t),e.stroke()}}}t.OpenHeadView=v,v.__name__="OpenHeadView";class u extends h{constructor(e){super(e)}static init_OpenHead(){this.prototype.default_view=v,this.mixins(_.LineVector)}}t.OpenHead=u,u.__name__="OpenHead",u.init_OpenHead();class m extends d{clip(e,i){this.visuals.line.set_vectorize(e,i);const t=this.size.get(i);e.moveTo(.5*t,t),e.lineTo(.5*t,-2),e.lineTo(-.5*t,-2),e.lineTo(-.5*t,t),e.lineTo(.5*t,t)}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 t=this.size.get(i);e.beginPath(),e.moveTo(.5*t,t),e.lineTo(0,0),e.lineTo(-.5*t,t),e.closePath()}}t.NormalHeadView=m,m.__name__="NormalHeadView";class T extends h{constructor(e){super(e)}static init_NormalHead(){this.prototype.default_view=m,this.mixins([_.LineVector,_.FillVector]),this.override({fill_color:"black"})}}t.NormalHead=T,T.__name__="NormalHead",T.init_NormalHead();class p extends d{clip(e,i){this.visuals.line.set_vectorize(e,i);const t=this.size.get(i);e.moveTo(.5*t,t),e.lineTo(.5*t,-2),e.lineTo(-.5*t,-2),e.lineTo(-.5*t,t),e.lineTo(0,.5*t),e.lineTo(.5*t,t)}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 t=this.size.get(i);e.beginPath(),e.moveTo(.5*t,t),e.lineTo(0,0),e.lineTo(-.5*t,t),e.lineTo(0,.5*t),e.closePath()}}t.VeeHeadView=p,p.__name__="VeeHeadView";class H extends h{constructor(e){super(e)}static init_VeeHead(){this.prototype.default_view=p,this.mixins([_.LineVector,_.FillVector]),this.override({fill_color:"black"})}}t.VeeHead=H,H.__name__="VeeHead",H.init_VeeHead();class V extends d{render(e,i){if(this.visuals.line.doit){this.visuals.line.set_vectorize(e,i);const t=this.size.get(i);e.beginPath(),e.moveTo(.5*t,0),e.lineTo(-.5*t,0),e.stroke()}}clip(e,i){}}t.TeeHeadView=V,V.__name__="TeeHeadView";class f extends h{constructor(e){super(e)}static init_TeeHead(){this.prototype.default_view=V,this.mixins(_.LineVector)}}t.TeeHead=f,f.__name__="TeeHead",f.init_TeeHead()},n function _(s,e,i,t,l){t();const _=s(1),o=s(135),r=_.__importStar(s(48));class h extends o.UpperLowerView{paint(s){s.beginPath(),s.moveTo(this._lower_sx[0],this._lower_sy[0]);for(let e=0,i=this._lower_sx.length;e<i;e++)s.lineTo(this._lower_sx[e],this._lower_sy[e]);for(let e=this._upper_sx.length-1;e>=0;e–)s.lineTo(this._upper_sx[e],this._upper_sy[e]);s.closePath(),this.visuals.fill.doit&&(this.visuals.fill.set_value(s),s.fill()),s.beginPath(),s.moveTo(this._lower_sx[0],this._lower_sy[0]);for(let e=0,i=this._lower_sx.length;e<i;e++)s.lineTo(this._lower_sx[e],this._lower_sy[e]);this.visuals.line.doit&&(this.visuals.line.set_value(s),s.stroke()),s.beginPath(),s.moveTo(this._upper_sx[0],this._upper_sy[0]);for(let e=0,i=this._upper_sx.length;e<i;e++)s.lineTo(this._upper_sx[e],this._upper_sy[e]);this.visuals.line.doit&&(this.visuals.line.set_value(s),s.stroke())}}i.BandView=h,h.__name__="BandView";class n extends o.UpperLower{constructor(s){super(s)}static init_Band(){this.prototype.default_view=h,this.mixins([r.Line,r.Fill]),this.override({fill_color:"#fff9ba",fill_alpha:.4,line_color:"#cccccc",line_alpha:.3})}}i.Band=n,n.__name__="Band",n.init_Band()},n function _(e,t,i,s,o){s();const r=e(1),p=e(56),n=e(20),_=r.__importStar(e(18));class a 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,p="height"==t?e.bbox.yview:e.bbox.xview,n="height"==t?e.bbox.xview:e.bbox.yview;let _,a,h;_="data"==this.model.properties.lower.units?o.v_compute(this._lower):p.v_compute(this._lower),a="data"==this.model.properties.upper.units?o.v_compute(this._upper):p.v_compute(this._upper),h="data"==this.model.properties.base.units?r.v_compute(this._base):n.v_compute(this._base);const[d,c]="height"==t?[1,0]:[0,1],u=[_,h],l=[a,h];this._lower_sx=u[d],this._lower_sy=u[c],this._upper_sx=l[d],this._upper_sy=l[c]}}i.UpperLowerView=a,a.__name__="UpperLowerView";class h 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=h,h.__name__="XOrYCoordinateSpec";class d extends p.DataAnnotation{constructor(e){super(e)}static init_UpperLower(){this.define((()=>({dimension:[n.Dimension,"height"],lower:[h,{field:"lower"}],upper:[h,{field:"upper"}],base:[h,{field:"base"}]})))}}i.UpperLower=d,d.__name__="UpperLower",d.init_UpperLower()},n function _(t,i,o,n,e){n();const s=t(1),l=t(40),a=s.__importStar(t(48)),r=t(20),h=t(99);o.EDGE_TOLERANCE=2.5;class u extends l.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:i,top:o,bottom:n}=this.model;if(null==t&&null==i&&null==o&&null==n)return;const{frame:e}=this.plot_view,s=this.coordinates.x_scale,l=this.coordinates.y_scale,a=(t,i,o,n,e)=>{let s;return s=null!=t?this.model.screen?t:"data"==i?o.compute(t):n.compute(t):e,s};this.bbox=new h.BBox({left:a(t,this.model.left_units,s,e.bbox.xview,e.bbox.left),right:a(i,this.model.right_units,s,e.bbox.xview,e.bbox.right),top:a(o,this.model.top_units,l,e.bbox.yview,e.bbox.top),bottom:a(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:i,top:o,width:n,height:e}=this.bbox;t.beginPath(),t.rect(i,o,n,e),this.visuals.fill.doit&&(this.visuals.fill.set_value(t),t.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_value(t),t.fill()),this.visuals.line.doit&&(this.visuals.line.set_value(t),t.stroke()),t.restore()}interactive_bbox(){const t=this.model.line_width+o.EDGE_TOLERANCE;return this.bbox.grow_by(t)}interactive_hit(t,i){if(null==this.model.in_cursor)return!1;return this.interactive_bbox().contains(t,i)}cursor(t,i){const{left:o,right:n,bottom:e,top:s}=this.bbox;return Math.abs(t-o)<3||Math.abs(t-n)<3?this.model.ew_cursor:Math.abs(i-e)<3||Math.abs(i-s)<3?this.model.ns_cursor:this.bbox.contains(t,i)?this.model.in_cursor:null}}o.BoxAnnotationView=u,u.__name__="BoxAnnotationView";class c extends l.Annotation{constructor(t){super(t)}static init_BoxAnnotation(){this.prototype.default_view=u,this.mixins([a.Line,a.Fill,a.Hatch]),this.define((({Number:t,Nullable:i})=>({top:[i(t),null],top_units:[r.SpatialUnits,"data"],bottom:[i(t),null],bottom_units:[r.SpatialUnits,"data"],left:[i(t),null],left_units:[r.SpatialUnits,"data"],right:[i(t),null],right_units:[r.SpatialUnits,"data"],render_mode:[r.RenderMode,"canvas"]}))),this.internal((({Boolean:t,String:i,Nullable:o})=>({screen:[t,!1],ew_cursor:[o(i),null],ns_cursor:[o(i),null],in_cursor:[o(i),null]}))),this.override({fill_color:"#fff9ba",fill_alpha:.4,line_color:"#cccccc",line_alpha:.3})}update({left:t,right:i,top:o,bottom:n}){this.setv({left:t,right:i,top:o,bottom:n,screen:!0})}}o.BoxAnnotation=c,c.__name__="BoxAnnotation",c.init_BoxAnnotation()},n function _(t,e,i,a,n){a();const o=t(1),r=t(40),s=t(138),l=t(144),_=t(162),c=t(165),h=t(198),u=t(166),p=t(205),m=t(169),g=t(203),d=t(202),f=t(209),w=t(217),b=t(220),v=t(20),y=o.__importStar(t(48)),k=t(9),x=t(221),C=t(222),j=t(225),z=t(140),L=t(11),S=t(122),M=t(8);class T extends r.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 f.LogColorMapper:return new h.LogTicker;case i instanceof f.ScanningColorMapper:return new h.BinnedTicker({mapper:i});case i instanceof f.CategoricalColorMapper:return new h.CategoricalTicker;default:return new h.BasicTicker}})(),this._formatter="auto"!=e?e:(()=>{switch(!0){case this._ticker instanceof h.LogTicker:return new p.LogTickFormatter;case i instanceof f.CategoricalColorMapper:return new p.CategoricalTickFormatter;default:return new p.BasicTickFormatter}})(),this._major_range=(()=>{if(i instanceof f.CategoricalColorMapper){const{factors:t}=i;return new b.FactorRange({factors:t})}if(i instanceof d.ContinuousColorMapper){const{min:t,max:e}=i.metrics;return new b.Range1d({start:t,end:e})}L.unreachable()})(),this._major_scale=(()=>{if(i instanceof f.LinearColorMapper)return new w.LinearScale;if(i instanceof f.LogColorMapper)return new w.LogScale;if(i instanceof f.ScanningColorMapper){const{binning:t}=i.metrics;return new w.LinearInterpolationScale({binning:t})}if(i instanceof f.CategoricalColorMapper)return new w.CategoricalScale;L.unreachable()})(),this._minor_range=new b.Range1d({start:0,end:1}),this._minor_scale=new w.LinearScale;const a=y.attrs_of(this.model,"major_label_",y.Text,!0),n=y.attrs_of(this.model,"major_tick_",y.Line,!0),o=y.attrs_of(this.model,"minor_tick_",y.Line,!0),r=y.attrs_of(this.model,"title_",y.Text),l=i instanceof f.CategoricalColorMapper?_.CategoricalAxis:i instanceof f.LogColorMapper?_.LogAxis:_.LinearAxis;this._axis=new l(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},a),n),o));const{title:c}=this.model;c&&(this._title=new s.Title(Object.assign({text:c,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 S.build_view(this._axis,{parent:e}),null!=this._title&&(this._title_view=await S.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 d.ContinuousColorMapper&&t instanceof b.Range1d){const{min:e,max:a}=i.metrics;t.setv({start:e,end:a})}if(i instanceof f.ScanningColorMapper&&e instanceof w.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?k.reversed(e):e})(),[i,a]="vertical"==t?[1,e.length]:[e.length,1],n=this._image=document.createElement("canvas");n.width=i,n.height=a;const o=n.getContext("2d"),r=o.getImageData(0,0,i,a),s=new f.LinearColorMapper({palette:e}).rgba_mapper.v_compute(k.range(0,e.length));r.data.set(s),o.putImageData(r,0,0)}update_layout(){const{location:t,width:e,height:i,padding:a,margin:n}=this.model,[o,r]=(()=>{if(!M.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"==o?"vertical":"horizontal":t})(),_=new C.NodeLayout,c=new C.VStack,h=new C.VStack,u=new C.HStack,p=new C.HStack;_.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 l.CartesianFrame(m,g,d,f),_.on_resize((t=>this._frame.set_geometry(t)));const w=new j.BorderLayout;this._inner_layout=w,w.absolute=!0,w.center_panel=_,w.top_panel=c,w.bottom_panel=h,w.left_panel=u,w.right_panel=p;const b={left:a,right:a,top:a,bottom:a},v=(()=>{if(null==this.panel){if(M.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(!M.isString(t)){const[e,i]=t;return{left:e,right:0,top:0,bottom:i}}})();let y,k,L,S;if(w.padding=b,null!=this.panel?(y="max",k=void 0,L=void 0,S=void 0):"auto"==("horizontal"==s?e:i)?(y="fixed",k=25*this.model.color_mapper.palette.length,L={percent:.3},S={percent:.8}):(y="fit",k=void 0),"horizontal"==s){const t="auto"==e?void 0:e,a="auto"==i?25:i;w.set_sizing({width_policy:y,height_policy:"min",width:k,min_width:L,max_width:S,halign:r,valign:o,margin:v}),w.center_panel.set_sizing({width_policy:"auto"==e?"fit":"fixed",height_policy:"fixed",width:t,height:a})}else{const t="auto"==e?25:e,a="auto"==i?void 0:i;w.set_sizing({width_policy:"min",height_policy:y,height:k,min_height:L,max_height:S,halign:r,valign:o,margin:v}),w.center_panel.set_sizing({width_policy:"fixed",height_policy:"auto"==i?"fit":"fixed",width:t,height:a})}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:T}=this;null!=T&&("horizontal"==s?(T.panel=new z.Panel("above"),T.update_layout(),c.children.push(T.layout)):(T.panel=new z.Panel("left"),T.update_layout(),u.children.push(T.layout)));const{panel:B}=this,A=null!=B&&s==B.orientation?B.side:"horizontal"==s?"below":"right",O=(()=>{switch(A){case"above":return c;case"below":return h;case"left":return u;case"right":return p}})(),{_axis_view:R}=this;if(R.panel=new z.Panel(A),R.update_layout(),O.children.push(R.layout),null!=this.panel){const t=new x.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:F}=this.model;this.layout.sizing.visible=F,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:a}=e;let{width:n,height:o}=e;i+n>=this.parent.canvas_view.bbox.width&&(n-=1),a+o>=this.parent.canvas_view.bbox.height&&(o-=1),t.save(),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(t),t.fillRect(i,a,n,o)),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.strokeRect(i,a,n,o)),t.restore()}_paint_image(t,e){const{x:i,y:a,width:n,height:o}=e;t.save(),t.setImageSmoothingEnabled(!1),t.globalAlpha=this.model.scale_alpha,t.drawImage(this._image,i,a,n,o),this.visuals.bar_line.doit&&(this.visuals.bar_line.set_value(t),t.strokeRect(i,a,n,o)),t.restore()}serializable_state(){const t=super.serializable_state(),{children:e=[]}=t,i=o.__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=T,T.__name__="ColorBarView";class B extends r.Annotation{constructor(t){super(t)}static init_ColorBar(){this.prototype.default_view=T,this.mixins([["major_label_",y.Text],["title_",y.Text],["major_tick_",y.Line],["minor_tick_",y.Line],["border_",y.Line],["bar_",y.Line],["background_",y.Fill]]),this.define((({Alpha:t,Number:e,String:i,Tuple:a,Dict:n,Or:o,Ref:r,Auto:s,Nullable:l})=>({location:[o(v.Anchor,a(e,e)),"top_right"],orientation:[o(v.Orientation,s),"auto"],title:[l(i),null],title_standoff:[e,2],width:[o(e,s),"auto"],height:[o(e,s),"auto"],scale_alpha:[t,1],ticker:[o(r(c.Ticker),s),"auto"],formatter:[o(r(u.TickFormatter),s),"auto"],major_label_overrides:[n(i),{}],major_label_policy:[r(m.LabelingPolicy),()=>new m.NoOverlap],color_mapper:[r(g.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]}))),this.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"})}}i.ColorBar=B,B.__name__="ColorBar",B.init_ColorBar()},n function _(t,e,i,s,l){s();const o=t(1),a=t(139),n=t(20),r=t(143),c=o.__importStar(t(48));class h extends a.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;if(null==t||0==t.length)return{width:0,height:0};{const{ctx:e}=this.layer;this.visuals.text.set_value(e);const{width:i}=this.layer.ctx.measureText(t),{height:s}=r.font_metrics(e.font);return{width:i,height:2+s*this.model.text_line_height+this.model.standoff}}}}i.TitleView=h,h.__name__="TitleView";class _ extends a.TextAnnotation{constructor(t){super(t)}static init_Title(){this.prototype.default_view=h,this.mixins([c.Text,["border_",c.Line],["background_",c.Fill]]),this.define((({Number:t,String:e})=>({text:[e,""],vertical_align:[n.VerticalAlign,"bottom"],align:[n.TextAlign,"left"],offset:[t,0],standoff:[t,10]}))),this.prototype._props.text_align.options.internal=!0,this.prototype._props.text_baseline.options.internal=!0,this.override({text_font_size:"13px",text_font_style:"bold",text_line_height:1,background_fill_color:null,border_line_color:null})}}i.Title=_,_.__name__="Title",_.init_Title()},n function _(e,t,s,i,n){i();const l=e(40),a=e(43),o=e(20),r=e(140),d=e(143),c=e(11);class _ extends l.AnnotationView{update_layout(){const{panel:e}=this;this.layout=null!=e?new r.SideLayout(e,(()=>this.get_size()),!0):void 0}initialize(){super.initialize(),"css"==this.model.render_mode&&(this.el=a.div(),this.plot_view.canvas_view.add_overlay(this.el))}remove(){null!=this.el&&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||a.undisplay(this.el),super.render()}_calculate_text_dimensions(e,t){const{width:s}=e.measureText(t),{height:i}=d.font_metrics(this.visuals.text.font_value());return[s,i]}_calculate_bounding_box_dimensions(e,t){const[s,i]=this._calculate_text_dimensions(e,t);let n,l;switch(e.textAlign){case"left":n=0;break;case"center":n=-s/2;break;case"right":n=-s;break;default:c.unreachable()}switch(e.textBaseline){case"top":l=0;break;case"middle":l=-.5*i;break;case"bottom":l=-1*i;break;case"alphabetic":l=-.8*i;break;case"hanging":l=-.17*i;break;case"ideographic":l=-.83*i;break;default:c.unreachable()}return[n,l,s,i]}_canvas_text(e,t,s,i,n){this.visuals.text.set_value(e);const l=this._calculate_bounding_box_dimensions(e,t);e.save(),e.beginPath(),e.translate(s,i),n&&e.rotate(n),e.rect(l[0],l[1],l[2],l[3]),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(e),e.fill()),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(e),e.stroke()),this.visuals.text.doit&&(this.visuals.text.set_value(e),e.fillText(t,0,0)),e.restore()}_css_text(e,t,s,i,n){const{el:l}=this;c.assert(null!=l),a.undisplay(l),this.visuals.text.set_value(e);const[o,r]=this._calculate_bounding_box_dimensions(e,t);l.style.position="absolute",l.style.left=`${s+o}px`,l.style.top=`${i+r}px`,l.style.color=e.fillStyle,l.style.font=e.font,l.style.lineHeight="normal",n&&(l.style.transform=`rotate(${n}rad)`),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(e),l.style.backgroundColor=e.fillStyle),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(e),l.style.borderStyle=e.lineDash.length<2?"solid":"dashed",l.style.borderWidth=`${e.lineWidth}px`,l.style.borderColor=e.strokeStyle),l.textContent=t,a.display(l)}}s.TextAnnotationView=_,_.__name__="TextAnnotationView";class u extends l.Annotation{constructor(e){super(e)}static init_TextAnnotation(){this.define((()=>({render_mode:[o.RenderMode,"canvas"]})))}}s.TextAnnotation=u,u.__name__="TextAnnotation",u.init_TextAnnotation()},n function _(t,e,i,l,r){l();const a=t(141),o=t(142),n=t(8),h=Math.PI/2,s={above:{parallel:0,normal:-h,horizontal:0,vertical:-h},below:{parallel:0,normal:h,horizontal:0,vertical:h},left:{parallel:-h,normal:0,horizontal:0,vertical:-h},right:{parallel:h,normal:0,horizontal:0,vertical:h}},c={above:{parallel:"bottom",normal:"center",horizontal:"bottom",vertical:"center"},below:{parallel:"top",normal:"center",horizontal:"top",vertical:"center"},left:{parallel:"bottom",normal:"center",horizontal:"center",vertical:"bottom"},right:{parallel:"bottom",normal:"center",horizontal:"center",vertical:"bottom"}},g={above:{parallel:"center",normal:"left",horizontal:"center",vertical:"left"},below:{parallel:"center",normal:"left",horizontal:"center",vertical:"left"},left:{parallel:"center",normal:"right",horizontal:"right",vertical:"center"},right:{parallel:"center",normal:"left",horizontal:"left",vertical:"center"}},_={above:"right",below:"left",left:"right",right:"left"},b={above:"left",below:"right",left:"right",right:"left"};class z{constructor(t){this.side=t}get dimension(){return"above"==this.side||"below"==this.side?0:1}get normals(){switch(this.side){case"above":return[0,-1];case"below":return[0,1];case"left":return[-1,0];case"right":return[1,0]}}get orientation(){return this.is_horizontal?"horizontal":"vertical"}get is_horizontal(){return 0==this.dimension}get is_vertical(){return 1==this.dimension}get_label_text_heuristics(t){const{side:e}=this;return n.isString(t)?{vertical_align:c[e][t],align:g[e][t]}:{vertical_align:"center",align:(t<0?_:b)[e]}}get_label_angle_heuristic(t){return n.isString(t)?s[this.side][t]:-t}}i.Panel=z,z.__name__="Panel";class m extends o.ContentLayoutable{constructor(t,e,i=!1){super(),this.panel=t,this.get_size=e,this.rotate=i,this.panel.is_horizontal?this.set_sizing({width_policy:"max",height_policy:"fixed"}):this.set_sizing({width_policy:"fixed",height_policy:"max"})}_content_size(){const{width:t,height:e}=this.get_size();return!this.rotate||this.panel.is_horizontal?new a.Sizeable({width:t,height:e}):new a.Sizeable({width:e,height:t})}has_size_changed(){const{width:t,height:e}=this._content_size();return this.panel.is_horizontal?this.bbox.height!=e:this.bbox.width!=t}}i.SideLayout=m,m.__name__="SideLayout"},n function _(h,t,i,e,w){e();const n=h(21),{min:d,max:s}=Math;class g{constructor(h={}){this.width=null!=h.width?h.width:0,this.height=null!=h.height?h.height:0}bounded_to({width:h,height:t}){return new g({width:this.width==1/0&&null!=h?h:this.width,height:this.height==1/0&&null!=t?t:this.height})}expanded_to({width:h,height:t}){return new g({width:h!=1/0?s(this.width,h):this.width,height:t!=1/0?s(this.height,t):this.height})}expand_to({width:h,height:t}){this.width=s(this.width,h),this.height=s(this.height,t)}narrowed_to({width:h,height:t}){return new g({width:d(this.width,h),height:d(this.height,t)})}narrow_to({width:h,height:t}){this.width=d(this.width,h),this.height=d(this.height,t)}grow_by({left:h,right:t,top:i,bottom:e}){const w=this.width+h+t,n=this.height+i+e;return new g({width:w,height:n})}shrink_by({left:h,right:t,top:i,bottom:e}){const w=s(this.width-h-t,0),n=s(this.height-i-e,0);return new g({width:w,height:n})}map(h,t){return new g({width:h(this.width),height:(null!=t?t:h)(this.height)})}}i.Sizeable=g,g.__name__="Sizeable",i.SizingPolicy=n.Enum("fixed","fit","min","max")},n function _(i,t,h,e,n){e();const s=i(141),r=i(99),g=i(8),{min:l,max:a,round:_}=Math;class o{constructor(){this.absolute=!1,this._bbox=new r.BBox,this._inner_bbox=new r.BBox,this._dirty=!1,this._handlers=[]}*[Symbol.iterator](){}get bbox(){return this._bbox}get inner_bbox(){return this._inner_bbox}get sizing(){return this._sizing}set visible(i){this._sizing.visible=i,this._dirty=!0}set_sizing(i){var t,h,e,n,s;const r=null!==(t=i.width_policy)&&void 0!==t?t:"fit",g=i.width,l=i.min_width,a=i.max_width,_=null!==(h=i.height_policy)&&void 0!==h?h:"fit",o=i.height,d=i.min_height,u=i.max_height,c=i.aspect,w=null!==(e=i.margin)&&void 0!==e?e:{top:0,right:0,bottom:0,left:0},m=!1!==i.visible,x=null!==(n=i.halign)&&void 0!==n?n:"start",b=null!==(s=i.valign)&&void 0!==s?s:"start";this._sizing={width_policy:r,min_width:l,width:g,max_width:a,height_policy:_,min_height:d,height:o,max_height:u,aspect:c,margin:w,visible:m,halign:x,valign:b,size:{width:g,height:o}},this._init()}_init(){}_set_geometry(i,t){this._bbox=i,this._inner_bbox=t}set_geometry(i,t){this._set_geometry(i,null!=t?t:i);for(const i of this._handlers)i(this._bbox,this._inner_bbox)}on_resize(i){this._handlers.push(i)}is_width_expanding(){return"max"==this.sizing.width_policy}is_height_expanding(){return"max"==this.sizing.height_policy}apply_aspect(i,{width:t,height:h}){const{aspect:e}=this.sizing;if(null!=e){const{width_policy:n,height_policy:s}=this.sizing,r=(i,t)=>{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=new s.Sizeable(i).shrink_by(this.sizing.margin).map((i=>i==1/0&&"fixed"==this.sizing.width_policy&&null!=this.sizing.width?this.sizing.width:i),(i=>i==1/0&&"fixed"==this.sizing.height_policy&&null!=this.sizing.height?this.sizing.height:i)),h=this._measure(t),e=this.clip_size(h,t),n=this.apply_aspect(t,e);return Object.assign(Object.assign({},h),n)}compute(i={}){const t={width:null!=i.width&&this.is_width_expanding()?i.width:1/0,height:null!=i.height&&this.is_height_expanding()?i.height:1/0},h=this.measure(t),{width:e,height:n}=h,s=new r.BBox({left:0,top:0,width:e,height:n});let g;if(null!=h.inner){const{left:i,top:t,right:s,bottom:l}=h.inner;g=new r.BBox({left:i,top:t,right:e-s,bottom:n-l})}this.set_geometry(s,g)}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:g.isNumber(h)||(h=Math.round(h.percent*t)),null==e?e=1/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 _(t,e,n,r,a){r();const l=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"),a=t.measureText("ÅŚg|"),c=a.fontBoundingBoxAscent,o=a.fontBoundingBoxDescent;if(null!=c&&null!=o)return{height:c+o,ascent:c,descent:o,cap_height:n.actualBoundingBoxAscent,x_height:r.actualBoundingBoxAscent};const s=a.actualBoundingBoxAscent,u=a.actualBoundingBoxDescent;if(null!=s&&null!=u)return{height:s+u,ascent:s,descent:u,cap_height:n.actualBoundingBoxAscent,x_height:r.actualBoundingBoxAscent};l.unreachable()}})(),s=(()=>{const t=c(0,0).getContext("2d");return(e,n)=>{t.font=n;const r=t.measureText(e),a=r.actualBoundingBoxAscent,c=r.actualBoundingBoxDescent;if(null!=a&&null!=c)return{width:r.width,height:a+c,ascent:a,descent:c};l.unreachable()}})(),u=(()=>{const t=document.createElement("canvas"),e=t.getContext("2d");let n=-1,r=-1;return(a,l=1)=>{e.font=a;const{width:c}=e.measureText("M"),o=c*l,s=Math.ceil(o),u=Math.ceil(2*o),i=Math.ceil(1.5*o);n<s&&(n=s,t.width=s),r<u&&(r=u,t.height=u),e.save(),e.scale(l,l),e.fillStyle="#f00",e.fillRect(0,0,s,u);const f=t=>{let e=0;for(let n=0;n<=i;n++)for(let r=0;r<s;r++,e+=4)if(255!=t[e])return i-n;return 0};e.font=a,e.fillStyle="#000";for(const t of"xa")e.fillText(t,0,i/l);const{data:h}=e.getImageData(0,0,s,u),g=f(h)/l;for(const t of"ASQ")e.fillText(t,0,i/l);const{data:d}=e.getImageData(0,0,s,u),x=f(d)/l;for(const t of"ÅŚgy")e.fillText(t,0,i/l);const{data:m}=e.getImageData(0,0,s,u),B=f(m)/l,w=(t=>{let e=t.length-4;for(let n=u;n>=i;n–)for(let r=0;r<s;r++,e-=4)if(255!=t[e])return n-i;return 0})(m)/l;return e.restore(),{height:B+w,ascent:B,cap_height:x,x_height:g,descent:w}}})(),i=(()=>{const t=document.createElement("canvas"),e=t.getContext("2d");let n=-1,r=-1;return(a,l,c=1)=>{e.font=l;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<u||r<i)&&(n=u,t.width=u,r=i,t.height=i),e.save(),e.scale(c,c),e.fillStyle="#f00",e.fillRect(0,0,u,i);e.font=l,e.fillStyle="#000",e.fillText(a,0,f/c);const h=e.measureText(a),{data:g}=e.getImageData(0,0,u,i),d=(t=>{let e=0;for(let n=0;n<=f;n++)for(let r=0;r<u;r++,e+=4)if(255!=t[e])return f-n;return 0})(g)/c,x=(t=>{let e=t.length-4;for(let n=i;n>=f;n–)for(let r=0;r<u;r++,e-=4)if(255!=t[e])return n-f;return 0})(g)/c;return e.restore(),{width:h.width,height:d+x,ascent:d,descent:x}}})(),f=(()=>{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 function _(e,t,s,_,a){_();const r=e(145),n=e(157),g=e(156),i=e(159),c=e(104),h=e(99),o=e(13),l=e(11);class x{constructor(e,t,s,_,a={},r={}){this.in_x_scale=e,this.in_y_scale=t,this.x_range=s,this.y_range=_,this.extra_x_ranges=a,this.extra_y_ranges=r,this._bbox=new h.BBox,l.assert(null==e.source_range&&null==e.target_range),l.assert(null==t.source_range&&null==t.target_range),this._configure_scales()}get bbox(){return this._bbox}_get_ranges(e,t){return new Map(o.entries(Object.assign(Object.assign({},t),{default:e})))}_get_scales(e,t,s){const _=new Map;for(const[a,g]of t){if(g instanceof c.FactorRange!=e instanceof r.CategoricalScale)throw new Error(`Range ${g.type} is incompatible is Scale ${e.type}`);e instanceof n.LogScale&&g instanceof i.DataRange1d&&(g.scale_hint="log");const t=e.clone();t.setv({source_range:g,target_range:s}),_.set(a,t)}return _}_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._x_ranges,this._x_target),this._y_scales=this._get_scales(this.in_y_scale,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 o.to_object(this.x_scales)}get yscales(){return o.to_object(this.y_scales)}}s.CartesianFrame=x,x.__name__="CartesianFrame"},n function _(e,t,r,n,_){n();const c=e(146);class s extends c.Scale{constructor(e){super(e)}get s_compute(){const[e,t]=this._linear_compute_state(),r=this.source_range;return n=>e*r.synthetic(n)+t}compute(e){return super._linear_compute(this.source_range.synthetic(e))}v_compute(e){return super._linear_v_compute(this.source_range.v_synthetic(e))}invert(e){return this._linear_invert(e)}v_invert(e){return this._linear_v_invert(e)}}r.CategoricalScale=s,s.__name__="CategoricalScale"},n function _(t,e,r,n,s){n();const i=t(147),_=t(105),a=t(156),c=t(24);class o extends i.Transform{constructor(t){super(t)}static init_Scale(){this.internal((({Ref:t})=>({source_range:[t(_.Range)],target_range:[t(a.Range1d)]})))}r_compute(t,e){return this.target_range.is_reversed?[this.compute(e),this.compute(t)]:[this.compute(t),this.compute(e)]}r_invert(t,e){return this.target_range.is_reversed?[this.invert(e),this.invert(t)]:[this.invert(t),this.invert(e)]}_linear_compute(t){const[e,r]=this._linear_compute_state();return e*t+r}_linear_v_compute(t){const[e,r]=this._linear_compute_state(),n=new c.ScreenArray(t.length);for(let s=0;s<t.length;s++)n[s]=e*t[s]+r;return n}_linear_invert(t){const[e,r]=this._linear_compute_state();return(t-r)/e}_linear_v_invert(t){const[e,r]=this._linear_compute_state(),n=new Float64Array(t.length);for(let s=0;s<t.length;s++)n[s]=(t[s]-r)/e;return n}_linear_compute_state(){const t=this.source_range.start,e=this.source_range.end,r=this.target_range.start,n=(this.target_range.end-r)/(e-t);return[n,-n*t+r]}}r.Scale=o,o.__name__="Scale",o.init_Scale()},n function _(r,o,t,e,n){e(),n("CustomJSTransform",r(148).CustomJSTransform),n("Dodge",r(150).Dodge),n("Interpolator",r(152).Interpolator),n("Jitter",r(153).Jitter),n("LinearInterpolator",r(154).LinearInterpolator),n("StepInterpolator",r(155).StepInterpolator),n("Transform",r(149).Transform)},n function _(t,r,s,n,e){n();const a=t(149),o=t(13),u=t(34);class m extends a.Transform{constructor(t){super(t)}static init_CustomJSTransform(){this.define((({Unknown:t,String:r,Dict:s})=>({args:[s(t),{}],func:[r,""],v_func:[r,""]})))}get names(){return o.keys(this.args)}get values(){return o.values(this.args)}_make_transform(t,r){return new Function(…this.names,t,u.use_strict(r))}get scalar_transform(){return this._make_transform("x",this.func)}get vector_transform(){return this._make_transform("xs",this.v_func)}compute(t){return this.scalar_transform(…this.values,t)}v_compute(t){return this.vector_transform(…this.values,t)}}s.CustomJSTransform=m,m.__name__="CustomJSTransform",m.init_CustomJSTransform()},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,o,s){o();const i=e(151);class r extends i.RangeTransform{constructor(e){super(e)}static init_Dodge(){this.define((({Number:e})=>({value:[e,0]})))}_compute(e){return e+this.value}}n.Dodge=r,r.__name__="Dodge",r.init_Dodge()},n function _(e,n,t,r,s){r();const a=e(149),i=e(105),o=e(104),c=e(24),f=e(8);class u extends a.Transform{constructor(e){super(e)}static init_RangeTransform(){this.define((({Ref:e,Nullable:n})=>({range:[n(e(i.Range)),null]})))}v_compute(e){let n;if(this.range instanceof o.FactorRange)n=this.range.v_synthetic(e);else{if(!f.isArrayableOf(e,f.isNumber))throw new Error("unexpected");n=e}const t=new(c.infer_type(n))(n.length);for(let e=0;e<n.length;e++){const r=n[e];t[e]=this._compute(r)}return t}compute(e){if(this.range instanceof o.FactorRange)return this._compute(this.range.synthetic(e));if(f.isNumber(e))return this._compute(e);throw new Error("unexpected")}}t.RangeTransform=u,u.__name__="RangeTransform",u.init_RangeTransform()},n function _(t,e,r,n,o){n();const s=t(149),i=t(57),a=t(24),h=t(9),l=t(8);class d extends s.Transform{constructor(t){super(t),this._sorted_dirty=!0}static init_Interpolator(){this.define((({Boolean:t,Number:e,String:r,Ref:n,Array:o,Or:s,Nullable:a})=>({x:[s(r,o(e))],y:[s(r,o(e))],data:[a(n(i.ColumnarDataSource)),null],clip:[t,!0]})))}connect_signals(){super.connect_signals(),this.connect(this.change,(()=>this._sorted_dirty=!0))}v_compute(t){const e=new(a.infer_type(t))(t.length);for(let r=0;r<t.length;r++){const n=t[r];e[r]=this.compute(n)}return e}sort(t=!1){if(!this._sorted_dirty)return;let e,r;if(l.isString(this.x)&&l.isString(this.y)&&null!=this.data){const t=this.data.columns();if(!h.includes(t,this.x))throw new Error("The x parameter does not correspond to a valid column name defined in the data parameter");if(!h.includes(t,this.y))throw new Error("The y parameter does not correspond to a valid column name defined in the data parameter");e=this.data.get_column(this.x),r=this.data.get_column(this.y)}else{if(!l.isArray(this.x)||!l.isArray(this.y))throw new Error("parameters ‘x’ and ‘y’ must be both either string fields or arrays");e=this.x,r=this.y}if(e.length!==r.length)throw new Error("The length for x and y do not match");if(e.length<2)throw new Error("x and y must have at least two elements to support interpolation");const n=e.length,o=new Uint32Array(n);for(let t=0;t<n;t++)o[t]=t;const s=t?-1:1;o.sort(((t,r)=>s*(e[t]-e[r]))),this._x_sorted=new(a.infer_type(e))(n),this._y_sorted=new(a.infer_type(r))(n);for(let t=0;t<n;t++)this._x_sorted[t]=e[o[t]],this._y_sorted[t]=r[o[t]];this._sorted_dirty=!1}}r.Interpolator=d,d.__name__="Interpolator",d.init_Interpolator()},n function _(t,i,e,s,r){s();const n=t(1),u=t(151),o=t(20),a=n.__importStar(t(10));class h extends u.RangeTransform{constructor(t){super(t)}static init_Jitter(){this.define((({Number:t})=>({mean:[t,0],width:[t,1],distribution:[o.Distribution,"uniform"]})))}v_compute(t){return null!=this.previous_values&&this.previous_values.length==t.length||(this.previous_values=super.v_compute(t)),this.previous_values}_compute(t){switch(this.distribution){case"uniform":return t+this.mean+(a.random()-.5)*this.width;case"normal":return t+a.rnorm(this.mean,this.width)}}}e.Jitter=h,h.__name__="Jitter",h.init_Jitter()},n function _(t,s,_,r,e){r();const i=t(9),o=t(152);class n extends o.Interpolator{constructor(t){super(t)}compute(t){if(this.sort(!1),this.clip){if(t<this._x_sorted[0]||t>this._x_sorted[this._x_sorted.length-1])return NaN}else{if(t<this._x_sorted[0])return this._y_sorted[0];if(t>this._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=i.find_last_index(this._x_sorted,(s=>s<t)),_=this._x_sorted[s],r=this._x_sorted[s+1],e=this._y_sorted[s],o=this._y_sorted[s+1];return e+(t-_)/(r-_)*(o-e)}}_.LinearInterpolator=n,n.__name__="LinearInterpolator"},n function _(t,e,s,r,o){r();const i=t(152),_=t(20),n=t(9);class d extends i.Interpolator{constructor(t){super(t)}static init_StepInterpolator(){this.define((()=>({mode:[_.StepMode,"after"]})))}compute(t){if(this.sort(!1),this.clip){if(t<this._x_sorted[0]||t>this._x_sorted[this._x_sorted.length-1])return NaN}else{if(t<this._x_sorted[0])return this._y_sorted[0];if(t>this._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}let e;switch(this.mode){case"after":e=n.find_last_index(this._x_sorted,(e=>t>=e));break;case"before":e=n.find_index(this._x_sorted,(e=>t<=e));break;case"center":{const s=n.map(this._x_sorted,(e=>Math.abs(e-t))),r=n.min(s);e=n.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=d,d.__name__="StepInterpolator",d.init_StepInterpolator()},n function _(t,e,s,n,i){n();const a=t(105);class r extends a.Range{constructor(t){super(t)}static init_Range1d(){this.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}}]})))}_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 r({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 r({start:e,end:s})}}s.Range1d=r,r.__name__="Range1d",r.init_Range1d()},n function _(t,e,o,n,s){n();const a=t(158),r=t(24);class c extends a.ContinuousScale{constructor(t){super(t)}get s_compute(){const[t,e,o,n]=this._compute_state();return s=>{if(0==o)return 0;{const a=(Math.log(s)-n)/o;return isFinite(a)?a*t+e:NaN}}}compute(t){const[e,o,n,s]=this._compute_state();let a;if(0==n)a=0;else{const r=(Math.log(t)-s)/n;a=isFinite(r)?r*e+o:NaN}return a}v_compute(t){const[e,o,n,s]=this._compute_state(),a=new r.ScreenArray(t.length);if(0==n)for(let e=0;e<t.length;e++)a[e]=0;else for(let r=0;r<t.length;r++){const c=(Math.log(t[r])-s)/n;let l;l=isFinite(c)?c*e+o:NaN,a[r]=l}return a}invert(t){const[e,o,n,s]=this._compute_state(),a=(t-o)/e;return Math.exp(n*a+s)}v_invert(t){const[e,o,n,s]=this._compute_state(),a=new Float64Array(t.length);for(let r=0;r<t.length;r++){const c=(t[r]-o)/e;a[r]=Math.exp(n*c+s)}return a}_get_safe_factor(t,e){let o=t<0?0:t,n=e<0?0:e;if(o==n)if(0==o)[o,n]=[1,10];else{const t=Math.log(o)/Math.log(10);o=10**Math.floor(t),n=Math.ceil(t)!=Math.floor(t)?10**Math.ceil(t):10**(Math.ceil(t)+1)}return[o,n]}_compute_state(){const t=this.source_range.start,e=this.source_range.end,o=this.target_range.start,n=this.target_range.end-o,[s,a]=this._get_safe_factor(t,e);let r,c;0==s?(r=Math.log(a),c=0):(r=Math.log(a)-Math.log(s),c=Math.log(s));return[n,o,r,c]}}o.LogScale=c,c.__name__="LogScale"},n function _(n,c,o,s,e){s();const t=n(146);class u extends t.Scale{constructor(n){super(n)}}o.ContinuousScale=u,u.__name__="ContinuousScale"},n function _(t,i,n,a,e){a();const s=t(1),l=t(160),_=t(20),o=t(9),h=t(19),r=s.__importStar(t(99)),d=t(161);class u extends l.DataRange{constructor(t){super(t),this.have_updated_interactively=!1}static init_DataRange1d(){this.define((({Boolean:t,Number:i,Nullable:n})=>({start:[i],end:[i],range_padding:[i,.1],range_padding_units:[_.PaddingUnits,"percent"],flipped:[t,!1],follow:[n(_.StartEnd),null],follow_interval:[n(i),null],default_span:[i,2],only_visible:[t,!1]}))),this.internal((({Enum:t})=>({scale_hint:[t("log","auto"),"auto"]})))}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=o.concat(this.plots.map((t=>t.data_renderers)));return d.compute_renderers(0==t.length?"auto":t,n,i)}_compute_plot_bounds(t,i){let n=r.empty();for(const a of t){const t=i.get(a);null==t||!a.visible&&this.only_visible||(n=r.union(n,t))}return n}adjust_bounds_for_aspect(t,i){const n=r.empty();let a=t.x1-t.x0;a<=0&&(a=1);let e=t.y1-t.y0;e<=0&&(e=1);const s=.5*(t.x1+t.x0),l=.5*(t.y1+t.y0);return a<i*e?a=i*e:e=a/i,n.x1=s+.5*a,n.x0=s-.5*a,n.y1=l+.5*e,n.y0=l-.5*e,n}_compute_min_max(t,i){let n,a,e=r.empty();for(const i of t)e=r.union(e,i);return[n,a]=0==i?[e.x0,e.x1]:[e.y0,e.y1],[n,a]}_compute_range(t,i){const n=this.range_padding;let a,e;if(null!=this._initial_start&&(t=this._initial_start),null!=this._initial_end&&(i=this._initial_end),"log"==this.scale_hint){let s,l;if((isNaN(t)||!isFinite(t)||t<=0)&&(t=isNaN(i)||!isFinite(i)||i<=0?.1:i/100,h.logger.warn(`could not determine minimum data value for log axis, DataRange1d using value ${t}`)),(isNaN(i)||!isFinite(i)||i<=0)&&(i=isNaN(t)||!isFinite(t)||t<=0?10:100*t,h.logger.warn(`could not determine maximum data value for log axis, DataRange1d using value ${i}`)),i==t)l=this.default_span+.001,s=Math.log(t)/Math.log(10);else{let a,e;"percent"==this.range_padding_units?(a=Math.log(t)/Math.log(10),e=Math.log(i)/Math.log(10),l=(e-a)*(1+n)):(a=Math.log(t-n)/Math.log(10),e=Math.log(i+n)/Math.log(10),l=e-a),s=(a+e)/2}a=10**(s-l/2),e=10**(s+l/2)}else{let s;s=i==t?this.default_span:"percent"==this.range_padding_units?(i-t)*(1+n):i-t+2*n;const l=(i+t)/2;a=l-s/2,e=l+s/2}let s=1;this.flipped&&([a,e]=[e,a],s=-1);const l=this.follow_interval;return null!=l&&Math.abs(a-e)>l&&("start"==this.follow?e=a+s*l:"end"==this.follow&&(a=e-s*l)),[a,e]}update(t,i,n,a){if(this.have_updated_interactively)return;const e=this.computed_renderers();let s=this._compute_plot_bounds(e,t);null!=a&&(s=this.adjust_bounds_for_aspect(s,a)),this._plot_bounds.set(n,s);const[l,_]=this._compute_min_max(this._plot_bounds.values(),i);let[o,h]=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&&(h=this._initial_end):h=this._initial_end);let r=!1;"auto"==this.bounds&&(this.setv({bounds:[o,h]},{silent:!0}),r=!0);const[d,u]=[this.start,this.end];if(o!=d||h!=u){const t={};o!=d&&(t.start=o),h!=u&&(t.end=h),this.setv(t),r=!1}r&&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=u,u.__name__="DataRange1d",u.init_DataRange1d()},n function _(a,e,n,t,r){t();const s=a(105),i=a(62);class R extends s.Range{constructor(a){super(a)}static init_DataRange(){this.define((({String:a,Array:e,Ref:n})=>({names:[e(a),[]],renderers:[e(n(i.DataRenderer)),[]]})))}}n.DataRange=R,R.__name__="DataRange",R.init_DataRange()},n function _(n,e,t,r,u){r();const l=n(9);t.compute_renderers=function(n,e,t){if(null==n)return[];let r="auto"==n?e:n;return t.length>0&&(r=r.filter((n=>l.includes(t,n.name)))),r}},n function _(i,s,x,A,o){A(),o("Axis",i(163).Axis),o("CategoricalAxis",i(170).CategoricalAxis),o("ContinuousAxis",i(173).ContinuousAxis),o("DatetimeAxis",i(174).DatetimeAxis),o("LinearAxis",i(175).LinearAxis),o("LogAxis",i(192).LogAxis),o("MercatorAxis",i(195).MercatorAxis)},n function _(t,e,i,s,o){s();const n=t(1),a=t(164),l=t(165),r=t(166),_=t(169),c=n.__importStar(t(48)),h=t(20),b=t(24),m=t(140),d=t(9),u=t(8),x=t(167),g=t(104),{abs:f}=Math;class p extends a.GuideRendererView{update_layout(){this.layout=new m.SideLayout(this.panel,(()=>this.get_size()),!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(),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,[o,n]=this.coordinates.map_to_screen(i,s),[a,l]=this.normals,[r,_]=this.offsets;this.visuals.axis_line.set_value(t),t.beginPath();for(let e=0;e<o.length;e++){const i=Math.round(o[e]+a*r),s=Math.round(n[e]+l*_);t.lineTo(i,s)}t.stroke()}_draw_major_ticks(t,e,i){const s=this.model.major_tick_in,o=this.model.major_tick_out,n=this.visuals.major_tick_line;this._draw_ticks(t,i.major,s,o,n)}_draw_minor_ticks(t,e,i){const s=this.model.minor_tick_in,o=this.model.minor_tick_out,n=this.visuals.minor_tick_line;this._draw_ticks(t,i.minor,s,o,n)}_draw_major_labels(t,e,i){const s=i.major,o=this.compute_labels(s[this.dimension]),n=this.model.major_label_orientation,a=e.tick+this.model.major_label_standoff,l=this.visuals.major_label_text;this._draw_oriented_labels(t,o,s,n,this.panel.side,a,l)}_axis_label_extent(){const t=this.model.axis_label;if(!t)return 0;const e=new x.TextBox({text:t});e.angle=this.panel.get_label_angle_heuristic("parallel"),e.visuals=this.visuals.axis_label_text;const i=e.size(),s=0==this.dimension?i.height:i.width,o=this.model.axis_label_standoff;return s>0?o+s+3:0}_draw_axis_label(t,e,i){const s=this.model.axis_label;if(!s||null!=this.model.fixed_location)return;const o=new x.TextBox({text:s});o.angle=this.panel.get_label_angle_heuristic("parallel"),o.visuals=this.visuals.axis_label_text;const[n,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]}})(),[l,r]=this.normals,_=e.tick+e.tick_label+this.model.axis_label_standoff,{vertical_align:c,align:h}=this.panel.get_label_text_heuristics("parallel");o.position={sx:n+l*_,sy:a+r*_,x_anchor:h,y_anchor:c},o.align=h,o.paint(t)}_draw_ticks(t,e,i,s,o){if(!o.doit)return;const[n,a]=e,[l,r]=this.coordinates.map_to_screen(n,a),[_,c]=this.normals,[h,b]=this.offsets,[m,d]=[_*(h-i),c*(b-i)],[u,x]=[_*(h+s),c*(b+s)];o.set_value(t),t.beginPath();for(let e=0;e<l.length;e++){const i=Math.round(l[e]+u),s=Math.round(r[e]+x),o=Math.round(l[e]+m),n=Math.round(r[e]+d);t.moveTo(i,s),t.lineTo(o,n)}t.stroke()}_draw_oriented_labels(t,e,i,s,o,n,a){if(!a.doit||0==e.length)return;const[l,r]=i,[_,c]=this.coordinates.map_to_screen(l,r),[h,m]=this.offsets,[d,u]=this.normals,g=d*(h+n),f=u*(m+n),{vertical_align:p,align:k}=this.panel.get_label_text_heuristics(s),w=this.panel.get_label_angle_heuristic(s);e.visuals=a,e.angle=w;for(let t=0;t<e.length;t++){const i=e.items[t];i.position={sx:_[t]+g,sy:c[t]+f,x_anchor:k,y_anchor:p},i instanceof x.TextBox&&(i.align=k)}const j=e.length,v=b.Indices.all_set(j),{items:y}=e,T=y.map((t=>t.bbox())),O=(()=>{const[t]=this.ranges;return t.is_reversed?0==this.dimension?(t,e)=>T[t].left-T[e].right:(t,e)=>T[e].top-T[t].bottom:0==this.dimension?(t,e)=>T[e].left-T[t].right:(t,e)=>T[t].top-T[e].bottom})(),{major_label_policy:A}=this.model,M=A.filter(v,T,O),z=[…M.ones()];if(0!=z.length){const t=this.parent.canvas_view.bbox,e=e=>{const i=T[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:o}=y[e];y[e].position=Object.assign(Object.assign({},o),{sx:o.sx-s})}},i=e=>{const i=T[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:o}=y[e];y[e].position=Object.assign(Object.assign({},o),{sy:o.sy-s})}},s=z[0],o=z[z.length-1];0==this.dimension?(e(s),e(o)):(i(s),i(o))}for(const e of M){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,o=this.visuals.major_label_text;return[this._oriented_labels_extent(e,i,s,o)]}get extents(){const t=this._tick_label_extents();return{tick:this._tick_extent(),tick_labels:t,tick_label:d.sum(t),axis_label:this._axis_label_extent()}}_oriented_labels_extent(t,e,i,s){if(0==t.length)return 0;const o=this.panel.get_label_angle_heuristic(e);t.visuals=s,t.angle=o;const n=t.max_size(),a=0==this.dimension?n.height:n.width;return a>0?i+a+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_overrides:i}=this.model;for(let s=0;s<t.length;s++){const o=i[t[s]];null!=o&&(e[s]=new x.TextBox({text:o}))}return new x.GraphicsBoxes(e)}get offsets(){if(null!=this.model.fixed_location)return[0,0];const{frame:t}=this.plot_view;let[e,i]=[0,0];switch(this.panel.side){case"below":i=f(this.layout.bbox.top-t.bbox.bottom);break;case"above":i=f(this.layout.bbox.bottom-t.bbox.top);break;case"right":e=f(this.layout.bbox.left-t.bbox.right);break;case"left":e=f(this.layout.bbox.right-t.bbox.left)}return[e,i]}get ranges(){const t=this.dimension,e=(t+1)%2,{ranges:i}=this.coordinates;return[i[t],i[e]]}get computed_bounds(){const[t]=this.ranges,e=this.model.bounds,i=[t.min,t.max];if("auto"==e)return[t.min,t.max];{let t,s;const[o,n]=e,[a,l]=i,{min:r,max:_}=Math;return f(o-n)>f(a-l)?(t=_(r(o,n),a),s=r(_(o,n),l)):(t=r(o,n),s=_(o,n)),[t,s]}}get rule_coords(){const t=this.dimension,e=(t+1)%2,[i]=this.ranges,[s,o]=this.computed_bounds,n=[new Array(2),new Array(2)];return n[t][0]=Math.max(s,i.min),n[t][1]=Math.min(o,i.max),n[t][0]>n[t][1]&&(n[t][0]=n[t][1]=NaN),n[e][0]=this.loc,n[e][1]=this.loc,n}get tick_coords(){const t=this.dimension,e=(t+1)%2,[i]=this.ranges,[s,o]=this.computed_bounds,n=this.model.ticker.get_ticks(s,o,i,this.loc),a=n.major,l=n.minor,r=[[],[]],_=[[],[]],[c,h]=[i.min,i.max];for(let i=0;i<a.length;i++)a[i]<c||a[i]>h||(r[t].push(a[i]),r[e].push(this.loc));for(let i=0;i<l.length;i++)l[i]<c||l[i]>h||(_[t].push(l[i]),_[e].push(this.loc));return{major:r,minor:_}}get loc(){const{fixed_location:t}=this.model;if(null!=t){if(u.isNumber(t))return t;const[,e]=this.ranges;if(e instanceof g.FactorRange)return e.synthetic(t);throw new Error("unexpected")}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})}}i.AxisView=p,p.__name__="AxisView";class k extends a.GuideRenderer{constructor(t){super(t)}static init_Axis(){this.prototype.default_view=p,this.mixins([["axis_",c.Line],["major_tick_",c.Line],["minor_tick_",c.Line],["major_label_",c.Text],["axis_label_",c.Text]]),this.define((({Any:t,Int:e,Number:i,String:s,Ref:o,Dict:n,Tuple:a,Or:c,Nullable:b,Auto:m})=>({bounds:[c(a(i,i),m),"auto"],ticker:[o(l.Ticker)],formatter:[o(r.TickFormatter)],axis_label:[b(s),""],axis_label_standoff:[e,5],major_label_standoff:[e,5],major_label_orientation:[c(h.TickLabelOrientation,i),"horizontal"],major_label_overrides:[n(s),{}],major_label_policy:[o(_.LabelingPolicy),()=>new _.AllLabels],major_tick_in:[i,2],major_tick_out:[i,6],minor_tick_in:[i,0],minor_tick_out:[i,4],fixed_location:[b(c(i,t)),null]}))),this.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"})}}i.Axis=k,k.__name__="Axis",k.init_Axis()},n function _(e,r,d,i,n){i();const s=e(41);class t extends s.RendererView{}d.GuideRendererView=t,t.__name__="GuideRendererView";class _ extends s.Renderer{constructor(e){super(e)}static init_GuideRenderer(){this.override({level:"guide"})}}d.GuideRenderer=_,_.__name__="GuideRenderer",_.init_GuideRenderer()},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(167);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 _(t,e,s,i,n){i();const h=t(99),o=t(143),r=t(9),a=t(8),c=t(168),_=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}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.align="left",this.text=t}set visuals(t){const e=t.text_color.get_value(),s=t.text_alpha.get_value(),i=t.text_font_style.get_value();let n=t.text_font_size.get_value();const h=t.text_font.get_value(),{font_size_scale:o}=this;if(1!=o){const t=n.match(/^\s*(\d+(.\d+)?)px\s*$/);if(null!=t){const[,e]=t,s=Number(e);isNaN(s)||(n=s*o+"px")}}const r=`${i} ${n} ${h}`;this.font=r,this.color=_.color2css(e,s),this.line_height=t.text_line_height.get_value()}infer_text_height(){if(this.text.includes("\n"))return"ascent_descent";return function(t){for(const e of new Set(t))if(!("0"<=e&&e<="9"))switch(e){case",":case".":case"+":case"-":case"−":case"e":continue;default:return!1}return!0}(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=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=>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: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="left",y_anchor:c="center"}=this.position;return{x:h-(()=>{if(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(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=o.font_metrics(n),a=(this.line_height-1)*h.height,c=this.text.split("\n"),_=c.length,l=c.map((t=>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,g="%"==(null===(i=this.height)||void 0===i?void 0:i.unit)?this.height.value:1,f=r.max(l)*p,d=(u+a*(_-1))*g;t.save(),t.fillStyle=this.color,t.font=this.font,t.textAlign="left",t.textBaseline="alphabetic";const{sx:m,sy:b}=this.position,{align:y}=this,{angle:w}=this;w&&(t.translate(m,b),t.rotate(w),t.translate(-m,-b));let{x:v,y:z}=this._computed_position({width:f,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=>s.text_width(t,n))),l=(f-r.sum(_))/(o-1);for(let e=0;e<o;e++)t.fillText(h[e],i,z),i+=_[e]+l;z+=x.height+a}else for(let e=0;e<_;e++){const s=v+(()=>{switch(y){case"left":return 0;case"center":return.5*(f-l[e]);case"right":return f-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 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}=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="left",y_anchor:h="center"}=this.position;return{x:s-(()=>{if(a.isNumber(n))return n*t;switch(n){case"left":return 0;case"center":return.5*t;case"right":return t}})(),y:i-(()=>{if(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}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=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,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})`}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,p=t.length;for(let o=0;o<p;o++){const p=t[o],c=s[o];t[o]=r*p+i*c+a,s[o]=n*p+e*c+h}}transform(t,s,r,n,i,e){const{a,b:h,c:p,d:o,e:c,f:l}=this;return this.a=a*t+p*s,this.c=a*r+p*n,this.e=a*i+p*e+c,this.b=h*t+o*s,this.d=h*r+o*n,this.f=h*i+o*e+l,this}translate(t,s){return this.transform(1,0,0,1,t,s)}scale(t,s){return this.transform(t,0,0,s,0,0)}skew(t,s){return this.transform(1,s,t,1,0,0)}rotate(t){const s=e(t),r=a(t);return this.transform(r,s,-s,r,0,0)}rotate_ccw(t){return this.rotate(-t)}translate_x(t){return this.translate(t,0)}translate_y(t){return this.translate(0,t)}flip(){return this.scale(-1,-1)}flip_x(){return this.scale(1,-1)}flip_y(){return this.scale(-1,1)}}r.AffineTransform=h,h.__name__="AffineTransform"},n function _(e,n,s,t,i){t();const l=e(53),c=e(13),o=e(34),r=e(8),a=e(24);class u extends l.Model{constructor(e){super(e)}}s.LabelingPolicy=u,u.__name__="LabelingPolicy";class _ extends u{constructor(e){super(e)}filter(e,n,s){return e}}s.AllLabels=_,_.__name__="AllLabels";class d extends u{constructor(e){super(e)}static init_NoOverlap(){this.define((({Number:e})=>({min_distance:[e,5]})))}filter(e,n,s){const{min_distance:t}=this;let i=null;for(const n of e)null!=i&&s(i,n)<t?e.unset(n):i=n;return e}}s.NoOverlap=d,d.__name__="NoOverlap",d.init_NoOverlap();class m extends u{constructor(e){super(e)}static init_CustomLabelingPolicy(){this.define((({Unknown:e,String:n,Dict:s})=>({args:[s(e),{}],code:[n,""]})))}get names(){return c.keys(this.args)}get values(){return c.values(this.args)}get func(){const e=o.use_strict(this.code);return new a.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 l=i.next();if(l.done&&void 0!==l.value){const{value:n}=l;return n instanceof a.Indices?n:void 0===n?e:r.isIterable(n)?a.Indices.from_indices(e.size,n):a.Indices.all_unset(e.size)}{const n=[];do{n.push(l.value),l=i.next()}while(!l.done);return a.Indices.from_indices(e.size,n)}}}s.CustomLabelingPolicy=m,m.__name__="CustomLabelingPolicy",m.init_CustomLabelingPolicy()},n function _(t,s,e,o,i){o();const a=t(1),r=t(163),l=t(171),_=t(172),n=a.__importStar(t(48)),c=t(20),p=t(167),h=t(8);class m extends r.AxisView{_paint(t,s,e){this._draw_group_separators(t,s,e)}_draw_group_separators(t,s,e){const[o]=this.ranges,[i,a]=this.computed_bounds;if(!o.tops||o.tops.length<2||!this.visuals.separator_line.doit)return;const r=this.dimension,l=(r+1)%2,_=[[],[]];let n=0;for(let t=0;t<o.tops.length-1;t++){let s,e;for(let i=n;i<o.factors.length;i++)if(o.factors[i][0]==o.tops[t+1]){[s,e]=[o.factors[i-1],o.factors[i]],n=i;break}const c=(o.synthetic(s)+o.synthetic(e))/2;c>i&&c<a&&(_[r].push(c),_[l].push(this.loc))}const c=this.extents.tick_label;this._draw_ticks(t,_,-3,c-6,this.visuals.separator_line)}_draw_major_labels(t,s,e){const o=this._get_factor_info();let i=s.tick+this.model.major_label_standoff;for(let e=0;e<o.length;e++){const[a,r,l,_]=o[e];this._draw_oriented_labels(t,a,r,l,this.panel.side,i,_),i+=s.tick_labels[e]}}_tick_label_extents(){const t=this._get_factor_info(),s=[];for(const[e,,o,i]of t){const t=this._oriented_labels_extent(e,o,this.model.major_label_standoff,i);s.push(t)}return s}_get_factor_info(){const[t]=this.ranges,[s,e]=this.computed_bounds,o=this.loc,i=this.model.ticker.get_ticks(s,e,t,o),a=this.tick_coords,r=[],l=t=>new p.GraphicsBoxes(t.map((t=>h.isString(t)?new p.TextBox({text:t}):t))),_=t=>l(this.model.formatter.doFormat(t,this));if(1==t.levels){const t=_(i.major);r.push([t,a.major,this.model.major_label_orientation,this.visuals.major_label_text])}else if(2==t.levels){const t=_(i.major.map((t=>t[1])));r.push([t,a.major,this.model.major_label_orientation,this.visuals.major_label_text]),r.push([l(i.tops),a.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]));r.push([t,a.major,this.model.major_label_orientation,this.visuals.major_label_text]),r.push([l(s),a.mids,this.model.subgroup_label_orientation,this.visuals.subgroup_text]),r.push([l(i.tops),a.tops,this.model.group_label_orientation,this.visuals.group_text])}return r}get tick_coords(){const t=this.dimension,s=(t+1)%2,[e]=this.ranges,[o,i]=this.computed_bounds,a=this.model.ticker.get_ticks(o,i,e,this.loc),r={major:[[],[]],mids:[[],[]],tops:[[],[]],minor:[[],[]]};return r.major[t]=a.major,r.major[s]=a.major.map((()=>this.loc)),3==e.levels&&(r.mids[t]=a.mids,r.mids[s]=a.mids.map((()=>this.loc))),e.levels>1&&(r.tops[t]=a.tops,r.tops[s]=a.tops.map((()=>this.loc))),r}}e.CategoricalAxisView=m,m.__name__="CategoricalAxisView";class u extends r.Axis{constructor(t){super(t)}static init_CategoricalAxis(){this.prototype.default_view=m,this.mixins([["separator_",n.Line],["group_",n.Text],["subgroup_",n.Text]]),this.define((({Number:t,Or:s})=>({group_label_orientation:[s(c.TickLabelOrientation,t),"parallel"],subgroup_label_orientation:[s(c.TickLabelOrientation,t),"parallel"]}))),this.override({ticker:()=>new l.CategoricalTicker,formatter:()=>new _.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"})}}e.CategoricalAxis=u,u.__name__="CategoricalAxis",u.init_CategoricalAxis()},n function _(t,c,o,s,e){s();const r=t(165);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&&t<s&&e.push(r)}return e}}o.CategoricalTicker=i,i.__name__="CategoricalTicker"},n function _(t,r,o,c,a){c();const e=t(166),n=t(9);class i extends e.TickFormatter{constructor(t){super(t)}doFormat(t,r){return n.copy(t)}}o.CategoricalTickFormatter=i,i.__name__="CategoricalTickFormatter"},n function _(s,n,i,o,u){o();const e=s(163);class t extends e.AxisView{}i.ContinuousAxisView=t,t.__name__="ContinuousAxisView";class _ extends e.Axis{constructor(s){super(s)}}i.ContinuousAxis=_,_.__name__="ContinuousAxis"},n function _(e,t,i,s,a){s();const n=e(175),r=e(180),m=e(185);class _ extends n.LinearAxisView{}i.DatetimeAxisView=_,_.__name__="DatetimeAxisView";class c extends n.LinearAxis{constructor(e){super(e)}static init_DatetimeAxis(){this.prototype.default_view=_,this.override({ticker:()=>new m.DatetimeTicker,formatter:()=>new r.DatetimeTickFormatter})}}i.DatetimeAxis=c,c.__name__="DatetimeAxis",c.init_DatetimeAxis()},n function _(i,e,s,n,t){n();const r=i(173),a=i(176),o=i(177);class c extends r.ContinuousAxisView{}s.LinearAxisView=c,c.__name__="LinearAxisView";class _ extends r.ContinuousAxis{constructor(i){super(i)}static init_LinearAxis(){this.prototype.default_view=c,this.override({ticker:()=>new o.BasicTicker,formatter:()=>new a.BasicTickFormatter})}}s.LinearAxis=_,_.__name__="LinearAxis",_.init_LinearAxis()},n function _(i,t,e,n,o){n();const s=i(166),r=i(34);function c(i){let t="";for(const e of i)t+="-"==e?"−":e;return t}e.unicode_replace=c;class _ extends s.TickFormatter{constructor(i){super(i),this.last_precision=3}static init_BasicTickFormatter(){this.define((({Boolean:i,Int:t,Auto:e,Or:n})=>({precision:[n(t,e),"auto"],use_scientific:[i,!0],power_limit_high:[t,5],power_limit_low:[t,-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=>c(i.toExponential(e)))):i.map((i=>c(r.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<i.length;t++)if(e[t]==e[t-1])continue i;this.last_precision=o;break}e[0]=r.to_fixed(i[0],o);for(let t=1;t<i.length;t++)if(e[t]=r.to_fixed(i[t],o),e[t]==e[t-1])continue i;this.last_precision=o;break}return this.last_precision}doFormat(i,t){if(0==i.length)return[];const e=this._need_sci(i),n="auto"==this.precision?this._auto_precision(i,e):this.precision;return this._format_with_precision(i,e,n)}}e.BasicTickFormatter=_,_.__name__="BasicTickFormatter",_.init_BasicTickFormatter()},n function _(c,e,s,i,n){i();const r=c(178);class t extends r.AdaptiveTicker{constructor(c){super(c)}}s.BasicTicker=t,t.__name__="BasicTicker"},n function _(t,i,a,e,s){e();const n=t(179),r=t(9),_=t(10);class l extends n.ContinuousTicker{constructor(t){super(t)}static init_AdaptiveTicker(){this.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]})))}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=r.nth(this.mantissas,-1)/this.base,i=r.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 e=i-t,s=this.get_ideal_interval(t,i,a),n=Math.floor(_.log(s/this.base_factor,this.base)),l=this.base**n*this.base_factor,h=this.extended_mantissas,m=h.map((t=>Math.abs(a-e/(t*l)))),v=h[r.argmin(m)]*l;return _.clamp(v,this.get_min_interval(),this.get_max_interval())}}a.AdaptiveTicker=l,l.__name__="AdaptiveTicker",l.init_AdaptiveTicker()},n function _(t,i,n,s,e){s();const o=t(165),r=t(9);class c extends o.Ticker{constructor(t){super(t)}static init_ContinuousTicker(){this.define((({Int:t})=>({num_minor_ticks:[t,5],desired_num_ticks:[t,6]})))}get_ticks(t,i,n,s){return this.get_ticks_no_defaults(t,i,s,this.desired_num_ticks)}get_ticks_no_defaults(t,i,n,s){const e=this.get_interval(t,i,s),o=Math.floor(t/e),c=Math.ceil(i/e);let _;_=isFinite(o)&&isFinite(c)?r.range(o,c+1):[];const u=_.map((t=>t*e)).filter((n=>t<=n&&n<=i)),a=this.num_minor_ticks,f=[];if(a>0&&u.length>0){const n=e/a,s=r.range(0,a).map((t=>t*n));for(const n of s.slice(1)){const s=u[0]-n;t<=s&&s<=i&&f.push(s)}for(const n of u)for(const e of s){const s=n+e;t<=s&&s<=i&&f.push(s)}}return{major:u,minor:f}}get_ideal_interval(t,i,n){return(i-t)/n}}n.ContinuousTicker=c,c.__name__="ContinuousTicker",c.init_ContinuousTicker()},n function _(t,s,e,i,n){i();const r=t(1).__importDefault(t(181)),o=t(166),a=t(19),c=t(182),m=t(9),u=t(8);function h(t){return r.default(t,"%Y %m %d %H %M %S").split(/\s+/).map((t=>parseInt(t,10)))}function d(t,s){if(u.isFunction(s))return s(t);{const e=c.sprintf("$1%06d",function(t){return Math.round(t/1e3%1*1e6)}(t));return-1==(s=s.replace(/((^|[^%])(%%))%f/,e)).indexOf("%")?s:r.default(t,s)}}const l=["microseconds","milliseconds","seconds","minsec","minutes","hourmin","hours","days","months","years"];class f extends o.TickFormatter{constructor(t){super(t),this.strip_leading_zeros=!0}static init_DatetimeTickFormatter(){this.define((({String:t,Array:s})=>({microseconds:[s(t),["%fus"]],milliseconds:[s(t),["%3Nms","%S.%3Ns"]],seconds:[s(t),["%Ss"]],minsec:[s(t),[":%M:%S"]],minutes:[s(t),[":%M","%Mm"]],hourmin:[s(t),["%H:%M"]],hours:[s(t),["%Hh","%H:%M"]],days:[s(t),["%m/%d","%a%d"]],months:[s(t),["%m/%Y","%b %Y"]],years:[s(t),["%Y"]]})))}initialize(){super.initialize(),this._update_width_formats()}_update_width_formats(){const t=+r.default(new Date),s=function(s){const e=s.map((s=>d(t,s).length)),i=m.sort_by(m.zip(e,s),(([t])=>t));return m.unzip(i)};this._width_formats={microseconds:s(this.microseconds),milliseconds:s(this.milliseconds),seconds:s(this.seconds),minsec:s(this.minsec),minutes:s(this.minutes),hourmin:s(this.hourmin),hours:s(this.hours),days:s(this.days),months:s(this.months),years:s(this.years)}}_get_resolution_str(t,s){const e=1.1*t;switch(!1){case!(e<.001):return"microseconds";case!(e<1):return"milliseconds";case!(e<60):return s>=60?"minsec":"seconds";case!(e<3600):return s>=3600?"hourmin":"minutes";case!(e<86400):return"hours";case!(e<2678400):return"days";case!(e<31536e3):return"months";default:return"years"}}doFormat(t,s){if(0==t.length)return[];const e=Math.abs(t[t.length-1]-t[0])/1e3,i=e/(t.length-1),n=this._get_resolution_str(i,e),[,[r]]=this._width_formats[n],o=[],c=l.indexOf(n),m={};for(const t of l)m[t]=0;m.seconds=5,m.minsec=4,m.minutes=4,m.hourmin=3,m.hours=3;for(const s of t){let t,e;try{e=h(s),t=d(s,r)}catch(t){a.logger.warn(unable to format tick for timestamp value ${s}),a.logger.warn(` - ${t}`),o.push("ERR");continue}let i=!1,u=c;for(;0==e[m[l[u]]];){let r;if(u+=1,u==l.length)break;if(("minsec"==n||"hourmin"==n)&&!i){if("minsec"==n&&0==e[4]&&0!=e[5]||"hourmin"==n&&0==e[3]&&0!=e[4]){r=this._width_formats[l[c-1]][1][0],t=d(s,r);break}i=!0}r=this._width_formats[l[u]][1][0],t=d(s,r)}if(this.strip_leading_zeros){let s=t.replace(/^0+/g,"");s!=t&&isNaN(parseInt(s))&&(s=`0${s}`),o.push(s)}else o.push(t)}return o}}e.DatetimeTickFormatter=f,f.__name__="DatetimeTickFormatter",f.init_DatetimeTickFormatter()},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<a&&!(f[o][n]<=r);o++);if((u=f[o]).rules){for(s=t[u.rules],c=T+1;c>=T-g;–c)for(o=0,a=s.length;o<a;o++)s[o].from<=c&&c<=s[o].to?h.push(e(u,s[o],c)):s[o].to<c&&1==g&&(g=c-s[o].to);for(h.sort((function(e,t){return e.sort-t.sort})),o=0,a=h.length;o<a;o++)r>=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)&&o<r.save?null:n-r.offset-r.save);var r,o}function o(e,t,o){var a,i=+(o[1]+1),s=o[2]*i,c=u.indexOf(o[3].toLowerCase());if(c>9)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<e.length;t++)if(l=e[t],Array.isArray(l))t||isNaN(l[1])?l.splice.apply(e,[t–,1].concat(l)):s=l;else if(isNaN(l)){if("string"==(u=typeof l))~l.indexOf("%")?c.format=l:t||""!=l?!t&&(u=/^(\d{4})-(\d{2})-(\d{2})(?:[T\s](\d{2}):(\d{2})(?::(\d{2})(?:.(\d+))?)?(Z|(([+-])(\d{2}(:\d{2}){0,2})))?)?$/.exec(l))?((s=[]).push.apply(s,u.slice(1,8)),u[9]?(s.push(u[10]+1),s.push.apply(s,u[11].split(/:/))):u[8]&&s.push(1)):/^\w{2,3}_\w{2}$/.test(l)?c.locale=l:(u=i.exec(l))?f.push(u):c.zone=l:s=l;else if("function"==u){if(u=l.call(c))return u}else if(/^\w{2,3}_\w{2}$/.test(l.name))c[l.name]=l;else if(l.zones){for(u in l.zones)c[u]=l.zones[u];for(u in l.rules)c[u]=l.rules[u]}}else t||(s=l);if(c[c.locale]||delete c.locale,c[c.zone]||delete c.zone,null!=s){if(""==s)s=c.clock();else if(Array.isArray(s)){for(u=[],a=!s[7],t=0;t<11;t++)u[t]=+(s[t]||0);–u[1],s=Date.UTC.apply(Date.UTC,u)+-u[7]*(36e5*u[8]+6e4*u[9]+1e3*u[10])}else s=Math.floor(s);if(!isNaN(s)){if(a&&(s=r(c,s)),null==s)return s;for(t=0,a=f.length;t<a;t++)s=o(c,s,f[t]);return c.format?(u=new Date(n(c,s)),c.format.replace(/%([-0_^]?)(:{0,3})(\d*)(.)/g,(function(e,t,n,r,o){var a,i,l="0";if(a=c[o]){for(e=String(a.call(c,u,s,t,n.length)),"_"==(t||a.style)&&(l=" "),i="-"==t?0:a.pad||0;e.length<i;)e=l+e;for(i="-"==t?0:r||a.pad;e.length<i;)e=l+e;"N"==o&&i<e.length&&(e=e.slice(0,i)),"^"==t&&(e=e.toUpperCase())}return e}))):s}}return function(){return c.convert(arguments)}},locale:"en_US",en_US:{date:"%m/%d/%Y",time24:"%I:%M:%S %p",time12:"%I:%M:%S %p",dateTime:"%a %d %b %Y %I:%M:%S %p %Z",meridiem:["AM","PM"],month:{abbrev:"Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec".split("|\"),full:\"January|February|March|April|May|June|July|August|September|October|November|December\".split(\"|")},day:{abbrev:"Sun|Mon|Tue|Wed|Thu|Fri|Sat".split("|\"),full:\"Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday\".split(\"|")}}},u="Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|year|month|day|hour|minute|second|millisecond",i=new RegExp("^\\s*([+-])(\\d+)\\s+("+u+")s?\\s*$","i"),l=[36e5,6e4,1e3,1];function s(e,t){var n,r,o;return r=new Date(Date.UTC(e.getUTCFullYear(),0)),n=Math.floor((e.getTime()-r.getTime())/864e5),r.getUTCDay()==t?o=0:8==(o=7-r.getUTCDay()+t)&&(o=1),n>=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=u.__importStar(r(183)),f=r(184),o=u.__importDefault(r(181)),l=r(21),s=r(8);function c(r,...t){return f.sprintf(r,...t)}function m(r,t,n){if(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 p(r,t,e){if(null==t)return m;if(null!=e&&r in e){const t=e[r];if(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 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 function(r,t,n){const e=t.get_column(r);if(null==e)return null;if(s.isNumber(n))return e[n];const i=e[n.index];if(s.isTypedArray(i)||s.isArray(i))return s.isArray(i[0])?i[n.dim2][n.dim1]:i[n.flat_index];return i}(r.substring(1).replace(/[{}]/g,\"\"),t,n)}n.FormatterType=l.Enum(\"numeral\",\"printf\",\"datetime\"),n.DEFAULT_FORMATTERS={numeral:(r,t,n)=>a.format(r,t),datetime:(r,t,n)=>o.default(r,t),printf:(r,t,n)=>c(t,r)},n.sprintf=c,n.basic_formatter=m,n.get_formatter=p,n.get_value=d,n.replace_placeholders=function(r,t,n,e,i={},u){let a,f;if(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=`${p(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<e;n++)t+=\"0\";return t}function h(e,n,t,r){var i,a,o=Math.pow(10,n);return a=e.toFixed(0).search(\"e\")>-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){return 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<c||l<s||l<f)&&(r=0),(i=i.split("")).splice(r,0,o[u].currency.symbol+d),i=i.join("")):i=o[u].currency.symbol+d+i:i.indexOf(")")>-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)}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<M;i++)n+="0";Math.floor(Math.log(Math.abs(e))/Math.LN10)+1!==g&&(T>=Math.pow(10,12)&&!D||j?(k+=o[u].abbreviations.trillion,e/=Math.pow(10,12)):T<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,9)&&T>=Math.pow(10,6)&&!D||N?(k+=o[u].abbreviations.million,e/=Math.pow(10,6)):(T<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&&e<l){C+=K[s],a>0&&(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&&e<l){C+=G[s],a>0&&(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<v&&(x=new Array(v-x.length+1).join("0")+x),y>-1&&(x=x.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+o[u].delimiters.thousands)),0===n.indexOf(".")&&(x=""),b+(n.indexOf("(")<n.indexOf("-")?(B&&R?"(":"")+(P&&R||!B&&R?"-":""):(P&&R||!B&&R?"-":"")+(B&&R?"(":""))+(!R&&E&&0!==e?"+":"")+x+I+(L||"")+(k&&!r?k:"")+(C||"")+(B&&R?")":"")+w}function x(e,n){o[e]=n}function g(e){u=e;var n=o[e].defaults;n&&n.format&&a.defaultFormat(n.format),n&&n.currencyFormat&&a.defaultCurrencyFormat(n.currencyFormat)}(a=function(e){return a.isNumbro(e)?e=e.value():0===e||void 0===e?e=0:Number(e)||(e=a.fn.unformat(e)),new f(Number(e))}).version="1.6.2",a.isNumbro=function(e){return e instanceof f},a.setLanguage=function(e,n){console.warn("`setLanguage` is deprecated since version 1.6.0. Use `setCulture` instead");var t=e,r=e.split("-")[0],i=null;l[t]||(Object.keys(l).forEach((function(e){i||e.split("-")[0]!==r||(i=e)})),t=i||n||"en-US"),g(t)},a.setCulture=function(e,n){var t=e,r=e.split("-")[1],i=null;o[t]||(r&&Object.keys(o).forEach((function(e){i||e.split("-")[1]!==r||(i=e)})),t=i||n||"en-US"),g(t)},a.language=function(e,n){if(console.warn("`language` is deprecated since version 1.6.0. Use `culture` instead"),!e)return u;if(e&&!n){if(!l[e])throw new Error("Unknown language : "+e);g(e)}return!n&&l[e]||x(e,n),a},a.culture=function(e,n){if(!e)return u;if(e&&!n){if(!o[e])throw new Error("Unknown culture : "+e);g(e)}return!n&&o[e]||x(e,n),a},a.languageData=function(e){if(console.warn("`languageData` is deprecated since version 1.6.0. Use `cultureData` instead"),!e)return l[u];if(!l[e])throw new Error("Unknown language : "+e);return l[e]},a.cultureData=function(e){if(!e)return o[u];if(!o[e])throw new Error("Unknown culture : "+e);return o[e]},a.culture("en-US",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(e){var n=e%10;return 1==~~(e%100/10)?"th":1===n?"st":2===n?"nd":3===n?"rd":"th"},currency:{symbol:"$",position:"prefix"},defaults:{currencyFormat:",0000 a"},formats:{fourDigits:"0000 a",fullWithTwoDecimals:"$ ,0.00",fullWithTwoDecimalsNoCurrency:",0.00"}}),a.languages=function(){return console.warn("`languages` is deprecated since version 1.6.0. Use `cultures` instead"),l},a.cultures=function(){return o},a.zeroFormat=function(e){c="string"==typeof e?e:null},a.defaultFormat=function(e){s="string"==typeof e?e:"0.0"},a.defaultCurrencyFormat=function(e){"string"==typeof e?e:"0$"},a.validate=function(e,n){var t,r,i,o,l,u,c,s;if("string"!=typeof e&&(e+="",console.warn&&console.warn("Numbro.js: Value is not string. It has been co-erced to: ",e)),(e=e.trim()).match(/^\d+$/))return!0;if(""===e)return!1;try{c=a.cultureData(n)}catch(e){c=a.cultureData(a.culture())}return i=c.currency.symbol,l=c.abbreviations,t=c.delimiters.decimal,r="."===c.delimiters.thousands?"\.":c.delimiters.thousands,(null===(s=e.match(/^[^\d]+/))||(e=e.substr(1),s[0]===i))&&((null===(s=e.match(/[^\d]+$/))||(e=e.slice(0,-1),s[0]===l.thousand||s[0]===l.million||s[0]===l.billion||s[0]===l.trillion))&&(u=new RegExp(r+"{2}"),!e.match(/[^\d.,]/g)&&(!((o=e.split(t)).length>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<g;s++)if("string"==typeof t[s])y+=t[s];else if("object"==typeof t[s]){if((o=t[s]).keys)for(i=r[d],a=0;a<o.keys.length;a++){if(null==i)throw new Error(n(‘[sprintf] Cannot access property "%s" of undefined value "%s"’,o.keys[a],o.keys[a-1]));i=i[o.keys[a]]}else i=o.param_no?r[o.param_no]:r[d++];if(e.not_type.test(o.type)&&e.not_primitive.test(o.type)&&i instanceof Function&&(i=i()),e.numeric_arg.test(o.type)&&"number"!=typeof i&&isNaN(i))throw new TypeError(n("[sprintf] expecting number but found %T",i));switch(e.number.test(o.type)&&(u=i>=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,i,n,t,a){t();const s=e(9),r=e(178),c=e(186),m=e(187),_=e(190),k=e(191),o=e(189);class T extends c.CompositeTicker{constructor(e){super(e)}static init_DatetimeTicker(){this.override({num_minor_ticks:0,tickers:()=>[new r.AdaptiveTicker({mantissas:[1,2,5],base:10,min_interval:0,max_interval:500*o.ONE_MILLI,num_minor_ticks:0}),new r.AdaptiveTicker({mantissas:[1,2,5,10,15,20,30],base:60,min_interval:o.ONE_SECOND,max_interval:30*o.ONE_MINUTE,num_minor_ticks:0}),new r.AdaptiveTicker({mantissas:[1,2,4,6,8,12],base:24,min_interval:o.ONE_HOUR,max_interval:12*o.ONE_HOUR,num_minor_ticks:0}),new m.DaysTicker({days:s.range(1,32)}),new m.DaysTicker({days:s.range(1,31,3)}),new m.DaysTicker({days:[1,8,15,22]}),new m.DaysTicker({days:[1,15]}),new _.MonthsTicker({months:s.range(0,12,1)}),new _.MonthsTicker({months:s.range(0,12,2)}),new _.MonthsTicker({months:s.range(0,12,4)}),new _.MonthsTicker({months:s.range(0,12,6)}),new k.YearsTicker({})]})}}n.DatetimeTicker=T,T.__name__="DatetimeTicker",T.init_DatetimeTicker()},n function _(t,e,i,s,r){s();const n=t(179),_=t(9);class a extends n.ContinuousTicker{constructor(t){super(t)}static init_CompositeTicker(){this.define((({Array:t,Ref:e})=>({tickers:[t(e(n.ContinuousTicker)),[]]})))}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 s=e-t,r=this.get_ideal_interval(t,e,i),n=[_.sorted_index(this.min_intervals,r)-1,_.sorted_index(this.max_intervals,r)],a=[this.min_intervals[n[0]],this.max_intervals[n[1]]].map((t=>Math.abs(i-s/t)));let c;if(_.is_empty(a.filter((t=>!isNaN(t)))))c=this.tickers[0];else{const t=n[_.argmin(a)];c=this.tickers[t]}return c}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,s){return this.get_best_ticker(t,e,s).get_ticks_no_defaults(t,e,i,s)}}i.CompositeTicker=a,a.__name__="CompositeTicker",a.init_CompositeTicker()},n function _(t,e,n,i,s){i();const a=t(188),o=t(189),r=t(9);class c extends a.SingleIntervalTicker{constructor(t){super(t)}static init_DaysTicker(){this.define((({Int:t,Array:e})=>({days:[e(t),[]]}))),this.override({num_minor_ticks:0})}initialize(){super.initialize();const t=this.days;t.length>1?this.interval=(t[1]-t[0])*o.ONE_DAY:this.interval=31*o.ONE_DAY}get_ticks_no_defaults(t,e,n,i){const s=function(t,e){const n=o.last_month_no_later_than(new Date(t)),i=o.last_month_no_later_than(new Date(e));i.setUTCMonth(i.getUTCMonth()+1);const s=[],a=n;for(;s.push(o.copy_date(a)),a.setUTCMonth(a.getUTCMonth()+1),!(a>i););return s}(t,e),a=this.days,c=this.interval;return{major:r.concat(s.map((t=>((t,e)=>{const n=t.getUTCMonth(),i=[];for(const s of a){const a=o.copy_date(t);a.setUTCDate(s),new Date(a.getTime()+e/2).getUTCMonth()==n&&i.push(a)}return i})(t,c)))).map((t=>t.getTime())).filter((n=>t<=n&&n<=e)),minor:[]}}}n.DaysTicker=c,c.__name__="DaysTicker",c.init_DaysTicker()},n function _(e,t,n,i,r){i();const l=e(179);class a extends l.ContinuousTicker{constructor(e){super(e)}static init_SingleIntervalTicker(){this.define((({Number:e})=>({interval:[e]})))}get_interval(e,t,n){return this.interval}get_min_interval(){return this.interval}get_max_interval(){return this.interval}}n.SingleIntervalTicker=a,a.__name__="SingleIntervalTicker",a.init_SingleIntervalTicker()},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,i,s){i();const r=t(188),a=t(189),o=t(9);class c extends r.SingleIntervalTicker{constructor(t){super(t)}static init_MonthsTicker(){this.define((({Int:t,Array:e})=>({months:[e(t),[]]})))}initialize(){super.initialize();const t=this.months;t.length>1?this.interval=(t[1]-t[0])*a.ONE_MONTH:this.interval=12*a.ONE_MONTH}get_ticks_no_defaults(t,e,n,i){const s=function(t,e){const n=a.last_year_no_later_than(new Date(t)),i=a.last_year_no_later_than(new Date(e));i.setUTCFullYear(i.getUTCFullYear()+1);const s=[],r=n;for(;s.push(a.copy_date(r)),r.setUTCFullYear(r.getUTCFullYear()+1),!(r>i););return s}(t,e),r=this.months;return{major:o.concat(s.map((t=>r.map((e=>{const n=a.copy_date(t);return n.setUTCMonth(e),n}))))).map((t=>t.getTime())).filter((n=>t<=n&&n<=e)),minor:[]}}}n.MonthsTicker=c,c.__name__="MonthsTicker",c.init_MonthsTicker()},n function _(e,t,a,i,r){i();const n=e(177),_=e(188),s=e(189);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=s.last_year_no_later_than(new Date(e)).getUTCFullYear(),n=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 _(i,s,t,e,o){e();const n=i(173),r=i(193),_=i(194);class c extends n.ContinuousAxisView{}t.LogAxisView=c,c.__name__="LogAxisView";class x extends n.ContinuousAxis{constructor(i){super(i)}static init_LogAxis(){this.prototype.default_view=c,this.override({ticker:()=>new _.LogTicker,formatter:()=>new r.LogTickFormatter})}}t.LogAxis=x,x.__name__="LogAxis",x.init_LogAxis()},n function _(t,e,r,i,n){i();const o=t(166),a=t(176),s=t(194),c=t(167),{log:l,round:u}=Math;class _ extends o.TickFormatter{constructor(t){super(t)}static init_LogTickFormatter(){this.define((({Ref:t,Nullable:e})=>({ticker:[e(t(s.LogTicker)),null]})))}initialize(){super.initialize(),this.basic_formatter=new a.BasicTickFormatter}format_graphics(t,e){var r,i;if(0==t.length)return[];const n=null!==(i=null===(r=this.ticker)||void 0===r?void 0:r.base)&&void 0!==i?i:10,o=this._exponents(t,n);return null==o?this.basic_formatter.format_graphics(t,e):o.map((t=>{const e=new c.TextBox({text:a.unicode_replace(${n})}),r=new c.TextBox({text:a.unicode_replace(${t})});return new c.BaseExpo(e,r)}))}_exponents(t,e){let r=null;const i=[];for(const n of t){const t=u(l(n)/l(e));if(r==t)return null;r=t,i.push(t)}return i}doFormat(t,e){var r,i;if(0==t.length)return[];const n=null!==(i=null===(r=this.ticker)||void 0===r?void 0:r.base)&&void 0!==i?i:10,o=this._exponents(t,n);return null==o?this.basic_formatter.doFormat(t,e):o.map((t=>a.unicode_replace(${n}^${t})))}}r.LogTickFormatter=_,_.__name__="LogTickFormatter",_.init_LogTickFormatter()},n function _(t,o,e,i,s){i();const n=t(178),r=t(9);class c extends n.AdaptiveTicker{constructor(t){super(t)}static init_LogTicker(){this.override({mantissas:[1,5]})}get_ticks_no_defaults(t,o,e,i){const s=this.num_minor_ticks,n=[],c=this.base,a=Math.log(t)/Math.log(c),f=Math.log(o)/Math.log(c),l=f-a;let h;if(isFinite(l))if(l<2){const e=this.get_interval(t,o,i),c=Math.floor(t/e),a=Math.ceil(o/e);if(h=r.range(c,a+1).filter((t=>0!=t)).map((t=>t*e)).filter((e=>t<=e&&e<=o)),s>0&&h.length>0){const t=e/s,o=r.range(0,s).map((o=>o*t));for(const t of o.slice(1))n.push(h[0]-t);for(const t of h)for(const e of o)n.push(t+e)}}else{const t=Math.ceil(.999999*a),o=Math.floor(1.000001*f),e=Math.ceil((o-t)/9);if(h=r.range(t-1,o+1,e).map((t=>c**t)),s>0&&h.length>0){const t=c**e/s,o=r.range(1,s+1).map((o=>o*t));for(const t of o)n.push(h[0]/t);n.push(h[0]);for(const t of h)for(const e of o)n.push(t*e)}}else h=[];return{major:h.filter((e=>t<=e&&e<=o)),minor:n.filter((e=>t<=e&&e<=o))}}}e.LogTicker=c,c.__name__="LogTicker",c.init_LogTicker()},n function _(e,t,i,r,s){r();const a=e(163),o=e(175),c=e(196),n=e(197);class _ extends a.AxisView{}i.MercatorAxisView=_,_.__name__="MercatorAxisView";class x extends o.LinearAxis{constructor(e){super(e)}static init_MercatorAxis(){this.prototype.default_view=_,this.override({ticker:()=>new n.MercatorTicker({dimension:"lat"}),formatter:()=>new c.MercatorTickFormatter({dimension:"lat"})})}}i.MercatorAxis=x,x.__name__="MercatorAxis",x.init_MercatorAxis()},n function _(r,t,e,o,n){o();const i=r(176),c=r(20),a=r(65);class s extends i.BasicTickFormatter{constructor(r){super(r)}static init_MercatorTickFormatter(){this.define((({Nullable:r})=>({dimension:[r(c.LatLon),null]})))}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<e;n++){const[e]=a.wgs84_mercator.invert(r[n],t.loc);o[n]=e}else for(let n=0;n<e;n++){const[,e]=a.wgs84_mercator.invert(t.loc,r[n]);o[n]=e}return super.doFormat(o,t)}}e.MercatorTickFormatter=s,s.__name__="MercatorTickFormatter",s.init_MercatorTickFormatter()},n function _(t,o,n,r,s){r();const i=t(177),e=t(20),c=t(65);class _ extends i.BasicTicker{constructor(t){super(t)}static init_MercatorTicker(){this.define((({Nullable:t})=>({dimension:[t(e.LatLon),null]})))}get_ticks_no_defaults(t,o,n,r){if(null==this.dimension)throw new Error(${this}.dimension wasn’t configured);return[t,o]=c.clip_mercator(t,o,this.dimension),"lon"==this.dimension?this._get_ticks_lon(t,o,n,r):this._get_ticks_lat(t,o,n,r)}_get_ticks_lon(t,o,n,r){const[s]=c.wgs84_mercator.invert(t,n),[i,e]=c.wgs84_mercator.invert(o,n),_=super.get_ticks_no_defaults(s,i,n,r),a=[];for(const t of _.major)if(c.in_bounds(t,"lon")){const[o]=c.wgs84_mercator.compute(t,e);a.push(o)}const m=[];for(const t of _.minor)if(c.in_bounds(t,"lon")){const[o]=c.wgs84_mercator.compute(t,e);m.push(o)}return{major:a,minor:m}}_get_ticks_lat(t,o,n,r){const[,s]=c.wgs84_mercator.invert(n,t),[i,e]=c.wgs84_mercator.invert(n,o),_=super.get_ticks_no_defaults(s,e,n,r),a=[];for(const t of _.major)if(c.in_bounds(t,"lat")){const[,o]=c.wgs84_mercator.compute(i,t);a.push(o)}const m=[];for(const t of _.minor)if(c.in_bounds(t,"lat")){const[,o]=c.wgs84_mercator.compute(i,t);m.push(o)}return{major:a,minor:m}}}n.MercatorTicker=_,_.__name__="MercatorTicker",_.init_MercatorTicker()},n function _(e,i,r,c,k){c(),k("AdaptiveTicker",e(178).AdaptiveTicker),k("BasicTicker",e(177).BasicTicker),k("CategoricalTicker",e(171).CategoricalTicker),k("CompositeTicker",e(186).CompositeTicker),k("ContinuousTicker",e(179).ContinuousTicker),k("DatetimeTicker",e(185).DatetimeTicker),k("DaysTicker",e(187).DaysTicker),k("FixedTicker",e(199).FixedTicker),k("LogTicker",e(194).LogTicker),k("MercatorTicker",e(197).MercatorTicker),k("MonthsTicker",e(190).MonthsTicker),k("SingleIntervalTicker",e(188).SingleIntervalTicker),k("Ticker",e(165).Ticker),k("YearsTicker",e(191).YearsTicker),k("BinnedTicker",e(200).BinnedTicker)},n function _(i,t,e,r,n){r();const s=i(179);class _ extends s.ContinuousTicker{constructor(i){super(i)}static init_FixedTicker(){this.define((({Number:i,Array:t})=>({ticks:[t(i),[]],minor_ticks:[t(i),[]]})))}get_ticks_no_defaults(i,t,e,r){return{major:this.ticks,minor:this.minor_ticks}}get_interval(i,t,e){return 0}get_min_interval(){return 0}get_max_interval(){return 0}}e.FixedTicker=_,_.__name__="FixedTicker",_.init_FixedTicker()},n function _(e,n,t,i,r){i();const c=e(165),o=e(201),s=e(12);class a extends c.Ticker{constructor(e){super(e)}static init_BinnedTicker(){this.define((({Number:e,Ref:n,Or:t,Auto:i})=>({mapper:[n(o.ScanningColorMapper)],num_major_ticks:[t(e,i),8]})))}get_ticks(e,n,t,i){const{binning:r}=this.mapper.metrics,c=Math.max(0,s.left_edge_index(e,r)),o=Math.min(s.left_edge_index(n,r)+1,r.length-1),a=[];for(let e=c;e<=o;e++)a.push(r[e]);const{num_major_ticks:_}=this,m=[],h="auto"==_?a.length:_,l=Math.max(1,Math.floor(a.length/h));for(let e=0;e<a.length;e+=l)m.push(a[e]);return{major:m,minor:[]}}}t.BinnedTicker=a,a.__name__="BinnedTicker",a.init_BinnedTicker()},n function _(n,e,i,r,o){r();const t=n(202),a=n(12);class c extends t.ContinuousColorMapper{constructor(n){super(n)}cmap(n,e,i,r,o){if(n<o.binning[0])return i;if(n>o.binning[o.binning.length-1])return r;return e[a.left_edge_index(n,o.binning)]}}i.ScanningColorMapper=c,c.__name__="ScanningColorMapper"},n function _(t,o,e,n,s){n();const l=t(203),i=t(61),c=t(9),a=t(8);class r extends l.ColorMapper{constructor(t){super(t),this._scan_data=null}static init_ContinuousColorMapper(){this.define((({Number:t,String:o,Ref:e,Color:n,Or:s,Tuple:l,Array:c,Nullable:a})=>({high:[a(t),null],low:[a(t),null],high_color:[a(n),null],low_color:[a(n),null],domain:[c(l(e(i.GlyphRenderer),s(o,c(o)))),[]]})))}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:o}=this,e=[…this._collect(t)];this._scan_data=this.scan(e,o.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[o,e]of t)for(const t of a.isArray(e)?e:[e]){let e=o.data_source.get_column(t);e=o.view.indices.select(e);const n=o.view.masked,s=o.data_source.selected.indices;let l;if(null!=n&&s.length>0?l=c.intersection([…n],s):null!=n?l=[…n]:s.length>0&&(l=s),null!=l&&(e=c.map(l,(t=>e[t]))),e.length>0&&!a.isNumber(e[0]))for(const t of e)yield*t;else yield*e}}_v_compute(t,o,e,n){const{nan_color:s}=n;let{low_color:l,high_color:i}=n;null==l&&(l=e[0]),null==i&&(i=e[e.length-1]);const{domain:a}=this,r=c.is_empty(a)?t:[…this._collect(a)];this._scan_data=this.scan(r,e.length),this.metrics_change.emit();for(let n=0,c=t.length;n<c;n++){const c=t[n];isNaN(c)?o[n]=s:o[n]=this.cmap(c,e,l,i,this._scan_data)}}_colors(t){return Object.assign(Object.assign({},super._colors(t)),{low_color:null!=this.low_color?t(this.low_color):void 0,high_color:null!=this.high_color?t(this.high_color):void 0})}}e.ContinuousColorMapper=r,r.__name__="ContinuousColorMapper",r.init_ContinuousColorMapper()},n function _(t,r,e,n,o){n();const i=t(204),a=t(15),c=t(24),_=t(22),l=t(27);function s(t){return _.encode_rgba(_.color2rgba(t))}function p(t){const r=new Uint32Array(t.length);for(let e=0,n=t.length;e<n;e++)r[e]=s(t[e]);return r}e._convert_color=s,e._convert_palette=p;class u extends i.Mapper{constructor(t){super(t)}initialize(){super.initialize(),this.metrics_change=new a.Signal0(this,"metrics_change")}static init_ColorMapper(){this.define((({Color:t,Array:r})=>({palette:[r(t)],nan_color:[t,"gray"]})))}v_compute(t){const r=new Array(t.length);return this._v_compute(t,r,this.palette,this._colors((t=>t))),r}get rgba_mapper(){const t=this,r=p(this.palette),e=this._colors(s);return{v_compute(n){const o=new c.ColorArray(n.length);return t._v_compute(n,o,r,e),new Uint8ClampedArray(l.to_big_endian(o).buffer)}}}_colors(t){return{nan_color:t(this.nan_color)}}}e.ColorMapper=u,u.__name__="ColorMapper",u.init_ColorMapper()},n function _(r,e,n,s,o){s();const p=r(149);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 _(t,r,a,e,c){e(),c("BasicTickFormatter",t(176).BasicTickFormatter),c("CategoricalTickFormatter",t(172).CategoricalTickFormatter),c("DatetimeTickFormatter",t(180).DatetimeTickFormatter),c("FuncTickFormatter",t(206).FuncTickFormatter),c("LogTickFormatter",t(193).LogTickFormatter),c("MercatorTickFormatter",t(196).MercatorTickFormatter),c("NumeralTickFormatter",t(207).NumeralTickFormatter),c("PrintfTickFormatter",t(208).PrintfTickFormatter),c("TickFormatter",t(166).TickFormatter)},n function _(t,n,e,s,i){s();const r=t(166),c=t(13),a=t(34);class u extends r.TickFormatter{constructor(t){super(t)}static init_FuncTickFormatter(){this.define((({Unknown:t,String:n,Dict:e})=>({args:[e(t),{}],code:[n,""]})))}get names(){return c.keys(this.args)}get values(){return c.values(this.args)}_make_func(){const t=a.use_strict(this.code);return new Function("tick","index","ticks",…this.names,t)}doFormat(t,n){const e=this._make_func().bind({});return t.map(((t,n,s)=>e(t,n,s,…this.values)))}}e.FuncTickFormatter=u,u.__name__="FuncTickFormatter",u.init_FuncTickFormatter()},n function _(r,t,n,e,a){e();const o=r(1).__importStar(r(183)),i=r(166),u=r(20);class c extends i.TickFormatter{constructor(r){super(r)}static init_NumeralTickFormatter(){this.define((({String:r})=>({format:[r,"0,0"],language:[r,"en"],rounding:[u.RoundingFunction,"round"]})))}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,t){const{format:n,language:e,_rounding_fn:a}=this;return r.map((r=>o.format(r,n,e,a)))}}n.NumeralTickFormatter=c,c.__name__="NumeralTickFormatter",c.init_NumeralTickFormatter()},n function _(t,r,i,n,o){n();const a=t(166),e=t(182);class c extends a.TickFormatter{constructor(t){super(t)}static init_PrintfTickFormatter(){this.define((({String:t})=>({format:[t,"%s"]})))}doFormat(t,r){return t.map((t=>e.sprintf(this.format,t)))}}i.PrintfTickFormatter=c,c.__name__="PrintfTickFormatter",c.init_PrintfTickFormatter()},n function _(r,o,a,p,e){p(),e("CategoricalColorMapper",r(210).CategoricalColorMapper),e("CategoricalMarkerMapper",r(212).CategoricalMarkerMapper),e("CategoricalPatternMapper",r(213).CategoricalPatternMapper),e("ContinuousColorMapper",r(202).ContinuousColorMapper),e("ColorMapper",r(203).ColorMapper),e("LinearColorMapper",r(214).LinearColorMapper),e("LogColorMapper",r(215).LogColorMapper),e("ScanningColorMapper",r(201).ScanningColorMapper),e("EqHistColorMapper",r(216).EqHistColorMapper)},n function _(t,o,a,r,e){r();const c=t(211),l=t(203),i=t(104);class s extends l.ColorMapper{constructor(t){super(t)}static init_CategoricalColorMapper(){this.define((({Number:t,Nullable:o})=>({factors:[i.FactorSeq],start:[t,0],end:[o(t),null]})))}_v_compute(t,o,a,{nan_color:r}){c.cat_v_compute(t,this.factors,a,o,this.start,this.end,r)}}a.CategoricalColorMapper=s,s.__name__="CategoricalColorMapper",s.init_CategoricalColorMapper()},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;e<l;e++)if(n[e]!==t[e])return!1;return!0}e._cat_equals=f,e.cat_v_compute=function(n,t,e,l,i,o,r){const _=n.length;for(let g=0;g<_;g++){let _,s,h=n[g];u.isString(h)?_=c.index_of(t,h):(null!=i?h=null!=o?h.slice(i,o):h.slice(i):null!=o&&(h=h.slice(0,o)),_=1==h.length?c.index_of(t,h[0]):c.find_index(t,(n=>f(n,h)))),s=_<0||_>=e.length?r:e[_],l[g]=s}}},n function _(r,e,a,t,s){t();const c=r(211),i=r(104),l=r(204),n=r(20);class p extends l.Mapper{constructor(r){super(r)}static init_CategoricalMarkerMapper(){this.define((({Number:r,Array:e,Nullable:a})=>({factors:[i.FactorSeq],markers:[e(n.MarkerType)],start:[r,0],end:[a(r),null],default_value:[n.MarkerType,"circle"]})))}v_compute(r){const e=new Array(r.length);return c.cat_v_compute(r,this.factors,this.markers,e,this.start,this.end,this.default_value),e}}a.CategoricalMarkerMapper=p,p.__name__="CategoricalMarkerMapper",p.init_CategoricalMarkerMapper()},n function _(t,a,e,r,n){r();const s=t(211),c=t(104),i=t(204),p=t(20);class l extends i.Mapper{constructor(t){super(t)}static init_CategoricalPatternMapper(){this.define((({Number:t,Array:a,Nullable:e})=>({factors:[c.FactorSeq],patterns:[a(p.HatchPatternType)],start:[t,0],end:[e(t),null],default_value:[p.HatchPatternType," "]})))}v_compute(t){const a=new Array(t.length);return s.cat_v_compute(t,this.factors,this.patterns,a,this.start,this.end,this.default_value),a}}e.CategoricalPatternMapper=l,l.__name__="CategoricalPatternMapper",l.init_CategoricalPatternMapper()},n function _(n,r,o,t,a){t();const e=n(202),i=n(12);class s extends e.ContinuousColorMapper{constructor(n){super(n)}scan(n,r){const o=null!=this.low?this.low:i.min(n),t=null!=this.high?this.high: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(202),s=o(12);class e extends a.ContinuousColorMapper{constructor(o){super(o)}scan(o,t){const n=null!=this.low?this.low:s.min(o),r=null!=this.high?this.high: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(o<l.min)return n;const s=Math.log(o)-Math.log(l.min);let e=Math.floor(s*l.scale);return e>a&&(e=a),t[e]}}n.LogColorMapper=e,e.__name__="LogColorMapper"},n function _(n,t,i,e,o){e();const s=n(201),r=n(12),a=n(9),l=n(19);class c extends s.ScanningColorMapper{constructor(n){super(n)}static init_EqHistColorMapper(){this.define((({Int:n})=>({bins:[n,65536]})))}scan(n,t){const i=null!=this.low?this.low:r.min(n),e=null!=this.high?this.high:r.max(n),o=this.bins,s=a.linspace(i,e,o+1),c=r.bin_counts(n,s),h=new Array(o);for(let n=0,t=s.length;n<t-1;n++){const t=s[n],i=s[n+1];h[n]=(t+i)/2}const p=a.cumsum(c),g=p[p.length-1],u=r.map(p,(n=>n/g));let m=t-1,M=[],_=0,f=2*t;for(;m!=t&&_<4&&0!=m;){const n=f/m;if(n>1e3)break;f=Math.round(Math.max(t*n,t));const i=a.range(0,f),e=r.map(u,(n=>n*(f-1)));M=r.interpolate(i,e,h);m=a.uniq(M).length-1,_++}if(0==m){M=[i,e];for(let n=0;n<t-1;n++)M.push(e)}else M=M.slice(M.length-t-1),m!=t&&l.logger.warn("EqHistColorMapper warning: Histogram equalization did not converge.");return M[0]=i,M[M.length-1]=e,{min:i,max:e,binning:M}}}i.EqHistColorMapper=c,c.__name__="EqHistColorMapper",c.init_EqHistColorMapper()},n function _(a,e,l,c,n){c(),n("CategoricalScale",a(145).CategoricalScale),n("ContinuousScale",a(158).ContinuousScale),n("LinearScale",a(218).LinearScale),n("LinearInterpolationScale",a(219).LinearInterpolationScale),n("LogScale",a(157).LogScale),n("Scale",a(146).Scale)},n function _(e,t,n,r,_){r();const i=e(158);class u extends i.ContinuousScale{constructor(e){super(e)}get s_compute(){const[e,t]=this._linear_compute_state();return n=>e*n+t}compute(e){return this._linear_compute(e)}v_compute(e){return this._linear_v_compute(e)}invert(e){return this._linear_invert(e)}v_invert(e){return this._linear_v_invert(e)}}n.LinearScale=u,u.__name__="LinearScale"},n function _(n,e,t,r,i){r();const a=n(146),o=n(12);class c extends a.Scale{constructor(n){super(n)}static init_LinearInterpolationScale(){this.internal((({Arrayable:n})=>({binning:[n]})))}get s_compute(){throw new Error("not implemented")}compute(n){return n}v_compute(n){const{binning:e}=this,{start:t,end:r}=this.source_range,i=t,a=r,c=e.length,l=(r-t)/(c-1),s=new Float64Array(c);for(let n=0;n<c;n++)s[n]=t+n*l;const _=o.map(n,(n=>{if(n<i)return i;if(n>a)return a;const t=o.left_edge_index(n,e),r=e[t],c=(n-r)/(e[t+1]-r),l=s[t];return l+c*(s[t+1]-l)}));return this._linear_v_compute(_)}invert(n){return n}v_invert(n){return new Float64Array(n)}}t.LinearInterpolationScale=c,c.__name__="LinearInterpolationScale",c.init_LinearInterpolationScale()},n function _(a,n,e,g,R){g(),R("DataRange",a(160).DataRange),R("DataRange1d",a(159).DataRange1d),R("FactorRange",a(104).FactorRange),R("Range",a(105).Range),R("Range1d",a(156).Range1d)},n function _(a,o,i,t,e){t();var n=a(141);e("Sizeable",n.Sizeable),e("SizingPolicy",n.SizingPolicy);var c=a(142);e("Layoutable",c.Layoutable),e("LayoutItem",c.LayoutItem);var r=a(222);e("HStack",r.HStack),e("VStack",r.VStack);var l=a(223);e("Grid",l.Grid),e("Row",l.Row),e("Column",l.Column);var S=a(224);e("ContentBox",S.ContentBox),e("VariadicBox",S.VariadicBox)},n function _(t,e,h,i,r){i();const n=t(142),o=t(99);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(141),l=t(142),r=t(8),h=t(99),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 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 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<n;s++){const e=(()=>{var t;const i=r.isPlainObject(this.rows)?null!==(t=this.rows[s])&&void 0!==t?t:this.rows[""]:this.rows;return null==i?{policy:"auto"}:r.isNumber(i)?{policy:"fixed",height:i}: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");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<l;t++){const i=(()=>{var i;const s=r.isPlainObject(this.cols)?null!==(i=this.cols[t])&&void 0!==i?i:this.cols[""]:this.cols;return null==s?{policy:"auto"}:r.isNumber(s)?{policy:"fixed",width:s}: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");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]=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:c.sum(t)+(s-1)*o,width: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<s;t++){const i=o[t];c[t]="fixed"==i.policy?i.height:0}const p=new Array(e);for(let t=0;t<e;t++){const i=l[t];p[t]="fixed"==i.policy?i.width:0}const _=new f;i.foreach(((i,s)=>{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=s=>{let o;o="fixed"==this.sizing.height_policy&&null!=this.sizing.height?this.sizing.height:t.height!=1/0&&this.is_height_expanding()?t.height:s.size.height;let l=0;for(let t=0;t<i;t++){const i=e[t];"fit"==i.policy||"max"==i.policy?l+=i.flex:o-=s.row_heights[t]}if(o-=(i-1)*n,0!=l&&o>0)for(let t=0;t<i;t++){const i=e[t];if("fit"==i.policy||"max"==i.policy){const e=g(o*(i.flex/l));o-=e,s.row_heights[t]=e,l-=i.flex}}else if(o<0){let t=0;for(let s=0;s<i;s++){"fixed"!=e[s].policy&&t++}let n=-o;for(let o=0;o<i;o++){if("fixed"!=e[o].policy){const i=s.row_heights[o],e=g(n/t);s.row_heights[o]=a(i-e,0),n-=e>i?i:e,t–}}}},h=i=>{let e;e="fixed"==this.sizing.width_policy&&null!=this.sizing.width?this.sizing.width:t.width!=1/0&&this.is_width_expanding()?t.width:i.size.width;let n=0;for(let t=0;t<s;t++){const s=o[t];"fit"==s.policy||"max"==s.policy?n+=s.flex:e-=i.col_widths[t]}if(e-=(s-1)*l,0!=n&&e>0)for(let t=0;t<s;t++){const s=o[t];if("fit"==s.policy||"max"==s.policy){const o=g(e*(s.flex/n));e-=o,i.col_widths[t]=o,n-=s.flex}}else if(e<0){let t=0;for(let i=0;i<s;i++){"fixed"!=o[i].policy&&t++}let n=-e;for(let e=0;e<s;e++){if("fixed"!=o[e].policy){const s=i.col_widths[e],o=g(n/t);i.col_widths[e]=a(s-o,0),n-=o>s?s:o,t–}}}},c=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}}));r(c),h(c);const p=this._measure_cells(((t,i)=>({width:c.col_widths[i],height:c.row_heights[t]})));r(p),h(p);const{row_heights:f,col_widths:_}=p;return{size:this._measure_totals(f,_),row_heights:f,col_widths:_}}_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}=this._measure_grid(t),{size_hints:c}=this._measure_cells(((t,i)=>({width:r[i],height:l[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<s;i++){const t=f[i];t.top=e,e+=t.height+o}for(let i=0,s=this.absolute?t.left:0;i<e;i++){const t=_[i];t.left=s,s+=t.width+n}d.foreach((({r0:t,c0:i,r1:s,c1:e},l)=>{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(142),c=e(141),o=e(43);class r extends a.ContentLayoutable{constructor(e){super(),this.content_size=o.unsized(e,(()=>new c.Sizeable(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 o.sized(this.el,t,(()=>{const e=new c.Sizeable(o.content_size(this.el)),{border:t,padding:s}=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(141),r=t(142),n=t(99);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,n){s();const o=t(1),l=t(139),a=t(10),_=t(143),d=t(20),h=o.__importStar(t(48));class r extends l.TextAnnotationView{_get_size(){const{ctx:t}=this.layer;this.visuals.text.set_value(t);const{width:e}=t.measureText(this.model.text),{height:i}=_.font_metrics(t.font);return{width:e,height:i}}_render(){const{angle:t,angle_units:e}=this.model,i=a.resolve_angle(t,e),s=null!=this.layout?this.layout:this.plot_view.frame,n=this.coordinates.x_scale,o=this.coordinates.y_scale;let l="data"==this.model.x_units?n.compute(this.model.x):s.bbox.xview.compute(this.model.x),_="data"==this.model.y_units?o.compute(this.model.y):s.bbox.yview.compute(this.model.y);l+=this.model.x_offset,_-=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,l,_,i)}}i.LabelView=r,r.__name__="LabelView";class c extends l.TextAnnotation{constructor(t){super(t)}static init_Label(){this.prototype.default_view=r,this.mixins([h.Text,["border_",h.Line],["background_",h.Fill]]),this.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]}))),this.override({background_fill_color:null,border_line_color:null})}}i.Label=c,c.__name__="Label",c.init_Label()},n function _(t,e,s,i,o){i();const l=t(1),n=t(139),a=t(56),r=t(130),_=l.__importStar(t(48)),c=t(20),h=t(43),d=l.__importStar(t(18)),u=t(143);class x extends n.TextAnnotationView{set_data(t){a.DataAnnotationView.prototype.set_data.call(this,t)}initialize(){if(super.initialize(),this.set_data(this.model.source),"css"==this.model.render_mode)for(let t=0,e=this.text.length;t<e;t++){const t=h.div({style:{display:"none"}});this.el.appendChild(t)}}connect_signals(){super.connect_signals();const t=()=>{this.set_data(this.model.source),"css"==this.model.render_mode?this.render():this.request_render()};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)}_calculate_text_dimensions(t,e){const{width:s}=t.measureText(e),{height:i}=u.font_metrics(this.visuals.text.font_value(0));return[s,i]}_map_data(){const t=this.coordinates.x_scale,e=this.coordinates.y_scale,s=null!=this.layout?this.layout:this.plot_view.frame;return["data"==this.model.x_units?t.v_compute(this._x):s.bbox.xview.v_compute(this._x),"data"==this.model.y_units?e.v_compute(this._y):s.bbox.yview.v_compute(this._y)]}_render(){const t="canvas"==this.model.render_mode?this._v_canvas_text.bind(this):this._v_css_text.bind(this),{ctx:e}=this.layer,[s,i]=this._map_data();for(let o=0,l=this.text.length;o<l;o++)t(e,o,this.text.get(o),s[o]+this.x_offset.get(o),i[o]-this.y_offset.get(o),this.angle.get(o))}_get_size(){const{ctx:t}=this.layer;this.visuals.text.set_vectorize(t,0);const{width:e}=t.measureText(this.text.get(0)),{height:s}=u.font_metrics(t.font);return{width:e,height:s}}_v_canvas_text(t,e,s,i,o,l){this.visuals.text.set_vectorize(t,e);const n=this._calculate_bounding_box_dimensions(t,s);t.save(),t.beginPath(),t.translate(i,o),t.rotate(l),t.rect(n[0],n[1],n[2],n[3]),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_vectorize(t,e),t.fill()),this.visuals.border_line.doit&&(this.visuals.border_line.set_vectorize(t,e),t.stroke()),this.visuals.text.doit&&(this.visuals.text.set_vectorize(t,e),t.fillText(s,0,0)),t.restore()}_v_css_text(t,e,s,i,o,l){const n=this.el.children[e];n.textContent=s,this.visuals.text.set_vectorize(t,e);const[a,r]=this._calculate_bounding_box_dimensions(t,s);n.style.position="absolute",n.style.left=`${i+a}px`,n.style.top=`${o+r}px`,n.style.color=t.fillStyle,n.style.font=t.font,n.style.lineHeight="normal",l&&(n.style.transform=`rotate(${l}rad)`),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_vectorize(t,e),n.style.backgroundColor=t.fillStyle),this.visuals.border_line.doit&&(this.visuals.border_line.set_vectorize(t,e),n.style.borderStyle=t.lineDash.length<2?"solid":"dashed",n.style.borderWidth=`${t.lineWidth}px`,n.style.borderColor=t.strokeStyle),h.display(n)}}s.LabelSetView=x,x.__name__="LabelSetView";class v extends n.TextAnnotation{constructor(t){super(t)}static init_LabelSet(){this.prototype.default_view=x,this.mixins([_.TextVector,["border_",_.LineVector],["background_",_.FillVector]]),this.define((({Ref:t})=>({x:[d.XCoordinateSpec,{field:"x"}],y:[d.YCoordinateSpec,{field:"y"}],x_units:[c.SpatialUnits,"data"],y_units:[c.SpatialUnits,"data"],text:[d.StringSpec,{field:"text"}],angle:[d.AngleSpec,0],x_offset:[d.NumberSpec,{value:0}],y_offset:[d.NumberSpec,{value:0}],source:[t(r.ColumnDataSource),()=>new r.ColumnDataSource]}))),this.override({background_fill_color:null,border_line_color:null})}}s.LabelSet=v,v.__name__="LabelSet",v.init_LabelSet()},n function _(t,e,i,s,l){s();const n=t(1),h=t(40),o=t(229),a=t(20),_=n.__importStar(t(48)),r=t(15),d=t(140),c=t(143),g=t(99),m=t(9),b=t(8),f=t(11);class u extends h.AnnotationView{update_layout(){const{panel:t}=this;this.layout=null!=t?new d.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:s,label_width:l}=this.model;this.max_label_height=m.max([c.font_metrics(this.visuals.label_text.font_value()).height,s,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,m.max([n.measureText(e).width,l]));this.visuals.title_text.set_value(n),this.title_height=this.model.title?c.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 h=Math.max(m.max([…this.text_widths.values()]),0),o=this.model.margin,{legend_padding:a}=this,_=this.model.spacing,{label_standoff:r}=this.model;let d,u;if("vertical"==this.model.orientation)d=t.length*this.max_label_height+Math.max(t.length-1,0)*_+2*a+this.title_height,u=m.max([h+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+=m.max([t,l])+i+r;u=m.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(b.isString(v))switch(v){case"top_left":y=p.start+o,k=w.start+o;break;case"top":case"top_center":y=(p.end+p.start)/2-u/2,k=w.start+o;break;case"top_right":y=p.end-o-u,k=w.start+o;break;case"bottom_right":y=p.end-o-u,k=w.end-o-d;break;case"bottom":case"bottom_center":y=(p.end+p.start)/2-u/2,k=w.end-o-d;break;case"bottom_left":y=p.start+o,k=w.end-o-d;break;case"left":case"center_left":y=p.start+o,k=(w.end+w.start)/2-d/2;break;case"center":case"center_center":y=(p.end+p.start)/2-u/2,k=(w.end+w.start)/2-d/2;break;case"right":case"center_right":y=p.end-o-u,k=(w.end+w.start)/2-d/2}else if(b.isArray(v)&&2==v.length){const[t,e]=v;y=x.bbox.xview.compute(t),k=x.bbox.yview.compute(e)-d}else f.unreachable();return new g.BBox({left:y,top:k,width:u,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:s}=this.model,{legend_padding:l}=this,n=this.model.spacing,{label_standoff:h}=this.model;let o=i=l;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+o,m=a.y+i+this.title_height;let b,f;[b,f]=_?[a.width-2*l,this.max_label_height]:[this.text_widths.get(c)+s+h,this.max_label_height];if(new g.BBox({left:d,top:m,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:o+=this.text_widths.get(c)+s+h+n}}return!1}_render(){if(0==this.model.items.length)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.set_value(t),t.fill(),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.stroke())}_draw_legend_items(t,e){const{glyph_width:i,glyph_height:s}=this.model,{legend_padding:l}=this,n=this.model.spacing,{label_standoff:h}=this.model;let o=l,a=l;const _="vertical"==this.model.orientation;for(const r of this.model.items){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 m.every(r.renderers,(t=>t.visible));case"mute":return m.every(r.renderers,(t=>!t.muted))}})();for(const m of d){const d=e.x+o,b=e.y+a+this.title_height,f=d+i,u=b+s;_?a+=this.max_label_height+n:o+=this.text_widths.get(m)+i+h+n,this.visuals.label_text.set_value(t),t.fillText(m,f+h,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 s,n;[s,n]=_?[e.width-2*l,this.max_label_height]:[this.text_widths.get(m)+i+h,this.max_label_height],t.beginPath(),t.rect(d,b,s,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=u,u.__name__="LegendView";class x extends h.Annotation{constructor(t){super(t)}initialize(){super.initialize(),this.item_change=new r.Signal0(this,"item_change")}static init_Legend(){this.prototype.default_view=u,this.mixins([["label_",_.Text],["title_",_.Text],["inactive_",_.Fill],["border_",_.Line],["background_",_.Fill]]),this.define((({Number:t,String:e,Array:i,Tuple:s,Or:l,Ref:n,Nullable:h})=>({orientation:[a.Orientation,"vertical"],location:[l(a.LegendLocation,s(t,t)),"top_right"],title:[h(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(o.LegendItem)),[]],click_policy:[a.LegendClickPolicy,"none"]}))),this.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"})}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=x,x.__name__="Legend",x.init_Legend()},n function _(e,r,n,l,t){l();const i=e(1),s=e(53),o=e(61),_=e(57),a=e(230),u=i.__importStar(e(18)),d=e(19),c=e(9);class f extends s.Model{constructor(e){super(e)}static init_LegendItem(){this.define((({Int:e,Array:r,Ref:n,Nullable:l})=>({label:[u.NullStringSpec,null],renderers:[r(n(o.GlyphRenderer)),[]],index:[l(e),null]})))}_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&&!c.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()||d.logger.error("Non matching data sources on legend item renderers");this._check_field_label_on_data_source()||d.logger.error(Bad column name on label: ${this.label})}get_field_from_label_prop(){const{label:e}=this;return a.isField(e)?e.field:null}get_labels_list_from_label_prop(){if(a.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 n=r.get_column(e);return null!=n?c.uniq(Array.from(n)):["Invalid field"]}}return[]}}n.LegendItem=f,f.__name__="LegendItem",f.init_LegendItem()},n function _(i,n,e,t,u){t();const c=i(8);e.isValue=function(i){return c.isPlainObject(i)&&"value"in i},e.isField=function(i){return c.isPlainObject(i)&&"field"in i},e.isExpr=function(i){return c.isPlainObject(i)&&"expr"in i}},n function _(t,i,s,n,e){n();const o=t(1),l=t(40),a=o.__importStar(t(48)),c=t(20);class h extends l.AnnotationView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render()))}_render(){const{xs:t,ys:i}=this.model;if(t.length!=i.length)return;const s=t.length;if(s<3)return;const{frame:n}=this.plot_view,{ctx:e}=this.layer,o=this.coordinates.x_scale,l=this.coordinates.y_scale,{screen:a}=this.model;function c(t,i,s,n){return a?t:"data"==i?s.v_compute(t):n.v_compute(t)}const h=c(t,this.model.xs_units,o,n.bbox.xview),r=c(i,this.model.ys_units,l,n.bbox.yview);e.beginPath();for(let t=0;t<s;t++)e.lineTo(h[t],r[t]);e.closePath(),this.visuals.fill.doit&&(this.visuals.fill.set_value(e),e.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_value(e),e.fill()),this.visuals.line.doit&&(this.visuals.line.set_value(e),e.stroke())}}s.PolyAnnotationView=h,h.__name__="PolyAnnotationView";class r extends l.Annotation{constructor(t){super(t)}static init_PolyAnnotation(){this.prototype.default_view=h,this.mixins([a.Line,a.Fill,a.Hatch]),this.define((({Number:t,Array:i})=>({xs:[i(t),[]],xs_units:[c.SpatialUnits,"data"],ys:[i(t),[]],ys_units:[c.SpatialUnits,"data"]}))),this.internal((({Boolean:t})=>({screen:[t,!1]}))),this.override({fill_color:"#fff9ba",fill_alpha:.4,line_color:"#cccccc",line_alpha:.3})}update({xs:t,ys:i}){this.setv({xs:t,ys:i,screen:!0},{check_eq:!1})}}s.PolyAnnotation=r,r.__name__="PolyAnnotation",r.init_PolyAnnotation()},n function _(e,t,i,n,o){n();const s=e(1),l=e(40),r=s.__importStar(e(48));class c extends l.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:i}=this.plot_view,n=this.coordinates.x_scale,o=this.coordinates.y_scale;let s,l,r,c;if(0==e)s=o.compute(t),l=s,r=i.bbox.left,c=r+i.bbox.width;else{s=i.bbox.top,l=s+i.bbox.height;const a=(o.invert(s)-t)/e,_=(o.invert(l)-t)/e;r=n.compute(a),c=n.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()}}i.SlopeView=c,c.__name__="SlopeView";class a extends l.Annotation{constructor(e){super(e)}static init_Slope(){this.prototype.default_view=c,this.mixins(r.Line),this.define((({Number:e,Nullable:t})=>({gradient:[t(e),null],y_intercept:[t(e),null]}))),this.override({line_color:"black"})}}i.Slope=a,a.__name__="Slope",a.init_Slope()},n function _(e,i,t,n,o){n();const s=e(1),a=e(40),l=s.__importStar(e(48)),h=e(20);class c 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:i}=this.plot_view,t=this.coordinates.x_scale,n=this.coordinates.y_scale,o=(i,t)=>"data"==this.model.location_units?i.compute(e):this.model.for_hover?e:t.compute(e);let s,a,l,h;"width"==this.model.dimension?(l=o(n,i.bbox.yview),a=i.bbox.left,h=i.bbox.width,s=this.model.line_width):(l=i.bbox.top,a=o(t,i.bbox.xview),h=this.model.line_width,s=i.bbox.height);const{ctx:c}=this.layer;c.save(),c.beginPath(),this.visuals.line.set_value(c),c.moveTo(a,l),"width"==this.model.dimension?c.lineTo(a+h,l):c.lineTo(a,l+s),c.stroke(),c.restore()}}t.SpanView=c,c.__name__="SpanView";class d extends a.Annotation{constructor(e){super(e)}static init_Span(){this.prototype.default_view=c,this.mixins(l.Line),this.define((({Number:e,Nullable:i})=>({render_mode:[h.RenderMode,"canvas"],location:[i(e),null],location_units:[h.SpatialUnits,"data"],dimension:[h.Dimension,"width"]}))),this.internal((({Boolean:e})=>({for_hover:[e,!1]}))),this.override({line_color:"black"})}}t.Span=d,d.__name__="Span",d.init_Span()},n function _(i,e,t,o,l){o();const s=i(40),a=i(235),n=i(122),r=i(43),_=i(140),h=i(99);class b extends s.AnnotationView{constructor(){super(…arguments),this._invalidate_toolbar=!0,this._previous_bbox=new h.BBox}update_layout(){this.layout=new _.SideLayout(this.panel,(()=>this.get_size()),!0)}initialize(){super.initialize(),this.el=r.div(),this.plot_view.canvas_view.add_event(this.el)}async lazy_initialize(){await super.lazy_initialize(),this._toolbar_view=await 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(),r.remove(this.el),super.remove()}render(){this.model.visible||r.undisplay(this.el),super.render()}_render(){const{bbox:i}=this.layout;this._previous_bbox.equals(i)||(r.position(this.el,i),this._previous_bbox=i),this._invalidate_toolbar&&(this.el.style.position="absolute",this.el.style.overflow="hidden",this._toolbar_view.render(),r.empty(this.el),this.el.appendChild(this._toolbar_view.el),this._invalidate_toolbar=!1),r.display(this.el)}_get_size(){const{tools:i,logo:e}=this.model.toolbar;return{width:30*i.length+(null!=e?25:0),height:30}}}t.ToolbarPanelView=b,b.__name__="ToolbarPanelView";class d extends s.Annotation{constructor(i){super(i)}static init_ToolbarPanel(){this.prototype.default_view=b,this.define((({Ref:i})=>({toolbar:[i(a.Toolbar)]})))}}t.ToolbarPanel=d,d.__name__="ToolbarPanel",d.init_ToolbarPanel()},n function _(t,s,e,i,o){i();const c=t(8),n=t(9),a=t(13),l=t(236),r=t(237),_=t(247),p=t(248);e.Drag=l.Tool,e.Inspection=l.Tool,e.Scroll=l.Tool,e.Tap=l.Tool;const u=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},h=t=>"tap"==t||"pan"==t;class v extends p.ToolbarBase{constructor(t){super(t)}static init_Toolbar(){this.prototype.default_view=p.ToolbarBaseView,this.define((({Or:t,Ref:s,Auto:i,Null:o,Nullable:c})=>({active_drag:[t(s(e.Drag),i,o),"auto"],active_inspect:[t(s(e.Inspection),i,o),"auto"],active_scroll:[t(s(e.Scroll),i,o),"auto"],active_tap:[t(s(e.Tap),i,o),"auto"],active_multi:[c(s(r.GestureTool)),null]})))}connect_signals(){super.connect_signals();const{tools:t,active_drag:s,active_inspect:e,active_scroll:i,active_tap:o,active_multi:c}=this.properties;this.on_change([t,s,e,i,o,c],(()=>this._init_tools()))}_init_tools(){if(super._init_tools(),"auto"==this.active_inspect);else if(this.active_inspect instanceof _.InspectTool){let t=!1;for(const s of this.inspectors)s!=this.active_inspect?s.active=!1:t=!0;t||(this.active_inspect=null)}else if(c.isArray(this.active_inspect)){const t=n.intersection(this.active_inspect,this.inspectors);t.length!=this.active_inspect.length&&(this.active_inspect=t);for(const t of this.inspectors)n.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 a.values(this.gestures)){t.tools=n.sort_by(t.tools,(t=>t.default_order));for(const s of t.tools)this.connect(s.properties.active.change,(()=>this._active_change(s)))}for(const[s,e]of a.entries(this.gestures)){const i=u(s);if(i){const o=this[i];"auto"==o?0!=e.tools.length&&h(s)&&t(e.tools[0]):null!=o&&(n.includes(this.tools,o)?t(o):this[i]=null)}}}}e.Toolbar=v,v.__name__="Toolbar",v.init_Toolbar()},n function _(t,e,n,i,o){i();const s=t(42),a=t(9),r=t(53);class l extends s.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=l,l.__name__="ToolView";class _ extends r.Model{constructor(t){super(t)}static init_Tool(){this.prototype._known_aliases=new Map,this.define((({String:t,Nullable:e})=>({description:[e(t),null]}))),this.internal((({Boolean:t})=>({active:[t,!1]})))}get synthetic_renderers(){return[]}_get_dim_limits([t,e],[n,i],o,s){const r=o.bbox.h_range;let l;"width"==s||"both"==s?(l=[a.min([t,n]),a.max([t,n])],l=[a.max([l[0],r.start]),a.min([l[1],r.end])]):l=[r.start,r.end];const _=o.bbox.v_range;let c;return"height"==s||"both"==s?(c=[a.min([e,i]),a.max([e,i])],c=[a.max([c[0],_.start]),a.min([c[1],_.end])]):c=[_.start,_.end],[l,c]}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=_,_.__name__="Tool",_.init_Tool()},n function _(e,o,t,s,n){s();const u=e(238),_=e(246);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,i,s){i();const n=t(1),l=n.__importDefault(t(239)),r=t(240),a=t(236),u=t(43),h=t(34),_=t(8),c=t(9),d=n.__importStar(t(241)),m=d,p=n.__importDefault(t(242)),g=n.__importDefault(t(243)),v=t(244);class f extends r.DOMView{initialize(){super.initialize();const t=this.model.menu;if(null!=t){const e=this.parent.model.toolbar_location,o="left"==e||"above"==e,i=this.parent.model.horizontal?"vertical":"horizontal";this._menu=new v.ContextMenu(o?c.reversed(t):t,{orientation:i,prevent_hide:t=>t.target==this.el})}this._hammer=new l.default(this.el,{touchAction:"auto",inputClass:l.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()))}remove(){var t;this._hammer.destroy(),null===(t=this._menu)||void 0===t||t.remove(),super.remove()}styles(){return[…super.styles(),d.default,p.default,g.default]}css_classes(){return super.css_classes().concat(m.toolbar_button)}render(){u.empty(this.el);const t=this.model.computed_icon;_.isString(t)&&(h.startsWith(t,"data:image")?this.el.style.backgroundImage="url(’"+t+"’)":this.el.classList.add(t)),this.el.title=this.model.tooltip,null!=this._menu&&this.root.el.appendChild(this._menu.el)}_pressed(){var t;const{left:e,top:o,right:i,bottom:s}=this.el.getBoundingClientRect(),n=(()=>{switch(this.parent.model.toolbar_location){case"right":return{right:e,top:o};case"left":return{left:i,top:o};case"above":return{left:e,top:s};case"below":return{left:e,bottom:o}}})();null===(t=this._menu)||void 0===t||t.toggle(n)}}o.ButtonToolButtonView=f,f.__name__="ButtonToolButtonView";class b extends a.ToolView{}o.ButtonToolView=b,b.__name__="ButtonToolView";class B extends a.Tool{constructor(t){super(t)}static init_ButtonTool(){this.internal((({Boolean:t})=>({disabled:[t,!1]})))}_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=B,B.__name__="ButtonTool",B.init_ButtonTool()},n function _(t,e,i,n,r){n /! Hammer.JS - v2.0.7 - 2016-04-22n * 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<t.length;)e.call(i,t[n],n,t),n++;else for(n in t)t.hasOwnProperty(n)&&e.call(i,t[n],n,t)}function v(e,i,n){var r="DEPRECATED METHOD: "+i+"\n"+n+" AT \n";return function(){var i=new Error("get-stack-trace"),n=i&&i.stack?i.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\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<arguments.length;i++){var n=arguments[i];if(n!==r&&null!==n)for(var s in n)n.hasOwnProperty(s)&&(e[s]=n[s])}return e}:Object.assign;var d=v((function(t,e,i){for(var n=Object.keys(e),s=0;s<n.length;)(!i||i&&t[n[s]]===r)&&(t[n[s]]=e[n[s]]),s++;return t}),"extend","Use assign."),m=v((function(t,e){return d(t,e,!0)}),"merge","Use assign.");function g(t,e,i){var n,r=e.prototype;(n=t.prototype=Object.create(r)).constructor=t,n._super=r,i&&s(n,i)}function T(t,e){return function(){return t.apply(e,arguments)}}function y(t,e){return"function"==typeof t?t.apply(e&&e[0]||r,e):t}function E(t,e){return t===r?e:t}function I(t,e,i){f(S(e),(function(e){t.addEventListener(e,i,!1)}))}function A(t,e,i){f(S(e),(function(e){t.removeEventListener(e,i,!1)}))}function _(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function C(t,e){return t.indexOf(e)>-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;n<t.length;){if(i&&t[n][i]==e||!i&&t[n]===e)return n;n++}return-1}function P(t){return Array.prototype.slice.call(t,0)}function D(t,e,i){for(var n=[],r=[],s=0;s<t.length;){var o=e?t[s][e]:t[s];b(r,o)<0&&n.push(t[s]),r[s]=o,s++}return i&&(n=e?n.sort((function(t,i){return t[e]>i[e]})):n.sort()),n}function x(t,e){for(var i,n,s=e[0].toUpperCase()+e.slice(1),a=0;a<o.length;){if((n=(i=o[a])?i+s:e)in t)return n;a++}return r}var w=1;function O(e){var i=e.ownerDocument||e;return i.defaultView||i.parentWindow||t}var R="ontouchstart"in t,M=x(t,"PointerEvent")!==r,z=R&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),N="touch",X="mouse",Y=24,F=["x","y"],W=["clientX","clientY"];function q(t,e){var i=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){y(t.options.enable,[t])&&i.handler(e)},this.init()}function k(t,e,i){var n=i.pointers.length,s=i.changedPointers.length,o=1&e&&n-s==0,a=12&e&&n-s==0;i.isFirst=!!o,i.isFinal=!!a,o&&(t.session={}),i.eventType=e,function(t,e){var i=t.session,n=e.pointers,s=n.length;i.firstInput||(i.firstInput=H(e));s>1&&!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<t.pointers.length;)e[i]={clientX:h(t.pointers[i].clientX),clientY:h(t.pointers[i].clientY)},i++;return{timeStamp:c(),pointers:e,center:L(e),deltaX:t.deltaX,deltaY:t.deltaY}}function L(t){var e=t.length;if(1===e)return{x:h(t[0].clientX),y:h(t[0].clientY)};for(var i=0,n=0,r=0;r<e;)i+=t[r].clientX,n+=t[r].clientY,r++;return{x:h(i/e),y:h(n/e)}}function U(t,e,i){return{x:e/t||0,y:i/t||0}}function V(t,e){return t===e?1:u(t)>=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<s.length;)n[s[r].identifier]=!0,r++;for(r=0;r<o.length;)n[o[r].identifier]&&a.push(o[r]),12&e&&delete n[o[r].identifier],r++;return a.length?[D(s.concat(a),"identifier",!0),a]:void 0}g(ct,q,{handler:function(t){var e=ht[t.type],i=lt.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:N,srcEvent:t})}});function pt(){q.apply(this,arguments);var t=T(this.handler,this);this.touch=new ct(this.manager,t),this.mouse=new J(this.manager,t),this.primaryTouch=null,this.lastTouches=[]}function ft(t,e){1&t?(this.primaryTouch=e.changedPointers[0].identifier,vt.call(this,e)):12&t&&vt.call(this,e)}function vt(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var i={x:e.clientX,y:e.clientY};this.lastTouches.push(i);var n=this.lastTouches;setTimeout((function(){var t=n.indexOf(i);t>-1&&n.splice(t,1)}),2500)}}function dt(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,n=0;n<this.lastTouches.length;n++){var r=this.lastTouches[n],s=Math.abs(e-r.x),o=Math.abs(i-r.y);if(s<=25&&o<=25)return!0}return!1}g(pt,q,{handler:function(t,e,i){var n=i.pointerType==N,r=i.pointerType==X;if(!(r&&i.sourceCapabilities&&i.sourceCapabilities.firesTouchEvents)){if(n)ft.call(this,e,i);else if(r&&dt.call(this,i))return;this.callback(t,e,i)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var mt=x(a.style,"touchAction"),gt=mt!==r,Tt="compute",yt="auto",Et="manipulation",It="none",At="pan-x",_t="pan-y",Ct=function(){if(!gt)return!1;var e={},i=t.CSS&&t.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(n){e[n]=!i||t.CSS.supports("touch-action",n)})),e}();function St(t,e){this.manager=t,this.set(e)}St.prototype={set:function(t){t==Tt&&(t=this.compute()),gt&&this.manager.element.style&&Ct[t]&&(this.manager.element.style[mt]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return f(this.manager.recognizers,(function(e){y(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))})),function(t){if(C(t,It))return It;var e=C(t,At),i=C(t,_t);if(e&&i)return It;if(e||i)return e?At:_t;if(C(t,Et))return Et;return yt}(t.join(" "))},preventDefaults:function(t){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var n=this.actions,r=C(n,It)&&!Ct.none,s=C(n,_t)&&!Ct["pan-y"],o=C(n,At)&&!Ct["pan-x"];if(r){var a=1===t.pointers.length,h=t.distance<2,u=t.deltaTime<250;if(a&&h&&u)return}if(!o||!s)return r||s&&6&i||o&&i&Y?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var bt=32;function Pt(t){this.options=s({},this.defaults,t||{}),this.id=w++,this.manager=null,this.options.enable=E(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function Dt(t){return 16&t?"cancel":8&t?"end":4&t?"move":2&t?"start":""}function xt(t){return 16==t?"down":8==t?"up":2==t?"left":4==t?"right":""}function wt(t,e){var i=e.manager;return i?i.get(t):t}function Ot(){Pt.apply(this,arguments)}function Rt(){Ot.apply(this,arguments),this.pX=null,this.pY=null}function Mt(){Ot.apply(this,arguments)}function zt(){Pt.apply(this,arguments),this._timer=null,this._input=null}function Nt(){Ot.apply(this,arguments)}function Xt(){Ot.apply(this,arguments)}function Yt(){Pt.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function Ft(t,e){return(e=e||{}).recognizers=E(e.recognizers,Ft.defaults.preset),new Wt(t,e)}Pt.prototype={defaults:{},set:function(t){return s(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(p(t,"recognizeWith",this))return this;var e=this.simultaneous;return e[(t=wt(t,this)).id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return p(t,"dropRecognizeWith",this)||(t=wt(t,this),delete this.simultaneous[t.id]),this},requireFailure:function(t){if(p(t,"requireFailure",this))return this;var e=this.requireFail;return-1===b(e,t=wt(t,this))&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(p(t,"dropRequireFailure",this))return this;t=wt(t,this);var e=b(this.requireFail,t);return e>-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;t<this.requireFail.length;){if(!(33&this.requireFail[t].state))return!1;t++}return!0},recognize:function(t){var e=s({},t);if(!y(this.options.enable,[this,e]))return this.reset(),void(this.state=bt);56&this.state&&(this.state=1),this.state=this.process(e),30&this.state&&this.tryEmit(e)},process:function(t){},getTouchAction:function(){},reset:function(){}},g(Ot,Pt,{defaults:{pointers:1},attrTest:function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},process:function(t){var e=this.state,i=t.eventType,n=6&e,r=this.attrTest(t);return n&&(8&i||!r)?16|e:n||r?4&i?8|e:2&e?4|e:2:bt}}),g(Rt,Ot,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var t=this.options.direction,e=[];return 6&t&&e.push(_t),t&Y&&e.push(At),e},directionTest:function(t){var e=this.options,i=!0,n=t.distance,r=t.direction,s=t.deltaX,o=t.deltaY;return r&e.direction||(6&e.direction?(r=0===s?1:s<0?2:4,i=s!=this.pX,n=Math.abs(t.deltaX)):(r=0===o?1:o<0?8:16,i=o!=this.pY,n=Math.abs(t.deltaY))),t.direction=r,i&&n>e.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.distance<e.threshold,r=t.deltaTime>e.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<e.threshold,r=t.deltaTime<e.time;if(this.reset(),1&t.eventType&&0===this.count)return this.failTimeout();if(n&&r&&i){if(4!=t.eventType)return this.failTimeout();var s=!this.pTime||t.timeStamp-this.pTime<e.interval,o=!this.pCenter||j(this.pCenter,t.center)<e.posThreshold;if(this.pTime=t.timeStamp,this.pCenter=t.center,o&&s?this.count+=1:this.count=1,this._input=t,0===this.count%e.taps)return this.hasRequireFailures()?(this._timer=l((function(){this.state=8,this.tryEmit()}),e.interval,this),2):8}return bt},failTimeout:function(){return this._timer=l((function(){this.state=bt}),this.options.interval,this),bt},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),Ft.VERSION="2.0.7",Ft.defaults={domEvents:!1,touchAction:Tt,enable:!0,inputTarget:null,inputClass:null,preset:[[Nt,{enable:!1}],[Mt,{enable:!1},["rotate"]],[Xt,{direction:6}],[Rt,{direction:6},["swipe"]],[Yt],[Yt,{event:"doubletap",taps:2},["tap"]],[zt]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function Wt(t,e){var i;this.options=s({},Ft.defaults,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=new((i=this).options.inputClass||(M?it:z?ct:R?pt:J))(i,k),this.touchAction=new St(this,this.options.touchAction),qt(this,!0),f(this.options.recognizers,(function(t){var e=this.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])}),this)}function qt(t,e){var i,n=t.element;n.style&&(f(t.options.cssProps,(function(r,s){i=x(n.style,s),e?(t.oldCssProps[i]=n.style[i],n.style[i]=r):n.style[i]=t.oldCssProps[i]||""})),e||(t.oldCssProps={}))}Wt.prototype={set:function(t){return s(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},stop:function(t){this.session.stopped=t?2:1},recognize:function(t){var e=this.session;if(!e.stopped){var i;this.touchAction.preventDefaults(t);var n=this.recognizers,r=e.curRecognizer;(!r||r&&8&r.state)&&(r=e.curRecognizer=null);for(var s=0;s<n.length;)i=n[s],2===e.stopped||r&&i!=r&&!i.canRecognizeWith(r)?i.reset():i.recognize(t),!r&&14&i.state&&(r=e.curRecognizer=i),s++}},get:function(t){if(t instanceof Pt)return t;for(var e=this.recognizers,i=0;i<e.length;i++)if(e[i].options.event==t)return e[i];return null},add:function(t){if(p(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},remove:function(t){if(p(t,"remove",this))return this;if(t=this.get(t)){var e=this.recognizers,i=b(e,t);-1!==i&&(e.splice(i,1),this.touchAction.update())}return this},on:function(t,e){if(t!==r&&e!==r){var i=this.handlers;return f(S(t),(function(t){i[t]=i[t]||[],i[t].push(e)})),this}},off:function(t,e){if(t!==r){var i=this.handlers;return f(S(t),(function(t){e?i[t]&&i[t].splice(b(i[t],e),1):delete i[t]})),this}},emit:function(t,e){this.options.domEvents&&function(t,e){var n=i.createEvent("Event");n.initEvent(t,!0,!0),n.gesture=e,e.target.dispatchEvent(n)}(t,e);var n=this.handlers[t]&&this.handlers[t].slice();if(n&&n.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var r=0;r<n.length;)n[r](e),r++}},destroy:function(){this.element&&qt(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},s(Ft,{INPUT_START:1,INPUT_MOVE:2,INPUT_END:4,INPUT_CANCEL:8,STATE_POSSIBLE:1,STATE_BEGAN:2,STATE_CHANGED:4,STATE_ENDED:8,STATE_RECOGNIZED:8,STATE_CANCELLED:16,STATE_FAILED:bt,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:Y,DIRECTION_ALL:30,Manager:Wt,Input:q,TouchAction:St,TouchInput:ct,MouseInput:J,PointerEventInput:it,TouchMouseInput:pt,SingleTouchInput:ot,Recognizer:Pt,AttrRecognizer:Ot,Tap:Yt,Pan:Rt,Swipe:Xt,Pinch:Mt,Rotate:Nt,Press:zt,on:I,off:A,each:f,merge:m,extend:d,assign:s,inherit:g,bindFn:T,prefixed:x}),(void 0!==t?t:"undefined"!=typeof self?self:{}).Hammer=Ft,"function"==typeof define&&define.amd?define((function(){return Ft})):void 0!==e&&e.exports?e.exports=Ft:t.Hammer=Ft}(window,document)},n function _(e,s,t,i,r){i();const n=e(42),a=e(43);class l extends n.View{initialize(){super.initialize(),this.el=this._createElement()}remove(){a.remove(this.el),super.remove()}css_classes(){return[]}render(){}renderTo(e){e.appendChild(this.el),this.render()}_createElement(){return a.createElement(this.tagName,{class:this.css_classes()})}}t.DOMView=l,l.__name__="DOMView",l.prototype.tagName="div"},n function _(o,b,t,r,e){r(),t.root="bk-root",t.toolbar_hidden="bk-toolbar-hidden",t.toolbar="bk-toolbar",t.button_bar="bk-button-bar",t.logo="bk-logo",t.above="bk-above",t.below="bk-below",t.left="bk-left",t.right="bk-right",t.toolbar_button="bk-toolbar-button",t.active="bk-active",t.default=’.bk-root .bk-toolbar-hidden{visibility:hidden;opacity:0;transition:visibility 0.3s linear, opacity 0.3s linear;}.bk-root .bk-toolbar,.bk-root .bk-button-bar{display:flex;display:-webkit-flex;flex-wrap:nowrap;-webkit-flex-wrap:nowrap;align-items:center;-webkit-align-items:center;user-select:none;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;}.bk-root .bk-toolbar .bk-logo{flex-shrink:0;-webkit-flex-shrink:0;}.bk-root .bk-toolbar.bk-above,.bk-root .bk-toolbar.bk-below{flex-direction:row;-webkit-flex-direction:row;justify-content:flex-end;-webkit-justify-content:flex-end;}.bk-root .bk-toolbar.bk-above .bk-button-bar,.bk-root .bk-toolbar.bk-below .bk-button-bar{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;}.bk-root .bk-toolbar.bk-above .bk-logo,.bk-root .bk-toolbar.bk-below .bk-logo{order:1;-webkit-order:1;margin-left:5px;margin-right:0px;}.bk-root .bk-toolbar.bk-left,.bk-root .bk-toolbar.bk-right{flex-direction:column;-webkit-flex-direction:column;justify-content:flex-start;-webkit-justify-content:flex-start;}.bk-root .bk-toolbar.bk-left .bk-button-bar,.bk-root .bk-toolbar.bk-right .bk-button-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;}.bk-root .bk-toolbar.bk-left .bk-logo,.bk-root .bk-toolbar.bk-right .bk-logo{order:0;-webkit-order:0;margin-bottom:5px;margin-top:0px;}.bk-root .bk-toolbar-button{width:30px;height:30px;cursor:pointer;background-size:60% 60%;background-origin:border-box;background-color:transparent;background-repeat:no-repeat;background-position:center center;}.bk-root .bk-toolbar-button:hover{background-color:rgba(192, 192, 192, 0.15);}.bk-root .bk-toolbar-button:focus{outline:none;}.bk-root .bk-toolbar-button::-moz-focus-inner{border:0;}.bk-root .bk-toolbar.bk-above .bk-toolbar-button{border-bottom:2px solid transparent;}.bk-root .bk-toolbar.bk-above .bk-toolbar-button.bk-active{border-bottom-color:#26aae1;}.bk-root .bk-toolbar.bk-below .bk-toolbar-button{border-top:2px solid transparent;}.bk-root .bk-toolbar.bk-below .bk-toolbar-button.bk-active{border-top-color:#26aae1;}.bk-root .bk-toolbar.bk-right .bk-toolbar-button{border-left:2px solid transparent;}.bk-root .bk-toolbar.bk-right .bk-toolbar-button.bk-active{border-left-color:#26aae1;}.bk-root .bk-toolbar.bk-left .bk-toolbar-button{border-right:2px solid transparent;}.bk-root .bk-toolbar.bk-left .bk-toolbar-button.bk-active{border-right-color:#26aae1;}.bk-root .bk-button-bar + .bk-button-bar:before{content:" ";display:inline-block;background-color:lightgray;}.bk-root .bk-toolbar.bk-above .bk-button-bar + .bk-button-bar:before,.bk-root .bk-toolbar.bk-below .bk-button-bar + .bk-button-bar:before{height:10px;width:1px;}.bk-root .bk-toolbar.bk-left .bk-button-bar + .bk-button-bar:before,.bk-root .bk-toolbar.bk-right .bk-button-bar + .bk-button-bar:before{height:1px;width:10px;}’},n function _(A,g,o,C,l){C(),o.root="bk-root",o.tool_icon_copy_to_clipboard="bk-tool-icon-copy-to-clipboard",o.tool_icon_replace_mode="bk-tool-icon-replace-mode",o.tool_icon_append_mode="bk-tool-icon-append-mode",o.tool_icon_intersect_mode="bk-tool-icon-intersect-mode",o.tool_icon_subtract_mode="bk-tool-icon-subtract-mode",o.tool_icon_clear_selection="bk-tool-icon-clear-selection",o.tool_icon_box_select="bk-tool-icon-box-select",o.tool_icon_box_zoom="bk-tool-icon-box-zoom",o.tool_icon_zoom_in="bk-tool-icon-zoom-in",o.tool_icon_zoom_out="bk-tool-icon-zoom-out",o.tool_icon_help="bk-tool-icon-help",o.tool_icon_hover="bk-tool-icon-hover",o.tool_icon_crosshair="bk-tool-icon-crosshair",o.tool_icon_lasso_select="bk-tool-icon-lasso-select",o.tool_icon_pan="bk-tool-icon-pan",o.tool_icon_xpan="bk-tool-icon-xpan",o.tool_icon_ypan="bk-tool-icon-ypan",o.tool_icon_range="bk-tool-icon-range",o.tool_icon_polygon_select="bk-tool-icon-polygon-select",o.tool_icon_redo="bk-tool-icon-redo",o.tool_icon_reset="bk-tool-icon-reset",o.tool_icon_save="bk-tool-icon-save",o.tool_icon_tap_select="bk-tool-icon-tap-select",o.tool_icon_undo="bk-tool-icon-undo",o.tool_icon_wheel_pan="bk-tool-icon-wheel-pan",o.tool_icon_wheel_zoom="bk-tool-icon-wheel-zoom",o.tool_icon_box_edit="bk-tool-icon-box-edit",o.tool_icon_freehand_draw="bk-tool-icon-freehand-draw",o.tool_icon_poly_draw="bk-tool-icon-poly-draw",o.tool_icon_point_draw="bk-tool-icon-point-draw",o.tool_icon_poly_edit="bk-tool-icon-poly-edit",o.tool_icon_line_edit="bk-tool-icon-line-edit",o.default=’.bk-root .bk-tool-icon-copy-to-clipboard{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUSDBoBvcHQeQAAAG9JREFUWMNjXLhsJcNAAiaGAQYwB/xHwh/Q+ITEkfHQCwEWND4jmeb8H/JpgBwfI6cNBhLSEkqaGXRpgFRAcZoZsmlg1AGjDhh1wKgDRh0w6gCaVcf/R2wIkNqw+D9s0wADvUNiyIYA47BJAwPuAAAj/Cjd0TCN6wAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-replace-mode{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxokK3gniQAAAHpJREFUWMNjXLhsJcNAAiaGAQajDhhwB7DgEP+PxmeksvjgDwFcLmYkUh2hkBj8IcBIZXsYh1w2/I8v3sgAOM0bLYhGc8GgrwuICgldfQO88pcvXvg/aOuCUQeM5oLRuoCFCJcTbOMh5XOiW0JDNhdQS3y0IBp1ABwAAF8KGrhC1Eg6AAAAAElFTkSuQmCC");}.bk-root .bk-tool-icon-append-mode{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxkZWD04WwAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAoUlEQVRYw+1WQQ6AIAwrhO8Y/bIXEz9jIMSDr8ETCUEPQzA4pMeFLKNbu4l5WR0CDOMEALBGIzMuQIBEZQjPgP9JLjwTfBjY9sO9lZsFA9IafZng3BlIyVefgd8XQFZBAWe8jfNxwsDhir6rzoCiPiy1K+J8/FRQemv2XfAdFcQ9znU4Viqg9ta1qYJ+D1BnAIBrkgGVOrXNqUA9rbyZm/AEzFh4jEeY/soAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-intersect-mode{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxkrkOpp2wAAAPhJREFUWMPtV1EKwjAMTUavI3oawR/vtn5srJdREfzwMvHHQlcT2mpdMzFfWxiP5r2+JMN+mAiCOB72CABgR1cln4oOGocJnuMTSxWk8jMm7OggYkYXA9gPE3uyd8NXHONJ+eYMdE/NqCJmEZ5ZqlJJ4sUksKN7cYSaPoCZFWR1QI+Xm1fBACU63Cw22x0AAJxudwrffVwvZ+JmQdAHZkw0d4EpAMCw8k87pMdbnwtizQumJYv3nwV6XOA1qbUT/oQLUJgFRbsiNwFVucBIlyR3p0tdMp+XmFjfLKi1LatyAXtCRjPWBdL3Ke3VuACJKFfDr/xFN2fgAR/Go0qaLlmEAAAAAElFTkSuQmCC");}.bk-root .bk-tool-icon-subtract-mode{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxgsF5XNOQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAABFUlEQVRYw9VWUQqDMAxNpWfxQxD1MoP97G7zQ5mH2RTZYLtM9lWoMbXtxLXNX4OG9r28l4hrd0PQoqxqAACYpxH25C/nkwCHyCBwSPoS09k1T5Fo+4EiExcC4v584xGFmyIXHBLRISAVZyZufUPVa4rcrwmPDgr93ylo+2GliLRUYHK6th/o/6r7nfLpqaCsagEA8Hh9FmcNKeRmgeYDC+SCq0B6FFi8/BcV6BdR9cL3gCv3ijPKOacsn3rBEcjmaVxpfGcg4wHxzgJJnc6241Hn23DERFRAu1bNcWa3Q0uXi62XR6sCaWoSejbtdLYmU3kTEunNgj0bUbQqYG/IcMaqwPS9jftoVCAQ0ZVDJwf0zQdH4AsyW6fpQu4YegAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-clear-selection{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUGEhcuan3d3wAAAoRJREFUWMPtlzFP3EAQhd+b3TNSzg0N5TWXLkJQUUaKhIQ4fgP/g5ArrriE/I3opEgRrZtIVJR0FJQ010SioUmEZHtnUpwN9gWHGA5BJCy58MraffvmfZ41v3z9hqe8BE98vQh4cgG+Ydzmnrng8efvQJNi/uN7dznx/B3ggtfhf4ehNdUttRzBDIm/2VTiiWCG1HK0nc+3UWtq8BQIiEEakEQOADBIA4QCQmBqoHBhFNR27ikQSmGdYCdTqCpEHMDZmEKRWUBEv1gBDg5SzRJnpopILWICgWuRYflLamuzxB2BmtYqSRIka5VWU8QduXO+1hRc5YZu5GAwmP2ZJzND0IBu5HCV2+NQcAhAVRsnC2IbPzPdSjzd6to6VtfWkXi6YLaVWr7xoAwkfpb8MnC3SH7rKSMBe4M0jA/OTicFIbtCGRIyNbURhcf3ErCd6YwA1m0HgAxhw1NGQnlXBHG4kylVlSJuH0RfIP2CkL2I/qS1gIAAQiBl1QwFggIHtyxgrxK5PgyfC0JWKoT0HLh8LwoietB4TYKaIl7yeNURxB05UtMxDOcVQlZIrlRKdK6m47gjR/fuBRQihyLArtNeJD50Izcx2Eczu7iFkIug4VM3cpOr3MKDekFED0fWUHv9Zq0kpLnridjhY3XDg7NTN0jDrhO3X7O9Wg7wwyANu4mnayNg3gmbu0tCNoUyBNGv2l4rB9EXynA7082FOxAQLhU6rQVO9T2AvWowFToNCJcPORGxIRcnpjZSKATSU9NxvOQnAPArDSaQoUKnNI4iufkGtD4P3EHIcWZhz4HLceSOyrR3Izf5memPAL2cX3yhAkonysZVaWLBkd9dw1Ivv2a/AYPkK+ty1U1DAAAAAElFTkSuQmCC");}.bk-root .bk-tool-icon-box-select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg0kduFrowAAAIdJREFUWMPtVtEKwCAI9KL//4e9DPZ3+wP3KgOjNZouFYI4C8q7s7DtB1lGIeMoRMRinCLXg/ML3EcFqpjjloOyZxRntxpwQ8HsgHYARKFAtSFrCg3TCdMFCE1BuuALEXJLjC4qENsFVXCESZw38/kWLOkC/K4PcOc/Hj03WkoDT3EaWW9egQul6CUbq90JTwAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-box-zoom{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg82t254aQAAAkBJREFUWMPN11+E1FEUB/DPTFn2qaeIpcSwr5NlUyJiKWVXWUqvlUh/iE3RY9mUekkPPURtLKNRrFJEeuphGfUUaVliiX1aVjGs6aG7+XX9ZnZ+d2fTl2vmnHvPPfeee/79Sk+may2/UQq/q7Qu+bAJoxjHIKqB/wlfUMcMVqI9bLZ+DGIKwzlzQ2GcxCx2xwvKOUKlaHTiX8bHNspjDONHkOmJBW5jIof/FvPh/06MZOb6cRc7cGn1AKUE5cdzlM/gAr5F/O24H3xkFRfxAbVygvK+cIsspjGWo1zgjeFpxL+BvnLw7laBA4xjIFJwrgu52DoVjKdY4HBEX8dSF3JLYe1fe6UcYCii3xWQjdfuSTnAtoheKCC7GNED5Zx4L4qt61jbTLHA94geKSC7P7ZeShQ0Inoi1IJuEOeORooFXkV0FZNdZs5qvFfKAeqYy7nZ6yg//HG0MBfffh71lFrQDCW2EvEP4mt4okZUDftz9rmGZkotmMxJRtlisy+MTniAWrty3AlXw0hFM2TD89l+oNsoOJXjbIs4EpqNtTCLXbiZ0g+M4mFObj8U3vsNjoZCVcmk60ZwthpepLZkB/AsivWfOJZxtpUQHfWib7KWDwzjeegBZJSdKFiE2qJTFFTwElsi/unQ/awXrU4WGMD7nOJxBY/1EO2iYConq93CHT1GOwucjdqnRyFz+VcHmMNefMY9nNkA3SWUOoXhQviSWQ4huLIRFlirFixnQq/XaKXUgg2xQNGv4V7x/RcW+AXPB3h7H1PaiQAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-zoom-in{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEgsUBmL8iQAAA2JJREFUWMO9l12IlFUYx3//MzPrLpSjkm5oN4FFIWVEl66IQlFYwtLOzozsjHdGRSCRF0sfBEXRVV0FQuQiLm5CZNBFgRRaRLVFhbJ2EdiN5gbK7toObTPn6eYdPTvNzPvOBz5Xh/ec5/n/n89zXtEHmZqeSXSuXBz/3zfdKvBWJHQrwZuRcP0El+QkbQXeBX6WZEgm6TtJk5lM5o4Lc+cV6qpf4Ga20Tm338zeATItVK9Ker6yvPzp4NDQ3+XieGsCU9MzTYumGbhz7m4ze9/MHgvBgItACrgfGAj2jgAvAYs3wlEujjc13kii8YyZrXXOfWhmo9GnFUlvOOemarVapVqtkslksmb2KjARqL62ecuWN9NxbRInzrldAXhV0uFSIfdew7G/gNLU9MwS8CwSmE3Oz88fcXG5blfpqVRq0Ix8VIAAX0XgrVL7HDCHGcCaWrV60LUBN8Dae58aQIxEqcA592I9M610JL0cpG/U9TIHJNKY3RV5z0R+7Nd4HZ0P1g/2RMBuegLAsRMnb4vT8d5vqKfMzOgtAlADrkmqGywmiMBTwfr3dC9j1Xv/r6Tvg/5/5ejxE6cO7M9faVbQZrYNOFSPmqQvVo9FKexvi5uWX58943aM7DwAfBDY+FbSCxP5sdkGx55GeguzrUEXPaSo2pFkAbiSZQCAzZJOmdkjwd6SpB/M7KykQTPbA2wDhoIzRzcNDx9MJwGNIXdJ0mEzmwbujL7dbma7gd03A7lKfnTOvf74nl0r6bonTUbujRSUCrm2d4L3/kvn3JPe+8+BDW2i9o+kT7z3kxP5sYsA6W47oE64TsR7P9tQL4vA2mh9WdIscKxUyJ0M7aR7acOGzikD65EQLEjaa2ZXzMwDFeB6qZBbbLTRE4EGeSaozNOZgYFf8qP7lmIvs354n0qlHpB0T7B9Ogl4IgJJrmjv/SiQjbrkD+BMUkfSbYATPdckrTOzkciWAXOlQu5cYgLdPEIapud9wMOR9zVJH3ViKx333mtHMJvNuoWFhZ3A+ojMcja77njXBEKwJJfTcqUyCIQ34Mf7nnh0paMnXacFuGoC1mr3AtuDfLzd8Zuyl+rfuGn4HLAD+Az4qZQf+61TAj0Noj8vX6oC35SL43u7teG6rf5+iXppwW7/JUL5D03qaFRvvUe+AAAAAElFTkSuQmCC");}.bk-root .bk-tool-icon-zoom-out{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEgsHgty9VwAAA0FJREFUWMO9l09oXFUUxn/fmXlpItppi22k7UJBRSlVkCytSAuKUloIdjKT0El3FXVXdVFKRVAQV7qQohsNwdA0UFvBhYtqUVyIVlRaogtFQVq7qSTVjA3z3nHzBq/jvPmTN/Ss7rv3nvN99/y794kByMzcfE/7picn/jenmwWeRUI3E7wdCRskuCSTdDfwBvCtJEdySV9KOhpF0e0/LF5SqKtBgbv7ZjObcvfXgShD9Zqk5+orKx8Oj4z8NT05kU1gZm6+bdK0Azezu9z9hLs/HoIBvwAF4H5gKFh7B3gBWFY3460kWve4+3oze9fdx9OpVUmvmNlMHMf1RqNBFEUldz8OHAxUX9q6bduryut+Sfvc/Wz62ZD0fK1afjND9y3gGSRwv1GMojstTxUUCoVhdyopEYDzKXjWwZ4FFnEHWBc3Goet00m7lZlZYQixKw0FZnakGZksHUnHgvCN5/KARBH37enpOVg58H13HV0Kxg/kIuD/ngSA2ZMLt3bTSZJkUzNk7k4+D0AM/CGpaXCyBw/sC8Y/qZd2GpZiuL9YLN4Sx/HpoP5/c/exQ1OVq+1yyt13SLoArEsJnMjlgfOffvK3u58Kprab2QezJxfG2iTzUzI70wRPG9jbmpmb95SNB9mpzp7/j2yVdNbdx4K565K+cvfPJQ27+x5gBzAS7Hlvy+jo4WIvoC3kWpcvS3rR3eeAO9K529x9N7C7zX6AC2b28hN7Hl1Vt44niVq13LUjmtlYkiQfA5s6eO+GpDNJkhw9NFX5ueNt2ARodyF1IHIN2JiOl4H16fiKpK+B2Vq1vBAqFAf4IJkGNiIhWJK0192vunsC1IE/a9XycquNXARa5OnApeeioaHvKuP7r3dTGsiLqFAo7JR0T7B8rhfwXARa2us4UEqr5Ffgs151i/08oTNKdIO770ptObBYq5Yv5ibQq/sl3Qc8lJ4+lnSqH1vFfp9koZRKJVtaWnqkWXqSVkqlDe+vmUDWpZMlK/X6MBDegKf3P/nYaj8ErN9fqZBYEsf3Ag8G8Xit33BaniTcvGX0IvAw8BHwTa1y4Md+CeRqRL9fudwAvpienNi7Vhu21uwflOT+L+i1X2TJP57iUvUFtHWsAAAAAElFTkSuQmCC");}.bk-root .bk-tool-icon-help{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAABltpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPHRpZmY6Q29tcHJlc3Npb24+NTwvdGlmZjpDb21wcmVzc2lvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzI8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpBODVDNDBDMzIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpBODVDNDBDNDIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDpBODVDNDBDMTIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpBODVDNDBDMjIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPGRjOnN1YmplY3Q+CiAgICAgICAgICAgIDxyZGY6U2VxLz4KICAgICAgICAgPC9kYzpzdWJqZWN0PgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNjoxMToyOCAxMToxMTo4MjwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+UGl4ZWxtYXRvciAzLjY8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cphjt2AAAAT7SURBVFgJxRdbaFxFdGb2bhui227BWrsVKYgf2kJUbP9EUPuzEB803WTXJjH61Q/7Ya1+CMYKEVTsh4J/EpvY7BoabUiNiA8s1p+4KIhpoUUEselHqyS76TbZ3HuP58ydc3d2u4+IkQxczpz3mZkzZ86VYpXjvenpjZsLhUcliE4AuUuASAgptmt1EFdwPiclzIIUUwubNn17OJlcXo1p2UpodHRiux9xB1Eug1+slbzhFxGOKc851tu7/0oznYYBDA8Pt0U2tL8KQryIq2tvZqQhD0QJHRz3yqWhgYGBpXpydQMwqz6NCnurleCSADkJEfgKfOePqL80R/wV1ZaQyr1LenKfkPCkEPKeaj0xg7vxVL3duCmA0Vyuw/fl52hgBxsBED+h4Cv9z3R/zbRm8MTJTx7HQN7GQB6w5C4L4SX7M5lfLBpurjXMyvNIShiyi0l1pL8n9b7EDGPR8fHxzSsQ6XDB3618/xqo6Pk25V5MpVJllgHM1BO58RdQ612kOYZ+GXdij70TYQB05mpj+1kU5G2fB+l3PZtOf8NGx6ambnMXb3yAxg8wjSEG6OKKR9oicBQD+ZvpH2Wzj0lQpxCPG9qMv1x6hHNCsSAlHM7ZOa682vlI9tRDbvHGbD3nZAPpDoD/3JIrLpAs26UFkC3EMUA99hpfGtEBfJjNJnS2Gwnadnvl+Xw+iuc3DAJuNyIaSCHpilVldyDjjUxj3WDZIAhxhHHyRcdNuA7AAfUaXzVKODpzFiZ4/uLvh5G+m2no+C/pyIf7MqlEJB7bpqR6nXkEUfbeawuLaZsW2ISfNQ2vtaktQlGFQyIVGT0o2+2EC4iQNGwjBIN9qdQ5Qg4mk4X4rW3vCClLtowE2FOFUxKDfNmiZci3ovKKRFPh4FK9q4Zbdr+lKKJiA13TcHR2dmLBgdmQ0GAS2MZaEowY+XbAk09IvgtYZGp16SyvFhaHcIUh645t8T9DBCcnz5zZ4hZLu3DzK2QlL1QQa0Y+pHiJKPSuOGj3PmZTheM5w2TwqBxnvBZOTk7G5gvXJ5Aelms8wnJURL+olSWcfEhf6gDoUXPMq6ZlqbzWU2pE+3hi4s6F68tfIj9cBMlikr7Z0/P0b/X0yIcUXsDCF1WhtL4OROHaXk+xlkbV0Cu732Nmhc4peaWSg73pA8dq5RkvO37ldUTfXCKZv2q45MkhvG87WQEzpCCUSvV1d9GONBy3lMvgKSwrZig8gjAietWY0QriylO2jIo4yVbOSb7KB/qmI9BPKjHpSSXYauRyn92Nq9/Kcrj13x3s3v8D481glQ/0raiNYgX9njPSBOImbrHZePl+tfFmc9sH+Xaoh8NjOKSVdDMhjjYzQLy+dFceH5+IJQf9VYXX4tROg4ZFU8m31M3mfPEqUoJqCGJfvWpo2xnNfdrhC28n06SCeSzNZxlvBINGRXCtKS7EY1uV6V7HWAm38y1cXaXsMcOCvr9ySPj+af7A1U2HJXHzVNvUXVLIGyPf+jV0pf8GHoN+TLAyPkidTCi2RpPApmnR0Bd1zGRaB/B8Oj2HSw7LLbVR1MmskW8RdEWVXSJf3JbpAMgRtc4IZoxTh9qotQjCasm46M0YX9pV1VmbpvRH5OwwgdRtSg2vKaAz/1dNKVtb17Y8DCL4HVufHxMOYl1/zTgIgiYvBnFKfaNp3YjTdPz3n9Na8//X7/k/O1tdwopcZlcAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4oVHp0SwAAAQJJREFUWMPtlsENgzAMRb8RQ5VJItFDOgaZAMaAA0iZpN3KPZSoEEHSQBCViI/G8pfNt/KAFFcPshPdoAGgZkYVVYjQAFCyFLN8tlAbXRwAxp61nc9XCkGERpZCxRDvBl0zoxp7K98GAACxxH29srNNmPsK2l7zHoHHXZDr+/9vwDfB3kgeSB5IHkgeOH0DmesJjSXi6pUvkYt5u9teVy6aWREDM0D0BRvmGRV5N6DsQkMzI64FidtI5t3AOKWaFhuioY8dlYf9TO1PREUh/9HVeAqzIThHgWZ6MuNmC1jiL1mK4pAzlKUojEmNsxcmL0J60tazWjLZFpClPbd9BMJfL95145YajN5RHQAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-crosshair{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADEUlEQVRYR81XXVIaQRCeHqug8CXmBNETaE4gniDwIgpVspxAbxC9ATkBkCpQ8gKeQDiB5AQxNyAvUlrldr7eHxyGXZi1rMJ5opbp7m++7un+htSGF204vsoMoNXrlzSpfWa1oxQfhAegCZGaEtPorHo8znIoJwCt6+td8uk7ApUQCIHTF4BNAWzImq8ap6cP68CsBdDp9i9ZqXM7ML79g/EnCWD+jgMKENKqWT+tXK0CkQqgNRjs0OxpQIqKhoMxaG6/6JeRnK7T6yO2UvVqhYSlLX+ryORfgKn9ORDFIy7ky41yGcwsr0QAQfDH5zucOswx819fs4egI9OFCcD8DjBF7VNbEX0JzdWEt3NHSSASAcCxBDqMgt/623kvyTgNgNjJIfTjk4D4FqaJR1715MjmYAmA5Bx3AwUXQL+t105KaTlcBSC26XRvhjEIoLiq1yqXpr8FAGG16/ug4IT27fxBWu7EiQuAiImJpEMKE6nYM30uAIDDttSUOPfJP7JzbjPhAiBIh9QE67vIvoOi9WJfCwDavf40ulpjbCqmUf+W753ezURuh7Dg1SqflwAEHU6pgfyBq9Y4qx0LG++2fnZ/eUzcstmdM2AWH+jfc+liWdBJfSENf8Lifi3GVwC9mybOfi5dzatWVrbbLIHNva8p5h/16gkaFiLGGxbufkoE6XguwePiXLF3XmMfCUCUAqtKXU7sumd1CowOuJEi3Pg1FBpjitIGhyvVSfvmjci6ZR+rFQfDiPVE2jFYeICQ+PoewwjC5h7CZld6DBdyu6nDSKgzOyIMhmhK5TTqXYbRorZYM46TmpKAAOrGWwSJJekSB1yqJNOzp1Gs7YJ0EDeySDIMtJbQHh6Kf/uFfNFZkolJICRmz0P8DKWZuIG2g1hpok+Mk0Qphs0h9lzMtWRoNvYLuVImUWrmPJDlBKeRBDfATGOpHkhw670QSHWGLLckmF1PTsMlYqMJpyUbiO0weiMMceqLVTcotnMCYAYJJbcuQrVgZFP0NOOJYpr62pf3AmrHfWUG4O7abefGAfwH7EXSMJafOlYAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-lasso-select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEgwlGP1qdAAABMBJREFUWMO9V1uIVVUY/r61z57ZMx4DnbzgkbQXL5iCJphlWdpIGY4jpFBkEiU9ZNaDRRcITcIwMwgxoQtU2IMXdAZfMjFvpERXYiSbysyBEXFmyuHMnLP32uvrwT2xnY5nxvHQ93Jg7fWv71/r//7L4a59TRgqJk+Z6v3a+sv0OI5nk5wu6VaSVZImAThHsgjgrKTvM5nMUWvtmf5n8HodCIKgOgzDhc65pSTrJQWDsSNpJX1ljHnDOfdT37oZLLHv+8OMMasKhcIJ59xHAJYMlhwAJGUAzJfUTHLFuFzOG5QDU6dNMyQfs9Yedc5tBpAD4IYYNQGoBrDtQnt7/b0LFrJsCHzfn2itfQfAnZLiazytA3AaQAuAiwDaEgeNpGkkswAWSBqRONB38b88z5uTKePt6iiKXkk8jq+iJC5LOmiMaTLGHLPWhmWeHr7vV0dRtATAapAzIVmSo51zyzIlbm2stesFPA6pKk0r6Ryg93y/ek8YFvPOOTg3cDSiKCoC2OP7/rEoirYm4rUkF12lAWNM1lr7lqQn0+QA8gI2jBg5cj6Aj8OwmB+KAKIoukhyp6SRJAUgl0ndPLDWPi9pJQCbuviXvu+/GIZhW1dnJ24UJFuTjCCA2ADA8sYGWmsXS3qmL94kDYAtkh4Nw7ANlQJ5U6INT1KrAYC9zQdykl7nFSj5fXp5Y8NWVBhy7mUAjqShMYdMXV2dJ2klyRwAJ8lIeuGWCRMP7N7frEqSG2OmAFhKshNAp5wrmO7u7jEAngPQm1S2z2pqapr+OPt7XEly0oxwzq2RdFmSD2AMgKKJouhhAL4kA+Cs53l7e3t7uytJHgRBreTWkXwkKVJnJD0B4GAGwIJE9R6AFufc6UqSZ7PZbD6ff5dkA4CQZEHSqwAOISmXtwGIE+F1SeqqIP8d+Xz+C0mLJYWSAODteXffczjdDQNJ0BWMCoLg5gqIbRTJNwHsljQhUb0luWPM2LE7Thw/9m/5NCT/TByxAOYWi8X6/gdWV1dnfN8fNRBxJpMZTXKdc+6IpFVJWAEgkvSJpA0X2tvtVTaSjgOYBCAEEADYSHK87/sfhmEYA9gShuEDkgzJHyWtB/B1irQ2juP7ADxkrX0wOUOpzmdpzEY590HJ7Ni1r2kSyZOSiv2+hSRjSTXp/QAukzySNJOJkmalyNIl10hqMcasdc61XDNcQRD8BnITgNp+36r6kfcNFMMlLQGwTNLMEuQGQBfJl2bdPru+HDkAZAqFQux53jZHEsC6aw0eg2gylNRBcqcx5v04ji999+03AwsWAOI4Lsy9a94WkisAnE5a5WCJYwCfA1g7LJudI2lTHMeXBm1faiQzxkyRtF3S5CTupeAB+KG2tnZFT0/P30NO2VKLzrmfAbwGMipjG5Oc0dPTc0Md05SZ5U4Q2FxChErtEYD7jTGNQ3UgM8Asv90Yc9I5LSKRlXSI5CxJa0jWSALJjKRnAewfkniT+vwf7N7fXHK9rq7O7+jo+BTA/NRrdBpjnnLOnUrvXd7YMPQXSBunneno6IhIHgYwW1JtkgmBpBkATlVMAwOk3nFJ+VSoqgCMr6gIy2FcLtdKspAedyQN/98caDt/3kpyabUmf8WvG/8A1vODTBVE/0MAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-pan{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4lKssI9gAAAOtJREFUWMPVll0KwyAMgNPgoc0JzDX2Mtgp3csKErSamGabIEUo/T6bHz0ezxdsjPJ5kvUDaROem7VJAp3gufkbtwtI+JYEOsHNEugIN0mgM1wtsVoF1MnyKtZHZBW4DVxoMh6jaAW0MTfnBAbALyUwCD6UwEB4VyJN4FXx4aqUAACgFLjzrsRP9AECAP4Cm88QtJeJrGivdeNdPpko+j1H7XzUB+6WYHmo4eDk4wj41XFMEfBZGXpK0F/eB+QhVcXslVo7i6eANjF5NYSojCN7wi05MJNgbfKiMaPZA75TBVKCrWWbnGrb3DPePZ9Bcbe/QecAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-xpan{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4X4hxZdgAAAMpJREFUWMPtlsEKwjAMhr/pwOOedINJe/PobWXCfAIvgo/nA4heOiilZQqN2yE5lpD/I38SWt3uD9aMHSuHAiiAAmwaYCqoM/0KMABtQYDW11wEaHyiEei28bWb8LGOkk5C4iEEgE11YBQWDyHGuAMD0CeS30IQPfACbC3o+Vd2bOIOWMCtoO1mC+ap3CfmoCokFs/SZd6E0ILjnzrhvFbyEJ2FIZzXyB6iZ3AkjITn8WOdSbbAoaD4NSW+tIZdQYBOPyQKoAAKkIsPv0se4A/1UC0AAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-ypan{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4anK0lywAAAMVJREFUWMPtlzEKwzAMRX/S7rlpIMXeOnaLaME36FLo8XqCdNFghGljyc4kgQi2Q/SUj0F/eL7eMMTKz6j9wNlYPGRrFcSoLH4XxQPvdQeYuPOlcLbw2dRTgqvoXEaolWM0aP4LYm0NkHYWzyFSSwlmzjw2sR6OvAXNwgEcwAEcwAEcwAEcoGYk20SiMCHlmVoCzACoojEqjHBmCeJOCOo1lgPA7Q8E8TvdjMmHuzsV3NFD4w+1t+Ai/gTx3qHuOFqdMQB8ASMwJX0IEHOeAAAAAElFTkSuQmCC");}.bk-root .bk-tool-icon-range{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAABCJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDx0aWZmOkNvbXByZXNzaW9uPjU8L3RpZmY6Q29tcHJlc3Npb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjMyPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxkYzpzdWJqZWN0PgogICAgICAgICAgICA8cmRmOkJhZy8+CiAgICAgICAgIDwvZGM6c3ViamVjdD4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTgtMDQtMjhUMTQ6MDQ6NDk8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPlBpeGVsbWF0b3IgMy43PC94bXA6Q3JlYXRvclRvb2w+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgrsrWBhAAAD60lEQVRYCcVWv2scRxSemZ097SHbSeWkcYwwclDhzr1Q5T6QE1LghP6BGNIYJGRWNlaZItiFK1mr+JAu4HQu0kjpU8sgF3ITAsaFg0hOvt2Zyfvmdsa7a610Unx44Zgf773vvfneezPHNzrbhn3CT3xC3wPXYOC8LDzqdi8YY/gwh4BeknS/2th6dr2kf94AOp3OFyWgMyziOPbMDxV9FTtJnl1ut795Xd0/YQ0/vtYQwMT1KXWCfr2IjOWwtNehwN4xL9ykTrm6Pzl58yLn3J+mKh9mXbT3uRjGEDph+O8/TjfP5dBp7Ha7AX7O3o5nZeD/0E/OGyXntDgzA0X6qmCnrVutVlrUWV9f/3xo+pwhGDhvEPHOjoxnZjJggXmMHzBQ7NGNp9vxk61fr0HR7e/u7pZzCGHlc7qwBYYTT7tJYSx1AQzppyFPft5apta9w7SKcn0b7P7+/jCsDQ5mbc0dCmIJGDN0ehdcjsmkm6A6KUeKFOTE11PLxrC7Ukqh3ylL2fT0NAP9q6ur6rRCJJYsbKB0JsbCKMuy+xREePDyxQPCz+Crlw062QcA5wBOOt1l6vIl2WiI9F1fN6Q+BBqit6hEC4Hk08GQJMn4myjSP7RavVxgdaVUh/3U6HCMsPr9pYnJKRziHtWQ+un58+hGs6nsjQSjpuTyKGN3CX+FBwHXSiEVgjP+O8X6N12kIePES+GzTKAkGbNp8yJsGUMVzz8jPKReiyAQRimy5/cjye5RpF8utFp/+nwmT7d/NMzcFkS7yjJNGDaPURQxIQThEQy0SyF4l5WJYYhBa816vZ6dU7A6CAhbZVow/pDe0O9hVOoCi13r4BgBAvJHqMSQL2vE/iH6IAXEwgrRVUmBoRRwnwJQT98xEeVeSUyB4dJ5nwJBKdCFFGRmUCcu7rwIYypCTblaChuNBhWODrman5ub+4v0rMNBt8z6Ezh7GksJQpCbm79cMQE7QBFm/X6f0rjWnv8WRYg/QdbUpwDAEBy8vPyA8rNGzg3a8MiElwiM7dAtRqNoNptjGPM1laVxP9umWEMGLOKhKUOJDtBwDmzsw9fC/CzHr9SGuCTi2LbbKvVtmqXpCjMihBFa79Wrt5fGx9PDzc3fmu32Lf8qFliwU9emKhBSp+kRKn/hu9k1COEDbFdt/BoKWOAkuEbdVYyoIXv8+I/QK9dMHEb1Knb7MHOv8LFFOsjzCVHWOD7Ltn+MXCRF4729vWMDK+p8rLkvwjLg4N4v741m5YuwCI9CvHp1Ha8gFdBoPnQAkGsYYGxxcfEI7QQlFCTGUXwjAz4tWF+EpymOWu7fglE7qsOvrYE6g4+9/x/vhRbMdLOCFgAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-polygon-select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEjc1OfiVKAAAAe1JREFUWMPt1r9rU1EUB/DPK0XbqphFHETo4OCiFhwF0V1KHbRSROLqon+AUMVRRFBwEbRFMBiV+mMW/wIxi5OD1kERRVKRJHUwLvfBTZrU5OWBGXLgQu7Jfe98z/ec7z0vKa88b2q1BDtRHdAPBaylm1NzsxsOjPnPNt6WSWprbft+/c3I3zOAjhT1Y4+fvcjEQJIXnVECSa+AhqIHqlHH5lWCZoe+Gk4GRgDG86j9SAUdlDBSQaZhlOkuHyoVdJmsw98D1S5fM4NYM1LCpqM+Lwa240oLgmZzpVZvzKT75VLZcqksSZKWlQeAy/iORVwIvh31xvotvK7VG3Px4aWHj3Jl4C2uYSvq+Bn8v6LLbaVWb9zsBiKLCvbiNG7gLm7jAYqbPHMJMziZ9lsKoh8GtqCEVVzHftwJn+TFHp4/hg8BSCYVfMOZoPEv2NZGdy9WCGUr9toDR3E2/H4V6nwRe/BmgN65H1ZhvMuB3XiKIyFoGefwO6ysVkUlrNUNsyAK/jli533Q+Y8cJFvAeXyMS1CI/jiMr/gUtD2LQwMGr4R3p7bY3oQHQ5b38CT4D2AXXg6YcQXHpyYnlqKsi5iOAVSwL9zd7zJ09r+Cpwq72omFMazjT9Dnibym0dTkRDUKrrgwH7MwXVyYB38BstaGDfLUTsgAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-redo{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4itK+dVQAAAaFJREFUWMPt1L1rFFEUBfDfJDaBBSslIFjbaSFp1FJQFMVCHkzhKIqdUYOCoBgErVz8rCwiTDMwBCIKipDWyip/gxAIWAmBgBC0eYFh2Gx2l9lFcA5M8e59782Zc84dWrT435Hs1siLchqn43MS0zgW22vYxjesYjVLw3YjBPKinMUTBOwf8J5fKLGYpWFjJAJ5Uc7gIW6jM6Kim3iNZ1katgYmEL/6I+YasvY7Lg6iRpIX5VF8wuEe/XV8wGf8jN6LWTiAc7iEQ7ucPZ+lYW0vAtfwvlbfwCKW9gpXDOv1mJvZHiSO91MiyYsyiQSuxtpXXM7SsDmM5nlRdrCMMz3sOJWl4Xevc/vwBzdwAl+yNNwZxfRI+GxelK9ikHcwh8d4NNR/YFRES1ZwoTYdR7I0rNf3TzVNIGbmSvR/Bx08mIgCFSVu4l2ltIWD9WxNGR+W8KOynqnZ0rwCeVG+wa0hjrxtWoF5dAfc28V8Mib/n+Nev5dnabg/zgw87aNEN/bHOwVRiRe4Wym9zNKwMKkpgIWKEt24njxiJlq0aPFv4i9ZWXMSPPhE/QAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-reset{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4gWqH8eQAABLdJREFUWMPtlktsVGUUx3/nfvfOlLQaY2IiRRMQIRpI0PjamJhoVASDvNpCpYw1vJQYSVwZwIVQF6wwRHmkAUof9ElrI6VqDAXcID4TF0IiYQMkSlTokNCZ+b7jove2t+NMH7rQBWd3v+989/zP+Z8X3Jb/WGQySvUNTQBJESkNguAVYIWqzhaRhwBU9WcR+QXoymazn6jqzUQiMQSQzWZRVdal1vwzAI2tHQBPOuc2AbWTdOyQ53n7nHNfRwee51GzqoIQMCLDpr3x/tLQ0oZzrk5Vj0/BOEBt+KYuOlBVGlrahr0Wob27t3gEjnZ2AyQzmUwHsDgP6J/AYRE553neDwDOuUdU9QngNeCumK4TkRMhZUORcYC1qysLA6iuSQHIwkWLD6lqapQsuSmwTVV3h99I7EcAR462A2xR2Ilq6ehTaejvO1774kuLNALR33eclsaGsQDe3fYegHl43vyNwEeqGl1963mm2jl7YZRTQ82qlWP4HM6ZToC5ztkW4LHQoALru7s6Di5dvlIj/e6ujrEAWoZDn8hmMjXATMACGaAVuBjXTVVXFc/AxhaA+4zvn1DV+eHxVWPMAmvtb5GeMWZyZVhI2rt7qVy2pOh9U1snwIPW2vMi4oWJuBPYHkVAVScPoKmtkzVVK6cEMsyJraHhiCqJqJUwj/JRz7TW1iSSyR2rVyylqa0Ta+24Ic8vXaAEmDFc/l5Z2A/80OibuVyuz/f9ElUdHCmvw82t5HK5h6y1PYhsz2YyGw43t2KtBZHIGwB6+j4rCkBVUdV7gXrggnPuu8h4eP+xMeZS2D0rJYZ6AdAMzAt1b4nI26p6IFZOY8pugijcKSIHVLUK0LyST4vnrVfnWr3mjmP4QTATaERkXkypRFX3isjmuHdRJEK6Ckqquopp06bdKCkp2Sgi7XnGLcg7gzeutwNIiPYc8HixqIrIOlU9ONVIhHPEd851icgSVXUiskVV94gIqoonIt0i8gfQCfwae38e6BWRXuBZz5jZ8VbaOE4EIqlZVUEQBLlkMplS1QER2RwkEnsSyaREDUzyeNsvIhvCMqkH1kdIJ2o+k8iJB1LVVRfjZ6nqqlEAIbdVQGto8Lrv+/dbawcjAL7vc+6bs+zetetfLSHxniIFGofGGsU2oC7eOCbDfZ7nQawBOSAX74SF9oEPImOq+r7nmVmxb5raukZa8UReGmNmhbMkAwwBH467EYVZe49z7kdgenj8k7V2oTHm8kgdWcvrNdVFjR8cHkYzjDH9wLjDaEwEzpwa4MypgWvAjtjxfGNMj4jMiT+M+kFsZI/Q6Pv+HGNMT8w4wI7TAyevxXVPD5z8+zD64tRXAMHVK1eaVLUyVvuDqroV2BOnJF4ZIedviUidqt4Re9s+vbx8zZXLl7PR2+nl5Tz/zNOFp2FzxzGAklw22wUsLLaSKXwf8vhosZUM6PeDYEUum70VHfpBwKsVyyfeikOP6oBNwN1TrLbfgX3A1kKLzKeff8nLLzw38T5wZDgxn1LnNk5lLRfP26/OnR2hwfNYW2Atn9RCsrf+EECyrKysDFimqhXhyjY3VLkAXBKRDqA7nU6nS0tLhyIj6XSaN9bVclv+l/IXAmkwvZc+jNUAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-save{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4UexUIzAAAAIRJREFUWMNjXLhs5X+GAQRMDAMMWJDYjGhyf7CoIQf8x2H+f0KGM9M7BBio5FNcITo408CoA0YdQM1cwEhtB/ylgqMkCJmFLwrOQguj/xTg50hmkeyARAYGhlNUCIXjDAwM0eREwTUGBgbz0Ww46oBRB4w6YNQBow4YdcCIahP+H5EhAAAH2R8hH3Rg0QAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-tap-select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3NzIwRUFGMDYyMjE2ODExOTdBNUNBNjVEQTY5OTRDRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCOTJBQzE0RDQ0RDUxMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCOTJBQzE0QzQ0RDUxMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTQ0QzIwMUM1RjIxNjgxMUE3QkFFMzhGRjc2NTI3MjgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzcyMEVBRjA2MjIxNjgxMTk3QTVDQTY1REE2OTk0Q0UiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6eYZ88AAADLklEQVR42rSXf2TUYRzHv7tuGcfE6Vwb5zLSSjEj7Y9KWqfEmFZJP+yPMdKKmUrrn0iUfjhWlLFi6YfNrF+StBoTo39iYkTGco4xxxG59P7k/T2PT8/37nu3bx9ezvPj+zyf5/PreS78bGLS8SmrwE6yje3NHJsDBTALpknBz6JhH3NiYAB0gHqPOVv52wJ6QQ48BzdAttTioRJjdeA8mAHHS2xuk3p+M8M16ipVQE49Ds6CiFO9RLjGONf05QLx6wPQaBlbBlPgJVgkP0ETiIJ2sB/E1XfimjfgBOOlKDUqCGOcqBcQnw6BYW5YTo4wbvQhMmCfGRemC2rBiGXzWUb+kM/NRZ6CHWBM9ce5R61NgX6ayhSJ5EPlItlDRNkz4JbFHf06BkSzHjXxM+gDv1S/mPUo2AXWgt9UUHL/IVhS8yUV1/EbV3o4N+NaoE9Fu/i827K5pNYHnqAVJECShWmAaddpscYFFXwR7vnXBRGlnUN/L6kqKJlxnRUuDbaDBiL+vst5d4gpcpBrqk/2jIgCKVUolhntplzivHmwh4stGOPfwBWwl/2dpp8p7xjQZqFLiQJtauKkivYm+kzccpK57yXfOUe+P23JqAnVbhMFmlXntCWnxbT31am9ZJ4BJifsUmNTqt0cYhA5ypympPg7VkEKunPbVb8cIG+0kyHLJZNR7fUMooUKFHAPkfQo58VLK+RzwRDd4FdWG9mjpaAXzqkJa1R7kQttqEABWXMjOOxxVRfnhRm5URX1prk/0pQHwNcKlchZ+jdpC+hFdVqO0my9Hj5dkYgCn1Rfh/KdlNDHrJhPqlDih+IfBd6qwpOgEqYMsorJ2HtWxtagLJDn/W3KRfPOZhoeBJfZPgVeGKeKrkQBh5dLXl25Ny3pc4/1fkTdbvFqFQgbxWeYD0hXulhQ0pYiM1jG547fcbMQpVnHTZEn9W3ljsCzwHxCdVteNHIZvQa7/7cC7nV6zHIfyFP9EXjFa7YxKAVqPP4bxhhoLWW+z9JyCb6M/MREg59/RlmmXbmneIybB+YC/ay+yrffqEddDzwGvKxxDmzhc0tc80XVgblqFfgjwAAPubcGjAOl1wAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-undo{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4em8Dh0gAAAatJREFUWMPt1rFrFFEQBvDfGhACASshkL/ALpWVrSAKEQV5sIULWlgZNSgIFkGIVQ412gkBt1lYLERREFJqJRaW1oHAoZUQsDqwecWy7N3tbe6C4H2wxc682Zn3zTfvLXPM8b8j6RqYF+UCzsfnHBawGt3fMcAX7GEvS8NgKgXkRbmMxwg41TLsN0psZmnodyogL8pFPMIdLHUk7hA7eJKl4U/rAuKu3+HslFr/FZezNPSTFslX8QErDe4DvMVH/Iq9F7VwGpdwZUjsPtaSFjv/1vCBPjaxO0xcNbHejLpZrrlvJCMCT+JzA+2fcC1Lw+GE4l3CG1yIptfjCtiKoqtiJ0vD3aM0Py/K57iIMxgkQxat4EdN7e9xdRzlk+LEEPvDWvIDXJ928sYxjL36icWK+VaWhlezOIqbGFirJd/H7szugrwoX+D2BDEvszSsT5OBdfRaru/F9dPXQF6U27g/KnmWhgctxqyzBrZGMNGL/rHI0nDkKXiKexXTsywNGx0OnFbFNk3BRoWJXnw//j+ivCi32/S8CxPVNiWOAdUiJtXITIqYY45/Cn8B2D97FYW2H+IAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-wheel-pan{background-image:url("data:image/png;base64,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");}.bk-root .bk-tool-icon-wheel-zoom{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEgskILvMJQAABTtJREFUWMPdl1+MXVUVxn/fPvf2zrSFmUKnoBCUdjRoVaIxEpO2JhilMYBCtBQS2hejpg1Uo2NUrIFAoyGmtiE+GHwQGtvQJhqDmKYRBv+URFsFDNCSptH60DJTO3dKnX/33rM/H7rvsDu9M20fDMaVnGTvtb69z7fWXmvtc/TEzqd4OyXwNsv/FwFJQVI/sA14SZKRLOlPkr5TrVYXHz70quYkEEK4TtI2YAgYkrQthHDdhV5uuw+43/ZrwCbgRttgY/tjtrc0m83X3/f+D6ydnJhYcB4BSZcBA7aP2d4ELAGW2N5k+xgwkDB0IH19CGGH7R8B1aQeAf4KvAw0ku4K2zu7uru3ApdPEyiKohd4TNKjtjt5h6RHgccSNrddbvuHtm9Jqoak7xVF8WFgdavV+pSk5cCObNmXgK++85prCj3z28HKqZMnH7D9YAY4BvwujT8BvCuL1INX9vVt+dfwcCvNb7f9q2RuSfrGvWu/sL2Nf3LX7pzvj4ENSGBPVarVd4fRkZFltjdmoMGiKO4IIWwIIWwoiuIOYDDzeOPoyMiyFLkum7WJCMDztrcrTTrIRuAQZ6NcK1utL4dWq/VZoC8BhqvV6l1lWb4YYxyLMY6VZflitVq9CxhOmL60hhCKeYiV7WMKIXw9jT1HpXw3c+bOAKzOjJubzebJrKQCQLPZPClpc7bP6rMYKtjXth2OMf7tIkr11Wz8oQDc1Fb09vY+kQw1YAuwJY2nbUluAnCWpKkaFl6IQIzxivaR2SYA89sJVK/Xp2x32R6w/a30DNjuqtfrU0ArYecDCEqgLqm94T0dEm9mBG7PxkdDlkBnkhebgIezNQ8nHcCZPL9ijE1Jf/bZZoPtzbavmqNZLbf9tSxq+yoduuJ+SZ+zXSZyBXCqU+d8fvC5yRUrV+0G2j3g2hDCLyXd/+Su3QdnvP/zCuH72LWsgf2k0oHlH2c2odlkxcpVEdgr6aDtjyb8x20/J+mA7T9I6rL9SWA5dne2/GdXLl58qNJh398An85yTMA+4DOz8Dgu6Zu2dwJXJ91ltm8Gbp7Fgb+EEB4aHhpq5CEtACqVyr3AC0AlPS8k3TSmQ2YPhhBuS/1/LpmS9JTtNTHGfwBU2uUALARotVqniqJYH2Pck85pfavVaufAwnQvnHc0McaDKVptebN94QAnJB0EdtjekydyZXqjs/0ZgLIs/w6sy8bnYGYJ63pgERKC05JutT1kOwITwL9tvzlzUQUYB+Zjs2DBgu6xsbGJZHstByZbezregcBXeCsEz1bnzXt5anLyzLq71zDLxTRdVgemdx0fv2e2w5thO5DbiqL4oKT3ZKpnpyYnz+SY2ZpTAPZmJfdIrVZbNBNUq9UW2X4kU+2dcf53Aj1pj2PA7y/6m1DS00A9za9uNBq7iqJYBuoGdRdFsazRaOzKSqye1rTbaa/tlbYrqXQP2X4FIA9/J1l39xrC0v7+w5IeB8XkwS1lWe6TGJAYKMty31tfO4qSHl/a3384I3CDpI+kzC4lnRfrue6GytEjR8oQwlY73gC0L4qlth/q0M1/LYWtR48cKQF6enrC6dOnVwGLEpnxnp7en4+O1i/tszzGOCTpPmB7ahb57QUwBWyXdF+McWg6MScmuoA8OX8xOlpvXGz422XYTsB/SnpA0h7bX5R0WzI9HUL4qe2XbI+dk3xl+V7gxoztD5jRI+YK/zkEEokx2/uB/RdzIfUtueqVN04cXwF8G3iHY3z9Urw/j8ClyhsnjrcS2Vv/J/8NLxT+/zqBTkcxU/cfEkyEAu3kmjAAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-box-edit{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4QfHjM1QAAAGRJREFUWMNjXLhsJcNAAiaGAQYsDAwM/+lsJ+OgCwGsLqMB+D8o08CoA0YdMOqAUQewDFQdMBoFIyoN/B/U7YFRB7DQIc7xyo9GwbBMA4xDqhxgISH1klXbDYk0QOseEeOgDgEAIS0JQleje6IAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-freehand-draw{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADTElEQVRYCeWWTWwMYRjH/88721X1lZJIGxJxcEE4OOiBgzjXWh8TJKR76kWacOBGxdEJIdk4VChZI/phidRBHMRRIr7DSUiaSCRFRM3u88gz+o7Z6bBTdjmYZPf9eJ55fv/5zzvvDPC/H9QsA66Olo9Ga+/MdR+Ljm2/KQIULsz9FqItGdOfJKLhApLgVkiSCGODjWit7QpKWy+TNrFeXvzKVUT8NiTVaIgDcbiCFJ7GiT8WkARXAdYBK0Lbhi/CenArRNskuM7/tgNp4ArQ42dwjf3WY5gWTqC7O/NbNn2Xkfw/YwdSw/We14HP2IEZwX+y9cZ9SH0LmgFP7UCz4KkENBNeV0Cz4b8U8DfgKiDxMWwUXETqLvJpCQpXZfawbzS7t9v5pL19cHBwfja7YA0y/lyCM0+E5hv5+piZXwKYcF23as+37bTXsQVqgkL0p/34fHR7DcBtbetFsBmGDwMOJCggYG55yw7dMlk6DuC1Bdu2RsCU9TYWQq2IoGbsreZ5NzvEqfSBsIsIy8OTbcdgiRHeh4o8AFAEwDakbY2AaCCpH7V9aGhoUUUy3UyVbkPYFuYLDlUZH8XBpwxkK0Dbgxg5HcVi0ent7a0RULMIozaHBSMfF9b2SzdutFcFB2FkwMIJOG6qfteXOa1nHZ48tyefuwyfT9s6wtzZ3t7eZse2DR2I228TtHXzuWCx9g8MtK5cuHCZTH4tiHEOa4xFngvTyS8f35d6enomiCi4/foEXBkZaQuukChL4FYA2Whd7YcC4gEdW3CpdL3LtGAVCVYJywEyTpAuJKeMOKXZs/Bw947C50KhUFOG4cwz35cjWNBlHGeD53n3xsfHP/T19U1qciggar8Fa4I3PHobIotBWBtc2hSiChyZxVzM53Pv7FVH6Tp3uVy+g0r1ImD2GjIrQGYIxjnfuXTZGICS5k/bBwJoubwEFX4TLah9EXomJGMA3za+f9913Yl4TnzsDQ+vE6YTZOjHh4ngibstt1pzQwd04F0bPStEBpXqRoBeQ/AKghfBnOEKgS+Q7z91Xfdz/HGKg8Ox7z8iYD9z6wqTkZFgnvhMGP9VZ2or1XVkPM9z0mytSfVsHa1RLBZbLoyNzUnK+ydz3wC6I9x+lwbngwAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-poly-draw{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEjglo9eZgwAAAc5JREFUWMPt1zFrU1EUB/DfS4OmVTGDIChCP4BgnQXRxVHqIJUupp9AB8VBQcRBQUXIB9DWQoMRiXZzcnQSA34A7aAuHSJKkgo2LvfBrU3aJnlYkBy4vHcP557zP/9z3r33JdXa647N0kHSZd5Nn0rSxc8G3cXp85sMcnZZ8vge3osZ+l3vB8CWFA0iL14t79h210swAjACMAIwAjACkB90D/8/GchI9ve4nPwTBh5E9ws7OepzGWb9EddSn51Op9ZstadSg4VK1UKlKkmSDSMLALewiuNh/hVJq71Wxttmqz0dG88vPc+MgWP4grvYG3SLOBrZFFFrttqPe4HIDxh4GSei+98iSlusuYopXEAjBtEPA3tQwUpwluAbDm4TPJUz+BTW9l2Ce6G7L0X/Bw8D3T/7SKKIDzHg7QCcxjvcQAEtXAnrrg/RP0/DKPbqgcN4iVOR7gcO4dcQgRuoh7HSqwlP4n20m63jJu5n8MkWMYfP3UowhzdR8FU8w9iQwevBdyq3/27CMRzAE5yLuvsRLg+ZcR1nJ8YL81HWJUzGAPaFZwe/Q5MdyYDyNHgjzO90YyGHtVDncuiJchaHw8R4oREFV5qdiVmYLM3OgD9k5209/atmIAAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-point-draw{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEiERGWPELgAAA4RJREFUWMO1lr1uG1cQhb9ztdRSP7AF1QxgwKlcuZSqRC9gWUUUINWqTh5AnaFOnVPEteQmRuhCURqWsSqqc9IolREXdEvQBElxtdw7KURSFEVKu4w8wAKLxdw9Z+bMnRmZGXfZ29//II8th4WwGVNyIoQLYB5vxA9Caq04iUd9A+7ZlsNC2I7TdSd2hZXMJKlnTqp9jtl/GBaqoyQ0noFKpUIzBicYYc+DEFpxkglc4oVJa5gvDn8v1xV2irG3FM4NSVwjUKlUaMcpJhCGmSEJQ6QGD8M5WnHCd8+f3QCXpPLx8WNwv0j6Bm9FMK7FJ3WBE+R/2t7c/GBmFvSBrzRTCsyTDjXrxUgEMtpxynJYmJoBJ4VAybwVARgvL7Oik0okCodnKpVKX7P0leiVMb0VvbJT+upznK4vh0GIeQwwQStJkHQD3MwsCALTJRG7Qrdrj5m/djgYaIa0hlkRdJk26XEgC9txurccBtVW3IudBImmZuACUP+ZlIDBt9FKcubYNTcAH/X0RYM1E7utJPlqe+uZzPxUcEkiSS4sTT95n15Mud0xWC0o2PAWOCdK3KYZlFxfM+tHOcnMzNr1es18ug+cgsVjP4yBU/Ppfrter1m/+l0+zYygML1xRVHU7TSb1cSzBzoBzszsH+AMdJJ49jrNZjWKou6wBnwOzcyndBpNbuueURR1Dw8Pq35p9cc5p/Dy9Dypt7jXrtdGwQECS9NPhr6Gq6txUzNigE6zydLK6lTw12/KT4FGFEUfJX2YJNONq5tVs4ODA7sD/DnwJ/BoADZuE3tHFs12dna6d4C/BI6AlbyzI8ii2TTw12/KK33gb2cdXsNZoAntbZC2SeO4c9592k/5eNQbiwvFd1kJuFGwLJr1wSPg/SwpvyFBHufOeXcFeAlE97U/uCxOY+P3b+Bn4B3Q+L8EdJfD4a+/AbC4UBzPxiPg3wlHZquB28Cn2IuR9x3gr3uV4DbwfvSDOvi4uFA8BDZmIRHkjHpS9Ht9iRqd8+5G3g05mAGcQbsdiX5QJ428G7Kygo8XYdb1/K4NWVmjzkNge2sz84bs+ELmpDDLtqWsNZBXgvmw8CTtpWVMT7x5YWBjLARnwZfKQNYN2U2LPvrh+5nBt7c2M2/It9bArCTKR8eZN+SJ13AScPnoODeRdqNenH+wul5w2gUr2WUjMFAt8bZ/0axX/wNnv4H8vTFb1QAAAABJRU5ErkJggg==");}.bk-root .bk-tool-icon-poly-edit{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gELFi46qJmxxAAABV9JREFUWMOdl19vFFUYxn9n9u9sCyylUIzWUoMQBAWCMdEEIt6xIRQSLIEKtvHe6AcA4yeQb7CAUNJy0daLeomJN8SEULAC2kBBapBKoLvbmdl/c14vdmY7u91tF95kknPOnHmf95znPc97Ro2OTeBbdjFDT3c32ZxVHUOE9kSMB0/m6ExuoJn1H+ur6Y+OTfD50SMN5168OgrAlyf7CfuD+z7+iDs3p8hkLUQ0iFQ/yFl5Nm/qonfHVva+s32Zw9GxCYILsZ08tpNfBhbs+1YN4OH9+7huGdECSBVfqUosbsllfmauBqiR+cCNwOr7AEo8pPHJnymXykhg5fUWjoQpl0vVvhZhbSzGoUOHqgBlt6B6uruj2Zy1E9jo0fhfeyL2x4Mnc8VErK0KUEOB64JSyptfG4RSytsJjUJVxw2lsFy3urL9nx1Qd25ObctkrVMi+jQivd7U2ZyV/3Hzpq7h3h1b/7p9Y0o8v8rwAbTWrGpSocN/FGDlbAI0Rl23PCBan0Ok158H9Ipwzi25A/Mzc9Gl/BYx/E4kYqC1NKRARNAaDCNUM27Z+Zr+ouXs0q4+LSLBHPYCFkTkC6uU39kwCdsS7WRKmaYUiAhdnZ3MPX2K4+QjQI+C94A93rMzm8ltMwyDeDzWjMZeEb2pYQDdW3vITU2jtUZ5QThOPgm8C7wP7J15OPsBsB3oWpGnVWisCeDS1VHj4vBI92+/3tgB7Ab2AruAXiDBK5oIOkhtkEYRNRuJhObrd8Dl9ewf4D5wG7hVLpen29vb5wzD+BrkbBMaL3d1dk5nsrnlFDTTFWAWmAZueWD3gCemGde2k2fw1Al1YXhEvjozoO49eczdqekrWmsc2zlrmvEKOGoW1GUjFLqSk2KpJrCLwyMCPAP+BO54QL8DM6YZX/ClsP9YnwKkXnIBP4jdIpJRpdJTCYdMwwi98KU0Hjc/dDILNyUcwTCWdOSMJ0TRmBktGRhLugu0xyLk7CIqVNm+0bGJptl1YXikD0grpY4Rjc4a8Fbgdab/6OGbAJeCUuyJnnHmZH9pbSyGuBXV8NUwlUpR1EWyixmSyTWEwqGlJ2Swbo2JXbAAfgDGgGQA9I1A9t1tlq0AxrXxn0ilUpw4fhQqYkH/sT41OTnJJwf2s6FjI5mshdYa7bqVR2uezr9MJmJt14FvGrh/O9D+e6UkM/xyCuCqEKCYnJyUTKFQrZDHjxzGshwWLQcRsOz8Hi85P23id0ug/XilAMLBmm4tPGdoaKjSH5+oAGrhwvBI9SjZTn4QSK9yenoD7dlrExPoJlXW8G8ytpNHxRKk02lGxsdRKFwXLNvx5yY94HQLGhGk4LFCYQSqaE0AwWM1eOoEbR0dKBSW7bC4mKuffxs4D/wCLKwQQPAUzIkslfp6cVomROWSolh0GjldAM4nzDi2k9/i5UAzC9aKfwNJ3zgJg9YEvN6+C7SHgKm69+sD7RfNnKTTaZRPQfAut4oFV//IS7gkcB34VlVo8kGzphlfB+DU+TfNGBpZtRastvrvARJmfMF28ge9sc2B9/PNnCilMIDwK6y8/ow/Ai4kvILTljAXvDvEvrqKSUs60KolzPjBxspavQD2tKqCAGF/Ba+xE/Wbilu54wZV8NEKF5fXzQHl/bh4hUsE0WAXSlDMYcQSrQXgCmsTseXHsJkNnjqBFGwKJaHsKlxtUHYVhbLCzr1kaOA4bcn1y1Swmb+iLpJKpVrfgdpfsiVVCYcgluwgnU7jEgJ4s5UkLFtWYyHyEg0/N1q1tmQH+YXnAMFr97Nmv3p+0QsHQRsF8qpBOE5+rb9Nkaj50tVQKjqh4OU3GNL/1/So3vuUgbAAAAAASUVORK5CYII=");}.bk-root .bk-tool-icon-line-edit{background-image:url("data:image/png;base64,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");}’},n function _(o,r,e,t,b){t(),e.root="bk-root",e.menu_icon="bk-menu-icon",e.context_menu="bk-context-menu",e.horizontal="bk-horizontal",e.vertical="bk-vertical",e.divider="bk-divider",e.active="bk-active",e.menu="bk-menu",e.above="bk-above",e.below="bk-below",e.caret="bk-caret",e.down="bk-down",e.up="bk-up",e.left="bk-left",e.right="bk-right",e.default=".bk-root .bk-menu-icon{width:28px;height:28px;background-size:60%;background-color:transparent;background-repeat:no-repeat;background-position:center center;}.bk-root .bk-context-menu{position:absolute;display:inline-flex;display:-webkit-inline-flex;flex-wrap:nowrap;-webkit-flex-wrap:nowrap;user-select:none;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;width:auto;height:auto;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-context-menu.bk-horizontal{flex-direction:row;-webkit-flex-direction:row;}.bk-root .bk-context-menu.bk-vertical{flex-direction:column;-webkit-flex-direction:column;}.bk-root .bk-context-menu > .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.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,s){n();const o=t(1),l=t(43),h=t(245),d=o.__importStar(t(243));class r{constructor(t,e={}){this.items=t,this.options=e,this.el=l.div(),this._open=!1,this._item_click=t=>{var e;null===(e=this.items[t])||void 0===e||e.handler(),this.hide()},this._on_mousedown=t=>{var e,i;const{target:n}=t;n instanceof Node&&this.el.contains(n)||(null===(i=(e=this.options).prevent_hide)||void 0===i?void 0:i.call(e,t))||this.hide()},this._on_keydown=t=>{t.keyCode==l.Keys.Esc&&this.hide()},this._on_blur=()=>{this.hide()},l.undisplay(this.el)}get is_open(){return this._open}get can_open(){return 0!=this.items.length}remove(){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=e.getBoundingClientRect();this.el.style.left=null!=t.left?t.left-i.left+"px":"",this.el.style.top=null!=t.top?t.top-i.top+"px":"",this.el.style.right=null!=t.right?i.right-t.right+"px":"",this.el.style.bottom=null!=t.bottom?i.bottom-t.bottom+"px":""}}render(){var t,e;l.empty(this.el,!0);const i=null!==(t=this.options.orientation)&&void 0!==t?t:"vertical";l.classes(this.el).add("bk-context-menu",`bk-${i}`);for(const[t,i]of h.enumerate(this.items)){let n;if(null==t)n=l.div({class:d.divider});else{if(null!=t.if&&!t.if())continue;{const i=null!=t.icon?l.div({class:["bk-menu-icon",t.icon]}):null;n=l.div({class:(null===(e=t.active)||void 0===e?void 0:e.call(t))?"bk-active":null,title:t.tooltip},i,t.label)}}n.addEventListener("click",(()=>this._item_click(i))),this.el.appendChild(n)}}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}),l.display(this.el),this._listen(),this._open=!0}}hide(){this._open&&(this._open=!1,this._unlisten(),l.undisplay(this.el))}toggle(t){this._open?this.hide():this.show(t)}}i.ContextMenu=r,r.__name__="ContextMenu"},n function _(n,e,o,t,r){t();const f=n(9);function*i(n,e){const o=n.length;if(e>o)return;const t=f.range(e);for(yield t.map((e=>n[e]));;){let r;for(const n of f.reversed(f.range(e)))if(t[n]!=n+o-e){r=n;break}if(null==r)return;t[r]+=1;for(const n of f.range(r+1,e))t[n]=t[n-1]+1;yield t.map((e=>n[e]))}}o.enumerate=function*(n){let e=0;for(const o of n)yield[o,e++]},o.combinations=i,o.subsets=function*(n){for(const e of f.range(n.length+1))yield*i(n,e)}},n function _(t,e,i,n,o){n();const s=t(1),c=t(238),l=s.__importStar(t(241)),a=t(43);class _ extends c.ButtonToolButtonView{render(){super.render(),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 _(t,e,o,n,s){n();const i=t(238),c=t(246);class l extends i.ButtonToolView{}o.InspectToolView=l,l.__name__="InspectToolView";class _ extends i.ButtonTool{constructor(t){super(t),this.event_type="move"}static init_InspectTool(){this.prototype.button_view=c.OnOffButtonView,this.define((({Boolean:t})=>({toggleable:[t,!0]}))),this.override({active:!0})}}o.InspectTool=_,_.__name__="InspectTool",_.init_InspectTool()},n function _(t,o,e,i,s){i();const l=t(1),n=t(19),a=t(43),r=t(122),c=t(240),_=t(20),u=t(9),h=t(13),v=t(8),p=t(249),d=t(99),b=t(53),g=t(236),f=t(237),m=t(251),w=t(252),y=t(247),T=l.__importStar(t(241)),z=T,B=l.__importStar(t(253)),x=B;class L extends b.Model{constructor(t){super(t)}static init_ToolbarViewModel(){this.define((({Boolean:t,Nullable:o})=>({_visible:[o(t),null],autohide:[t,!1]})))}get visible(){return!this.autohide||null!=this._visible&&this._visible}}e.ToolbarViewModel=L,L.__name__="ToolbarViewModel",L.init_ToolbarViewModel();class M extends c.DOMView{constructor(){super(…arguments),this.layout={bbox:new d.BBox}}initialize(){super.initialize(),this._tool_button_views=new Map,this._toolbar_view_model=new L({autohide:this.model.autohide})}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(),T.default,B.default]}remove(){r.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 r.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 t=this._toolbar_view_model.visible,o=z.toolbar_hidden;this.el.classList.contains(o)&&t?this.el.classList.remove(o):t||this.el.classList.add(o)}render(){if(a.empty(this.el),this.el.classList.add(z.toolbar),this.el.classList.add(z[this.model.toolbar_location]),this._toolbar_view_model.autohide=this.model.autohide,this._on_visible_change(),null!=this.model.logo){const t="grey"===this.model.logo?x.grey:null,o=a.a({href:"https://bokeh.org/",target:"_blank",class:[x.logo,x.logo_small,t]});this.el.appendChild(o)}for(const[,t]of this._tool_button_views)t.render();const t=[],o=t=>this._tool_button_views.get(t).el,{gestures:e}=this.model;for(const i of h.values(e))t.push(i.tools.map(o));t.push(this.model.actions.map(o)),t.push(this.model.inspectors.filter((t=>t.toggleable)).map(o));for(const o of t)if(0!==o.length){const t=a.div({class:z.button_bar},o);this.el.appendChild(t)}}update_layout(){}update_position(){}after_layout(){this._has_finished=!0}export(t,o=!0){const e="png"==t?"canvas":"svg",i=new p.CanvasLayer(e,o);return i.resize(0,0),i}}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=M,M.__name__="ToolbarBaseView";class S extends b.Model{constructor(t){super(t)}static init_ToolbarBase(){this.prototype.default_view=M,this.define((({Boolean:t,Array:o,Ref:e,Nullable:i})=>({tools:[o(e(g.Tool)),[]],logo:[i(_.Logo),"normal"],autohide:[t,!1]}))),this.internal((({Array:t,Struct:o,Ref:e,Nullable:i})=>{const s=o({tools:t(e(f.GestureTool)),active:i(e(g.Tool))});return{gestures:[o({pan:s,scroll:s,pinch:s,tap:s,doubletap:s,press:s,pressup:s,rotate:s,move:s,multi:s}),V],actions:[t(e(m.ActionTool)),[]],inspectors:[t(e(y.InspectTool)),[]],help:[t(e(w.HelpTool)),[]],toolbar_location:[_.Location,"right"]}}))}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 u.some(t,(t=>!e.has(t.id)))},o=this.tools.filter((t=>t instanceof y.InspectTool));t(this.inspectors,o)&&(this.inspectors=o);const e=this.tools.filter((t=>t instanceof w.HelpTool));t(this.help,e)&&(this.help=e);const i=this.tools.filter((t=>t instanceof m.ActionTool));t(this.actions,i)&&(this.actions=i);const s=(t,o)=>{t in this.gestures||n.logger.warn(Toolbar: unknown event type ‘${t}’ for tool: ${o})},l={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 f.GestureTool&&t.event_type)if(v.isString(t.event_type))l[t.event_type].tools.push(t),s(t.event_type,t);else{l.multi.tools.push(t);for(const o of t.event_type)s(o,t)}for(const o of Object.keys(l)){const e=this.gestures[o];t(e.tools,l[o].tools)&&(e.tools=l[o].tools),e.active&&u.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=v.isString(o)?[o]:o;for(const o of e)if(t.active){const e=this.gestures[o].active;null!=e&&t!=e&&(n.logger.debug(Toolbar: deactivating tool: ${e} for event type ‘${o}’),e.active=!1),this.gestures[o].active=t,n.logger.debug(Toolbar: activating tool: ${t} for event type ‘${o}’)}else this.gestures[o].active=null}}e.ToolbarBase=S,S.__name__="ToolbarBase",S.init_ToolbarBase()},n function _(e,t,i,n,s){n();const o=e(250),a=e(99),r=e(43);function h(e){!function(e){void 0===e.lineDash&&Object.defineProperty(e,"lineDash",{get:()=>e.getLineDash(),set:t=>e.setLineDash(t)})}(e),function(e){e.setImageSmoothingEnabled=t=>{e.imageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t,e.oImageSmoothingEnabled=t,e.webkitImageSmoothingEnabled=t,e.msImageSmoothingEnabled=t},e.getImageSmoothingEnabled=()=>{const t=e.imageSmoothingEnabled;return null==t||t}}(e),function(e){e.ellipse||(e.ellipse=function(t,i,n,s,o,a,r,h=!1){const l=.551784;e.translate(t,i),e.rotate(o);let c=n,g=s;h&&(c=-n,g=-s),e.moveTo(-c,0),e.bezierCurveTo(-c,g*l,-c*l,g,0,g),e.bezierCurveTo(c*l,g,c,g*l,c,0),e.bezierCurveTo(c,-g*l,c*l,-g,0,-g),e.bezierCurveTo(-c*l,-g,-c,-g*l,-c,0),e.rotate(-o),e.translate(-t,-i)})}(e)}const l={position:"absolute",top:"0",left:"0",width:"100%",height:"100%"};class c{constructor(e,t){switch(this.backend=e,this.hidpi=t,this.pixel_ratio=1,this.bbox=new a.BBox,e){case"webgl":case"canvas":{this._el=this._canvas=r.canvas({style:l});const e=this.canvas.getContext("2d");if(null==e)throw new Error("unable to obtain 2D rendering context");this._ctx=e,t&&(this.pixel_ratio=devicePixelRatio);break}case"svg":{const e=new o.SVGRenderingContext2D;this._ctx=e,this._canvas=e.get_svg(),this._el=r.div({style:l},this._canvas);break}}h(this._ctx)}get canvas(){return this._canvas}get ctx(){return this._ctx}get el(){return this._el}resize(e,t){this.bbox=new a.BBox({left:0,top:0,width:e,height:t});const i=this._ctx instanceof o.SVGRenderingContext2D?this._ctx:this.canvas;i.width=e*this.pixel_ratio,i.height=t*this.pixel_ratio}prepare(){const{ctx:e,hidpi:t,pixel_ratio:i}=this;e.save(),t&&(e.scale(i,i),e.translate(.5,.5)),this.clear()}clear(){const{x:e,y:t,width:i,height:n}=this.bbox;this.ctx.clearRect(e,t,i,n)}finish(){this.ctx.restore()}to_blob(){const{_canvas:e}=this;if(e instanceof HTMLCanvasElement)return null!=e.msToBlob?Promise.resolve(e.msToBlob()):new Promise(((t,i)=>{e.toBlob((e=>null!=e?t(e):i()),"image/png")}));{const e=this._ctx.get_serialized_svg(!0),t=new Blob([e],{type:"image/svg+xml"});return Promise.resolve(t)}}}i.CanvasLayer=c,c.__name__="CanvasLayer"},n function _(t,e,i,s,n){s();const r=t(168),a=t(8),o=t(43);function l(t){if(!t)throw new Error("cannot create a random attribute name for an undefined object");const e="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";let i="";do{i="";for(let t=0;t<12;t++)i+=e[Math.floor(Math.random()*e.length)]}while(t[i]);return i}function h(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 _=function(t,e){const i=new Map,s=t.split(",");e=null!=e?e:10;for(let t=0;t<s.length;t+=2){const n="&"+s[t+1]+";",r=parseInt(s[t],e);i.set(n,"&#"+r+";")}return i.set("\\xa0","&#160;"),i}("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32),u={strokeStyle:{svgAttr:"stroke",canvas:"#000000",svg:"none",apply:"stroke"},fillStyle:{svgAttr:"fill",canvas:"#000000",svg:null,apply:"fill"},lineCap:{svgAttr:"stroke-linecap",canvas:"butt",svg:"butt",apply:"stroke"},lineJoin:{svgAttr:"stroke-linejoin",canvas:"miter",svg:"miter",apply:"stroke"},miterLimit:{svgAttr:"stroke-miterlimit",canvas:10,svg:4,apply:"stroke"},lineWidth:{svgAttr:"stroke-width",canvas:1,svg:1,apply:"stroke"},globalAlpha:{svgAttr:"opacity",canvas:1,svg:1,apply:"fill stroke"},font:{canvas:"10px sans-serif"},shadowColor:{canvas:"#000000"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:"start"},textBaseline:{canvas:"alphabetic"},lineDash:{svgAttr:"stroke-dasharray",canvas:[],svg:null,apply:"stroke"}};class p{constructor(t,e){this.__root=t,this.__ctx=e}addColorStop(t,e){const i=this.__ctx.__createElement("stop");if(i.setAttribute("offset",`${t}`),-1!==e.indexOf("rgba")){const t=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?.?\d*)\s*\)/gi.exec(e),[,s,n,r,a]=t;i.setAttribute("stop-color",`rgb(${s},${n},${r})`),i.setAttribute("stop-opacity",a)}else i.setAttribute("stop-color",e);this.__root.appendChild(i)}}p.__name__="CanvasGradient";class d{constructor(t,e){this.__root=t,this.__ctx=e}}d.__name__="CanvasPattern";class m{constructor(t){var e,i,s;this.__currentPosition=null,this._transform=new r.AffineTransform,this._clip_path=null,this.__document=null!==(e=null==t?void 0:t.document)&&void 0!==e?e:document,(null==t?void 0:t.ctx)?this.__ctx=t.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.__setDefaultStyles(),this.__stack=[],this.__root=this.__document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version","1.1"),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.width=null!==(i=null==t?void 0:t.width)&&void 0!==i?i:500,this.height=null!==(s=null==t?void 0:t.height)&&void 0!==s?s:500,this.__ids={},this.__defs=this.__document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs)}get canvas(){return this}get width(){return this._width}set width(t){this._width=t,this.__root.setAttribute("width",`${t}`)}get height(){return this._height}set height(t){this._height=t,this.__root.setAttribute("height",`${t}`)}__createElement(t,e={},i=!1){const s=this.__document.createElementNS("http://www.w3.org/2000/svg",t);i&&(s.setAttribute("fill","none"),s.setAttribute("stroke","none"));const n=Object.keys(e);for(const t of n)s.setAttribute(t,`${e[t]}`);return s}__setDefaultStyles(){const t=Object.keys(u),e=this;for(let i=0;i<t.length;i++){const s=t[i];e[s]=u[s].canvas}}__applyStyleState(t){const e=Object.keys(t),i=this;for(let s=0;s<e.length;s++){const n=e[s];i[n]=t[n]}}__getStyleState(){const t=Object.keys(u),e={};for(let i=0;i<t.length;i++){const s=t[i];e[s]=this[s]}return e}__applyStyleToCurrentElement(t){var e;const i=this.__currentElement,s=Object.keys(u);for(let n=0;n<s.length;n++){const r=u[s[n]],o=this[s[n]];if(null===(e=r.apply)||void 0===e?void 0:e.includes(t))if(o instanceof d){for(const t of[…o.__ctx.__defs.childNodes])if(t instanceof Element){const e=t.getAttribute("id");this.__ids[e]=e,this.__defs.appendChild(t)}const t=o.__root.getAttribute("id");i.setAttribute(r.apply,`url(#${t})`)}else if(o instanceof p){const t=o.__root.getAttribute("id");i.setAttribute(r.apply,`url(#${t})`)}else if(r.svg!==o)if("stroke"!==r.svgAttr&&"fill"!==r.svgAttr||!a.isString(o)||-1===o.indexOf("rgba")){let e=r.svgAttr;if("globalAlpha"===s[n]&&(e=t+"-"+r.svgAttr,i.getAttribute(e)))continue;i.setAttribute(e,`${o}`)}else{const t=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?.?\d*)\s*\)/gi.exec(o),[,e,s,n,a]=t;i.setAttribute(r.svgAttr,`rgb(${e},${s},${n})`);let l=parseFloat(a);const h=this.globalAlpha;null!=h&&(l*=h),i.setAttribute(r.svgAttr+"-opacity",`${l}`)}}}get_serialized_svg(t=!1){let e=(new XMLSerializer).serializeToString(this.__root);if(/xmlns="http:\/\/www.w3.org\/2000\/svg".+xmlns="http:\/\/www.w3.org\/2000\/svg/gi.test(e)&&(e=e.replace(‘xmlns="http://www.w3.org/2000/svg’,’xmlns:xlink="http://www.w3.org/1999/xlink’)),t)for(const[t,i]of _){const s=new RegExp(t,"gi");s.test(e)&&(e=e.replace(s,i))}return e}get_svg(){return this.__root}save(){this.__stack.push({transform:this._transform,clip_path:this._clip_path,attributes:this.__getStyleState()}),this._transform=this._transform.clone()}restore(){if(0==this.__stack.length)return;const{transform:t,clip_path:e,attributes:i}=this.__stack.pop();this._transform=t,this._clip_path=e,this.__applyStyleState(i)}_apply_transform(t,e=this._transform){e.is_identity||t.setAttribute("transform",e.toString())}scale(t,e){isFinite(t)&&(null==e||isFinite(e))&&this._transform.scale(t,null!=e?e:t)}rotate(t){isFinite(t)&&this._transform.rotate(t)}translate(t,e){isFinite(t+e)&&this._transform.translate(t,e)}transform(t,e,i,s,n,r){isFinite(t+e+i+s+n+r)&&this._transform.transform(t,e,i,s,n,r)}beginPath(){this.__currentDefaultPath="",this.__currentPosition=null;const t=this.__createElement("path",{},!0);this.__root.appendChild(t),this.__currentElement=t}__applyCurrentDefaultPath(){const t=this.__currentElement;"path"===t.nodeName?t.setAttribute("d",this.__currentDefaultPath):console.error("Attempted to apply path command to node",t.nodeName)}__addPathCommand(t,e,i){const s=this.__currentDefaultPath?" ":"";this.__currentDefaultPath+=s+i,this.__currentPosition={x:t,y:e}}get _hasCurrentDefaultPath(){return!!this.__currentDefaultPath}moveTo(t,e){if(!isFinite(t+e))return;"path"!==this.__currentElement.nodeName&&this.beginPath();const[i,s]=this._transform.apply(t,e);this.__addPathCommand(i,s,`M ${i} ${s}`)}closePath(){this._hasCurrentDefaultPath&&this.__addPathCommand(NaN,NaN,"Z")}lineTo(t,e){if(isFinite(t+e))if(this._hasCurrentDefaultPath){const[i,s]=this._transform.apply(t,e);this.__addPathCommand(i,s,`L ${i} ${s}`)}else this.moveTo(t,e)}bezierCurveTo(t,e,i,s,n,r){if(!isFinite(t+e+i+s+n+r))return;const[a,o]=this._transform.apply(n,r),[l,h]=this._transform.apply(t,e),[c,_]=this._transform.apply(i,s);this.__addPathCommand(a,o,`C ${l} ${h} ${c} ${_} ${a} ${o}`)}quadraticCurveTo(t,e,i,s){if(!isFinite(t+e+i+s))return;const[n,r]=this._transform.apply(i,s),[a,o]=this._transform.apply(t,e);this.__addPathCommand(n,r,`Q ${a} ${o} ${n} ${r}`)}arcTo(t,e,i,s,n){if(!isFinite(t+e+i+s+n))return;if(null==this.__currentPosition)return;const r=this.__currentPosition.x,a=this.__currentPosition.y;if(n<0)throw new Error("IndexSizeError: The radius provided ("+n+") is negative.");if(r===t&&a===e||t===i&&e===s||0===n)return void this.lineTo(t,e);function o([t,e]){const i=Math.sqrt(t**2+e**2);return[t/i,e/i]}const l=o([r-t,a-e]),h=o([i-t,s-e]);if(l[0]*h[1]==l[1]*h[0])return void this.lineTo(t,e);const c=l[0]*h[0]+l[1]*h[1],_=Math.acos(Math.abs(c)),u=o([l[0]+h[0],l[1]+h[1]]),p=n/Math.sin(_/2),d=t+p*u[0],m=e+p*u[1],f=[-l[1],l[0]],g=[h[1],-h[0]];function v(t){const e=t[0];return t[1]>=0?Math.acos(e):-Math.acos(e)}const w=v(f),b=v(g);this.lineTo(d+f[0]*n,m+f[1]*n),this.arc(d,m,n,w,b)}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){if("path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","stroke"),"none"!=this.__currentElement.getAttribute("fill")){const t=this.__currentElement.cloneNode(!0);this.__root.appendChild(t),this.__currentElement=t}this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill"),null!=t&&this.__currentElement.setAttribute("fill-rule",t),null!=this._clip_path&&this.__currentElement.setAttribute("clip-path",this._clip_path)}rect(t,e,i,s){isFinite(t+e+i+s)&&("path"!==this.__currentElement.nodeName&&this.beginPath(),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(){o.empty(this.__defs),o.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 n=this.__createElement("rect",{x:t,y:e,width:i,height:s,fill:"#FFFFFF"},!0);this._apply_transform(n),this.__root.appendChild(n)}createLinearGradient(t,e,i,s){if(!isFinite(t+e+i+s))throw new Error("The provided double value is non-finite");const[n,r]=this._transform.apply(t,e),[a,o]=this._transform.apply(i,s),h=this.__createElement("linearGradient",{id:l(this.__ids),x1:${n}px,x2:${a}px,y1:${r}px,y2:${o}px,gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(h),new p(h,this)}createRadialGradient(t,e,i,s,n,r){if(!isFinite(t+e+i+s+n+r))throw new Error("The provided double value is non-finite");const[a,o]=this._transform.apply(t,e),[h,c]=this._transform.apply(s,n),_=this.__createElement("radialGradient",{id:l(this.__ids),cx:${h}px,cy:${c}px,r:${r}px,fx:${a}px,fy:${o}px,gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(_),new p(_,this)}__parseFont(){var t,e,i,s,n;const r=/^\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),a={style:null!==(t=r[1])&&void 0!==t?t:"normal",size:null!==(e=r[4])&&void 0!==e?e:"10px",family:null!==(i=r[6])&&void 0!==i?i:"sans-serif",weight:null!==(s=r[3])&&void 0!==s?s:"normal",decoration:null!==(n=r[2])&&void 0!==n?n:"normal"};return"underline"===this.__fontUnderline&&(a.decoration="underline"),null!=this.__fontHref&&(a.href=this.__fontHref),a}__wrapTextLink(t,e){if(t.href){const i=this.__createElement("a");return i.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t.href),i.appendChild(e),i}return e}__applyText(t,e,i,s){const n=this.__parseFont(),r=this.__createElement("text",{"font-family":n.family,"font-size":n.size,"font-style":n.style,"font-weight":n.weight,"text-decoration":n.decoration,x:e,y:i,"text-anchor":h(this.textAlign),"dominant-baseline":c(this.textBaseline)},!0);r.appendChild(this.__document.createTextNode(t)),this._apply_transform(r),this.__currentElement=r,this.__applyStyleToCurrentElement(s),this.__root.appendChild(this.__wrapTextLink(n,r))}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,n,r=!1){if(!isFinite(t+e+i+s+n))return;if(s===n)return;(s%=2*Math.PI)===(n%=2*Math.PI)&&(n=(n+2*Math.PI-.001*(r?-1:1))%(2*Math.PI));const a=t+i*Math.cos(n),o=e+i*Math.sin(n),l=t+i*Math.cos(s),h=e+i*Math.sin(s),c=r?0:1;let _=0,u=n-s;u<0&&(u+=2*Math.PI),_=r?u>Math.PI?0:1:u>Math.PI?1:0,this.lineTo(l,h);const p=i,d=i,[m,f]=this._transform.apply(a,o);this.__addPathCommand(m,f,`A ${p} ${d} 0 ${_} ${c} ${m} ${f}`)}clip(){const t=this.__createElement("clipPath"),e=l(this.__ids);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,n,r,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,n=l,r=h}else if(4==e.length){if([i,s,n,r]=e,!isFinite(i+s+n+r))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,n,r]=e,!isFinite(a+o+l+h+i+s+n+r))return}const c=this.__root,_=this._transform.clone().translate(i,s);if(t instanceof m||t instanceof SVGSVGElement){const e=(t instanceof SVGSVGElement?t:t.get_svg()).cloneNode(!0);let i;_.is_identity?i=c:(i=this.__createElement("g"),this._apply_transform(i,_),c.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[t]=t,this.__defs.appendChild(e)}}else i.appendChild(t)}else if(t instanceof HTMLImageElement||t instanceof SVGImageElement){const e=this.__createElement("image");if(e.setAttribute("width",`${n}`),e.setAttribute("height",`${r}`),e.setAttribute("preserveAspectRatio","none"),a||o||l!==t.width||h!==t.height){const e=this.__document.createElement("canvas");e.width=n,e.height=r;e.getContext("2d").drawImage(t,a,o,l,h,0,0,n,r),t=e}this._apply_transform(e,_);const i=t instanceof HTMLCanvasElement?t.toDataURL():t.getAttribute("src");e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",i),c.appendChild(e)}else if(t instanceof HTMLCanvasElement){const e=this.__createElement("image");e.setAttribute("width",`${n}`),e.setAttribute("height",`${r}`),e.setAttribute("preserveAspectRatio","none");const i=this.__document.createElement("canvas");i.width=n,i.height=r;const s=i.getContext("2d");s.imageSmoothingEnabled=!1,s.drawImage(t,a,o,l,h,0,0,n,r),t=i,this._apply_transform(e,_),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t.toDataURL()),c.appendChild(e)}}createPattern(t,e){const i=this.__document.createElementNS("http://www.w3.org/2000/svg","pattern"),s=l(this.__ids);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.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",s),i.appendChild(e),this.__defs.appendChild(i)}else if(t instanceof m){for(const e of[…t.__root.childNodes])e instanceof SVGDefsElement||i.appendChild(e);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);this.__defs.appendChild(i)}return new d(i,this)}setLineDash(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null}_to_number(t){return a.isNumber(t)?t:t.baseVal.value}}i.SVGRenderingContext2D=m,m.__name__="SVGRenderingContext2D"},n function _(o,t,n,i,e){i();const s=o(238),c=o(15);class l extends s.ButtonToolButtonView{_clicked(){this.model.do.emit(void 0)}}n.ActionToolButtonView=l,l.__name__="ActionToolButtonView";class _ extends s.ButtonToolView{connect_signals(){super.connect_signals(),this.connect(this.model.do,(o=>this.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,i,l){i();const s=o(251),n=o(242);class r extends s.ActionToolView{doit(){window.open(this.model.redirect)}}t.HelpToolView=r,r.__name__="HelpToolView";class c extends s.ActionTool{constructor(o){super(o),this.tool_name="Help",this.icon=n.tool_icon_help}static init_HelpTool(){this.prototype.default_view=r,this.define((({String:o})=>({redirect:[o,"https://docs.bokeh.org/en/latest/docs/user_guide/tools.html"]}))),this.override({description:"Click the question mark to learn more about Bokeh plot tools."}),this.register_alias("help",(()=>new c))}}t.HelpTool=c,c.__name__="HelpTool",c.init_HelpTool()},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,<svg xmlns=’http://www.w3.org/2000/svg’><filter id=’grayscale’><feColorMatrix type=’matrix’ values=’0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0’/></filter></svg>#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 _(t,e,i,s,l){s();const o=t(1),n=t(40),h=t(20),a=t(43),r=o.__importStar(t(255)),c=r;class d extends n.AnnotationView{initialize(){super.initialize(),this.el=a.div({class:c.tooltip}),a.undisplay(this.el),this.plot_view.canvas_view.add_overlay(this.el)}remove(){a.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(),r.default]}render(){this.model.visible||a.undisplay(this.el),super.render()}_render(){const{content:t}=this.model;null!=t?(a.empty(this.el),a.classes(this.el).toggle("bk-tooltip-custom",this.model.custom),this.el.appendChild(t),this.model.show_arrow&&this.el.classList.add(c.tooltip_arrow)):a.undisplay(this.el)}_reposition(){const{position:t}=this.model;if(null==t)return void a.undisplay(this.el);const[e,i]=t,s=(()=>{const t=this.parent.layout.bbox.relative(),{attachment:s}=this.model;switch(s){case"horizontal":return e<t.hcenter?"right":"left";case"vertical":return i<t.vcenter?"below":"above";default:return s}})();let l;this.el.classList.remove(c.right),this.el.classList.remove(c.left),this.el.classList.remove(c.above),this.el.classList.remove(c.below),a.display(this.el);let o=null,n=null;switch(s){case"right":this.el.classList.add(c.left),o=e+(this.el.offsetWidth-this.el.clientWidth)+10,l=i-this.el.offsetHeight/2;break;case"left":this.el.classList.add(c.right),n=this.plot_view.layout.bbox.width-e+10,l=i-this.el.offsetHeight/2;break;case"below":this.el.classList.add(c.above),l=i+(this.el.offsetHeight-this.el.clientHeight)+10,o=Math.round(e-this.el.offsetWidth/2);break;case"above":this.el.classList.add(c.below),l=i-this.el.offsetHeight-10,o=Math.round(e-this.el.offsetWidth/2)}this.el.style.top=`${l}px`,this.el.style.left=null!=o?`${o}px`:"auto",this.el.style.right=null!=n?`${n}px`:"auto"}}i.TooltipView=d,d.__name__="TooltipView";class p extends n.Annotation{constructor(t){super(t)}static init_Tooltip(){this.prototype.default_view=d,this.define((({Boolean:t})=>({attachment:[h.TooltipAttachment,"horizontal"],inner_only:[t,!0],show_arrow:[t,!0]}))),this.internal((({Boolean:t,Number:e,Tuple:i,Ref:s,Nullable:l})=>({position:[l(i(e,e)),null],content:[s(HTMLElement),()=>a.div()],custom:[t]}))),this.override({level:"overlay"})}clear(){this.position=null}}i.Tooltip=p,p.__name__="Tooltip",p.init_Tooltip()},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,i,s,r){s();const a=e(135),h=e(133),_=e(122),l=e(48);class o extends a.UpperLowerView{async lazy_initialize(){await super.lazy_initialize();const{lower_head:e,upper_head:t}=this.model;null!=e&&(this.lower_head=await _.build_view(e,{parent:this})),null!=t&&(this.upper_head=await _.build_view(t,{parent:this}))}set_data(e){var t,i;super.set_data(e),null===(t=this.lower_head)||void 0===t||t.set_data(e),null===(i=this.upper_head)||void 0===i||i.set_data(e)}paint(e){if(this.visuals.line.doit)for(let t=0,i=this._lower_sx.length;t<i;t++)this.visuals.line.set_vectorize(e,t),e.beginPath(),e.moveTo(this._lower_sx[t],this._lower_sy[t]),e.lineTo(this._upper_sx[t],this._upper_sy[t]),e.stroke();const t="height"==this.model.dimension?0:Math.PI/2;if(null!=this.lower_head)for(let i=0,s=this._lower_sx.length;i<s;i++)e.save(),e.translate(this._lower_sx[i],this._lower_sy[i]),e.rotate(t+Math.PI),this.lower_head.render(e,i),e.restore();if(null!=this.upper_head)for(let i=0,s=this._upper_sx.length;i<s;i++)e.save(),e.translate(this._upper_sx[i],this._upper_sy[i]),e.rotate(t),this.upper_head.render(e,i),e.restore()}}i.WhiskerView=o,o.__name__="WhiskerView";class n extends a.UpperLower{constructor(e){super(e)}static init_Whisker(){this.prototype.default_view=o,this.mixins(l.LineVector),this.define((({Ref:e,Nullable:t})=>({lower_head:[t(e(h.ArrowHead)),()=>new h.TeeHead({size:10})],upper_head:[t(e(h.ArrowHead)),()=>new h.TeeHead({size:10})]}))),this.override({level:"underlay"})}}i.Whisker=n,n.__name__="Whisker",n.init_Whisker()},n function _(n,o,t,u,e){u(),e("CustomJS",n(258).CustomJS),e("OpenURL",n(260).OpenURL)},n function _(t,s,e,n,c){n();const u=t(259),i=t(13),a=t(34);class r extends u.Callback{constructor(t){super(t)}static init_CustomJS(){this.define((({Unknown:t,String:s,Dict:e})=>({args:[e(t),{}],code:[s,""]})))}get names(){return i.keys(this.args)}get values(){return i.values(this.args)}get func(){const t=a.use_strict(this.code);return new Function(…this.names,"cb_obj","cb_data",t)}execute(t,s={}){return this.func.apply(t,this.values.concat(t,s))}}e.CustomJS=r,r.__name__="CustomJS",r.init_CustomJS()},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,n,t,o,i){o();const s=e(259),c=e(182),r=e(8);class a extends s.Callback{constructor(e){super(e)}static init_OpenURL(){this.define((({Boolean:e,String:n})=>({url:[n,"http://"],same_tab:[e,!1]})))}execute(e,{source:n}){const t=e=>{const t=c.replace_placeholders(this.url,n,e,void 0,void 0,encodeURIComponent);if(!r.isString(t))throw new Error("HTML output is not supported in this context");this.same_tab?window.location.href=t:window.open(t)},{selected:o}=n;for(const e of o.indices)t(e);for(const e of o.line_indices)t(e)}}t.OpenURL=a,a.__name__="OpenURL",a.init_OpenURL()},n function _(a,n,e,r,s){r(),s("Canvas",a(262).Canvas),s("CartesianFrame",a(144).CartesianFrame)},n function _(e,t,s,i,a){i();const l=e(14),n=e(240),r=e(19),o=e(43),h=e(20),_=e(13),c=e(263),d=e(99),p=e(249),v=(()=>{const e=document.createElement("canvas"),t=e.getContext("webgl",{premultipliedAlpha:!0});return null!=t?{canvas:e,gl:t}:void r.logger.trace("WebGL is not supported")})(),u={position:"absolute",top:"0",left:"0",width:"100%",height:"100%"};class b extends n.DOMView{constructor(){super(…arguments),this.bbox=new d.BBox}initialize(){super.initialize(),"webgl"==this.model.output_backend&&(this.webgl=v),this.underlays_el=o.div({style:u}),this.primary=this.create_layer(),this.overlays=this.create_layer(),this.overlays_el=o.div({style:u}),this.events_el=o.div({class:"bk-canvas-events",style:u});const e=[this.underlays_el,this.primary.el,this.overlays.el,this.overlays_el,this.events_el];_.extend(this.el.style,u),o.append(this.el,…e),this.ui_event_bus=new c.UIEventBus(this)}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 d.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:s,height:i}=this.bbox;t.canvas.width=this.pixel_ratio*s,t.canvas.height=this.pixel_ratio*i;const{gl:a}=t;a.enable(a.SCISSOR_TEST);const[l,n,r,o]=e,{xview:h,yview:_}=this.bbox,c=h.compute(l),d=_.compute(n+o),p=this.pixel_ratio;a.scissor(p*c,p*d,p*r,p*o),a.enable(a.BLEND),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE_MINUS_DST_ALPHA,a.ONE),this._clear_webgl()}}blit_webgl(e){const{webgl:t}=this;if(null!=t){if(r.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{gl:t,canvas:s}=e;t.viewport(0,0,s.width,s.height),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}}compose(){const e=this.create_layer(),{width:t,height:s}=this.bbox;return e.resize(t,s),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 p.CanvasLayer(e,t)}to_blob(){return this.compose().to_blob()}}s.CanvasView=b,b.__name__="CanvasView";class g extends l.HasProps{constructor(e){super(e)}static init_Canvas(){this.prototype.default_view=b,this.internal((({Boolean:e})=>({hidpi:[e,!0],output_backend:[h.OutputBackend,"canvas"]})))}}s.Canvas=g,g.__name__="Canvas",g.init_Canvas()},n function _(t,e,s,n,i){n();const r=t(1),a=r.__importDefault(t(239)),_=t(15),h=t(19),o=t(43),l=r.__importStar(t(264)),c=t(265),p=t(9),u=t(8),v=t(27),d=t(244);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&&(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 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;const a=t.model.toolbar.gestures,_=e.name.split(":")[0],h=this._hit_test_renderers(t,s.sx,s.sy),o=this._hit_test_canvas(t,s.sx,s.sy);switch(_){case"move":{const n=a[_].active;null!=n&&this.trigger(e,s,n.id);const r=t.model.toolbar.inspectors.filter((t=>t.active));let l="default";null!=h?(l=null!==(i=h.cursor(s.sx,s.sy))&&void 0!==i?i:l,p.is_empty(r)||(e=this.move_exit)):this._hit_test_frame(t,s.sx,s.sy)&&(p.is_empty(r)||(l="crosshair")),this.set_cursor(l),t.set_toolbar_visibility(o),r.map((t=>this.trigger(e,s,t.id)));break}case"tap":{const{target:t}=n;if(null!=t&&t!=this.hit_area)return;null!=h&&null!=h.on_hit&&h.on_hit(s.sx,s.sy);const i=a[_].active;null!=i&&this.trigger(e,s,i.id);break}case"doubletap":{const t=null!==(r=a.doubletap.active)&&void 0!==r?r:a.tap.active;null!=t&&this.trigger(e,s,t.id);break}case"scroll":{const t=a[v.is_mobile?"pinch":"scroll"].active;null!=t&&(n.preventDefault(),n.stopPropagation(),this.trigger(e,s,t.id));break}case"pan":{const t=a[_].active;null!=t&&(n.preventDefault(),this.trigger(e,s,t.id));break}default:{const t=a[_].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}=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: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 c=e.length-1;c>=0;c–)(_=e[c])&&(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 c{to_json(){const{event_name:e}=this;return{event_name:e,event_values:this._to_json()}}}s.BokehEvent=c,c.__name__="BokehEvent";class r extends c{constructor(){super(…arguments),this.origin=null}_to_json(){return{model:this.origin}}}s.ModelEvent=r,r.__name__="ModelEvent";let l=class extends c{_to_json(){return{}}};s.DocumentReady=l,l.__name__="DocumentReady",s.DocumentReady=l=a([o("document_ready")],l);let i=class extends r{};s.ButtonClick=i,i.__name__="ButtonClick",s.ButtonClick=i=a([o("button_click")],i);let u=class extends r{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 r{}s.UIEvent=d,d.__name__="UIEvent";let h=class extends d{};s.LODStart=h,h.__name__="LODStart",s.LODStart=h=a([o("lodstart")],h);let m=class extends d{};s.LODEnd=m,m.__name__="LODEnd",s.LODEnd=m=a([o("lodend")],m);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 p=class extends d{};s.Reset=p,p.__name__="Reset",s.Reset=p=a([o("reset")],p);class j 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=j,j.__name__="PointEvent";let y=class extends j{constructor(e,t,s,n,_,a){super(e,t,s,n),this.sx=e,this.sy=t,this.x=s,this.y=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=y,y.__name__="Pan",s.Pan=y=a([o("pan")],y);let P=class extends j{constructor(e,t,s,n,_){super(e,t,s,n),this.sx=e,this.sy=t,this.x=s,this.y=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 v=class extends j{constructor(e,t,s,n,_){super(e,t,s,n),this.sx=e,this.sy=t,this.x=s,this.y=n,this.rotation=_}_to_json(){const{rotation:e}=this;return Object.assign(Object.assign({},super._to_json()),{rotation:e})}};s.Rotate=v,v.__name__="Rotate",s.Rotate=v=a([o("rotate")],v);let g=class extends j{constructor(e,t,s,n,_){super(e,t,s,n),this.sx=e,this.sy=t,this.x=s,this.y=n,this.delta=_}_to_json(){const{delta:e}=this;return Object.assign(Object.assign({},super._to_json()),{delta:e})}};s.MouseWheel=g,g.__name__="MouseWheel",s.MouseWheel=g=a([o("wheel")],g);let E=class extends j{};s.MouseMove=E,E.__name__="MouseMove",s.MouseMove=E=a([o("mousemove")],E);let O=class extends j{};s.MouseEnter=O,O.__name__="MouseEnter",s.MouseEnter=O=a([o("mouseenter")],O);let b=class extends j{};s.MouseLeave=b,b.__name__="MouseLeave",s.MouseLeave=b=a([o("mouseleave")],b);let M=class extends j{};s.Tap=M,M.__name__="Tap",s.Tap=M=a([o("tap")],M);let R=class extends j{};s.DoubleTap=R,R.__name__="DoubleTap",s.DoubleTap=R=a([o("doubletap")],R);let f=class extends j{};s.Press=f,f.__name__="Press",s.Press=f=a([o("press")],f);let S=class extends j{};s.PressUp=S,S.__name__="PressUp",s.PressUp=S=a([o("pressup")],S);let D=class extends j{};s.PanStart=D,D.__name__="PanStart",s.PanStart=D=a([o("panstart")],D);let k=class extends j{};s.PanEnd=k,k.__name__="PanEnd",s.PanEnd=k=a([o("panend")],k);let L=class extends j{};s.PinchStart=L,L.__name__="PinchStart",s.PinchStart=L=a([o("pinchstart")],L);let C=class extends j{};s.PinchEnd=C,C.__name__="PinchEnd",s.PinchEnd=C=a([o("pinchend")],C);let T=class extends j{};s.RotateStart=T,T.__name__="RotateStart",s.RotateStart=T=a([o("rotatestart")],T);let B=class extends j{};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.13n *n * Copyright jQuery Foundation and other contributorsn * Released under the MIT licensen * http://jquery.org/licensen */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,i,u,s,a){s(),a("Expression",m(124).Expression),a("CustomJSExpr",m(267).CustomJSExpr),a("Stack",m(268).Stack),a("CumSum",m(269).CumSum),a("ScalarExpression",m(124).ScalarExpression),a("Minimum",m(270).Minimum),a("Maximum",m(271).Maximum)},n function _(t,e,s,n,r){n();const i=t(14),o=t(124),a=t(24),c=t(9),u=t(13),l=t(34),h=t(8);class p extends o.Expression{constructor(t){super(t)}static init_CustomJSExpr(){this.define((({Unknown:t,String:e,Dict:s})=>({args:[s(t),{}],code:[e,""]})))}connect_signals(){super.connect_signals();for(const t of u.values(this.args))t instanceof i.HasProps&&t.change.connect((()=>{this._result.clear(),this.change.emit()}))}get names(){return u.keys(this.args)}get values(){return u.values(this.args)}get func(){const t=l.use_strict(this.code);return new a.GeneratorFunction(…this.names,t)}_v_compute(t){const e=this.func.apply(t,this.values);let s=e.next();if(s.done&&void 0!==s.value){const{value:e}=s;return h.isArray(e)||h.isTypedArray(e)?e:h.isIterable(e)?[…e]:c.repeat(e,t.length)}{const t=[];do{t.push(s.value),s=e.next()}while(!s.done);return t}}}s.CustomJSExpr=p,p.__name__="CustomJSExpr",p.init_CustomJSExpr()},n function _(t,n,e,i,s){i();const a=t(124);class c extends a.Expression{constructor(t){super(t)}static init_Stack(){this.define((({String:t,Array:n})=>({fields:[n(t),[]]})))}_v_compute(t){var n;const e=null!==(n=t.get_length())&&void 0!==n?n:0,i=new Float64Array(e);for(const n of this.fields){const s=t.data[n];if(null!=s)for(let t=0,n=Math.min(e,s.length);t<n;t++)i[t]+=s[t]}return i}}e.Stack=c,c.__name__="Stack",c.init_Stack()},n function _(e,t,n,i,u){i();const o=e(124);class r extends o.Expression{constructor(e){super(e)}static init_CumSum(){this.define((({Boolean:e,String:t})=>({field:[t],include_zero:[e,!1]})))}_v_compute(e){var t;const n=new Float64Array(null!==(t=e.get_length())&&void 0!==t?t:0),i=e.data[this.field],u=this.include_zero?1:0;n[0]=this.include_zero?0:i[0];for(let e=1;e<n.length;e++)n[e]=n[e-1]+i[e-u];return n}}n.CumSum=r,r.__name__="CumSum",r.init_CumSum()},n function _(i,n,t,l,u){l();const e=i(124),m=i(9);class s extends e.ScalarExpression{constructor(i){super(i)}static init_Minimum(){this.define((({Number:i,String:n,Nullable:t})=>({field:[n],initial:[t(i),null]})))}_compute(i){var n,t;const l=null!==(n=i.data[this.field])&&void 0!==n?n:[];return Math.min(null!==(t=this.initial)&&void 0!==t?t:1/0,m.min(l))}}t.Minimum=s,s.__name__="Minimum",s.init_Minimum()},n function _(i,t,a,n,l){n();const u=i(124),e=i(9);class m extends u.ScalarExpression{constructor(i){super(i)}static init_Maximum(){this.define((({Number:i,String:t,Nullable:a})=>({field:[t],initial:[a(i),null]})))}_compute(i){var t,a;const n=null!==(t=i.data[this.field])&&void 0!==t?t:[];return Math.max(null!==(a=this.initial)&&void 0!==a?a:-1/0,e.max(n))}}a.Maximum=m,m.__name__="Maximum",m.init_Maximum()},n function _(e,t,l,r,i){r(),i("BooleanFilter",e(273).BooleanFilter),i("CustomJSFilter",e(274).CustomJSFilter),i("Filter",e(121).Filter),i("GroupFilter",e(275).GroupFilter),i("IndexFilter",e(276).IndexFilter)},n function _(e,n,l,o,t){o();const i=e(121),s=e(24);class a extends i.Filter{constructor(e){super(e)}static init_BooleanFilter(){this.define((({Boolean:e,Array:n,Nullable:l})=>({booleans:[l(n(e)),null]})))}compute_indices(e){const n=e.length,{booleans:l}=this;return null==l?s.Indices.all_set(n):s.Indices.from_booleans(n,l)}}l.BooleanFilter=a,a.__name__="BooleanFilter",a.init_BooleanFilter()},n function _(e,t,s,n,r){n();const i=e(121),o=e(24),u=e(13),c=e(8),a=e(34);class l extends i.Filter{constructor(e){super(e)}static init_CustomJSFilter(){this.define((({Unknown:e,String:t,Dict:s})=>({args:[s(e),{}],code:[t,""]})))}get names(){return u.keys(this.args)}get values(){return u.values(this.args)}get func(){const e=a.use_strict(this.code);return new Function(…this.names,"source",e)}compute_indices(e){const t=e.length,s=this.func(…this.values,e);if(null==s)return o.Indices.all_set(t);if(c.isArrayOf(s,c.isInteger))return o.Indices.from_indices(t,s);if(c.isArrayOf(s,c.isBoolean))return o.Indices.from_booleans(t,s);throw new Error(`expect an array of integers or booleans, or null, got ${s}`)}}s.CustomJSFilter=l,l.__name__="CustomJSFilter",l.init_CustomJSFilter()},n function _(n,t,e,i,o){i();const r=n(121),u=n(24),s=n(19);class c extends r.Filter{constructor(n){super(n)}static init_GroupFilter(){this.define((({String:n})=>({column_name:[n],group:[n]})))}compute_indices(n){const t=n.get_column(this.column_name);if(null==t)return s.logger.warn(`${this}: groupby column ‘${this.column_name}’ not found in the data source`),new u.Indices(n.length,1);{const e=new u.Indices(n.length);for(let n=0;n<e.size;n++)t[n]===this.group&&e.set(n);return e}}}e.GroupFilter=c,c.__name__="GroupFilter",c.init_GroupFilter()},n function _(e,n,i,t,s){t();const l=e(121),c=e(24);class r extends l.Filter{constructor(e){super(e)}static init_IndexFilter(){this.define((({Int:e,Array:n,Nullable:i})=>({indices:[i(n(e)),null]})))}compute_indices(e){const n=e.length,{indices:i}=this;return null==i?c.Indices.all_set(n):c.Indices.from_indices(n,i)}}i.IndexFilter=r,r.__name__="IndexFilter",r.init_IndexFilter()},n function _(e,a,l,i,t){i(),t("AnnularWedge",e(278).AnnularWedge),t("Annulus",e(279).Annulus),t("Arc",e(280).Arc),t("Bezier",e(281).Bezier),t("Circle",e(282).Circle),t("Ellipse",e(286).Ellipse),t("EllipseOval",e(287).EllipseOval),t("Glyph",e(98).Glyph),t("HArea",e(117).HArea),t("HBar",e(289).HBar),t("HexTile",e(291).HexTile),t("Image",e(292).Image),t("ImageRGBA",e(294).ImageRGBA),t("ImageURL",e(295).ImageURL),t("Line",e(63).Line),t("MultiLine",e(127).MultiLine),t("MultiPolygons",e(297).MultiPolygons),t("Oval",e(298).Oval),t("Patch",e(116).Patch),t("Patches",e(128).Patches),t("Quad",e(299).Quad),t("Quadratic",e(300).Quadratic),t("Ray",e(301).Ray),t("Rect",e(302).Rect),t("Scatter",e(303).Scatter),t("Segment",e(306).Segment),t("Spline",e(307).Spline),t("Step",e(309).Step),t("Text",e(310).Text),t("VArea",e(119).VArea),t("VBar",e(311).VBar),t("Wedge",e(312).Wedge)},n function _(e,t,s,i,r){i();const n=e(1),a=e(64),o=e(106),_=e(48),d=e(24),u=e(20),h=n.__importStar(e(18)),l=e(10),c=e(59);class g extends a.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=d.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=d.to_screen(this.outer_radius)}_render(e,t,s){const{sx:i,sy:r,start_angle:n,end_angle:a,sinner_radius:o,souter_radius:_}=null!=s?s:this,d="anticlock"==this.model.direction;for(const s of t){const t=i[s],u=r[s],h=o[s],l=_[s],c=n.get(s),g=a.get(s);if(isNaN(t+u+h+l+c+g))continue;const x=g-c;e.translate(t,u),e.rotate(c),e.beginPath(),e.moveTo(l,0),e.arc(0,0,l,0,x,d),e.rotate(x),e.lineTo(h,0),e.arc(0,0,h,0,-x,!d),e.closePath(),e.rotate(-x-c),e.translate(-t,-u),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(e,s),e.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(e,s),e.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(e,s),e.stroke())}}_hit_point(e){const{sx:t,sy:s}=e,i=this.renderer.xscale.invert(t),r=this.renderer.yscale.invert(s);let n,a,o,_;if("data"==this.model.properties.outer_radius.units)n=i-this.max_outer_radius,o=i+this.max_outer_radius,a=r-this.max_outer_radius,_=r+this.max_outer_radius;else{const e=t-this.max_outer_radius,i=t+this.max_outer_radius;[n,o]=this.renderer.xscale.r_invert(e,i);const r=s-this.max_outer_radius,d=s+this.max_outer_radius;[a,_]=this.renderer.yscale.r_invert(r,d)}const d=[];for(const e of this.index.indices({x0:n,x1:o,y0:a,y1:_})){const t=this.souter_radius[e]**2,s=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]),u=(n-a)**2+(o-_)**2;u<=t&&u>=s&&d.push(e)}const u="anticlock"==this.model.direction,h=[];for(const e of d){const i=Math.atan2(s-this.sy[e],t-this.sx[e]);l.angle_between(-i,-this.start_angle.get(e),-this.end_angle.get(e),u)&&h.push(e)}return new c.Selection({indices:h})}draw_legend_for_index(e,t,s){o.generic_area_vector_legend(this.visuals,e,t,s)}scenterxy(e){const t=(this.sinner_radius[e]+this.souter_radius[e])/2,s=(this.start_angle.get(e)+this.end_angle.get(e))/2;return[this.sx[e]+t*Math.cos(s),this.sy[e]+t*Math.sin(s)]}}s.AnnularWedgeView=g,g.__name__="AnnularWedgeView";class x extends a.XYGlyph{constructor(e){super(e)}static init_AnnularWedge(){this.prototype.default_view=g,this.mixins([_.LineVector,_.FillVector,_.HatchVector]),this.define((({})=>({direction:[u.Direction,"anticlock"],inner_radius:[h.DistanceSpec,{field:"inner_radius"}],outer_radius:[h.DistanceSpec,{field:"outer_radius"}],start_angle:[h.AngleSpec,{field:"start_angle"}],end_angle:[h.AngleSpec,{field:"end_angle"}]})))}}s.AnnularWedge=x,x.__name__="AnnularWedge",x.init_AnnularWedge()},n function _(s,i,t,e,r){e();const n=s(1),a=s(64),u=s(24),_=s(48),o=n.__importStar(s(18)),h=s(27),d=s(59);class c extends a.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=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=u.to_screen(this.outer_radius)}_render(s,i,t){const{sx:e,sy:r,sinner_radius:n,souter_radius:a}=null!=t?t:this;for(const t of i){const i=e[t],_=r[t],o=n[t],d=a[t];function u(){if(s.beginPath(),h.is_ie)for(const t of[!1,!0])s.arc(i,_,o,0,Math.PI,t),s.arc(i,_,d,Math.PI,0,!t);else s.arc(i,_,o,0,2*Math.PI,!0),s.arc(i,_,d,2*Math.PI,0,!1)}isNaN(i+_+o+d)||(this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(s,t),u(),s.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(s,t),u(),s.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(s,t),s.beginPath(),s.arc(i,_,o,0,2*Math.PI),s.moveTo(i+d,_),s.arc(i,_,d,0,2*Math.PI),s.stroke()))}}_hit_point(s){const{sx:i,sy:t}=s,e=this.renderer.xscale.invert(i),r=this.renderer.yscale.invert(t);let n,a,u,_;if("data"==this.model.properties.outer_radius.units)n=e-this.max_outer_radius,u=e+this.max_outer_radius,a=r-this.max_outer_radius,_=r+this.max_outer_radius;else{const s=i-this.max_outer_radius,e=i+this.max_outer_radius;[n,u]=this.renderer.xscale.r_invert(s,e);const r=t-this.max_outer_radius,o=t+this.max_outer_radius;[a,_]=this.renderer.yscale.r_invert(r,o)}const o=[];for(const s of this.index.indices({x0:n,x1:u,y0:a,y1:_})){const i=this.souter_radius[s]**2,t=this.sinner_radius[s]**2,[n,a]=this.renderer.xscale.r_compute(e,this._x[s]),[u,_]=this.renderer.yscale.r_compute(r,this._y[s]),h=(n-a)**2+(u-_)**2;h<=i&&h>=t&&o.push(s)}return new d.Selection({indices:o})}draw_legend_for_index(s,{x0:i,y0:t,x1:e,y1:r},n){const a=n+1,u=new Array(a);u[n]=(i+e)/2;const _=new Array(a);_[n]=(t+r)/2;const o=.5*Math.min(Math.abs(e-i),Math.abs(r-t)),h=new Array(a);h[n]=.4*o;const d=new Array(a);d[n]=.8*o,this._render(s,[n],{sx:u,sy:_,sinner_radius:h,souter_radius:d})}}t.AnnulusView=c,c.__name__="AnnulusView";class l extends a.XYGlyph{constructor(s){super(s)}static init_Annulus(){this.prototype.default_view=c,this.mixins([_.LineVector,_.FillVector,_.HatchVector]),this.define((({})=>({inner_radius:[o.DistanceSpec,{field:"inner_radius"}],outer_radius:[o.DistanceSpec,{field:"outer_radius"}]})))}}t.Annulus=l,l.__name__="Annulus",l.init_Annulus()},n function _(e,i,s,t,n){t();const r=e(1),a=e(64),c=e(106),d=e(48),_=e(24),l=e(20),o=r.__importStar(e(18));class h extends a.XYGlyphView{_map_data(){"data"==this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this.radius):this.sradius=_.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],_=n[s],l=r[s],o=a.get(s),h=c.get(s);isNaN(i+_+l+o+h)||(e.beginPath(),e.arc(i,_,l,o,h,d),this.visuals.line.set_vectorize(e,s),e.stroke())}}}draw_legend_for_index(e,i,s){c.generic_line_vector_legend(this.visuals,e,i,s)}}s.ArcView=h,h.__name__="ArcView";class u extends a.XYGlyph{constructor(e){super(e)}static init_Arc(){this.prototype.default_view=h,this.mixins(d.LineVector),this.define((({})=>({direction:[l.Direction,"anticlock"],radius:[o.DistanceSpec,{field:"radius"}],start_angle:[o.AngleSpec,{field:"start_angle"}],end_angle:[o.AngleSpec,{field:"end_angle"}]})))}}s.Arc=u,u.__name__="Arc",u.init_Arc()},n function _(e,t,i,s,n){s();const o=e(1),c=e(48),r=e(98),a=e(106),_=e(65),d=o.__importStar(e(18));function l(e,t,i,s,n,o,c,r){const a=[],_=[[],[]];for(let _=0;_<=2;_++){let d,l,x;if(0===_?(l=6*e-12*i+6*n,d=-3*e+9*i-9*n+3*c,x=3*i-3*e):(l=6*t-12*s+6*o,d=-3*t+9*s-9*o+3*r,x=3*s-3*t),Math.abs(d)<1e-12){if(Math.abs(l)<1e-12)continue;const e=-x/l;0<e&&e<1&&a.push(e);continue}const h=l*l-4*x*d,y=Math.sqrt(h);if(h<0)continue;const p=(-l+y)/(2*d);0<p&&p<1&&a.push(p);const f=(-l-y)/(2*d);0<f&&f<1&&a.push(f)}let d=a.length;const l=d;for(;d–;){const l=a[d],x=1-l,h=x*x*x*e+3*x*x*l*i+3*x*l*l*n+l*l*l*c;_[0][d]=h;const y=x*x*x*t+3*x*x*l*s+3*x*l*l*o+l*l*l*r;_[1][d]=y}return _[0][l]=e,_[1][l]=t,_[0][l+1]=c,_[1][l+1]=r,[Math.min(…_[0]),Math.max(…_[1]),Math.max(…_[0]),Math.min(…_[1])]}class x extends r.GlyphView{_project_data(){_.inplace.project_xy(this._x0,this._y0),_.inplace.project_xy(this._x1,this._y1)}_index_data(e){const{data_size:t,_x0:i,_y0:s,_x1:n,_y1:o,_cx0:c,_cy0:r,_cx1:a,_cy1:_}=this;for(let d=0;d<t;d++){const t=i[d],x=s[d],h=n[d],y=o[d],p=c[d],f=r[d],u=a[d],m=_[d];if(isNaN(t+h+x+y+p+f+u+m))e.add_empty();else{const[i,s,n,o]=l(t,x,h,y,p,f,u,m);e.add(i,s,n,o)}}}_render(e,t,i){if(this.visuals.line.doit){const{sx0:s,sy0:n,sx1:o,sy1:c,scx0:r,scy0:a,scx1:_,scy1:d}=null!=i?i:this;for(const i of t){const t=s[i],l=n[i],x=o[i],h=c[i],y=r[i],p=a[i],f=_[i],u=d[i];isNaN(t+l+x+h+y+p+f+u)||(e.beginPath(),e.moveTo(t,l),e.bezierCurveTo(y,p,f,u,x,h),this.visuals.line.set_vectorize(e,i),e.stroke())}}}draw_legend_for_index(e,t,i){a.generic_line_vector_legend(this.visuals,e,t,i)}scenterxy(){throw new Error(`${this}.scenterxy() is not implemented`)}}i.BezierView=x,x.__name__="BezierView";class h extends r.Glyph{constructor(e){super(e)}static init_Bezier(){this.prototype.default_view=x,this.define((({})=>({x0:[d.XCoordinateSpec,{field:"x0"}],y0:[d.YCoordinateSpec,{field:"y0"}],x1:[d.XCoordinateSpec,{field:"x1"}],y1:[d.YCoordinateSpec,{field:"y1"}],cx0:[d.XCoordinateSpec,{field:"cx0"}],cy0:[d.YCoordinateSpec,{field:"cy0"}],cx1:[d.XCoordinateSpec,{field:"cx1"}],cy1:[d.YCoordinateSpec,{field:"cy1"}]}))),this.mixins(c.LineVector)}}i.Bezier=h,h.__name__="Bezier",h.init_Bezier()},n function _(s,i,e,t,r){t();const a=s(1),n=s(64),h=s(283),d=s(48),l=s(24),c=s(20),_=a.__importStar(s(107)),u=a.__importStar(s(18)),o=s(9),x=s(12),m=s(59);class y extends n.XYGlyphView{initialize(){super.initialize();const{webgl:s}=this.renderer.plot_view.canvas_view;null!=s&&(this.glglyph=new h.MarkerGL(s.gl,this,"circle"))}get use_radius(){return!(this.radius.is_Scalar()&&isNaN(this.radius.value))}_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=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=x.map(s,((s,e)=>Math.min(s,i[e])));break}}else this.sradius=l.to_screen(this.radius),this._configure("max_size",{value:2*this.max_radius});else{const s=new l.ScreenArray(this.size);this.sradius=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];isNaN(i+n+h)||(s.beginPath(),s.arc(i,n,h,0,2*Math.PI,!1),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(s,e),s.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(s,e),s.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(s,e),s.stroke()))}}_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,c=e+this.max_size*a;[d,l]=this.renderer.yscale.r_invert(r,c)}const c=this.index.indices({x0:n,x1:h,y0:d,y1:l}),_=[];if(this.use_radius&&"data"==this.model.properties.radius.units)for(const s of c){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&&_.push(s)}else for(const s of c){const t=(this.sradius[s]*a)**2;(this.sx[s]-i)**2+(this.sy[s]-e)**2<=t&&_.push(s)}return new m.Selection({indices:_})}_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=o.range(0,this.sx.length),r=[];for(let s=0,a=t.length;s<a;s++){const a=t[s];_.point_in_poly(this.sx[s],this.sy[s],i,e)&&r.push(a)}return new m.Selection({indices:r})}draw_legend_for_index(s,{x0:i,y0:e,x1:t,y1:r},a){const n=a+1,h=new Array(n);h[a]=(i+t)/2;const d=new Array(n);d[a]=(e+r)/2;const l=new Array(n);l[a]=.2*Math.min(Math.abs(t-i),Math.abs(r-e)),this._render(s,[a],{sx:h,sy:d,sradius:l})}}e.CircleView=y,y.__name__="CircleView";class p extends n.XYGlyph{constructor(s){super(s)}static init_Circle(){this.prototype.default_view=y,this.mixins([d.LineVector,d.FillVector,d.HatchVector]),this.define((({Number:s})=>({angle:[u.AngleSpec,0],size:[u.ScreenDistanceSpec,{value:4}],radius:[u.NullDistanceSpec,null],radius_dimension:[c.RadiusDimension,"x"],hit_dilation:[s,1]})))}}e.Circle=p,p.__name__="Circle",p.init_Circle()},n function _(t,e,s,i,a){i();const r=t(1),o=t(109),_=t(113),l=r.__importDefault(t(284)),h=r.__importDefault(t(285)),n=t(282),f=t(12),u=t(19),c=t(24),g=t(22),b=t(11);function d(t,e,s,i,a,r,o){if(a.doit)if(r.is_Scalar()&&o.is_Scalar()){e.used=!1;const[i,a,_,l]=g.color2rgba(r.value,o.value);t.set_attribute(s,"vec4",[i/255,a/255,_/255,l/255])}else{let a;if(e.used=!0,r.is_Vector()){const t=new c.ColorArray(r.array);if(a=new c.RGBAArray(t.buffer),!o.is_Scalar()||1!=o.value)for(let t=0;t<i;t++){const e=4*t+3;255==a[e]&&(a[e]=255*o.get(t))}}else if(r.is_Scalar()&&o.is_Vector()){const t=new c.ColorArray(i);t.fill(r.value),a=new c.RGBAArray(t.buffer);for(let t=0;t<i;t++)for(let t=0;t<i;t++){const e=4*t+3;255==a[e]&&(a[e]=255*o.get(t))}}else b.unreachable();e.set_size(4*i),e.set_data(0,a),t.set_attribute(s,"vec4_uint8",e,0,0,!0)}else e.used=!1,t.set_attribute(s,"vec4",[0,0,0,0])}class p extends _.BaseGLGlyph{constructor(t,e,s){super(t,e),this.glyph=e,this.marker_type=s;const i=[`#define USE_${s.toUpperCase()}`],a=l.default,r=`${i.join("\n")}\n\n${h.default}`;this.prog=new o.Program(t),this.prog.set_shaders(a,r),this.vbo_sx=new o.VertexBuffer(t),this.prog.set_attribute("a_sx","float",this.vbo_sx),this.vbo_sy=new o.VertexBuffer(t),this.prog.set_attribute("a_sy","float",this.vbo_sy),this.vbo_s=new o.VertexBuffer(t),this.prog.set_attribute("a_size","float",this.vbo_s),this.vbo_a=new o.VertexBuffer(t),this.prog.set_attribute("a_angle","float",this.vbo_a),this.vbo_linewidth=new o.VertexBuffer(t),this.vbo_fg_color=new o.VertexBuffer(t),this.vbo_bg_color=new o.VertexBuffer(t),this.index_buffer=new o.IndexBuffer(t)}static is_supported(t){switch(t){case"asterisk":case"circle":case"circle_cross":case"circle_x":case"cross":case"diamond":case"diamond_cross":case"hex":case"inverted_triangle":case"square":case"square_cross":case"square_x":case"star":case"triangle":case"x":return!0;default:return!1}}draw(t,e,s){const i=e.glglyph,{nvertices:a}=i;if(i.data_changed&&(i._set_data(a),this.glyph instanceof n.CircleView&&null!=this.glyph.radius&&this.vbo_s.set_data(0,f.map(this.glyph.sradius,(t=>2*t))),i.data_changed=!1),this.visuals_changed&&(this._set_visuals(a),this.visuals_changed=!1),this.prog.set_uniform("u_pixel_ratio","float",[s.pixel_ratio]),this.prog.set_uniform("u_canvas_size","vec2",[s.width,s.height]),this.prog.set_attribute("a_sx","float",i.vbo_sx),this.prog.set_attribute("a_sy","float",i.vbo_sy),this.prog.set_attribute("a_size","float",i.vbo_s),this.prog.set_attribute("a_angle","float",i.vbo_a),0!=t.length)if(t.length===a)this.prog.draw(this.gl.POINTS,[0,a]);else if(a<65535){const e=window.navigator.userAgent;e.indexOf("MSIE ")+e.indexOf("Trident/")+e.indexOf("Edge/")>0&&u.logger.warn("WebGL warning: IE is known to produce 1px sprites whith selections."),this.index_buffer.set_size(2*t.length),this.index_buffer.set_data(0,new Uint16Array(t)),this.prog.draw(this.gl.POINTS,this.index_buffer)}else{const e=64e3,s=[];for(let t=0,i=Math.ceil(a/e);t<i;t++)s.push([]);for(let i=0,a=t.length;i<a;i++){const a=t[i]%e;s[Math.floor(t[i]/e)].push(a)}for(let t=0,a=s.length;t<a;t++){const a=new Uint16Array(s[t]),r=t*e*4;0!==a.length&&(this.prog.set_attribute("a_sx","float",i.vbo_sx,0,r),this.prog.set_attribute("a_sy","float",i.vbo_sy,0,r),this.prog.set_attribute("a_size","float",i.vbo_s,0,r),this.prog.set_attribute("a_angle","float",i.vbo_a,0,r),this.vbo_linewidth.used&&this.prog.set_attribute("a_linewidth","float",this.vbo_linewidth,0,r),this.vbo_fg_color.used&&this.prog.set_attribute("a_fg_color","vec4_uint8",this.vbo_fg_color,0,4*r,!0),this.vbo_bg_color.used&&this.prog.set_attribute("a_bg_color","vec4_uint8",this.vbo_bg_color,0,4*r,!0),this.index_buffer.set_size(2*a.length),this.index_buffer.set_data(0,a),this.prog.draw(this.gl.POINTS,this.index_buffer))}}}_set_data(t){const e=4*t;this.vbo_sx.set_size(e),this.vbo_sy.set_size(e),this.vbo_a.set_size(e),this.vbo_s.set_size(e),this.vbo_sx.set_data(0,this.glyph.sx),this.vbo_sy.set_data(0,this.glyph.sy),null!=this.glyph.angle&&this.vbo_a.set_data(0,new Float32Array(this.glyph.angle)),this.glyph instanceof n.CircleView&&null!=this.glyph.radius?this.vbo_s.set_data(0,f.map(this.glyph.sradius,(t=>2*t))):this.vbo_s.set_data(0,new Float32Array(this.glyph.size))}_set_visuals(t){const{line:e,fill:s}=this.glyph.visuals;!function(t,e,s,i,a,r){if(a.doit){if(r.is_Scalar())e.used=!1,t.set_attribute(s,"float",[r.value]);else if(r.is_Vector()){e.used=!0;const a=new Float32Array(r.array);e.set_size(4*i),e.set_data(0,a),t.set_attribute(s,"float",e)}}else e.used=!1,t.set_attribute(s,"float",[0])}(this.prog,this.vbo_linewidth,"a_linewidth",t,e,e.line_width),d(this.prog,this.vbo_fg_color,"a_fg_color",t,e,e.line_color,e.line_alpha),d(this.prog,this.vbo_bg_color,"a_bg_color",t,s,s.fill_color,s.fill_alpha),this.prog.set_uniform("u_antialias","float",[.8])}}s.MarkerGL=p,p.__name__="MarkerGL"},n function _(n,i,a,o,_){o();a.default="\nprecision mediump float;\nconst float SQRT_2 = 1.4142135623730951;\n//\nuniform float u_pixel_ratio;\nuniform vec2 u_canvas_size;\nuniform vec2 u_offset;\nuniform vec2 u_scale;\nuniform float u_antialias;\n//\nattribute float a_sx;\nattribute float a_sy;\nattribute float a_size;\nattribute float a_angle; // in radians\nattribute float a_linewidth;\nattribute vec4 a_fg_color;\nattribute vec4 a_bg_color;\n//\nvarying float v_linewidth;\nvarying float v_size;\nvarying vec4 v_fg_color;\nvarying vec4 v_bg_color;\nvarying vec2 v_rotation;\n\nvoid main (void)\n{\n v_size = a_size * u_pixel_ratio;\n v_linewidth = a_linewidth * u_pixel_ratio;\n v_fg_color = a_fg_color;\n v_bg_color = a_bg_color;\n v_rotation = vec2(cos(-a_angle), sin(-a_angle));\n vec2 pos = vec2(a_sx, a_sy); // in pixels\n pos += 0.5; // make up for Bokeh’s offset\n pos /= u_canvas_size / u_pixel_ratio; // in 0..1\n gl_Position = vec4(pos*2.0-1.0, 0.0, 1.0);\n gl_Position.y *= -1.0;\n gl_PointSize = SQRT_2 * v_size + 2.0 * (v_linewidth + 1.5*u_antialias);\n}\n"},n function _(n,a,s,e,t){e();s.default=’\nprecision mediump float;\n\nconst float SQRT_2 = 1.4142135623730951;\nconst float PI = 3.14159265358979323846264;\n\nconst float IN_ANGLE = 0.6283185307179586; // PI/5. = 36 degrees (star of 5 pikes)\n//const float OUT_ANGLE = PI/2. - IN_ANGLE; // External angle for regular stars\nconst float COS_A = 0.8090169943749475; // cos(IN_ANGLE)\nconst float SIN_A = 0.5877852522924731; // sin(IN_ANGLE)\nconst float COS_B = 0.5877852522924731; // cos(OUT_ANGLE)\nconst float SIN_B = 0.8090169943749475; // sin(OUT_ANGLE)\n\n//\nuniform float u_antialias;\n//\nvarying vec4 v_fg_color;\nvarying vec4 v_bg_color;\nvarying float v_linewidth;\nvarying float v_size;\nvarying vec2 v_rotation;\n\n#ifdef USE_ASTERISK\n// asterisk\nfloat marker(vec2 P, float size)\n{\n // Masks\n float diamond = max(abs(SQRT_2 / 2.0 * (P.x - P.y)), abs(SQRT_2 / 2.0 * (P.x + P.y))) - size / (2.0 * SQRT_2);\n float square = max(abs(P.x), abs(P.y)) - size / (2.0 * SQRT_2);\n // Shapes\n float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0; // bit of "width" for aa\n float cross = min(abs(P.x), abs(P.y)) - size / 100.0; // bit of "width" for aa\n // Result is union of masked shapes\n return min(max(X, diamond), max(cross, square));\n}\n#endif\n\n#ifdef USE_CIRCLE\n// circle\nfloat marker(vec2 P, float size)\n{\n return length(P) - size/2.0;\n}\n#endif\n\n#ifdef USE_SQUARE\n// square\nfloat marker(vec2 P, float size)\n{\n return max(abs(P.x), abs(P.y)) - size/2.0;\n}\n#endif\n\n#ifdef USE_DIAMOND\n// diamond\nfloat marker(vec2 P, float size)\n{\n float x = SQRT_2 / 2.0 * (P.x * 1.5 - P.y);\n float y = SQRT_2 / 2.0 * (P.x * 1.5 + P.y);\n float r1 = max(abs(x), abs(y)) - size / (2.0 * SQRT_2);\n return r1 / SQRT_2;\n}\n#endif\n\n#ifdef USE_HEX\n// hex\nfloat marker(vec2 P, float size)\n{\n vec2 q = abs(P);\n return max(q.y * 0.57735 + q.x - 1.0 * size/2.0, q.y - 0.866 * size/2.0);\n}\n#endif\n\n#ifdef USE_STAR\n// star\n// https://iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm\nfloat marker(vec2 P, float size)\n{\n float bn = mod(atan(P.x, -P.y), 2.0*IN_ANGLE) - IN_ANGLE;\n P = length(P)*vec2(cos(bn), abs(sin(bn)));\n P -= size*vec2(COS_A, SIN_A)/2.;\n P += vec2(COS_B, SIN_B)*clamp(-(P.x*COS_B + P.y*SIN_B), 0.0, size*SIN_A/SIN_B/2.);\n\n return length(P)*sign(P.x);\n}\n#endif\n\n#ifdef USE_TRIANGLE\n// triangle\nfloat marker(vec2 P, float size)\n{\n P.y -= size * 0.3;\n float x = SQRT_2 / 2.0 * (P.x * 1.7 - P.y);\n float y = SQRT_2 / 2.0 * (P.x * 1.7 + P.y);\n float r1 = max(abs(x), abs(y)) - size / 1.6;\n float r2 = P.y;\n return max(r1 / SQRT_2, r2); // Intersect diamond with rectangle\n}\n#endif\n\n#ifdef USE_INVERTED_TRIANGLE\n// inverted_triangle\nfloat marker(vec2 P, float size)\n{\n P.y += size * 0.3;\n float x = SQRT_2 / 2.0 * (P.x * 1.7 - P.y);\n float y = SQRT_2 / 2.0 * (P.x * 1.7 + P.y);\n float r1 = max(abs(x), abs(y)) - size / 1.6;\n float r2 = - P.y;\n return max(r1 / SQRT_2, r2); // Intersect diamond with rectangle\n}\n#endif\n\n#ifdef USE_CROSS\n// cross\nfloat marker(vec2 P, float size)\n{\n float square = max(abs(P.x), abs(P.y)) - size / 2.5; // 2.5 is a tweak\n float cross = min(abs(P.x), abs(P.y)) - size / 100.0; // bit of "width" for aa\n return max(square, cross);\n}\n#endif\n\n#ifdef USE_CIRCLE_CROSS\n// circle_cross\nfloat marker(vec2 P, float size)\n{\n // Define quadrants\n float qs = size / 2.0; // quadrant size\n float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\n float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\n float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\n float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\n // Intersect main shape with quadrants (to form cross)\n float circle = length(P) - size/2.0;\n float c1 = max(circle, s1);\n float c2 = max(circle, s2);\n float c3 = max(circle, s3);\n float c4 = max(circle, s4);\n // Union\n return min(min(min(c1, c2), c3), c4);\n}\n#endif\n\n#ifdef USE_SQUARE_CROSS\n// square_cross\nfloat marker(vec2 P, float size)\n{\n // Define quadrants\n float qs = size / 2.0; // quadrant size\n float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\n float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\n float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\n float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\n // Intersect main shape with quadrants (to form cross)\n float square = max(abs(P.x), abs(P.y)) - size/2.0;\n float c1 = max(square, s1);\n float c2 = max(square, s2);\n float c3 = max(square, s3);\n float c4 = max(square, s4);\n // Union\n return min(min(min(c1, c2), c3), c4);\n}\n#endif\n\n#ifdef USE_DIAMOND_CROSS\n// diamond_cross\nfloat marker(vec2 P, float size)\n{\n // Define quadrants\n float qs = size / 2.0; // quadrant size\n float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\n float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\n float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\n float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\n // Intersect main shape with quadrants (to form cross)\n float x = SQRT_2 / 2.0 * (P.x * 1.5 - P.y);\n float y = SQRT_2 / 2.0 * (P.x * 1.5 + P.y);\n float diamond = max(abs(x), abs(y)) - size / (2.0 * SQRT_2);\n diamond /= SQRT_2;\n float c1 = max(diamond, s1);\n float c2 = max(diamond, s2);\n float c3 = max(diamond, s3);\n float c4 = max(diamond, s4);\n // Union\n return min(min(min(c1, c2), c3), c4);\n}\n#endif\n\n#ifdef USE_X\n// x\nfloat marker(vec2 P, float size)\n{\n float circle = length(P) - size / 1.6;\n float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0; // bit of "width" for aa\n return max(circle, X);\n}\n#endif\n\n#ifdef USE_CIRCLE_X\n// circle_x\nfloat marker(vec2 P, float size)\n{\n float x = P.x - P.y;\n float y = P.x + P.y;\n // Define quadrants\n float qs = size / 2.0; // quadrant size\n float s1 = max(abs(x - qs), abs(y - qs)) - qs;\n float s2 = max(abs(x + qs), abs(y - qs)) - qs;\n float s3 = max(abs(x - qs), abs(y + qs)) - qs;\n float s4 = max(abs(x + qs), abs(y + qs)) - qs;\n // Intersect main shape with quadrants (to form cross)\n float circle = length(P) - size/2.0;\n float c1 = max(circle, s1);\n float c2 = max(circle, s2);\n float c3 = max(circle, s3);\n float c4 = max(circle, s4);\n // Union\n float almost = min(min(min(c1, c2), c3), c4);\n // In this case, the X is also outside of the main shape\n float Xmask = length(P) - size / 1.6; // a circle\n float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0; // bit of "width" for aa\n return min(max(X, Xmask), almost);\n}\n#endif\n\n#ifdef USE_SQUARE_X\n// square_x\nfloat marker(vec2 P, float size)\n{\n float x = P.x - P.y;\n float y = P.x + P.y;\n // Define quadrants\n float qs = size / 2.0; // quadrant size\n float s1 = max(abs(x - qs), abs(y - qs)) - qs;\n float s2 = max(abs(x + qs), abs(y - qs)) - qs;\n float s3 = max(abs(x - qs), abs(y + qs)) - qs;\n float s4 = max(abs(x + qs), abs(y + qs)) - qs;\n // Intersect main shape with quadrants (to form cross)\n float square = max(abs(P.x), abs(P.y)) - size/2.0;\n float c1 = max(square, s1);\n float c2 = max(square, s2);\n float c3 = max(square, s3);\n float c4 = max(square, s4);\n // Union\n return min(min(min(c1, c2), c3), c4);\n}\n#endif\n\nvec4 outline(float distance, float linewidth, float antialias, vec4 fg_color, vec4 bg_color)\n{\n vec4 frag_color;\n float t = linewidth/2.0 - antialias;\n float signed_distance = distance;\n float border_distance = abs(signed_distance) - t;\n float alpha = border_distance/antialias;\n alpha = exp(-alpha*alpha);\n\n // If fg alpha is zero, it probably means no outline. To avoid a dark outline\n // shining through due to aa, we set the fg color to the bg color. Avoid if (i.e. branching).\n float select = float(bool(fg_color.a));\n fg_color.rgb = select * fg_color.rgb + (1.0 - select) * bg_color.rgb;\n // Similarly, if we want a transparent bg\n select = float(bool(bg_color.a));\n bg_color.rgb = select * bg_color.rgb + (1.0 - select) * fg_color.rgb;\n\n if( border_distance < 0.0)\n frag_color = fg_color;\n else if( signed_distance < 0.0 ) {\n frag_color = mix(bg_color, fg_color, sqrt(alpha));\n } else {\n if( abs(signed_distance) < (linewidth/2.0 + antialias) ) {\n frag_color = vec4(fg_color.rgb, fg_color.a * alpha);\n } else {\n discard;\n }\n }\n return frag_color;\n}\n\nvoid main()\n{\n vec2 P = gl_PointCoord.xy - vec2(0.5, 0.5);\n P = vec2(v_rotation.x*P.x - v_rotation.y*P.y,\n v_rotation.y*P.x + v_rotation.x*P.y);\n float point_size = SQRT_2*v_size + 2.0 * (v_linewidth + 1.5*u_antialias);\n float distance = marker(P*point_size, v_size);\n gl_FragColor = outline(distance, v_linewidth, u_antialias, v_fg_color, v_bg_color);\n}\n’},n function _(e,l,i,s,t){s();const _=e(287);class p extends _.EllipseOvalView{}i.EllipseView=p,p.__name__="EllipseView";class n extends _.EllipseOval{constructor(e){super(e)}static init_Ellipse(){this.prototype.default_view=p}}i.Ellipse=n,n.__name__="Ellipse",n.init_Ellipse()},n function _(t,s,i,e,h){e();const r=t(1),a=t(288),n=r.__importStar(t(107)),l=t(24),o=t(59);class _ extends a.CenterRotatableView{_map_data(){"data"==this.model.properties.width.units?this.sw=this.sdist(this.renderer.xscale,this._x,this.width,"center"):this.sw=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=l.to_screen(this.height)}_render(t,s,i){const{sx:e,sy:h,sw:r,sh:a,angle:n}=null!=i?i:this;for(const i of s){const s=e[i],l=h[i],o=r[i],_=a[i],d=n.get(i);isNaN(s+l+o+_+d)||(t.beginPath(),t.ellipse(s,l,o/2,_/2,d,0,2*Math.PI),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,i),t.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(t,i),t.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(t,i),t.stroke()))}}_hit_point(t){let s,i,e,h,r,a,l,_,d;const{sx:c,sy:x}=t,w=this.renderer.xscale.invert(c),p=this.renderer.yscale.invert(x);"data"==this.model.properties.width.units?(s=w-this.max_width,i=w+this.max_width):(a=c-this.max_width,l=c+this.max_width,[s,i]=this.renderer.xscale.r_invert(a,l)),"data"==this.model.properties.height.units?(e=p-this.max_height,h=p+this.max_height):(_=x-this.max_height,d=x+this.max_height,[e,h]=this.renderer.yscale.r_invert(_,d));const m=this.index.indices({x0:s,x1:i,y0:e,y1:h}),v=[];for(const t of m)r=n.point_in_ellipse(c,x,this.angle.get(t),this.sh[t]/2,this.sw[t]/2,this.sx[t],this.sy[t]),r&&v.push(t);return new o.Selection({indices:v})}draw_legend_for_index(t,{x0:s,y0:i,x1:e,y1:h},r){const a=r+1,n=new Array(a);n[r]=(s+e)/2;const l=new Array(a);l[r]=(i+h)/2;const o=this.sw[r]/this.sh[r],_=.8*Math.min(Math.abs(e-s),Math.abs(h-i)),d=new Array(a),c=new Array(a);o>1?(d[r]=_,c[r]=_/o):(d[r]=_*o,c[r]=_),this._render(t,[r],{sx:n,sy:l,sw:d,sh:c,_angle:[0]})}}i.EllipseOvalView=_,_.__name__="EllipseOvalView";class d extends a.CenterRotatable{constructor(t){super(t)}}i.EllipseOval=d,d.__name__="EllipseOval"},n function _(t,e,i,a,n){a();const s=t(1),h=t(64),r=t(48),o=s.__importStar(t(18));class _ 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:t,x1:e,y0:i,y1:a}){const{max_w2:n,max_h2:s}=this;return{x0:t-n,x1:e+n,y0:i-s,y1:a+s}}}i.CenterRotatableView=_,_.__name__="CenterRotatableView";class l extends h.XYGlyph{constructor(t){super(t)}static init_CenterRotatable(){this.mixins([r.LineVector,r.FillVector,r.HatchVector]),this.define((({})=>({angle:[o.AngleSpec,0],width:[o.DistanceSpec,{field:"width"}],height:[o.DistanceSpec,{field:"height"}]})))}}i.CenterRotatable=l,l.__name__="CenterRotatable",l.init_CenterRotatable()},n function _(t,e,s,i,h){i();const r=t(1),a=t(290),n=t(24),_=r.__importStar(t(18));class o extends a.BoxView{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],h=this.height.get(t)/2;return[Math.min(e,s),Math.max(e,s),i+h,i-h]}_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 n.ScreenArray(t),this.sbottom=new n.ScreenArray(t);for(let e=0;e<t;e++)this.stop[e]=this.sy[e]-this.sh[e]/2,this.sbottom[e]=this.sy[e]+this.sh[e]/2;this._clamp_viewport()}}s.HBarView=o,o.__name__="HBarView";class c extends a.Box{constructor(t){super(t)}static init_HBar(){this.prototype.default_view=o,this.define((({})=>({left:[_.XCoordinateSpec,{value:0}],y:[_.YCoordinateSpec,{field:"y"}],height:[_.NumberSpec,{value:1}],right:[_.XCoordinateSpec,{field:"right"}]})))}}s.HBar=c,c.__name__="HBar",c.init_HBar()},n function _(t,e,s,i,r){i();const n=t(48),o=t(98),a=t(106),h=t(59);class c extends o.GlyphView{get_anchor_point(t,e,s){const i=Math.min(this.sleft[e],this.sright[e]),r=Math.max(this.sright[e],this.sleft[e]),n=Math.min(this.stop[e],this.sbottom[e]),o=Math.max(this.sbottom[e],this.stop[e]);switch(t){case"top_left":return{x:i,y:n};case"top":case"top_center":return{x:(i+r)/2,y:n};case"top_right":return{x:r,y:n};case"bottom_left":return{x:i,y:o};case"bottom":case"bottom_center":return{x:(i+r)/2,y:o};case"bottom_right":return{x:r,y:o};case"left":case"center_left":return{x:i,y:(n+o)/2};case"center":case"center_center":return{x:(i+r)/2,y:(n+o)/2};case"right":case"center_right":return{x:r,y:(n+o)/2}}}_index_data(t){const{min:e,max:s}=Math,{data_size:i}=this;for(let r=0;r<i;r++){const[i,n,o,a]=this._lrtb(r);isNaN(i+n+o+a)||!isFinite(i+n+o+a)?t.add_empty():t.add(e(i,n),e(o,a),s(n,i),s(o,a))}}_render(t,e,s){const{sleft:i,sright:r,stop:n,sbottom:o}=null!=s?s:this;for(const s of e){const e=i[s],h=n[s],c=r[s],_=o[s];function a(){t.beginPath(),t.rect(e,h,c-e,_-h)}isNaN(e+h+c+_)||(this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,s),a(),t.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(t,s),a(),t.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(t,s),a(),t.stroke()))}}_clamp_viewport(){const t=this.renderer.plot_view.frame.bbox.h_range,e=this.renderer.plot_view.frame.bbox.v_range,s=this.stop.length;for(let i=0;i<s;i++)this.stop[i]=Math.max(this.stop[i],e.start),this.sbottom[i]=Math.min(this.sbottom[i],e.end),this.sleft[i]=Math.max(this.sleft[i],t.start),this.sright[i]=Math.min(this.sright[i],t.end)}_hit_rect(t){return this._hit_rect_against_index(t)}_hit_point(t){const{sx:e,sy:s}=t,i=this.renderer.xscale.invert(e),r=this.renderer.yscale.invert(s),n=[…this.index.indices({x0:i,y0:r,x1:i,y1:r})];return new h.Selection({indices:n})}_hit_span(t){const{sx:e,sy:s}=t;let i;if("v"==t.direction){const t=this.renderer.yscale.invert(s),e=this.renderer.plot_view.frame.bbox.h_range,[r,n]=this.renderer.xscale.r_invert(e.start,e.end);i=[…this.index.indices({x0:r,y0:t,x1:n,y1:t})]}else{const t=this.renderer.xscale.invert(e),s=this.renderer.plot_view.frame.bbox.v_range,[r,n]=this.renderer.yscale.r_invert(s.start,s.end);i=[…this.index.indices({x0:t,y0:r,x1:t,y1:n})]}return new h.Selection({indices:i})}draw_legend_for_index(t,e,s){a.generic_area_vector_legend(this.visuals,t,e,s)}}s.BoxView=c,c.__name__="BoxView";class _ extends o.Glyph{constructor(t){super(t)}static init_Box(){this.mixins([n.LineVector,n.FillVector,n.HatchVector])}}s.Box=_,_.__name__="Box",_.init_Box()},n function _(e,t,s,i,r){i();const n=e(1),o=e(98),a=n.__importStar(e(107)),c=n.__importStar(e(18)),l=e(48),h=e(20),_=e(65),d=e(106),x=e(59);class p extends o.GlyphView{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:o,_y:a}=this,c=Math.sqrt(3);if("pointytop"==e)for(let e=0;e<n;e++){const n=i.get(e),l=r.get(e)/2;o[e]=t*c*(n+l)/s,a[e]=-3*t*l}else for(let e=0;e<n;e++){const n=i.get(e)/2,l=r.get(e);o[e]=3*t*n,a[e]=-t*c*(l+n)*s}}_project_data(){_.inplace.project_xy(this._x,this._y)}_index_data(e){let t=this.model.size,s=Math.sqrt(3)*t/2;"flattop"==this.model.orientation?([s,t]=[t,s],t*=this.model.aspect_scale):s/=this.model.aspect_scale;const{data_size:i}=this;for(let r=0;r<i;r++){const i=this._x[r],n=this._y[r];isNaN(i+n)||!isFinite(i+n)?e.add_empty():e.add(i-s,n-t,i+s,n+t)}}map_data(){[this.sx,this.sy]=this.renderer.coordinates.map_to_screen(this._x,this._y),[this.svx,this.svy]=this._get_unscaled_vertices()}_get_unscaled_vertices(){const e=this.model.size,t=this.model.aspect_scale;if("pointytop"==this.model.orientation){const s=this.renderer.yscale,i=this.renderer.xscale,r=Math.abs(s.compute(0)-s.compute(e)),n=Math.sqrt(3)/2*Math.abs(i.compute(0)-i.compute(e))/t,o=r/2;return[[0,-n,-n,0,n,n],[r,o,-o,-r,-o,o]]}{const s=this.renderer.xscale,i=this.renderer.yscale,r=Math.abs(s.compute(0)-s.compute(e)),n=Math.sqrt(3)/2*Math.abs(i.compute(0)-i.compute(e))*t,o=r/2;return[[r,o,-o,-r,-o,o],[0,-n,-n,0,n,n]]}}_render(e,t,s){const{sx:i,sy:r,svx:n,svy:o,scale:a}=null!=s?s:this;for(const s of t){const t=i[s],c=r[s],l=a.get(s);if(!isNaN(t+c+l)){e.translate(t,c),e.beginPath();for(let t=0;t<6;t++)e.lineTo(n[t]*l,o[t]*l);e.closePath(),e.translate(-t,-c),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(e,s),e.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(e,s),e.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(e,s),e.stroke())}}}_hit_point(e){const{sx:t,sy:s}=e,i=this.renderer.xscale.invert(t),r=this.renderer.yscale.invert(s),n=this.index.indices({x0:i,y0:r,x1:i,y1:r}),o=[];for(const e of n)a.point_in_poly(t-this.sx[e],s-this.sy[e],this.svx,this.svy)&&o.push(e);return new x.Selection({indices:o})}_hit_span(e){const{sx:t,sy:s}=e;let i;if("v"==e.direction){const e=this.renderer.yscale.invert(s),t=this.renderer.plot_view.frame.bbox.h_range,[r,n]=this.renderer.xscale.r_invert(t.start,t.end);i=[…this.index.indices({x0:r,y0:e,x1:n,y1:e})]}else{const e=this.renderer.xscale.invert(t),s=this.renderer.plot_view.frame.bbox.v_range,[r,n]=this.renderer.yscale.r_invert(s.start,s.end);i=[…this.index.indices({x0:e,y0:r,x1:e,y1:n})]}return new x.Selection({indices:i})}_hit_rect(e){const{sx0:t,sx1:s,sy0:i,sy1:r}=e,[n,o]=this.renderer.xscale.r_invert(t,s),[a,c]=this.renderer.yscale.r_invert(i,r),l=[…this.index.indices({x0:n,x1:o,y0:a,y1:c})];return new x.Selection({indices:l})}draw_legend_for_index(e,t,s){d.generic_area_vector_legend(this.visuals,e,t,s)}}s.HexTileView=p,p.__name__="HexTileView";class y extends o.Glyph{constructor(e){super(e)}static init_HexTile(){this.prototype.default_view=p,this.mixins([l.LineVector,l.FillVector,l.HatchVector]),this.define((({Number:e})=>({r:[c.NumberSpec,{field:"r"}],q:[c.NumberSpec,{field:"q"}],scale:[c.NumberSpec,1],size:[e,1],aspect_scale:[e,1],orientation:[h.HexTileOrientation,"pointytop"]}))),this.override({line_color:null})}}s.HexTile=y,y.__name__="HexTile",y.init_HexTile()},n function _(e,a,t,_,s){_();const i=e(293),n=e(203),r=e(214);class o extends i.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=o,o.__name__="ImageView";class m extends i.ImageBase{constructor(e){super(e)}static init_Image(){this.prototype.default_view=o,this.define((({Ref:e})=>({color_mapper:[e(n.ColorMapper),()=>new r.LinearColorMapper({palette:["#000000","#252525","#525252","#737373","#969696","#bdbdbd","#d9d9d9","#f0f0f0","#ffffff"]})]})))}}t.Image=m,m.__name__="Image",m.init_Image()},n function _(e,t,i,s,a){s();const h=e(1),n=e(64),r=e(24),_=h.__importStar(e(18)),d=e(59),l=e(9),g=e(29),o=e(11);class c extends n.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}=null!=i?i:this,_=e.getImageSmoothingEnabled();e.setImageSmoothingEnabled(!1),e.globalAlpha=this.model.global_alpha;for(const i of t){const t=s[i],_=a[i],d=h[i],l=n[i],g=r[i];if(null==t||isNaN(_+d+l+g))continue;const o=d;e.translate(0,o),e.scale(1,-1),e.translate(0,-o),e.drawImage(t,0|_,0|d,l,g),e.translate(0,o),e.scale(1,-1),e.translate(0,-o)}e.setImageSmoothingEnabled(_)}_set_data(e){this._set_width_heigh_data();for(let t=0,i=this.image.length;t<i;t++){if(null!=e&&e.indexOf(t)<0)continue;const i=this.image.get(t);let s;g.is_NDArray(i)?(o.assert(2==i.dimension,"expected a 2D array"),s=i,this._height[t]=i.shape[0],this._width[t]=i.shape[1]):(s=l.concat(i),this._height[t]=i.length,this._width[t]=i[0].length);const a=this._flat_img_to_buf8(s);this._set_image_data_from_buffer(t,a)}}_index_data(e){const{data_size:t}=this;for(let i=0;i<t;i++){const[t,s,a,h]=this._lrtb(i);isNaN(t+s+a+h)||!isFinite(t+s+a+h)?e.add_empty():e.add(t,h,s,a)}}_lrtb(e){const t=this.dw.get(e),i=this.dh.get(e),s=this.renderer.xscale.source_range,a=this._x[e],h=s.is_reversed?a-t:a+t,n=this.renderer.yscale.source_range,r=this._y[e],_=n.is_reversed?r-i:r+i,[d,l]=a<h?[a,h]:[h,a],[g,o]=r<_?[r,_]:[_,r];return[d,l,o,g]}_set_width_heigh_data(){null!=this.image_data&&this.image_data.length==this.image.length||(this.image_data=new Array(this.image.length)),null!=this._width&&this._width.length==this.image.length||(this._width=new Uint32Array(this.image.length)),null!=this._height&&this._height.length==this.image.length||(this._height=new Uint32Array(this.image.length))}_get_or_create_canvas(e){const t=this.image_data[e];if(null!=t&&t.width==this._width[e]&&t.height==this._height[e])return t;{const t=document.createElement("canvas");return t.width=this._width[e],t.height=this._height[e],t}}_set_image_data_from_buffer(e,t){const i=this._get_or_create_canvas(e),s=i.getContext("2d"),a=s.getImageData(0,0,this._width[e],this._height[e]);a.data.set(t),s.putImageData(a,0,0),this.image_data[e]=i}_map_data(){"data"==this.model.properties.dw.units?this.sw=this.sdist(this.renderer.xscale,this._x,this.dw,"edge",this.model.dilate):this.sw=r.to_screen(this.dw),"data"==this.model.properties.dh.units?this.sh=this.sdist(this.renderer.yscale,this._y,this.dh,"edge",this.model.dilate):this.sh=r.to_screen(this.dh)}_image_index(e,t,i){const[s,a,h,n]=this._lrtb(e),r=this._width[e],_=this._height[e],d=(a-s)/r,l=(h-n)/_;let g=Math.floor((t-s)/d),o=Math.floor((i-n)/l);return this.renderer.xscale.source_range.is_reversed&&(g=r-g-1),this.renderer.yscale.source_range.is_reversed&&(o=_-o-1),{index:e,dim1:g,dim2:o,flat_index:o*r+g}}_hit_point(e){const{sx:t,sy:i}=e,s=this.renderer.xscale.invert(t),a=this.renderer.yscale.invert(i),h=this.index.indices({x0:s,x1:s,y0:a,y1:a}),n=new d.Selection;for(const e of h)t!=1/0&&i!=1/0&&n.image_indices.push(this._image_index(e,s,a));return n}}i.ImageBaseView=c,c.__name__="ImageBaseView";class m extends n.XYGlyph{constructor(e){super(e)}static init_ImageBase(){this.define((({Boolean:e,Alpha:t})=>({image:[_.NDArraySpec,{field:"image"}],dw:[_.DistanceSpec,{field:"dw"}],dh:[_.DistanceSpec,{field:"dh"}],dilate:[e,!1],global_alpha:[t,1]})))}}i.ImageBase=m,m.__name__="ImageBase",m.init_ImageBase()},n function _(e,a,t,_,i){_();const n=e(293),s=e(8);class r extends n.ImageBaseView{_flat_img_to_buf8(e){let a;return a=s.isArray(e)?new Uint32Array(e):e,new Uint8ClampedArray(a.buffer)}}t.ImageRGBAView=r,r.__name__="ImageRGBAView";class m extends n.ImageBase{constructor(e){super(e)}static init_ImageRGBA(){this.prototype.default_view=r}}t.ImageRGBA=m,m.__name__="ImageRGBA",m.init_ImageRGBA()},n function _(e,t,s,r,a){r();const i=e(1),n=e(64),o=e(24),c=e(20),_=i.__importStar(e(18)),h=e(12),l=e(296);class d extends n.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<t;s++)e.add_empty()}_set_data(){this._set_data_iteration++;const e=this.url.length;this.image=new Array(e);const{retry_attempts:t,retry_timeout:s}=this.model,{_set_data_iteration:r}=this;for(let a=0;a<e;a++){const e=this.url.get(a);e&&new l.ImageLoader(e,{loaded:e=>{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,c=new o.ScreenArray(a?2*n:n),_=new o.ScreenArray(i?2*n:n),{anchor:d}=this.model;function m(e,t){switch(d){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(d){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<n;e++)[c[e],c[n+e]]=m(this._x[e],this.w.get(e));else c.set(this._x,0);if(i)for(let e=0;e<n;e++)[_[e],_[n+e]]=g(this._y[e],this.h.get(e));else _.set(this._y,0);const[u,p]=h.minmax(c),[f,b]=h.minmax(_);this._bounds_rect={x0:u,x1:p,y0:f,y1:b}}has_finished(){return super.has_finished()&&1==this._images_rendered}_map_data(){"data"==this.model.properties.w.units?this.sw=this.sdist(this.renderer.xscale,this._x,this.w,"edge",this.model.dilate):this.sw=o.to_screen(this.w),"data"==this.model.properties.h.units?this.sh=this.sdist(this.renderer.yscale,this._y,this.h,"edge",this.model.dilate):this.sh=o.to_screen(this.h)}_render(e,t,s){const{image:r,sx:a,sy:i,sw:n,sh:o,angle:c}=null!=s?s:this,{frame:_}=this.renderer.plot_view;e.rect(_.bbox.left+1,_.bbox.top+1,_.bbox.width-2,_.bbox.height-2),e.clip();let h=!0;for(const s of t){if(isNaN(a[s]+i[s]+c.get(s)))continue;const t=r[s];null!=t?this._render_image(e,s,t,a,i,n,o,c):h=!1}h&&!this._images_rendered&&(this._images_rendered=!0,this.notify_finished())}_final_sx_sy(e,t,s,r,a){switch(e){case"top_left":return[t,s];case"top":case"top_center":return[t-r/2,s];case"top_right":return[t-r,s];case"right":case"center_right":return[t-r,s-a/2];case"bottom_right":return[t-r,s-a];case"bottom":case"bottom_center":return[t-r/2,s-a];case"bottom_left":return[t,s-a];case"left":case"center_left":return[t,s-a/2];case"center":case"center_center":return[t-r/2,s-a/2]}}_render_image(e,t,s,r,a,i,n,o){isNaN(i[t])&&(i[t]=s.width),isNaN(n[t])&&(n[t]=s.height);const c=i[t],_=n[t],{anchor:h}=this.model,[l,d]=this._final_sx_sy(h,r[t],a[t],c,_),m=o.get(t);e.save(),e.globalAlpha=this.model.global_alpha;const g=c/2,u=_/2;m?(e.translate(l,d),e.translate(g,u),e.rotate(m),e.translate(-g,-u),e.drawImage(s,0,0,c,_),e.translate(g,u),e.rotate(-m),e.translate(-g,-u),e.translate(-l,-d)):e.drawImage(s,l,d,c,_),e.restore()}bounds(){return this._bounds_rect}}s.ImageURLView=d,d.__name__="ImageURLView";class m extends n.XYGlyph{constructor(e){super(e)}static init_ImageURL(){this.prototype.default_view=d,this.define((({Boolean:e,Int:t,Alpha:s})=>({url:[_.StringSpec,{field:"url"}],anchor:[c.Anchor,"top_left"],global_alpha:[s,1],angle:[_.AngleSpec,0],w:[_.NullDistanceSpec,null],h:[_.NullDistanceSpec,null],dilate:[e,!1],retry_attempts:[t,0],retry_timeout:[t,0]})))}}s.ImageURL=m,m.__name__="ImageURL",m.init_ImageURL()},n function _(i,e,t,s,o){s();const a=i(19);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,s,e,i,n){i();const o=t(1),l=t(101),r=t(98),h=t(106),_=t(12),a=t(12),c=t(48),d=o.__importStar(t(107)),x=o.__importStar(t(18)),y=t(59),f=t(11);class g extends r.GlyphView{_project_data(){}_index_data(t){const{min:s,max:e}=Math,{data_size:i}=this;for(let n=0;n<i;n++){const i=this._xs[n],o=this._ys[n];if(0==i.length||0==o.length){t.add_empty();continue}let l=1/0,r=-1/0,h=1/0,a=-1/0;for(let t=0,n=i.length;t<n;t++){const n=i[t][0],c=o[t][0];if(0!=n.length&&0!=c.length){const[t,i]=_.minmax(n),[o,d]=_.minmax(c);l=s(l,t),r=e(r,i),h=s(h,o),a=e(a,d)}}isFinite(l+r+h+a)?t.add(l,h,r,a):t.add_empty()}this._hole_index=this._index_hole_data()}_index_hole_data(){const{min:t,max:s}=Math,{data_size:e}=this,i=new l.SpatialIndex(e);for(let n=0;n<e;n++){const e=this._xs[n],o=this._ys[n];if(0==e.length||0==o.length){i.add_empty();continue}let l=1/0,r=-1/0,h=1/0,a=-1/0;for(let i=0,n=e.length;i<n;i++){const n=e[i],c=o[i];if(n.length>1&&c.length>1)for(let e=1,i=n.length;e<i;e++){const[i,o]=_.minmax(n[e]),[d,x]=_.minmax(c[e]);l=t(l,i),r=s(r,o),h=t(h,d),a=s(a,x)}}isFinite(l+r+h+a)?i.add(l,h,r,a):i.add_empty()}return i.finish(),i}_mask_data(){const{x_range:t,y_range:s}=this.renderer.plot_view.frame;return this.index.indices({x0:t.min,x1:t.max,y0:s.min,y1:s.max})}_inner_loop(t,s,e){t.beginPath();for(let i=0,n=s.length;i<n;i++)for(let n=0,o=s[i].length;n<o;n++){const o=s[i][n],l=e[i][n];for(let s=0,e=o.length;s<e;s++)0!=s?t.lineTo(o[s],l[s]):t.moveTo(o[s],l[s]);t.closePath()}}_render(t,s,e){if(this.visuals.fill.doit||this.visuals.line.doit){const{sxs:i,sys:n}=null!=e?e:this;for(const e of s){const s=i[e],o=n[e];this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,e),this._inner_loop(t,s,o),t.fill("evenodd")),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(t,e),this._inner_loop(t,s,o),t.fill("evenodd")),this.visuals.line.doit&&(this.visuals.line.set_vectorize(t,e),this._inner_loop(t,s,o),t.stroke())}}}_hit_rect(t){const{sx0:s,sx1:e,sy0:i,sy1:n}=t,o=[s,e,e,s],l=[i,i,n,n],[r,h]=this.renderer.xscale.r_invert(s,e),[_,a]=this.renderer.yscale.r_invert(i,n),c=this.index.indices({x0:r,x1:h,y0:_,y1:a}),x=[];for(const t of c){const s=this.sxs[t],e=this.sys[t];let i=!0;for(let t=0,n=s.length;t<n;t++){for(let n=0,r=s[t][0].length;n<r;n++){const r=s[t][0][n],h=e[t][0][n];if(!d.point_in_poly(r,h,o,l)){i=!1;break}}if(!i)break}i&&x.push(t)}return new y.Selection({indices:x})}_hit_point(t){const{sx:s,sy:e}=t,i=this.renderer.xscale.invert(s),n=this.renderer.yscale.invert(e),o=this.index.indices({x0:i,y0:n,x1:i,y1:n}),l=this._hole_index.indices({x0:i,y0:n,x1:i,y1:n}),r=[];for(const t of o){const i=this.sxs[t],n=this.sys[t];for(let o=0,h=i.length;o<h;o++){const h=i[o].length;if(d.point_in_poly(s,e,i[o][0],n[o][0]))if(1==h)r.push(t);else if(l.get(t)){if(h>1){let l=!1;for(let t=1;t<h;t++){const r=i[o][t],h=n[o][t];if(d.point_in_poly(s,e,r,h)){l=!0;break}}l||r.push(t)}}else r.push(t)}}return new y.Selection({indices:r})}_get_snap_coord(t){return a.sum(t)/t.length}scenterxy(t,s,e){if(1==this.sxs[t].length){return[this._get_snap_coord(this.sxs[t][0][0]),this._get_snap_coord(this.sys[t][0][0])]}{const i=this.sxs[t],n=this.sys[t];for(let t=0,o=i.length;t<o;t++)if(d.point_in_poly(s,e,i[t][0],n[t][0])){return[this._get_snap_coord(i[t][0]),this._get_snap_coord(n[t][0])]}}f.unreachable()}map_data(){const t=this._xs.length;this.sxs=new Array(t),this.sys=new Array(t);for(let s=0;s<t;s++){const t=this._xs[s].length;this.sxs[s]=new Array(t),this.sys[s]=new Array(t);for(let e=0;e<t;e++){const t=this._xs[s][e].length;this.sxs[s][e]=new Array(t),this.sys[s][e]=new Array(t);for(let i=0;i<t;i++){const[t,n]=this.renderer.coordinates.map_to_screen(this._xs[s][e][i],this._ys[s][e][i]);this.sxs[s][e][i]=t,this.sys[s][e][i]=n}}}}draw_legend_for_index(t,s,e){h.generic_area_vector_legend(this.visuals,t,s,e)}}e.MultiPolygonsView=g,g.__name__="MultiPolygonsView";class p extends r.Glyph{constructor(t){super(t)}static init_MultiPolygons(){this.prototype.default_view=g,this.define((({})=>({xs:[x.XCoordinateSeqSeqSeqSpec,{field:"xs"}],ys:[x.YCoordinateSeqSeqSeqSpec,{field:"ys"}]}))),this.mixins([c.LineVector,c.FillVector,c.HatchVector])}}e.MultiPolygons=p,p.__name__="MultiPolygons",p.init_MultiPolygons()},n function _(a,t,e,l,s){l();const _=a(287),i=a(12);class n extends _.EllipseOvalView{_map_data(){super._map_data(),i.mul(this.sw,.75)}}e.OvalView=n,n.__name__="OvalView";class v extends _.EllipseOval{constructor(a){super(a)}static init_Oval(){this.prototype.default_view=n}}e.Oval=v,v.__name__="Oval",v.init_Oval()},n function _(t,e,i,o,s){o();const r=t(1),_=t(290),d=r.__importStar(t(18));class n extends _.BoxView{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=n,n.__name__="QuadView";class a extends _.Box{constructor(t){super(t)}static init_Quad(){this.prototype.default_view=n,this.define((({})=>({right:[d.XCoordinateSpec,{field:"right"}],bottom:[d.YCoordinateSpec,{field:"bottom"}],left:[d.XCoordinateSpec,{field:"left"}],top:[d.YCoordinateSpec,{field:"top"}]})))}}i.Quad=a,a.__name__="Quad",a.init_Quad()},n function _(e,t,i,s,n){s();const a=e(1),c=e(48),o=e(65),r=e(98),_=e(106),d=a.__importStar(e(18));function l(e,t,i){if(t==(e+i)/2)return[e,i];{const s=(e-t)/(e-2*t+i),n=e*(1-s)**2+2*t*(1-s)*s+i*s**2;return[Math.min(e,i,n),Math.max(e,i,n)]}}class x extends r.GlyphView{_project_data(){o.inplace.project_xy(this._x0,this._y0),o.inplace.project_xy(this._x1,this._y1)}_index_data(e){const{_x0:t,_x1:i,_y0:s,_y1:n,_cx:a,_cy:c,data_size:o}=this;for(let r=0;r<o;r++){const o=t[r],_=i[r],d=s[r],x=n[r],y=a[r],h=c[r];if(isNaN(o+_+d+x+y+h))e.add_empty();else{const[t,i]=l(o,y,_),[s,n]=l(d,h,x);e.add(t,s,i,n)}}}_render(e,t,i){if(this.visuals.line.doit){const{sx0:s,sy0:n,sx1:a,sy1:c,scx:o,scy:r}=null!=i?i:this;for(const i of t){const t=s[i],_=n[i],d=a[i],l=c[i],x=o[i],y=r[i];isNaN(t+_+d+l+x+y)||(e.beginPath(),e.moveTo(t,_),e.quadraticCurveTo(x,y,d,l),this.visuals.line.set_vectorize(e,i),e.stroke())}}}draw_legend_for_index(e,t,i){_.generic_line_vector_legend(this.visuals,e,t,i)}scenterxy(){throw new Error(`${this}.scenterxy() is not implemented`)}}i.QuadraticView=x,x.__name__="QuadraticView";class y extends r.Glyph{constructor(e){super(e)}static init_Quadratic(){this.prototype.default_view=x,this.define((({})=>({x0:[d.XCoordinateSpec,{field:"x0"}],y0:[d.YCoordinateSpec,{field:"y0"}],x1:[d.XCoordinateSpec,{field:"x1"}],y1:[d.YCoordinateSpec,{field:"y1"}],cx:[d.XCoordinateSpec,{field:"cx"}],cy:[d.YCoordinateSpec,{field:"cy"}]}))),this.mixins(c.LineVector)}}i.Quadratic=y,y.__name__="Quadratic",y.init_Quadratic()},n function _(e,t,s,i,n){i();const a=e(1),l=e(64),h=e(106),r=e(48),o=e(24),_=a.__importStar(e(18));class c extends l.XYGlyphView{_map_data(){"data"==this.model.properties.length.units?this.slength=this.sdist(this.renderer.xscale,this._x,this.length):this.slength=o.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<t;e++)0==i[e]&&(i[e]=s)}_render(e,t,s){const{sx:i,sy:n,slength:a,angle:l}=null!=s?s:this;if(this.visuals.line.doit)for(const s of t){const t=i[s],h=n[s],r=l.get(s),o=a[s];isNaN(t+h+r+o)||(e.translate(t,h),e.rotate(r),e.beginPath(),e.moveTo(0,0),e.lineTo(o,0),this.visuals.line.set_vectorize(e,s),e.stroke(),e.rotate(-r),e.translate(-t,-h))}}draw_legend_for_index(e,t,s){h.generic_line_vector_legend(this.visuals,e,t,s)}}s.RayView=c,c.__name__="RayView";class g extends l.XYGlyph{constructor(e){super(e)}static init_Ray(){this.prototype.default_view=c,this.mixins(r.LineVector),this.define((({})=>({length:[_.DistanceSpec,0],angle:[_.AngleSpec,0]})))}}s.Ray=g,g.__name__="Ray",g.init_Ray()},n function _(t,s,e,i,h){i();const r=t(288),n=t(106),a=t(24),o=t(12),l=t(59);class _ extends r.CenterRotatableView{_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=a.to_screen(this.width);const t=this.sx.length;this.sx0=new a.ScreenArray(t);for(let s=0;s<t;s++)this.sx0[s]=this.sx[s]-this.sw[s]/2}if("data"==this.model.properties.height.units)[this.sh,this.sy1]=this._map_dist_corner_for_data_side_length(this._y,this.height,this.renderer.yscale);else{this.sh=a.to_screen(this.height);const t=this.sy.length;this.sy1=new a.ScreenArray(t);for(let s=0;s<t;s++)this.sy1[s]=this.sy[s]-this.sh[s]/2}const t=this.sw.length;this.ssemi_diag=new a.ScreenArray(t);for(let s=0;s<t;s++)this.ssemi_diag[s]=Math.sqrt(this.sw[s]/2*this.sw[s]/2+this.sh[s]/2*this.sh[s]/2)}_render(t,s,e){const{sx:i,sy:h,sx0:r,sy1:n,sw:a,sh:o,angle:l}=null!=e?e:this;for(const e of s){const s=i[e],_=h[e],c=r[e],d=n[e],f=a[e],y=o[e],g=l.get(e);isNaN(s+_+c+d+f+y+g)||0!=f&&0!=y&&(t.beginPath(),g?(t.translate(s,_),t.rotate(g),t.rect(-f/2,-y/2,f,y),t.rotate(-g),t.translate(-s,-_)):t.rect(c,d,f,y),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,e),t.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(t,e),t.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(t,e),t.stroke()))}}_hit_rect(t){return this._hit_rect_against_index(t)}_hit_point(t){let{sx:s,sy:e}=t;const i=this.renderer.xscale.invert(s),h=this.renderer.yscale.invert(e),r=this.sx0.length,n=new a.ScreenArray(r);for(let t=0;t<r;t++)n[t]=this.sx0[t]+this.sw[t]/2;const _=new a.ScreenArray(r);for(let t=0;t<r;t++)_[t]=this.sy1[t]+this.sh[t]/2;const c=o.max(this._ddist(0,n,this.ssemi_diag)),d=o.max(this._ddist(1,_,this.ssemi_diag)),f=i-c,y=i+c,g=h-d,w=h+d;let x,u;const v=[];for(const t of this.index.indices({x0:f,x1:y,y0:g,y1:w})){const i=this.angle.get(t);if(i){const h=Math.sin(-i),r=Math.cos(-i),n=r*(s-this.sx[t])-h*(e-this.sy[t])+this.sx[t],a=h*(s-this.sx[t])+r*(e-this.sy[t])+this.sy[t];s=n,e=a,x=Math.abs(this.sx[t]-s)<=this.sw[t]/2,u=Math.abs(this.sy[t]-e)<=this.sh[t]/2}else{const i=s-this.sx0[t],h=e-this.sy1[t];x=0<=i&&i<=this.sw[t],u=0<=h&&h<=this.sh[t]}x&&u&&v.push(t)}return new l.Selection({indices:v})}_map_dist_corner_for_data_side_length(t,s,e){const i=t.length,h=new Float64Array(i),r=new Float64Array(i);for(let e=0;e<i;e++){const i=t[e],n=s.get(e)/2;h[e]=i-n,r[e]=i+n}const n=e.v_compute(h),a=e.v_compute(r),o=this.sdist(e,h,s,"edge",this.model.dilate);let l=n;for(let t=0;t<i;t++){const s=n[t],e=a[t];if(!isNaN(s+e)&&s!=e){l=s<e?n:a;break}}return[o,l]}_ddist(t,s,e){const i=a.infer_type(s,e),h=0==t?this.renderer.xscale:this.renderer.yscale,r=s,n=r.length,o=new i(n);for(let t=0;t<n;t++)o[t]=r[t]+e[t];const l=h.v_invert(r),_=h.v_invert(o),c=l.length,d=new i(c);for(let t=0;t<c;t++)d[t]=Math.abs(_[t]-l[t]);return d}draw_legend_for_index(t,s,e){n.generic_area_vector_legend(this.visuals,t,s,e)}}e.RectView=_,_.__name__="RectView";class c extends r.CenterRotatable{constructor(t){super(t)}static init_Rect(){this.prototype.default_view=_,this.define((({Boolean:t})=>({dilate:[t,!1]})))}}e.Rect=c,c.__name__="Rect",c.init_Rect()},n function _(e,t,r,s,i){s();const a=e(1),n=e(304),_=e(305),l=e(283),c=a.__importStar(e(18));class o extends n.MarkerView{_init_webgl(){const{webgl:e}=this.renderer.plot_view.canvas_view;if(null!=e){const t=new Set(this.marker);if(1==t.size){const[r]=[…t];if(l.MarkerGL.is_supported(r)){const{glglyph:t}=this;if(null==t||t.marker_type!=r)return void(this.glglyph=new l.MarkerGL(e.gl,this,r))}}}delete this.glglyph}_set_data(e){super._set_data(e),this._init_webgl()}_render(e,t,r){const{sx:s,sy:i,size:a,angle:n,marker:l}=null!=r?r:this;for(const r of t){const t=s[r],c=i[r],o=a.get(r),g=n.get(r),h=l.get(r);if(isNaN(t+c+o+g)||null==h)continue;const d=o/2;e.beginPath(),e.translate(t,c),g&&e.rotate(g),_.marker_funcs[h](e,r,d,this.visuals),g&&e.rotate(-g),e.translate(-t,-c)}}draw_legend_for_index(e,{x0:t,x1:r,y0:s,y1:i},a){const n=a+1,_=this.marker.get(a),l=Object.assign(Object.assign({},this._get_legend_args({x0:t,x1:r,y0:s,y1:i},a)),{marker:new c.UniformScalar(_,n)});this._render(e,[a],l)}}r.ScatterView=o,o.__name__="ScatterView";class g extends n.Marker{constructor(e){super(e)}static init_Scatter(){this.prototype.default_view=o,this.define((()=>({marker:[c.MarkerSpec,{value:"circle"}]})))}}r.Scatter=g,g.__name__="Scatter",g.init_Scatter()},n function _(e,t,s,i,n){i();const r=e(1),a=e(64),c=e(48),_=r.__importStar(e(107)),o=r.__importStar(e(18)),h=e(9),l=e(59);class x extends a.XYGlyphView{_render(e,t,s){const{sx:i,sy:n,size:r,angle:a}=null!=s?s:this;for(const s of t){const t=i[s],c=n[s],_=r.get(s),o=a.get(s);if(isNaN(t+c+_+o))continue;const h=_/2;e.beginPath(),e.translate(t,c),o&&e.rotate(o),this._render_one(e,s,h,this.visuals),o&&e.rotate(-o),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))),i=t.widen(this.max_size).map((e=>this.renderer.yscale.invert(e)));return this.index.indices({x0:s.start,x1:s.end,y0:i.start,y1:i.end})}_hit_point(e){const{sx:t,sy:s}=e,{max_size:i}=this,{hit_dilation:n}=this.model,r=t-i*n,a=t+i*n,[c,_]=this.renderer.xscale.r_invert(r,a),o=s-i*n,h=s+i*n,[x,d]=this.renderer.yscale.r_invert(o,h),y=this.index.indices({x0:c,x1:_,y0:x,y1:d}),g=[];for(const e of y){const i=this.size.get(e)/2*n;Math.abs(this.sx[e]-t)<=i&&Math.abs(this.sy[e]-s)<=i&&g.push(e)}return new l.Selection({indices:g})}_hit_span(e){const{sx:t,sy:s}=e,i=this.bounds(),n=this.max_size/2;let r,a,c,_;if("h"==e.direction){c=i.y0,_=i.y1;const e=t-n,s=t+n;[r,a]=this.renderer.xscale.r_invert(e,s)}else{r=i.x0,a=i.x1;const e=s-n,t=s+n;[c,_]=this.renderer.yscale.r_invert(e,t)}const o=[…this.index.indices({x0:r,x1:a,y0:c,y1:_})];return new l.Selection({indices:o})}_hit_rect(e){const{sx0:t,sx1:s,sy0:i,sy1:n}=e,[r,a]=this.renderer.xscale.r_invert(t,s),[c,_]=this.renderer.yscale.r_invert(i,n),o=[…this.index.indices({x0:r,x1:a,y0:c,y1:_})];return new l.Selection({indices:o})}_hit_poly(e){const{sx:t,sy:s}=e,i=h.range(0,this.sx.length),n=[];for(let e=0,r=i.length;e<r;e++){const r=i[e];_.point_in_poly(this.sx[e],this.sy[e],t,s)&&n.push(r)}return new l.Selection({indices:n})}_get_legend_args({x0:e,x1:t,y0:s,y1:i},n){const r=n+1,a=new Array(r),c=new Array(r);a[n]=(e+t)/2,c[n]=(s+i)/2;const _=.4*Math.min(Math.abs(t-e),Math.abs(i-s));return{sx:a,sy:c,size:new o.UniformScalar(_,r),angle:new o.UniformScalar(0,r)}}draw_legend_for_index(e,{x0:t,x1:s,y0:i,y1:n},r){const a=this._get_legend_args({x0:t,x1:s,y0:i,y1:n},r);this._render(e,[r],a)}}s.MarkerView=x,x.__name__="MarkerView";class d extends a.XYGlyph{constructor(e){super(e)}static init_Marker(){this.mixins([c.LineVector,c.FillVector,c.HatchVector]),this.define((({Number:e})=>({size:[o.ScreenDistanceSpec,{value:4}],angle:[o.AngleSpec,0],hit_dilation:[e,1]})))}}s.Marker=d,d.__name__="Marker",d.init_Marker()},n function _(t,e,i,o,l){o();const n=Math.sqrt(3),c=Math.sqrt(5),r=(c+1)/4,s=Math.sqrt((5-c)/8),f=(c-1)/4,a=Math.sqrt((5+c)/8);function h(t,e){t.rotate(Math.PI/4),d(t,e),t.rotate(-Math.PI/4)}function v(t,e){const i=e*n,o=i/3;t.moveTo(-i/2,-o),t.lineTo(0,0),t.lineTo(i/2,-o),t.lineTo(0,0),t.lineTo(0,e)}function d(t,e){t.moveTo(0,e),t.lineTo(0,-e),t.moveTo(-e,0),t.lineTo(e,0)}function _(t,e){t.moveTo(0,e),t.lineTo(e/1.5,0),t.lineTo(0,-e),t.lineTo(-e/1.5,0),t.closePath()}function u(t,e){const i=e*n,o=i/3;t.moveTo(-e,o),t.lineTo(e,o),t.lineTo(0,o-i),t.closePath()}function z(t,e,i,o){t.arc(0,0,i,0,2*Math.PI,!1),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())}function T(t,e,i,o){_(t,i),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())}function k(t,e,i,o){!function(t,e){t.beginPath(),t.arc(0,0,e/4,0,2*Math.PI,!1),t.closePath()}(t,i),o.line.set_vectorize(t,e),t.fillStyle=t.strokeStyle,t.fill()}function P(t,e,i,o){!function(t,e){const i=e/2,o=n*i;t.moveTo(e,0),t.lineTo(i,-o),t.lineTo(-i,-o),t.lineTo(-e,0),t.lineTo(-i,o),t.lineTo(i,o),t.closePath()}(t,i),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())}function m(t,e,i,o){const l=2*i;t.rect(-i,-i,l,l),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())}function q(t,e,i,o){!function(t,e){const i=Math.sqrt(5-2*c)*e;t.moveTo(0,-e),t.lineTo(i*f,i*a-e),t.lineTo(i*(1+f),i*a-e),t.lineTo(i*(1+f-r),i*(a+s)-e),t.lineTo(i*(1+2*f-r),i*(2*a+s)-e),t.lineTo(0,2*i*a-e),t.lineTo(-i*(1+2*f-r),i*(2*a+s)-e),t.lineTo(-i*(1+f-r),i*(a+s)-e),t.lineTo(-i*(1+f),i*a-e),t.lineTo(-i*f,i*a-e),t.closePath()}(t,i),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())}function M(t,e,i,o){u(t,i),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())}i.marker_funcs={asterisk:function(t,e,i,o){d(t,i),h(t,i),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())},circle:z,circle_cross:function(t,e,i,o){t.arc(0,0,i,0,2*Math.PI,!1),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),d(t,i),t.stroke())},circle_dot:function(t,e,i,o){z(t,e,i,o),k(t,e,i,o)},circle_y:function(t,e,i,o){t.arc(0,0,i,0,2*Math.PI,!1),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),v(t,i),t.stroke())},circle_x:function(t,e,i,o){t.arc(0,0,i,0,2*Math.PI,!1),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),h(t,i),t.stroke())},cross:function(t,e,i,o){d(t,i),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())},diamond:T,diamond_dot:function(t,e,i,o){T(t,e,i,o),k(t,e,i,o)},diamond_cross:function(t,e,i,o){_(t,i),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.moveTo(0,i),t.lineTo(0,-i),t.moveTo(-i/1.5,0),t.lineTo(i/1.5,0),t.stroke())},dot:k,hex:P,hex_dot:function(t,e,i,o){P(t,e,i,o),k(t,e,i,o)},inverted_triangle:function(t,e,i,o){t.rotate(Math.PI),u(t,i),t.rotate(-Math.PI),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())},plus:function(t,e,i,o){const l=3*i/8,n=[l,l,i,i,l,l,-l,-l,-i,-i,-l,-l],c=[i,l,l,-l,-l,-i,-i,-l,-l,l,l,i];t.beginPath();for(let e=0;e<12;e++)t.lineTo(n[e],c[e]);t.closePath(),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())},square:m,square_cross:function(t,e,i,o){const l=2*i;t.rect(-i,-i,l,l),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),d(t,i),t.stroke())},square_dot:function(t,e,i,o){m(t,e,i,o),k(t,e,i,o)},square_pin:function(t,e,i,o){const l=3*i/8;t.moveTo(-i,-i),t.quadraticCurveTo(0,-l,i,-i),t.quadraticCurveTo(l,0,i,i),t.quadraticCurveTo(0,l,-i,i),t.quadraticCurveTo(-l,0,-i,-i),t.closePath(),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())},square_x:function(t,e,i,o){const l=2*i;t.rect(-i,-i,l,l),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.moveTo(-i,i),t.lineTo(i,-i),t.moveTo(-i,-i),t.lineTo(i,i),t.stroke())},star:q,star_dot:function(t,e,i,o){q(t,e,i,o),k(t,e,i,o)},triangle:M,triangle_dot:function(t,e,i,o){M(t,e,i,o),k(t,e,i,o)},triangle_pin:function(t,e,i,o){const l=i*n,c=l/3,r=3*c/8;t.moveTo(-i,c),t.quadraticCurveTo(0,r,i,c),t.quadraticCurveTo(n*r/2,r/2,0,c-l),t.quadraticCurveTo(-n*r/2,r/2,-i,c),t.closePath(),o.fill.doit&&(o.fill.set_vectorize(t,e),t.fill()),o.hatch.doit&&(o.hatch.set_vectorize(t,e),t.fill()),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())},dash:function(t,e,i,o){!function(t,e){t.moveTo(-e,0),t.lineTo(e,0)}(t,i),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())},x:function(t,e,i,o){h(t,i),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())},y:function(t,e,i,o){v(t,i),o.line.doit&&(o.line.set_vectorize(t,e),t.stroke())}}},n function _(e,t,s,i,n){i();const r=e(1),_=r.__importStar(e(107)),o=r.__importStar(e(18)),h=e(48),a=e(65),c=e(98),d=e(106),x=e(59);class y extends c.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:_,data_size:o}=this;for(let h=0;h<o;h++){const o=i[h],a=n[h],c=r[h],d=_[h];isNaN(o+a+c+d)?e.add_empty():e.add(t(o,a),t(c,d),s(o,a),s(c,d))}}_render(e,t,s){if(this.visuals.line.doit){const{sx0:i,sy0:n,sx1:r,sy1:_}=null!=s?s:this;for(const s of t){const t=i[s],o=n[s],h=r[s],a=_[s];isNaN(t+o+h+a)||(e.beginPath(),e.moveTo(t,o),e.lineTo(h,a),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),a=this.index.indices({x0:n,y0:o,x1:r,y1:h}),c=[];for(const e of a){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)<t&&c.push(e)}return new x.Selection({indices:c})}_hit_span(e){const[t,s]=this.renderer.plot_view.frame.bbox.ranges,{sx:i,sy:n}=e;let r,_,o;"v"==e.direction?(o=this.renderer.yscale.invert(n),[r,_]=[this._y0,this._y1]):(o=this.renderer.xscale.invert(i),[r,_]=[this._x0,this._x1]);const h=[],[a,c]=this.renderer.xscale.r_invert(t.start,t.end),[d,y]=this.renderer.yscale.r_invert(s.start,s.end),l=this.index.indices({x0:a,y0:d,x1:c,y1:y});for(const t of l){(r[t]<=o&&o<=_[t]||_[t]<=o&&o<=r[t])&&h.push(t);const s=1.5+this.line_width.get(t)/2;r[t]==_[t]&&("h"==e.direction?Math.abs(this.sx0[t]-i)<=s&&h.push(t):Math.abs(this.sy0[t]-n)<=s&&h.push(t))}return new x.Selection({indices:h})}scenterxy(e){return[this.sx0[e]/2+this.sx1[e]/2,this.sy0[e]/2+this.sy1[e]/2]}draw_legend_for_index(e,t,s){d.generic_line_vector_legend(this.visuals,e,t,s)}}s.SegmentView=y,y.__name__="SegmentView";class l extends c.Glyph{constructor(e){super(e)}static init_Segment(){this.prototype.default_view=y,this.define((({})=>({x0:[o.XCoordinateSpec,{field:"x0"}],y0:[o.YCoordinateSpec,{field:"y0"}],x1:[o.XCoordinateSpec,{field:"x1"}],y1:[o.YCoordinateSpec,{field:"y1"}]}))),this.mixins(h.LineVector)}}s.Segment=l,l.__name__="Segment",l.init_Segment()},n function _(t,e,s,i,n){i();const _=t(1),l=t(64),o=_.__importStar(t(48)),a=t(308);class c extends l.XYGlyphView{_set_data(){const{tension:t,closed:e}=this.model;[this._xt,this._yt]=a.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;this.visuals.line.set_value(t);const _=i.length;for(let e=0;e<_;e++)0!=e?isNaN(i[e])||isNaN(n[e])?(t.stroke(),t.beginPath()):t.lineTo(i[e],n[e]):(t.beginPath(),t.moveTo(i[e],n[e]));t.stroke()}}s.SplineView=c,c.__name__="SplineView";class h extends l.XYGlyph{constructor(t){super(t)}static init_Spline(){this.prototype.default_view=c,this.mixins(o.LineScalar),this.define((({Boolean:t,Number:e})=>({tension:[e,.5],closed:[t,!1]})))}}s.Spline=h,h.__name__="Spline",h.init_Spline()},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){l.assert(n.length==t.length);const r=n.length,f=s?r+1:r,w=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;n<f;n++){const s=(i[n+1]-i[n-1])*o,c=(u[n+1]-u[n-1])*o,l=(i[n+2]-i[n])*o,r=(u[n+2]-u[n])*o;for(let o=0;o<=4*e;t++){const e=g[o++],f=g[o++],w=g[o++],a=g[o++];h[t]=e*i[n]+f*i[n+1]+w*s+a*l,_[t]=e*u[n]+f*u[n+1]+w*c+a*r}}return[h,_]}},n function _(e,t,i,n,s){n();const o=e(1),l=e(64),r=e(106),a=o.__importStar(e(48)),_=e(20);class c extends l.XYGlyphView{_render(e,t,i){const{sx:n,sy:s}=null!=i?i:this;let o=!1,l=null;this.visuals.line.set_value(e);const r=t.length;if(!(r<2)){e.beginPath(),e.moveTo(n[0],s[0]);for(const i of t){let t,r,a,_;switch(this.model.mode){case"before":[t,a]=[n[i-1],s[i]],[r,_]=[n[i],s[i]];break;case"after":[t,a]=[n[i],s[i-1]],[r,_]=[n[i],s[i]];break;case"center":{const e=(n[i-1]+n[i])/2;[t,a]=[e,s[i-1]],[r,_]=[e,s[i]];break}default:throw new Error("unexpected")}if(o){if(!isFinite(n[i]+s[i])){e.stroke(),e.beginPath(),o=!1,l=i;continue}null!=l&&i-l>1&&(e.stroke(),o=!1)}o?(e.lineTo(t,a),e.lineTo(r,_)):(e.beginPath(),e.moveTo(n[i],s[i]),o=!0),l=i}e.lineTo(n[r-1],s[r-1]),e.stroke()}}draw_legend_for_index(e,t,i){r.generic_line_scalar_legend(this.visuals,e,t)}}i.StepView=c,c.__name__="StepView";class d extends l.XYGlyph{constructor(e){super(e)}static init_Step(){this.prototype.default_view=c,this.mixins(a.LineScalar),this.define((()=>({mode:[_.StepMode,"before"]})))}}i.Step=d,d.__name__="Step",d.init_Step()},n function _(t,e,s,i,n){i();const o=t(1),_=t(64),h=t(48),l=o.__importStar(t(107)),r=o.__importStar(t(18)),a=t(143),c=t(11),x=t(59);class u extends _.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]=[],c=i[s],x=n[s],u=o.get(s),f=_.get(s),p=h.get(s),g=l.get(s);if(!isNaN(c+x+u+f+p)&&null!=g&&this.visuals.text.doit){const i=`${g}`;t.save(),t.translate(c+u,x+f),t.rotate(p),this.visuals.text.set_vectorize(t,s);const n=this.visuals.text.font_value(s),{height:o}=a.font_metrics(n),_=this.text_line_height.get(s)*o;if(-1==i.indexOf("\n")){t.fillText(i,0,0);const s=c+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=c+u,n=l+x+f,o=t.measureText(s).width,[h,a]=this._text_bounds(i,n,o,_);e.push(h),r.push(a),l+=_}}t.restore()}}}_hit_point(t){const{sx:e,sy:s}=t,i=[];for(let t=0;t<this._sxs.length;t++){const n=this._sxs[t],o=this._sys[t],_=n.length;for(let h=0,r=_;h<r;h++){const[r,a]=this._rotate_point(e,s,n[_-1][0],o[_-1][0],-this.angle.get(t));l.point_in_poly(r,a,n[h],o[h])&&i.push(t)}}return new x.Selection({indices:i})}scenterxy(t){const e=this._sxs[t],s=this._sys[t];c.assert(0!=e.length&&0!=s.length);const i=e[0][0],n=s[0][0],o=(e[0][2]+i)/2,_=(s[0][2]+n)/2,[h,l]=this._rotate_point(o,_,i,n,this.angle.get(t));return[h,l]}}s.TextView=u,u.__name__="TextView";class f extends _.XYGlyph{constructor(t){super(t)}static init_Text(){this.prototype.default_view=u,this.mixins(h.TextVector),this.define((({})=>({text:[r.NullStringSpec,{field:"text"}],angle:[r.AngleSpec,0],x_offset:[r.NumberSpec,0],y_offset:[r.NumberSpec,0]})))}}s.Text=f,f.__name__="Text",f.init_Text()},n function _(t,s,e,i,r){i();const h=t(1),o=t(290),a=t(24),n=h.__importStar(t(18));class _ extends o.BoxView{scenterxy(t){return[this.sx[t],(this.stop[t]+this.sbottom[t])/2]}_lrtb(t){const s=this.width.get(t)/2,e=this._x[t],i=this._top[t],r=this._bottom[t];return[e-s,e+s,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 a.ScreenArray(t),this.sright=new a.ScreenArray(t);for(let s=0;s<t;s++)this.sleft[s]=this.sx[s]-this.sw[s]/2,this.sright[s]=this.sx[s]+this.sw[s]/2;this._clamp_viewport()}}e.VBarView=_,_.__name__="VBarView";class c extends o.Box{constructor(t){super(t)}static init_VBar(){this.prototype.default_view=_,this.define((({})=>({x:[n.XCoordinateSpec,{field:"x"}],bottom:[n.YCoordinateSpec,{value:0}],width:[n.NumberSpec,{value:1}],top:[n.YCoordinateSpec,{field:"top"}]})))}}e.VBar=c,c.__name__="VBar",c.init_VBar()},n function _(e,t,s,i,n){i();const r=e(1),a=e(64),l=e(106),c=e(48),d=e(24),h=e(20),o=r.__importStar(e(18)),_=e(10),u=e(59);class g extends a.XYGlyphView{_map_data(){"data"==this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this.radius):this.sradius=d.to_screen(this.radius)}_render(e,t,s){const{sx:i,sy:n,sradius:r,start_angle:a,end_angle:l}=null!=s?s:this,c="anticlock"==this.model.direction;for(const s of t){const t=i[s],d=n[s],h=r[s],o=a.get(s),_=l.get(s);isNaN(t+d+h+o+_)||(e.beginPath(),e.arc(t,d,h,o,_,c),e.lineTo(t,d),e.closePath(),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(e,s),e.fill()),this.visuals.hatch.doit&&(this.visuals.hatch.set_vectorize(e,s),e.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(e,s),e.stroke()))}}_hit_point(e){let t,s,i,n,r,a,l,c,d;const{sx:h,sy:o}=e,g=this.renderer.xscale.invert(h),p=this.renderer.yscale.invert(o),x=2*this.max_radius;"data"===this.model.properties.radius.units?(a=g-x,l=g+x,c=p-x,d=p+x):(s=h-x,i=h+x,[a,l]=this.renderer.xscale.r_invert(s,i),n=o-x,r=o+x,[c,d]=this.renderer.yscale.r_invert(n,r));const f=[];for(const e of this.index.indices({x0:a,x1:l,y0:c,y1:d})){const a=this.sradius[e]**2;[s,i]=this.renderer.xscale.r_compute(g,this._x[e]),[n,r]=this.renderer.yscale.r_compute(p,this._y[e]),t=(s-i)**2+(n-r)**2,t<=a&&f.push(e)}const v="anticlock"==this.model.direction,y=[];for(const e of f){const t=Math.atan2(o-this.sy[e],h-this.sx[e]);_.angle_between(-t,-this.start_angle.get(e),-this.end_angle.get(e),v)&&y.push(e)}return new u.Selection({indices:y})}draw_legend_for_index(e,t,s){l.generic_area_vector_legend(this.visuals,e,t,s)}scenterxy(e){const t=this.sradius[e]/2,s=(this.start_angle.get(e)+this.end_angle.get(e))/2;return[this.sx[e]+t*Math.cos(s),this.sy[e]+t*Math.sin(s)]}}s.WedgeView=g,g.__name__="WedgeView";class p extends a.XYGlyph{constructor(e){super(e)}static init_Wedge(){this.prototype.default_view=g,this.mixins([c.LineVector,c.FillVector,c.HatchVector]),this.define((({})=>({direction:[h.Direction,"anticlock"],radius:[o.DistanceSpec,{field:"radius"}],start_angle:[o.AngleSpec,{field:"start_angle"}],end_angle:[o.AngleSpec,{field:"end_angle"}]})))}}s.Wedge=p,p.__name__="Wedge",p.init_Wedge()},n function _(t,_,r,o,a){o();const e=t(1);e.__exportStar(t(126),r),e.__exportStar(t(125),r),e.__exportStar(t(314),r)},n function _(t,a,o,r,e){r();const n=t(125);class l extends n.LayoutProvider{constructor(t){super(t)}static init_StaticLayoutProvider(){this.define((({Number:t,Tuple:a,Dict:o})=>({graph_layout:[o(a(t,t)),{}]})))}get_node_coordinates(t){var a;const o=null!==(a=t.data.index)&&void 0!==a?a:[],r=o.length,e=new Float64Array(r),n=new Float64Array(r);for(let t=0;t<r;t++){const a=this.graph_layout[o[t]],[r,l]=null!=a?a:[NaN,NaN];e[t]=r,n[t]=l}return[e,n]}get_edge_coordinates(t){var a,o;const r=null!==(a=t.data.start)&&void 0!==a?a:[],e=null!==(o=t.data.end)&&void 0!==o?o:[],n=Math.min(r.length,e.length),l=[],i=[],u=null!=t.data.xs&&null!=t.data.ys;for(let a=0;a<n;a++){const o=null!=this.graph_layout[r[a]]&&null!=this.graph_layout[e[a]];if(u&&o)l.push(t.data.xs[a]),i.push(t.data.ys[a]);else{let t,n;o?(t=this.graph_layout[r[a]],n=this.graph_layout[e[a]]):(t=[NaN,NaN],n=[NaN,NaN]),l.push([t[0],n[0]]),i.push([t[1],n[1]])}}return[l,i]}}o.StaticLayoutProvider=l,l.__name__="StaticLayoutProvider",l.init_StaticLayoutProvider()},n function _(i,d,n,r,G){r(),G("Grid",i(316).Grid)},n function _(i,e,t,s,n){s();const r=i(1),o=i(162),d=i(164),l=i(165),_=r.__importStar(i(48)),a=i(8);class h extends d.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,t]=this.grid_coords("major",!1);for(let s=0;s<e.length-1;s++){if(s%2!=1)continue;const[n,r]=this.coordinates.map_to_screen(e[s],t[s]),[o,d]=this.coordinates.map_to_screen(e[s+1],t[s+1]);i.beginPath(),i.rect(n[0],r[0],o[1]-n[0],d[1]-r[0]),this.visuals.band_fill.doit&&(this.visuals.band_fill.set_value(i),i.fill()),this.visuals.band_hatch.doit&&(this.visuals.band_hatch.set_value(i),i.fill())}}_draw_grids(i){if(!this.visuals.grid_line.doit)return;const[e,t]=this.grid_coords("major");this._draw_grid_helper(i,this.visuals.grid_line,e,t)}_draw_minor_grids(i){if(!this.visuals.minor_grid_line.doit)return;const[e,t]=this.grid_coords("minor");this._draw_grid_helper(i,this.visuals.minor_grid_line,e,t)}_draw_grid_helper(i,e,t,s){e.set_value(i),i.beginPath();for(let e=0;e<t.length;e++){const[n,r]=this.coordinates.map_to_screen(t[e],s[e]);i.moveTo(Math.round(n[0]),Math.round(r[0]));for(let e=1;e<n.length;e++)i.lineTo(Math.round(n[e]),Math.round(r[e]))}i.stroke()}ranges(){const i=this.model.dimension,e=(i+1)%2,{ranges:t}=this.coordinates;return[t[i],t[e]]}computed_bounds(){const[i]=this.ranges(),e=this.model.bounds,t=[i.min,i.max];let s,n;if(a.isArray(e))s=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]),s<t[0]&&(s=t[0]),n>t[1]&&(n=t[1]);else{[s,n]=t;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,n]=i.computed_bounds)}return[s,n]}grid_coords(i,e=!0){const t=this.model.dimension,s=(t+1)%2,[n,r]=this.ranges();let[o,d]=this.computed_bounds();[o,d]=[Math.min(o,d),Math.max(o,d)];const l=[[],[]],_=this.model.get_ticker();if(null==_)return l;const a=_.get_ticks(o,d,n,r.min)[i],h=n.min,u=n.max,c=r.min,m=r.max;e||(a[0]!=h&&a.splice(0,0,h),a[a.length-1]!=u&&a.push(u));for(let i=0;i<a.length;i++){if((a[i]==h||a[i]==u)&&e)continue;const n=[],r=[],o=2;for(let e=0;e<o;e++){const t=c+(m-c)/(o-1)*e;n.push(a[i]),r.push(t)}l[t].push(n),l[s].push(r)}return l}}t.GridView=h,h.__name__="GridView";class u extends d.GuideRenderer{constructor(i){super(i)}static init_Grid(){this.prototype.default_view=h,this.mixins([["grid_",_.Line],["minor_grid_",_.Line],["band_",_.Fill],["band_",_.Hatch]]),this.define((({Number:i,Auto:e,Enum:t,Ref:s,Tuple:n,Or:r,Nullable:d})=>({bounds:[r(n(i,i),e),"auto"],dimension:[t(0,1),0],axis:[d(s(o.Axis)),null],ticker:[d(s(l.Ticker)),null]}))),this.override({level:"underlay",band_fill_color:null,band_fill_alpha:0,grid_line_color:"#e5e5e5",minor_grid_line_color:null})}get_ticker(){return null!=this.ticker?this.ticker:null!=this.axis?this.axis.ticker:null}}t.Grid=u,u.__name__="Grid",u.init_Grid()},n function _(o,a,x,B,e){B(),e("Box",o(318).Box),e("Column",o(320).Column),e("GridBox",o(321).GridBox),e("HTMLBox",o(322).HTMLBox),e("LayoutDOM",o(319).LayoutDOM),e("Panel",o(323).Panel),e("Row",o(324).Row),e("Spacer",o(325).Spacer),e("Tabs",o(326).Tabs),e("WidgetBox",o(329).WidgetBox)},n function _(e,n,i,t,s){t();const o=e(319);class c extends o.LayoutDOMView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.children.change,(()=>this.rebuild()))}get child_models(){return this.model.children}}i.BoxView=c,c.__name__="BoxView";class r extends o.LayoutDOM{constructor(e){super(e)}static init_Box(){this.define((({Number:e,Array:n,Ref:i})=>({children:[n(i(o.LayoutDOM)),[]],spacing:[e,0]})))}}i.Box=r,r.__name__="Box",r.init_Box()},n function _(i,t,e,s,o){s();const l=i(53),n=i(20),h=i(43),a=i(19),r=i(8),_=i(22),d=i(122),c=i(240),u=i(221),m=i(44),p=i(249);class g extends c.DOMView{constructor(){super(…arguments),this._idle_notified=!1,this._offset_parent=null,this._viewport={}}initialize(){super.initialize(),this.el.style.position=this.is_root?"relative":"absolute",this._child_views=new Map}async lazy_initialize(){await super.lazy_initialize(),await this.build_child_views()}remove(){for(const i of this.child_views)i.remove();this._child_views.clear(),super.remove()}connect_signals(){super.connect_signals(),this.is_root&&(this._on_resize=()=>this.resize_layout(),window.addEventListener("resize",this._on_resize),this._parent_observer=setInterval((()=>{const i=this.el.offsetParent;this._offset_parent!=i&&(this._offset_parent=i,null!=i&&(this.compute_viewport(),this.invalidate_layout()))}),250));const i=this.model.properties;this.on_change([i.width,i.height,i.min_width,i.min_height,i.max_width,i.max_height,i.margin,i.width_policy,i.height_policy,i.sizing_mode,i.aspect_ratio,i.visible],(()=>this.invalidate_layout())),this.on_change([i.background,i.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((i=>this._child_views.get(i)))}async build_child_views(){await d.build_views(this._child_views,this.child_models,{parent:this})}render(){super.render(),h.empty(this.el);const{background:i}=this.model;this.el.style.backgroundColor=null!=i?_.color2css(i):"",h.classes(this.el).clear().add(…this.css_classes());for(const i of this.child_views)this.el.appendChild(i.el),i.render()}update_layout(){for(const i of this.child_views)i.update_layout();this._update_layout()}update_position(){this.el.style.display=this.model.visible?"block":"none";const i=this.is_root?this.layout.sizing.margin:void 0;h.position(this.el,this.layout.bbox,i);for(const i of this.child_views)i.update_position()}after_layout(){for(const i of this.child_views)i.after_layout();this._has_finished=!0}compute_viewport(){this._viewport=this._viewport_size()}renderTo(i){i.appendChild(this.el),this._offset_parent=this.el.offsetParent,this.compute_viewport(),this.build()}build(){return this.assert_root(),this.render(),this.update_layout(),this.compute_layout(),this}async rebuild(){await this.build_child_views(),this.invalidate_render()}compute_layout(){const i=Date.now();this.layout.compute(this._viewport),this.update_position(),this.after_layout(),a.logger.debug(`layout computed in ${Date.now()-i} ms`),this.notify_finished()}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 i of this.child_views)if(!i.has_finished())return!1;return!0}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()}_width_policy(){return null!=this.model.width?"fixed":"fit"}_height_policy(){return null!=this.model.height?"fixed":"fit"}box_sizing(){let{width_policy:i,height_policy:t,aspect_ratio:e}=this.model;"auto"==i&&(i=this._width_policy()),"auto"==t&&(t=this._height_policy());const{sizing_mode:s}=this.model;if(null!=s)if("fixed"==s)i=t="fixed";else if("stretch_both"==s)i=t="max";else if("stretch_width"==s)i="max";else if("stretch_height"==s)t="max";else switch(null==e&&(e="auto"),s){case"scale_width":i="max",t="min";break;case"scale_height":i="min",t="max";break;case"scale_both":i="max",t="max"}const o={width_policy:i,height_policy:t},{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:_,max_height:d}=this.model;null!=_&&(o.max_width=_),null!=d&&(o.max_height=d),"auto"==e&&null!=h&&null!=a?o.aspect=h/a:r.isNumber(e)&&(o.aspect=e);const{margin:c}=this.model;if(null!=c)if(r.isNumber(c))o.margin={top:c,right:c,bottom:c,left:c};else if(2==c.length){const[i,t]=c;o.margin={top:i,right:t,bottom:i,left:t}}else{const[i,t,e,s]=c;o.margin={top:i,right:t,bottom:e,left:s}}o.visible=this.model.visible;const{align:u}=this.model;return r.isArray(u)?[o.halign,o.valign]=u:o.halign=o.valign=u,o}_viewport_size(){return h.undisplayed(this.el,(()=>{let i=this.el;for(;i=i.parentElement;){if(i.classList.contains(m.root))continue;if(i==document.body){const{margin:{left:i,right:t,top:e,bottom:s}}=h.extents(document.body);return{width:Math.ceil(document.documentElement.clientWidth-i-t),height:Math.ceil(document.documentElement.clientHeight-e-s)}}const{padding:{left:t,right:e,top:s,bottom:o}}=h.extents(i),{width:l,height:n}=i.getBoundingClientRect(),a=Math.ceil(l-t-e),r=Math.ceil(n-s-o);if(a>0||r>0)return{width:a>0?a:void 0,height:r>0?r:void 0}}return{}}))}export(i,t=!0){const e="png"==i?"canvas":"svg",s=new p.CanvasLayer(e,t),{width:o,height:l}=this.layout.bbox;s.resize(o,l);for(const e of this.child_views){const o=e.export(i,t),{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((i=>i.serializable_state()))})}}e.LayoutDOMView=g,g.__name__="LayoutDOMView";class f extends l.Model{constructor(i){super(i)}static init_LayoutDOM(){this.define((i=>{const{Boolean:t,Number:e,String:s,Auto:o,Color:l,Array:h,Tuple:a,Or:r,Null:_,Nullable:d}=i,c=a(e,e),m=a(e,e,e,e);return{width:[d(e),null],height:[d(e),null],min_width:[d(e),null],min_height:[d(e),null],max_width:[d(e),null],max_height:[d(e),null],margin:[d(r(e,c,m)),[0,0,0,0]],width_policy:[r(u.SizingPolicy,o),"auto"],height_policy:[r(u.SizingPolicy,o),"auto"],aspect_ratio:[r(e,o,_),null],sizing_mode:[d(n.SizingMode),null],visible:[t,!0],disabled:[t,!1],align:[r(n.Align,a(n.Align,n.Align)),"start"],background:[d(l),null],css_classes:[h(s),[]]}}))}}e.LayoutDOM=f,f.__name__="LayoutDOM",f.init_LayoutDOM()},n function _(t,s,i,o,n){o();const e=t(318),l=t(223);class u extends e.BoxView{_update_layout(){const t=this.child_views.map((t=>t.layout));this.layout=new l.Column(t),this.layout.rows=this.model.rows,this.layout.spacing=[this.model.spacing,0],this.layout.set_sizing(this.box_sizing())}}i.ColumnView=u,u.__name__="ColumnView";class a extends e.Box{constructor(t){super(t)}static init_Column(){this.prototype.default_view=u,this.define((({Any:t})=>({rows:[t,"auto"]})))}}i.Column=a,a.__name__="Column",a.init_Column()},n function _(t,s,i,o,e){o();const n=t(319),l=t(223);class a extends n.LayoutDOMView{connect_signals(){super.connect_signals();const{children:t,rows:s,cols:i,spacing:o}=this.model.properties;this.on_change([t,s,i,o],(()=>this.rebuild()))}get child_models(){return this.model.children.map((([t])=>t))}_update_layout(){this.layout=new l.Grid,this.layout.rows=this.model.rows,this.layout.cols=this.model.cols,this.layout.spacing=this.model.spacing;for(const[t,s,i,o,e]of this.model.children){const n=this._child_views.get(t);this.layout.items.push({layout:n.layout,row:s,col:i,row_span:o,col_span:e})}this.layout.set_sizing(this.box_sizing())}}i.GridBoxView=a,a.__name__="GridBoxView";class r extends n.LayoutDOM{constructor(t){super(t)}static init_GridBox(){this.prototype.default_view=a,this.define((({Any:t,Int:s,Number:i,Tuple:o,Array:e,Ref:l,Or:a,Opt:r})=>({children:[e(o(l(n.LayoutDOM),s,s,r(s),r(s))),[]],rows:[t,"auto"],cols:[t,"auto"],spacing:[a(i,o(i,i)),0]})))}}i.GridBox=r,r.__name__="GridBox",r.init_GridBox()},n function _(t,e,o,s,n){s();const _=t(319),i=t(221);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,t,i,l){i();const a=e(53),o=e(319);class s extends a.Model{constructor(e){super(e)}static init_Panel(){this.define((({Boolean:e,String:n,Ref:t})=>({title:[n,""],child:[t(o.LayoutDOM)],closable:[e,!1]})))}}t.Panel=s,s.__name__="Panel",s.init_Panel()},n function _(t,s,i,o,e){o();const n=t(318),a=t(223);class _ extends n.BoxView{_update_layout(){const t=this.child_views.map((t=>t.layout));this.layout=new a.Row(t),this.layout.cols=this.model.cols,this.layout.spacing=[0,this.model.spacing],this.layout.set_sizing(this.box_sizing())}}i.RowView=_,_.__name__="RowView";class l extends n.Box{constructor(t){super(t)}static init_Row(){this.prototype.default_view=_,this.define((({Any:t})=>({cols:[t,"auto"]})))}}i.Row=l,l.__name__="Row",l.init_Row()},n function _(t,e,a,i,s){i();const _=t(319),c=t(221);class n extends _.LayoutDOMView{get child_models(){return[]}_update_layout(){this.layout=new c.LayoutItem,this.layout.set_sizing(this.box_sizing())}}a.SpacerView=n,n.__name__="SpacerView";class o extends _.LayoutDOM{constructor(t){super(t)}static init_Spacer(){this.prototype.default_view=n}}a.Spacer=o,o.__name__="Spacer",o.init_Spacer()},n function _(e,t,s,i,a){i();const l=e(1),h=e(221),o=e(43),c=e(9),d=e(20),r=e(319),n=e(323),_=l.__importStar(e(327)),p=_,b=l.__importStar(e(328)),u=b,m=l.__importStar(e(243)),v=m;class g extends r.LayoutDOMView{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(),b.default,m.default,_.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 h.ContentBox{_measure(e){const a=o.size(s),l=o.children(i).slice(0,3).map((e=>o.size(e))),{width:h,height:d}=super._measure(e);if(t){const t=a.width+c.sum(l.map((e=>e.width)));return{width:e.width!=1/0?e.width:t,height:d}}{const t=a.height+c.sum(l.map((e=>e.height)));return{width:h,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 a=1,l=1;switch(e){case"above":a-=1;break;case"below":a+=1;break;case"left":l-=1;break;case"right":l+=1}const d={layout:this.header,row:a,col:l},r=this.child_views.map((e=>({layout:e.layout,row:1,col:1})));this.layout=new h.Grid([d,…r]),this.layout.set_sizing(this.box_sizing())}update_position(){super.update_position(),this.header_el.style.position="absolute",o.position(this.header_el,this.header.bbox);const e=this.model.tabs_location,t="above"==e||"below"==e,s=o.size(this.scroll_el),i=o.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",o.display(this.scroll_el)):(this.wrapper_el.style.maxWidth="",o.undisplay(this.scroll_el))}else{const{height:e}=this.header.bbox;i.height>e?(this.wrapper_el.style.maxHeight=e-s.height+"px",o.display(this.scroll_el)):(this.wrapper_el.style.maxHeight="",o.undisplay(this.scroll_el))}const{child_views:a}=this;for(const e of a)o.hide(e.el);const l=a[this.model.active];null!=l&&o.show(l.el)}render(){super.render();const{active:e}=this.model,t=this.model.tabs_location,s="above"==t||"below"==t,i=this.model.tabs.map(((t,s)=>{const i=o.div({class:[p.tab,s==e?p.active:null]},t.title);if(i.addEventListener("click",(e=>{e.target==e.currentTarget&&this.change_active(s)})),t.closable){const e=o.div({class:p.close});e.addEventListener("click",(e=>{if(e.target==e.currentTarget){this.model.tabs=c.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 i}));this.headers_el=o.div({class:[p.headers]},i),this.wrapper_el=o.div({class:p.headers_wrapper},this.headers_el);const a=o.div({class:[u.btn,u.btn_default],disabled:""},o.div({class:[v.caret,p.left]})),l=o.div({class:[u.btn,u.btn_default]},o.div({class:[v.caret,p.right]}));let h=0;const d=e=>()=>{const t=this.model.tabs.length;h="left"==e?Math.max(h-1,0):Math.min(h+1,t-1),0==h?a.setAttribute("disabled",""):a.removeAttribute("disabled"),h==t-1?l.setAttribute("disabled",""):l.removeAttribute("disabled");const i=o.children(this.headers_el).slice(0,h).map((e=>e.getBoundingClientRect()));if(s){const e=-c.sum(i.map((e=>e.width)));this.headers_el.style.left=`${e}px`}else{const e=-c.sum(i.map((e=>e.height)));this.headers_el.style.top=`${e}px`}};a.addEventListener("click",d("left")),l.addEventListener("click",d("right")),this.scroll_el=o.div({class:u.btn_group},a,l),this.header_el=o.div({class:[p.tabs_header,p[t]]},this.scroll_el,this.wrapper_el),this.el.appendChild(this.header_el)}change_active(e){e!=this.model.active&&(this.model.active=e)}on_active_change(){const e=this.model.active,t=o.children(this.headers_el);for(const e of t)e.classList.remove(p.active);t[e].classList.add(p.active);const{child_views:s}=this;for(const e of s)o.hide(e.el);o.show(s[e].el)}}s.TabsView=g,g.__name__="TabsView";class w extends r.LayoutDOM{constructor(e){super(e)}static init_Tabs(){this.prototype.default_view=g,this.define((({Int:e,Array:t,Ref:s})=>({tabs:[t(s(n.Panel)),[]],tabs_location:[d.Location,"above"],active:[e,0]})))}}s.Tabs=w,w.__name__="Tabs",w.init_Tabs()},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.default=’.bk-root .bk-tabs-header{display:flex;display:-webkit-flex;flex-wrap:nowrap;-webkit-flex-wrap:nowrap;align-items:center;-webkit-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;-webkit-flex-grow:0;height:auto;padding:4px 4px;}.bk-root .bk-tabs-header .bk-headers-wrapper{flex-grow:1;-webkit-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;-webkit-flex-direction:row;}.bk-root .bk-tabs-header.bk-above .bk-headers,.bk-root .bk-tabs-header.bk-below .bk-headers{flex-direction:row;-webkit-flex-direction:row;}.bk-root .bk-tabs-header.bk-left,.bk-root .bk-tabs-header.bk-right{flex-direction:column;-webkit-flex-direction:column;}.bk-root .bk-tabs-header.bk-left .bk-headers,.bk-root .bk-tabs-header.bk-right .bk-headers{flex-direction:column;-webkit-flex-direction:column;}.bk-root .bk-tabs-header .bk-headers{position:relative;display:flex;display:-webkit-flex;flex-wrap:nowrap;-webkit-flex-wrap:nowrap;align-items:center;-webkit-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-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, <svg viewPort="0 0 10 10" version="1.1" xmlns="http://www.w3.org/2000/svg"> <line x1="1" y1="9" x2="9" y2="1" stroke="gray" stroke-width="2"/> <line x1="1" y1="1" x2="9" y2="9" stroke="gray" stroke-width="2"/> </svg>\’);}.bk-root .bk-close:hover{background-image:url(\’data:image/svg+xml;utf8, <svg viewPort="0 0 10 10" version="1.1" xmlns="http://www.w3.org/2000/svg"> <line x1="1" y1="9" x2="9" y2="1" stroke="red" stroke-width="2"/> <line x1="1" y1="1" x2="9" y2="9" stroke="red" stroke-width="2"/> </svg>\’);}’},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.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;display:-webkit-flex;flex-wrap:nowrap;-webkit-flex-wrap:nowrap;align-items:center;-webkit-align-items:center;flex-direction:row;-webkit-flex-direction:row;}.bk-root .bk-btn-group > .bk-btn{flex-grow:1;-webkit-flex-grow:1;}.bk-root .bk-btn-group > .bk-btn + .bk-btn{margin-left:-1px;}.bk-root .bk-btn-group > .bk-btn:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;}.bk-root .bk-btn-group > .bk-btn:not(:first-child):last-child{border-bottom-left-radius:0;border-top-left-radius:0;}.bk-root .bk-btn-group > .bk-btn:not(:first-child):not(:last-child){border-radius:0;}.bk-root .bk-btn-group .bk-dropdown-toggle{flex:0 0 0;-webkit-flex:0 0 0;padding:6px 6px;}"},n function _(t,e,i,o,n){o();const _=t(320);class s extends _.ColumnView{}i.WidgetBoxView=s,s.__name__="WidgetBoxView";class d extends _.Column{constructor(t){super(t)}static init_WidgetBox(){this.prototype.default_view=s}}i.WidgetBox=d,d.__name__="WidgetBox",d.init_WidgetBox()},n function _(p,o,t,a,n){a(),n("MapOptions",p(331).MapOptions),n("GMapOptions",p(331).GMapOptions),n("GMapPlot",p(331).GMapPlot),n("Plot",p(332).Plot)},n function _(t,i,n,e,a){e();const s=t(332),o=t(53),p=t(156),_=t(337);a("GMapPlotView",_.GMapPlotView);class l extends o.Model{constructor(t){super(t)}static init_MapOptions(){this.define((({Int:t,Number:i})=>({lat:[i],lng:[i],zoom:[t,12]})))}}n.MapOptions=l,l.__name__="MapOptions",l.init_MapOptions();class r extends l{constructor(t){super(t)}static init_GMapOptions(){this.define((({Boolean:t,Int:i,String:n})=>({map_type:[n,"roadmap"],scale_control:[t,!1],styles:[n],tilt:[i,45]})))}}n.GMapOptions=r,r.__name__="GMapOptions",r.init_GMapOptions();class c extends s.Plot{constructor(t){super(t),this.use_map=!0}static init_GMapPlot(){this.prototype.default_view=_.GMapPlotView,this.define((({String:t,Ref:i})=>({map_options:[i(r)],api_key:[t],api_version:[t,"3.43"]}))),this.override({x_range:()=>new p.Range1d,y_range:()=>new p.Range1d})}}n.GMapPlot=c,c.__name__="GMapPlot",c.init_GMapPlot()},n function _(e,t,i,n,r){n();const o=e(1),a=o.__importStar(e(48)),s=o.__importStar(e(18)),l=e(15),_=e(20),h=e(9),c=e(13),d=e(8),u=e(319),g=e(163),p=e(316),f=e(40),b=e(138),w=e(218),m=e(235),y=e(105),v=e(146),x=e(130),A=e(41),R=e(62),S=e(61),P=e(159),D=e(333);r("PlotView",D.PlotView);class L extends u.LayoutDOM{constructor(e){super(e),this.use_map=!1}static init_Plot(){this.prototype.default_view=D.PlotView,this.mixins([["outline_",a.Line],["background_",a.Fill],["border_",a.Fill]]),this.define((({Boolean:e,Number:t,String:i,Array:n,Dict:r,Or:o,Ref:a,Null:l,Nullable:h})=>({toolbar:[a(m.Toolbar),()=>new m.Toolbar],toolbar_location:[h(_.Location),"right"],toolbar_sticky:[e,!0],plot_width:[s.Alias("width")],plot_height:[s.Alias("height")],frame_width:[h(t),null],frame_height:[h(t),null],title:[o(a(b.Title),i,l),()=>new b.Title({text:""})],title_location:[h(_.Location),"above"],above:[n(o(a(f.Annotation),a(g.Axis))),[]],below:[n(o(a(f.Annotation),a(g.Axis))),[]],left:[n(o(a(f.Annotation),a(g.Axis))),[]],right:[n(o(a(f.Annotation),a(g.Axis))),[]],center:[n(o(a(f.Annotation),a(p.Grid))),[]],renderers:[n(a(A.Renderer)),[]],x_range:[a(y.Range),()=>new P.DataRange1d],extra_x_ranges:[r(a(y.Range)),{}],y_range:[a(y.Range),()=>new P.DataRange1d],extra_y_ranges:[r(a(y.Range)),{}],x_scale:[a(v.Scale),()=>new w.LinearScale],y_scale:[a(v.Scale),()=>new w.LinearScale],lod_factor:[t,10],lod_interval:[t,300],lod_threshold:[h(t),2e3],lod_timeout:[t,500],hidpi:[e,!0],output_backend:[_.OutputBackend,"canvas"],min_border:[h(t),5],min_border_top:[h(t),null],min_border_left:[h(t),null],min_border_bottom:[h(t),null],min_border_right:[h(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:[_.ResetPolicy,"standard"]}))),this.override({width:600,height:600,outline_line_color:"#e5e5e5",border_fill_color:"#ffffff",background_fill_color:"#ffffff"})}_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 l.Signal0(this,"reset");for(const e of c.values(this.extra_x_ranges).concat(this.x_range)){let t=e.plots;d.isArray(t)&&(t=t.concat(this),e.setv({plots:t},{silent:!0}))}for(const e of c.values(this.extra_y_ranges).concat(this.y_range)){let t=e.plots;d.isArray(t)&&(t=t.concat(this),e.setv({plots:t},{silent:!0}))}}add_layout(e,t="center"){const i=this.properties[t].get_value();this.setv({[t]:[…i,e]})}remove_layout(e){const t=t=>{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 x.ColumnDataSource,i={}){const n=new S.GlyphRenderer(Object.assign(Object.assign({},i),{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:i,right:n}=this;return h.concat([e,t,i,n])}}i.Plot=L,L.__name__="Plot",L.init_Plot()},n function _(e,t,i,s,a){s();const n=e(1),o=e(144),l=e(262),r=e(319),_=e(40),h=e(138),d=e(163),u=e(234),c=e(264),p=e(122),v=e(45),b=e(19),g=e(334),m=e(8),w=e(9),y=e(249),f=e(222),x=e(225),z=e(223),k=e(140),q=e(99),M=e(335),V=e(336),P=e(28);class R extends r.LayoutDOMView{constructor(){super(…arguments),this._outer_bbox=new q.BBox,this._inner_bbox=new q.BBox,this._needs_paint=!0,this._needs_layout=!1,this._invalidated_painters=new Set,this._invalidate_all=!0}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")}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(m.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(){p.remove_views(this.renderer_views),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._range_manager=new M.RangeManager(this),this._state_manager=new V.StateManager(this,this._initial_state),this.throttled_paint=g.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 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),b.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 x.BorderLayout,this.layout.set_sizing(this.box_sizing());const n=w.copy(this.model.above),o=w.copy(this.model.below),l=w.copy(this.model.left),r=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:b}=this.model;if(null!=v&&null!=b){const e=d(v);let t=!0;if(this.model.toolbar_sticky)for(let i=0;i<e.length;i++){const s=e[i];if(s instanceof h.Title){e[i]="above"==v||"below"==v?[s,this._toolbar]:[this._toolbar,s],t=!1;break}}t&&e.push(this._toolbar)}const g=(e,t)=>{var i;const s=this.renderer_view(t);return s.panel=new k.Panel(e),null===(i=s.update_layout)||void 0===i||i.call(s),s.layout},y=(e,t)=>{const i="above"==e||"below"==e,s=[];for(const a of t)if(m.isArray(a)){const t=a.map((t=>{const s=g(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 z.Row(t),n.set_sizing({width_policy:"max",height_policy:"min"})):(n=new z.Column(t),n.set_sizing({width_policy:"min",height_policy:"max"})),n.absolute=!0,s.push(n)}else s.push(g(e,a));return s},q=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:q,top:null!==(i=this.model.min_border_top)&&void 0!==i?i:q,right:null!==(s=this.model.min_border_right)&&void 0!==s?s:q,bottom:null!==(a=this.model.min_border_bottom)&&void 0!==a?a:q};const M=new f.NodeLayout,V=new f.VStack,P=new f.VStack,R=new f.HStack,O=new f.HStack;M.absolute=!0,V.absolute=!0,P.absolute=!0,R.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:S,frame_height:j}=this.model;M.set_sizing(Object.assign(Object.assign({},null!=S?{width_policy:"fixed",width:S}:{width_policy:"fit"}),null!=j?{height_policy:"fixed",height:j}:{height_policy:"fit"})),M.on_resize((e=>this.frame.set_geometry(e))),V.children=w.reversed(y("above",n)),P.children=y("below",o),R.children=w.reversed(y("left",l)),O.children=y("right",r),V.set_sizing({width_policy:"fit",height_policy:"min"}),P.set_sizing({width_policy:"fit",height_policy:"min"}),R.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=V,this.layout.bottom_panel=P,this.layout.left_panel=R,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)}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 p.build_views(this.renderer_views,this.computed_renderers,{parent:this})}async build_tool_views(){const e=this.model.toolbar.tools;(await 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(){var e;if(this.is_paused||!this.model.visible)return;b.logger.trace(`PlotView.paint() for ${this.model.id}`);const{document:t}=this.model;if(null!=t){const e=t.interactive_duration();e>=0&&e<this.model.lod_interval?setTimeout((()=>{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||P.settings.wireframe)&&(o.prepare(),this._paint_levels(o.ctx,"overlay",a,!1),P.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 y.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=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=R,R.__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,s,a){s();const o=t(159),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:s}=this.frame;if(null==t){for(const[,t]of e)t.reset();for(const[,t]of s)t.reset();this.update_dataranges()}else{const a=[];for(const[n,s]of e)a.push([s,t.xrs.get(n)]);for(const[n,e]of s)a.push([e,t.yrs.get(n)]);(null==n?void 0:n.scrolling)&&this._update_ranges_together(a),this._update_ranges_individually(a,n)}}reset(){this.update(null)}update_dataranges(){const t=new Map,n=new Map;let e=!1;for(const[,t]of this.frame.x_ranges)t instanceof o.DataRange1d&&"log"==t.scale_hint&&(e=!0);for(const[,t]of this.frame.y_ranges)t instanceof o.DataRange1d&&"log"==t.scale_hint&&(e=!0);for(const s of this.parent.model.data_renderers){const a=this.parent.renderer_view(s);if(null==a)continue;const o=a.glyph_view.bounds();if(null!=o&&t.set(s,o),e){const t=a.glyph_view.log_bounds();null!=t&&n.set(s,t)}}let s=!1,a=!1;const{width:l,height:i}=this.frame.bbox;let d;!1!==this.parent.model.match_aspect&&0!=l&&0!=i&&(d=1/this.parent.model.aspect_scale*(l/i));for(const[,e]of this.frame.x_ranges){if(e instanceof o.DataRange1d){const a="log"==e.scale_hint?n:t;e.update(a,0,this.parent.model,d),e.follow&&(s=!0)}null!=e.bounds&&(a=!0)}for(const[,e]of this.frame.y_ranges){if(e instanceof o.DataRange1d){const a="log"==e.scale_hint?n:t;e.update(a,1,this.parent.model,d),e.follow&&(s=!0)}null!=e.bounds&&(a=!0)}if(s&&a){r.logger.warn("Follow enabled so bounds are unset.");for(const[,t]of this.frame.x_ranges)t.bounds=null;for(const[,t]of this.frame.y_ranges)t.bounds=null}this.invalidate_dataranges=!1}compute_initial(){let t=!0;const{x_ranges:n,y_ranges:e}=this.frame,s=new Map,a=new Map;for(const[e,a]of n){const{start:n,end:o}=a;if(null==n||null==o||isNaN(n+o)){t=!1;break}s.set(e,{start:n,end:o})}if(t)for(const[n,s]of e){const{start:e,end:o}=s;if(null==e||null==o||isNaN(e+o)){t=!1;break}a.set(n,{start:e,end:o})}return t?{xrs:s,yrs:a}:(r.logger.warn("could not set initial ranges"),null)}_update_ranges_together(t){let n=1;for(const[e,s]of t)n=Math.min(n,this._get_weight_to_constrain_interval(e,s));if(n<1)for(const[e,s]of t)s.start=n*s.start+(1-n)*e.start,s.end=n*s.end+(1-n)*e.end}_update_ranges_individually(t,n){const e=!!(null==n?void 0:n.panning),s=!!(null==n?void 0:n.scrolling);let a=!1;for(const[n,o]of t){if(!s){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&&(a=!0,o.end=t,(e||s)&&(o.start=t+l)),null!=r&&r<=o.start&&(a=!0,o.start=r,(e||s)&&(o.end=r-l))):(null!=t&&t>=o.start&&(a=!0,o.start=t,(e||s)&&(o.end=t+l)),null!=r&&r<=o.end&&(a=!0,o.end=r,(e||s)&&(o.start=r-l)))}}if(!(s&&a&&(null==n?void 0:n.maintain_focus)))for(const[n,e]of t)n.have_updated_interactively=!0,n.start==e.start&&n.end==e.end||n.setv(e)}_get_weight_to_constrain_interval(t,n){const{min_interval:e}=t;let{max_interval:s}=t;if(null!=t.bounds&&"auto"!=t.bounds){const[n,e]=t.bounds;if(null!=n&&null!=e){const t=Math.abs(e-n);s=null!=s?Math.min(s,t):t}}let a=1;if(null!=e||null!=s){const o=Math.abs(t.end-t.start),r=Math.abs(n.end-n.start);null!=e&&e>0&&r<e&&(a=(o-e)/(o-r)),null!=s&&s>0&&r>s&&(a=(s-o)/(r-o)),a=Math.max(0,Math.min(1,a))}return a}}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;null!=i.range&&this.parent.update_range(i.range),null!=i.selection&&this.parent.update_selection(i.selection)}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(){this.can_undo&&(this.index-=1,this._do_state_change(this.index),this.changed.emit())}redo(){this.can_redo&&(this.index+=1,this._do_state_change(this.index),this.changed.emit())}get can_undo(){return this.index>=0}get can_redo(){return this.index<this.history.length-1}}s.StateManager=a,a.__name__="StateManager"},n function _(t,e,s,o,i){o();const a=t(19),n=t(15),p=t(43),l=t(65),_=t(22),h=t(333),m=new n.Signal0({},"gmaps_ready");class d extends h.PlotView{initialize(){this.pause(),super.initialize(),this._tiles_loaded=!1,this.zoom_count=0;const{zoom:t,lat:e,lng:s}=this.model.map_options;if(this.initial_zoom=t,this.initial_lat=e,this.initial_lng=s,!this.model.api_key){const t="https://developers.google.com/maps/documentation/javascript/get-api-key";a.logger.error(`api_key is required. See ${t} for more information on how to obtain your own.`)}if("undefined"==typeof google||null==google.maps){if(void 0===window._bokeh_gmaps_callback){const{api_key:t,api_version:e}=this.model;!function(t,e){window._bokeh_gmaps_callback=()=>m.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(){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(),i=o+s;if(i>=2){this.map.setZoom(i);const[t,e,,]=this._get_projected_bounds();e-t<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=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){const e=this.map.getCenter().toJSON();e[t]=this.model.map_options[t],this.map.setCenter(e),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=_.color2css(this.model.border_fill_color),t.fill())}}s.GMapPlotView=d,d.__name__="GMapPlotView"},n function _(t,_,n,o,r){o();t(1).__exportStar(t(169),n)},n function _(e,r,d,n,R){n(),R("GlyphRenderer",e(61).GlyphRenderer),R("GraphRenderer",e(123).GraphRenderer),R("GuideRenderer",e(164).GuideRenderer),R("Renderer",e(41).Renderer)},n function _(e,t,n,o,c){o();e(1).__exportStar(e(129),n),c("Selection",e(59).Selection)},n function _(a,e,S,o,r){o(),r("ServerSentDataSource",a(342).ServerSentDataSource),r("AjaxDataSource",a(344).AjaxDataSource),r("ColumnDataSource",a(130).ColumnDataSource),r("ColumnarDataSource",a(57).ColumnarDataSource),r("CDSView",a(120).CDSView),r("DataSource",a(58).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 _(t,e,a,n,s){n();const r=t(130),i=t(20);class l extends r.ColumnDataSource{constructor(t){super(t)}get_column(t){const e=this.data[t];return null!=e?e:[]}get_length(){var t;return null!==(t=super.get_length())&&void 0!==t?t:0}initialize(){super.initialize(),this.setup()}load_data(t,e,a){const{adapter:n}=this;let s;switch(s=null!=n?n.execute(this,{response:t}):t,e){case"replace":this.data=s;break;case"append":{const t=this.data;for(const e of this.columns()){const n=Array.from(t[e]),r=Array.from(s[e]),i=n.concat(r);s[e]=null!=a?i.slice(-a):i}this.data=s;break}}}static init_WebDataSource(){this.define((({Any:t,Int:e,String:a,Nullable:n})=>({max_size:[n(e),null],mode:[i.UpdateMode,"replace"],adapter:[n(t),null],data_url:[a]})))}}a.WebDataSource=l,l.__name__="WebDataSource",l.init_WebDataSource()},n function _(t,e,i,s,a){s();const n=t(343),r=t(20),o=t(19),l=t(13);class d extends n.WebDataSource{constructor(t){super(t),this.interval=null,this.initialized=!1}static init_AjaxDataSource(){this.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:[r.HTTPMethod,"POST"],if_modified:[t,!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 l.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){o.logger.error(`Failed to fetch JSON from ${this.data_url} with code ${t.status}`)}}i.AjaxDataSource=d,d.__name__="AjaxDataSource",d.init_AjaxDataSource()},n function _(e,t,o,r,n){r();const s=e(57),a=e(19),i=e(9),l=e(13);function c(e){return null!=e?e:NaN}const{hasOwnProperty:_}=Object.prototype;class g extends s.ColumnarDataSource{constructor(e){super(e)}static init_GeoJSONDataSource(){this.define((({String:e})=>({geojson:[e]}))),this.internal((({Dict:e,Arrayable:t})=>({data:[e(t),{}]})))}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 i.range(0,e).map((e=>[]))}_get_new_nan_array(e){return i.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 l.entries(s))_.call(t,e)||(t[e]=this._get_new_nan_array(r)),t[e][o]=c(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]=c(s);break}case"LineString":{const{coordinates:r}=e;for(let e=0;e<r.length;e++){const[n,s,a]=r[e];t.xs[o][e]=n,t.ys[o][e]=s,t.zs[o][e]=c(a)}break}case"Polygon":{e.coordinates.length>1&&a.logger.warn("Bokeh does not support Polygons with holes in, only exterior ring used.");const r=e.coordinates[0];for(let e=0;e<r.length;e++){const[n,s,a]=r[e];t.xs[o][e]=n,t.ys[o][e]=s,t.zs[o][e]=c(a)}break}case"MultiPoint":a.logger.warn("MultiPoint not supported in Bokeh");break;case"MultiLineString":{const n=e.coordinates.reduce(r);for(let e=0;e<n.length;e++){const[r,s,a]=n[e];t.xs[o][e]=r,t.ys[o][e]=s,t.zs[o][e]=c(a)}break}case"MultiPolygon":{const n=[];for(const t of e.coordinates)t.length>1&&a.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<s.length;e++){const[r,n,a]=s[e];t.xs[o][e]=r,t.ys[o][e]=n,t.zs[o][e]=c(a)}break}default:throw new Error(`Invalid GeoJSON geometry type: ${e.type}`)}}geojson_to_column_data(){const e=JSON.parse(this.geojson);let t;switch(e.type){case"GeometryCollection":if(null==e.geometries)throw new Error("No geometries found in GeometryCollection");if(0===e.geometries.length)throw new Error("geojson.geometries must have one or more items");t=e.geometries;break;case"FeatureCollection":if(null==e.features)throw new Error("No features found in FeaturesCollection");if(0==e.features.length)throw new Error("geojson.features must have one or more items");t=e.features;break;default:throw new Error("Bokeh only supports type GeometryCollection and FeatureCollection at top level")}let o=0;for(const e of t){const t="Feature"===e.type?e.geometry:e;"GeometryCollection"==t.type?o+=t.geometries.length:o+=1}const r={x:this._get_new_nan_array(o),y:this._get_new_nan_array(o),z:this._get_new_nan_array(o),xs:this._get_new_list_array(o),ys:this._get_new_list_array(o),zs:this._get_new_list_array(o)};let n=0;for(const e of t){const t="Feature"==e.type?e.geometry:e;if("GeometryCollection"==t.type)for(const s of t.geometries)this._add_geometry(s,r,n),"Feature"===e.type&&this._add_properties(e,r,n,o),n+=1;else this._add_geometry(t,r,n),"Feature"===e.type&&this._add_properties(e,r,n,o),n+=1}return r}}o.GeoJSONDataSource=g,g.__name__="GeoJSONDataSource",g.init_GeoJSONDataSource()},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,i,o){i();const l=e(348);class n extends l.MercatorTileSource{constructor(e){super(e)}static init_BBoxTileSource(){this.define((({Boolean:e})=>({use_latlon:[e,!1]})))}get_image_url(e,t,r){const i=this.string_lookup_replace(this.url,this.extra_url_vars);let o,l,n,s;return this.use_latlon?[l,s,o,n]=this.get_tile_geographic_bounds(e,t,r):[l,s,o,n]=this.get_tile_meter_bounds(e,t,r),i.replace("{XMIN}",l.toString()).replace("{YMIN}",s.toString()).replace("{XMAX}",o.toString()).replace("{YMAX}",n.toString())}}r.BBoxTileSource=n,n.__name__="BBoxTileSource",n.init_BBoxTileSource()},n function _(t,e,i,_,s){_();const r=t(349),o=t(9),n=t(350);class l extends r.TileSource{constructor(t){super(t)}static init_MercatorTileSource(){this.define((({Boolean:t})=>({snap_to_zoom:[t,!1],wrap_around:[t,!0]}))),this.override({x_origin_offset:20037508.34,y_origin_offset:20037508.34,initial_resolution:156543.03392804097})}initialize(){super.initialize(),this._resolutions=o.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)<Math.abs(t-r)?e:t}));return this._resolutions.indexOf(o)}snap_to_zoom_level(t,e,i,_){const[s,r,o,n]=t,l=this._resolutions[_];let u=i*l,a=e*l;if(!this.snap_to_zoom){const t=(o-s)/u,e=(n-r)/a;t>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<<i)-e]}meters_to_tile(t,e,i){const[_,s]=this.meters_to_pixels(t,e,i);return this.pixels_to_tile(_,s)}get_tile_meter_bounds(t,e,i){const[_,s]=this.pixels_to_meters(t*this.tile_size,e*this.tile_size,i),[r,o]=this.pixels_to_meters((t+1)*this.tile_size,(e+1)*this.tile_size,i);return[_,s,r,o]}get_tile_geographic_bounds(t,e,i){const _=this.get_tile_meter_bounds(t,e,i),[s,r,o,l]=n.meters_extent_to_geographic(_);return[s,r,o,l]}get_tiles_by_extent(t,e,i=1){const[_,s,r,o]=t;let[n,l]=this.meters_to_tile(_,s,e),[u,a]=this.meters_to_tile(r,o,e);n-=i,l-=i,u+=i,a+=i;const h=[];for(let t=a;t>=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<<s-1;switch(t.charAt(_-s)){case"0":continue;case"1":e|=r;break;case"2":i|=r;break;case"3":e|=r,i|=r;break;default:throw new TypeError(`Invalid Quadkey: ${t}`)}}return[e,i,_]}tile_xyz_to_quadkey(t,e,i){let _="";for(let s=i;s>0;s–){const i=1<<s-1;let r=0;0!=(t&i)&&(r+=1),0!=(e&i)&&(r+=2),_+=r.toString()}return _}children_by_tile_xyz(t,e,i){const _=this.tile_xyz_to_quadkey(t,e,i),s=[];for(let t=0;t<=3;t++){const[e,i,r]=this.quadkey_to_tile_xyz(_+t.toString()),o=this.get_tile_meter_bounds(e,i,r);s.push([e,i,r,o])}return s}get_closest_parent_by_tile_xyz(t,e,i){const _=this.calculate_world_x_by_tile_xyz(t,e,i);[t,e,i]=this.normalize_xyz(t,e,i);let s=this.tile_xyz_to_quadkey(t,e,i);for(;s.length>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=l,l.__name__="MercatorTileSource",l.init_MercatorTileSource()},n function _(e,t,r,i,n){i();const l=e(53),s=e(13);class a extends l.Model{constructor(e){super(e)}static init_TileSource(){this.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]})))}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 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,s=(n-r)/2+r,a=(l-i)/2+i;e.sort((function(e,t){return Math.sqrt((s-e[0])**2+(a-e[1])**2)-Math.sqrt((s-t[0])**2+(a-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=a,a.__name__="TileSource",a.init_TileSource()},n function _(t,e,r,n,o){n();const c=t(65);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),a=t(349),h=t(353),r=t(41),o=t(156),l=t(43),d=t(296),m=t(9),c=t(8),g=n.__importStar(t(354));class p extends r.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()))}styles(){return[…super.styles(),g.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&&l.removeElement(this.attribution_el);const{attribution:t}=this.model.tile_source;if(c.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=l.div({class:g.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 o.Range1d&&(this.x_range.reset_start=e[0],this.x_range.reset_end=e[2]),this.y_range instanceof o.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,a,h]=this.model.tile_source.normalize_xyz(t,e,i),r={img:void 0,tile_coords:[t,e,i],normalized_coords:[n,a,h],quadkey:this.model.tile_source.tile_xyz_to_quadkey(t,e,i),cache_key:this.model.tile_source.tile_xyz_to_key(t,e,i),bounds:s,loaded:!1,finished:!1,x_coord:s[0],y_coord:s[3]},o=this.model.tile_source.get_image_url(n,a,h);new d.ImageLoader(o,{loaded:t=>{Object.assign(r,{img:t,loaded:!0}),_?(r.finished=!0,this.notify_finished()):this.request_render()},failed(){r.finished=!0}}),this.model.tile_source.tiles.set(r.cache_key,r),this._tiles.push(r)}_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,h=t,r=i,o=this.map_canvas.getImageSmoothingEnabled();this.map_canvas.setImageSmoothingEnabled(this.model.smoothing),this.map_canvas.drawImage(e.img,h,r,n,a),this.map_canvas.setImageSmoothingEnabled(o),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);e<i;e++){const[i,s,_]=n[e],a=this.model.tile_source.children_by_tile_xyz(i,s,_);for(const e of a){const[i,s,_,n]=e;t.tiles.has(t.tile_xyz_to_key(i,s,_))||this._create_tile(i,s,_,n,!0)}}}_fetch_tiles(t){for(const e of t){const[t,i,s,_]=e;this._create_tile(t,i,s,_)}}_update(){const{tile_source:t}=this.model,{min_zoom:e}=t,{max_zoom:i}=t;let s=this.get_extent();const _=this.extent[2]-this.extent[0]<s[2]-s[0],n=this.map_frame.bbox.height,a=this.map_frame.bbox.width;let h=t.get_level_by_extent(s,n,a),r=!1;h<e?(s=this.extent,h=e,r=!0):h>i&&(s=this.extent,h=i,r=!0),r&&(this.x_range.setv({x_range:{start:s[0],end:s[2]}}),this.y_range.setv({start:s[1],end:s[3]})),this.extent=s;const o=t.get_tiles_by_extent(s,h),l=[],d=[],c=[],g=[];for(const e of o){const[i,s,n]=e,a=t.tile_xyz_to_key(i,s,n),h=t.tiles.get(a);if(null!=h&&h.loaded)d.push(a);else if(this.model.render_parents){const[e,a,h]=t.get_closest_parent_by_tile_xyz(i,s,n),r=t.tile_xyz_to_key(e,a,h),o=t.tiles.get(r);if(null!=o&&o.loaded&&!m.includes(c,r)&&c.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)&&g.push(e)}}}null==h&&l.push(e)}this._render_tiles(c),this._render_tiles(g),this._render_tiles(d),null!=this.render_timer&&clearTimeout(this.render_timer),this.render_timer=setTimeout((()=>this._fetch_tiles(l)),65)}}i.TileRendererView=p,p.__name__="TileRendererView";class u extends r.Renderer{constructor(t){super(t)}static init_TileRenderer(){this.prototype.default_view=p,this.define((({Boolean:t,Number:e,Ref:i})=>({alpha:[e,1],smoothing:[t,!0],tile_source:[i(a.TileSource),()=>new h.WMTSTileSource],render_parents:[t,!0]}))),this.override({level:"image"})}}i.TileRenderer=u,u.__name__="TileRenderer",u.init_TileRenderer()},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){c();const a=t(358),i=t(34);class r extends a.Texture{constructor(t){super(t)}static init_CanvasTexture(){this.define((({String:t})=>({code:[t]})))}get func(){const t=i.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=r,r.__name__="CanvasTexture",r.init_CanvasTexture()},n function _(e,t,i,n,r){n();const s=e(53),u=e(20);class o extends s.Model{constructor(e){super(e)}static init_Texture(){this.define((()=>({repetition:[u.TextureRepetition,"repeat"]})))}}i.Texture=o,o.__name__="Texture",o.init_Texture()},n function _(e,t,i,r,n){r();const a=e(358),s=e(296);class u extends a.Texture{constructor(e){super(e)}static init_ImageURLTexture(){this.define((({String:e})=>({url:[e]})))}initialize(){super.initialize(),this._loader=new s.ImageLoader(this.url)}get_pattern(e,t,i){const{_loader:r}=this;return this._loader.finished?r.image:r.promise}}i.ImageURLTexture=u,u.__name__="ImageURLTexture",u.init_ImageURLTexture()},n function _(o,l,T,e,t){e(),t("ActionTool",o(251).ActionTool),t("CustomAction",o(361).CustomAction),t("HelpTool",o(252).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(238).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(237).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(247).InspectTool),t("Tool",o(236).Tool),t("ToolProxy",o(392).ToolProxy),t("Toolbar",o(235).Toolbar),t("ToolbarBase",o(248).ToolbarBase),t("ProxyToolbar",o(393).ProxyToolbar),t("ToolbarBox",o(393).ToolbarBox)},n function _(t,o,i,s,n){s();const e=t(251);class c extends e.ActionToolButtonView{css_classes(){return super.css_classes().concat("bk-toolbar-button-custom-action")}}i.CustomActionButtonView=c,c.__name__="CustomActionButtonView";class u extends e.ActionToolView{doit(){var t;null===(t=this.model.callback)||void 0===t||t.execute(this.model)}}i.CustomActionView=u,u.__name__="CustomActionView";class l extends e.ActionTool{constructor(t){super(t),this.tool_name="Custom Action",this.button_view=c}static init_CustomAction(){this.prototype.default_view=u,this.define((({Any:t,String:o,Nullable:i})=>({callback:[i(t)],icon:[o]}))),this.override({description:"Perform a Custom Action"})}}i.CustomAction=l,l.__name__="CustomAction",l.init_CustomAction()},n function _(o,e,t,i,s){i();const n=o(251),d=o(242);class l extends n.ActionToolView{connect_signals(){super.connect_signals(),this.connect(this.plot_view.state.changed,(()=>this.model.disabled=!this.plot_view.state.can_redo))}doit(){this.plot_view.state.redo()}}t.RedoToolView=l,l.__name__="RedoToolView";class _ extends n.ActionTool{constructor(o){super(o),this.tool_name="Redo",this.icon=d.tool_icon_redo}static init_RedoTool(){this.prototype.default_view=l,this.override({disabled:!0}),this.register_alias("redo",(()=>new _))}}t.RedoTool=_,_.__name__="RedoTool",_.init_RedoTool()},n function _(e,t,o,s,i){s();const _=e(251),n=e(242);class l extends _.ActionToolView{doit(){this.plot_view.reset()}}o.ResetToolView=l,l.__name__="ResetToolView";class c extends _.ActionTool{constructor(e){super(e),this.tool_name="Reset",this.icon=n.tool_icon_reset}static init_ResetTool(){this.prototype.default_view=l,this.register_alias("reset",(()=>new c))}}o.ResetTool=c,c.__name__="ResetTool",c.init_ResetTool()},n function _(o,e,t,a,i){a();const n=o(251),s=o(242);class c extends n.ActionToolView{async copy(){const o=await this.plot_view.to_blob(),e=new ClipboardItem({[o.type]:o});await navigator.clipboard.write([e])}async save(o){const e=await this.plot_view.to_blob(),t=document.createElement("a");t.href=URL.createObjectURL(e),t.download=o,t.target="_blank",t.dispatchEvent(new MouseEvent("click"))}doit(o="save"){switch(o){case"save":this.save("bokeh_plot");break;case"copy":this.copy()}}}t.SaveToolView=c,c.__name__="SaveToolView";class l extends n.ActionTool{constructor(o){super(o),this.tool_name="Save",this.icon=s.tool_icon_save}static init_SaveTool(){this.prototype.default_view=c,this.register_alias("save",(()=>new l))}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=l,l.__name__="SaveTool",l.init_SaveTool()},n function _(o,t,n,i,e){i();const s=o(251),d=o(242);class l extends s.ActionToolView{connect_signals(){super.connect_signals(),this.connect(this.plot_view.state.changed,(()=>this.model.disabled=!this.plot_view.state.can_undo))}doit(){this.plot_view.state.undo()}}n.UndoToolView=l,l.__name__="UndoToolView";class _ extends s.ActionTool{constructor(o){super(o),this.tool_name="Undo",this.icon=d.tool_icon_undo}static init_UndoTool(){this.prototype.default_view=l,this.override({disabled:!0}),this.register_alias("undo",(()=>new _))}}n.UndoTool=_,_.__name__="UndoTool",_.init_UndoTool()},n function _(o,i,n,s,e){s();const t=o(367),_=o(242);class m extends t.ZoomBaseToolView{}n.ZoomInToolView=m,m.__name__="ZoomInToolView";class l extends t.ZoomBaseTool{constructor(o){super(o),this.sign=1,this.tool_name="Zoom In",this.icon=_.tool_icon_zoom_in}static init_ZoomInTool(){this.prototype.default_view=m,this.register_alias("zoom_in",(()=>new l({dimensions:"both"}))),this.register_alias("xzoom_in",(()=>new l({dimensions:"width"}))),this.register_alias("yzoom_in",(()=>new l({dimensions:"height"})))}}n.ZoomInTool=l,l.__name__="ZoomInTool",l.init_ZoomInTool()},n function _(o,t,e,i,s){i();const n=o(251),l=o(20),a=o(368);class _ extends n.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=a.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}),null===(o=this.model.document)||void 0===o||o.interactive_start(this.plot_model)}}e.ZoomBaseToolView=_,_.__name__="ZoomBaseToolView";class m extends n.ActionTool{constructor(o){super(o)}static init_ZoomBaseTool(){this.define((({Percent:o})=>({factor:[o,.1],dimensions:[l.Dimensions,"both"]})))}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}e.ZoomBaseTool=m,m.__name__="ZoomBaseTool",m.init_ZoomBaseTool()},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=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,t,i,s,e){s();const n=o(367),_=o(242);class m extends n.ZoomBaseToolView{}i.ZoomOutToolView=m,m.__name__="ZoomOutToolView";class l extends n.ZoomBaseTool{constructor(o){super(o),this.sign=-1,this.tool_name="Zoom Out",this.icon=_.tool_icon_zoom_out}static init_ZoomOutTool(){this.prototype.default_view=m,this.register_alias("zoom_out",(()=>new l({dimensions:"both"}))),this.register_alias("xzoom_out",(()=>new l({dimensions:"width"}))),this.register_alias("yzoom_out",(()=>new l({dimensions:"height"})))}}i.ZoomOutTool=l,l.__name__="ZoomOutTool",l.init_ZoomOutTool()},n function _(e,t,s,o,n){o();const i=e(9),r=e(8),c=e(11),_=e(61),a=e(237);class l extends a.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 c.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<s.length;e++){const t=s[e];o.splice(t-e,1)}}this._emit_cds_changes(t)}_pop_glyphs(e,t){const s=e.columns();if(t&&s.length)for(const o of s){let s=e.get_array(o);const n=s.length-t+1;n<1||(r.isArray(s)||(s=Array.from(s),e.data[o]=s),s.splice(0,n))}}_emit_cds_changes(e,t=!0,s=!0,o=!0){s&&e.selection_manager.clear(),t&&e.change.emit(),o&&(e.data=e.data,e.properties.data.change.emit())}_drag_points(e,t,s="both"){if(null==this._basepoint)return;const[o,n]=this._basepoint;for(const i of t){const t=this._map_drag(o,n,i),r=this._map_drag(e.sx,e.sy,i);if(null==r||null==t)continue;const[c,_]=r,[a,l]=t,[d,u]=[c-a,_-l],h=i.glyph,m=i.data_source,[p,f]=[h.x.field,h.y.field];for(const e of m.selected.indices)!p||"width"!=s&&"both"!=s||(m.data[p][e]+=d),!f||"height"!=s&&"both"!=s||(m.data[f][e]+=u);m.change.emit()}this._basepoint=[e.sx,e.sy]}_pad_empty_columns(e,t){for(const s of e.columns())i.includes(t,s)||e.get_array(s).push(this.model.empty_value)}_select_event(e,t,s){const o=this.plot_view.frame,{sx:n,sy:i}=e;if(!o.bbox.contains(n,i))return[];const r={type:"point",sx:n,sy:i},c=[];for(const e of s){const s=e.get_selection_manager(),o=e.data_source,n=this.plot_view.renderer_view(e);if(null!=n){s.select([n],r,!0,t)&&c.push(e),o.properties.selected.change.emit()}}return c}}s.EditToolView=l,l.__name__="EditToolView";class d extends a.GestureTool{constructor(e){super(e)}static init_EditTool(){this.define((({Unknown:e,String:t,Array:s,Ref:o})=>({custom_icon:[t],empty_value:[e],renderers:[s(o(_.GlyphRenderer)),[]]})))}get computed_icon(){var e;return null!==(e=this.custom_icon)&&void 0!==e?e:this.icon}}s.EditTool=d,d.__name__="EditTool",d.init_EditTool()},n function _(e,t,s,i,_){i();const o=e(43),n=e(20),a=e(370),d=e(242);class l extends a.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===o.Keys.Backspace)this._delete_selected(t);else if(e.keyCode==o.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],[x,y]=[d.x.field,d.y.field],[w,v]=[d.width.field,d.height.field];if(_)this._pop_glyphs(l,this.model.num_objects),x&&l.get_array(x).push(c),y&&l.get_array(y).push(m),w&&l.get_array(w).push(f),v&&l.get_array(v).push(b),this._pad_empty_columns(l,[x,y,w,v]);else{const e=l.data[x].length-1;x&&(l.data[x][e]=c),y&&(l.data[y][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=l,l.__name__="BoxEditToolView";class r extends a.EditTool{constructor(e){super(e),this.tool_name="Box Edit Tool",this.icon=d.tool_icon_box_edit,this.event_type=["tap","pan","move"],this.default_order=1}static init_BoxEditTool(){this.prototype.default_view=l,this.define((({Int:e})=>({dimensions:[n.Dimensions,"both"],num_objects:[e,0]})))}}s.BoxEditTool=r,r.__name__="BoxEditTool",r.init_BoxEditTool()},n function _(e,t,a,s,r){s();const o=e(43),_=e(8),i=e(370),d=e(242);class n extends i.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[o,i]=r,d=s.data_source,n=s.glyph,[h,l]=[n.xs.field,n.ys.field];if("new"==t)this._pop_glyphs(d,this.model.num_objects),h&&d.get_array(h).push([o]),l&&d.get_array(l).push([i]),this._pad_empty_columns(d,[h,l]);else if("add"==t){if(h){const e=d.data[h].length-1;let t=d.get_array(h)[e];_.isArray(t)||(t=Array.from(t),d.data[h][e]=t),t.push(o)}if(l){const e=d.data[l].length-1;let t=d.get_array(l)[e];_.isArray(t)||(t=Array.from(t),d.data[l][e]=t),t.push(i)}}this._emit_cds_changes(d,!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===o.Keys.Esc?t.data_source.selection_manager.clear():e.keyCode===o.Keys.Backspace&&this._delete_selected(t)}}a.FreehandDrawToolView=n,n.__name__="FreehandDrawToolView";class h extends i.EditTool{constructor(e){super(e),this.tool_name="Freehand Draw Tool",this.icon=d.tool_icon_freehand_draw,this.event_type=["pan","tap"],this.default_order=3}static init_FreehandDrawTool(){this.prototype.default_view=n,this.define((({Int:e})=>({num_objects:[e,0]})))}}a.FreehandDrawTool=h,h.__name__="FreehandDrawTool",h.init_FreehandDrawTool()},n function _(e,t,s,o,i){o();const a=e(43),n=e(370),_=e(242);class r extends n.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,i=t.data_source,[a,n]=[o.x.field,o.y.field],[_,r]=s;this._pop_glyphs(i,this.model.num_objects),a&&i.get_array(a).push(_),n&&i.get_array(n).push(r),this._pad_empty_columns(i,[a,n]),i.change.emit(),i.data=i.data,i.properties.data.change.emit()}_keyup(e){if(this.model.active&&this._mouse_in_frame)for(const t of this.model.renderers)e.keyCode===a.Keys.Backspace?this._delete_selected(t):e.keyCode==a.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=r,r.__name__="PointDrawToolView";class d extends n.EditTool{constructor(e){super(e),this.tool_name="Point Draw Tool",this.icon=_.tool_icon_point_draw,this.event_type=["tap","pan","move"],this.default_order=2}static init_PointDrawTool(){this.prototype.default_view=r,this.define((({Boolean:e,Int:t})=>({add:[e,!0],drag:[e,!0],num_objects:[t,0]})))}}s.PointDrawTool=d,d.__name__="PointDrawTool",d.init_PointDrawTool()},n function _(e,t,s,i,a){i();const o=e(43),r=e(8),n=e(375),_=e(242);class d extends n.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[o,n]=this._snap_to_vertex(e,…a),_=i.data_source,d=i.glyph,[l,h]=[d.xs.field,d.ys.field];if("new"==t)this._pop_glyphs(_,this.model.num_objects),l&&_.get_array(l).push([o,o]),h&&_.get_array(h).push([n,n]),this._pad_empty_columns(_,[l,h]);else if("edit"==t){if(l){const e=_.data[l][_.data[l].length-1];e[e.length-1]=o}if(h){const e=_.data[h][_.data[h].length-1];e[e.length-1]=n}}else if("add"==t){if(l){const e=_.data[l].length-1;let t=_.get_array(l)[e];const s=t[t.length-1];t[t.length-1]=o,r.isArray(t)||(t=Array.from(t),_.data[l][e]=t),t.push(s)}if(h){const e=_.data[h].length-1;let t=_.get_array(h)[e];const s=t[t.length-1];t[t.length-1]=n,r.isArray(t)||(t=Array.from(t),_.data[h][e]=t),t.push(s)}}this._emit_cds_changes(_,!0,!1,s)}_show_vertices(){if(!this.model.active)return;const e=[],t=[];for(let s=0;s<this.model.renderers.length;s++){const i=this.model.renderers[s],a=i.data_source,o=i.glyph,[r,n]=[o.xs.field,o.ys.field];if(r)for(const t of a.get_array(r))e.push(…t);if(n)for(const e of a.get_array(n))t.push(…e);this._drawing&&s==this.model.renderers.length-1&&(e.splice(e.length-1,1),t.splice(t.length-1,1))}this._set_vertices(e,t)}_doubletap(e){this.model.active&&(this._drawing?(this._drawing=!1,this._draw(e,"edit",!0)):(this._drawing=!0,this._draw(e,"new",!0)))}_move(e){this._drawing&&this._draw(e,"edit")}_remove(){const e=this.model.renderers[0],t=e.data_source,s=e.glyph,[i,a]=[s.xs.field,s.ys.field];if(i){const e=t.data[i].length-1,s=t.get_array(i)[e];s.splice(s.length-1,1)}if(a){const e=t.data[a].length-1,s=t.get_array(a)[e];s.splice(s.length-1,1)}this._emit_cds_changes(t)}_keyup(e){if(this.model.active&&this._mouse_in_frame)for(const t of this.model.renderers)e.keyCode===o.Keys.Backspace?this._delete_selected(t):e.keyCode==o.Keys.Esc&&(this._drawing&&(this._remove(),this._drawing=!1),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){if(null==this._basepoint||!this.model.drag)return;const[t,s]=this._basepoint;for(const i of this.model.renderers){const a=this._map_drag(t,s,i),o=this._map_drag(e.sx,e.sy,i);if(null==o||null==a)continue;const r=i.data_source,n=i.glyph,[_,d]=[n.xs.field,n.ys.field];if(!_&&!d)continue;const[l,h]=o,[c,g]=a,[f,p]=[l-c,h-g];for(const e of r.selected.indices){let t,s,i;_&&(s=r.data[_][e]),d?(i=r.data[d][e],t=i.length):t=s.length;for(let e=0;e<t;e++)s&&(s[e]+=f),i&&(i[e]+=p)}r.change.emit()}this._basepoint=[e.sx,e.sy]}_pan_end(e){if(this.model.drag){this._pan(e);for(const e of this.model.renderers)this._emit_cds_changes(e.data_source);this._basepoint=null}}activate(){if(this.model.vertex_renderer&&this.model.active){if(this._show_vertices(),!this._initialized)for(const e of this.model.renderers){const t=e.data_source;t.connect(t.properties.data.change,(()=>this._show_vertices()))}this._initialized=!0}}deactivate(){this._drawing&&(this._remove(),this._drawing=!1),this.model.vertex_renderer&&this._hide_vertices()}}s.PolyDrawToolView=d,d.__name__="PolyDrawToolView";class l extends n.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}static init_PolyDrawTool(){this.prototype.default_view=d,this.define((({Boolean:e,Int:t})=>({drag:[e,!0],num_objects:[t,0]})))}}s.PolyDrawTool=l,l.__name__="PolyDrawTool",l.init_PolyDrawTool()},n function _(e,t,r,o,s){o();const i=e(8),l=e(370);class _ extends l.EditToolView{_set_vertices(e,t){const r=this.model.vertex_renderer.glyph,o=this.model.vertex_renderer.data_source,[s,l]=[r.x.field,r.y.field];s&&(i.isArray(e)?o.data[s]=e:r.x={value:e}),l&&(i.isArray(t)?o.data[l]=t:r.y={value:t}),this._emit_cds_changes(o,!0,!0,!1)}_hide_vertices(){this._set_vertices([],[])}_snap_to_vertex(e,t,r){if(this.model.vertex_renderer){const o=this._select_event(e,"replace",[this.model.vertex_renderer]),s=this.model.vertex_renderer.data_source,i=this.model.vertex_renderer.glyph,[l,_]=[i.x.field,i.y.field];if(o.length){const e=s.selected.indices[0];l&&(t=s.data[l][e]),_&&(r=s.data[_][e]),s.selection_manager.clear()}}return[t,r]}}r.PolyToolView=_,_.__name__="PolyToolView";class d extends l.EditTool{constructor(e){super(e)}static init_PolyTool(){this.define((({AnyRef:e})=>({vertex_renderer:[e()]})))}}r.PolyTool=d,d.__name__="PolyTool",d.init_PolyTool()},n function _(e,t,s,r,i){r();const _=e(43),d=e(8),n=e(375),l=e(242);class a extends n.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 n,l;i&&null!=r?(n=s.data[i][r],d.isArray(n)||(s.data[i][r]=n=Array.from(n))):n=t.xs.value,_&&null!=r?(l=s.data[_][r],d.isArray(l)||(s.data[_][r]=l=Array.from(l))):l=t.ys.value,this._selected_renderer=e,this._set_vertices(n,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===_.Keys.Backspace?(this._delete_selected(s),this._selected_renderer&&this._emit_cds_changes(this._selected_renderer.data_source)):e.keyCode==_.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=a,a.__name__="PolyEditToolView";class c extends n.PolyTool{constructor(e){super(e),this.tool_name="Poly Edit Tool",this.icon=l.tool_icon_poly_edit,this.event_type=["tap","pan","move"],this.default_order=4}static init_PolyEditTool(){this.prototype.default_view=a}}s.PolyEditTool=c,c.__name__="PolyEditTool",c.init_PolyEditTool()},n function _(e,t,o,s,i){s();const l=e(378),n=e(136),_=e(20),c=e(242);class h extends l.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=h,h.__name__="BoxSelectToolView";const r=()=>new n.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 a extends l.SelectTool{constructor(e){super(e),this.tool_name="Box Select",this.icon=c.tool_icon_box_select,this.event_type="pan",this.default_order=30}static init_BoxSelectTool(){this.prototype.default_view=h,this.define((({Boolean:e,Ref:t})=>({dimensions:[_.Dimensions,"both"],select_every_mousemove:[e,!1],overlay:[t(n.BoxAnnotation),r],origin:[_.BoxOrigin,"corner"]}))),this.register_alias("box_select",(()=>new a)),this.register_alias("xbox_select",(()=>new a({dimensions:"width"}))),this.register_alias("ybox_select",(()=>new a({dimensions:"height"})))}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}o.BoxSelectTool=a,a.__name__="BoxSelectTool",a.init_BoxSelectTool()},n function _(e,t,s,n,o){n();const r=e(237),c=e(61),i=e(123),l=e(62),a=e(161),_=e(20),d=e(43),h=e(264),p=e(15),u=e(11);class m extends r.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 a.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 c.GlyphRenderer)n=s.data_source;else{if(!(s instanceof i.GraphRenderer))continue;n=s.node_renderer.data_source}const o=null!==(e=t.get(n))&&void 0!==e?e:[];t.set(n,[…o,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 u.unreachable():this.model.mode}_keyup(e){e.keyCode==d.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[,o]of n){const n=o[0].get_selection_manager(),r=[];for(const e of o){const t=this.plot_view.renderer_view(e);null!=t&&r.push(t)}n.select(r,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 o;switch(e.type){case"point":{const{sx:t,sy:r}=e,c=s.invert(t),i=n.invert(r);o=Object.assign(Object.assign({},e),{x:c,y:i});break}case"span":{const{sx:t,sy:r}=e,c=s.invert(t),i=n.invert(r);o=Object.assign(Object.assign({},e),{x:c,y:i});break}case"rect":{const{sx0:t,sx1:r,sy0:c,sy1:i}=e,[l,a]=s.r_invert(t,r),[_,d]=n.r_invert(c,i);o=Object.assign(Object.assign({},e),{x0:l,y0:_,x1:a,y1:d});break}case"poly":{const{sx:t,sy:r}=e,c=s.v_invert(t),i=n.v_invert(r);o=Object.assign(Object.assign({},e),{x:c,y:i});break}}this.plot_model.trigger_event(new h.SelectionGeometry(o,t))}}s.SelectToolView=m,m.__name__="SelectToolView";class v extends r.GestureTool{constructor(e){super(e)}initialize(){super.initialize(),this.clear=new p.Signal0(this,"clear")}static init_SelectTool(){this.define((({String:e,Array:t,Ref:s,Or:n,Auto:o})=>({renderers:[n(t(s(l.DataRenderer)),o),"auto"],names:[t(e),[]],mode:[_.SelectionMode,"replace"]})))}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=v,v.__name__="SelectTool",v.init_SelectTool()},n function _(t,o,e,s,i){s();const n=t(237),_=t(136),a=t(20),l=t(242);class r extends n.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<n&&(m=n)),l=Math.abs(p-m),t[1]<=o[1]?(b=t[1],d=t[1]+l/s,d>_&&(d=_)):(d=t[1],b=t[1]-l/s,b<a&&(b=a)),r=Math.abs(d-b),t[0]<=o[0]?p=t[0]+s*r:m=t[0]-s*r,[[m,p],[b,d]]}_compute_limits(t){const o=this.plot_view.frame,e=this.model.dimensions;let s,i,n=this._base_point;if("center"==this.model.origin){const[o,e]=n,[s,i]=t;n=[o-(s-o),e-(i-e)]}return this.model.match_aspect&&"both"==e?[s,i]=this._match_aspect(n,t,o):[s,i]=this.model._get_dim_limits(n,t,o,e),[s,i]}_pan_start(t){this._base_point=[t.sx,t.sy]}_pan(t){const o=[t.sx,t.sy],[e,s]=this._compute_limits(o);this.model.overlay.update({left:e[0],right:e[1],top:s[0],bottom:s[1]})}_pan_end(t){const o=[t.sx,t.sy],[e,s]=this._compute_limits(o);this._update(e,s),this.model.overlay.update({left:null,right:null,top:null,bottom:null}),this._base_point=null}_update([t,o],[e,s]){if(Math.abs(o-t)<=5||Math.abs(s-e)<=5)return;const{x_scales:i,y_scales:n}=this.plot_view.frame,_=new Map;for(const[e,s]of i){const[i,n]=s.r_invert(t,o);_.set(e,{start:i,end:n})}const a=new Map;for(const[t,o]of n){const[i,n]=o.r_invert(e,s);a.set(t,{start:i,end:n})}const l={xrs:_,yrs:a};this.plot_view.state.push("box_zoom",{range:l}),this.plot_view.update_range(l)}}e.BoxZoomToolView=r,r.__name__="BoxZoomToolView";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 c extends n.GestureTool{constructor(t){super(t),this.tool_name="Box Zoom",this.icon=l.tool_icon_box_zoom,this.event_type="pan",this.default_order=20}static init_BoxZoomTool(){this.prototype.default_view=r,this.define((({Boolean:t,Ref:o})=>({dimensions:[a.Dimensions,"both"],overlay:[o(_.BoxAnnotation),h],match_aspect:[t,!1],origin:[a.BoxOrigin,"corner"]}))),this.register_alias("box_zoom",(()=>new c({dimensions:"both"}))),this.register_alias("xbox_zoom",(()=>new c({dimensions:"width"}))),this.register_alias("ybox_zoom",(()=>new c({dimensions:"height"})))}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}e.BoxZoomTool=c,c.__name__="BoxZoomTool",c.init_BoxZoomTool()},n function _(s,e,t,o,i){o();const l=s(378),_=s(231),a=s(381),c=s(43),n=s(242);class h extends l.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==c.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 i={type:"poly",sx:s,sy:e};this._select(i,t,o)}}t.LassoSelectToolView=h,h.__name__="LassoSelectToolView";class r extends l.SelectTool{constructor(s){super(s),this.tool_name="Lasso Select",this.icon=n.tool_icon_lasso_select,this.event_type="pan",this.default_order=12}static init_LassoSelectTool(){this.prototype.default_view=h,this.define((({Boolean:s,Ref:e})=>({select_every_mousemove:[s,!0],overlay:[e(_.PolyAnnotation),a.DEFAULT_POLY_OVERLAY]}))),this.register_alias("lasso_select",(()=>new r))}}t.LassoSelectTool=r,r.__name__="LassoSelectTool",r.init_LassoSelectTool()},n function _(e,t,s,l,o){l();const i=e(378),a=e(231),_=e(43),c=e(9),n=e(242);class h extends i.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==_.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:c.copy(this.data.sx),ys:c.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=h,h.__name__="PolySelectToolView";s.DEFAULT_POLY_OVERLAY=()=>new a.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 y extends i.SelectTool{constructor(e){super(e),this.tool_name="Poly Select",this.icon=n.tool_icon_polygon_select,this.event_type="tap",this.default_order=11}static init_PolySelectTool(){this.prototype.default_view=h,this.define((({Ref:e})=>({overlay:[e(a.PolyAnnotation),s.DEFAULT_POLY_OVERLAY]}))),this.register_alias("poly_select",(()=>new y))}}s.PolySelectTool=y,y.__name__="PolySelectTool",y.init_PolySelectTool()},n function _(e,t,i,s,n){s();const r=e(20),_=e(383),d=e(242);class o extends _.LineToolView{constructor(){super(…arguments),this._drawing=!1}_doubletap(e){if(!this.model.active)return;const t=this.model.renderers;for(const i of t){1==this._select_event(e,"replace",[i]).length&&(this._selected_renderer=i)}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,[i,s]=[t.x.field,t.y.field],n=e.get_array(i),r=e.get_array(s);this._set_intersection(n,r)}_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 i=this._select_mode(e);if(0==this._select_event(e,i,[t]).length)return}const i=this._select_mode(e);this._select_event(e,i,[t]),this._select_event(e,i,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,[i,s]=[e.x.field,e.y.field];if(i&&s){const e=t.data[i],n=t.data[s];this._selected_renderer.data_source.data[i]=e,this._selected_renderer.data_source.data[s]=n}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())}}i.LineEditToolView=o,o.__name__="LineEditToolView";class l extends _.LineTool{constructor(e){super(e),this.tool_name="Line Edit Tool",this.icon=d.tool_icon_line_edit,this.event_type=["tap","pan","move"],this.default_order=4}static init_LineEditTool(){this.prototype.default_view=o,this.define((()=>({dimensions:[r.Dimensions,"both"]})))}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}i.LineEditTool=l,l.__name__="LineEditTool",l.init_LineEditTool()},n function _(e,i,t,n,o){n();const s=e(8),_=e(370);class r extends _.EditToolView{_set_intersection(e,i){const t=this.model.intersection_renderer.glyph,n=this.model.intersection_renderer.data_source,[o,_]=[t.x.field,t.y.field];o&&(s.isArray(e)?n.data[o]=e:t.x={value:e}),_&&(s.isArray(i)?n.data[_]=i:t.y={value:i}),this._emit_cds_changes(n,!0,!0,!1)}_hide_intersections(){this._set_intersection([],[])}}t.LineToolView=r,r.__name__="LineToolView";class c extends _.EditTool{constructor(e){super(e)}static init_LineTool(){this.define((({AnyRef:e})=>({intersection_renderer:[e()]})))}}t.LineTool=c,c.__name__="LineTool",c.init_LineTool()},n function _(t,s,i,n,e){n();const o=t(1),a=t(237),_=t(20),h=o.__importStar(t(242));function l(t,s,i){const n=new Map;for(const[e,o]of t){const[t,a]=o.r_invert(s,i);n.set(e,{start:t,end:a})}return n}i.update_ranges=l;class r extends a.GestureToolView{_pan_start(t){var s;this.last_dx=0,this.last_dy=0;const{sx:i,sy:n}=t,e=this.plot_view.frame.bbox;if(!e.contains(i,n)){const t=e.h_range,s=e.v_range;(i<t.start||i>t.end)&&(this.v_axis_only=!0),(n<s.start||n>s.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})}_update(t,s){const i=this.plot_view.frame,n=t-this.last_dx,e=s-this.last_dy,o=i.bbox.h_range,a=o.start-n,_=o.end-n,h=i.bbox.v_range,r=h.start-e,d=h.end-e,p=this.model.dimensions;let c,m,u,x,v,y;"width"!=p&&"both"!=p||this.v_axis_only?(c=o.start,m=o.end,u=0):(c=a,m=_,u=-n),"height"!=p&&"both"!=p||this.h_axis_only?(x=h.start,v=h.end,y=0):(x=r,v=d,y=-e),this.last_dx=t,this.last_dy=s;const{x_scales:g,y_scales:w}=i,f=l(g,c,m),b=l(w,x,v);this.pan_info={xrs:f,yrs:b,sdx:u,sdy:y},this.plot_view.update_range(this.pan_info,{panning:!0})}}i.PanToolView=r,r.__name__="PanToolView";class d extends a.GestureTool{constructor(t){super(t),this.tool_name="Pan",this.event_type="pan",this.default_order=10}static init_PanTool(){this.prototype.default_view=r,this.define((()=>({dimensions:[_.Dimensions,"both",{on_update(t,s){switch(t){case"both":s.icon=h.tool_icon_pan;break;case"width":s.icon=h.tool_icon_xpan;break;case"height":s.icon=h.tool_icon_ypan}}}]}))),this.register_alias("pan",(()=>new d({dimensions:"both"}))),this.register_alias("xpan",(()=>new d({dimensions:"width"}))),this.register_alias("ypan",(()=>new d({dimensions:"height"})))}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}i.PanTool=d,d.__name__="PanTool",d.init_PanTool()},n function _(t,e,i,s,n){s();const l=t(136),a=t(156),r=t(19),o=t(237),_=t(242);function h(t){switch(t){case 1:return 2;case 2:return 1;case 4:return 5;case 5:return 4;default:return t}}function d(t,e,i,s){if(null==e)return!1;const n=i.compute(e);return Math.abs(t-n)<s}function u(t,e,i,s,n){let l=!0;if(null!=n.left&&null!=n.right){const e=i.invert(t);(e<n.left||e>n.right)&&(l=!1)}if(null!=n.bottom&&null!=n.top){const t=s.invert(e);(t<n.bottom||t>n.top)&&(l=!1)}return l}function c(t,e,i){let s=0;return t>=i.start&&t<=i.end&&(s+=1),e>=i.start&&e<=i.end&&(s+=1),s}function g(t,e,i,s){const n=e.compute(t),l=e.invert(n+i);return l>=s.start&&l<=s.end?l:t}function y(t,e,i){return t>e.start?(e.end=t,i):(e.end=e.start,e.start=t,h(i))}function f(t,e,i){return t<e.end?(e.start=t,i):(e.start=e.end,e.end=t,h(i))}function m(t,e,i,s){const[n,l]=e.r_compute(t.start,t.end),[a,r]=e.r_invert(n+i,l+i),o=c(t.start,t.end,s);c(a,r,s)>=o&&(t.start=a,t.end=r)}i.flip_side=h,i.is_near=d,i.is_inside=u,i.sides_inside=c,i.compute_value=g,i.update_range_end_side=y,i.update_range_start_side=f,i.update_range=m;class v extends o.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(t){this.last_dx=0,this.last_dy=0;const e=this.model.x_range,i=this.model.y_range,{frame:s}=this.plot_view,n=s.x_scale,a=s.y_scale,r=this.model.overlay,{left:o,right:_,top:h,bottom:c}=r,g=this.model.overlay.line_width+l.EDGE_TOLERANCE;null!=e&&this.model.x_interaction&&(d(t.sx,o,n,g)?this.side=1:d(t.sx,_,n,g)?this.side=2:u(t.sx,t.sy,n,a,r)&&(this.side=3)),null!=i&&this.model.y_interaction&&(0==this.side&&d(t.sy,c,a,g)&&(this.side=4),0==this.side&&d(t.sy,h,a,g)?this.side=5:u(t.sx,t.sy,n,a,this.model.overlay)&&(3==this.side?this.side=7:this.side=6))}_pan(t){const e=this.plot_view.frame,i=t.deltaX-this.last_dx,s=t.deltaY-this.last_dy,n=this.model.x_range,l=this.model.y_range,a=e.x_scale,r=e.y_scale;if(null!=n)if(3==this.side||7==this.side)m(n,a,i,e.x_range);else if(1==this.side){const t=g(n.start,a,i,e.x_range);this.side=f(t,n,this.side)}else if(2==this.side){const t=g(n.end,a,i,e.x_range);this.side=y(t,n,this.side)}if(null!=l)if(6==this.side||7==this.side)m(l,r,s,e.y_range);else if(4==this.side){const t=g(l.start,r,s,e.y_range);this.side=f(t,l,this.side)}else if(5==this.side){const t=g(l.end,r,s,e.y_range);this.side=y(t,l,this.side)}this.last_dx=t.deltaX,this.last_dy=t.deltaY}_pan_end(t){this.side=0}}i.RangeToolView=v,v.__name__="RangeToolView";const p=()=>new l.BoxAnnotation({level:"overlay",fill_color:"lightgrey",fill_alpha:.5,line_color:"black",line_alpha:1,line_width:.5,line_dash:[2,2]});class x extends o.GestureTool{constructor(t){super(t),this.tool_name="Range Tool",this.icon=_.tool_icon_range,this.event_type="pan",this.default_order=1}static init_RangeTool(){this.prototype.default_view=v,this.define((({Boolean:t,Ref:e,Nullable:i})=>({x_range:[i(e(a.Range1d)),null],x_interaction:[t,!0],y_range:[i(e(a.Range1d)),null],y_interaction:[t,!0],overlay:[e(l.BoxAnnotation),p]})))}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,r.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=x,x.__name__="RangeTool",x.init_RangeTool()},n function _(e,t,s,o,i){o();const l=e(378),a=e(20),n=e(242);class c extends l.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=c,c.__name__="TapToolView";class _ extends l.SelectTool{constructor(e){super(e),this.tool_name="Tap",this.icon=n.tool_icon_tap_select,this.event_type="tap",this.default_order=10}static init_TapTool(){this.prototype.default_view=c,this.define((({Any:e,Enum:t,Nullable:s})=>({behavior:[a.TapBehavior,"select"],gesture:[t("tap","doubletap"),"tap"],callback:[s(e)]}))),this.register_alias("click",(()=>new _({behavior:"inspect"}))),this.register_alias("tap",(()=>new _)),this.register_alias("doubletap",(()=>new _({gesture:"doubletap"})))}}s.TapTool=_,_.__name__="TapTool",_.init_TapTool()},n function _(e,t,s,i,n){i();const o=e(237),a=e(20),l=e(242),_=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,i=s.bbox.h_range,n=s.bbox.v_range,[o,a]=[i.start,i.end],[l,h]=[n.start,n.end];let r,d,c,p;switch(this.model.dimension){case"height":{const t=Math.abs(h-l);r=o,d=a,c=l-t*e,p=h-t*e;break}case"width":{const t=Math.abs(a-o);r=o-t*e,d=a-t*e,c=l,p=h;break}}const{x_scales:m,y_scales:u}=s,w={xrs:_.update_ranges(m,r,d),yrs:_.update_ranges(u,c,p),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)}}s.WheelPanToolView=h,h.__name__="WheelPanToolView";class r extends o.GestureTool{constructor(e){super(e),this.tool_name="Wheel Pan",this.icon=l.tool_icon_wheel_pan,this.event_type="scroll",this.default_order=12}static init_WheelPanTool(){this.prototype.default_view=h,this.define((()=>({dimension:[a.Dimension,"width"]}))),this.internal((({Number:e})=>({speed:[e,.001]}))),this.register_alias("xwheel_pan",(()=>new r({dimension:"width"}))),this.register_alias("ywheel_pan",(()=>new r({dimension:"height"})))}get tooltip(){return this._get_dim_tooltip(this.dimension)}}s.WheelPanTool=r,r.__name__="WheelPanTool",r.init_WheelPanTool()},n function _(e,o,t,s,i){s();const l=e(237),n=e(368),h=e(20),_=e(27),a=e(242);class m extends l.GestureToolView{_pinch(e){const{sx:o,sy:t,scale:s,ctrlKey:i,shiftKey:l}=e;let n;n=s>=1?20*(s-1):-20/s,this._scroll({type:"wheel",sx:o,sy:t,delta:n,ctrlKey:i,shiftKey:l})}_scroll(e){var o;const{frame:t}=this.plot_view,s=t.bbox.h_range,i=t.bbox.v_range,{sx:l,sy:h}=e,_=this.model.dimensions,a=("width"==_||"both"==_)&&s.start<l&&l<s.end,m=("height"==_||"both"==_)&&i.start<h&&h<i.end;if(!(a&&m||this.model.zoom_on_axis))return;const r=this.model.speed*e.delta,d=n.scale_range(t,r,a,m,{x:l,y:h});this.plot_view.state.push("wheel_zoom",{range:d});const{maintain_focus:c}=this.model;this.plot_view.update_range(d,{scrolling:!0,maintain_focus:c}),null===(o=this.model.document)||void 0===o||o.interactive_start(this.plot_model)}}t.WheelZoomToolView=m,m.__name__="WheelZoomToolView";class r extends l.GestureTool{constructor(e){super(e),this.tool_name="Wheel Zoom",this.icon=a.tool_icon_wheel_zoom,this.event_type=_.is_mobile?"pinch":"scroll",this.default_order=10}static init_WheelZoomTool(){this.prototype.default_view=m,this.define((({Boolean:e,Number:o})=>({dimensions:[h.Dimensions,"both"],maintain_focus:[e,!0],zoom_on_axis:[e,!0],speed:[o,1/600]}))),this.register_alias("wheel_zoom",(()=>new r({dimensions:"both"}))),this.register_alias("xwheel_zoom",(()=>new r({dimensions:"width"}))),this.register_alias("ywheel_zoom",(()=>new r({dimensions:"height"})))}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}t.WheelZoomTool=r,r.__name__="WheelZoomTool",r.init_WheelZoomTool()},n function _(i,s,t,o,e){o();const n=i(247),l=i(233),h=i(20),a=i(13),r=i(242);class _ extends n.InspectToolView{_move(i){if(!this.model.active)return;const{sx:s,sy:t}=i;this.plot_view.frame.bbox.contains(s,t)?this._update_spans(s,t):this._update_spans(null,null)}_move_exit(i){this._update_spans(null,null)}_update_spans(i,s){const t=this.model.dimensions;"width"!=t&&"both"!=t||(this.model.spans.width.location=s),"height"!=t&&"both"!=t||(this.model.spans.height.location=i)}}t.CrosshairToolView=_,_.__name__="CrosshairToolView";class c extends n.InspectTool{constructor(i){super(i),this.tool_name="Crosshair",this.icon=r.tool_icon_crosshair}static init_CrosshairTool(){function i(i,s){return new l.Span({for_hover:!0,dimension:s,location_units:"screen",level:"overlay",line_color:i.line_color,line_width:i.line_width,line_alpha:i.line_alpha})}this.prototype.default_view=_,this.define((({Alpha:i,Number:s,Color:t})=>({dimensions:[h.Dimensions,"both"],line_color:[t,"black"],line_width:[s,1],line_alpha:[i,1]}))),this.internal((({Struct:s,Ref:t})=>({spans:[s({width:t(l.Span),height:t(l.Span)}),s=>({width:i(s,"width"),height:i(s,"height")})]}))),this.register_alias("crosshair",(()=>new c))}get tooltip(){return this._get_dim_tooltip(this.dimensions)}get synthetic_renderers(){return a.values(this.spans)}}t.CrosshairTool=c,c.__name__="CrosshairTool",c.init_CrosshairTool()},n function _(t,e,s,o,r){o();const n=t(53),i=t(13),a=t(34);class u extends n.Model{constructor(t){super(t)}static init_CustomJSHover(){this.define((({Unknown:t,String:e,Dict:s})=>({args:[s(t),{}],code:[e,""]})))}get values(){return i.values(this.args)}_make_code(t,e,s,o){return new Function(…i.keys(this.args),t,e,s,a.use_strict(o))}format(t,e,s){return this._make_code("value","format","special_vars",this.code)(…this.values,t,e,s)}}s.CustomJSHover=u,u.__name__="CustomJSHover",u.init_CustomJSHover()},n function _(e,t,n,s,o){s();const i=e(1),r=e(247),l=e(390),a=e(254),c=e(61),_=e(123),d=e(62),p=e(63),h=e(127),u=i.__importStar(e(107)),m=e(182),y=e(43),f=e(22),x=e(13),v=e(245),w=e(8),g=e(122),b=e(20),k=e(242),C=e(15),S=e(161),T=i.__importStar(e(255));function $(e,t,n,s,o,i){const r={x:o[e],y:i[e]},l={x:o[e+1],y:i[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=u.dist_2_pts(r,e),c=u.dist_2_pts(l,e)}return a<c?[[r.x,r.y],e]:[[l.x,l.y],e+1]}function R(e,t,n){return[[e[n],t[n]],n]}n._nearest_line_hit=$,n._line_hit=R;class H extends r.InspectToolView{initialize(){super.initialize(),this._ttmodels=new Map,this._ttviews=new Map}async lazy_initialize(){await super.lazy_initialize(),await this._update_ttmodels()}remove(){g.remove_views(this._ttviews),super.remove()}connect_signals(){super.connect_signals();const e=this.plot_model.properties.renderers,{renderers:t,tooltips:n}=this.model.properties;this.on_change(n,(()=>delete 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 a.Tooltip({custom:w.isString(n)||w.isFunction(n),attachment:this.model.attachment,show_arrow:this.model.show_arrow});t instanceof c.GlyphRenderer?e.set(t,s):t instanceof _.GraphRenderer&&(e.set(t.node_renderer,s),e.set(t.edge_renderer,s))}const s=await g.build_views(this._ttviews,[…e.values()],{parent:this.plot_view});for(const e of s)e.render();const o=[…function*(){for(const e of t)e instanceof c.GlyphRenderer?yield e:e instanceof _.GraphRenderer&&(yield e.node_renderer,yield e.edge_renderer)}()],i=this._slots.get(this._update);if(null!=i){const e=new Set(o.map((e=>e.data_source)));C.Signal.disconnect_receiver(this,i,e)}for(const e of o)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 S.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 c.GlyphRenderer))return;if("ignore"==this.model.muted_policy&&e.muted)return;const o=this.ttmodels.get(e);if(null==o)return;const i=e.get_selection_manager();let r=i.inspectors.get(e);if(r=e.view.convert_selection_to_subset(r),r.is_empty())return void o.clear();const l=i.source,a=this.plot_view.renderer_view(e);if(null==a)return;const{sx:_,sy:d}=t,u=a.coordinates.x_scale,m=a.coordinates.y_scale,f=u.invert(_),v=m.invert(d),{glyph:w}=a,g=[];if(w instanceof p.LineView)for(const n of r.line_indices){let s,o,i=w._x[n+1],a=w._y[n+1],c=n;switch(this.model.line_policy){case"interp":[i,a]=w.get_interpolation_hit(n,t),s=u.compute(i),o=m.compute(a);break;case"prev":[[s,o],c]=R(w.sx,w.sy,n);break;case"next":[[s,o],c]=R(w.sx,w.sy,n+1);break;case"nearest":[[s,o],c]=$(n,t,_,d,w.sx,w.sy),i=w._x[c],a=w._y[c];break;default:[s,o]=[_,d]}const p={index:c,x:f,y:v,sx:_,sy:d,data_x:i,data_y:a,rx:s,ry:o,indices:r.line_indices,name:e.name};g.push([s,o,this._render_tooltips(l,c,p)])}for(const t of r.image_indices){const n={index:t.index,x:f,y:v,sx:_,sy:d,name:e.name},s=this._render_tooltips(l,t,n);g.push([_,d,s])}for(const o of r.indices)if(w instanceof h.MultiLineView&&!x.isEmpty(r.multiline_indices))for(const n of r.multiline_indices[o.toString()]){let s,i,a,p=w._xs.get(o)[n],h=w._ys.get(o)[n],y=n;switch(this.model.line_policy){case"interp":[p,h]=w.get_interpolation_hit(o,n,t),s=u.compute(p),i=m.compute(h);break;case"prev":[[s,i],y]=R(w.sxs.get(o),w.sys.get(o),n);break;case"next":[[s,i],y]=R(w.sxs.get(o),w.sys.get(o),n+1);break;case"nearest":[[s,i],y]=$(n,t,_,d,w.sxs.get(o),w.sys.get(o)),p=w._xs.get(o)[y],h=w._ys.get(o)[y];break;default:throw new Error("shouldn’t have happened")}a=e instanceof c.GlyphRenderer?e.view.convert_indices_from_subset([o])[0]:o;const x={index:a,x:f,y:v,sx:_,sy:d,data_x:p,data_y:h,segment_index:y,indices:r.multiline_indices,name:e.name};g.push([s,i,this._render_tooltips(l,a,x)])}else{const t=null===(n=w._x)||void 0===n?void 0:n[o],i=null===(s=w._y)||void 0===s?void 0:s[o];let a,p,h;if("snap_to_data"==this.model.point_policy){let e=w.get_anchor_point(this.model.anchor,o,[_,d]);if(null==e&&(e=w.get_anchor_point("center",o,[_,d]),null==e))continue;a=e.x,p=e.y}else[a,p]=[_,d];h=e instanceof c.GlyphRenderer?e.view.convert_indices_from_subset([o])[0]:o;const u={index:h,x:f,y:v,sx:_,sy:d,data_x:t,data_y:i,indices:r.indices,name:e.name};g.push([a,p,this._render_tooltips(l,h,u)])}if(0==g.length)o.clear();else{const{content:e}=o;y.empty(o.content);for(const[,,t]of g)null!=t&&e.appendChild(t);const[t,n]=g[g.length-1];o.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 c.GlyphRenderer))continue;const s=this.plot_view.renderer_view(n);if(null==s)continue;const{x_scale:o,y_scale:i}=s.coordinates,r=o.invert(e.sx),l=i.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=y.div({style:{display:"table",borderSpacing:"2px"}});for(const[n]of e){const e=y.div({style:{display:"table-row"}});t.appendChild(e);const s=y.div({style:{display:"table-cell"},class:T.tooltip_row_label},0!=n.length?`${n}: :"");e.appendChild(s);const o=y.span();o.dataset.value="";const i=y.span({class:T.tooltip_color_block}," ");i.dataset.swatch="",y.undisplay(i);const r=y.div({style:{display:"table-cell"},class:T.tooltip_row_value},o,i);e.appendChild(r)}return t}_render_template(e,t,n,s,o){const i=e.cloneNode(!0),r=i.querySelectorAll("[data-value]"),l=i.querySelectorAll("[data-swatch]"),a=/\$color(\[.*\])?:(\w*)/,c=/\$swatch:(\w*)/;for(const[[,e],i]of v.enumerate(t)){const t=e.match(c),_=e.match(a);if(null!=t||null!=_){if(null!=t){const[,e]=t,o=n.get_column(e);if(null==o)r[i].textContent=`${e} unknown;else{const e=w.isNumber(s)?o[s]:null;null!=e&&(l[i].style.backgroundColor=f.color2css(e),y.display(l[i]))}}if(null!=_){const[,e="",t]=_,o=n.get_column(t);if(null==o){r[i].textContent=`${t} unknown`;continue}const a=e.indexOf("hex")>=0,c=e.indexOf("swatch")>=0,d=w.isNumber(s)?o[s]:null;if(null==d){r[i].textContent="(null)";continue}r[i].textContent=a?f.color2hex(d):f.color2css(d),c&&(l[i].style.backgroundColor=f.color2css(d),y.display(l[i]))}}else{const t=m.replace_placeholders(e.replace("$~","$data_"),n,s,this.model.formatters,o);if(w.isString(t))r[i].textContent=t;else for(const e of t)r[i].appendChild(e)}}return i}_render_tooltips(e,t,n){var s;const{tooltips:o}=this.model;if(w.isString(o)){const s=m.replace_placeholders({html:o},e,t,this.model.formatters,n);return y.div({},s)}if(w.isFunction(o))return o(e,n);if(null!=o){const i=null!==(s=this._template_el)&&void 0!==s?s:this._template_el=this._create_template(o);return this._render_template(i,o,e,t,n)}return null}}n.HoverToolView=H,H.__name__="HoverToolView";class M extends r.InspectTool{constructor(e){super(e),this.tool_name="Hover",this.icon=k.tool_icon_hover}static init_HoverTool(){this.prototype.default_view=H,this.define((({Any:e,Boolean:t,String:n,Array:s,Tuple:o,Dict:i,Or:r,Ref:a,Function:c,Auto:_,Nullable:p})=>({tooltips:[p(r(n,s(o(n,n)),c())),[["index","$index"],["data (x, y)","($x, $y)"],["screen (x, y)","($sx, $sy)"]]],formatters:[i(r(a(l.CustomJSHover),m.FormatterType)),{}],renderers:[r(s(a(d.DataRenderer)),_),"auto"],names:[s(n),[]],mode:[b.HoverMode,"mouse"],muted_policy:[b.MutedPolicy,"show"],point_policy:[b.PointPolicy,"snap_to_data"],line_policy:[b.LinePolicy,"nearest"],show_arrow:[t,!0],anchor:[b.Anchor,"center"],attachment:[b.TooltipAttachment,"horizontal"],callback:[p(e)]}))),this.register_alias("hover",(()=>new M))}}n.HoverTool=M,M.__name__="HoverTool",M.init_HoverTool()},n function _(t,o,e,n,i){n();const s=t(15),l=t(53),c=t(238),r=t(247),a=t(245);class u extends l.Model{constructor(t){super(t)}static init_ToolProxy(){this.define((({Boolean:t,Array:o,Ref:e})=>({tools:[o(e(c.ButtonTool)),[]],active:[t,!1],disabled:[t,!1]})))}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 r.InspectTool&&t.toggleable}initialize(){super.initialize(),this.do=new s.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 a.enumerate(t))if(null==e)o.push(null);else{const t=()=>{var t,o;for(const e of this.tools)null===(o=null===(t=e.menu)||void 0===t?void 0:t[n])||void 0===o||o.handler()};o.push(Object.assign(Object.assign({},e),{handler:t}))}return o}}e.ToolProxy=u,u.__name__="ToolProxy",u.init_ToolProxy()},n function _(o,t,s,i,e){i();const n=o(20),r=o(9),l=o(13),c=o(248),h=o(235),a=o(392),_=o(319),p=o(221);class f extends c.ToolbarBase{constructor(o){super(o)}static init_ProxyToolbar(){this.define((({Array:o,Ref:t})=>({toolbars:[o(t(h.Toolbar)),[]]})))}initialize(){super.initialize(),this._merge_tools()}_merge_tools(){this._proxied_tools=[];const o={},t={},s={},i=[],e=[];for(const o of this.help)r.includes(e,o.redirect)||(i.push(o),e.push(o.redirect));this._proxied_tools.push(…i),this.help=i;for(const[o,t]of l.entries(this.gestures)){o in s||(s[o]={});for(const i of t.tools)i.type in s[o]||(s[o][i.type]=[]),s[o][i.type].push(i)}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 a.ToolProxy({tools:o,active:t});return this._proxied_tools.push(s),s};for(const o of l.keys(s)){const t=this.gestures[o];t.tools=[];for(const i of l.keys(s[o])){const e=s[o][i];if(e.length>0)if("multi"==o)for(const o of e){const s=n([o]);t.tools.push(s),this.connect(s.properties.active.change,(()=>this._active_change(s)))}else{const o=n(e);t.tools.push(o),this.connect(o.properties.active.change,(()=>this._active_change(o)))}}}this.actions=[];for(const[o,s]of l.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 l.values(o))t.length>0&&this.inspectors.push(n(t,!0));for(const[o,t]of l.entries(this.gestures))0!=t.tools.length&&(t.tools=r.sort_by(t.tools,(o=>o.default_order)),"pinch"!=o&&"scroll"!=o&&"multi"!=o&&(t.tools[0].active=!0))}}s.ProxyToolbar=f,f.__name__="ProxyToolbar",f.init_ProxyToolbar();class u extends _.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 p.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})}}s.ToolbarBoxView=u,u.__name__="ToolbarBoxView";class y extends _.LayoutDOM{constructor(o){super(o)}static init_ToolbarBox(){this.prototype.default_view=u,this.define((({Ref:o})=>({toolbar:[o(c.ToolbarBase)],toolbar_location:[n.Location,"right"]})))}}s.ToolbarBox=y,y.__name__="ToolbarBox",y.init_ToolbarBox()},n function _(e,n,r,t,o){t();const s=e(1),u=e(7),c=e(53),l=s.__importStar(e(21)),a=e(8),i=e(13);r.resolve_defs=function(e){var n,r,t,o;function s(e){return null!=e.module?`${e.module}.${e.name}`:e.name}function d(e){if(a.isString(e))switch(e){case"Any":return l.Any;case"Unknown":return l.Unknown;case"Boolean":return l.Boolean;case"Number":return l.Number;case"Int":return l.Int;case"String":return l.String;case"Null":return l.Null}else switch(e[0]){case"Nullable":{const[,n]=e;return l.Nullable(d(n))}case"Or":{const[,…n]=e;return l.Or(…n.map(d))}case"Tuple":{const[,n,…r]=e;return l.Tuple(d(n),…r.map(d))}case"Array":{const[,n]=e;return l.Array(d(n))}case"Struct":{const[,…n]=e,r=n.map((([e,n])=>[e,d(n)]));return l.Struct(i.to_object(r))}case"Dict":{const[,n]=e;return l.Dict(d(n))}case"Map":{const[,n,r]=e;return l.Map(d(n),d(r))}case"Enum":{const[,…n]=e;return l.Enum(…n)}case"Ref":{const[,n]=e,r=u.Models.get(s(n));if(null!=r)return l.Ref(r);throw new Error(${s(n)} wasn’t defined before referencing it)}case"AnyRef":return l.AnyRef()}}for(const l of e){const e=(()=>{if(null==l.extends)return c.Model;{const e=u.Models.get(s(l.extends));if(null!=e)return e;throw new Error(base model ${s(l.extends)} of ${s(l)} is not defined)}})(),a=((o=class extends e{}).__name__=l.name,o.__module__=l.module,o);for(const e of null!==(n=l.properties)&&void 0!==n?n:[]){const n=d(null!==(r=e.kind)&&void 0!==r?r:"Unknown");a.define({[e.name]:[n,e.default]})}for(const e of null!==(t=l.overrides)&&void 0!==t?t:[])a.override({[e.name]:e.default});u.Models.register_models([a])}}},n function _(n,e,t,o,i){o();const d=n(5),c=n(240),s=n(122),a=n(43),l=n(396);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=a.div({class:l.BOKEH_ROOT}),e.appendChild(d));const w=await 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 <body>);if("SCRIPT"==e.tagName){const o=l.div({class:n.BOKEH_ROOT});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(398),r=n(19),a=n(395);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=c.parse_token(o).session_id;n in i||(i[n]={});const e=i[n];return s in e||(e[s]=c.pull_session(n,o,t)),e[s]}(n,o,l)}catch(n){const t=c.parse_token(o).session_id;throw r.logger.error(Failed to load Bokeh session ${t}: ${n}),n}return 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(399),l=e(400),_=e(401);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: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(399),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(!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(399),_=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(400),a=e(19),c=e(43),g=e(13),f=e(395),u=e(396),m=s.__importDefault(e(44)),p=s.__importDefault(e(253)),d=s.__importDefault(e(403));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=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!=g.size(e))throw new Error("embed_items_notebook expects exactly one document in docs_json");const t=l.Document.from_json(g.values(e)[0]);for(const e of o){null!=e.notebook_comms_target&&b(e.notebook_comms_target,t);const o=u._resolve_element(e),n=u._resolve_root_elements(e);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);a.__exportStar(t(399),o),a.__exportStar(t(400),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/annotations/arrow":55,"models/annotations/data_annotation":56,"models/sources/columnar_data_source":57,"models/sources/data_source":58,"models/selections/selection":59,"core/selection_manager":60,"models/renderers/glyph_renderer":61,"models/renderers/data_renderer":62,"models/glyphs/line":63,"models/glyphs/xy_glyph":64,"core/util/projections":65,"models/glyphs/glyph":98,"core/util/bbox":99,"core/util/ragged_array":100,"core/util/spatial":101,"models/ranges/factor_range":104,"models/ranges/range":105,"models/glyphs/utils":106,"core/hittest":107,"models/glyphs/webgl/line":108,"models/glyphs/webgl/utils/index":109,"models/glyphs/webgl/utils/program":110,"models/glyphs/webgl/utils/buffer":111,"models/glyphs/webgl/utils/texture":112,"models/glyphs/webgl/base":113,"models/glyphs/webgl/line.vert":114,"models/glyphs/webgl/line.frag":115,"models/glyphs/patch":116,"models/glyphs/harea":117,"models/glyphs/area":118,"models/glyphs/varea":119,"models/sources/cds_view":120,"models/filters/filter":121,"core/build_views":122,"models/renderers/graph_renderer":123,"models/expressions/expression":124,"models/graphs/layout_provider":125,"models/graphs/graph_hit_test_policy":126,"models/glyphs/multi_line":127,"models/glyphs/patches":128,"models/selections/interaction_policy":129,"models/sources/column_data_source":130,"core/util/typed_array":131,"core/util/set":132,"models/annotations/arrow_head":133,"models/annotations/band":134,"models/annotations/upper_lower":135,"models/annotations/box_annotation":136,"models/annotations/color_bar":137,"models/annotations/title":138,"models/annotations/text_annotation":139,"core/layout/side_panel":140,"core/layout/types":141,"core/layout/layoutable":142,"core/util/text":143,"models/canvas/cartesian_frame":144,"models/scales/categorical_scale":145,"models/scales/scale":146,"models/transforms/index":147,"models/transforms/customjs_transform":148,"models/transforms/transform":149,"models/transforms/dodge":150,"models/transforms/range_transform":151,"models/transforms/interpolator":152,"models/transforms/jitter":153,"models/transforms/linear_interpolator":154,"models/transforms/step_interpolator":155,"models/ranges/range1d":156,"models/scales/log_scale":157,"models/scales/continuous_scale":158,"models/ranges/data_range1d":159,"models/ranges/data_range":160,"models/util":161,"models/axes/index":162,"models/axes/axis":163,"models/renderers/guide_renderer":164,"models/tickers/ticker":165,"models/formatters/tick_formatter":166,"core/graphics":167,"core/util/affine":168,"models/policies/labeling":169,"models/axes/categorical_axis":170,"models/tickers/categorical_ticker":171,"models/formatters/categorical_tick_formatter":172,"models/axes/continuous_axis":173,"models/axes/datetime_axis":174,"models/axes/linear_axis":175,"models/formatters/basic_tick_formatter":176,"models/tickers/basic_ticker":177,"models/tickers/adaptive_ticker":178,"models/tickers/continuous_ticker":179,"models/formatters/datetime_tick_formatter":180,"core/util/templating":182,"models/tickers/datetime_ticker":185,"models/tickers/composite_ticker":186,"models/tickers/days_ticker":187,"models/tickers/single_interval_ticker":188,"models/tickers/util":189,"models/tickers/months_ticker":190,"models/tickers/years_ticker":191,"models/axes/log_axis":192,"models/formatters/log_tick_formatter":193,"models/tickers/log_ticker":194,"models/axes/mercator_axis":195,"models/formatters/mercator_tick_formatter":196,"models/tickers/mercator_ticker":197,"models/tickers/index":198,"models/tickers/fixed_ticker":199,"models/tickers/binned_ticker":200,"models/mappers/scanning_color_mapper":201,"models/mappers/continuous_color_mapper":202,"models/mappers/color_mapper":203,"models/mappers/mapper":204,"models/formatters/index":205,"models/formatters/func_tick_formatter":206,"models/formatters/numeral_tick_formatter":207,"models/formatters/printf_tick_formatter":208,"models/mappers/index":209,"models/mappers/categorical_color_mapper":210,"models/mappers/categorical_mapper":211,"models/mappers/categorical_marker_mapper":212,"models/mappers/categorical_pattern_mapper":213,"models/mappers/linear_color_mapper":214,"models/mappers/log_color_mapper":215,"models/mappers/eqhist_color_mapper":216,"models/scales/index":217,"models/scales/linear_scale":218,"models/scales/linear_interpolation_scale":219,"models/ranges/index":220,"core/layout/index":221,"core/layout/alignments":222,"core/layout/grid":223,"core/layout/html":224,"core/layout/border":225,"models/annotations/label":226,"models/annotations/label_set":227,"models/annotations/legend":228,"models/annotations/legend_item":229,"core/vectorization":230,"models/annotations/poly_annotation":231,"models/annotations/slope":232,"models/annotations/span":233,"models/annotations/toolbar_panel":234,"models/tools/toolbar":235,"models/tools/tool":236,"models/tools/gestures/gesture_tool":237,"models/tools/button_tool":238,"core/dom_view":240,"styles/toolbar.css":241,"styles/icons.css":242,"styles/menus.css":243,"core/util/menus":244,"core/util/iterator":245,"models/tools/on_off_button":246,"models/tools/inspectors/inspect_tool":247,"models/tools/toolbar_base":248,"core/util/canvas":249,"core/util/svg":250,"models/tools/actions/action_tool":251,"models/tools/actions/help_tool":252,"styles/logo.css":253,"models/annotations/tooltip":254,"styles/tooltips.css":255,"models/annotations/whisker":256,"models/callbacks/index":257,"models/callbacks/customjs":258,"models/callbacks/callback":259,"models/callbacks/open_url":260,"models/canvas/index":261,"models/canvas/canvas":262,"core/ui_events":263,"core/bokeh_events":264,"core/util/wheel":265,"models/expressions/index":266,"models/expressions/customjs_expr":267,"models/expressions/stack":268,"models/expressions/cumsum":269,"models/expressions/minimum":270,"models/expressions/maximum":271,"models/filters/index":272,"models/filters/boolean_filter":273,"models/filters/customjs_filter":274,"models/filters/group_filter":275,"models/filters/index_filter":276,"models/glyphs/index":277,"models/glyphs/annular_wedge":278,"models/glyphs/annulus":279,"models/glyphs/arc":280,"models/glyphs/bezier":281,"models/glyphs/circle":282,"models/glyphs/webgl/markers":283,"models/glyphs/webgl/markers.vert":284,"models/glyphs/webgl/markers.frag":285,"models/glyphs/ellipse":286,"models/glyphs/ellipse_oval":287,"models/glyphs/center_rotatable":288,"models/glyphs/hbar":289,"models/glyphs/box":290,"models/glyphs/hex_tile":291,"models/glyphs/image":292,"models/glyphs/image_base":293,"models/glyphs/image_rgba":294,"models/glyphs/image_url":295,"core/util/image":296,"models/glyphs/multi_polygons":297,"models/glyphs/oval":298,"models/glyphs/quad":299,"models/glyphs/quadratic":300,"models/glyphs/ray":301,"models/glyphs/rect":302,"models/glyphs/scatter":303,"models/glyphs/marker":304,"models/glyphs/defs":305,"models/glyphs/segment":306,"models/glyphs/spline":307,"core/util/interpolation":308,"models/glyphs/step":309,"models/glyphs/text":310,"models/glyphs/vbar":311,"models/glyphs/wedge":312,"models/graphs/index":313,"models/graphs/static_layout_provider":314,"models/grids/index":315,"models/grids/grid":316,"models/layouts/index":317,"models/layouts/box":318,"models/layouts/layout_dom":319,"models/layouts/column":320,"models/layouts/grid_box":321,"models/layouts/html_box":322,"models/layouts/panel":323,"models/layouts/row":324,"models/layouts/spacer":325,"models/layouts/tabs":326,"styles/tabs.css":327,"styles/buttons.css":328,"models/layouts/widget_box":329,"models/plots/index":330,"models/plots/gmap_plot":331,"models/plots/plot":332,"models/plots/plot_canvas":333,"core/util/throttle":334,"models/plots/range_manager":335,"models/plots/state_manager":336,"models/plots/gmap_plot_canvas":337,"models/policies/index":338,"models/renderers/index":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/tools/tool_proxy":392,"models/tools/toolbar_box":393,"document/defs":394,"embed/standalone":395,"embed/dom":396,"embed/server":397,"client/connection":398,"protocol/message":399,"protocol/receiver":400,"client/session":401,"embed/notebook":402,"styles/notebook.css":403,"protocol/index":404,"testing":405,"safely":406}, {});});nn /* END bokeh.min.js /n },n n function(Bokeh) {n / BEGIN bokeh-widgets.min.js /n /!n * Copyright (c) 2012 - 2021, Anaconda, Inc., and Bokeh Contributorsn * 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 documentationn * and/or other materials provided with the distribution.n * n * Neither the name of Anaconda nor the names of any contributorsn * may be used to endorse or promote products derived from this softwaren * 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, THEn * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSEn * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BEn * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, ORn * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OFn * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSn * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER INn * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OFn * THE POSSIBILITY OF SUCH DAMAGE.n /n (function(root, factory) {n factory(root["Bokeh"], "2.3.0");n })(this, function(Bokeh, version) {n var 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 417: function _(t,e,i,o,r){o();const s=t(1).__importStar(t(418));i.Widgets=s;t(7).register_models(s)},n 418: function _(t,e,o,r,u){r(),u("AbstractButton",t(419).AbstractButton),u("AbstractIcon",t(422).AbstractIcon),u("AutocompleteInput",t(423).AutocompleteInput),u("Button",t(428).Button),u("CheckboxButtonGroup",t(429).CheckboxButtonGroup),u("CheckboxGroup",t(431).CheckboxGroup),u("ColorPicker",t(433).ColorPicker),u("DatePicker",t(434).DatePicker),u("DateRangeSlider",t(437).DateRangeSlider),u("DateSlider",t(442).DateSlider),u("Div",t(443).Div),u("Dropdown",t(446).Dropdown),u("FileInput",t(447).FileInput),u("InputWidget",t(426).InputWidget),u("Markup",t(444).Markup),u("MultiSelect",t(448).MultiSelect),u("Paragraph",t(449).Paragraph),u("PasswordInput",t(450).PasswordInput),u("MultiChoice",t(451).MultiChoice),u("NumericInput",t(454).NumericInput),u("PreText",t(455).PreText),u("RadioButtonGroup",t(456).RadioButtonGroup),u("RadioGroup",t(457).RadioGroup),u("RangeSlider",t(458).RangeSlider),u("Select",t(459).Select),u("Slider",t(460).Slider),u("Spinner",t(461).Spinner),u("TextInput",t(424).TextInput),u("TextAreaInput",t(462).TextAreaInput),u("Toggle",t(463).Toggle),u("Widget",t(488).Widget)},n 419: function _(t,e,n,i,s){i();const l=t(1),o=t(20),r=t(43),c=t(122),u=t(420),_=t(422),a=l.__importStar(t(328)),b=a;class d extends u.ControlView{*controls(){yield this.button_el}async lazy_initialize(){await super.lazy_initialize();const{icon:t}=this.model;null!=t&&(this.icon_view=await c.build_view(t,{parent:this}))}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.render()))}remove(){null!=this.icon_view&&this.icon_view.remove(),super.remove()}styles(){return[…super.styles(),a.default]}_render_button(…t){return r.button({type:"button",disabled:this.model.disabled,class:[b.btn,b[`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?r.prepend(this.button_el,this.icon_view.el,r.nbsp()):r.prepend(this.button_el,this.icon_view.el),this.icon_view.render()),this.group_el=r.div({class:b.btn_group},this.button_el),this.el.appendChild(this.group_el)}click(){}}n.AbstractButtonView=d,d.__name__="AbstractButtonView";class h extends u.Control{constructor(t){super(t)}static init_AbstractButton(){this.define((({String:t,Ref:e,Nullable:n})=>({label:[t,"Button"],icon:[n(e(_.AbstractIcon)),null],button_type:[o.ButtonType,"default"]})))}}n.AbstractButton=h,h.__name__="AbstractButton",h.init_AbstractButton()},n 420: function _(t,e,o,s,n){s();const i=t(488),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())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 488: function _(i,t,e,o,n){o();const s=i(322),r=i(20);class d extends s.HTMLBoxView{_width_policy(){return"horizontal"==this.model.orientation?super._width_policy():"fixed"}_height_policy(){return"horizontal"==this.model.orientation?"fixed":super._height_policy()}box_sizing(){const i=super.box_sizing();return"horizontal"==this.model.orientation?null==i.width&&(i.width=this.model.default_size):null==i.height&&(i.height=this.model.default_size),i}}e.WidgetView=d,d.__name__="WidgetView";class _ extends s.HTMLBox{constructor(i){super(i)}static init_Widget(){this.define((({Number:i})=>({orientation:[r.Orientation,"horizontal"],default_size:[i,300]}))),this.override({margin:[5,5,5,5]})}}e.Widget=_,_.__name__="Widget",_.init_Widget()},n 422: function _(c,t,s,n,e){n();const o=c(53),_=c(240);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 423: function _(e,t,n,i,s){i();const h=e(1),o=e(424),_=e(43),u=e(10),r=h.__importStar(e(243)),c=r;class l extends o.TextInputView{constructor(){super(…arguments),this._open=!1,this._last_value="",this._hover_index=0}styles(){return[…super.styles(),r.default]}render(){super.render(),this.input_el.addEventListener("keydown",(e=>this._keydown(e))),this.input_el.addEventListener("keyup",(e=>this._keyup(e))),this.menu=_.div({class:[c.menu,c.below]}),this.menu.addEventListener("click",(e=>this._menu_click(e))),this.menu.addEventListener("mouseover",(e=>this._menu_hover(e))),this.el.appendChild(this.menu),_.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){_.empty(this.menu);for(const t of e){const e=_.div({},t);this.menu.appendChild(e)}e.length>0&&this.menu.children[0].classList.add(c.active)}_show_menu(){if(!this._open){this._open=!0,this._hover_index=0,this._last_value=this.model.value,_.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,_.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;t<this.menu.children.length&&this.menu.children[t].textContent!=e.target.textContent;t++);this._bump_hover(t)}}_bump_hover(e){const t=this.menu.children.length;this._open&&t>0&&(this.menu.children[this._hover_index].classList.remove(c.active),this._hover_index=u.clamp(e,0,t-1),this.menu.children[this._hover_index].classList.add(c.active))}_keydown(e){}_keyup(e){switch(e.keyCode){case _.Keys.Enter:this.change_input();break;case _.Keys.Esc:this._hide_menu();break;case _.Keys.Up:this._bump_hover(this._hover_index-1);break;case _.Keys.Down:this._bump_hover(this._hover_index+1);break;default:{const e=this.input_el.value;if(e.length<this.model.min_characters)return void this._hide_menu();const t=[],{case_sensitive:n}=this.model;let i;i=n?e=>e:e=>e.toLowerCase();for(const n of this.model.completions)i(n).startsWith(i(e))&&t.push(n);this._update_completions(t),0==t.length?this._hide_menu():this._show_menu()}}}}n.AutocompleteInputView=l,l.__name__="AutocompleteInputView";class a extends o.TextInput{constructor(e){super(e)}static init_AutocompleteInput(){this.prototype.default_view=l,this.define((({Boolean:e,Int:t,String:n,Array:i})=>({completions:[i(n),[]],min_characters:[t,2],case_sensitive:[e,!0],restrict:[e,!0]})))}}n.AutocompleteInput=a,a.__name__="AutocompleteInput",a.init_AutocompleteInput()},n 424: function _(t,e,n,i,p){i();const _=t(1),u=t(425),s=t(43),x=_.__importStar(t(427));class a extends u.TextLikeInputView{_render_input(){this.input_el=s.input({type:"text",class:x.input})}}n.TextInputView=a,a.__name__="TextInputView";class c extends u.TextLikeInput{constructor(t){super(t)}static init_TextInput(){this.prototype.default_view=a}}n.TextInput=c,c.__name__="TextInput",c.init_TextInput()},n 425: function _(e,t,n,i,l){i();const s=e(426);class h extends s.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=h,h.__name__="TextLikeInputView";class a extends s.InputWidget{constructor(e){super(e)}static init_TextLikeInput(){this.define((({Int:e,String:t,Nullable:n})=>({value:[t,""],value_input:[t,""],placeholder:[t,""],max_length:[n(e),null]})))}}n.TextLikeInput=a,a.__name__="TextLikeInput",a.init_TextLikeInput()},n 426: function _(t,e,i,n,s){n();const l=t(1),o=t(420),r=t(43),_=l.__importStar(t(427)),p=_;class d extends o.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(),_.default]}render(){super.render();const{title:t}=this.model;this.label_el=r.label({style:{display:0==t.length?"none":""}},t),this.group_el=r.div({class:p.input_group},this.label_el),this.el.appendChild(this.group_el)}change_input(){}}i.InputWidgetView=d,d.__name__="InputWidgetView";class u extends o.Control{constructor(t){super(t)}static init_InputWidget(){this.define((({String:t})=>({title:[t,""]})))}}i.InputWidget=u,u.__name__="InputWidget",u.init_InputWidget()},n 427: function _(o,i,t,n,p){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;-webkit-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,<svg version="1.1" viewBox="0 0 25 20" xmlns="http://www.w3.org/2000/svg"><path d="M 0,0 25,0 12.5,20 Z" fill="black" /></svg>\’);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;display:-webkit-inline-flex;flex-wrap:nowrap;-webkit-flex-wrap:nowrap;align-items:start;-webkit-align-items:start;flex-direction:column;-webkit-flex-direction:column;white-space:nowrap;}.bk-root .bk-input-group.bk-inline{flex-direction:row;-webkit-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 428: function _(t,e,n,i,o){i();const s=t(419),u=t(264);class c extends s.AbstractButtonView{click(){this.model.trigger_event(new u.ButtonClick),super.click()}}n.ButtonView=c,c.__name__="ButtonView";class _ extends s.AbstractButton{constructor(t){super(t)}static init_Button(){this.prototype.default_view=c,this.override({label:"Button"})}}n.Button=_,_.__name__="Button",_.init_Button()},n 429: function _(t,e,o,i,c){i();const n=t(1),s=t(430),a=t(43),u=n.__importStar(t(328));class r extends s.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)=>{a.classes(e).toggle(u.active,t.has(o))}))}}o.CheckboxButtonGroupView=r,r.__name__="CheckboxButtonGroupView";class _ extends s.ButtonGroup{constructor(t){super(t)}static init_CheckboxButtonGroup(){this.prototype.default_view=r,this.define((({Int:t,Array:e})=>({active:[e(t),[]]})))}}o.CheckboxButtonGroup=_,_.__name__="CheckboxButtonGroup",_.init_CheckboxButtonGroup()},n 430: function _(t,e,n,s,i){s();const o=t(1),r=t(420),u=t(20),a=t(43),_=o.__importStar(t(328)),l=_;class c extends r.ControlView{*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(),_.default]}render(){super.render(),this._buttons=this.model.labels.map(((t,e)=>{const n=a.div({class:[l.btn,l[`btn_${this.model.button_type}`]],disabled:this.model.disabled},t);return n.addEventListener("click",(()=>this.change_active(e))),n})),this._update_active();const t=a.div({class:l.btn_group},this._buttons);this.el.appendChild(t)}}n.ButtonGroupView=c,c.__name__="ButtonGroupView";class d extends r.Control{constructor(t){super(t)}static init_ButtonGroup(){this.define((({String:t,Array:e})=>({labels:[e(t),[]],button_type:[u.ButtonType,"default"]})))}}n.ButtonGroup=d,d.__name__="ButtonGroup",d.init_ButtonGroup()},n 431: function _(e,t,i,n,s){n();const o=e(1),c=e(432),a=e(43),l=e(9),d=o.__importStar(e(427));class h extends c.InputGroupView{render(){super.render();const e=a.div({class:[d.input_group,this.model.inline?d.inline:null]});this.el.appendChild(e);const{active:t,labels:i}=this.model;this._inputs=[];for(let n=0;n<i.length;n++){const s=a.input({type:"checkbox",value:`${n}`});s.addEventListener("change",(()=>this.change_active(n))),this._inputs.push(s),this.model.disabled&&(s.disabled=!0),l.includes(t,n)&&(s.checked=!0);const o=a.label({},s,a.span({},i[n]));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()}}i.CheckboxGroupView=h,h.__name__="CheckboxGroupView";class p extends c.InputGroup{constructor(e){super(e)}static init_CheckboxGroup(){this.prototype.default_view=h,this.define((({Boolean:e,Int:t,String:i,Array:n})=>({active:[n(t),[]],labels:[n(i),[]],inline:[e,!1]})))}}i.CheckboxGroup=p,p.__name__="CheckboxGroup",p.init_CheckboxGroup()},n 432: function _(n,t,e,s,o){s();const r=n(1),u=n(420),c=r.__importDefault(n(427));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 433: function _(e,i,t,n,o){n();const s=e(1),l=e(426),r=e(43),c=e(22),a=s.__importStar(e(427));class d extends l.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=c.color2css(this.model.color))),this.connect(this.model.properties.disabled.change,(()=>this.input_el.disabled=this.model.disabled))}render(){super.render(),this.input_el=r.input({type:"color",class:a.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()}}t.ColorPickerView=d,d.__name__="ColorPickerView";class h extends l.InputWidget{constructor(e){super(e)}static init_ColorPicker(){this.prototype.default_view=d,this.define((({Color:e})=>({color:[e,"#000000"]})))}}t.ColorPicker=h,h.__name__="ColorPicker",h.init_ColorPicker()},n 434: function _(e,t,i,n,s){n();const a=e(1),l=a.__importDefault(e(435)),o=e(426),d=e(43),r=e(20),c=e(8),h=a.__importStar(e(427)),u=a.__importDefault(e(436));function _(e){const t=[];for(const i of e)if(c.isString(i))t.push(i);else{const[e,n]=i;t.push({from:e,to:n})}return t}class p extends o.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(),u.default]}render(){var e,t;null==this._picker&&(super.render(),this.input_el=d.input({type:"text",class:h.input,disabled:this.model.disabled}),this.group_el.appendChild(this.input_el),this._picker=l.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:_(this.model.disabled_dates),enable:_(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=p,p.__name__="DatePickerView";class m extends o.InputWidget{constructor(e){super(e)}static init_DatePicker(){this.prototype.default_view=p,this.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:[r.CalendarPosition,"auto"],inline:[e,!1]}}))}}i.DatePicker=m,m.__name__="DatePicker",m.init_DatePicker()},n 435: 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 anyn purpose with or without fee is hereby granted.n n THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITHn REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITYn AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROMn LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE ORn OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE ORn PERFORMANCE OF THIS SOFTWARE.n ************************************************************************* /var e=function(){return(e=Object.assign||function(e){for(var n,t=1,a=arguments.length;t<a;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};function n(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var a=Array(e),i=0;for(n=0;n<t;n++)for(var o=arguments[n],r=0,l=o.length;r<l;r++,i++)a[i]=o[r];return a}var t=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],a={_disable:[],_enable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:"F j, Y",altInput:!1,altInputClass:"form-control input",animate:"object"==typeof window&&-1===window.navigator.userAgent.indexOf("MSIE"),ariaDateFormat:"F j, Y",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:", ",dateFormat:"Y-m-d",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enable:[],enableSeconds:!1,enableTime:!1,errorHandler:function(e){return"undefined"!=typeof console&&console.warn(e)},getWeek:function(e){var n=new Date(e.getTime());n.setHours(0,0,0,0),n.setDate(n.getDate()+3-(n.getDay()+6)%7);var t=new Date(n.getFullYear(),0,4);return 1+Math.round(((n.getTime()-t.getTime())/864e5-3+(t.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:"default",minuteIncrement:5,mode:"single",monthSelectorType:"dropdown",nextArrow:"<svg version=’1.1’ xmlns=’http://www.w3.org/2000/svg’ xmlns:xlink=’http://www.w3.org/1999/xlink’ viewBox=’0 0 17 17’><g></g><path d=’M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z’ /></svg>",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"<svg version=’1.1’ xmlns=’http://www.w3.org/2000/svg’ xmlns:xlink=’http://www.w3.org/1999/xlink’ viewBox=’0 0 17 17’><g></g><path d=’M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z’ /></svg>",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="";g<s.length;g++){var w=s[g],b="\\"===w,C="\\"===s[g-1]||b;if(D[w]&&!C){h+=D[w];var M=new RegExp(h).exec(e);M&&(f=!0)&&m["Y"!==w?"push":"unshift"]({fn:v[w],val:M[++p]})}else b||(h+=".");m.forEach((function(e){var n=e.fn,t=e.val;return l=n(l,t,c)||l}))}l=f?l:void 0}}if(l instanceof Date&&!isNaN(l.getTime()))return!0===i&&l.setHours(0,0,0,0),l;t.errorHandler(new Error("Invalid date provided: "+d))}}};function M(e,n,t){return void 0===t&&(t=!0),!1!==t?new Date(e.getTime()).setHours(0,0,0,0)-new Date(n.getTime()).setHours(0,0,0,0):e.getTime()-n.getTime()}var y=864e5;function x(p,v){var w={config:e(e({},a),k.defaultConfig),l10n:i};function x(e){return e.bind(w)}function E(){var e=w.config;!1===e.weekNumbers&&1===e.showMonths||!0!==e.noCalendar&&window.requestAnimationFrame((function(){if(void 0!==w.calendarContainer&&(w.calendarContainer.style.visibility="hidden",w.calendarContainer.style.display="block"),void 0!==w.daysContainer){var n=(w.days.offsetWidth+1)*e.showMonths;w.daysContainer.style.width=n+"px",w.calendarContainer.style.width=n+(void 0!==w.weekWrapper?w.weekWrapper.offsetWidth:0)+"px",w.calendarContainer.style.removeProperty("visibility"),w.calendarContainer.style.removeProperty("display")}}))}function T(e){if(0===w.selectedDates.length){var n=void 0!==w.config.minDate?new Date(w.config.minDate.getTime()):new Date,t=_(),a=t.hours,i=t.minutes,l=t.seconds;n.setHours(a,i,l,0),w.setDate(n,!1)}void 0!==e&&"blur"!==e.type&&function(e){e.preventDefault();var n="keydown"===e.type,t=g(e),a=t;void 0!==w.amPM&&t===w.amPM&&(w.amPM.textContent=w.l10n.amPM[r(w.amPM.textContent===w.l10n.amPM[0])]);var i=parseFloat(a.getAttribute("min")),l=parseFloat(a.getAttribute("max")),c=parseFloat(a.getAttribute("step")),d=parseInt(a.value,10),s=e.delta||(n?38===e.which?1:-1:0),u=d+c*s;if(void 0!==a.value&&2===a.value.length){var f=a===w.hourElement,m=a===w.minuteElement;u<i?(u=l+u+r(!f)+(r(f)&&r(!w.amPM)),m&&H(void 0,-1,w.hourElement)):u>l&&(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<w.now?w.config.maxDate:w.now),a=w.currentYear,i=w.currentMonth;try{void 0!==t&&(w.currentYear=t.getFullYear(),w.currentMonth=t.getMonth())}catch(e){e.message="Invalid date supplied: "+t,w.config.errorHandler(e)}n&&w.currentYear!==a&&(pe("onYearChange"),K()),!n||w.currentYear===a&&w.currentMonth===i||pe("onMonthChange"),w.redraw()}function Y(e){var n=g(e);~n.className.indexOf("arrow")&&H(e,n.classList.contains("arrowUp")?1:-1)}function H(e,n,t){var a=e&&g(e),i=t||a&&a.parentNode&&a.parentNode.firstChild,o=he("increment");o.delta=n,i&&i.dispatchEvent(o)}function j(e,n,t,a){var i=X(n,!0),o=s("span","flatpickr-day "+e,n.getDate().toString());return o.dateObj=n,o.$i=a,o.setAttribute("aria-label",w.formatDate(n,w.config.ariaDateFormat)),-1===e.indexOf("hidden")&&0===M(n,w.now)&&(w.todayDateElem=o,o.classList.add("today"),o.setAttribute("aria-current","date")),i?(o.tabIndex=-1,ve(n)&&(o.classList.add("selected"),w.selectedDateElem=o,"range"===w.config.mode&&(d(o,"startRange",w.selectedDates[0]&&0===M(n,w.selectedDates[0],!0)),d(o,"endRange",w.selectedDates[1]&&0===M(n,w.selectedDates[1],!0)),"nextMonthDay"===e&&o.classList.add("inRange")))):o.classList.add("flatpickr-disabled"),"range"===w.config.mode&&function(e){return!("range"!==w.config.mode||w.selectedDates.length<2)&&M(e,w.selectedDates[0])>=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","<span class=’flatpickr-day’>"+w.config.getWeek(n)+"</span>"),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&&d<c&&d!=(n>0?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;n<w.config.showMonths;n++){var t=new Date(w.currentYear,w.currentMonth,1);t.setMonth(w.currentMonth+n),e.appendChild(B(t.getFullYear(),t.getMonth()))}w.daysContainer.appendChild(e),w.days=w.daysContainer.firstChild,"range"===w.config.mode&&1===w.selectedDates.length&&ae()}}function K(){if(!(w.config.showMonths>1||"dropdown"!==w.config.monthSelectorType)){var e=function(e){return!(void 0!==w.config.minDate&&w.currentYear===w.config.minDate.getFullYear()&&e<w.config.minDate.getMonth()||void 0!==w.config.maxDate&&w.currentYear===w.config.maxDate.getFullYear()&&e>w.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<t.length&&(t=n(t.splice(e,t.length),t.splice(0,e)));for(var a=w.config.showMonths;a–;)w.weekdayContainer.children[a].innerHTML="\n <span class=’flatpickr-weekday’>\n "+t.join("</span><span class=’flatpickr-weekday’>")+"\n </span>\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&&e<w.config.minDate.getFullYear()||w.config.maxDate&&e>w.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<i.length;o++){if("function"==typeof(r=i[o])&&r(t))return a;if(r instanceof Date&&void 0!==t&&r.getTime()===t.getTime())return a;if("string"==typeof r&&void 0!==t){var l=w.parseDate(r,void 0,!0);return l&&l.getTime()===t.getTime()?a:!a}if("object"==typeof r&&void 0!==t&&r.from&&r.to&&t.getTime()>=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;c<i;c+=y)X(new Date(c),!0)||(o=o||c>a&&c<i,c<t&&(!r||c>r)?r=c:c>t&&(!l||c<l)&&(l=c));for(var d=0;d<w.config.showMonths;d++)for(var s=w.daysContainer.children[d],u=function(a,i){var c,d,u,f=s.children[a],m=f.dateObj.getTime(),g=r>0&&m<r||l>0&&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"),t<n&&m===t?f.classList.add("startRange"):t>n&&m===t&&f.classList.add("endRange"),m>=r&&(0===l||m<=l)&&(d=t,u=n,(c=m)>Math.min(d,u)&&c<Math.max(d,u))&&f.classList.add("inRange"))))},f=0,m=s.children.length;f<m;f++)u(f)}}function ie(){!w.isOpen||w.config.static||w.config.inline||ce()}function oe(e){return function(n){var t=w.config["_"+e+"Date"]=w.parseDate(n,w.config.dateFormat),a=w.config["_"+("min"===e?"max":"min")+"Date"];void 0!==t&&(w["min"===e?"minDateHasTime":"maxDateHasTime"]=t.getHours()>0||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&&c<t&&l.top>t,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;n<document.styleSheets.length;n++){var t=document.styleSheets[n];try{t.cssRules}catch(e){continue}e=t;break}return null!=e?e:(a=document.createElement("style"),document.head.appendChild(a),a.sheet);var a}();if(void 0===D)return;var b=window.document.body.offsetWidth,C=Math.max(0,b/2-a/2),M=D.cssRules.length,y="{left:"+l.left+"px;right:auto;}";d(w.calendarContainer,"rightMost",!1),d(w.calendarContainer,"centerMost",!0),D.insertRule(".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after"+y,M),w.calendarContainer.style.left=C+"px",w.calendarContainer.style.right="auto"}else w.calendarContainer.style.left="auto",w.calendarContainer.style.right=p+"px";else w.calendarContainer.style.left=f+"px",w.calendarContainer.style.right="auto"}}}function de(){w.config.noCalendar||w.isMobile||(K(),De(),J())}function se(){w._input.focus(),-1!==window.navigator.userAgent.indexOf("MSIE")||void 0!==navigator.msMaxTouchPoints?setTimeout(w.close,0):w.close()}function ue(e){e.preventDefault(),e.stopPropagation();var n=f(g(e),(function(e){return e.classList&&e.classList.contains("flatpickr-day")&&!e.classList.contains("flatpickr-disabled")&&!e.classList.contains("notAllowed")}));if(void 0!==n){var t=n,a=w.latestSelectedDateObj=new Date(t.dateObj.getTime()),i=(a.getMonth()<w.currentMonth||a.getMonth()>w.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]&&a<t.length;a++)t[a](w.selectedDates,w.input.value,w,n);"onChange"===e&&(w.input.dispatchEvent(he("change")),w.input.dispatchEvent(he("input")))}}function he(e){var n=document.createEvent("Event");return n.initEvent(e,!0,!0),n}function ve(e){for(var n=0;n<w.selectedDates.length;n++)if(0===M(w.selectedDates[n],e))return""+n;return!1}function De(){w.config.noCalendar||w.isMobile||!w.monthNav||(w.yearElements.forEach((function(e,n){var t=new Date(w.currentYear,w.currentMonth,1);t.setMonth(w.currentMonth+n),w.config.showMonths>1||"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.currentYear<w.config.minDate.getFullYear()),w._hideNextMonthArrow=void 0!==w.config.maxDate&&(w.currentYear===w.config.maxDate.getFullYear()?w.currentMonth+1>w.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<n.length;u++)w.config[n[u]]=!0===w.config[n[u]]||"true"===w.config[n[u]];for(t.filter((function(e){return void 0!==w.config[e]})).forEach((function(e){w.config[e]=c(w.config[e]||[]).map(x)})),w.isMobile=!w.config.disableMobile&&!w.config.inline&&"single"===w.config.mode&&!w.config.disable.length&&!w.config.enable.length&&!w.config.weekNumbers&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),u=0;u<w.config.plugins.length;u++){var f=w.config.plugins[u](w)||{};for(var m in f)t.indexOf(m)>-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()<w.now.getTime()?w.config.maxDate:w.now,w.currentYear=w._initialDate.getFullYear(),w.currentMonth=w._initialDate.getMonth(),w.selectedDates.length>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;i<t.length;i++){var o=t[i];try{if(null!==o.getAttribute("data-fp-omit"))continue;void 0!==o._flatpickr&&(o._flatpickr.destroy(),o._flatpickr=void 0),o._flatpickr=x(o,n||{}),a.push(o._flatpickr)}catch(e){console.error(e)}}return 1===a.length?a[0]:a}"function"!=typeof Object.assign&&(Object.assign=function(e){for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];if(!e)throw TypeError("Cannot convert undefined or null to object");for(var a=function(n){n&&Object.keys(n).forEach((function(t){return e[t]=n[t]}))},i=0,o=n;i<o.length;i++){var r=o[i];a(r)}return e}),"undefined"!=typeof HTMLElement&&"undefined"!=typeof HTMLCollection&&"undefined"!=typeof NodeList&&(HTMLCollection.prototype.flatpickr=NodeList.prototype.flatpickr=function(e){return E(this,e)},HTMLElement.prototype.flatpickr=function(e){return E([this],e)});var k=function(e,n){return"string"==typeof e?E(window.document.querySelectorAll(e),n):e instanceof Node?E([e],n):E(e,n)};return k.defaultConfig={},k.l10ns={en:e({},i),default:e({},i)},k.localize=function(n){k.l10ns.default=e(e({},k.l10ns.default),n)},k.setDefaults=function(n){k.defaultConfig=e(e({},k.defaultConfig),n)},k.parseDate=C({}),k.formatDate=b({}),k.compareDates=M,"undefined"!=typeof jQuery&&void 0!==jQuery.fn&&(jQuery.fn.flatpickr=function(e){return E(this,e)}),Date.prototype.fp_incr=function(e){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+("string"==typeof e?parseInt(e,10):e))},"undefined"!=typeof window&&(window.flatpickr=k),k},"object"==typeof t&&void 0!==n?n.exports=r():"function"==typeof define&&define.amd?define(r):(o=o||self).flatpickr=r()},n 436: function _(t,e,a,r,i){r(),a.default=’.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);box-shadow:1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible;}.flatpickr-calendar.open{display:inline-block;z-index:99999;}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);animation:fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);}.flatpickr-calendar.inline{display:block;position:relative;top:2px;}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px);}.flatpickr-calendar.static.open{z-index:999;display:block;}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none !important;box-shadow:none !important;}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0;}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0;}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6;}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto;}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:\’\’;height:0;width:0;left:22px;}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px;}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%;}.flatpickr-calendar:before{border-width:5px;margin:0 -5px;}.flatpickr-calendar:after{border-width:4px;margin:0 -4px;}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%;}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6;}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff;}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%;}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6;}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff;}.flatpickr-calendar:focus{outline:0;}.flatpickr-wrapper{position:relative;display:inline-block;}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.flatpickr-months .flatpickr-month{background:transparent;color:rgba(0, 0, 0, 0.9);fill:rgba(0, 0, 0, 0.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0, 0, 0, 0.9);fill:rgba(0, 0, 0, 0.9);}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none;}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative;}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0;}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0;}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9;}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747;}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px;}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill 0.1s;transition:fill 0.1s;fill:inherit;}.numInputWrapper{position:relative;height:auto;}.numInputWrapper input,.numInputWrapper span{display:inline-block;}.numInputWrapper input{width:100%;}.numInputWrapper input::-ms-clear{display:none;}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57, 57, 57, 0.15);-webkit-box-sizing:border-box;box-sizing:border-box;}.numInputWrapper span:hover{background:rgba(0, 0, 0, 0.1);}.numInputWrapper span:active{background:rgba(0, 0, 0, 0.2);}.numInputWrapper span:after{display:block;content:"";position:absolute;}.numInputWrapper span.arrowUp{top:0;border-bottom:0;}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57, 57, 57, 0.6);top:26%;}.numInputWrapper span.arrowDown{top:50%;}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57, 57, 57, 0.6);top:40%;}.numInputWrapper span svg{width:inherit;height:auto;}.numInputWrapper span svg path{fill:rgba(0, 0, 0, 0.5);}.numInputWrapper:hover{background:rgba(0, 0, 0, 0.05);}.numInputWrapper:hover span{opacity:1;}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px);}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:0.5ch;padding:0;}.flatpickr-current-month span.cur-month:hover{background:rgba(0, 0, 0, 0.05);}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block;}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0, 0, 0, 0.9);}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0, 0, 0, 0.9);}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 0.5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;}.flatpickr-current-month input.cur-year:focus{outline:0;}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0, 0, 0, 0.5);background:transparent;pointer-events:none;}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:none;padding:0 0 0 0.5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto;}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none;}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0, 0, 0, 0.05);}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0;}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px;}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:rgba(0, 0, 0, 0.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder;}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0;}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px;}.flatpickr-days:focus{outline:0;}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px);opacity:1;}.dayContainer + .dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6;}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6;}.flatpickr-day.today{border-color:#959ea9;}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff;}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7;}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px;}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0;}.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7;}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px;}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:rgba(57, 57, 57, 0.3);background:transparent;border-color:transparent;cursor:default;}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57, 57, 57, 0.1);}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7, 5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7, 5px 0 0 #569ff7;}.flatpickr-day.hidden{visibility:hidden;}.rangeMode .flatpickr-day{margin-top:1px;}.flatpickr-weekwrapper{float:left;}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6;}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px;}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57, 57, 57, 0.3);background:transparent;cursor:default;border:none;}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box;}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.flatpickr-time:after{content:"";display:table;clear:both;}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left;}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939;}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939;}.flatpickr-time.hasSeconds .numInputWrapper{width:26%;}.flatpickr-time.time24hr .numInputWrapper{width:49%;}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;}.flatpickr-time input.flatpickr-hour{font-weight:bold;}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400;}.flatpickr-time input:focus{outline:0;border:0;}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400;}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee;}.flatpickr-input[readonly]{cursor:pointer;}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0);}to{opacity:1;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0);}to{opacity:1;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}}.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-box-shadow:0 3px 13px rgba(0, 0, 0, 0.08);box-shadow:0 3px 13px rgba(0, 0, 0, 0.08);}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible;}.flatpickr-calendar.open{display:inline-block;z-index:99999;}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);animation:fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);}.flatpickr-calendar.inline{display:block;position:relative;top:2px;}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px);}.flatpickr-calendar.static.open{z-index:999;display:block;}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none !important;box-shadow:none !important;}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0;}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0;}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #eceef1;}.flatpickr-calendar.hasTime .flatpickr-innerContainer{border-bottom:0;}.flatpickr-calendar.hasTime .flatpickr-time{border:1px solid #eceef1;}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto;}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:\’\’;height:0;width:0;left:22px;}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px;}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%;}.flatpickr-calendar:before{border-width:5px;margin:0 -5px;}.flatpickr-calendar:after{border-width:4px;margin:0 -4px;}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%;}.flatpickr-calendar.arrowTop:before{border-bottom-color:#eceef1;}.flatpickr-calendar.arrowTop:after{border-bottom-color:#eceef1;}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%;}.flatpickr-calendar.arrowBottom:before{border-top-color:#eceef1;}.flatpickr-calendar.arrowBottom:after{border-top-color:#eceef1;}.flatpickr-calendar:focus{outline:0;}.flatpickr-wrapper{position:relative;display:inline-block;}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.flatpickr-months .flatpickr-month{border-radius:5px 5px 0 0;background:#eceef1;color:#5a6171;fill:#5a6171;height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:#5a6171;fill:#5a6171;}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none;}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative;}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0;}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0;}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#bbb;}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747;}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px;}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill 0.1s;transition:fill 0.1s;fill:inherit;}.numInputWrapper{position:relative;height:auto;}.numInputWrapper input,.numInputWrapper span{display:inline-block;}.numInputWrapper input{width:100%;}.numInputWrapper input::-ms-clear{display:none;}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(72, 72, 72, 0.15);-webkit-box-sizing:border-box;box-sizing:border-box;}.numInputWrapper span:hover{background:rgba(0, 0, 0, 0.1);}.numInputWrapper span:active{background:rgba(0, 0, 0, 0.2);}.numInputWrapper span:after{display:block;content:"";position:absolute;}.numInputWrapper span.arrowUp{top:0;border-bottom:0;}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(72, 72, 72, 0.6);top:26%;}.numInputWrapper span.arrowDown{top:50%;}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(72, 72, 72, 0.6);top:40%;}.numInputWrapper span svg{width:inherit;height:auto;}.numInputWrapper span svg path{fill:rgba(90, 97, 113, 0.5);}.numInputWrapper:hover{background:rgba(0, 0, 0, 0.05);}.numInputWrapper:hover span{opacity:1;}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px);}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:0.5ch;padding:0;}.flatpickr-current-month span.cur-month:hover{background:rgba(0, 0, 0, 0.05);}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block;}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#5a6171;}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#5a6171;}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 0.5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;}.flatpickr-current-month input.cur-year:focus{outline:0;}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(90, 97, 113, 0.5);background:transparent;pointer-events:none;}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:#eceef1;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:none;padding:0 0 0 0.5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto;}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none;}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0, 0, 0, 0.05);}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:#eceef1;outline:none;padding:0;}.flatpickr-weekdays{background:#eceef1;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px;}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;}span.flatpickr-weekday{cursor:default;font-size:90%;background:#eceef1;color:#5a6171;line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder;}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0;}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px;border-left:1px solid #eceef1;border-right:1px solid #eceef1;}.flatpickr-days:focus{outline:0;}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0px, 0px, 0px);transform:translate3d(0px, 0px, 0px);opacity:1;}.dayContainer + .dayContainer{-webkit-box-shadow:-1px 0 0 #eceef1;box-shadow:-1px 0 0 #eceef1;}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#484848;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e2e2e2;border-color:#e2e2e2;}.flatpickr-day.today{border-color:#bbb;}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#bbb;background:#bbb;color:#fff;}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#ff5a5f;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#ff5a5f;}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px;}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0;}.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #ff5a5f;box-shadow:-10px 0 0 #ff5a5f;}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px;}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e2e2e2, 5px 0 0 #e2e2e2;box-shadow:-5px 0 0 #e2e2e2, 5px 0 0 #e2e2e2;}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:rgba(72, 72, 72, 0.3);background:transparent;border-color:transparent;cursor:default;}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(72, 72, 72, 0.1);}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #ff5a5f, 5px 0 0 #ff5a5f;box-shadow:-5px 0 0 #ff5a5f, 5px 0 0 #ff5a5f;}.flatpickr-day.hidden{visibility:hidden;}.rangeMode .flatpickr-day{margin-top:1px;}.flatpickr-weekwrapper{float:left;}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;border-left:1px solid #eceef1;}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px;}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(72, 72, 72, 0.3);background:transparent;cursor:default;border:none;}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;background:#fff;border-bottom:1px solid #eceef1;}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box;}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;background:#fff;border-radius:0 0 5px 5px;}.flatpickr-time:after{content:"";display:table;clear:both;}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left;}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#484848;}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#484848;}.flatpickr-time.hasSeconds .numInputWrapper{width:26%;}.flatpickr-time.time24hr .numInputWrapper{width:49%;}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#484848;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;}.flatpickr-time input.flatpickr-hour{font-weight:bold;}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400;}.flatpickr-time input:focus{outline:0;border:0;}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#484848;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400;}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eaeaea;}.flatpickr-input[readonly]{cursor:pointer;}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0);}to{opacity:1;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0);}to{opacity:1;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);}}span.flatpickr-day.selected{font-weight:bold;}’},n 437: function _(e,t,a,i,r){i();const n=e(1).__importDefault(e(181)),s=e(438),d=e(8);class _ extends s.AbstractRangeSliderView{}a.DateRangeSliderView=_,_.__name__="DateRangeSliderView";class l extends s.AbstractSlider{constructor(e){super(e),this.behaviour="drag",this.connected=[!1,!0,!1]}static init_DateRangeSlider(){this.prototype.default_view=_,this.override({format:"%d %b %Y"})}_formatter(e,t){return d.isString(t)?n.default(e,t):t.compute(e)}}a.DateRangeSlider=l,l.__name__="DateRangeSlider",l.init_DateRangeSlider()},n 438: function _(t,e,i,s,l){s();const r=t(1),o=r.__importStar(t(439)),n=t(43),a=t(9),d=t(22),_=t(420),h=t(166),c=r.__importStar(t(440)),m=c,u=r.__importDefault(t(441)),p=r.__importStar(t(427));class b extends _.ControlView{controls(){yield this.slider_el}get noUiSlider(){return this.slider_el.noUiSlider}connect_signals(){super.connect_signals();const{direction:t,orientation:e,tooltips:i}=this.model.properties;this.on_change([t,e,i],(()=>this.render()));const{start:s,end:l,value:r,step:o,title:n}=this.model.properties;this.on_change([s,l,r,o],(()=>{const{start:t,end:e,value:i,step:s}=this._calc_to();this.noUiSlider.updateOptions({range:{min:t,max:e},start:i,step:s})}));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([r,n,d],(()=>this._update_title()))}styles(){return[…super.styles(),u.default,c.default]}_update_title(){var t;n.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(n.span({class:m.slider_value},e))}}_set_bar_color(){if(!this.model.disabled){this.slider_el.querySelector(".noUi-connect").style.backgroundColor=d.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=a.repeat(t,i.length)}else l=!1;if(null==this.slider_el){this.slider_el=n.div(),o.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 r=(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)=>r(e,!0))),this.noUiSlider.on("end",((t,e)=>r(e,!1)))}else this.noUiSlider.updateOptions({range:{min:t,max:e},start:i,step:s});this._set_bar_color(),this.model.disabled?this.slider_el.setAttribute("disabled","true"):this.slider_el.removeAttribute("disabled"),this.title_el=n.div({class:m.slider_title}),this._update_title(),this.group_el=n.div({class:p.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 v 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=v,v.__name__="AbstractSliderView";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 t}}i.AbstractRangeSliderView=g,g.__name__="AbstractRangeSliderView";class S extends _.Control{constructor(t){super(t),this.connected=!1}static init_AbstractSlider(){this.define((({Any:t,Boolean:e,Number:i,String:s,Color:l,Or:r,Enum:o,Ref:n,Nullable:a})=>({title:[a(s),""],show_value:[e,!0],start:[t],end:[t],value:[t],value_throttled:[t],step:[i,1],format:[r(s,n(h.TickFormatter))],direction:[o("ltr","rtl"),"ltr"],tooltips:[e,!0],bar_color:[l,"#e6e6e6"]})))}pretty(t){return this._formatter(t,this.format)}}i.AbstractSlider=S,S.__name__="AbstractSlider",S.init_AbstractSlider()},n 439: function _(t,e,r,n,i){n /! nouislider - 14.6.3 - 11/19/2020 /n var o;o=function(){"use strict";var t="14.6.3";function e(t){t.parentElement.removeChild(t)}function r(t){return null!=t}function n(t){t.preventDefault()}function i(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}function o(t,e,r){r>0&&(u(t,e),setTimeout((function(){c(t,e)}),r))}function s(t){return Math.max(Math.min(t,100),0)}function a(t){return Array.isArray(t)?t:[t]}function l(t){var e=(t=String(t)).split(".");return e.length>1?e[1].length:0}function u(t,e){t.classList&&!/\s/.test(e)?t.classList.add(e):t.className+=" "+e}function c(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 p(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 f(t,e){return 100/(e-t)}function d(t,e,r){return 100*e/(t[r+1]-t[r])}function h(t,e){for(var r=1;t>=e[r];)r+=1;return r}function m(t,e,r){if(r>=t.slice(-1)[0])return 100;var n=h(r,t),i=t[n-1],o=t[n],s=e[n-1],a=e[n];return s+function(t,e){return d(t,t[0]<0?e+Math.abs(t[0]):e-t[0],0)}([i,o],r)/f(s,a)}function g(t,e,r,n){if(100===n)return n;var i=h(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}function v(t,e,r){var n;if("number"==typeof e&&(e=[e]),!Array.isArray(e))throw new Error("noUiSlider (14.6.3): ‘range’ contains invalid value.");if(!i(n="min"===t?0:"max"===t?100:parseFloat(t))||!i(e[0]))throw new Error("noUiSlider (14.6.3): ‘range’ value isn’t numeric.");r.xPct.push(n),r.xVal.push(e[0]),n?r.xSteps.push(!isNaN(e[1])&&e[1]):isNaN(e[1])||(r.xSteps[0]=e[1]),r.xHighestCompleteStep.push(0)}function b(t,e,r){if(e)if(r.xVal[t]!==r.xVal[t+1]){r.xSteps[t]=d([r.xVal[t],r.xVal[t+1]],e,0)/f(r.xPct[t],r.xPct[t+1]);var n=(r.xVal[t+1]-r.xVal[t])/r.xNumSteps[t],i=Math.ceil(Number(n.toFixed(3))-1),o=r.xVal[t]+r.xNumSteps[t]*i;r.xHighestCompleteStep[t]=o}else r.xSteps[t]=r.xHighestCompleteStep[t]=r.xVal[t]}function x(t,e,r){var n;this.xPct=[],this.xVal=[],this.xSteps=[r||!1],this.xNumSteps=[!1],this.xHighestCompleteStep=[],this.snap=e;var i=[];for(n in t)t.hasOwnProperty(n)&&i.push([t[n],n]);for(i.length&&"object"==typeof i[0][0]?i.sort((function(t,e){return t[0][0]-e[0][0]})):i.sort((function(t,e){return t[0]-e[0]})),n=0;n<i.length;n++)v(i[n][1],i[n][0],this);for(this.xNumSteps=this.xSteps.slice(0),n=0;n<this.xNumSteps.length;n++)b(n,this.xNumSteps[n],this)}x.prototype.getDistance=function(t){var e,r=[];for(e=0;e<this.xNumSteps.length-1;e++){var n=this.xNumSteps[e];if(n&&t/n%1!=0)throw new Error("noUiSlider (14.6.3): ‘limit’, ‘margin’ and ‘padding’ of "+this.xPct[e]+"% range must be divisible by step.");r[e]=d(this.xVal,t,e)}return r},x.prototype.getAbsoluteDistance=function(t,e,r){var n,i=0;if(t<this.xPct[this.xPct.length-1])for(;t>this.xPct[i+1];)i++;else t===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);r||t!==this.xPct[i+1]||i++;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},x.prototype.toStepping=function(t){return t=m(this.xVal,this.xPct,t)},x.prototype.fromStepping=function(t){return function(t,e,r){if(r>=100)return t.slice(-1)[0];var n=h(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)*f(s,e[n]))}(this.xVal,this.xPct,t)},x.prototype.getStep=function(t){return t=g(this.xPct,this.xSteps,this.snap,t)},x.prototype.getDefaultStep=function(t,e,r){var n=h(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},x.prototype.getNearbySteps=function(t){var e=h(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]}}},x.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(l);return Math.max.apply(null,t)},x.prototype.convert=function(t){return this.getStep(this.toStepping(t))};var S={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"},y=".__tooltips",E=".__aria";function C(t){if(function(t){return"object"==typeof t&&"function"==typeof t.to&&"function"==typeof t.from}(t))return!0;throw new Error("noUiSlider (14.6.3): ‘format’ requires ‘to’ and ‘from’ methods.")}function P(t,e){if(!i(e))throw new Error("noUiSlider (14.6.3): ‘step’ is not numeric.");t.singleStep=e}function N(t,e){if(!i(e))throw new Error("noUiSlider (14.6.3): ‘keyboardPageMultiplier’ is not numeric.");t.keyboardPageMultiplier=e}function k(t,e){if(!i(e))throw new Error("noUiSlider (14.6.3): ‘keyboardDefaultStep’ is not numeric.");t.keyboardDefaultStep=e}function U(t,e){if("object"!=typeof e||Array.isArray(e))throw new Error("noUiSlider (14.6.3): ‘range’ is not an object.");if(void 0===e.min||void 0===e.max)throw new Error("noUiSlider (14.6.3): Missing ‘min’ or ‘max’ in ‘range’.");if(e.min===e.max)throw new Error("noUiSlider (14.6.3): ‘range’ ‘min’ and ‘max’ cannot be equal.");t.spectrum=new x(e,t.snap,t.singleStep)}function A(t,e){if(e=a(e),!Array.isArray(e)||!e.length)throw new Error("noUiSlider (14.6.3): ‘start’ option is incorrect.");t.handles=e.length,t.start=e}function V(t,e){if(t.snap=e,"boolean"!=typeof e)throw new Error("noUiSlider (14.6.3): ‘snap’ option must be a boolean.")}function D(t,e){if(t.animate=e,"boolean"!=typeof e)throw new Error("noUiSlider (14.6.3): ‘animate’ option must be a boolean.")}function M(t,e){if(t.animationDuration=e,"number"!=typeof e)throw new Error("noUiSlider (14.6.3): ‘animationDuration’ option must be a number.")}function O(t,e){var r,n=[!1];if("lower"===e?e=[!0,!1]:"upper"===e&&(e=[!1,!0]),!0===e||!1===e){for(r=1;r<t.handles;r++)n.push(e);n.push(!1)}else{if(!Array.isArray(e)||!e.length||e.length!==t.handles+1)throw new Error("noUiSlider (14.6.3): ‘connect’ option doesn’t match handle count.");n=e}t.connect=n}function L(t,e){switch(e){case"horizontal":t.ort=0;break;case"vertical":t.ort=1;break;default:throw new Error("noUiSlider (14.6.3): ‘orientation’ option is invalid.")}}function z(t,e){if(!i(e))throw new Error("noUiSlider (14.6.3): ‘margin’ option must be numeric.");0!==e&&(t.margin=t.spectrum.getDistance(e))}function H(t,e){if(!i(e))throw new Error("noUiSlider (14.6.3): ‘limit’ option must be numeric.");if(t.limit=t.spectrum.getDistance(e),!t.limit||t.handles<2)throw new Error("noUiSlider (14.6.3): ‘limit’ option is only supported on linear sliders with 2 or more handles.")}function j(t,e){var r;if(!i(e)&&!Array.isArray(e))throw new Error("noUiSlider (14.6.3): ‘padding’ option must be numeric or array of exactly 2 numbers.");if(Array.isArray(e)&&2!==e.length&&!i(e[0])&&!i(e[1]))throw new Error("noUiSlider (14.6.3): ‘padding’ option must be numeric or array of exactly 2 numbers.");if(0!==e){for(Array.isArray(e)||(e=[e,e]),t.padding=[t.spectrum.getDistance(e[0]),t.spectrum.getDistance(e[1])],r=0;r<t.spectrum.xNumSteps.length-1;r++)if(t.padding[0][r]<0||t.padding[1][r]<0)throw new Error("noUiSlider (14.6.3): ‘padding’ option must be a positive number(s).");var n=e[0]+e[1],o=t.spectrum.xVal[0];if(n/(t.spectrum.xVal[t.spectrum.xVal.length-1]-o)>1)throw new Error("noUiSlider (14.6.3): ‘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 (14.6.3): ‘direction’ option was not recognized.")}}function R(t,e){if("string"!=typeof e)throw new Error("noUiSlider (14.6.3): ‘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;if(i){if(2!==t.handles)throw new Error("noUiSlider (14.6.3): ‘fixed’ behaviour must be used with 2 handles");z(t,t.start[1]-t.start[0])}if(a&&(t.margin||t.limit))throw new Error("noUiSlider (14.6.3): ‘unconstrained’ behaviour cannot be used with margin or limit");t.events={tap:r||o,drag:n,fixed:i,snap:o,hover:s,unconstrained:a}}function T(t,e){if(!1!==e)if(!0===e){t.tooltips=[];for(var r=0;r<t.handles;r++)t.tooltips.push(!0)}else{if(t.tooltips=a(e),t.tooltips.length!==t.handles)throw new Error("noUiSlider (14.6.3): must pass a formatter for all handles.");t.tooltips.forEach((function(t){if("boolean"!=typeof t&&("object"!=typeof t||"function"!=typeof t.to))throw new Error("noUiSlider (14.6.3): ‘tooltips’ must be passed a formatter or ‘false’.")}))}}function _(t,e){t.ariaFormat=e,C(e)}function B(t,e){t.format=e,C(e)}function q(t,e){if(t.keyboardSupport=e,"boolean"!=typeof e)throw new Error("noUiSlider (14.6.3): ‘keyboardSupport’ option must be a boolean.")}function X(t,e){t.documentElement=e}function Y(t,e){if("string"!=typeof e&&!1!==e)throw new Error("noUiSlider (14.6.3): ‘cssPrefix’ must be a string or `false`.");t.cssPrefix=e}function I(t,e){if("object"!=typeof e)throw new Error("noUiSlider (14.6.3): ‘cssClasses’ must be an object.");if("string"==typeof t.cssPrefix)for(var r in t.cssClasses={},e)e.hasOwnProperty(r)&&(t.cssClasses[r]=t.cssPrefix+e[r]);else t.cssClasses=e}function W(t){var e={margin:0,limit:0,padding:0,animate:!0,animationDuration:300,ariaFormat:S,format:S},n={step:{r:!1,t:P},keyboardPageMultiplier:{r:!1,t:N},keyboardDefaultStep:{r:!1,t:k},start:{r:!0,t:A},connect:{r:!0,t:O},direction:{r:!0,t:F},snap:{r:!1,t:V},animate:{r:!1,t:D},animationDuration:{r:!1,t:M},range:{r:!0,t:U},orientation:{r:!1,t:L},margin:{r:!1,t:z},limit:{r:!1,t:H},padding:{r:!1,t:j},behaviour:{r:!0,t:R},ariaFormat:{r:!1,t:_},format:{r:!1,t:B},tooltips:{r:!1,t:T},keyboardSupport:{r:!0,t:q},documentElement:{r:!1,t:X},cssPrefix:{r:!0,t:Y},cssClasses:{r:!0,t:I}},i={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:!0,cssPrefix:"noUi-",cssClasses:w,keyboardPageMultiplier:5,keyboardDefaultStep:10};t.format&&!t.ariaFormat&&(t.ariaFormat=t.format),Object.keys(n).forEach((function(o){if(!r(t[o])&&void 0===i[o]){if(n[o].r)throw new Error("noUiSlider (14.6.3): ‘"+o+"’ is required.");return!0}n[o].t(e,r(t[o])?t[o]:i[o])})),e.pips=t.pips;var o=document.createElement("div"),s=void 0!==o.style.msTransform,a=void 0!==o.style.transform;return e.transformRule=a?"transform":s?"msTransform":"webkitTransform",e.style=[["left","top"],["right","bottom"]][e.dir][e.ort],e}function $(t,r,i){var l,f,d,h,m,g,v,b,x=window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"},S=window.CSS&&CSS.supports&&CSS.supports("touch-action","none")&&function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e)}catch(t){}return t}(),w=t,C=r.spectrum,P=[],N=[],k=[],U=0,A={},V=t.ownerDocument,D=r.documentElement||V.documentElement,M=V.body,O="rtl"===V.dir||1===r.ort?0:100;function L(t,e){var r=V.createElement("div");return e&&u(r,e),t.appendChild(r),r}function z(t,e){var n=L(t,r.cssClasses.origin),i=L(n,r.cssClasses.handle);return L(i,r.cssClasses.touchArea),i.setAttribute("data-handle",e),r.keyboardSupport&&(i.setAttribute("tabindex","0"),i.addEventListener("keydown",(function(t){return function(t,e){if(F()||R(e))return!1;var n=["Left","Right"],i=["Down","Up"],o=["PageDown","PageUp"],s=["Home","End"];r.dir&&!r.ort?n.reverse():r.ort&&!r.dir&&(i.reverse(),o.reverse());var a,l=t.key.replace("Arrow",""),u=l===o[0],c=l===o[1],p=l===i[0]||l===n[0]||u,f=l===i[1]||l===n[1]||c,d=l===s[0],h=l===s[1];if(!(p||f||d||h))return!0;if(t.preventDefault(),f||p){var m=r.keyboardPageMultiplier,g=p?0:1,v=ht(e)[g];if(null===v)return!1;!1===v&&(v=C.getDefaultStep(N[e],p,r.keyboardDefaultStep)),(c||u)&&(v*=m),v=Math.max(v,1e-7),v*=p?-1:1,a=P[e]+v}else a=h?r.spectrum.xVal[r.spectrum.xVal.length-1]:r.spectrum.xVal[0];return ut(e,C.toStepping(a),!0,!0),nt("slide",e),nt("update",e),nt("change",e),nt("set",e),!1}(t,e)}))),i.setAttribute("role","slider"),i.setAttribute("aria-orientation",r.ort?"vertical":"horizontal"),0===e?u(i,r.cssClasses.handleLower):e===r.handles-1&&u(i,r.cssClasses.handleUpper),n}function H(t,e){return!!e&&L(t,r.cssClasses.connect)}function j(t,e){return!!r.tooltips[e]&&L(t.firstChild,r.cssClasses.tooltip)}function F(){return w.hasAttribute("disabled")}function R(t){return f[t].hasAttribute("disabled")}function T(){m&&(rt("update"+y),m.forEach((function(t){t&&e(t)})),m=null)}function _(){T(),m=f.map(j),et("update"+y,(function(t,e,n){if(m[e]){var i=t[e];!0!==r.tooltips[e]&&(i=r.tooltips[e].to(n[e])),m[e].innerHTML=i}}))}function B(t,e,n){var i=V.createElement("div"),o=[];o[0]=r.cssClasses.valueNormal,o[1]=r.cssClasses.valueLarge,o[2]=r.cssClasses.valueSub;var s=[];s[0]=r.cssClasses.markerNormal,s[1]=r.cssClasses.markerLarge,s[2]=r.cssClasses.markerSub;var a=[r.cssClasses.valueHorizontal,r.cssClasses.valueVertical],l=[r.cssClasses.markerHorizontal,r.cssClasses.markerVertical];function c(t,e){var n=e===r.cssClasses.value,i=n?o:s;return e+" "+(n?a:l)[r.ort]+" "+i[t]}return u(i,r.cssClasses.pips),u(i,0===r.ort?r.cssClasses.pipsHorizontal:r.cssClasses.pipsVertical),Object.keys(t).forEach((function(o){!function(t,o,s){if(-1!==(s=e?e(o,s):s)){var a=L(i,!1);a.className=c(s,r.cssClasses.marker),a.style[r.style]=t+"%",s>0&&((a=L(i,!1)).className=c(s,r.cssClasses.value),a.setAttribute("data-value",o),a.style[r.style]=t+"%",a.innerHTML=n.to(o))}}(o,t[o][0],t[o][1])})),i}function q(){h&&(e(h),h=null)}function X(t){q();var e=t.mode,r=t.density||1,n=t.filter||!1,i=function(t,e,r){if("range"===t||"steps"===t)return C.xVal;if("count"===t){if(e<2)throw new Error("noUiSlider (14.6.3): ‘values’ (>= 2) required for mode ‘count’.");var n=e-1,i=100/n;for(e=[];n–;)e[n]=n*i;e.push(100),t="positions"}return"positions"===t?e.map((function(t){return C.fromStepping(r?C.getStep(t):t)})):"values"===t?r?e.map((function(t){return C.fromStepping(C.getStep(C.toStepping(t)))})):e:void 0}(e,t.values||!1,t.stepped||!1),o=function(t,e,r){var n,i={},o=C.xVal[0],s=C.xVal[C.xVal.length-1],a=!1,l=!1,u=0;return n=r.slice().sort((function(t,e){return t-e})),(r=n.filter((function(t){return!this[t]&&(this[t]=!0)}),{}))[0]!==o&&(r.unshift(o),a=!0),r[r.length-1]!==s&&(r.push(s),l=!0),r.forEach((function(n,o){var s,c,p,f,d,h,m,g,v,b,x=n,S=r[o+1],w="steps"===e;if(w&&(s=C.xNumSteps[o]),s||(s=S-x),!1!==x)for(void 0===S&&(S=x),s=Math.max(s,1e-7),c=x;c<=S;c=(c+s).toFixed(7)/1){for(g=(d=(f=C.toStepping(c))-u)/t,b=d/(v=Math.round(g)),p=1;p<=v;p+=1)i[(h=u+p*b).toFixed(5)]=[C.fromStepping(h),0];m=r.indexOf(c)>-1?1:w?2:0,!o&&a&&c!==S&&(m=0),c===S&&l||(i[f.toFixed(5)]=[c,m]),u=f}})),i}(r,e,i),s=t.format||{to:Math.round};return h=w.appendChild(B(o,n,s))}function Y(){var t=l.getBoundingClientRect(),e="offset"+["Width","Height"][r.ort];return 0===r.ort?t.width||l[e]:t.height||l[e]}function I(t,e,n,i){var o=function(o){return!!(o=function(t,e,r){var n,i,o=0===t.type.indexOf("touch"),s=0===t.type.indexOf("mouse"),a=0===t.type.indexOf("pointer");if(0===t.type.indexOf("MSPointer")&&(a=!0),"mousedown"===t.type&&!t.buttons&&!t.touches)return!1;if(o){var l=function(t){return t.target===r||r.contains(t.target)||t.target.shadowRoot&&t.target.shadowRoot.contains(r)};if("touchstart"===t.type){var u=Array.prototype.filter.call(t.touches,l);if(u.length>1)return!1;n=u[0].pageX,i=u[0].pageY}else{var c=Array.prototype.find.call(t.changedTouches,l);if(!c)return!1;n=c.pageX,i=c.pageY}}return e=e||p(V),(s||a)&&(n=t.clientX+e.x,i=t.clientY+e.y),t.pageOffset=e,t.points=[n,i],t.cursor=s||a,t}(o,i.pageOffset,i.target||e))&&!(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!==o.buttons&&o.buttons>1)&&(!i.hover||!o.buttons)&&(S||o.preventDefault(),o.calcPoint=o.points[r.ort],void n(o,i)));var s,a},s=[];return t.split(" ").forEach((function(t){e.addEventListener(t,o,!!S&&{passive:!0}),s.push([t,o])})),s}function $(t){var e,n,i,o,a,u,c=100*(t-(e=l,n=r.ort,i=e.getBoundingClientRect(),o=e.ownerDocument,a=o.documentElement,u=p(o),/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(u.x=0),n?i.top+u.y-a.clientTop:i.left+u.x-a.clientLeft))/Y();return c=s(c),r.dir?100-c:c}function G(t,e){"mouseout"===t.type&&"HTML"===t.target.nodeName&&null===t.relatedTarget&&K(t,e)}function J(t,e){if(-1===navigator.appVersion.indexOf("MSIE 9")&&0===t.buttons&&0!==e.buttonsProperty)return K(t,e);var n=(r.dir?-1:1)*(t.calcPoint-e.startCalcPoint);st(n>0,100*n/e.baseSize,e.locations,e.handleNumbers)}function K(t,e){e.handle&&(c(e.handle,r.cssClasses.active),U-=1),e.listeners.forEach((function(t){D.removeEventListener(t[0],t[1])})),0===U&&(c(w,r.cssClasses.drag),lt(),t.cursor&&(M.style.cursor="",M.removeEventListener("selectstart",n))),e.handleNumbers.forEach((function(t){nt("change",t),nt("set",t),nt("end",t)}))}function Q(t,e){if(e.handleNumbers.some(R))return!1;var i;1===e.handleNumbers.length&&(i=f[e.handleNumbers[0]].children[0],U+=1,u(i,r.cssClasses.active)),t.stopPropagation();var o=[],s=I(x.move,D,J,{target:t.target,handle:i,listeners:o,startCalcPoint:t.calcPoint,baseSize:Y(),pageOffset:t.pageOffset,handleNumbers:e.handleNumbers,buttonsProperty:t.buttons,locations:N.slice()}),a=I(x.end,D,K,{target:t.target,handle:i,listeners:o,doNotReject:!0,handleNumbers:e.handleNumbers}),l=I("mouseout",D,G,{target:t.target,handle:i,listeners:o,doNotReject:!0,handleNumbers:e.handleNumbers});o.push.apply(o,s.concat(a,l)),t.cursor&&(M.style.cursor=getComputedStyle(t.target).cursor,f.length>1&&u(w,r.cssClasses.drag),M.addEventListener("selectstart",n,!1)),e.handleNumbers.forEach((function(t){nt("start",t)}))}function Z(t){t.stopPropagation();var e=$(t.calcPoint),n=function(t){var e=100,r=!1;return f.forEach((function(n,i){if(!R(i)){var o=N[i],s=Math.abs(o-t);(s<e||s<=e&&t>o||100===s&&100===e)&&(r=i,e=s)}})),r}(e);if(!1===n)return!1;r.events.snap||o(w,r.cssClasses.tap,r.animationDuration),ut(n,e,!0,!0),lt(),nt("slide",n,!0),nt("update",n,!0),nt("change",n,!0),nt("set",n,!0),r.events.snap&&Q(t,{handleNumbers:[n]})}function tt(t){var e=$(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(g,n)}))}))}function et(t,e){A[t]=A[t]||[],A[t].push(e),"update"===t.split(".")[0]&&f.forEach((function(t,e){nt("update",e)}))}function rt(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===E||t===y}(i)&&r!==i||delete A[t]}))}function nt(t,e,n){Object.keys(A).forEach((function(i){var o=i.split(".")[0];t===o&&A[i].forEach((function(t){t.call(g,P.map(r.format.to),e,P.slice(),n||!1,N.slice(),g)}))}))}function it(t,e,n,i,o,a){var l;return f.length>1&&!r.events.unconstrained&&(i&&e>0&&(l=C.getAbsoluteDistance(t[e-1],r.margin,0),n=Math.max(n,l)),o&&e<f.length-1&&(l=C.getAbsoluteDistance(t[e+1],r.margin,1),n=Math.min(n,l))),f.length>1&&r.limit&&(i&&e>0&&(l=C.getAbsoluteDistance(t[e-1],r.limit,0),n=Math.min(n,l)),o&&e<f.length-1&&(l=C.getAbsoluteDistance(t[e+1],r.limit,1),n=Math.max(n,l))),r.padding&&(0===e&&(l=C.getAbsoluteDistance(0,r.padding[0],0),n=Math.max(n,l)),e===f.length-1&&(l=C.getAbsoluteDistance(100,r.padding[1],1),n=Math.min(n,l))),!((n=s(n=C.getStep(n)))===t[e]&&!a)&&n}function ot(t,e){var n=r.ort;return(n?e:t)+", "+(n?t:e)}function st(t,e,r,n){var i=r.slice(),o=[!t,t],s=[t,!t];n=n.slice(),t&&n.reverse(),n.length>1?n.forEach((function(t,r){var n=it(i,t,i[t]+e,o[r],s[r],!1);!1===n?e=0:(e=n-i[t],i[t]=n)})):o=s=[!0];var a=!1;n.forEach((function(t,n){a=ut(t,r[t]+e,o[n],s[n])||a})),a&&n.forEach((function(t){nt("update",t),nt("slide",t)}))}function at(t,e){return r.dir?100-t-e:t}function lt(){k.forEach((function(t){var e=N[t]>50?-1:1,r=3+(f.length+e*t);f[t].style.zIndex=r}))}function ut(t,e,n,i,o){return o||(e=it(N,t,e,n,i,!1)),!1!==e&&(function(t,e){N[t]=e,P[t]=C.fromStepping(e);var n="translate("+ot(10*(at(e,0)-O)+"%","0")+")";f[t].style[r.transformRule]=n,ct(t),ct(t+1)}(t,e),!0)}function ct(t){if(d[t]){var e=0,n=100;0!==t&&(e=N[t-1]),t!==d.length-1&&(n=N[t]);var i=n-e,o="translate("+ot(at(e,i)+"%","0")+")",s="scale("+ot(i/100,"1")+")";d[t].style[r.transformRule]=o+" "+s}}function pt(t,e){return null===t||!1===t||void 0===t?N[e]:("number"==typeof t&&(t=String(t)),t=r.format.from(t),!1===(t=C.toStepping(t))||isNaN(t)?N[e]:t)}function ft(t,e,n){var i=a(t),s=void 0===N[0];e=void 0===e||!!e,r.animate&&!s&&o(w,r.cssClasses.tap,r.animationDuration),k.forEach((function(t){ut(t,pt(i[t],t),!0,!1,n)}));for(var l=1===k.length?0:1;l<k.length;++l)k.forEach((function(t){ut(t,N[t],!0,!0,n)}));lt(),k.forEach((function(t){nt("update",t),null!==i[t]&&e&&nt("set",t)}))}function dt(){var t=P.map(r.format.to);return 1===t.length?t[0]:t}function ht(t){var e=N[t],n=C.getNearbySteps(e),i=P[t],o=n.thisStep.step,s=null;if(r.snap)return[i-n.stepBefore.startValue||null,n.stepAfter.startValue-i||null];!1!==o&&i+o>n.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]}return u(v=w,r.cssClasses.target),0===r.dir?u(v,r.cssClasses.ltr):u(v,r.cssClasses.rtl),0===r.ort?u(v,r.cssClasses.horizontal):u(v,r.cssClasses.vertical),u(v,"rtl"===getComputedStyle(v).direction?r.cssClasses.textDirectionRtl:r.cssClasses.textDirectionLtr),l=L(v,r.cssClasses.base),function(t,e){var n=L(e,r.cssClasses.connects);f=[],(d=[]).push(H(n,t[0]));for(var i=0;i<r.handles;i++)f.push(z(e,i)),k[i]=i,d.push(H(n,t[i+1]))}(r.connect,l),(b=r.events).fixed||f.forEach((function(t,e){I(x.start,t.children[0],Q,{handleNumbers:[e]})})),b.tap&&I(x.start,l,Z,{}),b.hover&&I(x.move,l,tt,{hover:!0}),b.drag&&d.forEach((function(t,e){if(!1!==t&&0!==e&&e!==d.length-1){var n=f[e-1],i=f[e],o=[t];u(t,r.cssClasses.draggable),b.fixed&&(o.push(n.children[0]),o.push(i.children[0])),o.forEach((function(t){I(x.start,t,Q,{handles:[n,i],handleNumbers:[e-1,e]})}))}})),ft(r.start),r.pips&&X(r.pips),r.tooltips&&_(),rt("update"+E),et("update"+E,(function(t,e,n,i,o){k.forEach((function(t){var e=f[t],i=it(N,t,0,!0,!0,!0),s=it(N,t,100,!0,!0,!0),a=o[t],l=r.ariaFormat.to(n[t]);i=C.fromStepping(i).toFixed(1),s=C.fromStepping(s).toFixed(1),a=C.fromStepping(a).toFixed(1),e.children[0].setAttribute("aria-valuemin",i),e.children[0].setAttribute("aria-valuemax",s),e.children[0].setAttribute("aria-valuenow",a),e.children[0].setAttribute("aria-valuetext",l)}))})),g={destroy:function(){for(var t in rt(E),rt(y),r.cssClasses)r.cssClasses.hasOwnProperty(t)&&c(w,r.cssClasses[t]);for(;w.firstChild;)w.removeChild(w.firstChild);delete w.noUiSlider},steps:function(){return k.map(ht)},on:et,off:rt,get:dt,set:ft,setHandle:function(t,e,r,n){if(!((t=Number(t))>=0&&t<k.length))throw new Error("noUiSlider (14.6.3): invalid handle number, got: "+t);ut(t,pt(e,t),!0,!0,n),nt("update",t),r&&nt("set",t)},reset:function(t){ft(r.start,t)},__moveHandles:function(t,e,r){st(t,e,N,r)},options:i,updateOptions:function(t,e){var n=dt(),o=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips"];o.forEach((function(e){void 0!==t[e]&&(i[e]=t[e])}));var s=W(i);o.forEach((function(e){void 0!==t[e]&&(r[e]=s[e])})),C=s.spectrum,r.margin=s.margin,r.limit=s.limit,r.padding=s.padding,r.pips?X(r.pips):q(),r.tooltips?_():T(),N=[],ft(t.start||n,e)},target:w,removePips:q,removeTooltips:T,getTooltips:function(){return m},getOrigins:function(){return f},pips:X}}return{__spectrum:x,version:t,cssClasses:w,create:function(t,e){if(!t||!t.nodeName)throw new Error("noUiSlider (14.6.3): create requires a single element, got: "+t);if(t.noUiSlider)throw new Error("noUiSlider (14.6.3): Slider was already initialized.");var r=$(t,W(e),e);return t.noUiSlider=r,r}}},"function"==typeof define&&define.amd?define([],o):"object"==typeof r?e.exports=o():window.noUiSlider=o()},n 440: function _(e,t,l,i,o){i(),l.root="bk-root",l.slider_title="bk-slider-title",l.slider_value="bk-slider-value",l.default=".bk-root .bk-slider-title{white-space:nowrap;}.bk-root .bk-slider-value{font-weight:600;}"},n 441: function _(o,t,r,i,n){i(),r.root="bk-root",r.default=’.bk-root{}.bk-root .noUi-target,.bk-root .noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box;}.bk-root .noUi-target{position:relative;}.bk-root .noUi-base,.bk-root .noUi-connects{width:100%;height:100%;position:relative;z-index:1;}.bk-root .noUi-connects{overflow:hidden;z-index:0;}.bk-root .noUi-connect,.bk-root .noUi-origin{will-change:transform;position:absolute;z-index:1;top:0;right:0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;-webkit-transform-style:preserve-3d;transform-origin:0 0;transform-style:flat;}.bk-root .noUi-connect{height:100%;width:100%;}.bk-root .noUi-origin{height:10%;width:10%;}.bk-root .noUi-txt-dir-rtl.noUi-horizontal .noUi-origin{left:0;right:auto;}.bk-root .noUi-vertical .noUi-origin{width:0;}.bk-root .noUi-horizontal .noUi-origin{height:0;}.bk-root .noUi-handle{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute;}.bk-root .noUi-touch-area{height:100%;width:100%;}.bk-root .noUi-state-tap .noUi-connect,.bk-root .noUi-state-tap .noUi-origin{-webkit-transition:transform 0.3s;transition:transform 0.3s;}.bk-root .noUi-state-drag *{cursor:inherit !important;}.bk-root .noUi-horizontal{height:18px;}.bk-root .noUi-horizontal .noUi-handle{width:34px;height:28px;right:-17px;top:-6px;}.bk-root .noUi-vertical{width:18px;}.bk-root .noUi-vertical .noUi-handle{width:28px;height:34px;right:-6px;top:-17px;}.bk-root .noUi-txt-dir-rtl.noUi-horizontal .noUi-handle{left:-17px;right:auto;}.bk-root .noUi-target{background:#FAFAFA;border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;}.bk-root .noUi-connects{border-radius:3px;}.bk-root .noUi-connect{background:#3FB8AF;}.bk-root .noUi-draggable{cursor:ew-resize;}.bk-root .noUi-vertical .noUi-draggable{cursor:ns-resize;}.bk-root .noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;}.bk-root .noUi-active{box-shadow:inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;}.bk-root .noUi-handle:before,.bk-root .noUi-handle:after{content:"";display:block;position:absolute;height:14px;width:1px;background:#E8E7E6;left:14px;top:6px;}.bk-root .noUi-handle:after{left:17px;}.bk-root .noUi-vertical .noUi-handle:before,.bk-root .noUi-vertical .noUi-handle:after{width:14px;height:1px;left:6px;top:14px;}.bk-root .noUi-vertical .noUi-handle:after{top:17px;}.bk-root [disabled] .noUi-connect{background:#B8B8B8;}.bk-root [disabled].noUi-target,.bk-root [disabled].noUi-handle,.bk-root [disabled] .noUi-handle{cursor:not-allowed;}.bk-root .noUi-pips,.bk-root .noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box;}.bk-root .noUi-pips{position:absolute;color:#999;}.bk-root .noUi-value{position:absolute;white-space:nowrap;text-align:center;}.bk-root .noUi-value-sub{color:#ccc;font-size:10px;}.bk-root .noUi-marker{position:absolute;background:#CCC;}.bk-root .noUi-marker-sub{background:#AAA;}.bk-root .noUi-marker-large{background:#AAA;}.bk-root .noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%;}.bk-root .noUi-value-horizontal{-webkit-transform:translate(-50%, 50%);transform:translate(-50%, 50%);}.bk-root .noUi-rtl .noUi-value-horizontal{-webkit-transform:translate(50%, 50%);transform:translate(50%, 50%);}.bk-root .noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px;}.bk-root .noUi-marker-horizontal.noUi-marker-sub{height:10px;}.bk-root .noUi-marker-horizontal.noUi-marker-large{height:15px;}.bk-root .noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%;}.bk-root .noUi-value-vertical{-webkit-transform:translate(0, -50%);transform:translate(0, -50%);padding-left:25px;}.bk-root .noUi-rtl .noUi-value-vertical{-webkit-transform:translate(0, 50%);transform:translate(0, 50%);}.bk-root .noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px;}.bk-root .noUi-marker-vertical.noUi-marker-sub{width:10px;}.bk-root .noUi-marker-vertical.noUi-marker-large{width:15px;}.bk-root .noUi-tooltip{display:block;position:absolute;border:1px solid #D9D9D9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap;}.bk-root .noUi-horizontal .noUi-tooltip{-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0);left:50%;bottom:120%;}.bk-root .noUi-vertical .noUi-tooltip{-webkit-transform:translate(0, -50%);transform:translate(0, -50%);top:50%;right:120%;}.bk-root .noUi-horizontal .noUi-origin > .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 442: function _(t,e,i,r,a){r();const s=t(1).__importDefault(t(181)),d=t(438),_=t(8);class n extends d.AbstractSliderView{}i.DateSliderView=n,n.__name__="DateSliderView";class l extends d.AbstractSlider{constructor(t){super(t),this.behaviour="tap",this.connected=[!0,!1]}static init_DateSlider(){this.prototype.default_view=n,this.override({format:"%d %b %Y"})}_formatter(t,e){return _.isString(e)?s.default(t,e):e.compute(t)}}i.DateSlider=l,l.__name__="DateSlider",l.init_DateSlider()},n 443: function _(e,t,i,n,s){n();const r=e(444);class _ extends r.MarkupView{render(){super.render(),this.model.render_as_text?this.markup_el.textContent=this.model.text:this.markup_el.innerHTML=this.model.text}}i.DivView=_,_.__name__="DivView";class a extends r.Markup{constructor(e){super(e)}static init_Div(){this.prototype.default_view=_,this.define((({Boolean:e})=>({render_as_text:[e,!1]})))}}i.Div=a,a.__name__="Div",a.init_Div()},n 444: function _(t,e,s,i,a){i();const n=t(1),l=t(224),r=t(43),c=t(488),u=n.__importStar(t(445));class _ extends c.WidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>{this.layout.invalidate_cache(),this.render(),this.root.compute_layout()}))}styles(){return[…super.styles(),u.default]}_update_layout(){this.layout=new l.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=r.div({class:u.clearfix,style:t}),this.el.appendChild(this.markup_el)}}s.MarkupView=_,_.__name__="MarkupView";class o extends c.Widget{constructor(t){super(t)}static init_Markup(){this.define((({String:t,Dict:e})=>({text:[t,""],style:[e(t),{}]})))}}s.Markup=o,o.__name__="Markup",o.init_Markup()},n 445: 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 446: function _(e,t,i,n,s){n();const o=e(1),r=e(419),l=e(264),d=e(43),_=e(8),u=o.__importStar(e(328)),c=o.__importStar(e(243)),h=c;class p extends r.AbstractButtonView{constructor(){super(…arguments),this._open=!1}styles(){return[…super.styles(),c.default]}render(){super.render();const e=d.div({class:[h.caret,h.down]});if(this.model.is_split){const t=this._render_button(e);t.classList.add(u.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 d.div({class:h.divider});{const i=_.isString(e)?e:e[0],n=d.div({},i);return n.addEventListener("click",(()=>this._item_click(t))),n}}));this.menu=d.div({class:[h.menu,h.below]},t),this.el.appendChild(this.menu),d.undisplay(this.menu)}_show_menu(){if(!this._open){this._open=!0,d.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,d.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 l.ButtonClick),super.click()):this._toggle_menu()}_item_click(e){this._hide_menu();const t=this.model.menu[e];if(null!=t){const i=_.isString(t)?t:t[1];_.isString(i)?this.model.trigger_event(new l.MenuItemClick(i)):i.execute(this.model,{index:e})}}}i.DropdownView=p,p.__name__="DropdownView";class m extends r.AbstractButton{constructor(e){super(e)}static init_Dropdown(){this.prototype.default_view=p,this.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)),[]]}))),this.override({label:"Dropdown"})}get is_split(){return this.split}}i.Dropdown=m,m.__name__="Dropdown",m.init_Dropdown()},n 447: function _(e,i,t,l,s){l();const n=e(488);class a extends n.WidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.render())),this.connect(this.model.properties.width.change,(()=>this.render()))}render(){null==this.dialogEl&&(this.dialogEl=document.createElement("input"),this.dialogEl.type="file",this.dialogEl.multiple=this.model.multiple,this.dialogEl.onchange=()=>{const{files:e}=this.dialogEl;null!=e&&this.load_files(e)},this.el.appendChild(this.dialogEl)),null!=this.model.accept&&""!=this.model.accept&&(this.dialogEl.accept=this.model.accept),this.dialogEl.style.width="{this.model.width}px",this.dialogEl.disabled=this.model.disabled}async load_files(e){const i=[],t=[],l=[];let s;for(s=0;s<e.length;s++){t.push(e[s].name);const n=await this.readfile(e[s]),[,a,,o]=n.split(/[:;,]/,4);i.push(o),l.push(a)}this.model.multiple?(this.model.filename=t,this.model.mime_type=l,this.model.value=i):(this.model.filename=t[0],this.model.mime_type=l[0],this.model.value=i[0])}readfile(e){return new Promise(((i,t)=>{const l=new FileReader;l.onload=()=>{var s;const{result:n}=l;null!=n?i(n):t(null!==(s=l.error)&&void 0!==s?s:new Error(`unable to read ‘${e.name}’`))},l.readAsDataURL(e)}))}}t.FileInputView=a,a.__name__="FileInputView";class o extends n.Widget{constructor(e){super(e)}static init_FileInput(){this.prototype.default_view=a,this.define((({Boolean:e,String:i,Array:t,Or:l})=>({value:[l(i,t(i)),""],mime_type:[l(i,t(i)),""],filename:[l(i,t(i)),""],accept:[i,""],multiple:[e,!1]})))}}t.FileInput=o,o.__name__="FileInput",o.init_FileInput()},n 448: function _(e,t,i,s,n){s();const l=e(1),o=e(43),r=e(8),c=e(426),h=l.__importStar(e(427));class p extends c.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 r.isString(e)?t=i=e:[t,i]=e,o.option({value:t},i)}));this.input_el=o.select({multiple:!0,class:h.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=p,p.__name__="MultiSelectView";class u extends c.InputWidget{constructor(e){super(e)}static init_MultiSelect(){this.prototype.default_view=p,this.define((({Int:e,String:t,Array:i,Tuple:s,Or:n})=>({value:[i(t),[]],options:[i(n(t,s(t,t))),[]],size:[e,4]})))}}i.MultiSelect=u,u.__name__="MultiSelect",u.init_MultiSelect()},n 449: function _(a,r,e,t,p){t();const s=a(444),i=a(43);class n extends s.MarkupView{render(){super.render();const a=i.p({style:{margin:0}},this.model.text);this.markup_el.appendChild(a)}}e.ParagraphView=n,n.__name__="ParagraphView";class _ extends s.Markup{constructor(a){super(a)}static init_Paragraph(){this.prototype.default_view=n}}e.Paragraph=_,_.__name__="Paragraph",_.init_Paragraph()},n 450: function _(s,t,e,n,r){n();const p=s(424);class u extends p.TextInputView{render(){super.render(),this.input_el.type="password"}}e.PasswordInputView=u,u.__name__="PasswordInputView";class a extends p.TextInput{constructor(s){super(s)}static init_PasswordInput(){this.prototype.default_view=u}}e.PasswordInput=a,a.__name__="PasswordInput",a.init_PasswordInput()},n 451: function _(e,t,i,l,s){l();const o=e(1),n=o.__importDefault(e(452)),h=e(43),a=e(8),u=e(224),c=o.__importStar(e(427)),d=o.__importDefault(e(453)),_=e(426);class r extends _.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,delete_button:l,placeholder:s,options:o,name:n,title:h}=this.model.properties;this.on_change([e,t,i,l,s,o,n,h],(()=>this.render()))}styles(){return[…super.styles(),d.default]}_update_layout(){this.layout=new u.CachedVariadicBox(this.el),this.layout.set_sizing(this.box_sizing())}render(){super.render(),this.input_el=h.select({multiple:!0,class:c.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 a.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),this.choice_el=new n.default(this.input_el,o);const u=()=>this.choice_el.containerOuter.element.getBoundingClientRect().height;null!=this._last_height&&this._last_height!=u()&&this.root.invalidate_layout(),this._last_height=u(),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=r,r.__name__="MultiChoiceView";class m extends _.InputWidget{constructor(e){super(e)}static init_MultiChoice(){this.prototype.default_view=r,this.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],solid:[e,!0]})))}}i.MultiChoice=m,m.__name__="MultiChoice",m.init_MultiChoice()},n 452: 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.0n *n * http://www.apache.org/licenses/LICENSE-2.0n */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;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var r=i(2),o=i(8),a=i(0),c=function(){function e(t,i){var n=i.location,s=void 0===n?0:n,r=i.distance,a=void 0===r?100:r,c=i.threshold,l=void 0===c?.6:c,h=i.maxPatternLength,u=void 0===h?32:h,d=i.caseSensitive,p=void 0!==d&&d,m=i.tokenSeparator,f=void 0===m?/ +/g:m,v=i.findAllMatches,g=void 0!==v&&v,_=i.minMatchCharLength,b=void 0===_?1:_,y=i.id,E=void 0===y?null:y,I=i.keys,S=void 0===I?[]:I,w=i.shouldSort,O=void 0===w||w,C=i.getFn,A=void 0===C?o:C,L=i.sortFn,T=void 0===L?function(e,t){return e.score-t.score}:L,x=i.tokenize,k=void 0!==x&&x,P=i.matchAllTokens,D=void 0!==P&&P,M=i.includeMatches,N=void 0!==M&&M,F=i.includeScore,j=void 0!==F&&F,K=i.verbose,R=void 0!==K&&K;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.options={location:s,distance:a,threshold:l,maxPatternLength:u,isCaseSensitive:p,tokenSeparator:f,findAllMatches:g,minMatchCharLength:b,id:E,keys:S,includeMatches:N,includeScore:j,shouldSort:O,getFn:A,sortFn:T,verbose:R,tokenize:k,matchAllTokens:D},this.setCollection(t)}var t,i,c;return t=e,(i=[{key:"setCollection",value:function(e){return this.list=e,e}},{key:"search",value:function(e){var t=arguments.length>1&&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;n<s;n+=1)t.push(new r(i[n],this.options));return{tokenSearchers:t,fullSearcher:new r(e,this.options)}}},{key:"_search",value:function(){var e=arguments.length>0&&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;r<o;r+=1)this._analyze({key:"",value:i[r],record:r,index:r},{resultMap:n,results:s,tokenSearchers:e,fullSearcher:t});return{weights:null,results:s}}for(var a={},c=0,l=i.length;c<l;c+=1)for(var h=i[c],u=0,d=this.options.keys.length;u<d;u+=1){var p=this.options.keys[u];if("string"!=typeof p){if(a[p.name]={weight:1-p.weight||1},p.weight<=0||p.weight>1)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<h.length;S+=1){var w=h[S];this._log(’\nPattern: "’.concat(w.pattern,’"’));for(var O=!1,C=0;C<E.length;C+=1){var A=E[C],L=w.search(A),T={};L.isMatch?(T[A]=L.score,g=!0,O=!0,I.push(L.score)):(T[A]=1,this.options.matchAllTokens||I.push(1)),this._log(‘Token: "’.concat(A,’", score: ‘).concat(T[A]))}O&&(b+=1)}_=I[0];for(var x=I.length,k=1;k<x;k+=1)_+=I[k];_/=x,this._log("Token score average:",_)}var P=y.score;_>-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<F;N+=1)this._analyze({key:i,arrayIndex:N,value:r[N],record:o,index:c},{resultMap:m,results:v,tokenSearchers:h,fullSearcher:d})}}},{key:"_computeScore",value:function(e,t){this._log("\n\nComputing score:\n");for(var i=0,n=t.length;i<n;i+=1){for(var s=t[i].output,r=s.length,o=1,a=1,c=0;c<r;c+=1){var l=e?e[s[c].key].weight:1,h=(1===l?s[c].score:s[c].score||.001)*l;1!==l?a=Math.min(a,h):(s[c].nScore=h,o*=h)}t[i].score=1===a?o:a,this._log(t[i])}}},{key:"_sort",value:function(e){this._log("\n\nSorting…."),e.sort(this.options.sortFn)}},{key:"_format",value:function(e){var t=[];if(this.options.verbose){var i=[];this._log("\n\nOutput:\n\n",JSON.stringify(e,(function(e,t){if("object"===n(t)&&null!==t){if(-1!==i.indexOf(t))return;i.push(t)}return t}))),i=null}var s=[];this.options.includeMatches&&s.push((function(e,t){var i=e.output;t.matches=[];for(var n=0,s=i.length;n<s;n+=1){var r=i[n];if(0!==r.matchedIndices.length){var o={indices:r.matchedIndices,value:r.value};r.key&&(o.key=r.key),r.hasOwnProperty("arrayIndex")&&r.arrayIndex>-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;r<o;r+=1){var a=e[r];if(this.options.id&&(a.item=this.options.getFn(a.item,this.options.id)[0]),s.length){for(var c={item:a.item},l=0,h=s.length;l<h;l+=1)s[l](a,c);t.push(c)}else t.push(a.item)}return t}},{key:"_log",value:function(){var e;this.options.verbose&&(e=console).log.apply(e,arguments)}}])&&s(t.prototype,i),c&&s(t,c),e}();e.exports=c},function(e,t,i){function n(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var s=i(3),r=i(4),o=i(7),a=function(){function e(t,i){var n=i.location,s=void 0===n?0:n,r=i.distance,a=void 0===r?100:r,c=i.threshold,l=void 0===c?.6:c,h=i.maxPatternLength,u=void 0===h?32:h,d=i.isCaseSensitive,p=void 0!==d&&d,m=i.tokenSeparator,f=void 0===m?/ +/g:m,v=i.findAllMatches,g=void 0!==v&&v,_=i.minMatchCharLength,b=void 0===_?1:_;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.options={location:s,distance:a,threshold:l,maxPatternLength:u,isCaseSensitive:p,tokenSeparator:f,findAllMatches:g,minMatchCharLength:b},this.pattern=this.options.isCaseSensitive?t:t.toLowerCase(),this.pattern.length<=u&&(this.patternAlphabet=o(this.pattern))}var t,i,a;return t=e,(i=[{key:"search",value:function(e){if(this.options.isCaseSensitive||(e=e.toLowerCase()),this.pattern===e)return{isMatch:!0,score:0,matchedIndices:[[0,e.length-1]]};var t=this.options,i=t.maxPatternLength,n=t.tokenSeparator;if(this.pattern.length>i)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<l;c+=1){var h=r[c];a.push([e.indexOf(h),h.length-1])}return{score:o?.5:1,isMatch:o,matchedIndices:a}}},function(e,t,i){var n=i(5),s=i(6);e.exports=function(e,t,i,r){for(var o=r.location,a=void 0===o?0:o,c=r.distance,l=void 0===c?100:c,h=r.threshold,u=void 0===h?.6:h,d=r.findAllMatches,p=void 0!==d&&d,m=r.minMatchCharLength,f=void 0===m?1:m,v=a,g=e.length,_=u,b=e.indexOf(t,v),y=t.length,E=[],I=0;I<g;I+=1)E[I]=0;if(-1!==b){var S=n(t,{errors:0,currentLocation:b,expectedLocation:v,distance:l});if(_=Math.min(S,_),-1!==(b=e.lastIndexOf(t,v+y))){var w=n(t,{errors:0,currentLocation:b,expectedLocation:v,distance:l});_=Math.min(w,_)}}b=-1;for(var O=[],C=1,A=y+g,L=1<<y-1,T=0;T<y;T+=1){for(var x=0,k=A;x<k;)n(t,{errors:T,currentLocation:v+k,expectedLocation:v,distance:l})<=_?x=k:A=k,k=Math.floor((A-x)/2+x);A=k;var P=Math.max(1,v-k+1),D=p?g:Math.min(v+k,g)+y,M=Array(D+2);M[D+1]=(1<<T)-1;for(var N=D;N>=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<o;r+=1){var a=e[r];a&&-1===n?n=r:a||-1===n||((s=r-1)-n+1>=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<i;n+=1)t[e.charAt(n)]=0;for(var s=0;s<i;s+=1)t[e.charAt(s)]|=1<<i-s-1;return t}},function(e,t,i){var n=i(0);e.exports=function(e,t){return function e(t,i,s){if(i){var r=i.indexOf("."),o=i,a=null;-1!==r&&(o=i.slice(0,r),a=i.slice(r+1));var c=t[o];if(null!=c)if(a||"string"!=typeof c&&"number"!=typeof c)if(n(c))for(var l=0,h=c.length;l<h;l+=1)e(c[l],a,s);else a&&e(c,a,s);else s.push(c.toString())}else s.push(t);return s}(e,t,[])}}])},function(e,t,i){"use strict";function n(e){var t,i=e.Symbol;return"function"==typeof i?i.observable?t=i.observable:(t=i("observable"),i.observable=t):t="@@observable",t}i.d(t,"a",(function(){return n}))},function(e,t,i){e.exports=i(7)},function(e,t){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"==typeof window&&(i=window)}e.exports=i},function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,"exports",{enumerable:!0}),t.webpackPolyfill=1}return t}},function(e,t,i){"use strict";i.r(t);var n=i(2),s=i.n(n),r=i(0),o=i.n(r),a=i(1),c=function(){return Math.random().toString(36).substring(7).split("").join(".")},l={INIT:"@@redux/INIT"+c(),REPLACE:"@@redux/REPLACE"+c(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+c()}};function h(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function u(e,t,i){var n;if("function"==typeof t&&"function"==typeof i||"function"==typeof i&&"function"==typeof arguments[3])throw new Error("It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function.");if("function"==typeof t&&void 0===i&&(i=t,t=void 0),void 0!==i){if("function"!=typeof i)throw new Error("Expected the enhancer to be a function.");return i(u)(e,t)}if("function"!=typeof e)throw new Error("Expected the reducer to be a function.");var s=e,r=t,o=[],c=o,d=!1;function p(){c===o&&(c=o.slice())}function m(){if(d)throw new Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return r}function f(e){if("function"!=typeof e)throw new Error("Expected the listener to be a function.");if(d)throw new Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");var t=!0;return p(),c.push(e),function(){if(t){if(d)throw new Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");t=!1,p();var i=c.indexOf(e);c.splice(i,1)}}}function v(e){if(!h(e))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw new Error(‘Actions may not have an undefined "type" property. Have you misspelled a constant?’);if(d)throw new Error("Reducers may not dispatch actions.");try{d=!0,r=s(r,e)}finally{d=!1}for(var t=o=c,i=0;i<t.length;i++)(0,t[i])();return e}function g(e){if("function"!=typeof e)throw new Error("Expected the nextReducer to be a function.");s=e,v({type:l.REPLACE})}function _(){var e,t=f;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new TypeError("Expected the observer to be an object.");function i(){e.next&&e.next(m())}return i(),{unsubscribe:t(i)}}})[a.a]=function(){return this},e}return v({type:l.INIT}),(n={dispatch:v,subscribe:f,getState:m,replaceReducer:g})[a.a]=_,n}function d(e,t){var i=t&&t.type;return"Given "+(i&&’action "’+String(i)+’"’||"an action")+’, reducer "’+e+’" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.’}var p,m=[],f=[],v=[],g={loading:!1},_=function(e,t){switch(void 0===e&&(e=g),t.type){case"SET_IS_LOADING":return{loading:t.isLoading};default:return e}},b=function(e){return Array.from({length:e},(function(){return(e=0,t=36,Math.floor(Math.random()*(t-e)+e)).toString(36);var e,t})).join("")},y=function(e){return Object.prototype.toString.call(e).slice(8,-1)},E=function(e,t){return null!=t&&y(t)===e},I=function(e){return"string"!=typeof e?e:e.replace(/&/g,"&amp;").replace(/>/g,"&rt;").replace(/</g,"&lt;").replace(/"/g,"&quot;")},S=(p=document.createElement("div"),function(e){var t=e.trim();p.innerHTML=t;for(var i=p.children[0];p.firstChild;)p.removeChild(p.firstChild);return i}),w=function(e,t){return e.score-t.score},O=function(e){return JSON.parse(JSON.stringify(e))},C=function(e){for(var t=Object.keys(e),i={},n=0;n<t.length;n++){var s=t[n];"function"==typeof e[s]&&(i[s]=e[s])}var r,o=Object.keys(i);try{!function(e){Object.keys(e).forEach((function(t){var i=e[t];if(void 0===i(void 0,{type:l.INIT}))throw new Error(‘Reducer "’+t+"\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don’t want to set a value for this reducer, you can use null instead of undefined.");if(void 0===i(void 0,{type:l.PROBE_UNKNOWN_ACTION()}))throw new Error(‘Reducer "’+t+"\" returned undefined when probed with a random type. Don’t try to handle "+l.INIT+’ or other actions in "redux/" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.’)}))}(i)}catch(e){r=e}return function(e,t){if(void 0===e&&(e={}),r)throw r;for(var n=!1,s={},a=0;a<o.length;a++){var c=o[a],l=i[c],h=e[c],u=l(h,t);if(void 0===u){var p=d(c,t);throw new Error(p)}s[c]=u,n=n||u!==h}return n?s:e}}({items:function(e,t){switch(void 0===e&&(e=m),t.type){case"ADD_ITEM":return[].concat(e,[{id:t.id,choiceId:t.choiceId,groupId:t.groupId,value:t.value,label:t.label,active:!0,highlighted:!1,customProperties:t.customProperties,placeholder:t.placeholder||!1,keyCode:null}]).map((function(e){var t=e;return t.highlighted=!1,t}));case"REMOVE_ITEM":return e.map((function(e){var i=e;return i.id===t.id&&(i.active=!1),i}));case"HIGHLIGHT_ITEM":return e.map((function(e){var i=e;return i.id===t.id&&(i.highlighted=t.highlighted),i}));default:return e}},groups:function(e,t){switch(void 0===e&&(e=f),t.type){case"ADD_GROUP":return[].concat(e,[{id:t.id,value:t.value,active:t.active,disabled:t.disabled}]);case"CLEAR_CHOICES":return[];default:return e}},choices:function(e,t){switch(void 0===e&&(e=v),t.type){case"ADD_CHOICE":return[].concat(e,[{id:t.id,elementId:t.elementId,groupId:t.groupId,value:t.value,label:t.label||t.value,disabled:t.disabled||!1,selected:!1,active:!0,score:9999,customProperties:t.customProperties,placeholder:t.placeholder||!1,keyCode:null}]);case"ADD_ITEM":return t.activateOptions?e.map((function(e){var i=e;return i.active=t.active,i})):t.choiceId>-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<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var T=function(){function e(){this._store=u(A,window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__())}var t,i,n,s=e.prototype;return s.subscribe=function(e){this._store.subscribe(e)},s.dispatch=function(e){this._store.dispatch(e)},s.isLoading=function(){return this.state.general.loading},s.getChoiceById=function(e){return this.activeChoices.find((function(t){return t.id===parseInt(e,10)}))},s.getGroupById=function(e){return this.groups.find((function(t){return t.id===e}))},t=e,(i=[{key:"state",get:function(){return this._store.getState()}},{key:"items",get:function(){return this.state.items}},{key:"activeItems",get:function(){return this.items.filter((function(e){return!0===e.active}))}},{key:"highlightedActiveItems",get:function(){return this.items.filter((function(e){return e.active&&e.highlighted}))}},{key:"choices",get:function(){return this.state.choices}},{key:"activeChoices",get:function(){return this.choices.filter((function(e){return!0===e.active}))}},{key:"selectableChoices",get:function(){return this.choices.filter((function(e){return!0!==e.disabled}))}},{key:"searchableChoices",get:function(){return this.selectableChoices.filter((function(e){return!0!==e.placeholder}))}},{key:"placeholderChoice",get:function(){return[].concat(this.choices).reverse().find((function(e){return!0===e.placeholder}))}},{key:"groups",get:function(){return this.state.groups}},{key:"activeGroups",get:function(){var e=this.groups,t=this.choices;return e.filter((function(e){var i=!0===e.active&&!1===e.disabled,n=t.some((function(e){return!0===e.active&&!1===e.disabled}));return i&&n}),[])}}])&&L(t.prototype,i),n&&L(t,n),e}();function x(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var k=function(){function e(e){var t=e.element,i=e.type,n=e.classNames;this.element=t,this.classNames=n,this.type=i,this.isActive=!1}var t,i,n,s=e.prototype;return s.getChild=function(e){return this.element.querySelector(e)},s.show=function(){return this.element.classList.add(this.classNames.activeState),this.element.setAttribute("aria-expanded","true"),this.isActive=!0,this},s.hide=function(){return this.element.classList.remove(this.classNames.activeState),this.element.setAttribute("aria-expanded","false"),this.isActive=!1,this},t=e,(i=[{key:"distanceFromTopWindow",get:function(){return this.element.getBoundingClientRect().bottom}}])&&x(t.prototype,i),n&&x(t,n),e}(),P={items:[],choices:[],silent:!1,renderChoiceLimit:-1,maxItemCount:-1,addItems:!0,addItemFilter:null,removeItems:!0,removeItemButton:!1,editItems:!1,duplicateItemsAllowed:!0,delimiter:",",paste:!0,searchEnabled:!0,searchChoices:!0,searchFloor:1,searchResultLimit:4,searchFields:["label","value"],position:"auto",resetScrollPosition:!0,shouldSort:!0,shouldSortItems:!1,sorter:function(e,t){var i=e.value,n=e.label,s=void 0===n?i:n,r=t.value,o=t.label,a=void 0===o?r:o;return s.localeCompare(a,[],{sensitivity:"base",ignorePunctuation:!0,numeric:!0})},placeholder:!0,placeholderValue:null,searchPlaceholderValue:null,prependValue:null,appendValue:null,renderSelectedChoices:"auto",loadingText:"Loading…",noResultsText:"No results found",noChoicesText:"No choices to choose from",itemSelectText:"Press to select",uniqueItemText:"Only unique values can be added",customAddItemText:"Only values matching specific conditions can be added",addItemText:function(e){return’Press Enter to add <b>"’+I(e)+’"</b>’},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;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var he=function(){function e(e){var t=e.element,i=e.type,n=e.classNames,s=e.preventPaste;this.element=t,this.type=i,this.classNames=n,this.preventPaste=s,this.isFocussed=this.element===document.activeElement,this.isDisabled=t.disabled,this._onPaste=this._onPaste.bind(this),this._onInput=this._onInput.bind(this),this._onFocus=this._onFocus.bind(this),this._onBlur=this._onBlur.bind(this)}var t,i,n,s=e.prototype;return s.addEventListeners=function(){this.element.addEventListener("paste",this._onPaste),this.element.addEventListener("input",this._onInput,{passive:!0}),this.element.addEventListener("focus",this._onFocus,{passive:!0}),this.element.addEventListener("blur",this._onBlur,{passive:!0})},s.removeEventListeners=function(){this.element.removeEventListener("input",this._onInput,{passive:!0}),this.element.removeEventListener("paste",this._onPaste),this.element.removeEventListener("focus",this._onFocus,{passive:!0}),this.element.removeEventListener("blur",this._onBlur,{passive:!0})},s.enable=function(){this.element.removeAttribute("disabled"),this.isDisabled=!1},s.disable=function(){this.element.setAttribute("disabled",""),this.isDisabled=!0},s.focus=function(){this.isFocussed||this.element.focus()},s.blur=function(){this.isFocussed&&this.element.blur()},s.clear=function(e){return void 0===e&&(e=!0),this.element.value&&(this.element.value=""),e&&this.setWidth(),this},s.setWidth=function(){var e=this.element,t=e.style,i=e.value,n=e.placeholder;t.minWidth=n.length+1+"ch",t.width=i.length+1+"ch"},s.setActiveDescendant=function(e){this.element.setAttribute("aria-activedescendant",e)},s.removeActiveDescendant=function(){this.element.removeAttribute("aria-activedescendant")},s._onInput=function(){this.type!==oe&&this.setWidth()},s._onPaste=function(e){this.preventPaste&&e.preventDefault()},s._onFocus=function(){this.isFocussed=!0},s._onBlur=function(){this.isFocussed=!1},t=e,(i=[{key:"placeholder",set:function(e){this.element.placeholder=e}},{key:"value",get:function(){return I(this.element.value)},set:function(e){this.element.value=e}}])&&le(t.prototype,i),n&&le(t,n),e}(),ue=function(){function e(e){var t=e.element;this.element=t,this.scrollPos=this.element.scrollTop,this.height=this.element.offsetHeight}var t=e.prototype;return t.clear=function(){this.element.innerHTML=""},t.append=function(e){this.element.appendChild(e)},t.getChild=function(e){return this.element.querySelector(e)},t.hasChildren=function(){return this.element.hasChildNodes()},t.scrollToTop=function(){this.element.scrollTop=0},t.scrollToChildElement=function(e,t){var i=this;if(e){var n=this.element.offsetHeight,s=this.element.scrollTop+n,r=e.offsetHeight,o=e.offsetTop+r,a=t>0?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),n<e&&(s=!0)):(this._scrollUp(n,4,e),n>e&&(s=!0)),s&&requestAnimationFrame((function(){i._animateScroll(e,t)}))},e}();function de(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var pe=function(){function e(e){var t=e.element,i=e.classNames;if(this.element=t,this.classNames=i,!(t instanceof HTMLInputElement||t instanceof HTMLSelectElement))throw new TypeError("Invalid element passed");this.isDisabled=!1}var t,i,n,s=e.prototype;return s.conceal=function(){this.element.classList.add(this.classNames.input),this.element.hidden=!0,this.element.tabIndex=-1;var e=this.element.getAttribute("style");e&&this.element.setAttribute("data-choice-orig-style",e),this.element.setAttribute("data-choice","active")},s.reveal=function(){this.element.classList.remove(this.classNames.input),this.element.hidden=!1,this.element.removeAttribute("tabindex");var e=this.element.getAttribute("data-choice-orig-style");e?(this.element.removeAttribute("data-choice-orig-style"),this.element.setAttribute("style",e)):this.element.removeAttribute("style"),this.element.removeAttribute("data-choice"),this.element.value=this.element.value},s.enable=function(){this.element.removeAttribute("disabled"),this.element.disabled=!1,this.isDisabled=!1},s.disable=function(){this.element.setAttribute("disabled",""),this.element.disabled=!0,this.isDisabled=!0},s.triggerEvent=function(e,t){!function(e,t,i){void 0===i&&(i=null);var n=new CustomEvent(t,{detail:i,bubbles:!0,cancelable:!0});e.dispatchEvent(n)}(this.element,e,t)},t=e,(i=[{key:"isActive",get:function(){return"active"===this.element.dataset.choice}},{key:"dir",get:function(){return this.element.dir}},{key:"value",get:function(){return this.element.value},set:function(e){this.element.value=e}}])&&de(t.prototype,i),n&&de(t,n),e}();function me(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var fe=function(e){var t,i,n,s,r;function o(t){var i,n=t.element,s=t.classNames,r=t.delimiter;return(i=e.call(this,{element:n,classNames:s})||this).delimiter=r,i}return i=e,(t=o).prototype=Object.create(i.prototype),t.prototype.constructor=t,t.__proto__=i,n=o,(s=[{key:"value",get:function(){return this.element.value},set:function(e){var t=e.map((function(e){return e.value})).join(this.delimiter);this.element.setAttribute("value",t),this.element.value=t}}])&&me(n.prototype,s),r&&me(n,r),o}(pe);function ve(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var ge=function(e){var t,i,n,s,r;function o(t){var i,n=t.element,s=t.classNames,r=t.template;return(i=e.call(this,{element:n,classNames:s})||this).template=r,i}return i=e,(t=o).prototype=Object.create(i.prototype),t.prototype.constructor=t,t.__proto__=i,o.prototype.appendDocFragment=function(e){this.element.innerHTML="",this.element.appendChild(e)},n=o,(s=[{key:"placeholderOption",get:function(){return this.element.querySelector(‘option[value=""]’)||this.element.querySelector("option[placeholder]")}},{key:"optionGroups",get:function(){return Array.from(this.element.getElementsByTagName("OPTGROUP"))}},{key:"options",get:function(){return Array.from(this.element.options)},set:function(e){var t=this,i=document.createDocumentFragment();e.forEach((function(e){return n=e,s=t.template(n),void i.appendChild(s);var n,s})),this.appendDocFragment(i)}}])&&ve(n.prototype,s),r&&ve(n,r),o}(pe),_e={containerOuter:function(e,t,i,n,s,r){var o=e.containerOuter,a=Object.assign(document.createElement("div"),{className:o});return a.dataset.type=r,t&&(a.dir=t),n&&(a.tabIndex=0),i&&(a.setAttribute("role",s?"combobox":"listbox"),s&&a.setAttribute("aria-autocomplete","list")),a.setAttribute("aria-haspopup","true"),a.setAttribute("aria-expanded","false"),a},containerInner:function(e){var t=e.containerInner;return Object.assign(document.createElement("div"),{className:t})},itemList:function(e,t){var i=e.list,n=e.listSingle,s=e.listItems;return Object.assign(document.createElement("div"),{className:i+" "+(t?n:s)})},placeholder:function(e,t){var i=e.placeholder;return Object.assign(document.createElement("div"),{className:i,innerHTML:t})},item:function(e,t,i){var n=e.item,s=e.button,r=e.highlightedState,o=e.itemSelectable,a=e.placeholder,c=t.id,l=t.value,h=t.label,u=t.customProperties,d=t.active,p=t.disabled,m=t.highlighted,f=t.placeholder,v=Object.assign(document.createElement("div"),{className:n,innerHTML:h});if(Object.assign(v.dataset,{item:"",id:c,value:l,customProperties:u}),d&&v.setAttribute("aria-selected","true"),p&&v.setAttribute("aria-disabled","true"),f&&v.classList.add(a),v.classList.add(m?r:o),i){p&&v.classList.remove(o),v.dataset.deletable="";var g="Remove item",_=Object.assign(document.createElement("button"),{type:"button",className:s,innerHTML:g});_.setAttribute("aria-label","Remove item: ‘"+l+"’"),_.dataset.button="",v.appendChild(_)}return v},choiceList:function(e,t){var i=e.list,n=Object.assign(document.createElement("div"),{className:i});return t||n.setAttribute("aria-multiselectable","true"),n.setAttribute("role","listbox"),n},choiceGroup:function(e,t){var i=e.group,n=e.groupHeading,s=e.itemDisabled,r=t.id,o=t.value,a=t.disabled,c=Object.assign(document.createElement("div"),{className:i+" "+(a?s:"")});return c.setAttribute("role","group"),Object.assign(c.dataset,{group:"",id:r,value:o}),a&&c.setAttribute("aria-disabled","true"),c.appendChild(Object.assign(document.createElement("div"),{className:n,innerHTML:o})),c},choice:function(e,t,i){var n=e.item,s=e.itemChoice,r=e.itemSelectable,o=e.selectedState,a=e.itemDisabled,c=e.placeholder,l=t.id,h=t.value,u=t.label,d=t.groupId,p=t.elementId,m=t.disabled,f=t.selected,v=t.placeholder,g=Object.assign(document.createElement("div"),{id:p,innerHTML:u,className:n+" "+s});return f&&g.classList.add(o),v&&g.classList.add(c),g.setAttribute("role",d>0?"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<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var we="-ms-scroll-limit"in document.documentElement.style&&"-ms-ime-align"in document.documentElement.style,Oe={},Ce=function(){var e,t,i;function n(e,t){var i=this;void 0===e&&(e="[data-choice]"),void 0===t&&(t={}),this.config=o.a.all([P,n.defaults.options,t],{arrayMerge:function(e,t){return[].concat(t)}});var s,r,a,c,l=(s=this.config,r=P,a=Object.keys(s).sort(),c=Object.keys(r).sort(),a.filter((function(e){return c.indexOf(e)<0})));l.length&&console.warn("Unknown config option(s) passed",l.join(", "));var h="string"==typeof e?document.querySelector(e):e;if(!(h instanceof HTMLInputElement||h instanceof HTMLSelectElement))throw TypeError("Expected one of the following types text|select-one|select-multiple");if(this._isTextElement=h.type===re,this._isSelectOneElement=h.type===oe,this._isSelectMultipleElement=h.type===ae,this._isSelectElement=this._isSelectOneElement||this._isSelectMultipleElement,this.config.searchEnabled=this._isSelectMultipleElement||this.config.searchEnabled,["auto","always"].includes(this.config.renderSelectedChoices)||(this.config.renderSelectedChoices="auto"),t.addItemFilter&&"function"!=typeof t.addItemFilter){var u=t.addItemFilter instanceof RegExp?t.addItemFilter:new RegExp(t.addItemFilter);this.config.addItemFilter=u.test.bind(u)}if(this._isTextElement?this.passedElement=new fe({element:h,classNames:this.config.classNames,delimiter:this.config.delimiter}):this.passedElement=new ge({element:h,classNames:this.config.classNames,template:function(e){return i._templates.option(e)}}),this.initialised=!1,this._store=new T,this._initialState={},this._currentState={},this._prevState={},this._currentValue="",this._canSearch=this.config.searchEnabled,this._isScrollingOnIe=!1,this._highlightPosition=0,this._wasTap=!0,this._placeholderValue=this._generatePlaceholderValue(),this._baseId=function(e,t){var i=e.id||e.name&&e.name+"-"+b(2)||b(4);return t+"-"+i.replace(/(:|.|\[|\]|,)/g,"")}(this.passedElement.element,"choices-"),this._direction=this.passedElement.dir,!this._direction){var d=window.getComputedStyle(this.passedElement.element).direction;d!==window.getComputedStyle(document.documentElement).direction&&(this._direction=d)}if(this._idNames={itemChoice:"item-choice"},this._presetGroups=this.passedElement.optionGroups,this._presetOptions=this.passedElement.options,this._presetChoices=this.config.choices,this._presetItems=this.config.items,this.passedElement.value&&(this._presetItems=this._presetItems.concat(this.passedElement.value.split(this.config.delimiter))),this.passedElement.options&&this.passedElement.options.forEach((function(e){i._presetChoices.push({value:e.value,label:e.innerHTML,selected:e.selected,disabled:e.disabled||e.parentNode.disabled,placeholder:""===e.value||e.hasAttribute("placeholder"),customProperties:e.getAttribute("data-custom-properties")})})),this._render=this._render.bind(this),this._onFocus=this._onFocus.bind(this),this._onBlur=this._onBlur.bind(this),this._onKeyUp=this._onKeyUp.bind(this),this._onKeyDown=this._onKeyDown.bind(this),this._onClick=this._onClick.bind(this),this._onTouchMove=this._onTouchMove.bind(this),this._onTouchEnd=this._onTouchEnd.bind(this),this._onMouseDown=this._onMouseDown.bind(this),this._onMouseOver=this._onMouseOver.bind(this),this._onFormReset=this._onFormReset.bind(this),this._onAKey=this._onAKey.bind(this),this._onEnterKey=this._onEnterKey.bind(this),this._onEscapeKey=this._onEscapeKey.bind(this),this._onDirectionKey=this._onDirectionKey.bind(this),this._onDeleteKey=this._onDeleteKey.bind(this),this.passedElement.isActive)return this.config.silent||console.warn("Trying to initialise Choices on element already initialised"),void(this.initialised=!0);this.init()}e=n,i=[{key:"defaults",get:function(){return Object.preventExtensions({get options(){return Oe},get templates(){return _e}})}}],(t=null)&&Se(e.prototype,t),i&&Se(e,i);var r=n.prototype;return r.init=function(){if(!this.initialised){this._createTemplates(),this._createElements(),this._createStructure(),this._initialState=O(this._store.state),this._store.subscribe(this._render),this._render(),this._addEventListeners(),(!this.config.addItems||this.passedElement.element.hasAttribute("disabled"))&&this.disable(),this.initialised=!0;var e=this.config.callbackOnInit;e&&"function"==typeof e&&e.call(this)}},r.destroy=function(){this.initialised&&(this._removeEventListeners(),this.passedElement.reveal(),this.containerOuter.unwrap(this.passedElement.element),this.clearStore(),this._isSelectElement&&(this.passedElement.options=this._presetOptions),this._templates=null,this.initialised=!1)},r.enable=function(){return this.passedElement.isDisabled&&this.passedElement.enable(),this.containerOuter.isDisabled&&(this._addEventListeners(),this.input.enable(),this.containerOuter.enable()),this},r.disable=function(){return this.passedElement.isDisabled||this.passedElement.disable(),this.containerOuter.isDisabled||(this._removeEventListeners(),this.input.disable(),this.containerOuter.disable()),this},r.highlightItem=function(e,t){if(void 0===t&&(t=!0),!e)return this;var i=e.id,n=e.groupId,s=void 0===n?-1:n,r=e.value,o=void 0===r?"":r,a=e.label,c=void 0===a?"":a,l=s>=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<m;v+=1)f[v]&&l(f[v]);return t},r._createItemsFragment=function(e,t){var i=this;void 0===t&&(t=document.createDocumentFragment());var n=this.config,s=n.shouldSortItems,r=n.sorter,o=n.removeItemButton;return s&&!this._isSelectOneElement&&e.sort(r),this._isTextElement?this.passedElement.value=e:this.passedElement.options=e,e.forEach((function(e){var n=i._getTemplate("item",e,o);t.appendChild(n)})),t},r._triggerChange=function(e){null!=e&&this.passedElement.triggerEvent(N,{value:e})},r._selectPlaceholderChoice=function(){var e=this._store.placeholderChoice;e&&(this._addItem({value:e.value,label:e.label,choiceId:e.id,groupId:e.groupId,placeholder:e.placeholder}),this._triggerChange(e.value))},r._handleButtonAction=function(e,t){if(e&&t&&this.config.removeItems&&this.config.removeItemButton){var i=t.parentNode.getAttribute("data-id"),n=e.find((function(e){return e.id===parseInt(i,10)}));this._removeItem(n),this._triggerChange(n.value),this._isSelectOneElement&&this._selectPlaceholderChoice()}},r._handleItemAction=function(e,t,i){var n=this;if(void 0===i&&(i=!1),e&&t&&this.config.removeItems&&!this._isSelectOneElement){var s=t.getAttribute("data-id");e.forEach((function(e){e.id!==parseInt(s,10)||e.highlighted?!i&&e.highlighted&&n.unhighlightItem(e):n.highlightItem(e)})),this.input.focus()}},r._handleChoiceAction=function(e,t){if(e&&t){var i=t.dataset.id,n=this._store.getChoiceById(i);if(n){var s=e[0]&&e[0].keyCode?e[0].keyCode:null,r=this.dropdown.isActive;n.keyCode=s,this.passedElement.triggerEvent(F,{choice:n}),n.selected||n.disabled||this._canAddItem(e,n.value).response&&(this._addItem({value:n.value,label:n.label,choiceId:n.id,groupId:n.groupId,customProperties:n.customProperties,placeholder:n.placeholder,keyCode:n.keyCode}),this._triggerChange(n.value)),this.clearInput(),r&&this._isSelectOneElement&&(this.hideDropdown(!0),this.containerOuter.focus())}}},r._handleBackspace=function(e){if(this.config.removeItems&&e){var t=e[e.length-1],i=e.some((function(e){return e.highlighted}));this.config.editItems&&!i&&t?(this.input.value=t.value,this.input.setWidth(),this._removeItem(t),this._triggerChange(t.value)):(i||this.highlightItem(t,!1),this.removeHighlightedItems(!0))}},r._startLoading=function(){this._store.dispatch(Ie(!0))},r._stopLoading=function(){this._store.dispatch(Ie(!1))},r._handleLoadingState=function(e){void 0===e&&(e=!0);var t=this.itemList.getChild("."+this.config.classNames.placeholder);e?(this.disable(),this.containerOuter.addLoadingState(),this._isSelectOneElement?t?t.innerHTML=this.config.loadingText:(t=this._getTemplate("placeholder",this.config.loadingText),this.itemList.append(t)):this.input.placeholder=this.config.loadingText):(this.enable(),this.containerOuter.removeLoadingState(),this._isSelectOneElement?t.innerHTML=this._placeholderValue||"":this.input.placeholder=this._placeholderValue||"")},r._handleSearch=function(e){if(e&&this.input.isFocussed){var t=this._store.choices,i=this.config,n=i.searchFloor,s=i.searchChoices,r=t.some((function(e){return!e.active}));if(e&&e.length>=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.offsetX<i.offsetLeft;this._isScrollingOnIe=n}if(t!==this.input.element){var s=t.closest("[data-button],[data-item],[data-choice]");if(s instanceof HTMLElement){var r=e.shiftKey,o=this._store.activeItems,a=s.dataset;"button"in a?this._handleButtonAction(o,s):"item"in a?this._handleItemAction(o,s,r):"choice"in a&&this._handleChoiceAction(o,s)}e.preventDefault()}}},r._onMouseOver=function(e){var t=e.target;t instanceof HTMLElement&&"choice"in t.dataset&&this._highlightChoice(t)},r._onClick=function(e){var t=e.target;this.containerOuter.element.contains(t)?this.dropdown.isActive||this.containerOuter.isDisabled?this._isSelectOneElement&&t!==this.input.element&&!this.dropdown.element.contains(t)&&this.hideDropdown():this._isTextElement?document.activeElement!==this.input.element&&this.input.focus():(this.showDropdown(),this.containerOuter.focus()):(this._store.highlightedActiveItems.length>0&&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<n;r++)s[r-1]=arguments[r];return(t=this._templates[e]).call.apply(t,[this,i].concat(s))},r._createTemplates=function(){var e=this.config.callbackOnCreateTemplates,t={};e&&"function"==typeof e&&(t=e.call(this,S)),this._templates=o()(_e,t)},r._createElements=function(){this.containerOuter=new ce({element:this._getTemplate("containerOuter",this._direction,this._isSelectElement,this._isSelectOneElement,this.config.searchEnabled,this.passedElement.element.type),classNames:this.config.classNames,type:this.passedElement.element.type,position:this.config.position}),this.containerInner=new ce({element:this._getTemplate("containerInner"),classNames:this.config.classNames,type:this.passedElement.element.type,position:this.config.position}),this.input=new he({element:this._getTemplate("input",this._placeholderValue),classNames:this.config.classNames,type:this.passedElement.element.type,preventPaste:!this.config.paste}),this.choiceList=new ue({element:this._getTemplate("choiceList",this._isSelectOneElement)}),this.itemList=new ue({element:this._getTemplate("itemList",this._isSelectOneElement)}),this.dropdown=new k({element:this._getTemplate("dropdown"),classNames:this.config.classNames,type:this.passedElement.element.type})},r._createStructure=function(){this.passedElement.conceal(),this.containerInner.wrap(this.passedElement.element),this.containerOuter.wrap(this.containerInner.element),this._isSelectOneElement?this.input.placeholder=this.config.searchPlaceholderValue||"":this._placeholderValue&&(this.input.placeholder=this._placeholderValue,this.input.setWidth()),this.containerOuter.element.appendChild(this.containerInner.element),this.containerOuter.element.appendChild(this.dropdown.element),this.containerInner.element.appendChild(this.itemList.element),this._isTextElement||this.dropdown.element.appendChild(this.choiceList.element),this._isSelectOneElement?this.config.searchEnabled&&this.dropdown.element.insertBefore(this.input.element,this.dropdown.element.firstChild):this.containerInner.element.appendChild(this.input.element),this._isSelectElement&&(this._highlightPosition=0,this._isSearching=!1,this._startLoading(),this._presetGroups.length?this._addPredefinedGroups(this._presetGroups):this._addPredefinedChoices(this._presetChoices),this._stopLoading()),this._isTextElement&&this._addPredefinedItems(this._presetItems)},r._addPredefinedGroups=function(e){var t=this,i=this.passedElement.placeholderOption;i&&"SELECT"===i.parentNode.tagName&&this._addChoice({value:i.value,label:i.innerHTML,isSelected:i.selected,isDisabled:i.disabled,placeholder:!0}),e.forEach((function(e){return t._addGroup({group:e,id:e.id||null})}))},r._addPredefinedChoices=function(e){var t=this;this.config.shouldSort&&e.sort(this.config.sorter);var i=e.some((function(e){return e.selected})),n=e.findIndex((function(e){return void 0===e.disabled||!e.disabled}));e.forEach((function(e,s){var r=e.value,o=e.label,a=e.customProperties,c=e.placeholder;if(t._isSelectElement)if(e.choices)t._addGroup({group:e,id:e.id||null});else{var l=!(!t._isSelectOneElement||i||s!==n)||e.selected,h=e.disabled;t._addChoice({value:r,label:o,isSelected:l,isDisabled:h,customProperties:a,placeholder:c})}else t._addChoice({value:r,label:o,isSelected:e.selected,isDisabled:e.disabled,customProperties:a,placeholder:c})}))},r._addPredefinedItems=function(e){var t=this;e.forEach((function(e){"object"==typeof e&&e.value&&t._addItem({value:e.value,label:e.label,choiceId:e.id,customProperties:e.customProperties,placeholder:e.placeholder}),"string"==typeof e&&t._addItem({value:e})}))},r._setChoiceOrItem=function(e){var t=this;({object:function(){e.value&&(t._isTextElement?t._addItem({value:e.value,label:e.label,choiceId:e.id,customProperties:e.customProperties,placeholder:e.placeholder}):t._addChoice({value:e.value,label:e.label,isSelected:!0,isDisabled:!1,customProperties:e.customProperties,placeholder:e.placeholder}))},string:function(){t._isTextElement?t._addItem({value:e}):t._addChoice({value:e,label:e,isSelected:!0,isDisabled:!1})}})[y(e).toLowerCase()]()},r._findAndSelectChoiceByValue=function(e){var t=this,i=this._store.choices.find((function(i){return t.config.valueComparer(i.value,e)}));i&&!i.selected&&this._addItem({value:i.value,label:i.label,choiceId:i.id,groupId:i.groupId,customProperties:i.customProperties,placeholder:i.placeholder,keyCode:i.keyCode})},r._generatePlaceholderValue=function(){if(this._isSelectElement){var e=this.passedElement.placeholderOption;return!!e&&e.text}var t=this.config,i=t.placeholder,n=t.placeholderValue,s=this.passedElement.element.dataset;if(i){if(n)return n;if(s.placeholder)return s.placeholder}return!1},n}();t.default=Ce}]).default},"object"==typeof i&&"object"==typeof t?t.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof i?i.Choices=o():r.Choices=o()},n 453: function _(o,e,i,t,r){t(),i.root="bk-root",i.default=".bk-root{}.bk-root .choices{position:relative;margin-bottom:24px;font-size:16px;}.bk-root .choices:focus{outline:none;}.bk-root .choices:last-child{margin-bottom:0;}.bk-root .choices.is-disabled .choices__inner,.bk-root .choices.is-disabled .choices__input{background-color:#eaeaea;cursor:not-allowed;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.bk-root .choices.is-disabled .choices__item{cursor:not-allowed;}.bk-root .choices [hidden]{display:none !important;}.bk-root .choices[data-type*=’select-one’]{cursor:pointer;}.bk-root .choices[data-type*=’select-one’] .choices__inner{padding-bottom:7.5px;}.bk-root .choices[data-type*=’select-one’] .choices__input{display:block;width:100%;padding:10px;border-bottom:1px solid #dddddd;background-color:#ffffff;margin:0;}.bk-root .choices[data-type*=’select-one’] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);padding:0;background-size:8px;position:absolute;top:50%;right:0;margin-top:-10px;margin-right:25px;height:20px;width:20px;border-radius:10em;opacity:0.5;}.bk-root .choices[data-type*=’select-one’] .choices__button:hover,.bk-root .choices[data-type*=’select-one’] .choices__button:focus{opacity:1;}.bk-root .choices[data-type*=’select-one’] .choices__button:focus{box-shadow:0px 0px 0px 2px #00bcd4;}.bk-root .choices[data-type*=’select-one’] .choices__item[data-value=’’] .choices__button{display:none;}.bk-root .choices[data-type*=’select-one’]:after{content:’’;height:0;width:0;border-style:solid;border-color:#333333 transparent transparent transparent;border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-2.5px;pointer-events:none;}.bk-root .choices[data-type*=’select-one’].is-open:after{border-color:transparent transparent #333333 transparent;margin-top:-7.5px;}.bk-root .choices[data-type*=’select-one’][dir=’rtl’]:after{left:11.5px;right:auto;}.bk-root .choices[data-type*=’select-one’][dir=’rtl’] .choices__button{right:auto;left:0;margin-left:25px;margin-right:0;}.bk-root .choices[data-type*=’select-multiple’] .choices__inner,.bk-root .choices[data-type*=’text’] .choices__inner{cursor:text;}.bk-root .choices[data-type*=’select-multiple’] .choices__button,.bk-root .choices[data-type*=’text’] .choices__button{position:relative;display:inline-block;margin-top:0;margin-right:-4px;margin-bottom:0;margin-left:8px;padding-left:16px;border-left:1px solid #008fa1;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);background-size:8px;width:8px;line-height:1;opacity:0.75;border-radius:0;}.bk-root .choices[data-type*=’select-multiple’] .choices__button:hover,.bk-root .choices[data-type*=’select-multiple’] .choices__button:focus,.bk-root .choices[data-type*=’text’] .choices__button:hover,.bk-root .choices[data-type*=’text’] .choices__button:focus{opacity:1;}.bk-root .choices__inner{display:inline-block;vertical-align:top;width:100%;background-color:#f9f9f9;padding:7.5px 7.5px 3.75px;border:1px solid #dddddd;border-radius:2.5px;font-size:14px;min-height:44px;overflow:hidden;}.bk-root .is-focused .choices__inner,.bk-root .is-open .choices__inner{border-color:#b7b7b7;}.bk-root .is-open .choices__inner{border-radius:2.5px 2.5px 0 0;}.bk-root .is-flipped.is-open .choices__inner{border-radius:0 0 2.5px 2.5px;}.bk-root .choices__list{margin:0;padding-left:0;list-style:none;}.bk-root .choices__list–single{display:inline-block;padding:4px 16px 4px 4px;width:100%;}.bk-root [dir=’rtl’] .choices__list–single{padding-right:4px;padding-left:16px;}.bk-root .choices__list–single .choices__item{width:100%;}.bk-root .choices__list–multiple{display:inline;}.bk-root .choices__list–multiple .choices__item{display:inline-block;vertical-align:middle;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;margin-right:3.75px;margin-bottom:3.75px;background-color:#00bcd4;border:1px solid #00a5bb;color:#ffffff;word-break:break-all;box-sizing:border-box;}.bk-root .choices__list–multiple .choices__item[data-deletable]{padding-right:5px;}.bk-root [dir=’rtl’] .choices__list–multiple .choices__item{margin-right:0;margin-left:3.75px;}.bk-root .choices__list–multiple .choices__item.is-highlighted{background-color:#00a5bb;border:1px solid #008fa1;}.bk-root .is-disabled .choices__list–multiple .choices__item{background-color:#aaaaaa;border:1px solid #919191;}.bk-root .choices__list–dropdown{visibility:hidden;z-index:1;position:absolute;width:100%;background-color:#ffffff;border:1px solid #dddddd;top:100%;margin-top:-1px;border-bottom-left-radius:2.5px;border-bottom-right-radius:2.5px;overflow:hidden;word-break:break-all;will-change:visibility;}.bk-root .choices__list–dropdown.is-active{visibility:visible;}.bk-root .is-open .choices__list–dropdown{border-color:#b7b7b7;}.bk-root .is-flipped .choices__list–dropdown{top:auto;bottom:100%;margin-top:0;margin-bottom:-1px;border-radius:0.25rem 0.25rem 0 0;}.bk-root .choices__list–dropdown .choices__list{position:relative;max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position;}.bk-root .choices__list–dropdown .choices__item{position:relative;padding:10px;font-size:14px;}.bk-root [dir=’rtl’] .choices__list–dropdown .choices__item{text-align:right;}@media (min-width: 640px){.bk-root .choices__list–dropdown .choices__item–selectable{padding-right:100px;}.bk-root .choices__list–dropdown .choices__item–selectable:after{content:attr(data-select-text);font-size:12px;opacity:0;position:absolute;right:10px;top:50%;transform:translateY(-50%);}.bk-root [dir=’rtl’] .choices__list–dropdown .choices__item–selectable{text-align:right;padding-left:100px;padding-right:10px;}.bk-root [dir=’rtl’] .choices__list–dropdown .choices__item–selectable:after{right:auto;left:10px;}}.bk-root .choices__list–dropdown .choices__item–selectable.is-highlighted{background-color:#f2f2f2;}.bk-root .choices__list–dropdown .choices__item–selectable.is-highlighted:after{opacity:0.5;}.bk-root .choices__item{cursor:default;}.bk-root .choices__item–selectable{cursor:pointer;}.bk-root .choices__item–disabled{cursor:not-allowed;-webkit-user-select:none;-ms-user-select:none;user-select:none;opacity:0.5;}.bk-root .choices__heading{font-weight:600;font-size:12px;padding:10px;border-bottom:1px solid #f7f7f7;color:gray;}.bk-root .choices__button{text-indent:-9999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer;}.bk-root .choices__button:focus{outline:none;}.bk-root .choices__input{display:inline-block;vertical-align:baseline;background-color:#f9f9f9;font-size:14px;margin-bottom:5px;border:0;border-radius:0;max-width:100%;padding:4px 0 4px 2px;}.bk-root .choices__input:focus{outline:0;}.bk-root [dir=’rtl’] .choices__input{padding-right:2px;padding-left:0;}.bk-root .choices__placeholder{opacity:0.5;}.bk-root .choices{width:100%;}.bk-root .choices{box-sizing:border-box;}.bk-root .choices *,.bk-root .choices *:before,.bk-root .choices *:after{box-sizing:inherit;}.bk-root .choices__inner .choices__item.light{background-color:rgba(0, 126, 255, 0.08);border-radius:5px;border:1px solid rgba(0, 126, 255, 0.24);color:#007eff;}.bk-root .choices__inner .choices__item.solid{background-color:#1f77b4;border:none;border-radius:5px;color:white;}.bk-root .choices__inner .choices__item.solid .is-highlighted{background-color:#1f77b4;border:none;}.bk-root .choices__input{background-color:transparent;}.bk-root .choices__inner{background:transparent;border:1px solid darkgray;border-radius:5px;min-height:unset;}.bk-root .choices__list{white-space:initial;}.bk-root .choices__list–dropdown{z-index:100;}.bk-root .choices[data-type*=select-multiple] .choices__button.light{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDA3ZWZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);}.bk-root .choices[data-type*=select-multiple] .choices__button.solid{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjZmZmZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);border-left:1px solid white;opacity:1;}"},n 454: function _(e,t,l,i,n){i();const s=e(1),u=s.__importStar(e(183)),h=e(426),o=e(166),a=e(43),r=e(8),d=e(11),p=s.__importStar(e(427)),_=/^[-+]?\d*$/,m=/^[-+]?\d.?\d*(?:(?:\d|\d.)[eE][-+]?)*\d*$/;class c 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.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&&d.assert(t<=l,"Invalid bounds, low must be inferior to high"),null!=e&&null!=t&&(this.model.value=Math.max(e,t))})),this.connect(this.model.properties.high.change,(()=>{const{value:e,low:t,high:l}=this.model;null!=t&&null!=l&&d.assert(l>=t,"Invalid bounds, high must be superior to low"),null!=e&&null!=l&&(this.model.value=Math.min(e,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=a.input({type:"text",class:p.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=>_.test(e))):"float"==this.model.mode&&this._set_input_filter((e=>m.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=c,c.__name__="NumericInputView";class v extends h.InputWidget{constructor(e){super(e)}static init_NumericInput(){this.prototype.default_view=c,this.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(o.TickFormatter))),null],low:[s(e),null],high:[s(e),null]})))}_formatter(e,t){return r.isString(t)?u.format(e,t):t.doFormat([e],{loc:0})[0]}pretty(e){return null!=this.format?this._formatter(e,this.format):${e}}}l.NumericInput=v,v.__name__="NumericInput",v.init_NumericInput()},n 455: function _(e,t,r,s,i){s();const n=e(444),_=e(43);class a extends n.MarkupView{render(){super.render();const e=_.pre({style:{overflow:"auto"}},this.model.text);this.markup_el.appendChild(e)}}r.PreTextView=a,a.__name__="PreTextView";class o extends n.Markup{constructor(e){super(e)}static init_PreText(){this.prototype.default_view=a}}r.PreText=o,o.__name__="PreText",o.init_PreText()},n 456: function _(t,o,i,e,a){e();const n=t(1),u=t(430),s=t(43),c=n.__importStar(t(328));class _ extends u.ButtonGroupView{change_active(t){this.model.active!==t&&(this.model.active=t)}_update_active(){const{active:t}=this.model;this._buttons.forEach(((o,i)=>{s.classes(o).toggle(c.active,t===i)}))}}i.RadioButtonGroupView=_,_.__name__="RadioButtonGroupView";class r extends u.ButtonGroup{constructor(t){super(t)}static init_RadioButtonGroup(){this.prototype.default_view=_,this.define((({Int:t,Nullable:o})=>({active:[o(t),null]})))}}i.RadioButtonGroup=r,r.__name__="RadioButtonGroup",r.init_RadioButtonGroup()},n 457: function _(e,i,t,n,a){n();const s=e(1),o=e(43),d=e(34),l=e(432),p=s.__importStar(e(427));class r extends l.InputGroupView{render(){super.render();const e=o.div({class:[p.input_group,this.model.inline?p.inline:null]});this.el.appendChild(e);const i=d.uniqueId(),{active:t,labels:n}=this.model;this._inputs=[];for(let a=0;a<n.length;a++){const s=o.input({type:"radio",name:i,value:${a}});s.addEventListener("change",(()=>this.change_active(a))),this._inputs.push(s),this.model.disabled&&(s.disabled=!0),a==t&&(s.checked=!0);const d=o.label({},s,o.span({},n[a]));e.appendChild(d)}}change_active(e){this.model.active=e}}t.RadioGroupView=r,r.__name__="RadioGroupView";class u extends l.InputGroup{constructor(e){super(e)}static init_RadioGroup(){this.prototype.default_view=r,this.define((({Boolean:e,Int:i,String:t,Array:n})=>({active:[i],labels:[n(t),[]],inline:[e,!1]})))}}t.RadioGroup=u,u.__name__="RadioGroup",u.init_RadioGroup()},n 458: function _(e,t,i,r,a){r();const n=e(1).__importStar(e(183)),s=e(438),_=e(8);class d extends s.AbstractRangeSliderView{}i.RangeSliderView=d,d.__name__="RangeSliderView";class o extends s.AbstractSlider{constructor(e){super(e),this.behaviour="drag",this.connected=[!1,!0,!1]}static init_RangeSlider(){this.prototype.default_view=d,this.override({format:"0[.]00"})}_formatter(e,t){return _.isString(t)?n.format(e,t):t.compute(e)}}i.RangeSlider=o,o.__name__="RangeSlider",o.init_RangeSlider()},n 459: function _(e,t,n,i,s){i();const l=e(1),u=e(43),a=e(8),o=e(13),_=e(426),p=l.__importStar(e(427));class r 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,(()=>{u.empty(this.input_el),u.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,i;return a.isString(t)?n=i=t:[n,i]=t,e.add(n),u.option({value:n},i)}))}e.clear();const{options:n}=this.model;return a.isArray(n)?t(n):o.entries(n).map((([e,n])=>u.optgroup({label:e},t(n))))}render(){super.render(),this.input_el=u.select({class:p.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=r,r.__name__="SelectView";class c extends _.InputWidget{constructor(e){super(e)}static init_Select(){this.prototype.default_view=r,this.define((({String:e,Array:t,Tuple:n,Dict:i,Or:s})=>{const l=t(s(e,n(e,e)));return{value:[e,""],options:[s(l,i(l)),[]]}}))}}n.Select=c,c.__name__="Select",c.init_Select()},n 460: function _(t,e,i,r,s){r();const _=t(1).__importStar(t(183)),a=t(438),n=t(8);class o extends a.AbstractSliderView{}i.SliderView=o,o.__name__="SliderView";class d extends a.AbstractSlider{constructor(t){super(t),this.behaviour="tap",this.connected=[!0,!1]}static init_Slider(){this.prototype.default_view=o,this.override({format:"0[.]00"})}_formatter(t,e){return n.isString(e)?_.format(t,e):e.compute(t)}}i.Slider=d,d.__name__="Slider",d.init_Slider()},n 461: function _(e,t,i,n,s){n();const l=e(454),o=e(43),{min:r,max:a,floor:h,abs:_}=Math;function u(e){return h(e)!==e?e.toFixed(16).replace(/0+$/,"").split(".")[1].length:0}class d extends l.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())o.toggle_attribute(e,"disabled",this.model.disabled)}))}render(){super.render(),this.wrapper_el=o.div({class:"bk-spin-wrapper"}),this.group_el.replaceChild(this.wrapper_el,this.input_el),this.btn_up_el=o.button({class:"bk-spin-btn bk-spin-btn-up"}),this.btn_down_el=o.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())o.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=u;return a(n(_(null!=e?e:0)),n(_(null!=t?t:0)),n(_(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 o.Keys.Up:return e.preventDefault(),this.increment(this.model.step);case o.Keys.Down:return e.preventDefault(),this.increment(-this.model.step);case o.Keys.PageUp:return e.preventDefault(),this.increment(this.model.page_step_multiplier*this.model.step);case o.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?r(0,i):0:e<0&&(this.model.value=null!=i?i:null!=t?a(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=d,d.__name__="SpinnerView";class p extends l.NumericInput{constructor(e){super(e)}static init_Spinner(){this.prototype.default_view=d,this.define((({Number:e,Nullable:t})=>({value_throttled:[t(e),null],step:[e,1],page_step_multiplier:[e,10],wheel_wait:[e,100]}))),this.override({mode:"float"})}}i.Spinner=p,p.__name__="Spinner",p.init_Spinner()},n 462: function _(e,t,s,n,i){n();const r=e(1),o=e(425),p=e(43),c=r.__importStar(e(427));class l extends o.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=p.textarea({class:c.input})}render(){super.render(),this.input_el.cols=this.model.cols,this.input_el.rows=this.model.rows}}s.TextAreaInputView=l,l.__name__="TextAreaInputView";class _ extends o.TextLikeInput{constructor(e){super(e)}static init_TextAreaInput(){this.prototype.default_view=l,this.define((({Int:e})=>({cols:[e,20],rows:[e,2]}))),this.override({max_length:500})}}s.TextAreaInput=_,_.__name__="TextAreaInput",_.init_TextAreaInput()},n 463: function _(e,t,i,s,c){s();const o=e(1),a=e(419),n=e(43),l=o.__importStar(e(328));class _ extends a.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(){n.classes(this.button_el).toggle(l.active,this.model.active)}}i.ToggleView=_,_.__name__="ToggleView";class g extends a.AbstractButton{constructor(e){super(e)}static init_Toggle(){this.prototype.default_view=_,this.define((({Boolean:e})=>({active:[e,!1]}))),this.override({label:"Toggle"})}}i.Toggle=g,g.__name__="Toggle",g.init_Toggle()},n }, 417, {"models/widgets/main":417,"models/widgets/index":418,"models/widgets/abstract_button":419,"models/widgets/control":420,"models/widgets/widget":488,"models/widgets/abstract_icon":422,"models/widgets/autocomplete_input":423,"models/widgets/text_input":424,"models/widgets/text_like_input":425,"models/widgets/input_widget":426,"styles/widgets/inputs.css":427,"models/widgets/button":428,"models/widgets/checkbox_button_group":429,"models/widgets/button_group":430,"models/widgets/checkbox_group":431,"models/widgets/input_group":432,"models/widgets/color_picker":433,"models/widgets/date_picker":434,"styles/widgets/flatpickr.css":436,"models/widgets/date_range_slider":437,"models/widgets/abstract_slider":438,"styles/widgets/sliders.css":440,"styles/widgets/nouislider.css":441,"models/widgets/date_slider":442,"models/widgets/div":443,"models/widgets/markup":444,"styles/clearfix.css":445,"models/widgets/dropdown":446,"models/widgets/file_input":447,"models/widgets/multiselect":448,"models/widgets/paragraph":449,"models/widgets/password_input":450,"models/widgets/multichoice":451,"styles/widgets/choices.css":453,"models/widgets/numeric_input":454,"models/widgets/pretext":455,"models/widgets/radio_button_group":456,"models/widgets/radio_group":457,"models/widgets/range_slider":458,"models/widgets/selectbox":459,"models/widgets/slider":460,"models/widgets/spinner":461,"models/widgets/textarea_input":462,"models/widgets/toggle":463}, {});});nn / END bokeh-widgets.min.js /n },n n function(Bokeh) {n / BEGIN bokeh-tables.min.js /n /!n * Copyright (c) 2012 - 2021, Anaconda, Inc., and Bokeh Contributorsn * 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 documentationn * and/or other materials provided with the distribution.n * n * Neither the name of Anaconda nor the names of any contributorsn * may be used to endorse or promote products derived from this softwaren * 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, THEn * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSEn * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BEn * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, ORn * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OFn * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSn * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER INn * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OFn * THE POSSIBILITY OF SUCH DAMAGE.n /n (function(root, factory) {n factory(root["Bokeh"], "2.3.0");n })(this, function(Bokeh, version) {n var 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 464: function _(t,e,o,r,s){r();const _=t(1).__importStar(t(465));o.Tables=_;t(7).register_models(_)},n 465: function _(g,a,r,e,t){e();const o=g(1);o.__exportStar(g(466),r),o.__exportStar(g(469),r),t("DataTable",g(472).DataTable),t("TableColumn",g(490).TableColumn),t("TableWidget",g(489).TableWidget);var n=g(492);t("AvgAggregator",n.AvgAggregator),t("MinAggregator",n.MinAggregator),t("MaxAggregator",n.MaxAggregator),t("SumAggregator",n.SumAggregator);var A=g(493);t("GroupingInfo",A.GroupingInfo),t("DataCube",A.DataCube)},n 466: function _(e,t,i,s,r){s();const a=e(1),n=e(43),l=e(240),u=e(53),d=e(467),o=a.__importStar(e(468));class _ extends l.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(o.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 n.Keys.Left:case n.Keys.Right:case n.Keys.Up:case n.Keys.Down:case n.Keys.PageUp:case n.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[d.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=_,_.__name__="CellEditorView";class c extends u.Model{}i.CellEditor=c,c.__name__="CellEditor";class p extends _{get emptyValue(){return""}_createInput(){return n.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=p,p.__name__="StringEditorView";class h extends c{static init_StringEditor(){this.prototype.default_view=p,this.define((({String:e,Array:t})=>({completions:[t(e),[]]})))}}i.StringEditor=h,h.__name__="StringEditor",h.init_StringEditor();class E extends _{_createInput(){return n.textarea()}renderEditor(){this.inputEl.focus(),this.inputEl.select()}}i.TextEditorView=E,E.__name__="TextEditorView";class V extends c{static init_TextEditor(){this.prototype.default_view=E}}i.TextEditor=V,V.__name__="TextEditor",V.init_TextEditor();class m extends _{_createInput(){return n.select()}renderEditor(){for(const e of this.model.options)this.inputEl.appendChild(n.option({value:e},e));this.focus()}}i.SelectEditorView=m,m.__name__="SelectEditorView";class f extends c{static init_SelectEditor(){this.prototype.default_view=m,this.define((({String:e,Array:t})=>({options:[t(e),[]]})))}}i.SelectEditor=f,f.__name__="SelectEditor",f.init_SelectEditor();class x extends _{_createInput(){return n.input({type:"text"})}}i.PercentEditorView=x,x.__name__="PercentEditorView";class g extends c{static init_PercentEditor(){this.prototype.default_view=x}}i.PercentEditor=g,g.__name__="PercentEditor",g.init_PercentEditor();class w extends _{_createInput(){return n.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=w,w.__name__="CheckboxEditorView";class v extends c{static init_CheckboxEditor(){this.prototype.default_view=w}}i.CheckboxEditor=v,v.__name__="CheckboxEditor",v.init_CheckboxEditor();class y extends _{_createInput(){return n.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=y,y.__name__="IntEditorView";class I extends c{static init_IntEditor(){this.prototype.default_view=y,this.define((({Int:e})=>({step:[e,1]})))}}i.IntEditor=I,I.__name__="IntEditor",I.init_IntEditor();class b extends _{_createInput(){return n.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=b,b.__name__="NumberEditorView";class N extends c{static init_NumberEditor(){this.prototype.default_view=b,this.define((({Number:e})=>({step:[e,.01]})))}}i.NumberEditor=N,N.__name__="NumberEditor",N.init_NumberEditor();class S extends _{_createInput(){return n.input({type:"text"})}}i.TimeEditorView=S,S.__name__="TimeEditorView";class C extends c{static init_TimeEditor(){this.prototype.default_view=S}}i.TimeEditor=C,C.__name__="TimeEditor",C.init_TimeEditor();class D extends _{_createInput(){return n.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=D,D.__name__="DateEditorView";class T extends c{static init_DateEditor(){this.prototype.default_view=D}}i.DateEditor=T,T.__name__="DateEditor",T.init_DateEditor()},n 467: function _(_,n,i,t,d){t(),i.DTINDEX_NAME="__bkdt_internal_index__"},n 468: 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 469: function _(t,e,r,a,n){a();const i=t(1),o=i.__importDefault(t(181)),s=i.__importStar(t(183)),l=t(470),c=t(43),m=t(20),u=t(8),_=t(34),F=t(22),d=t(53);class f extends d.Model{constructor(t){super(t)}doFormat(t,e,r,a,n){return null==r?"":(r+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}}r.CellFormatter=f,f.__name__="CellFormatter";class h extends f{constructor(t){super(t)}static init_StringFormatter(){this.define((({Color:t,Nullable:e})=>({font_style:[m.FontStyle,"normal"],text_align:[m.TextAlign,"left"],text_color:[e(t),null]})))}doFormat(t,e,r,a,n){const{font_style:i,text_align:o,text_color:s}=this,l=c.div({},null==r?"":`${r}`);switch(i){case"bold":l.style.fontWeight="bold";break;case"italic":l.style.fontStyle="italic"}return null!=o&&(l.style.textAlign=o),null!=s&&(l.style.color=F.color2css(s)),l.outerHTML}}r.StringFormatter=h,h.__name__="StringFormatter",h.init_StringFormatter();class g extends h{constructor(t){super(t)}static init_ScientificFormatter(){this.define((({Number:t,String:e,Nullable:r})=>({nan_format:[r(e),null],precision:[t,10],power_limit_high:[t,5],power_limit_low:[t,-3]})))}get scientific_limit_low(){return 10**this.power_limit_low}get scientific_limit_high(){return 10**this.power_limit_high}doFormat(t,e,r,a,n){const i=Math.abs(r)<=this.scientific_limit_low||Math.abs(r)>=this.scientific_limit_high;let o=this.precision;return o<1&&(o=1),r=null!=r&&!isNaN(r)||null==this.nan_format?0==r?_.to_fixed(r,1):i?r.toExponential(o):_.to_fixed(r,o):this.nan_format,super.doFormat(t,e,r,a,n)}}r.ScientificFormatter=g,g.__name__="ScientificFormatter",g.init_ScientificFormatter();class p extends h{constructor(t){super(t)}static init_NumberFormatter(){this.define((({String:t,Nullable:e})=>({format:[t,"0,0"],language:[t,"en"],rounding:[m.RoundingFunction,"round"],nan_format:[e(t),null]})))}doFormat(t,e,r,a,n){const{format:i,language:o,nan_format:l}=this,c=(()=>{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)||null==l?s.format(r,i,o,c):l,super.doFormat(t,e,r,a,n)}}r.NumberFormatter=p,p.__name__="NumberFormatter",p.init_NumberFormatter();class S extends f{constructor(t){super(t)}static init_BooleanFormatter(){this.define((({String:t})=>({icon:[t,"check"]})))}doFormat(t,e,r,a,n){return r?c.i({class:this.icon}).outerHTML:""}}r.BooleanFormatter=S,S.__name__="BooleanFormatter",S.init_BooleanFormatter();class b extends h{constructor(t){super(t)}static init_DateFormatter(){this.define((({String:t,Nullable:e})=>({format:[t,"ISO-8601"],nan_format:[e(t),null]})))}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,a,n){const{nan_format:i}=this;let s;return s=null!=(r=u.isString(r)?parseInt(r,10):r)&&!isNaN(r)&&-9223372036854776!==r||null==i?null==r?"":o.default(r,this.getFormat()):i,super.doFormat(t,e,s,a,n)}}r.DateFormatter=b,b.__name__="DateFormatter",b.init_DateFormatter();class x extends f{constructor(t){super(t)}static init_HTMLTemplateFormatter(){this.define((({String:t})=>({template:[t,"<%= value %>"]})))}doFormat(t,e,r,a,n){const{template:i}=this;if(null==r)return"";return l._.template(i)(Object.assign(Object.assign({},n),{value:r}))}}r.HTMLTemplateFormatter=x,x.__name__="HTMLTemplateFormatter",x.init_HTMLTemplateFormatter()},n 470: function _(e,n,t,f,i){var o=e(471),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 471: function _(r,e,n,t,a){n // (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editorsn // 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<a;t++)if(e.call(n,r[t],t,r)===u)return}else{var c=h.keys(r);for(t=0,a=c.length;t<a;t++)if(e.call(n,r[c[t]],c[t],r)===u)return}};h.keys=p||function(r){if(r!==Object(r))throw new TypeError("Invalid object");var e=[];for(var n in r)h.has(r,n)&&e.push(n);return e},h.defaults=function(r){return v(l.call(arguments,1),(function(e){if(e)for(var n in e)void 0===r[n]&&(r[n]=e[n])})),r},h.isArray=_||function(r){return"[object Array]"===i.call(r)},h.has=function(r,e){if(!h.isArray(e))return null!=r&&f.call(r,e);for(var n=e.length,t=0;t<n;t++){var a=e[t];if(null==r||!f.call(r,a))return!1;r=r[a]}return!!n};var g={escape:{"&":"&amp;","<":"&lt;",">":"&gt;",’"’:"&quot;","’":"&#x27;"}},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 472: function _(e,t,i,s,o){s();const n=e(1),l=e(473),r=e(477),d=e(478),a=e(479),h=e(34),u=e(8),c=e(9),_=e(13),m=e(19),g=e(488),p=e(467),f=e(489),b=e(490),w=n.__importStar(e(468)),x=w,C=n.__importDefault(e(491));i.AutosizeModes={fit_columns:"FCV",fit_viewport:"FVC",force_fit:"LFF",none:"NOA"};let z=!1;class v{constructor(e,t){this.init(e,t)}init(e,t){if(p.DTINDEX_NAME in e.data)throw new Error(`special name ${p.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 _.keys(this.source.data))t[i]=this.source.data[i][this.index[e]];return t[p.DTINDEX_NAME]=this.index[e],t}getField(e,t){return t==p.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 c.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,c.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=[[p.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 u.isNumber(t)&&u.isNumber(r)?l*(t-r||+isNaN(t)-+isNaN(r)):`${t}`>`${r}`?l:-l}return 0}))}}i.TableDataProvider=v,v.__name__="TableDataProvider";class A extends g.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()))}remove(){var e;null===(e=this.grid)||void 0===e||e.destroy(),super.remove()}styles(){return[…super.styles(),C.default,w.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:h.uniqueId(),name:this.model.index_header,field:p.DTINDEX_NAME,width:this.model.index_width,behavior:"select",cannotTriggerInsert:!0,resizable:!1,selectable:!1,sortable:!0,cssClass:x.cell_index,headerCssClass:x.header_index}}css_classes(){return super.css_classes().concat(x.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.map((e=>Object.assign(Object.assign({},e.toColumn()),{parent:this})));let s=null;if("checkbox"==this.model.selectable&&(s=new r.CheckboxSelectColumn({cssClass:x.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||(m.logger.warn("jquery-ui is required to enable DataTable.reorderable"),z=!0),o=!1);let n=-1,h=!1;const{frozen_rows:c,frozen_columns:_}=this.model,g=null==_?-1:_-1;null!=c&&(h=c<0,n=Math.abs(c));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:g,frozenRow:n,frozenBottom:h},f=null!=this.grid;if(this.data=new v(this.model.source,this.model.view),this.grid=new a.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 l.RowSelectionModel({selectActiveRow:null==s})),null!=s&&this.grid.registerPlugin(s);const e={dataItemColumnValueExtractor(e,t){let i=e[t.field];return u.isString(i)&&(i=i.replace(/\n/g,"\\n")),i},includeHeaderWhenCopying:!1};this.grid.registerPlugin(new d.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=A,A.__name__="DataTableView";class D extends f.TableWidget{constructor(e){super(e),this._sort_columns=[]}get sort_columns(){return this._sort_columns}static init_DataTable(){this.prototype.default_view=A,this.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(b.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]}))),this.override({width:600,height:400})}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?c.some(t,(t=>e.top<=t&&t<=e.bottom))?null:Math.max(0,Math.min(…t)-1):null}}i.DataTable=D,D.__name__="DataTable",D.init_DataTable()},n 473: function _(e,t,n,o,r){var l=e(474),i=e(476);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<e.length;n++)for(var o=e[n].fromRow;o<=e[n].toRow;o++)t.push(o);return t}function h(e){for(var n=[],o=t.getColumns().length-1,r=0;r<e.length;r++)n.push(new i.Range(e[r],0,e[r],o));return n}function w(){return f(r)}function g(e){(r&&0!==r.length||e&&0!==e.length)&&(r=e,c.onSelectedRangesChanged.notify(r))}function v(e,n){o.selectActiveRow&&null!=n.row&&g([new i.Range(n.row,0,n.row,t.getColumns().length-1)])}function p(e){var n=t.getActiveCell();if(t.getOptions().multiSelect&&n&&e.shiftKey&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&(e.which==i.keyCode.UP||e.which==i.keyCode.DOWN)){var o=w();o.sort((function(e,t){return e-t})),o.length||(o=[n.row]);var r,l=o[0],c=o[o.length-1];if((r=e.which==i.keyCode.DOWN?n.row<c||l==c?++c:++l:n.row<c?–c:–l)>=0&&r<t.getDataLength())t.scrollRowIntoView(r),g(h(function(e,t){var n,o=[];for(n=e;n<=t;n++)o.push(n);for(n=t;n<e;n++)o.push(n);return o}(l,c)));e.preventDefault(),e.stopPropagation()}}function y(e){var n=t.getCellFromEvent(e);if(!n||!t.canCellBeActive(n.row,n.cell))return!1;if(!t.getOptions().multiSelect||!e.ctrlKey&&!e.shiftKey&&!e.metaKey)return!1;var o=f(r),i=l.inArray(n.row,o);if(-1===i&&(e.ctrlKey||e.metaKey))o.push(n.row),t.setActiveCell(n.row,n.cell);else if(-1!==i&&(e.ctrlKey||e.metaKey))o=l.grep(o,(function(e,t){return e!==n.row})),t.setActiveCell(n.row,n.cell);else if(o.length&&e.shiftKey){var c=o.pop(),u=Math.min(n.row,c),s=Math.max(n.row,c);o=[];for(var a=u;a<=s;a++)a!==c&&o.push(a);o.push(c),t.setActiveCell(n.row,n.cell)}return g(h(o)),e.stopImmediatePropagation(),!0}l.extend(this,{getSelectedRows:w,setSelectedRows:function(e){g(h(e))},getSelectedRanges:function(){return r},setSelectedRanges:g,init:function(n){o=l.extend(!0,{},s,e),t=n,u.subscribe(t.onActiveCellChanged,a(v)),u.subscribe(t.onKeyDown,a(p)),u.subscribe(t.onClick,a(y))},destroy:function(){u.unsubscribeAll()},pluginName:"RowSelectionModel",onSelectedRangesChanged:new i.Event})}}},n 474: function _(e,n,f,o,t){n.exports="undefined"!=typeof $?$:e(475)},n 475: function _(e,t,n,r,i){n /!n * jQuery JavaScript Library v3.5.1n * https://jquery.com/n n * Includes Sizzle.jsn * https://sizzlejs.com/n *n * Copyright JS Foundation and other contributorsn * Released under the MIT licensen * https://jquery.org/licensen *n * Date: 2020-05-04T22:49Zn */n !function(e,n){"use strict";"object"==typeof t&&"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(e)}("undefined"!=typeof window?window:this,(function(e,t){"use strict";var n=[],r=Object.getPrototypeOf,i=n.slice,o=n.flat?function(e){return n.flat.call(e)}:function(e){return n.concat.apply([],e)},a=n.push,s=n.indexOf,u={},l=u.toString,c=u.hasOwnProperty,f=c.toString,p=f.call(Object),d={},h=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},g=function(e){return null!=e&&e===e.window},v=e.document,y={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||v).createElement("script");if(o.text=e,t)for(r in y)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?u[l.call(e)]||"object":typeof e}var b="3.5.1",w=function(e,t){return new w.fn.init(e,t)};function T(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!h(e)&&!g(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&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<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:a,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||h(a)||(a={}),s===u&&(a=this,s–);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||w.isPlainObject(n)?n:{},i=!1,a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+(b+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==l.call(e))&&(!(t=r(e))||"function"==typeof(n=c.call(t,"constructor")&&t.constructor)&&f.call(n)===p)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){m(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(T(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(T(Object(e))?w.merge(n,"string"==typeof e?[e]:e):a.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:s.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,a=0,s=[];if(T(e))for(r=e.length;a<r;a++)null!=(i=t(e[a],a,n))&&s.push(i);else for(a in e)null!=(i=t(e[a],a,n))&&s.push(i);return o(s)},guid:1,support:d}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),(function(e,t){u["[object "+t+"]"]=t.toLowerCase()}));var C=n /!n * Sizzle CSS Selector Engine v2.3.5n * https://sizzlejs.com/n n * Copyright JS Foundation and other contributorsn * Released under the MIT licensen * https://js.foundation/n *n * Date: 2020-03-14n */n function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,v,y,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ue(),S=ue(),k=ue(),A=ue(),N=function(e,t){return e===t&&(f=!0),0},D={}.hasOwnProperty,j=[],q=j.pop,L=j.push,H=j.push,O=j.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}[\\x20\\t\\r\\n\\f]?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\[[\\x20\\t\\r\\n\\f]*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:’((?:\\\.|[^\\\\’]))’|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+I+\"))|)"+M+"\\]",F=":("+I+")(?:\\(((‘((?:\\\.|[^\\\\’]))’|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^[\\x20\\t\\r\\n\\f]+|((?:^|[^\\\\])(?:\\\.)*)[\\x20\\t\\r\\n\\f]+$","g"),_=new RegExp("^[\\x20\\t\\r\\n\\f]*,[\\x20\\t\\r\\n\\f]*"),z=new RegExp("^[\\x20\\t\\r\\n\\f]*([>+~]|[\\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?"�":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(j=O.call(w.childNodes),w.childNodes),j[w.childNodes.length].nodeType}catch(e){H={apply:j.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.namespaceURI,n=(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="<a id=’"+b+"’></a><select id=’"+b+"-\r\\’ msallowcapture=’’><option selected=’’></option></select>",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="<a href=’’ disabled=’disabled’></a><select disabled=’disabled’><option/></select>";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&&D.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;n<t;n+=2)e.push(n);return e})),odd:ve((function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e})),lt:ve((function(e,t,n){for(var r=n<0?n+t:n>t?t:n;–r>=0;)e.push(r);return e})),gt:ve((function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e}))}}).pseudos.nth=r.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=de(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=he(t);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(c=(f=t[b]||(t[b]={}))[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function we(e){return e.length>1?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<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(e,t,n,r,i,o){return r&&!r[b]&&(r=Ce(r)),i&&!i[b]&&(i=Ce(i,o)),le((function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(t||"",s.nodeType?[s]:s,[]),v=!e||!o&&t?g:Te(g,p,e,s,u),y=n?i||(o?e:h||r)?[]:a:v;if(n&&n(v,y,s,u),r)for(l=Te(y,d),r(l,[],s,u),c=l.length;c–;)(f=l[c])&&(y[d[c]]=!(v[d[c]]=f));if(o){if(i||e){if(i){for(l=[],c=y.length;c–;)(f=y[c])&&l.push(v[c]=f);i(null,y=[],l,u)}for(c=y.length;c–;)(f=y[c])&&(l=i?P(o,f):p[c])>-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}];u<o;u++)if(n=r.relative[e[u].type])p=[be(we(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o&&!r.relative[e[i].type];i++);return Ce(u>1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:" "===e[u-2].type?"":""})).replace($,"$1"),n,u<i&&Ee(e.slice(u,i)),i<o&&Ee(e=e.slice(i)),i<o&&xe(e))}p.push(n)}return we(p)}return me.prototype=r.filters=r.pseudos,r.setFilters=new me,a=se.tokenize=function(e,t){var n,i,o,a,s,u,l,c=S[e+" "];if(c)return t?0:c.slice(0);for(s=e,u=[],l=r.preFilter;s;){for(a in n&&!(i=_.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=z.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace($," ")}),s=s.slice(n.length)),r.filter)!(i=G[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?se.error(e):S(e,u).slice(0)},s=se.compile=function(e,t){var n,i=[],o=[],s=k[e+" "];if(!s){for(t||(t=a(e)),n=t.length;n–;)(s=Ee(t[n]))[b]?i.push(s):o.push(s);(s=k(e,function(e,t){var n=t.length>0,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))).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="<a href=’#’></a>","#"===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="<input/>",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 D(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;t<r;t++)if(w.contains(i[t],this))return!0})));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?w(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"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,j=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<n;e++)if(w.contains(this,t[e]))return!0}))},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-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<o.length;)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1);e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){w.each(n,(function(n,r){h(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)}))}(arguments),n&&!t&&u()),this},remove:function(){return w.each(arguments,(function(e,t){for(var n;(n=w.inArray(t,o,n))>-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)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,h(l)?i?l.call(e,a(o,n,R,i),a(o,n,M,i)):(o++,l.call(e,a(o,n,R,i),a(o,n,M,i),a(o,n,R,n.notifyWith))):(r!==R&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=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(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=w.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;for(;n–;)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=function(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:J.test(e)?JSON.parse(e):e)}(n)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){for(n=a.length;n–;)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each((function(){Q.set(this,e)})):$(this,(function(t){var n;if(o&&void 0===t)return void 0!==(n=Q.get(o,e))||void 0!==(n=Z(o,e))?n:void 0;this.each((function(){Q.set(this,e,t)}))}),null,t,arguments.length>1,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<n?w.queue(this[0],e):void 0===t?this:this.each((function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)}))},dequeue:function(e){return this.each((function(){w.dequeue(this,e)}))},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,s=function(){–r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a–;)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=v.documentElement,ie=function(e){return w.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return w.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===w.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},u=s(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=e.nodeType&&(w.cssNumber[t]||"px"!==l&&+u)&&te.exec(w.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a–;)w.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e){var t,n=e.ownerDocument,r=e.nodeName,i=ue[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),ue[r]=i,i)}function ce(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=Y.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=le(r))):"none"!==n&&(i[o]="none",Y.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return ce(this,!0)},hide:function(){return ce(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each((function(){ae(this)?w(this).show():w(this).hide()}))}});var fe,pe,de=/^(?:checkbox|radio)$/i,he=/<([a-z][^\/\0>\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="<textarea>x</textarea>",d.noCloneChecked=!!fe.cloneNode(!0).lastChild.defaultValue,fe.innerHTML="<option></option>",d.option=!!fe.lastChild;var ve={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_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<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ve.tbody=ve.tfoot=ve.colgroup=ve.caption=ve.thead,ve.th=ve.td,d.option||(ve.optgroup=ve.option=[1,"<select multiple=’multiple’>","</select>"]);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<h;d++)if((o=e[d])||0===o)if(\"object\"===x(o))w.merge(p,o.nodeType?[o]:o);else if(xe.test(o)){for(a=a||f.appendChild(t.createElement(\"div\")),s=(he.exec(o)||[\"\",\"\"])[1].toLowerCase(),u=ve[s]||ve._default,a.innerHTML=u[1]+w.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;w.merge(p,a.childNodes),(a=f.firstChild).textContent=\"\"}else p.push(t.createTextNode(o));for(f.textContent=\"\",d=0;o=p[d++];)if(r&&w.inArray(o,r)>-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=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:.(.+)|)/;function Ee(){return!0}function Se(){return!1}function ke(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==("focus"===t)}function Ae(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)Ae(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=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each((function(){w.event.add(this,t,i,r,n)}))}function Ne(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.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,Ee)}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=Ce.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=Ce.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<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){for(a=w.event.handlers.call(this,u,l),t=0;(i=a[t++])&&!u.isPropagationStopped();)for(u.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!u.isImmediatePropagationStopped();)u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((w.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?w(i,this).index(l)>-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<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:h(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return de.test(t.type)&&t.click&&A(t,"input")&&Ne(t,"click",Ee),!1},trigger:function(e){var t=this||e;return de.test(t.type)&&t.click&&A(t,"input")&&Ne(t,"click"),!0},_default:function(e){var t=e.target;return de.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Te.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({focus:"focusin",blur:"focusout"},(function(e,t){w.event.special[e]={setup:function(){return Ne(this,e,ke),!1},trigger:function(){return Ne(this,e),!0},delegateType:t}})),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},(function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}})),w.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each((function(){w.event.remove(this,e,n,t)}))}});var De=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|–)|(?:\]\]|–)>\s*$/g;function Le(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&w(e).children("tbody")[0]||e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(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;n<r;n++)w.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=w.extend({},o),Q.set(t,a))}}function Re(e,t){var n=t.nodeName.toLowerCase();"input"===n&&de.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Me(e,t,n,r){t=o(t);var i,a,s,u,l,c,f=0,p=e.length,g=p-1,v=t[0],y=h(v);if(y||p>1&&"string"==typeof v&&!d.checkClone&&je.test(v))return e.each((function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Me(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"),He)).length;f<p;f++)l=i,f!==g&&(l=w.clone(l,!0,!0),u&&w.merge(s,ye(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,w.map(s,Oe),f=0;f<u;f++)l=s[f],ge.test(l.type||"")&&!Y.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&!l.noModule&&w._evalUrl(l.src,{nonce:l.nonce||l.getAttribute("nonce")},c):m(l.textContent.replace(qe,""),l,c))}return e}function Ie(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ye(r)),r.parentNode&&(n&&ie(r)&&me(ye(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=ie(e);if(!(d.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r<i;r++)Re(o[r],a[r]);if(t)if(n)for(o=o||ye(e),a=a||ye(s),r=0,i=o.length;r<i;r++)Pe(o[r],a[r]);else Pe(e,s);return(a=ye(s,"script")).length>0&&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 Ie(this,e,!0)},remove:function(e){return Ie(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 Me(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)}))},prepend:function(){return Me(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Me(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Me(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&&!De.test(e)&&!ve[(he.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)}),null,e,arguments.length)},replaceWith:function(){var e=[];return Me(this,arguments,(function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ye(this)),n&&n.replaceChild(t,this))}),e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},(function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,s=0;s<=o;s++)n=s===o?this:this.clone(!0),w(i[s])[t](n),a.apply(r,n.get());return this.pushStack(r)}}));var We=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Fe=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Be=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},$e=new RegExp(ne.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=w.style(e,t)),!d.pixelBoxStyles()&&We.test(a)&&$e.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);r="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",a=36===n(t.right),i=36===n(t.width),c.style.position="absolute",o=12===n(c.offsetWidth/3),re.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var r,i,o,a,s,u,l=v.createElement("div"),c=v.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",d.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(d,{boxSizingReliable:function(){return t(),i},pixelBoxStyles:function(){return t(),a},pixelPosition:function(){return t(),r},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),o},reliableTrDimensions:function(){var t,n,r,i;return null==s&&(t=v.createElement("table"),n=v.createElement("tr"),r=v.createElement("div"),t.style.cssText="position:absolute;left:-11111px",n.style.height="1px",r.style.height="9px",re.appendChild(t).appendChild(n).appendChild(r),i=e.getComputedStyle(n),s=parseInt(i.height)>3,re.removeChild(t)),s}}))}();var Ue=["Webkit","Moz","ms"],Xe=v.createElement("div").style,Ve={};function Ge(e){var t=w.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;n–;)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^–/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=w.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=w.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=w.css(e,"border"+ne[a]+"Width",!0,i))):(u+=w.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=w.css(e,"border"+ne[a]+"Width",!0,i):s+=w.css(e,"border"+ne[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!d.boxSizingReliable()||n)&&"border-box"===w.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(We.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)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(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=Qe.test(t),l=e.style;if(u||(t=Ge(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 Qe.test(t)||(t=Ge(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[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!Ye.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,t,r):Be(e,Je,(function(){return tt(e,t,r)}))},set:function(e,n,r){var i,o=Fe(e),a=!d.scrollboxSize()&&"absolute"===o.position,s=(a||r)&&"border-box"===w.css(e,"boxSizing",!1,o),u=r?et(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-et(e,t,"border",!1,o)-.5)),u&&(i=te.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ze(0,n,u)}}})),w.cssHooks.marginLeft=ze(d.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-Be(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=Ze)})),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=Fe(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)}),e,t,arguments.length>1)}}),w.Tween=nt,nt.prototype={constructor:nt,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=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.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):nt.propHooks._default.set(this),this}},nt.prototype.init.prototype=nt.prototype,nt.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[Ge(e.prop)]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},nt.propHooks.scrollTop=nt.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=nt.prototype.init,w.fx.step={};var rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){it&&(!1===v.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(st):e.setTimeout(st,w.fx.interval),w.fx.tick())}function ut(){return e.setTimeout((function(){rt=void 0})),rt=Date.now()}function lt(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 ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(e,t,n){var r,i,o=0,a=ft.prefilters.length,s=w.Deferred().always((function(){delete u.elem})),u=function(){if(i)return!1;for(var t=rt||ut(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:rt||ut(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=w.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);o<a;o++)if(r=ft.prefilters[o].call(l,e,c,l.opts))return h(r.stop)&&(w._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,ct,l),h(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),w.fx.timer(w.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}w.Animation=w.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){h(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=w._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always((function(){p.always((function(){a.unqueued–,w.queue(e,"fx").length||a.empty.fire()}))}))),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||w.style(e,r)}if((u=!w.isEmptyObject(t))||!w.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=w.css(e,"display"))&&(l?c=l:(ce([e],!0),l=e.style.display||l,c=w.css(e,"display"),ce([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===w.css(e,"float")&&(u||(p.done((function(){h.display=l})),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always((function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]}))),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&ce([e],!0),p.done((function(){for(r in g||ce([e]),Y.remove(e,"fxshow"),d)w.style(e,r,d[r])}))),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||h(e)&&e,duration:e,easing:n&&t||t&&!h(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){h(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=w.isEmptyObject(e),o=w.speed(t,n,r),a=function(){var t=ft(this,w.extend({},e),o);(i||Y.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&this.queue(e||"fx",[]),this.each((function(){var t=!0,i=null!=e&&e+"queueHooks",o=w.timers,a=Y.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&at.test(i)&&r(a[i]);for(i=o.length;i–;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||w.dequeue(this,e)}))},finish:function(e){return!1!==e&&(e=e||"fx"),this.each((function(){var t,n=Y.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=w.timers,a=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t–;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish}))}}),w.each(["toggle","show","hide"],(function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(lt(t,!0),e,r,i)}})),w.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},(function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}})),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t–,1);n.length||w.fx.stop(),rt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){it||(it=!0,st())},w.fx.stop=function(){it=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx&&w.fx.speeds[t]||t,n=n||"fx",this.queue(n,(function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}}))},function(){var e=v.createElement("input"),t=v.createElement("select").appendChild(v.createElement("option"));e.type="checkbox",d.checkOn=""!==e.value,d.optSelected=t.selected,(e=v.createElement("input")).value="t",e.type="radio",d.radioValue="t"===e.value}();var pt,dt=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return $(this,w.attr,e,t,arguments.length>1)},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)?pt: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)}}),pt={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=dt[t]||w.find.attr;dt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=dt[a],dt[a]=i,i=null!=n(e,t,r)?a:null,dt[a]=o),i}}));var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(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):ht.test(e.nodeName)||gt.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,yt(this)))}));if((t=mt(e)).length)for(;n=this[u++];)if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(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,yt(this)))}));if(!arguments.length)return this.attr("class","");if((t=mt(e)).length)for(;n=this[u++];)if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=vt(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,yt(this),t),t)})):this.each((function(){var t,i,o,a;if(r)for(i=0,o=w(this),a=mt(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=yt(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&&(" "+vt(yt(n))+" ").indexOf(t)>-1)return!0;return!1}});var xt=/\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(xt,""):null==n?"":n:void 0}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(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<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=w.makeArray(t),a=i.length;a–;)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-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 bt=/^(?:focusinfocus|focusoutblur)$/,wt=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&&!bt.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,bt.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,wt),r[m](),t.isPropagationStopped()&&d.removeEventListener(m,wt),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 Tt=e.location,Ct={guid:Date.now()},Et=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,(function(t,i){n||St.test(e)?r(e,i):Dt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)}));else if(n||"object"!==x(t))r(e,t);else for(i in t)Dt(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)Dt(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")&&Nt.test(this.nodeName)&&!At.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(kt,"\r\n")}})):{name:t.name,value:n.replace(kt,"\r\n")}})).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=v.createElement("a");function Ft(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 Bt(e,t,n,r){var i={},o=e===Mt;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 $t(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}Wt.href=Tt.href,w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,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?$t($t(e,w.ajaxSettings),t):$t(w.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),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=Ht.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||Tt.href)+"").replace(Pt,Tt.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=Wt.protocol+"//"+Wt.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)),Bt(Rt,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=!Ot.test(d.type),i=d.url.replace(qt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(jt,"+")):(p=d.url.slice(i.length),d.data&&(d.processData||"string"==typeof d.data)&&(i+=(Et.test(i)?"&":"?")+d.data,delete d.data),!1===d.cache&&(i=i.replace(Lt,"$1"),p=(Et.test(i)?"&":"?")+"_="+Ct.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]?", "+It+"; 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=Bt(Mt,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&&(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 _t={0:200,1223:204},zt=w.ajaxSettings.xhr();d.cors=!!zt&&"withCredentials"in zt,d.ajax=zt=!!zt,w.ajaxTransport((function(t){var n,r;if(d.cors||zt&&!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(_t[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("<script>").attr(e.scriptAttrs||{}).prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),v.head.appendChild(t[0])},abort:function(){n&&n()}}}));var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||w.expando+"_"+Ct.guid++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",(function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(Vt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=h(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Vt,"$1"+i):!1!==t.jsonp&&(t.url+=(Et.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||w.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always((function(){void 0===o?w(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Xt.push(i)),a&&h(o)&&o(a[0]),a=o=void 0})),"script"})),d.createHTMLDocument=((Ut=v.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),w.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(d.createHTMLDocument?((r=(t=v.implementation.createHTMLDocument("")).createElement("base")).href=v.location.href,t.head.appendChild(r)):t=v),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=be([e],t,o),o&&o.length&&w(o).remove(),w.merge([],i.childNodes)));var r,i,o},w.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=vt(e.slice(s)),e=e.slice(0,s)),h(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&w.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done((function(e){o=arguments,a.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)})).always(n&&function(e,t){a.each((function(){n.apply(this,o||[e.responseText,t,e])}))}),this},w.expr.pseudos.animated=function(e){return w.grep(w.timers,(function(t){return e===t.elem})).length},w.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=w.css(e,"position"),c=w(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=w.css(e,"top"),u=w.css(e,"left"),("absolute"===l||"fixed"===l)&&(o+u).indexOf("auto")>-1?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),h(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each((function(t){w.offset.setOffset(this,e,t)}));var t,n,r=this[0];return r?r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map((function(){for(var e=this.offsetParent;e&&"static"===w.css(e,"position");)e=e.offsetParent;return e||re}))}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},(function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return $(this,(function(e,r,i){var o;if(g(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i}),e,r,arguments.length)}})),w.each(["top","left"],(function(e,t){w.cssHooks[t]=ze(d.pixelPosition,(function(e,n){if(n)return n=_e(e,t),We.test(n)?w(e).position()[t]+"px":n}))})),w.each({Height:"height",Width:"width"},(function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},(function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return $(this,(function(t,n,i){var o;return g(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,s):w.style(t,n,i,s)}),t,a?i:void 0,a)}}))})),w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],(function(e,t){w.fn[t]=function(e){return this.on(t,e)}})),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,""):this.off(t,e||"",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),(function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}));var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.proxy=function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),h(e))return r=i.call(arguments,2),(o=function(){return e.apply(t||this,r.concat(i.call(arguments)))}).guid=e.guid=e.guid||w.guid++,o},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=A,w.isFunction=h,w.isWindow=g,w.camelCase=X,w.type=x,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},w.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],(function(){return w}));var Yt=e.jQuery,Qt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=Qt),t&&e.jQuery===w&&(e.jQuery=Yt),w},void 0===t&&(e.jQuery=e.$=w),w}))},n 476: function _(t,n,i,o,e){var r=t(474);function u(){var t=!1,n=!1;this.stopPropagation=function(){t=!0},this.isPropagationStopped=function(){return t},this.stopImmediatePropagation=function(){n=!0},this.isImmediatePropagationStopped=function(){return n}}function s(){this.__nonDataRow=!0}function l(){this.__group=!0,this.level=0,this.count=0,this.value=null,this.title=null,this.collapsed=!1,this.selectChecked=!1,this.totals=null,this.rows=[],this.groups=null,this.groupingKey=null}function c(){this.__groupTotals=!0,this.group=null,this.initialized=!1}function h(){var t=null;this.isActive=function(n){return n?t===n:null!==t},this.activate=function(n){if(n!==t){if(null!==t)throw new Error("SlickGrid.EditorLock.activate: an editController is still active, can’t activate another editController");if(!n.commitCurrentEdit)throw new Error("SlickGrid.EditorLock.activate: editController must implement .commitCurrentEdit()");if(!n.cancelCurrentEdit)throw new Error("SlickGrid.EditorLock.activate: editController must implement .cancelCurrentEdit()");t=n}},this.deactivate=function(n){if(t!==n)throw new Error("SlickGrid.EditorLock.deactivate: specified editController is not the currently active one");t=null},this.commitCurrentEdit=function(){return!t||t.commitCurrentEdit()},this.cancelCurrentEdit=function(){return!t||t.cancelCurrentEdit()}}l.prototype=new s,l.prototype.equals=function(t){return this.value===t.value&&this.count===t.count&&this.collapsed===t.collapsed&&this.title===t.title},c.prototype=new s,n.exports={Event:function(){var t=[];this.subscribe=function(n){t.push(n)},this.unsubscribe=function(n){for(var i=t.length-1;i>=0;i–)t[i]===n&&t.splice(i,1)},this.notify=function(n,i,o){var e;i=i||new u,o=o||this;for(var r=0;r<t.length&&!i.isPropagationStopped()&&!i.isImmediatePropagationStopped();r++)e=t[r].call(o,i,n);return e}},EventData:u,EventHandler:function(){var t=[];this.subscribe=function(n,i){return t.push({event:n,handler:i}),n.subscribe(i),this},this.unsubscribe=function(n,i){for(var o=t.length;o–;)if(t[o].event===n&&t[o].handler===i)return t.splice(o,1),void n.unsubscribe(i);return this},this.unsubscribeAll=function(){for(var n=t.length;n–;)t[n].event.unsubscribe(t[n].handler);return t=[],this}},Range:function(t,n,i,o){void 0===i&&void 0===o&&(i=t,o=n),this.fromRow=Math.min(t,i),this.fromCell=Math.min(n,o),this.toRow=Math.max(t,i),this.toCell=Math.max(n,o),this.isSingleRow=function(){return this.fromRow==this.toRow},this.isSingleCell=function(){return this.fromRow==this.toRow&&this.fromCell==this.toCell},this.contains=function(t,n){return t>=this.fromRow&&t<=this.toRow&&n>=this.fromCell&&n<=this.toCell},this.toString=function(){return this.isSingleCell()?"("+this.fromRow+":"+this.fromCell+")":"("+this.fromRow+":"+this.fromCell+" - "+this.toRow+":"+this.toCell+")"}},NonDataRow:s,Group:l,GroupTotals:c,EditorLock:h,GlobalEditorLock:new h,TreeColumns:function(t){var n={};function i(t){t.forEach((function(t){n[t.id]=t,t.columns&&i(t.columns)}))}function o(t,n){return t.filter((function(t){var i=n.call(t);return i&&t.columns&&(t.columns=o(t.columns,n)),i&&(!t.columns||t.columns.length)}))}function e(t,n){t.sort((function(t,i){return u(n.getColumnIndex(t.id))-u(n.getColumnIndex(i.id))})).forEach((function(t){t.columns&&e(t.columns,n)}))}function u(t){return void 0===t?-1:t}function s(t){if(!t.length)return t.columns?1+s(t.columns):1;for(var n in t)return s(t[n])}function l(t,n,i){var o=[];if(n==(i=i||0))return t.length&&t.forEach((function(t){t.columns&&(t.extractColumns=function(){return c(t)})})),t;for(var e in t)t[e].columns&&(o=o.concat(l(t[e].columns,n,i+1)));return o}function c(t){var n=[];if(t.hasOwnProperty("length"))for(var i=0;i<t.length;i++)n=n.concat(c(t[i]));else{if(!t.hasOwnProperty("columns"))return t;n=n.concat(c(t.columns))}return n}function h(){return r.extend(!0,[],t)}i(t),this.hasDepth=function(){for(var n in t)if(t[n].hasOwnProperty("columns"))return!0;return!1},this.getTreeColumns=function(){return t},this.extractColumns=function(){return this.hasDepth()?c(t):t},this.getDepth=function(){return s(t)},this.getColumnsInDepth=function(n){return l(t,n)},this.getColumnsInGroup=function(t){return c(t)},this.visibleColumns=function(){return o(h(),(function(){return this.visible}))},this.filter=function(t){return o(h(),t)},this.reOrder=function(n){return e(t,n)},this.getById=function(t){return n[t]},this.getInIds=function(t){return t.map((function(t){return n[t]}))}},keyCode:{SPACE:8,BACKSPACE:8,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,ESC:27,HOME:36,INSERT:45,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,RIGHT:39,TAB:9,UP:38,A:65,C:67,V:86},preClickClassName:"slick-edit-preclick",GridAutosizeColsMode:{None:"NOA",LegacyOff:"LOF",LegacyForceFit:"LFF",IgnoreViewport:"IGV",FitColsToViewport:"FCV",FitViewportToCols:"FVC"},ColAutosizeMode:{Locked:"LCK",Guide:"GUI",Content:"CON",ContentIntelligent:"CTI"},RowSelectionMode:{FirstRow:"FS1",FirstNRows:"FSN",AllRows:"ALL",LastRow:"LS1"},ValueFilterMode:{None:"NONE",DeDuplicate:"DEDP",GetGreatestAndSub:"GR8T",GetLongestTextAndSub:"LNSB",GetLongestText:"LNSC"},WidthEvalMode:{CanvasTextSize:"CANV",HTML:"HTML"}}},n 477: function _(e,t,o,l,n){var i=e(474),c=e(476);t.exports={CheckboxSelectColumn:function(e){var t,o=null,l=k(),n=new c.EventHandler,r={},d=!1,a=i.extend(!0,{},{columnId:"_checkbox_selector",cssClass:null,hideSelectAllCheckbox:!1,toolTip:"Select/Deselect All",width:30,hideInColumnTitleRow:!1,hideInFilterHeaderRow:!0},e);function s(){t.updateColumnHeader(a.columnId,"","")}function u(){i("#filter-checkbox-selectall-container").hide()}function h(e,n){var c,s,u,h=t.getSelectedRows(),f={},p=0;if("function"==typeof o)for(u=0;u<t.getDataLength();u++){C(s,t.getDataItem(u),t)||p++}var b=[];for(s=0;s<h.length;s++){c=h[s],C(s,t.getDataItem(c),t)?(f[c]=!0,f[c]!==r[c]&&(t.invalidateRow(c),delete r[c])):b.push(c)}for(s in r)t.invalidateRow(s);(r=f,t.render(),d=h.length&&h.length+p>=t.getDataLength(),a.hideInColumnTitleRow||a.hideSelectAllCheckbox||R(d),a.hideInFilterHeaderRow)||i("#header-filter-selector"+l).prop("checked",d);if(b.length>0){for(s=0;s<b.length;s++){var m=h.indexOf(b[s]);h.splice(m,1)}t.setSelectedRows(h)}}function f(e,o){32==e.which&&t.getColumns()[o.cell].id===a.columnId&&(t.getEditorLock().isActive()&&!t.getEditorLock().commitCurrentEdit()||b(o.row),e.preventDefault(),e.stopImmediatePropagation())}function p(e,o){if(t.getColumns()[o.cell].id===a.columnId&&i(e.target).is(":checkbox")){if(t.getEditorLock().isActive()&&!t.getEditorLock().commitCurrentEdit())return e.preventDefault(),void e.stopImmediatePropagation();b(o.row),e.stopPropagation(),e.stopImmediatePropagation()}}function b(e){var o=t.getDataItem(e);C(e,o,t)&&(r[e]?t.setSelectedRows(i.grep(t.getSelectedRows(),(function(t){return t!=e}))):t.setSelectedRows(t.getSelectedRows().concat(e)),t.setActiveCell(e,function(){if(null===g){g=0;for(var e=t.getColumns(),o=0;o<e.length;o++)e[o].id==a.columnId&&(g=o)}return g}()))}function m(e,o){if(o.column.id==a.columnId&&i(e.target).is(":checkbox")){if(t.getEditorLock().isActive()&&!t.getEditorLock().commitCurrentEdit())return e.preventDefault(),void e.stopImmediatePropagation();if(i(e.target).is(":checked")){for(var l=[],n=0;n<t.getDataLength();n++){C(n,t.getDataItem(n),t)&&l.push(n)}t.setSelectedRows(l)}else t.setSelectedRows([]);e.stopPropagation(),e.stopImmediatePropagation()}}"function"==typeof a.selectableOverride&&v(a.selectableOverride);var g=null;function k(){return Math.round(1e7*Math.random())}function w(e,t,o,l,n,i){var c=k()+e;return n&&C(e,n,i)?r[e]?"<input id=’selector"+c+"’ type=’checkbox’ checked=’checked’><label for=’selector"+c+"’></label>":"<input id=’selector"+c+"’ type=’checkbox’><label for=’selector"+c+"’></label>":null}function C(e,t,l){return"function"!=typeof o||o(e,t,l)}function R(e){e?t.updateColumnHeader(a.columnId,"<input id=’header-selector"+l+"’ type=’checkbox’ checked=’checked’><label for=’header-selector"+l+"’></label>",a.toolTip):t.updateColumnHeader(a.columnId,"<input id=’header-selector"+l+"’ type=’checkbox’><label for=’header-selector"+l+"’></label>",a.toolTip)}function v(e){o=e}i.extend(this,{init:function(e){t=e,n.subscribe(t.onSelectedRowsChanged,h).subscribe(t.onClick,p).subscribe(t.onKeyDown,f),a.hideInFilterHeaderRow||function(e){e.onHeaderRowCellRendered.subscribe((function(e,t){"sel"===t.column.field&&(i(t.node).empty(),i("<span id=’filter-checkbox-selectall-container’><input id=’header-filter-selector"+l+"’ type=’checkbox’><label for=’header-filter-selector"+l+"’></label></span>").appendTo(t.node).on("click",(function(e){m(e,t)})))}))}(e),a.hideInColumnTitleRow||n.subscribe(t.onHeaderClick,m)},destroy:function(){n.unsubscribeAll()},pluginName:"CheckboxSelectColumn",deSelectRows:function(e){var o,l=e.length,n=[];for(o=0;o<l;o++)r[e[o]]&&(n[n.length]=e[o]);t.setSelectedRows(i.grep(t.getSelectedRows(),(function(e){return n.indexOf(e)<0})))},selectRows:function(e){var o,l=e.length,n=[];for(o=0;o<l;o++)r[e[o]]||(n[n.length]=e[o]);t.setSelectedRows(t.getSelectedRows().concat(n))},getColumnDefinition:function(){return{id:a.columnId,name:a.hideSelectAllCheckbox||a.hideInColumnTitleRow?"":"<input id=’header-selector"+l+"’ type=’checkbox’><label for=’header-selector"+l+"’></label>",toolTip:a.hideSelectAllCheckbox||a.hideInColumnTitleRow?"":a.toolTip,field:"sel",width:a.width,resizable:!1,sortable:!1,cssClass:a.cssClass,hideSelectAllCheckbox:a.hideSelectAllCheckbox,formatter:w}},getOptions:function(){return a},selectableOverride:v,setOptions:function(e){if((a=i.extend(!0,{},a,e)).hideSelectAllCheckbox)s(),u();else if(a.hideInColumnTitleRow?s():(R(d),n.subscribe(t.onHeaderClick,m)),a.hideInFilterHeaderRow)u();else{var o=i("#filter-checkbox-selectall-container");o.show(),o.find(‘input[type="checkbox"]’).prop("checked",d)}}})}}},n 478: function _(e,t,o,l,n){var a=e(474),r=e(476),i=r.keyCode;t.exports={CellExternalCopyManager:function(e){var t,o,l=this,n=e||{},s=n.copiedCellStyleLayerKey||"copy-manager",u=n.copiedCellStyle||"copied",c=0,d=n.bodyElement||document.body,f=n.onCopyInit||null,h=n.onCopySuccess||null;function C(e){if(n.headerColumnValueExtractor){var t=n.headerColumnValueExtractor(e);if(t)return t}return e.name}function m(e,o,l){if(n.dataItemColumnValueExtractor){var r=n.dataItemColumnValueExtractor(e,o);if(r)return r}var i="";if(o.editor){var s={container:a("<p>"),column:o,position:{top:0,left:0},grid:t,event:l},u=new o.editor(s);u.loadValue(e),i=u.serializeValue(),u.destroy()}else i=e[o.field];return i}function g(e,o,l){if(o.denyPaste)return null;if(n.dataItemColumnValueSetter)return n.dataItemColumnValueSetter(e,o,l);if(o.editor){var r={container:a("body"),column:o,position:{top:0,left:0},grid:t},i=new o.editor(r);i.loadValue(e),i.applyValue(e,l),i.destroy()}else e[o.field]=l}function p(e){var t=document.createElement("textarea");return t.style.position="absolute",t.style.left="-1000px",t.style.top=document.body.scrollTop+"px",t.value=e,d.appendChild(t),t.select(),t}function y(e,a){var r;if(!t.getEditorLock().isActive()||t.getOptions().autoEdit){if(e.which==i.ESC&&o&&(e.preventDefault(),w(),l.onCopyCancelled.notify({ranges:o}),o=null),(e.which===i.C||e.which===i.INSERT)&&(e.ctrlKey||e.metaKey)&&!e.shiftKey&&(f&&f.call(),0!==(r=t.getSelectionModel().getSelectedRanges()).length)){o=r,v(r),l.onCopyCells.notify({ranges:r});for(var s=t.getColumns(),u="",c=0;c<r.length;c++){for(var y=r[c],D=[],S=y.fromRow;S<y.toRow+1;S++){var R=[],x=t.getDataItem(S);if(0===D.length&&n.includeHeaderWhenCopying){for(var E=[],V=y.fromCell;V<y.toCell+1;V++)s[V].name.length>0&&E.push(C(s[V]));D.push(E.join("\t"))}for(V=y.fromCell;V<y.toCell+1;V++)R.push(m(x,s[V],e));D.push(R.join("\t"))}u+=D.join("\r\n")+"\r\n"}if(window.clipboardData)return window.clipboardData.setData("Text",u),!0;var b=document.activeElement;if((M=p(u)).focus(),setTimeout((function(){d.removeChild(M),b?b.focus():console.log("Not element to restore focus to after copy?")}),100),h){var I=0;I=1===r.length?r[0].toRow+1-r[0].fromRow:r.length,h.call(this,I)}return!1}if(!n.readOnlyMode&&(e.which===i.V&&(e.ctrlKey||e.metaKey)&&!e.shiftKey||e.which===i.INSERT&&e.shiftKey&&!e.ctrlKey)){var M=p("");return setTimeout((function(){!function(e,t){var o=e.getColumns(),a=t.value.split(/[\n\f\r]/);""===a[a.length-1]&&a.pop();var r=[],i=0;d.removeChild(t);for(var s=0;s<a.length;s++)""!==a[s]?r[i++]=a[s].split("\t"):r[i++]=[""];var u=e.getActiveCell(),c=e.getSelectionModel().getSelectedRanges(),f=c&&c.length?c[0]:null,h=null,C=null;if(f)h=f.fromRow,C=f.fromCell;else{if(!u)return;h=u.row,C=u.cell}var m=!1,p=r.length,y=r.length?r[0].length:0;1==r.length&&1==r[0].length&&f&&(m=!0,p=f.toRow-f.fromRow+1,y=f.toCell-f.fromCell+1);var w=e.getData().length-h,D=0;if(w<p&&n.newRowCreator){var S=e.getData();for(D=1;D<=p-w;D++)S.push({});e.setData(S),e.render()}var R=h+p>e.getDataLength();if(n.newRowCreator&&R){var x=h+p-e.getDataLength();n.newRowCreator(x)}var E={isClipboardCommand:!0,clippedRange:r,oldValues:[],cellExternalCopyManager:l,_options:n,setDataItemValueForColumn:g,markCopySelection:v,oneCellToMultiple:m,activeRow:h,activeCell:C,destH:p,destW:y,maxDestY:e.getDataLength(),maxDestX:e.getColumns().length,h:0,w:0,execute:function(){this.h=0;for(var t=0;t<this.destH;t++){this.oldValues[t]=[],this.w=0,this.h++;for(var l=0;l<this.destW;l++){this.w++;var n=h+t,a=C+l;if(n<this.maxDestY&&a<this.maxDestX){e.getCellNode(n,a);var i=e.getDataItem(n);this.oldValues[t][l]=i[o[a].field],m?this.setDataItemValueForColumn(i,o[a],r[0][0]):this.setDataItemValueForColumn(i,o[a],r[t]?r[t][l]:""),e.updateCell(n,a),e.onCellChange.notify({row:n,cell:a,item:i,grid:e})}}}var s={fromCell:C,fromRow:h,toCell:C+this.w-1,toRow:h+this.h-1};this.markCopySelection([s]),e.getSelectionModel().setSelectedRanges([s]),this.cellExternalCopyManager.onPasteCells.notify({ranges:[s]})},undo:function(){for(var t=0;t<this.destH;t++)for(var l=0;l<this.destW;l++){var n=h+t,a=C+l;if(n<this.maxDestY&&a<this.maxDestX){e.getCellNode(n,a);var r=e.getDataItem(n);m?this.setDataItemValueForColumn(r,o[a],this.oldValues[0][0]):this.setDataItemValueForColumn(r,o[a],this.oldValues[t][l]),e.updateCell(n,a),e.onCellChange.notify({row:n,cell:a,item:r,grid:e})}}var i={fromCell:C,fromRow:h,toCell:C+this.w-1,toRow:h+this.h-1};if(this.markCopySelection([i]),e.getSelectionModel().setSelectedRanges([i]),this.cellExternalCopyManager.onPasteCells.notify({ranges:[i]}),D>1){for(var s=e.getData();D>1;D–)s.splice(s.length-1,1);e.setData(s),e.render()}}};n.clipboardCommandHandler?n.clipboardCommandHandler(E):E.execute()}(t,M)}),100),!1}}}function v(e){w();for(var o=t.getColumns(),n={},a=0;a<e.length;a++)for(var r=e[a].fromRow;r<=e[a].toRow;r++){n[r]={};for(var i=e[a].fromCell;i<=e[a].toCell&&i<o.length;i++)n[r][o[i].id]=u}t.setCellCssStyles(s,n),clearTimeout(c),c=setTimeout((function(){l.clearCopySelection()}),2e3)}function w(){t.removeCellCssStyles(s)}a.extend(this,{init:function(e){(t=e).onKeyDown.subscribe(y);var o=e.getSelectionModel();if(!o)throw new Error("Selection model is mandatory for this plugin. Please set a selection model on the grid before adding this plugin: grid.setSelectionModel(new Slick.CellSelectionModel())");o.onSelectedRangesChanged.subscribe((function(e,o){t.focus()}))},destroy:function(){t.onKeyDown.unsubscribe(y)},pluginName:"CellExternalCopyManager",clearCopySelection:w,handleKeyDown:y,onCopyCells:new r.Event,onCopyCancelled:new r.Event,onPasteCells:new r.Event,setIncludeHeaderWhenCopying:function(e){n.includeHeaderWhenCopying=e}})}}},n 479: function _(r,t,o,_,e){var p=r(1);p.__exportStar(r(476),t.exports),p.__exportStar(r(480),t.exports),p.__exportStar(r(483),t.exports),p.__exportStar(r(484),t.exports),p.__exportStar(r(485),t.exports),p.__exportStar(r(486),t.exports),p.__exportStar(r(487),t.exports)},n 480: function _(require,module,exports,__esModule,__esExport){n /n * @licensen * (c) 2009-2016 Michael Leibmann * michael{dot}leibman{at}gmail{dot}comn * http://github.com/mleibman/slickgridn n * Distributed under MIT license.n * All rights reserved.n *n * SlickGrid v2.4n *n * NOTES:n * Cell/row DOM manipulations are done directly bypassing jQuery’s DOM manipulation methods.n * This increases the speed dramatically, but can only be done safely because there are no event handlersn * or data associated with any cell/row DOM nodes. Cell editors must make sure they implement .destroy()n * and do proper cleanup.n */n var $=require(474),Slick=require(476),scrollbarDimensions,maxSupportedCssHeight;function SlickGrid(container,data,columns,options){$.fn.drag||require(481),$.fn.drop||require(482);var defaults={alwaysShowVerticalScroll:!1,alwaysAllowHorizontalScroll:!1,explicitInitialization:!1,rowHeight:25,defaultColumnWidth:80,enableAddRow:!1,leaveSpaceForNewRows:!1,editable:!1,autoEdit:!0,suppressActiveCellChangeOnEdit:!1,enableCellNavigation:!0,enableColumnReorder:!0,asyncEditorLoading:!1,asyncEditorLoadDelay:100,forceFitColumns:!1,enableAsyncPostRender:!1,asyncPostRenderDelay:50,enableAsyncPostRenderCleanup:!1,asyncPostRenderCleanupDelay:40,autoHeight:!1,editorLock:Slick.GlobalEditorLock,showColumnHeader:!0,showHeaderRow:!1,headerRowHeight:25,createFooterRow:!1,showFooterRow:!1,footerRowHeight:25,createPreHeaderPanel:!1,showPreHeaderPanel:!1,preHeaderPanelHeight:25,showTopPanel:!1,topPanelHeight:25,formatterFactory:null,editorFactory:null,cellFlashingCssClass:"flashing",selectedCellCssClass:"selected",multiSelect:!0,enableTextSelectionOnCells:!1,dataItemColumnValueExtractor:null,frozenBottom:!1,frozenColumn:-1,frozenRow:-1,fullWidthRows:!1,multiColumnSort:!1,numberedMultiColumnSort:!1,tristateMultiColumnSort:!1,sortColNumberInSeparateSpan:!1,defaultFormatter,forceSyncScrolling:!1,addNewRowCssClass:"new-row",preserveCopiedSelectionOnPaste:!1,showCellSelection:!0,viewportClass:null,minRowBuffer:3,emulatePagingWhenScrolling:!0,editorCellNavOnLRKeys:!1,doPaging:!0,autosizeColsMode:Slick.GridAutosizeColsMode.LegacyOff,autosizeColPaddingPx:4,autosizeTextAvgToMWidthRatio:.75,viewportSwitchToScrollModeWidthPercent:void 0,viewportMinWidthPx:void 0,viewportMaxWidthPx:void 0},columnDefaults={name:"",resizable:!0,sortable:!1,minWidth:30,maxWidth:void 0,rerenderOnResize:!1,headerCssClass:null,defaultSortAsc:!0,focusable:!0,selectable:!0},columnAutosizeDefaults={ignoreHeaderText:!1,colValueArray:void 0,allowAddlPercent:void 0,formatterOverride:void 0,autosizeMode:Slick.ColAutosizeMode.ContentIntelligent,rowSelectionModeOnInit:void 0,rowSelectionMode:Slick.RowSelectionMode.FirstNRows,rowSelectionCount:100,valueFilterMode:Slick.ValueFilterMode.None,widthEvalMode:Slick.WidthEvalMode.CanvasTextSize,sizeToRemaining:void 0,widthPx:void 0,colDataTypeOf:void 0},th,h,ph,n,cj,page=0,offset=0,vScrollDir=1,initialized=!1,$container,uid="slickgrid_"+Math.round(1e6*Math.random()),self=this,$focusSink,$focusSink2,$groupHeaders=$(),$headerScroller,$headers,$headerRow,$headerRowScroller,$headerRowSpacerL,$headerRowSpacerR,$footerRow,$footerRowScroller,$footerRowSpacerL,$footerRowSpacerR,$preHeaderPanel,$preHeaderPanelScroller,$preHeaderPanelSpacer,$preHeaderPanelR,$preHeaderPanelScrollerR,$preHeaderPanelSpacerR,$topPanelScroller,$topPanel,$viewport,$canvas,$style,$boundAncestors,treeColumns,stylesheet,columnCssRulesL,columnCssRulesR,viewportH,viewportW,canvasWidth,canvasWidthL,canvasWidthR,headersWidth,headersWidthL,headersWidthR,viewportHasHScroll,viewportHasVScroll,headerColumnWidthDiff=0,headerColumnHeightDiff=0,cellWidthDiff=0,cellHeightDiff=0,jQueryNewWidthBehaviour=!1,absoluteColumnMinWidth,hasFrozenRows=!1,frozenRowsHeight=0,actualFrozenRow=-1,paneTopH=0,paneBottomH=0,viewportTopH=0,viewportBottomH=0,topPanelH=0,headerRowH=0,footerRowH=0,tabbingDirection=1,$activeCanvasNode,$activeViewportNode,activePosX,activeRow,activeCell,activeCellNode=null,currentEditor=null,serializedEditorValue,editController,rowsCache={},renderedRows=0,numVisibleRows=0,prevScrollTop=0,scrollTop=0,lastRenderedScrollTop=0,lastRenderedScrollLeft=0,prevScrollLeft=0,scrollLeft=0,selectionModel,selectedRows=[],plugins=[],cellCssClasses={},columnsById={},sortColumns=[],columnPosLeft=[],columnPosRight=[],pagingActive=!1,pagingIsLastPage=!1,scrollThrottle=ActionThrottle(render,50),h_editorLoader=null,h_render=null,h_postrender=null,h_postrenderCleanup=null,postProcessedRows={},postProcessToRow=null,postProcessFromRow=null,postProcessedCleanupQueue=[],postProcessgroupId=0,counter_rows_rendered=0,counter_rows_removed=0,rowNodeFromLastMouseWheelEvent,zombieRowNodeFromLastMouseWheelEvent,zombieRowCacheFromLastMouseWheelEvent,zombieRowPostProcessedFromLastMouseWheelEvent,$paneHeaderL,$paneHeaderR,$paneTopL,$paneTopR,$paneBottomL,$paneBottomR,$headerScrollerL,$headerScrollerR,$headerL,$headerR,$groupHeadersL,$groupHeadersR,$headerRowScrollerL,$headerRowScrollerR,$footerRowScrollerL,$footerRowScrollerR,$headerRowL,$headerRowR,$footerRowL,$footerRowR,$topPanelScrollerL,$topPanelScrollerR,$topPanelL,$topPanelR,$viewportTopL,$viewportTopR,$viewportBottomL,$viewportBottomR,$canvasTopL,$canvasTopR,$canvasBottomL,$canvasBottomR,$viewportScrollContainerX,$viewportScrollContainerY,$headerScrollContainer,$headerRowScrollContainer,$footerRowScrollContainer,cssShow={position:"absolute",visibility:"hidden",display:"block"},$hiddenParents,oldProps=[],columnResizeDragging=!1;function init(){if(($container=container instanceof $?container:$(container)).length<1)throw new Error("SlickGrid requires a valid container, "+container+" does not exist in the DOM.");if(cacheCssForHiddenInit(),maxSupportedCssHeight=maxSupportedCssHeight||getMaxSupportedCssHeight(),options=$.extend({},defaults,options),validateAndEnforceOptions(),columnDefaults.width=options.defaultColumnWidth,treeColumns=new Slick.TreeColumns(columns),columns=treeColumns.extractColumns(),updateColumnProps(),options.enableColumnReorder&&!$.fn.sortable)throw new Error("SlickGrid’s ‘enableColumnReorder = true’ option requires jquery-ui.sortable module to be loaded");if(editController={commitCurrentEdit,cancelCurrentEdit},$container.empty().css("overflow","hidden").css("outline",0).addClass(uid).addClass("ui-widget"),/relative|absolute|fixed/.test($container.css("position"))||$container.css("position","relative"),$focusSink=$("<div tabIndex=’0’ hideFocus style=’position:fixed;width:0;height:0;top:0;left:0;outline:0;’></div>").appendTo($container),$paneHeaderL=$("<div class=’slick-pane slick-pane-header slick-pane-left’ tabIndex=’0’ />").appendTo($container),$paneHeaderR=$("<div class=’slick-pane slick-pane-header slick-pane-right’ tabIndex=’0’ />").appendTo($container),$paneTopL=$("<div class=’slick-pane slick-pane-top slick-pane-left’ tabIndex=’0’ />").appendTo($container),$paneTopR=$("<div class=’slick-pane slick-pane-top slick-pane-right’ tabIndex=’0’ />").appendTo($container),$paneBottomL=$("<div class=’slick-pane slick-pane-bottom slick-pane-left’ tabIndex=’0’ />").appendTo($container),$paneBottomR=$("<div class=’slick-pane slick-pane-bottom slick-pane-right’ tabIndex=’0’ />").appendTo($container),options.createPreHeaderPanel&&($preHeaderPanelScroller=$("<div class=’slick-preheader-panel ui-state-default’ style=’overflow:hidden;position:relative;’ />").appendTo($paneHeaderL),$preHeaderPanel=$("<div />").appendTo($preHeaderPanelScroller),$preHeaderPanelSpacer=$("<div style=’display:block;height:1px;position:absolute;top:0;left:0;’></div>").appendTo($preHeaderPanelScroller),$preHeaderPanelScrollerR=$("<div class=’slick-preheader-panel ui-state-default’ style=’overflow:hidden;position:relative;’ />").appendTo($paneHeaderR),$preHeaderPanelR=$("<div />").appendTo($preHeaderPanelScrollerR),$preHeaderPanelSpacerR=$("<div style=’display:block;height:1px;position:absolute;top:0;left:0;’></div>").appendTo($preHeaderPanelScrollerR),options.showPreHeaderPanel||($preHeaderPanelScroller.hide(),$preHeaderPanelScrollerR.hide())),$headerScrollerL=$("<div class=’slick-header ui-state-default slick-header-left’ />").appendTo($paneHeaderL),$headerScrollerR=$("<div class=’slick-header ui-state-default slick-header-right’ />").appendTo($paneHeaderR),$headerScroller=$().add($headerScrollerL).add($headerScrollerR),treeColumns.hasDepth()){$groupHeadersL=[],$groupHeadersR=[];for(var e=0;e<treeColumns.getDepth()-1;e++)$groupHeadersL[e]=$("<div class=’slick-group-header-columns slick-group-header-columns-left’ style=’left:-1000px’ />").appendTo($headerScrollerL),$groupHeadersR[e]=$("<div class=’slick-group-header-columns slick-group-header-columns-right’ style=’left:-1000px’ />").appendTo($headerScrollerR);$groupHeaders=$().add($groupHeadersL).add($groupHeadersR)}$headerL=$("<div class=’slick-header-columns slick-header-columns-left’ style=’left:-1000px’ />").appendTo($headerScrollerL),$headerR=$("<div class=’slick-header-columns slick-header-columns-right’ style=’left:-1000px’ />").appendTo($headerScrollerR),$headers=$().add($headerL).add($headerR),$headerRowScrollerL=$("<div class=’slick-headerrow ui-state-default’ />").appendTo($paneTopL),$headerRowScrollerR=$("<div class=’slick-headerrow ui-state-default’ />").appendTo($paneTopR),$headerRowScroller=$().add($headerRowScrollerL).add($headerRowScrollerR),$headerRowSpacerL=$("<div style=’display:block;height:1px;position:absolute;top:0;left:0;’></div>").appendTo($headerRowScrollerL),$headerRowSpacerR=$("<div style=’display:block;height:1px;position:absolute;top:0;left:0;’></div>").appendTo($headerRowScrollerR),$headerRowL=$("<div class=’slick-headerrow-columns slick-headerrow-columns-left’ />").appendTo($headerRowScrollerL),$headerRowR=$("<div class=’slick-headerrow-columns slick-headerrow-columns-right’ />").appendTo($headerRowScrollerR),$headerRow=$().add($headerRowL).add($headerRowR),$topPanelScrollerL=$("<div class=’slick-top-panel-scroller ui-state-default’ />").appendTo($paneTopL),$topPanelScrollerR=$("<div class=’slick-top-panel-scroller ui-state-default’ />").appendTo($paneTopR),$topPanelScroller=$().add($topPanelScrollerL).add($topPanelScrollerR),$topPanelL=$("<div class=’slick-top-panel’ style=’width:10000px’ />").appendTo($topPanelScrollerL),$topPanelR=$("<div class=’slick-top-panel’ style=’width:10000px’ />").appendTo($topPanelScrollerR),$topPanel=$().add($topPanelL).add($topPanelR),options.showColumnHeader||$headerScroller.hide(),options.showTopPanel||$topPanelScroller.hide(),options.showHeaderRow||$headerRowScroller.hide(),$viewportTopL=$("<div class=’slick-viewport slick-viewport-top slick-viewport-left’ tabIndex=’0’ hideFocus />").appendTo($paneTopL),$viewportTopR=$("<div class=’slick-viewport slick-viewport-top slick-viewport-right’ tabIndex=’0’ hideFocus />").appendTo($paneTopR),$viewportBottomL=$("<div class=’slick-viewport slick-viewport-bottom slick-viewport-left’ tabIndex=’0’ hideFocus />").appendTo($paneBottomL),$viewportBottomR=$("<div class=’slick-viewport slick-viewport-bottom slick-viewport-right’ tabIndex=’0’ hideFocus />").appendTo($paneBottomR),$viewport=$().add($viewportTopL).add($viewportTopR).add($viewportBottomL).add($viewportBottomR),$activeViewportNode=$viewportTopL,$canvasTopL=$("<div class=’grid-canvas grid-canvas-top grid-canvas-left’ tabIndex=’0’ hideFocus />").appendTo($viewportTopL),$canvasTopR=$("<div class=’grid-canvas grid-canvas-top grid-canvas-right’ tabIndex=’0’ hideFocus />").appendTo($viewportTopR),$canvasBottomL=$("<div class=’grid-canvas grid-canvas-bottom grid-canvas-left’ tabIndex=’0’ hideFocus />").appendTo($viewportBottomL),$canvasBottomR=$("<div class=’grid-canvas grid-canvas-bottom grid-canvas-right’ tabIndex=’0’ hideFocus />").appendTo($viewportBottomR),options.viewportClass&&$viewport.toggleClass(options.viewportClass,!0),$canvas=$().add($canvasTopL).add($canvasTopR).add($canvasBottomL).add($canvasBottomR),scrollbarDimensions=scrollbarDimensions||measureScrollbar(),$activeCanvasNode=$canvasTopL,$preHeaderPanelSpacer&&$preHeaderPanelSpacer.css("width",getCanvasWidth()+scrollbarDimensions.width+"px"),$headers.width(getHeadersWidth()),$headerRowSpacerL.css("width",getCanvasWidth()+scrollbarDimensions.width+"px"),$headerRowSpacerR.css("width",getCanvasWidth()+scrollbarDimensions.width+"px"),options.createFooterRow&&($footerRowScrollerR=$("<div class=’slick-footerrow ui-state-default’ />").appendTo($paneTopR),$footerRowScrollerL=$("<div class=’slick-footerrow ui-state-default’ />").appendTo($paneTopL),$footerRowScroller=$().add($footerRowScrollerL).add($footerRowScrollerR),$footerRowSpacerL=$("<div style=’display:block;height:1px;position:absolute;top:0;left:0;’></div>").css("width",getCanvasWidth()+scrollbarDimensions.width+"px").appendTo($footerRowScrollerL),$footerRowSpacerR=$("<div style=’display:block;height:1px;position:absolute;top:0;left:0;’></div>").css("width",getCanvasWidth()+scrollbarDimensions.width+"px").appendTo($footerRowScrollerR),$footerRowL=$("<div class=’slick-footerrow-columns slick-footerrow-columns-left’ />").appendTo($footerRowScrollerL),$footerRowR=$("<div class=’slick-footerrow-columns slick-footerrow-columns-right’ />").appendTo($footerRowScrollerR),$footerRow=$().add($footerRowL).add($footerRowR),options.showFooterRow||$footerRowScroller.hide()),$focusSink2=$focusSink.clone().appendTo($container),options.explicitInitialization||finishInitialization()}function finishInitialization(){initialized||(initialized=!0,getViewportWidth(),getViewportHeight(),measureCellPaddingAndBorder(),disableSelection($headers),options.enableTextSelectionOnCells||$viewport.on("selectstart.ui",(function(e){return $(e.target).is("input,textarea")})),setFrozenOptions(),setPaneVisibility(),setScroller(),setOverflow(),updateColumnCaches(),createColumnHeaders(),createColumnGroupHeaders(),createColumnFooter(),setupColumnSort(),createCssRules(),resizeCanvas(),bindAncestorScrollEvents(),$container.on("resize.slickgrid",resizeCanvas),$viewport.on("scroll",handleScroll),$.fn.mousewheel&&$viewport.on("mousewheel",handleMouseWheel),$headerScroller.on("contextmenu",handleHeaderContextMenu).on("click",handleHeaderClick).on("mouseenter",".slick-header-column",handleHeaderMouseEnter).on("mouseleave",".slick-header-column",handleHeaderMouseLeave),$headerRowScroller.on("scroll",handleHeaderRowScroll),options.createFooterRow&&($footerRow.on("contextmenu",handleFooterContextMenu).on("click",handleFooterClick),$footerRowScroller.on("scroll",handleFooterRowScroll)),options.createPreHeaderPanel&&$preHeaderPanelScroller.on("scroll",handlePreHeaderPanelScroll),$focusSink.add($focusSink2).on("keydown",handleKeyDown),$canvas.on("keydown",handleKeyDown).on("click",handleClick).on("dblclick",handleDblClick).on("contextmenu",handleContextMenu).on("draginit",handleDragInit).on("dragstart",{distance:3},handleDragStart).on("drag",handleDrag).on("dragend",handleDragEnd).on("mouseenter",".slick-cell",handleMouseEnter).on("mouseleave",".slick-cell",handleMouseLeave),restoreCssFromHiddenInit())}function cacheCssForHiddenInit(){($hiddenParents=$container.parents().addBack().not(":visible")).each((function(){var e={};for(var o in cssShow)e[o]=this.style[o],this.style[o]=cssShow[o];oldProps.push(e)}))}function restoreCssFromHiddenInit(){$hiddenParents.each((function(e){var o=oldProps[e];for(var t in cssShow)this.style[t]=o[t]}))}function hasFrozenColumns(){return options.frozenColumn>-1}function registerPlugin(e){plugins.unshift(e),e.init(self)}function unregisterPlugin(e){for(var o=plugins.length;o>=0;o–)if(plugins[o]===e){plugins[o].destroy&&plugins[o].destroy(),plugins.splice(o,1);break}}function getPluginByName(e){for(var o=plugins.length-1;o>=0;o–)if(plugins[o].pluginName===e)return plugins[o]}function setSelectionModel(e){selectionModel&&(selectionModel.onSelectedRangesChanged.unsubscribe(handleSelectedRangesChanged),selectionModel.destroy&&selectionModel.destroy()),(selectionModel=e)&&(selectionModel.init(self),selectionModel.onSelectedRangesChanged.subscribe(handleSelectedRangesChanged))}function getSelectionModel(){return selectionModel}function getCanvasNode(e,o){e||(e=0),o||(o=0);var t="number"==typeof e?e:getColumnIndex(e);return hasFrozenRows&&o>=actualFrozenRow+(options.frozenBottom?0:1)?hasFrozenColumns()&&t>options.frozenColumn?$canvasBottomR[0]:$canvasBottomL[0]:hasFrozenColumns()&&t>options.frozenColumn?$canvasTopR[0]:$canvasTopL[0]}function getActiveCanvasNode(e){return setActiveCanvasNode(e),$activeCanvasNode[0]}function getCanvases(){return $canvas}function setActiveCanvasNode(e){e&&($activeCanvasNode=$(e.target).closest(".grid-canvas"))}function getViewportNode(){return $viewport[0]}function getActiveViewportNode(e){return setActiveViewPortNode(e),$activeViewportNode[0]}function setActiveViewportNode(e){e&&($activeViewportNode=$(e.target).closest(".slick-viewport"))}function measureScrollbar(){var e=$(‘<div class="’+$viewport.className+’" style="position:absolute; top:-10000px; left:-10000px; overflow:auto; width:100px; height:100px;"></div>’).appendTo("body"),o=$(‘<div style="width:200px; height:200px; overflow:auto;"></div>’).appendTo(e),t={width:e[0].offsetWidth-e[0].clientWidth,height:e[0].offsetHeight-e[0].clientHeight};return o.remove(),e.remove(),t}function getHeadersWidth(){headersWidth=headersWidthL=headersWidthR=0;for(var e=!options.autoHeight,o=0,t=columns.length;o<t;o++){var n=columns[o].width;options.frozenColumn>-1&&o>options.frozenColumn?headersWidthR+=n:headersWidthL+=n}return e&&(options.frozenColumn>-1&&o>options.frozenColumn?headersWidthR+=scrollbarDimensions.width:headersWidthL+=scrollbarDimensions.width),hasFrozenColumns()?(headersWidthL+=1e3,headersWidthR=Math.max(headersWidthR,viewportW)+headersWidthL,headersWidthR+=scrollbarDimensions.width):(headersWidthL+=scrollbarDimensions.width,headersWidthL=Math.max(headersWidthL,viewportW)+1e3),headersWidth=headersWidthL+headersWidthR,Math.max(headersWidth,viewportW)+1e3}function getHeadersWidthL(){return headersWidthL=0,columns.forEach((function(e,o){options.frozenColumn>-1&&o>options.frozenColumn||(headersWidthL+=e.width)})),hasFrozenColumns()?headersWidthL+=1e3:(headersWidthL+=scrollbarDimensions.width,headersWidthL=Math.max(headersWidthL,viewportW)+1e3),headersWidthL}function getHeadersWidthR(){return headersWidthR=0,columns.forEach((function(e,o){options.frozenColumn>-1&&o>options.frozenColumn&&(headersWidthR+=e.width)})),hasFrozenColumns()&&(headersWidthR=Math.max(headersWidthR,viewportW)+getHeadersWidthL(),headersWidthR+=scrollbarDimensions.width),headersWidthR}function getCanvasWidth(){var e=viewportHasVScroll?viewportW-scrollbarDimensions.width:viewportW,o=columns.length;for(canvasWidthL=canvasWidthR=0;o–;)hasFrozenColumns()&&o>options.frozenColumn?canvasWidthR+=columns[o].width:canvasWidthL+=columns[o].width;var t=canvasWidthL+canvasWidthR;return options.fullWidthRows?Math.max(t,e):t}function updateCanvasWidth(e){var o,t=canvasWidth,n=canvasWidthL,l=canvasWidthR;((o=(canvasWidth=getCanvasWidth())!==t||canvasWidthL!==n||canvasWidthR!==l)||hasFrozenColumns()||hasFrozenRows)&&($canvasTopL.width(canvasWidthL),getHeadersWidth(),$headerL.width(headersWidthL),$headerR.width(headersWidthR),hasFrozenColumns()?($canvasTopR.width(canvasWidthR),$paneHeaderL.width(canvasWidthL),$paneHeaderR.css("left",canvasWidthL),$paneHeaderR.css("width",viewportW-canvasWidthL),$paneTopL.width(canvasWidthL),$paneTopR.css("left",canvasWidthL),$paneTopR.css("width",viewportW-canvasWidthL),$headerRowScrollerL.width(canvasWidthL),$headerRowScrollerR.width(viewportW-canvasWidthL),$headerRowL.width(canvasWidthL),$headerRowR.width(canvasWidthR),options.createFooterRow&&($footerRowScrollerL.width(canvasWidthL),$footerRowScrollerR.width(viewportW-canvasWidthL),$footerRowL.width(canvasWidthL),$footerRowR.width(canvasWidthR)),options.createPreHeaderPanel&&$preHeaderPanel.width(canvasWidth),$viewportTopL.width(canvasWidthL),$viewportTopR.width(viewportW-canvasWidthL),hasFrozenRows&&($paneBottomL.width(canvasWidthL),$paneBottomR.css("left",canvasWidthL),$viewportBottomL.width(canvasWidthL),$viewportBottomR.width(viewportW-canvasWidthL),$canvasBottomL.width(canvasWidthL),$canvasBottomR.width(canvasWidthR))):($paneHeaderL.width("100%"),$paneTopL.width("100%"),$headerRowScrollerL.width("100%"),$headerRowL.width(canvasWidth),options.createFooterRow&&($footerRowScrollerL.width("100%"),$footerRowL.width(canvasWidth)),options.createPreHeaderPanel&&($preHeaderPanel.width("100%"),$preHeaderPanel.width(canvasWidth)),$viewportTopL.width("100%"),hasFrozenRows&&($viewportBottomL.width("100%"),$canvasBottomL.width(canvasWidthL))),viewportHasHScroll=canvasWidth>viewportW-scrollbarDimensions.width),$headerRowSpacerL.width(canvasWidth+(viewportHasVScroll?scrollbarDimensions.width:0)),$headerRowSpacerR.width(canvasWidth+(viewportHasVScroll?scrollbarDimensions.width:0)),options.createFooterRow&&($footerRowSpacerL.width(canvasWidth+(viewportHasVScroll?scrollbarDimensions.width:0)),$footerRowSpacerR.width(canvasWidth+(viewportHasVScroll?scrollbarDimensions.width:0))),(o||e)&&applyColumnWidths()}function disableSelection(e){e&&e.jquery&&e.attr("unselectable","on").css("MozUserSelect","none").on("selectstart.ui",(function(){return!1}))}function getMaxSupportedCssHeight(){for(var e=1e6,o=navigator.userAgent.toLowerCase().match(/firefox/)?6e6:1e9,t=$("<div style=’display:none’ />").appendTo(document.body);;){var n=2*e;if(t.css("height",n),n>o||t.height()!==n)break;e=n}return t.remove(),e}function getUID(){return uid}function getHeaderColumnWidthDiff(){return headerColumnWidthDiff}function getScrollbarDimensions(){return scrollbarDimensions}function bindAncestorScrollEvents(){for(var e=hasFrozenRows&&!options.frozenBottom?$canvasBottomL[0]:$canvasTopL[0];(e=e.parentNode)!=document.body&&null!=e;)if(e==$viewportTopL[0]||e.scrollWidth!=e.clientWidth||e.scrollHeight!=e.clientHeight){var o=$(e);$boundAncestors=$boundAncestors?$boundAncestors.add(o):o,o.on("scroll."+uid,handleActiveCellPositionChange)}}function unbindAncestorScrollEvents(){$boundAncestors&&($boundAncestors.off("scroll."+uid),$boundAncestors=null)}function updateColumnHeader(e,o,t){if(initialized){var n=getColumnIndex(e);if(null!=n){var l=columns[n],r=$headers.children().eq(n);r&&(void 0!==o&&(columns[n].name=o),void 0!==t&&(columns[n].toolTip=t),trigger(self.onBeforeHeaderCellDestroy,{node:r[0],column:l,grid:self}),r.attr("title",t||"").children().eq(0).html(o),trigger(self.onHeaderCellRendered,{node:r[0],column:l,grid:self}))}}}function getHeader(e){if(!e)return hasFrozenColumns()?$headers:$headerL;var o=getColumnIndex(e.id);return hasFrozenColumns()?o<=options.frozenColumn?$headerL:$headerR:$headerL}function getHeaderColumn(e){var o="number"==typeof e?e:getColumnIndex(e),t=hasFrozenColumns()?o<=options.frozenColumn?$headerL:$headerR:$headerL,n=hasFrozenColumns()?o<=options.frozenColumn?o:o-options.frozenColumn-1:o,l=t.children().eq(n);return l&&l[0]}function getHeaderRow(){return hasFrozenColumns()?$headerRow:$headerRow[0]}function getFooterRow(){return hasFrozenColumns()?$footerRow:$footerRow[0]}function getPreHeaderPanel(){return $preHeaderPanel[0]}function getPreHeaderPanelRight(){return $preHeaderPanelR[0]}function getHeaderRowColumn(e){var o,t="number"==typeof e?e:getColumnIndex(e);hasFrozenColumns()?t<=options.frozenColumn?o=$headerRowL:(o=$headerRowR,t-=options.frozenColumn+1):o=$headerRowL;var n=o.children().eq(t);return n&&n[0]}function getFooterRowColumn(e){var o,t="number"==typeof e?e:getColumnIndex(e);hasFrozenColumns()?t<=options.frozenColumn?o=$footerRowL:(o=$footerRowR,t-=options.frozenColumn+1):o=$footerRowL;var n=o&&o.children().eq(t);return n&&n[0]}function createColumnFooter(){if(options.createFooterRow){$footerRow.find(".slick-footerrow-column").each((function(){var e=$(this).data("column");e&&trigger(self.onBeforeFooterRowCellDestroy,{node:this,column:e,grid:self})})),$footerRowL.empty(),$footerRowR.empty();for(var e=0;e<columns.length;e++){var o=columns[e],t=$("<div class=’ui-state-default slick-footerrow-column l"+e+" r"+e+"’></div>").data("column",o).addClass(hasFrozenColumns()&&e<=options.frozenColumn?"frozen":"").appendTo(hasFrozenColumns()&&e>options.frozenColumn?$footerRowR:$footerRowL);trigger(self.onFooterRowCellRendered,{node:t[0],column:o,grid:self})}}}function createColumnGroupHeaders(){var e=0,o=!1;if(treeColumns.hasDepth()){for(var t=0;t<$groupHeadersL.length;t++){$groupHeadersL[t].empty(),$groupHeadersR[t].empty();var n=treeColumns.getColumnsInDepth(t);for(var l in n){var r=n[l];e+=r.extractColumns().length,hasFrozenColumns()&&0===t&&e-1===options.frozenColumn&&(o=!0),$("<div class=’ui-state-default slick-group-header-column’ />").html("<span class=’slick-column-name’>"+r.name+"</span>").attr("id",""+uid+r.id).attr("title",r.toolTip||"").data("column",r).addClass(r.headerCssClass||"").addClass(hasFrozenColumns()&&e-1>options.frozenColumn?"frozen":"").appendTo(hasFrozenColumns()&&e-1>options.frozenColumn?$groupHeadersR[t]:$groupHeadersL[t])}if(hasFrozenColumns()&&0===t&&!o){$groupHeadersL[t].empty(),$groupHeadersR[t].empty(),alert("All columns of group should to be grouped!");break}}applyColumnGroupHeaderWidths()}}function createColumnHeaders(){function e(){$(this).addClass("ui-state-hover")}function o(){$(this).removeClass("ui-state-hover")}$headers.find(".slick-header-column").each((function(){var e=$(this).data("column");e&&trigger(self.onBeforeHeaderCellDestroy,{node:this,column:e,grid:self})})),$headerL.empty(),$headerR.empty(),getHeadersWidth(),$headerL.width(headersWidthL),$headerR.width(headersWidthR),$headerRow.find(".slick-headerrow-column").each((function(){var e=$(this).data("column");e&&trigger(self.onBeforeHeaderRowCellDestroy,{node:this,column:e,grid:self})})),$headerRowL.empty(),$headerRowR.empty(),options.createFooterRow&&($footerRowL.find(".slick-footerrow-column").each((function(){var e=$(this).data("column");e&&trigger(self.onBeforeFooterRowCellDestroy,{node:this,column:e,grid:self})})),$footerRowL.empty(),hasFrozenColumns()&&($footerRowR.find(".slick-footerrow-column").each((function(){var e=$(this).data("column");e&&trigger(self.onBeforeFooterRowCellDestroy,{node:this,column:e,grid:self})})),$footerRowR.empty()));for(var t=0;t<columns.length;t++){var n=columns[t],l=hasFrozenColumns()?t<=options.frozenColumn?$headerL:$headerR:$headerL,r=hasFrozenColumns()?t<=options.frozenColumn?$headerRowL:$headerRowR:$headerRowL,i=$("<div class=’ui-state-default slick-header-column’ />").html("<span class=’slick-column-name’>"+n.name+"</span>").width(n.width-headerColumnWidthDiff).attr("id",""+uid+n.id).attr("title",n.toolTip||"").data("column",n).addClass(n.headerCssClass||"").addClass(hasFrozenColumns()&&t<=options.frozenColumn?"frozen":"").appendTo(l);if((options.enableColumnReorder||n.sortable)&&i.on("mouseenter",e).on("mouseleave",o),n.hasOwnProperty("headerCellAttrs")&&n.headerCellAttrs instanceof Object)for(var a in n.headerCellAttrs)n.headerCellAttrs.hasOwnProperty(a)&&i.attr(a,n.headerCellAttrs[a]);if(n.sortable&&(i.addClass("slick-header-sortable"),i.append("<span class=’slick-sort-indicator"+(options.numberedMultiColumnSort&&!options.sortColNumberInSeparateSpan?" slick-sort-indicator-numbered":"")+"’ />"),options.numberedMultiColumnSort&&options.sortColNumberInSeparateSpan&&i.append("<span class=’slick-sort-indicator-numbered’ />")),trigger(self.onHeaderCellRendered,{node:i[0],column:n,grid:self}),options.showHeaderRow){var s=$("<div class=’ui-state-default slick-headerrow-column l"+t+" r"+t+"’></div>").data("column",n).addClass(hasFrozenColumns()&&t<=options.frozenColumn?"frozen":"").appendTo(r);trigger(self.onHeaderRowCellRendered,{node:s[0],column:n,grid:self})}if(options.createFooterRow&&options.showFooterRow){var d=$("<div class=’ui-state-default slick-footerrow-column l"+t+" r"+t+"’></div>").data("column",n).appendTo($footerRow);trigger(self.onFooterRowCellRendered,{node:d[0],column:n,grid:self})}}setSortColumns(sortColumns),setupColumnResize(),options.enableColumnReorder&&("function"==typeof options.enableColumnReorder?options.enableColumnReorder(self,$headers,headerColumnWidthDiff,setColumns,setupColumnResize,columns,getColumnIndex,uid,trigger):setupColumnReorder())}function setupColumnSort(){$headers.click((function(e){if(!columnResizeDragging&&(e.metaKey=e.metaKey||e.ctrlKey,!$(e.target).hasClass("slick-resizable-handle"))){var o=$(e.target).closest(".slick-header-column");if(o.length){var t=o.data("column");if(t.sortable){if(!getEditorLock().commitCurrentEdit())return;for(var n=null,l=0;l<sortColumns.length;l++)if(sortColumns[l].columnId==t.id){(n=sortColumns[l]).sortAsc=!n.sortAsc;break}var r=!!n;options.tristateMultiColumnSort?(n||(n={columnId:t.id,sortAsc:t.defaultSortAsc}),r&&n.sortAsc&&(sortColumns.splice(l,1),n=null),options.multiColumnSort||(sortColumns=[]),!n||r&&options.multiColumnSort||sortColumns.push(n)):e.metaKey&&options.multiColumnSort?n&&sortColumns.splice(l,1):((e.shiftKey||e.metaKey)&&options.multiColumnSort||(sortColumns=[]),n?0===sortColumns.length&&sortColumns.push(n):(n={columnId:t.id,sortAsc:t.defaultSortAsc},sortColumns.push(n))),setSortColumns(sortColumns),options.multiColumnSort?trigger(self.onSort,{multiColumnSort:!0,sortCols:$.map(sortColumns,(function(e){return{columnId:columns[getColumnIndex(e.columnId)].id,sortCol:columns[getColumnIndex(e.columnId)],sortAsc:e.sortAsc}}))},e):trigger(self.onSort,{multiColumnSort:!1,columnId:sortColumns.length>0?t.id:null,sortCol:sortColumns.length>0?t:null,sortAsc:!(sortColumns.length>0)||sortColumns[0].sortAsc},e)}}}}))}function currentPositionInHeader(e){var o=0;return $headers.find(".slick-header-column").each((function(t){if(this.id==e)return o=t,!1})),o}function limitPositionInGroup(e){var o,t=0,n=0;return treeColumns.getColumnsInDepth($groupHeadersL.length-1).some((function(l){return t=n,n+=l.columns.length,l.columns.some((function(t){return t.id===e&&(o=l),o})),o})),n–,{start:t,end:n,group:o}}function remove(e,o){var t=e.lastIndexOf(o);t>-1&&(e.splice(t,1),remove(e,o))}function columnPositionValidInGroup(e){var o=currentPositionInHeader(e[0].id),t=limitPositionInGroup(e.data("column").id),n=t.start<=o&&o<=t.end;return{limit:t,valid:n,message:n?"":’Column "’.concat(e.text(),’" can be reordered only within the "’,t.group.name,’" group!’)}}function setupColumnReorder(){$headers.filter(":ui-sortable").sortable("destroy");var e,o=null;function t(){$viewportScrollContainerX[0].scrollLeft=$viewportScrollContainerX[0].scrollLeft+10}function n(){$viewportScrollContainerX[0].scrollLeft=$viewportScrollContainerX[0].scrollLeft-10}$headers.sortable({containment:"parent",distance:3,axis:"x",cursor:"default",tolerance:"intersection",helper:"clone",placeholder:"slick-sortable-placeholder ui-state-default slick-header-column",start:function(o,t){t.placeholder.width(t.helper.outerWidth()-headerColumnWidthDiff),e=!hasFrozenColumns()||t.placeholder.offset().left+t.placeholder.width()>$viewportScrollContainerX.offset().left,$(t.helper).addClass("slick-header-column-active")},beforeStop:function(e,o){$(o.helper).removeClass("slick-header-column-active")},sort:function(l,r){e&&l.originalEvent.pageX>$container[0].clientWidth?o||(o=setInterval(t,100)):e&&l.originalEvent.pageX<$viewportScrollContainerX.offset().left?o||(o=setInterval(n,100)):(clearInterval(o),o=null)},stop:function(e,t){var n=!1;clearInterval(o),o=null;var l=null;if(treeColumns.hasDepth()){var r=columnPositionValidInGroup(t.item);l=r.limit,(n=!r.valid)&&alert(r.message)}if(!n&&getEditorLock().commitCurrentEdit()){var i=$headerL.sortable("toArray");i=i.concat($headerR.sortable("toArray"));for(var a=[],s=0;s<i.length;s++)a.push(columns[getColumnIndex(i[s].replace(uid,""))]);setColumns(a),trigger(self.onColumnsReordered,{impactedColumns:getImpactedColumns(l)}),e.stopPropagation(),setupColumnResize()}else $(this).sortable("cancel")}})}function getImpactedColumns(e){var o=[];if(e)for(var t=e.start;t<=e.end;t++)o.push(columns[t]);else o=columns;return o}function setupColumnResize(){var e,o,t,n,l,r,i,a,s;(l=$headers.children()).find(".slick-resizable-handle").remove(),l.each((function(e,o){e>=columns.length||columns[e].resizable&&(void 0===a&&(a=e),s=e)})),void 0!==a&&l.each((function(d,c){d>=columns.length||d<a||options.forceFitColumns&&d>=s||($(c),$("<div class=’slick-resizable-handle’ />").appendTo(c).on("dragstart",(function(o,a){if(!getEditorLock().commitCurrentEdit())return!1;n=o.pageX,$(this).parent().addClass("slick-header-column-active");var s=null,c=null;if(l.each((function(e,o){e>=columns.length||(columns[e].previousWidth=$(o).outerWidth())})),options.forceFitColumns)for(s=0,c=0,e=d+1;e<columns.length;e++)(t=columns[e]).resizable&&(null!==c&&(t.maxWidth?c+=t.maxWidth-t.previousWidth:c=null),s+=t.previousWidth-Math.max(t.minWidth||0,absoluteColumnMinWidth));var u=0,h=0;for(e=0;e<=d;e++)(t=columns[e]).resizable&&(null!==h&&(t.maxWidth?h+=t.maxWidth-t.previousWidth:h=null),u+=t.previousWidth-Math.max(t.minWidth||0,absoluteColumnMinWidth));null===s&&(s=1e5),null===u&&(u=1e5),null===c&&(c=1e5),null===h&&(h=1e5),i=n+Math.min(s,h),r=n-Math.min(u,c)})).on("drag",(function(l,a){columnResizeDragging=!0;var s,c,u=Math.min(i,Math.max(r,l.pageX))-n,h=0;if(u<0){for(c=u,e=d;e>=0;e–)(t=columns[e]).resizable&&(s=Math.max(t.minWidth||0,absoluteColumnMinWidth),c&&t.previousWidth+c<s?(c+=t.previousWidth-s,t.width=s):(t.width=t.previousWidth+c,c=0));for(o=0;o<=d;o++)t=columns[o],hasFrozenColumns()&&o>options.frozenColumn?t.width:h+=t.width;if(options.forceFitColumns)for(c=-u,e=d+1;e<columns.length;e++)(t=columns[e]).resizable&&(c&&t.maxWidth&&t.maxWidth-t.previousWidth<c?(c-=t.maxWidth-t.previousWidth,t.width=t.maxWidth):(t.width=t.previousWidth+c,c=0),hasFrozenColumns()&&e>options.frozenColumn?t.width:h+=t.width);else for(e=d+1;e<columns.length;e++)t=columns[e],hasFrozenColumns()&&e>options.frozenColumn?t.width:h+=t.width;if(options.forceFitColumns)for(c=-u,e=d+1;e<columns.length;e++)(t=columns[e]).resizable&&(c&&t.maxWidth&&t.maxWidth-t.previousWidth<c?(c-=t.maxWidth-t.previousWidth,t.width=t.maxWidth):(t.width=t.previousWidth+c,c=0))}else{for(c=u,h=0,0,e=d;e>=0;e–)(t=columns[e]).resizable&&(c&&t.maxWidth&&t.maxWidth-t.previousWidth<c?(c-=t.maxWidth-t.previousWidth,t.width=t.maxWidth):(t.width=t.previousWidth+c,c=0));for(o=0;o<=d;o++)t=columns[o],hasFrozenColumns()&&o>options.frozenColumn?t.width:h+=t.width;if(options.forceFitColumns)for(c=-u,e=d+1;e<columns.length;e++)(t=columns[e]).resizable&&(s=Math.max(t.minWidth||0,absoluteColumnMinWidth),c&&t.previousWidth+c<s?(c+=t.previousWidth-s,t.width=s):(t.width=t.previousWidth+c,c=0),hasFrozenColumns()&&e>options.frozenColumn?t.width:h+=t.width);else for(e=d+1;e<columns.length;e++)t=columns[e],hasFrozenColumns()&&e>options.frozenColumn?t.width:h+=t.width}hasFrozenColumns()&&h!=canvasWidthL&&($headerL.width(h+1e3),$paneHeaderR.css("left",h)),applyColumnHeaderWidths(),applyColumnGroupHeaderWidths(),options.syncColumnCellResize&&applyColumnWidths(),trigger(self.onColumnsDrag,{triggeredByColumn:$(this).parent().attr("id").replace(uid,""),resizeHandle:$(this)})})).on("dragend",(function(o,n){$(this).parent().removeClass("slick-header-column-active");var r,i=$(this).parent().attr("id").replace(uid,"");for(!0===trigger(self.onBeforeColumnsResize,{triggeredByColumn:i})&&(applyColumnHeaderWidths(),applyColumnGroupHeaderWidths()),e=0;e<columns.length;e++)t=columns[e],r=$(l[e]).outerWidth(),t.previousWidth!==r&&t.rerenderOnResize&&invalidateAllRows();updateCanvasWidth(!0),render(),trigger(self.onColumnsResized,{triggeredByColumn:i}),setTimeout((function(){columnResizeDragging=!1}),300)})))}))}function getVBoxDelta(e){var o=0;return e&&"function"==typeof e.css&&$.each(["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],(function(t,n){o+=parseFloat(e.css(n))||0})),o}function setFrozenOptions(){if(options.frozenColumn=options.frozenColumn>=0&&options.frozenColumn<columns.length?parseInt(options.frozenColumn):-1,options.frozenRow>-1){hasFrozenRows=!0,frozenRowsHeight=options.frozenRow*options.rowHeight;var e=getDataLength();actualFrozenRow=options.frozenBottom?e-options.frozenRow:options.frozenRow}else hasFrozenRows=!1}function setPaneVisibility(){hasFrozenColumns()?($paneHeaderR.show(),$paneTopR.show(),hasFrozenRows?($paneBottomL.show(),$paneBottomR.show()):($paneBottomR.hide(),$paneBottomL.hide())):($paneHeaderR.hide(),$paneTopR.hide(),$paneBottomR.hide(),hasFrozenRows?$paneBottomL.show():($paneBottomR.hide(),$paneBottomL.hide()))}function setOverflow(){$viewportTopL.css({"overflow-x":hasFrozenColumns()?hasFrozenRows&&!options.alwaysAllowHorizontalScroll?"hidden":"scroll":hasFrozenRows&&!options.alwaysAllowHorizontalScroll?"hidden":"auto","overflow-y":options.alwaysShowVerticalScroll?"scroll":hasFrozenColumns()?"hidden":hasFrozenRows?"scroll":"auto"}),$viewportTopR.css({"overflow-x":hasFrozenColumns()?hasFrozenRows&&!options.alwaysAllowHorizontalScroll?"hidden":"scroll":hasFrozenRows&&!options.alwaysAllowHorizontalScroll?"hidden":"auto","overflow-y":options.alwaysShowVerticalScroll?"scroll":(hasFrozenColumns(),hasFrozenRows?"scroll":"auto")}),$viewportBottomL.css({"overflow-x":hasFrozenColumns()?hasFrozenRows&&!options.alwaysAllowHorizontalScroll?"scroll":"auto":(hasFrozenRows&&options.alwaysAllowHorizontalScroll,"auto"),"overflow-y":options.alwaysShowVerticalScroll?"scroll":hasFrozenColumns()?"hidden":hasFrozenRows?"scroll":"auto"}),$viewportBottomR.css({"overflow-x":hasFrozenColumns()?hasFrozenRows&&!options.alwaysAllowHorizontalScroll?"scroll":"auto":(hasFrozenRows&&options.alwaysAllowHorizontalScroll,"auto"),"overflow-y":options.alwaysShowVerticalScroll?"scroll":(hasFrozenColumns(),"auto")}),options.viewportClass&&($viewportTopL.toggleClass(options.viewportClass,!0),$viewportTopR.toggleClass(options.viewportClass,!0),$viewportBottomL.toggleClass(options.viewportClass,!0),$viewportBottomR.toggleClass(options.viewportClass,!0))}function setScroller(){hasFrozenColumns()?($headerScrollContainer=$headerScrollerR,$headerRowScrollContainer=$headerRowScrollerR,$footerRowScrollContainer=$footerRowScrollerR,hasFrozenRows?options.frozenBottom?($viewportScrollContainerX=$viewportBottomR,$viewportScrollContainerY=$viewportTopR):$viewportScrollContainerX=$viewportScrollContainerY=$viewportBottomR:$viewportScrollContainerX=$viewportScrollContainerY=$viewportTopR):($headerScrollContainer=$headerScrollerL,$headerRowScrollContainer=$headerRowScrollerL,$footerRowScrollContainer=$footerRowScrollerL,hasFrozenRows?options.frozenBottom?($viewportScrollContainerX=$viewportBottomL,$viewportScrollContainerY=$viewportTopL):$viewportScrollContainerX=$viewportScrollContainerY=$viewportBottomL:$viewportScrollContainerX=$viewportScrollContainerY=$viewportTopL)}function measureCellPaddingAndBorder(){var e,o=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],t=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],n=$.fn.jquery.split(".");jQueryNewWidthBehaviour=1==n[0]&&n[1]>=8||n[0]>=2,e=$("<div class=’ui-state-default slick-header-column’ style=’visibility:hidden’>-</div>").appendTo($headers),headerColumnWidthDiff=headerColumnHeightDiff=0,"border-box"!=e.css("box-sizing")&&"border-box"!=e.css("-moz-box-sizing")&&"border-box"!=e.css("-webkit-box-sizing")&&($.each(o,(function(o,t){headerColumnWidthDiff+=parseFloat(e.css(t))||0})),$.each(t,(function(o,t){headerColumnHeightDiff+=parseFloat(e.css(t))||0}))),e.remove();var l=$("<div class=’slick-row’ />").appendTo($canvas);e=$("<div class=’slick-cell’ id=’’ style=’visibility:hidden’>-</div>").appendTo(l),cellWidthDiff=cellHeightDiff=0,"border-box"!=e.css("box-sizing")&&"border-box"!=e.css("-moz-box-sizing")&&"border-box"!=e.css("-webkit-box-sizing")&&($.each(o,(function(o,t){cellWidthDiff+=parseFloat(e.css(t))||0})),$.each(t,(function(o,t){cellHeightDiff+=parseFloat(e.css(t))||0}))),l.remove(),absoluteColumnMinWidth=Math.max(headerColumnWidthDiff,cellWidthDiff)}function createCssRules(){$style=$("<style type=’text/css’ rel=’stylesheet’ />").appendTo($("head"));for(var e=options.rowHeight-cellHeightDiff,o=["."+uid+" .slick-group-header-column { left: 1000px; }","."+uid+" .slick-header-column { left: 1000px; }","."+uid+" .slick-top-panel { height:"+options.topPanelHeight+"px; }","."+uid+" .slick-preheader-panel { height:"+options.preHeaderPanelHeight+"px; }","."+uid+" .slick-headerrow-columns { height:"+options.headerRowHeight+"px; }","."+uid+" .slick-footerrow-columns { height:"+options.footerRowHeight+"px; }","."+uid+" .slick-cell { height:"+e+"px; }","."+uid+" .slick-row { height:"+options.rowHeight+"px; }"],t=0;t<columns.length;t++)o.push("."+uid+" .l"+t+" { }"),o.push("."+uid+" .r"+t+" { }");$style[0].styleSheet?$style[0].styleSheet.cssText=o.join(" "):$style[0].appendChild(document.createTextNode(o.join(" ")))}function getColumnCssRules(e){var o;if(!stylesheet){var t=document.styleSheets;for(o=0;o<t.length;o++)if((t[o].ownerNode||t[o].owningElement)==$style[0]){stylesheet=t[o];break}if(!stylesheet)throw new Error("Cannot find stylesheet.");columnCssRulesL=[],columnCssRulesR=[];var n,l,r=stylesheet.cssRules||stylesheet.rules;for(o=0;o<r.length;o++){var i=r[o].selectorText;(n=/.l\d+/.exec(i))?(l=parseInt(n[0].substr(2,n[0].length-2),10),columnCssRulesL[l]=r[o]):(n=/.r\d+/.exec(i))&&(l=parseInt(n[0].substr(2,n[0].length-2),10),columnCssRulesR[l]=r[o])}}return{left:columnCssRulesL[e],right:columnCssRulesR[e]}}function removeCssRules(){$style.remove(),stylesheet=null}function destroy(){getEditorLock().cancelCurrentEdit(),trigger(self.onBeforeDestroy,{});for(var e=plugins.length;e–;)unregisterPlugin(plugins[e]);options.enableColumnReorder&&$headers.filter(":ui-sortable").sortable("destroy"),unbindAncestorScrollEvents(),$container.off(".slickgrid"),removeCssRules(),$canvas.off("draginit dragstart dragend drag"),$container.empty().removeClass(uid)}var canvas=null,canvas_context=null;function autosizeColumn(e,o){var t=e;if("number"==typeof e)t=columns[e];else if("string"==typeof e)for(var n=0;n<columns.length;n++)columns[n].Id===e&&(t=columns[n]);getColAutosizeWidth(t,$(getCanvasNode(0,0)),o)}function autosizeColumns(e,o){if((e=e||options.autosizeColsMode)!==Slick.GridAutosizeColsMode.LegacyForceFit&&e!==Slick.GridAutosizeColsMode.LegacyOff){if(e!==Slick.GridAutosizeColsMode.None){(canvas=document.createElement("canvas"))&&canvas.getContext&&(canvas_context=canvas.getContext("2d"));var t,n,l,r,i=$(getCanvasNode(0,0)),a=viewportHasVScroll?viewportW-scrollbarDimensions.width:viewportW,s=0,d=0,c=0,u=0,h=0;for(t=0;t<columns.length;t++)getColAutosizeWidth(n=columns[t],i,o),h+=n.autoSize.autosizeMode===Slick.ColAutosizeMode.Locked?n.width:0,u+=n.autoSize.autosizeMode===Slick.ColAutosizeMode.Locked?n.width:n.minWidth,s+=n.autoSize.widthPx,d+=n.autoSize.sizeToRemaining?0:n.autoSize.widthPx,c+=n.autoSize.sizeToRemaining&&n.minWidth||0;var p=s-d;if(e===Slick.GridAutosizeColsMode.FitViewportToCols){var m=s+scrollbarDimensions.width;e=Slick.GridAutosizeColsMode.IgnoreViewport,options.viewportMaxWidthPx&&m>options.viewportMaxWidthPx?(m=options.viewportMaxWidthPx,e=Slick.GridAutosizeColsMode.FitColsToViewport):options.viewportMinWidthPx&&m<options.viewportMinWidthPx&&(m=options.viewportMinWidthPx,e=Slick.GridAutosizeColsMode.FitColsToViewport),$container.width(m)}if(e===Slick.GridAutosizeColsMode.FitColsToViewport)if(p>0&&d<a-c)for(t=0;t<columns.length;t++){var w=a-d;l=(n=columns[t]).autoSize.sizeToRemaining?w*n.autoSize.widthPx/p:n.autoSize.widthPx,n.rerenderOnResize&&n.width!=l&&(r=!0),n.width=l}else if(options.viewportSwitchToScrollModeWidthPercent&&d+c>a*options.viewportSwitchToScrollModeWidthPercent/100||u>a)e=Slick.GridAutosizeColsMode.IgnoreViewport;else{var v=d-h,f=a-h-c;for(t=0;t<columns.length;t++)l=(n=columns[t]).width,n.autoSize.autosizeMode!==Slick.ColAutosizeMode.Locked&&(n.autoSize.sizeToRemaining?l=n.minWidth:((l=f/v*n.autoSize.widthPx)<n.minWidth&&(l=n.minWidth),v-=n.autoSize.widthPx,f-=l)),n.rerenderOnResize&&n.width!=l&&(r=!0),n.width=l}if(e===Slick.GridAutosizeColsMode.IgnoreViewport)for(t=0;t<columns.length;t++)l=columns[t].autoSize.widthPx,columns[t].rerenderOnResize&&columns[t].width!=l&&(r=!0),columns[t].width=l;reRenderColumns(r)}}else legacyAutosizeColumns()}function LogColWidths(){for(var e="Col Widths:",o=0;o<columns.length;o++)e+=" "+columns[o].width;console.log(e)}function getColAutosizeWidth(e,o,t){var n=e.autoSize;if(n.widthPx=e.width,n.autosizeMode!==Slick.ColAutosizeMode.Locked&&n.autosizeMode!==Slick.ColAutosizeMode.Guide){var l=getDataLength();if(n.autosizeMode===Slick.ColAutosizeMode.ContentIntelligent){var r,i=n.colDataTypeOf;if(l>0){var a=getDataItem(0);a&&"object"===(i=typeof(r=a[e.field]))&&(r instanceof Date&&(i="date"),"undefined"!=typeof moment&&r instanceof moment&&(i="moment"))}"boolean"===i&&(n.colValueArray=[!0,!1]),"number"===i&&(n.valueFilterMode=Slick.ValueFilterMode.GetGreatestAndSub,n.rowSelectionMode=Slick.RowSelectionMode.AllRows),"string"===i&&(n.valueFilterMode=Slick.ValueFilterMode.GetLongestText,n.rowSelectionMode=Slick.RowSelectionMode.AllRows,n.allowAddlPercent=5),"date"===i&&(n.colValueArray=[new Date(2009,8,30,12,20,20)]),"moment"===i&&"undefined"!=typeof moment&&(n.colValueArray=[moment([2009,8,30,12,20,20])])}var s=getColContentSize(e,o,t);s=s*(n.allowAddlPercent?1+n.allowAddlPercent/100:1)+options.autosizeColPaddingPx,e.minWidth&&s<e.minWidth&&(s=e.minWidth),e.maxWidth&&s>e.maxWidth&&(s=e.maxWidth),n.widthPx=s}}function getColContentSize(e,o,t){var n,l=e.autoSize,r=1,i=0,a=0;if(l.ignoreHeaderText||(a=getColHeaderWidth(e)),l.colValueArray)return i=getColWidth(e,o,l.colValueArray),Math.max(a,i);var s=getData();s.getItems&&(s=s.getItems());var d=(t?l.rowSelectionModeOnInit:void 0)||l.rowSelectionMode;if(d===Slick.RowSelectionMode.FirstRow&&(s=s.slice(0,1)),d===Slick.RowSelectionMode.LastRow&&(s=s.slice(s.length-1,s.length)),d===Slick.RowSelectionMode.FirstNRows&&(s=s.slice(0,l.rowSelectionCount)),l.valueFilterMode===Slick.ValueFilterMode.DeDuplicate){var c={};for(u=0,n=s.length;u<n;u++)c[s[u][e.field]]=!0;if(Object.keys)s=Object.keys(c);else for(var u in s=[],c)s.push(u)}if(l.valueFilterMode===Slick.ValueFilterMode.GetGreatestAndSub){var h,p=0;for(u=0,n=s.length;u<n;u++)w=s[u][e.field],Math.abs(w)>p&&(h=w,p=Math.abs(w));h=""+h,s=[h=+(h=Array(h.length+1).join("9"))]}if(l.valueFilterMode===Slick.ValueFilterMode.GetLongestTextAndSub){var m=0;for(u=0,n=s.length;u<n;u++)((w=s[u][e.field])||"").length>m&&(m=w.length);w=Array(m+1).join("m"),r=options.autosizeTextAvgToMWidthRatio,s=[w]}if(l.valueFilterMode===Slick.ValueFilterMode.GetLongestText){m=0;var w,v=0;for(u=0,n=s.length;u<n;u++)((w=s[u][e.field])||"").length>m&&(m=w.length,v=u);s=[w=s[v][e.field]]}return i=getColWidth(e,o,s)*r,Math.max(a,i)}function getColWidth(e,o,t){var n=getColumnIndex(e.id),l=$(‘<div class="slick-row ui-widget-content"></div>’),r=$(‘<div class="slick-cell"></div>’);r.css({position:"absolute",visibility:"hidden","text-overflow":"initial","white-space":"nowrap"}),l.append(r),o.append(l);var i,a,s,d,c=0;return canvas_context&&e.autoSize.widthEvalMode===Slick.WidthEvalMode.CanvasTextSize?(canvas_context.font=r.css("font-size")+" "+r.css("font-family"),$(t).each((function(o,t){d=Array.isArray(t)?t[e.field]:t,(i=(a=""+d)?canvas_context.measureText(a).width:0)>c&&(c=i,s=a)})),r.html(s),i=r.outerWidth(),l.remove(),i):($(t).each((function(o,t){d=Array.isArray(t)?t[e.field]:t,applyFormatResultToCellNode(e.formatterOverride?e.formatterOverride(o,n,d,e,t):e.formatter?e.formatter(o,n,d,e,t):""+d,r[0]),(i=r.outerWidth())>c&&(c=i)})),l.remove(),c)}function getColHeaderWidth(e){var o=0,t=getUID()+e.id,n=document.getElementById(t),l=t+"_";if(n){var r=n.cloneNode(!0);r.id=l,r.style.cssText="position: absolute; visibility: hidden;right: auto;text-overflow: initial;white-space: nowrap;",n.parentNode.insertBefore(r,n),o=r.offsetWidth,r.parentNode.removeChild(r)}else{var i=getHeader(e);o=(n=$("<div class=’ui-state-default slick-header-column’ />").html("<span class=’slick-column-name’>"+e.name+"</span>").attr("id",l).css({position:"absolute",visibility:"hidden",right:"auto","text-overflow:":"initial","white-space":"nowrap"}).addClass(e.headerCssClass||"").appendTo(i))[0].offsetWidth,i[0].removeChild(n[0])}return o}function legacyAutosizeColumns(){var e,o,t,n=[],l=0,r=0,i=viewportHasVScroll?viewportW-scrollbarDimensions.width:viewportW;for(e=0;e<columns.length;e++)o=columns[e],n.push(o.width),r+=o.width,o.resizable&&(l+=o.width-Math.max(o.minWidth,absoluteColumnMinWidth));for(t=r;r>i&&l;){var a=(r-i)/l;for(e=0;e<columns.length&&r>i;e++){o=columns[e];var s=n[e];if(!(!o.resizable||s<=o.minWidth||s<=absoluteColumnMinWidth)){var d=Math.max(o.minWidth,absoluteColumnMinWidth),c=Math.floor(a*(s-d))||1;r-=c=Math.min(c,s-d),l-=c,n[e]-=c}}if(t<=r)break;t=r}for(t=r;r<i;){var u=i/r;for(e=0;e<columns.length&&r<i;e++){o=columns[e];var h,p=n[e];r+=h=!o.resizable||o.maxWidth<=p?0:Math.min(Math.floor(u*p)-p,o.maxWidth-p||1e6)||1,n[e]+=r<=i?h:0}if(t>=r)break;t=r}var m=!1;for(e=0;e<columns.length;e++)columns[e].rerenderOnResize&&columns[e].width!=n[e]&&(m=!0),columns[e].width=n[e];reRenderColumns(m)}function reRenderColumns(e){applyColumnHeaderWidths(),applyColumnGroupHeaderWidths(),updateCanvasWidth(!0),trigger(self.onAutosizeColumns,{columns}),e&&(invalidateAllRows(),render())}function trigger(e,o,t){return t=t||new Slick.EventData,(o=o||{}).grid=self,e.notify(o,t,self)}function getEditorLock(){return options.editorLock}function getEditController(){return editController}function getColumnIndex(e){return columnsById[e]}function applyColumnGroupHeaderWidths(){if(treeColumns.hasDepth())for(var e=$groupHeadersL.length-1;e>=0;e–){treeColumns.getColumnsInDepth(e);$().add($groupHeadersL[e]).add($groupHeadersR[e]).each((function(e){var o=$(this),t=0;o.width(0===e?getHeadersWidthL():getHeadersWidthR()),o.children().each((function(){var e=$(this),n=$(this).data("column");n.width=0,n.columns.forEach((function(){var e=o.next().children(":eq("+t+++")");n.width+=e.outerWidth()})),e.width(n.width-headerColumnWidthDiff)}))}))}}function applyColumnHeaderWidths(){if(initialized){for(var e,o=0,t=$headers.children(),n=columns.length;o<n;o++)e=$(t[o]),jQueryNewWidthBehaviour?e.outerWidth()!==columns[o].width&&e.outerWidth(columns[o].width):e.width()!==columns[o].width-headerColumnWidthDiff&&e.width(columns[o].width-headerColumnWidthDiff);updateColumnCaches()}}function applyColumnWidths(){for(var e,o,t=0,n=0;n<columns.length;n++)e=columns[n].width,(o=getColumnCssRules(n)).left.style.left=t+"px",o.right.style.right=(-1!=options.frozenColumn&&n>options.frozenColumn?canvasWidthR:canvasWidthL)-t-e+"px",options.frozenColumn==n?t=0:t+=columns[n].width}function setSortColumn(e,o){setSortColumns([{columnId:e,sortAsc:o}])}function setSortColumns(e){sortColumns=e;var o=options.numberedMultiColumnSort&&sortColumns.length>1,t=$headers.children();t.removeClass("slick-header-column-sorted").find(".slick-sort-indicator").removeClass("slick-sort-indicator-asc slick-sort-indicator-desc"),t.find(".slick-sort-indicator-numbered").text(""),$.each(sortColumns,(function(e,n){null==n.sortAsc&&(n.sortAsc=!0);var l=getColumnIndex(n.columnId);null!=l&&(t.eq(l).addClass("slick-header-column-sorted").find(".slick-sort-indicator").addClass(n.sortAsc?"slick-sort-indicator-asc":"slick-sort-indicator-desc"),o&&t.eq(l).find(".slick-sort-indicator-numbered").text(e+1))}))}function getSortColumns(){return sortColumns}function handleSelectedRangesChanged(e,o){var t=selectedRows.slice(0);selectedRows=[];for(var n={},l=0;l<o.length;l++)for(var r=o[l].fromRow;r<=o[l].toRow;r++){n[r]||(selectedRows.push(r),n[r]={});for(var i=o[l].fromCell;i<=o[l].toCell;i++)canCellBeSelected(r,i)&&(n[r][columns[i].id]=options.selectedCellCssClass)}setCellCssStyles(options.selectedCellCssClass,n),simpleArrayEquals(t,selectedRows)&&trigger(self.onSelectedRowsChanged,{rows:getSelectedRows(),previousSelectedRows:t},e)}function simpleArrayEquals(e,o){return Array.isArray(e)&&Array.isArray(o)&&o.sort().toString()!==e.sort().toString()}function getColumns(){return columns}function updateColumnCaches(){columnPosLeft=[],columnPosRight=[];for(var e=0,o=0,t=columns.length;o<t;o++)columnPosLeft[o]=e,columnPosRight[o]=e+columns[o].width,options.frozenColumn==o?e=0:e+=columns[o].width}function updateColumnProps(){columnsById={};for(var e=0;e<columns.length;e++){columns[e].width&&(columns[e].widthRequest=columns[e].width);var o=columns[e]=$.extend({},columnDefaults,columns[e]);o.autoSize=$.extend({},columnAutosizeDefaults,o.autoSize),columnsById[o.id]=e,o.minWidth&&o.width<o.minWidth&&(o.width=o.minWidth),o.maxWidth&&o.width>o.maxWidth&&(o.width=o.maxWidth),o.resizable}}function setColumns(e){var o=new Slick.TreeColumns(e);columns=o.hasDepth()?(treeColumns=o).extractColumns():e,updateColumnProps(),updateColumnCaches(),initialized&&(setPaneVisibility(),setOverflow(),invalidateAllRows(),createColumnHeaders(),createColumnGroupHeaders(),createColumnFooter(),removeCssRules(),createCssRules(),resizeCanvas(),updateCanvasWidth(),applyColumnHeaderWidths(),applyColumnWidths(),handleScroll())}function getOptions(){return options}function setOptions(e,o){if(getEditorLock().commitCurrentEdit()){makeActiveCellNormal(),void 0!==e.showColumnHeader&&setColumnHeaderVisibility(e.showColumnHeader),options.enableAddRow!==e.enableAddRow&&invalidateRow(getDataLength());var t=$.extend(!0,{},options);options=$.extend(options,e),trigger(self.onSetOptions,{optionsBefore:t,optionsAfter:options}),validateAndEnforceOptions(),$viewport.css("overflow-y",options.autoHeight?"hidden":"auto"),o||render(),setFrozenOptions(),setScroller(),zombieRowNodeFromLastMouseWheelEvent=null,setColumns(treeColumns.extractColumns())}}function validateAndEnforceOptions(){options.autoHeight&&(options.leaveSpaceForNewRows=!1),options.forceFitColumns&&(options.autosizeColsMode=Slick.GridAutosizeColsMode.LegacyForceFit,console.log("forceFitColumns option is deprecated - use autosizeColsMode"))}function setData(e,o){data=e,invalidateAllRows(),updateRowCount(),o&&scrollTo(0)}function getData(){return data}function getDataLength(){return data.getLength?data.getLength():data&&data.length||0}function getDataLengthIncludingAddNew(){return getDataLength()+(options.enableAddRow&&(!pagingActive||pagingIsLastPage)?1:0)}function getDataItem(e){return data.getItem?data.getItem(e):data[e]}function getTopPanel(){return $topPanel[0]}function setTopPanelVisibility(e,o){var t=!1!==o;options.showTopPanel!=e&&(options.showTopPanel=e,e?t?$topPanelScroller.slideDown("fast",resizeCanvas):($topPanelScroller.show(),resizeCanvas()):t?$topPanelScroller.slideUp("fast",resizeCanvas):($topPanelScroller.hide(),resizeCanvas()))}function setHeaderRowVisibility(e,o){var t=!1!==o;options.showHeaderRow!=e&&(options.showHeaderRow=e,e?t?$headerRowScroller.slideDown("fast",resizeCanvas):($headerRowScroller.show(),resizeCanvas()):t?$headerRowScroller.slideUp("fast",resizeCanvas):($headerRowScroller.hide(),resizeCanvas()))}function setColumnHeaderVisibility(e,o){options.showColumnHeader!=e&&(options.showColumnHeader=e,e?o?$headerScroller.slideDown("fast",resizeCanvas):($headerScroller.show(),resizeCanvas()):o?$headerScroller.slideUp("fast",resizeCanvas):($headerScroller.hide(),resizeCanvas()))}function setFooterRowVisibility(e,o){var t=!1!==o;options.showFooterRow!=e&&(options.showFooterRow=e,e?t?$footerRowScroller.slideDown("fast",resizeCanvas):($footerRowScroller.show(),resizeCanvas()):t?$footerRowScroller.slideUp("fast",resizeCanvas):($footerRowScroller.hide(),resizeCanvas()))}function setPreHeaderPanelVisibility(e,o){var t=!1!==o;options.showPreHeaderPanel!=e&&(options.showPreHeaderPanel=e,e?t?$preHeaderPanelScroller.slideDown("fast",resizeCanvas):($preHeaderPanelScroller.show(),resizeCanvas()):t?$preHeaderPanelScroller.slideUp("fast",resizeCanvas):($preHeaderPanelScroller.hide(),resizeCanvas()))}function getContainerNode(){return $container.get(0)}function getRowTop(e){return options.rowHeight*e-offset}function getRowFromPosition(e){return Math.floor((e+offset)/options.rowHeight)}function scrollTo(e){e=Math.max(e,0),e=Math.min(e,th-$viewportScrollContainerY.height()+(viewportHasHScroll||hasFrozenColumns()?scrollbarDimensions.height:0));var o=offset;page=Math.min(n-1,Math.floor(e/ph));var t=e-(offset=Math.round(page*cj));offset!=o&&(cleanupRows(getVisibleRange(t)),updateRowPositions());prevScrollTop!=t&&(vScrollDir=prevScrollTop+o<t+offset?1:-1,lastRenderedScrollTop=scrollTop=prevScrollTop=t,hasFrozenColumns()&&($viewportTopL[0].scrollTop=t),hasFrozenRows&&($viewportBottomL[0].scrollTop=$viewportBottomR[0].scrollTop=t),$viewportScrollContainerY[0].scrollTop=t,trigger(self.onViewportChanged,{}))}function defaultFormatter(e,o,t,n,l,r){return null==t?"":(t+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function getFormatter(e,o){var t=data.getItemMetadata&&data.getItemMetadata(e),n=t&&t.columns&&(t.columns[o.id]||t.columns[getColumnIndex(o.id)]);return n&&n.formatter||t&&t.formatter||o.formatter||options.formatterFactory&&options.formatterFactory.getFormatter(o)||options.defaultFormatter}function callFormatter(e,o,t,n,l,r){var i,a=data.getItemMetadata&&data.getItemMetadata(e);if(a=a&&a.columns){var s=a[n.id]||a[o];i=getFormatter(e,n)(e,o,t,n,l,s)}else i=getFormatter(e,n)(e,o,t,n,l);return i}function getEditor(e,o){var t=columns[o],n=data.getItemMetadata&&data.getItemMetadata(e),l=n&&n.columns;return l&&l[t.id]&&void 0!==l[t.id].editor?l[t.id].editor:l&&l[o]&&void 0!==l[o].editor?l[o].editor:t.editor||options.editorFactory&&options.editorFactory.getEditor(t)}function getDataItemValueForColumn(e,o){return options.dataItemColumnValueExtractor?options.dataItemColumnValueExtractor(e,o):e[o.field]}function appendRowHtml(e,o,t,n,l){var r=getDataItem(t),i=t<l&&!r,a="slick-row"+(hasFrozenRows&&t<=options.frozenRow?" frozen":"")+(i?" loading":"")+(t===activeRow&&options.showCellSelection?" active":"")+(t%2==1?" odd":" even");r||(a+=" "+options.addNewRowCssClass);var s=data.getItemMetadata&&data.getItemMetadata(t);s&&s.cssClasses&&(a+=" "+s.cssClasses);var d,c,u=getFrozenRowOffset(t),h="<div class=’ui-widget-content "+a+"’ style=’top:"+(getRowTop(t)-u)+"px’>";e.push(h),hasFrozenColumns()&&o.push(h);for(var p=0,m=columns.length;p<m;p++){if(c=columns[p],d=1,s&&s.columns){var w=s.columns[c.id]||s.columns[p];""===(d=w&&w.colspan||1)&&(d=m-p)}if(columnPosRight[Math.min(m-1,p+d-1)]>n.leftPx){if(!c.alwaysRenderColumn&&columnPosLeft[p]>n.rightPx)break;hasFrozenColumns()&&p>options.frozenColumn?appendCellHtml(o,t,p,d,r):appendCellHtml(e,t,p,d,r)}else(c.alwaysRenderColumn||hasFrozenColumns()&&p<=options.frozenColumn)&&appendCellHtml(e,t,p,d,r);d>1&&(p+=d-1)}e.push("</div>"),hasFrozenColumns()&&o.push("</div>")}function appendCellHtml(e,o,t,n,l){var r=columns[t],i="slick-cell l"+t+" r"+Math.min(columns.length-1,t+n-1)+(r.cssClass?" "+r.cssClass:"");for(var a in hasFrozenColumns()&&t<=options.frozenColumn&&(i+=" frozen"),o===activeRow&&t===activeCell&&options.showCellSelection&&(i+=" active"),cellCssClasses)cellCssClasses[a][o]&&cellCssClasses[a][o][r.id]&&(i+=" "+cellCssClasses[a][o][r.id]);var s=null,d="";l&&(s=getDataItemValueForColumn(l,r),null==(d=getFormatter(o,r)(o,t,s,r,l,self))&&(d=""));var c=trigger(self.onBeforeAppendCell,{row:o,cell:t,value:s,dataContext:l})||"";c+=d&&d.addClasses?(c?" ":"")+d.addClasses:"";var u=d&&d.toolTip?"title=’"+d.toolTip+"’":"",h="";if(r.hasOwnProperty("cellAttrs")&&r.cellAttrs instanceof Object)for(var a in r.cellAttrs)r.cellAttrs.hasOwnProperty(a)&&(h+=" "+a+’="’+r.cellAttrs[a]+’" ‘);e.push("<div class=’"+i+(c?" "+c:"")+"’ "+u+h+">"),l&&e.push("[object Object]"!==Object.prototype.toString.call(d)?d:d.text),e.push("</div>"),rowsCache[o].cellRenderQueue.push(t),rowsCache[o].cellColSpans[t]=n}function cleanupRows(e){for(var o in rowsCache){var t=!0;hasFrozenRows&&(options.frozenBottom&&o>=actualFrozenRow||!options.frozenBottom&&o<=actualFrozenRow)&&(t=!1),(o=parseInt(o,10))!==activeRow&&(o<e.top||o>e.bottom)&&t&&removeRowFromCache(o)}options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()}function invalidate(){updateRowCount(),invalidateAllRows(),render()}function invalidateAllRows(){for(var e in currentEditor&&makeActiveCellNormal(),rowsCache)removeRowFromCache(e);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()}function queuePostProcessedRowForCleanup(e,o,t){for(var n in postProcessgroupId++,o)o.hasOwnProperty(n)&&postProcessedCleanupQueue.push({actionType:"C",groupId:postProcessgroupId,node:e.cellNodesByColumnIdx[0|n],columnIdx:0|n,rowIdx:t});postProcessedCleanupQueue.push({actionType:"R",groupId:postProcessgroupId,node:e.rowNode}),$(e.rowNode).detach()}function queuePostProcessedCellForCleanup(e,o,t){postProcessedCleanupQueue.push({actionType:"C",groupId:postProcessgroupId,node:e,columnIdx:o,rowIdx:t}),$(e).detach()}function removeRowFromCache(e){var o=rowsCache[e];o&&(rowNodeFromLastMouseWheelEvent==o.rowNode[0]||hasFrozenColumns()&&rowNodeFromLastMouseWheelEvent==o.rowNode[1]?(o.rowNode.hide(),zombieRowNodeFromLastMouseWheelEvent=o.rowNode):o.rowNode.each((function(){this.parentElement.removeChild(this)})),delete rowsCache[e],delete postProcessedRows[e],renderedRows–,counter_rows_removed++)}function invalidateRows(e){var o,t;if(e&&e.length){for(vScrollDir=0,t=e.length,o=0;o<t;o++)currentEditor&&activeRow===e[o]&&makeActiveCellNormal(),rowsCache[e[o]]&&removeRowFromCache(e[o]);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()}}function invalidateRow(e){(e||0===e)&&invalidateRows([e])}function applyFormatResultToCellNode(e,o,t){null==e&&(e=""),"[object Object]"===Object.prototype.toString.call(e)?(o.innerHTML=e.text,e.removeClasses&&!t&&$(o).removeClass(e.removeClasses),e.addClasses&&$(o).addClass(e.addClasses),e.toolTip&&$(o).attr("title",e.toolTip)):o.innerHTML=e}function updateCell(e,o){var t=getCellNode(e,o);if(t){var n=columns[o],l=getDataItem(e);if(currentEditor&&activeRow===e&&activeCell===o)currentEditor.loadValue(l);else applyFormatResultToCellNode(l?getFormatter(e,n)(e,o,getDataItemValueForColumn(l,n),n,l,self):"",t),invalidatePostProcessingResults(e)}}function updateRow(e){var o=rowsCache[e];if(o){ensureCellNodesInRowsCache(e);var t=getDataItem(e);for(var n in o.cellNodesByColumnIdx)if(o.cellNodesByColumnIdx.hasOwnProperty(n)){var l=columns[n|=0],r=o.cellNodesByColumnIdx[n][0];e===activeRow&&n===activeCell&&currentEditor?currentEditor.loadValue(t):t?applyFormatResultToCellNode(getFormatter(e,l)(e,n,getDataItemValueForColumn(t,l),l,t,self),r):r.innerHTML=""}invalidatePostProcessingResults(e)}}function getViewportHeight(){if(options.autoHeight&&-1==options.frozenColumn||(topPanelH=options.showTopPanel?options.topPanelHeight+getVBoxDelta($topPanelScroller):0,headerRowH=options.showHeaderRow?options.headerRowHeight+getVBoxDelta($headerRowScroller):0,footerRowH=options.showFooterRow?options.footerRowHeight+getVBoxDelta($footerRowScroller):0),options.autoHeight){var e=$paneHeaderL.outerHeight();e+=options.showHeaderRow?options.headerRowHeight+getVBoxDelta($headerRowScroller):0,e+=options.showFooterRow?options.footerRowHeight+getVBoxDelta($footerRowScroller):0,e+=getCanvasWidth()>viewportW?scrollbarDimensions.height:0,viewportH=options.rowHeight*getDataLengthIncludingAddNew()+(-1==options.frozenColumn?e:0)}else{var o=options.showColumnHeader?parseFloat($.css($headerScroller[0],"height"))+getVBoxDelta($headerScroller):0,t=options.createPreHeaderPanel&&options.showPreHeaderPanel?options.preHeaderPanelHeight+getVBoxDelta($preHeaderPanelScroller):0;viewportH=parseFloat($.css($container[0],"height",!0))-parseFloat($.css($container[0],"paddingTop",!0))-parseFloat($.css($container[0],"paddingBottom",!0))-o-topPanelH-headerRowH-footerRowH-t}return numVisibleRows=Math.ceil(viewportH/options.rowHeight),viewportH}function getViewportWidth(){viewportW=parseFloat($container.width())}function resizeCanvas(){if(initialized){paneTopH=0,paneBottomH=0,viewportTopH=0,viewportBottomH=0,getViewportWidth(),getViewportHeight(),hasFrozenRows?options.frozenBottom?(paneTopH=viewportH-frozenRowsHeight-scrollbarDimensions.height,paneBottomH=frozenRowsHeight+scrollbarDimensions.height):(paneTopH=frozenRowsHeight,paneBottomH=viewportH-frozenRowsHeight):paneTopH=viewportH,paneTopH+=topPanelH+headerRowH+footerRowH,hasFrozenColumns()&&options.autoHeight&&(paneTopH+=scrollbarDimensions.height),viewportTopH=paneTopH-topPanelH-headerRowH-footerRowH,options.autoHeight&&(hasFrozenColumns()&&$container.height(paneTopH+parseFloat($.css($headerScrollerL[0],"height"))),$paneTopL.css("position","relative")),$paneTopL.css({top:$paneHeaderL.height(),height:paneTopH});var e=$paneTopL.position().top+paneTopH;options.autoHeight||$viewportTopL.height(viewportTopH),hasFrozenColumns()?($paneTopR.css({top:$paneHeaderL.height(),height:paneTopH}),$viewportTopR.height(viewportTopH),hasFrozenRows&&($paneBottomL.css({top:e,height:paneBottomH}),$paneBottomR.css({top:e,height:paneBottomH}),$viewportBottomR.height(paneBottomH))):hasFrozenRows&&($paneBottomL.css({width:"100%",height:paneBottomH}),$paneBottomL.css("top",e)),hasFrozenRows?($viewportBottomL.height(paneBottomH),options.frozenBottom?($canvasBottomL.height(frozenRowsHeight),hasFrozenColumns()&&$canvasBottomR.height(frozenRowsHeight)):($canvasTopL.height(frozenRowsHeight),hasFrozenColumns()&&$canvasTopR.height(frozenRowsHeight))):$viewportTopR.height(viewportTopH),scrollbarDimensions&&scrollbarDimensions.width||(scrollbarDimensions=measureScrollbar()),options.autosizeColsMode===Slick.GridAutosizeColsMode.LegacyForceFit&&autosizeColumns(),updateRowCount(),handleScroll(),lastRenderedScrollLeft=-1,render()}}function updatePagingStatusFromView(e){pagingActive=0!==e.pageSize,pagingIsLastPage=e.pageNum==e.totalPages-1}function updateRowCount(){if(initialized){var e=getDataLength(),o=getDataLengthIncludingAddNew(),t=0,l=hasFrozenRows&&!options.frozenBottom?$canvasBottomL.height():$canvasTopL.height();if(hasFrozenRows)t=getDataLength()-options.frozenRow;else t=o+(options.leaveSpaceForNewRows?numVisibleRows-1:0);var r=$viewportScrollContainerY.height(),i=viewportHasVScroll;viewportHasVScroll=options.alwaysShowVerticalScroll||!options.autoHeight&&t*options.rowHeight>r,makeActiveCellNormal();var a=e-1;for(var s in rowsCache)s>a&&removeRowFromCache(s);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup(),activeCellNode&&activeRow>a&&resetActiveCell();l=h;options.autoHeight?h=options.rowHeight*t:(th=Math.max(options.rowHeight*t,r-scrollbarDimensions.height))<maxSupportedCssHeight?(h=ph=th,n=1,cj=0):(ph=(h=maxSupportedCssHeight)/100,n=Math.floor(th/ph),cj=(th-h)/(n-1)),h!==l&&(hasFrozenRows&&!options.frozenBottom?($canvasBottomL.css("height",h),hasFrozenColumns()&&$canvasBottomR.css("height",h)):($canvasTopL.css("height",h),$canvasTopR.css("height",h)),scrollTop=$viewportScrollContainerY[0].scrollTop);var d=scrollTop+offset<=th-r;0==th||0==scrollTop?page=offset=0:scrollTo(d?scrollTop+offset:th-r),h!=l&&options.autoHeight&&resizeCanvas(),options.autosizeColsMode===Slick.GridAutosizeColsMode.LegacyForceFit&&i!=viewportHasVScroll&&autosizeColumns(),updateCanvasWidth(!1)}}function getVisibleRange(e,o){return null==e&&(e=scrollTop),null==o&&(o=scrollLeft),{top:getRowFromPosition(e),bottom:getRowFromPosition(e+viewportH)+1,leftPx:o,rightPx:o+viewportW}}function getRenderedRange(e,o){var t=getVisibleRange(e,o),n=Math.round(viewportH/options.rowHeight),l=options.minRowBuffer;return-1==vScrollDir?(t.top-=n,t.bottom+=l):1==vScrollDir?(t.top-=l,t.bottom+=n):(t.top-=l,t.bottom+=l),t.top=Math.max(0,t.top),t.bottom=Math.min(getDataLengthIncludingAddNew()-1,t.bottom),t.leftPx-=viewportW,t.rightPx+=viewportW,t.leftPx=Math.max(0,t.leftPx),t.rightPx=Math.min(canvasWidth,t.rightPx),t}function ensureCellNodesInRowsCache(e){var o=rowsCache[e];if(o&&o.cellRenderQueue.length)for(var t=o.rowNode.children().last();o.cellRenderQueue.length;){var n=o.cellRenderQueue.pop();o.cellNodesByColumnIdx[n]=t,0===(t=t.prev()).length&&(t=$(o.rowNode[0]).children().last())}}function cleanUpCells(e,o){if(!hasFrozenRows||!(options.frozenBottom&&o>actualFrozenRow||o<=actualFrozenRow)){var t,n=rowsCache[o],l=[];for(var r in n.cellNodesByColumnIdx)if(n.cellNodesByColumnIdx.hasOwnProperty(r)&&!((r|=0)<=options.frozenColumn||Array.isArray(columns)&&columns[r]&&columns[r].alwaysRenderColumn)){var i=n.cellColSpans[r];(columnPosLeft[r]>e.rightPx||columnPosRight[Math.min(columns.length-1,r+i-1)]<e.leftPx)&&(o==activeRow&&r==activeCell||l.push(r))}for(;null!=(t=l.pop());)n.cellNodesByColumnIdx[t][0].parentElement.removeChild(n.cellNodesByColumnIdx[t][0]),delete n.cellColSpans[t],delete n.cellNodesByColumnIdx[t],postProcessedRows[o]&&delete postProcessedRows[o][t]}}function cleanUpAndRenderCells(e){for(var o,t,n,l=[],r=[],i=e.top,a=e.bottom;i<=a;i++)if(o=rowsCache[i]){ensureCellNodesInRowsCache(i),cleanUpCells(e,i),t=0;var s=data.getItemMetadata&&data.getItemMetadata(i);s=s&&s.columns;for(var d=getDataItem(i),c=0,u=columns.length;c<u&&!(columnPosLeft[c]>e.rightPx);c++)if(null==(n=o.cellColSpans[c])){if(n=1,s){var h=s[columns[c].id]||s[c];""===(n=h&&h.colspan||1)&&(n=u-c)}columnPosRight[Math.min(u-1,c+n-1)]>e.leftPx&&(appendCellHtml(l,i,c,n,d),t++),c+=n>1?n-1:0}else c+=n>1?n-1:0;t&&(t,r.push(i))}if(l.length){var p,m,w=document.createElement("div");for(w.innerHTML=l.join("");null!=(p=r.pop());){var v;for(o=rowsCache[p];null!=(v=o.cellRenderQueue.pop());)m=w.lastChild,hasFrozenColumns()&&v>options.frozenColumn?o.rowNode[1].appendChild(m):o.rowNode[0].appendChild(m),o.cellNodesByColumnIdx[v]=$(m)}}}function renderRows(e){for(var o=[],t=[],n=[],l=!1,r=getDataLength(),i=e.top,a=e.bottom;i<=a;i++)rowsCache[i]||hasFrozenRows&&options.frozenBottom&&i==getDataLength()||(renderedRows++,n.push(i),rowsCache[i]={rowNode:null,cellColSpans:[],cellNodesByColumnIdx:[],cellRenderQueue:[]},appendRowHtml(o,t,i,e,r),activeCellNode&&activeRow===i&&(l=!0),counter_rows_rendered++);if(n.length){var s=document.createElement("div"),d=document.createElement("div");s.innerHTML=o.join(""),d.innerHTML=t.join("");for(i=0,a=n.length;i<a;i++)hasFrozenRows&&n[i]>=actualFrozenRow?hasFrozenColumns()?rowsCache[n[i]].rowNode=$().add($(s.firstChild).appendTo($canvasBottomL)).add($(d.firstChild).appendTo($canvasBottomR)):rowsCache[n[i]].rowNode=$().add($(s.firstChild).appendTo($canvasBottomL)):hasFrozenColumns()?rowsCache[n[i]].rowNode=$().add($(s.firstChild).appendTo($canvasTopL)).add($(d.firstChild).appendTo($canvasTopR)):rowsCache[n[i]].rowNode=$().add($(s.firstChild).appendTo($canvasTopL));l&&(activeCellNode=getCellNode(activeRow,activeCell))}}function startPostProcessing(){options.enableAsyncPostRender&&(clearTimeout(h_postrender),h_postrender=setTimeout(asyncPostProcessRows,options.asyncPostRenderDelay))}function startPostProcessingCleanup(){options.enableAsyncPostRenderCleanup&&(clearTimeout(h_postrenderCleanup),h_postrenderCleanup=setTimeout(asyncPostProcessCleanupRows,options.asyncPostRenderCleanupDelay))}function invalidatePostProcessingResults(e){for(var o in postProcessedRows[e])postProcessedRows[e].hasOwnProperty(o)&&(postProcessedRows[e][o]="C");postProcessFromRow=Math.min(postProcessFromRow,e),postProcessToRow=Math.max(postProcessToRow,e),startPostProcessing()}function updateRowPositions(){for(var e in rowsCache){var o=e?parseInt(e):0;rowsCache[o].rowNode[0].style.top=getRowTop(o)+"px"}}function render(){if(initialized){scrollThrottle.dequeue();var e=getVisibleRange(),o=getRenderedRange();if(cleanupRows(o),lastRenderedScrollLeft!=scrollLeft){if(hasFrozenRows){var t=$.extend(!0,{},o);options.frozenBottom?(t.top=actualFrozenRow,t.bottom=getDataLength()):(t.top=0,t.bottom=options.frozenRow),cleanUpAndRenderCells(t)}cleanUpAndRenderCells(o)}renderRows(o),hasFrozenRows&&(options.frozenBottom?renderRows({top:actualFrozenRow,bottom:getDataLength()-1,leftPx:o.leftPx,rightPx:o.rightPx}):renderRows({top:0,bottom:options.frozenRow-1,leftPx:o.leftPx,rightPx:o.rightPx})),postProcessFromRow=e.top,postProcessToRow=Math.min(getDataLengthIncludingAddNew()-1,e.bottom),startPostProcessing(),lastRenderedScrollTop=scrollTop,lastRenderedScrollLeft=scrollLeft,h_render=null,trigger(self.onRendered,{startRow:e.top,endRow:e.bottom,grid:self})}}function handleHeaderScroll(){handleElementScroll($headerScrollContainer[0])}function handleHeaderRowScroll(){var e=$headerRowScrollContainer[0].scrollLeft;e!=$viewportScrollContainerX[0].scrollLeft&&($viewportScrollContainerX[0].scrollLeft=e)}function handleFooterRowScroll(){var e=$footerRowScrollContainer[0].scrollLeft;e!=$viewportScrollContainerX[0].scrollLeft&&($viewportScrollContainerX[0].scrollLeft=e)}function handlePreHeaderPanelScroll(){handleElementScroll($preHeaderPanelScroller[0])}function handleElementScroll(e){var o=e.scrollLeft;o!=$viewportScrollContainerX[0].scrollLeft&&($viewportScrollContainerX[0].scrollLeft=o)}function handleScroll(){return scrollTop=$viewportScrollContainerY[0].scrollTop,scrollLeft=$viewportScrollContainerX[0].scrollLeft,_handleScroll(!1)}function _handleScroll(e){var o=$viewportScrollContainerY[0].scrollHeight-$viewportScrollContainerY[0].clientHeight,t=$viewportScrollContainerY[0].scrollWidth-$viewportScrollContainerY[0].clientWidth;o=Math.max(0,o),t=Math.max(0,t),scrollTop>o&&(scrollTop=o),scrollLeft>t&&(scrollLeft=t);var l=Math.abs(scrollTop-prevScrollTop),r=Math.abs(scrollLeft-prevScrollLeft);if(r&&(prevScrollLeft=scrollLeft,$viewportScrollContainerX[0].scrollLeft=scrollLeft,$headerScrollContainer[0].scrollLeft=scrollLeft,$topPanelScroller[0].scrollLeft=scrollLeft,$headerRowScrollContainer[0].scrollLeft=scrollLeft,options.createFooterRow&&($footerRowScrollContainer[0].scrollLeft=scrollLeft),options.createPreHeaderPanel&&(hasFrozenColumns()?$preHeaderPanelScrollerR[0].scrollLeft=scrollLeft:$preHeaderPanelScroller[0].scrollLeft=scrollLeft),hasFrozenColumns()?hasFrozenRows&&($viewportTopR[0].scrollLeft=scrollLeft):hasFrozenRows&&($viewportTopL[0].scrollLeft=scrollLeft)),l)if(vScrollDir=prevScrollTop<scrollTop?1:-1,prevScrollTop=scrollTop,e&&($viewportScrollContainerY[0].scrollTop=scrollTop),hasFrozenColumns()&&(hasFrozenRows&&!options.frozenBottom?$viewportBottomL[0].scrollTop=scrollTop:$viewportTopL[0].scrollTop=scrollTop),l<viewportH)scrollTo(scrollTop+offset);else{var i=offset;page=h==viewportH?0:Math.min(n-1,Math.floor(scrollTop*((th-viewportH)/(h-viewportH))*(1/ph))),i!=(offset=Math.round(page*cj))&&invalidateAllRows()}if(r||l){var a=Math.abs(lastRenderedScrollLeft-scrollLeft),s=Math.abs(lastRenderedScrollTop-scrollTop);(a>20||s>20)&&(options.forceSyncScrolling||s<viewportH&&a<viewportW?render():scrollThrottle.enqueue(),trigger(self.onViewportChanged,{}))}return trigger(self.onScroll,{scrollLeft,scrollTop}),!(!r&&!l)}function ActionThrottle(e,o){var t=!1,n=!1;function l(){n=!1}function r(){t=!0,setTimeout(i,o),e()}function i(){n?(l(),r()):t=!1}return{enqueue:function(){t?n=!0:r()},dequeue:l}}function asyncPostProcessRows(){for(var e=getDataLength();postProcessFromRow<=postProcessToRow;){var o=vScrollDir>=0?postProcessFromRow++:postProcessToRow–,t=rowsCache[o];if(t&&!(o>=e)){for(var n in postProcessedRows[o]||(postProcessedRows[o]={}),ensureCellNodesInRowsCache(o),t.cellNodesByColumnIdx)if(t.cellNodesByColumnIdx.hasOwnProperty(n)){var l=columns[n|=0],r=postProcessedRows[o][n];if(l.asyncPostRender&&"R"!==r){var i=t.cellNodesByColumnIdx[n];i&&l.asyncPostRender(i,o,getDataItem(o),l,"C"===r),postProcessedRows[o][n]="R"}}return void(h_postrender=setTimeout(asyncPostProcessRows,options.asyncPostRenderDelay))}}}function asyncPostProcessCleanupRows(){if(postProcessedCleanupQueue.length>0){for(var e=postProcessedCleanupQueue[0].groupId;postProcessedCleanupQueue.length>0&&postProcessedCleanupQueue[0].groupId==e;){var o=postProcessedCleanupQueue.shift();if("R"==o.actionType&&$(o.node).remove(),"C"==o.actionType){var t=columns[o.columnIdx];t.asyncPostRenderCleanup&&o.node&&t.asyncPostRenderCleanup(o.node,o.rowIdx,t)}}h_postrenderCleanup=setTimeout(asyncPostProcessCleanupRows,options.asyncPostRenderCleanupDelay)}}function updateCellCssStylesOnRenderedRows(e,o){var t,n,l,r;for(var i in rowsCache){if(r=o&&o[i],l=e&&e[i],r)for(n in r)l&&r[n]==l[n]||(t=getCellNode(i,getColumnIndex(n)))&&$(t).removeClass(r[n]);if(l)for(n in l)r&&r[n]==l[n]||(t=getCellNode(i,getColumnIndex(n)))&&$(t).addClass(l[n])}}function addCellCssStyles(e,o){if(cellCssClasses[e])throw new Error("addCellCssStyles: cell CSS hash with key ‘"+e+"’ already exists.");cellCssClasses[e]=o,updateCellCssStylesOnRenderedRows(o,null),trigger(self.onCellCssStylesChanged,{key:e,hash:o,grid:self})}function removeCellCssStyles(e){cellCssClasses[e]&&(updateCellCssStylesOnRenderedRows(null,cellCssClasses[e]),delete cellCssClasses[e],trigger(self.onCellCssStylesChanged,{key:e,hash:null,grid:self}))}function setCellCssStyles(e,o){var t=cellCssClasses[e];cellCssClasses[e]=o,updateCellCssStylesOnRenderedRows(o,t),trigger(self.onCellCssStylesChanged,{key:e,hash:o,grid:self})}function getCellCssStyles(e){return cellCssClasses[e]}function flashCell(e,o,t){(t=t||100,rowsCache[e])&&function e(o,n){n&&setTimeout((function(){o.queue((function(){o.toggleClass(options.cellFlashingCssClass).dequeue(),e(o,n-1)}))}),t)}($(getCellNode(e,o)),4)}function handleMouseWheel(e,o,t,n){var l=$(e.target).closest(".slick-row"),r=l[0];if(r!=rowNodeFromLastMouseWheelEvent){var i=l.parents(".grid-canvas").hasClass("grid-canvas-left");if(zombieRowNodeFromLastMouseWheelEvent&&zombieRowNodeFromLastMouseWheelEvent[i?0:1]!=r){var a=zombieRowNodeFromLastMouseWheelEvent[i||1==zombieRowNodeFromLastMouseWheelEvent.length?0:1];a.parentElement.removeChild(a),zombieRowNodeFromLastMouseWheelEvent=null}rowNodeFromLastMouseWheelEvent=r}scrollTop=Math.max(0,$viewportScrollContainerY[0].scrollTop-n*options.rowHeight),scrollLeft=$viewportScrollContainerX[0].scrollLeft+10*t,_handleScroll(!0)&&e.preventDefault()}function handleDragInit(e,o){var t=getCellFromEvent(e);if(!t||!cellExists(t.row,t.cell))return!1;var n=trigger(self.onDragInit,o,e);return!!e.isImmediatePropagationStopped()&&n}function handleDragStart(e,o){var t=getCellFromEvent(e);if(!t||!cellExists(t.row,t.cell))return!1;var n=trigger(self.onDragStart,o,e);return!!e.isImmediatePropagationStopped()&&n}function handleDrag(e,o){return trigger(self.onDrag,o,e)}function handleDragEnd(e,o){trigger(self.onDragEnd,o,e)}function handleKeyDown(e){trigger(self.onKeyDown,{row:activeRow,cell:activeCell},e);var o=e.isImmediatePropagationStopped(),t=Slick.keyCode;if(!o&&!e.shiftKey&&!e.altKey){if(options.editable&&currentEditor&&currentEditor.keyCaptureList&&currentEditor.keyCaptureList.indexOf(e.which)>-1)return;e.which==t.HOME?o=e.ctrlKey?navigateTop():navigateRowStart():e.which==t.END&&(o=e.ctrlKey?navigateBottom():navigateRowEnd())}if(!o)if(e.shiftKey||e.altKey||e.ctrlKey)e.which!=t.TAB||!e.shiftKey||e.ctrlKey||e.altKey||(o=navigatePrev());else{if(options.editable&&currentEditor&&currentEditor.keyCaptureList&&currentEditor.keyCaptureList.indexOf(e.which)>-1)return;if(e.which==t.ESCAPE){if(!getEditorLock().isActive())return;cancelEditAndSetFocus()}else e.which==t.PAGE_DOWN?(navigatePageDown(),o=!0):e.which==t.PAGE_UP?(navigatePageUp(),o=!0):e.which==t.LEFT?o=navigateLeft():e.which==t.RIGHT?o=navigateRight():e.which==t.UP?o=navigateUp():e.which==t.DOWN?o=navigateDown():e.which==t.TAB?o=navigateNext():e.which==t.ENTER&&(options.editable&&(currentEditor?activeRow===getDataLength()?navigateDown():commitEditAndSetFocus():getEditorLock().commitCurrentEdit()&&makeActiveCellEditable(void 0,void 0,e)),o=!0)}if(o){e.stopPropagation(),e.preventDefault();try{e.originalEvent.keyCode=0}catch(e){}}}function handleClick(e){currentEditor||(e.target!=document.activeElement||$(e.target).hasClass("slick-cell"))&&setFocus();var o=getCellFromEvent(e);if(o&&(null===currentEditor||activeRow!=o.row||activeCell!=o.cell)&&(trigger(self.onClick,{row:o.row,cell:o.cell},e),!e.isImmediatePropagationStopped()&&canCellBeActive(o.row,o.cell)&&(!getEditorLock().isActive()||getEditorLock().commitCurrentEdit()))){scrollRowIntoView(o.row,!1);var t=e.target&&e.target.className===Slick.preClickClassName,n=columns[o.cell],l=!!(options.editable&&n&&n.editor&&options.suppressActiveCellChangeOnEdit);setActiveCellInternal(getCellNode(o.row,o.cell),null,t,l,e)}}function handleContextMenu(e){var o=$(e.target).closest(".slick-cell",$canvas);0!==o.length&&(activeCellNode===o[0]&&null!==currentEditor||trigger(self.onContextMenu,{},e))}function handleDblClick(e){var o=getCellFromEvent(e);!o||null!==currentEditor&&activeRow==o.row&&activeCell==o.cell||(trigger(self.onDblClick,{row:o.row,cell:o.cell},e),e.isImmediatePropagationStopped()||options.editable&&gotoCell(o.row,o.cell,!0,e))}function handleHeaderMouseEnter(e){trigger(self.onHeaderMouseEnter,{column:$(this).data("column"),grid:self},e)}function handleHeaderMouseLeave(e){trigger(self.onHeaderMouseLeave,{column:$(this).data("column"),grid:self},e)}function handleHeaderContextMenu(e){var o=$(e.target).closest(".slick-header-column",".slick-header-columns"),t=o&&o.data("column");trigger(self.onHeaderContextMenu,{column:t},e)}function handleHeaderClick(e){if(!columnResizeDragging){var o=$(e.target).closest(".slick-header-column",".slick-header-columns"),t=o&&o.data("column");t&&trigger(self.onHeaderClick,{column:t},e)}}function handleFooterContextMenu(e){var o=$(e.target).closest(".slick-footerrow-column",".slick-footerrow-columns"),t=o&&o.data("column");trigger(self.onFooterContextMenu,{column:t},e)}function handleFooterClick(e){var o=$(e.target).closest(".slick-footerrow-column",".slick-footerrow-columns"),t=o&&o.data("column");trigger(self.onFooterClick,{column:t},e)}function handleMouseEnter(e){trigger(self.onMouseEnter,{},e)}function handleMouseLeave(e){trigger(self.onMouseLeave,{},e)}function cellExists(e,o){return!(e<0||e>=getDataLength()||o<0||o>=columns.length)}function getCellFromPoint(e,o){for(var t=getRowFromPosition(o),n=0,l=0,r=0;r<columns.length&&l<e;r++)l+=columns[r].width,n++;return n<0&&(n=0),{row:t,cell:n-1}}function getCellFromNode(e){var o=/l\d+/.exec(e.className);if(!o)throw new Error("getCellFromNode: cannot get cell - "+e.className);return parseInt(o[0].substr(1,o[0].length-1),10)}function getRowFromNode(e){for(var o in rowsCache)for(var t in rowsCache[o].rowNode)if(rowsCache[o].rowNode[t]===e)return o?parseInt(o):0;return null}function getFrozenRowOffset(e){return hasFrozenRows?options.frozenBottom?e>=actualFrozenRow?h<viewportTopH?actualFrozenRow*options.rowHeight:h:0:e>=actualFrozenRow?frozenRowsHeight:0:0}function getCellFromEvent(e){var o,t,n=$(e.target).closest(".slick-cell",$canvas);if(!n.length)return null;if(o=getRowFromNode(n[0].parentNode),hasFrozenRows){var l=n.parents(".grid-canvas").offset(),r=0;n.parents(".grid-canvas-bottom").length&&(r=options.frozenBottom?$canvasTopL.height():frozenRowsHeight),o=getCellFromPoint(e.clientX-l.left,e.clientY-l.top+r+$(document).scrollTop()).row}return t=getCellFromNode(n[0]),null==o||null==t?null:{row:o,cell:t}}function getCellNodeBox(e,o){if(!cellExists(e,o))return null;for(var t=getFrozenRowOffset(e),n=getRowTop(e)-t,l=n+options.rowHeight-1,r=0,i=0;i<o;i++)r+=columns[i].width,options.frozenColumn==i&&(r=0);return{top:n,left:r,bottom:l,right:r+columns[o].width}}function resetActiveCell(){setActiveCellInternal(null,!1)}function setFocus(){-1==tabbingDirection?$focusSink[0].focus():$focusSink2[0].focus()}function scrollCellIntoView(e,o,t){if(scrollRowIntoView(e,t),!(o<=options.frozenColumn)){var n=getColspan(e,o);internalScrollColumnIntoView(columnPosLeft[o],columnPosRight[o+(n>1?n-1:0)])}}function internalScrollColumnIntoView(e,o){var t=scrollLeft+$viewportScrollContainerX.width();e<scrollLeft?($viewportScrollContainerX.scrollLeft(e),handleScroll(),render()):o>t&&($viewportScrollContainerX.scrollLeft(Math.min(e,o-$viewportScrollContainerX[0].clientWidth)),handleScroll(),render())}function scrollColumnIntoView(e){internalScrollColumnIntoView(columnPosLeft[e],columnPosRight[e])}function setActiveCellInternal(e,o,t,n,l){null!==activeCellNode&&(makeActiveCellNormal(),$(activeCellNode).removeClass("active"),rowsCache[activeRow]&&$(rowsCache[activeRow].rowNode).removeClass("active"));if(null!=(activeCellNode=e)){var r=$(activeCellNode),i=r.offset(),a=Math.floor(r.parents(".grid-canvas").offset().top),s=r.parents(".grid-canvas-bottom").length;hasFrozenRows&&s&&(a-=options.frozenBottom?$canvasTopL.height():frozenRowsHeight);var d=getCellFromPoint(i.left,Math.ceil(i.top)-a);activeRow=d.row,activeCell=activePosX=activeCell=activePosX=getCellFromNode(activeCellNode),null==o&&(o=activeRow==getDataLength()||options.autoEdit),options.showCellSelection&&(r.addClass("active"),rowsCache[activeRow]&&$(rowsCache[activeRow].rowNode).addClass("active")),options.editable&&o&&isCellPotentiallyEditable(activeRow,activeCell)&&(clearTimeout(h_editorLoader),options.asyncEditorLoading?h_editorLoader=setTimeout((function(){makeActiveCellEditable(void 0,t,l)}),options.asyncEditorLoadDelay):makeActiveCellEditable(void 0,t,l))}else activeRow=activeCell=null;n||trigger(self.onActiveCellChanged,getActiveCell())}function clearTextSelection(){if(document.selection&&document.selection.empty)try{document.selection.empty()}catch(e){}else if(window.getSelection){var e=window.getSelection();e&&e.removeAllRanges&&e.removeAllRanges()}}function isCellPotentiallyEditable(e,o){var t=getDataLength();return!(e<t&&!getDataItem(e))&&(!(columns[o].cannotTriggerInsert&&e>=t)&&!!getEditor(e,o))}function makeActiveCellNormal(){if(currentEditor){if(trigger(self.onBeforeCellEditorDestroy,{editor:currentEditor}),currentEditor.destroy(),currentEditor=null,activeCellNode){var e=getDataItem(activeRow);if($(activeCellNode).removeClass("editable invalid"),e){var o=columns[activeCell];applyFormatResultToCellNode(getFormatter(activeRow,o)(activeRow,activeCell,getDataItemValueForColumn(e,o),o,e,self),activeCellNode),invalidatePostProcessingResults(activeRow)}}navigator.userAgent.toLowerCase().match(/msie/)&&clearTextSelection(),getEditorLock().deactivate(editController)}}function makeActiveCellEditable(e,o,t){if(activeCellNode){if(!options.editable)throw new Error("Grid : makeActiveCellEditable : should never get called when options.editable is false");if(clearTimeout(h_editorLoader),isCellPotentiallyEditable(activeRow,activeCell)){var n=columns[activeCell],l=getDataItem(activeRow);if(!1!==trigger(self.onBeforeEditCell,{row:activeRow,cell:activeCell,item:l,column:n})){getEditorLock().activate(editController),$(activeCellNode).addClass("editable");var r=e||getEditor(activeRow,activeCell);e||r.suppressClearOnEdit||(activeCellNode.innerHTML="");var i=data.getItemMetadata&&data.getItemMetadata(activeRow),a=(i=i&&i.columns)&&(i[n.id]||i[activeCell]);currentEditor=new r({grid:self,gridPosition:absBox($container[0]),position:absBox(activeCellNode),container:activeCellNode,column:n,columnMetaData:a,item:l||{},event:t,commitChanges:commitEditAndSetFocus,cancelChanges:cancelEditAndSetFocus}),l&&(currentEditor.loadValue(l),o&&currentEditor.preClick&&currentEditor.preClick()),serializedEditorValue=currentEditor.serializeValue(),currentEditor.position&&handleActiveCellPositionChange()}else setFocus()}}}function commitEditAndSetFocus(){getEditorLock().commitCurrentEdit()&&(setFocus(),options.autoEdit&&navigateDown())}function cancelEditAndSetFocus(){getEditorLock().cancelCurrentEdit()&&setFocus()}function absBox(e){var o={top:e.offsetTop,left:e.offsetLeft,bottom:0,right:0,width:$(e).outerWidth(),height:$(e).outerHeight(),visible:!0};o.bottom=o.top+o.height,o.right=o.left+o.width;for(var t=e.offsetParent;(e=e.parentNode)!=document.body&&null!=e;)o.visible&&e.scrollHeight!=e.offsetHeight&&"visible"!=$(e).css("overflowY")&&(o.visible=o.bottom>e.scrollTop&&o.top<e.scrollTop+e.clientHeight),o.visible&&e.scrollWidth!=e.offsetWidth&&"visible"!=$(e).css("overflowX")&&(o.visible=o.right>e.scrollLeft&&o.left<e.scrollLeft+e.clientWidth),o.left-=e.scrollLeft,o.top-=e.scrollTop,e===t&&(o.left+=e.offsetLeft,o.top+=e.offsetTop,t=e.offsetParent),o.bottom=o.top+o.height,o.right=o.left+o.width;return o}function getActiveCellPosition(){return absBox(activeCellNode)}function getGridPosition(){return absBox($container[0])}function handleActiveCellPositionChange(){if(activeCellNode&&(trigger(self.onActiveCellPositionChanged,{}),currentEditor)){var e=getActiveCellPosition();currentEditor.show&&currentEditor.hide&&(e.visible?currentEditor.show():currentEditor.hide()),currentEditor.position&&currentEditor.position(e)}}function getCellEditor(){return currentEditor}function getActiveCell(){return activeCellNode?{row:activeRow,cell:activeCell}:null}function getActiveCellNode(){return activeCellNode}function scrollRowIntoView(e,o){if(!hasFrozenRows||!options.frozenBottom&&e>actualFrozenRow-1||options.frozenBottom&&e<actualFrozenRow-1){var t=$viewportScrollContainerY.height(),n=hasFrozenRows&&!options.frozenBottom?e-options.frozenRow:e,l=n*options.rowHeight,r=(n+1)*options.rowHeight-t+(viewportHasHScroll?scrollbarDimensions.height:0);(n+1)*options.rowHeight>scrollTop+t+offset?(scrollTo(o?l:r),render()):n*options.rowHeight<scrollTop+offset&&(scrollTo(o?r:l),render())}}function scrollRowToTop(e){scrollTo(e*options.rowHeight),render()}function scrollPage(e){var o=e*numVisibleRows;if(scrollTo((getRowFromPosition(scrollTop+options.rowHeight-1)+o)*options.rowHeight),render(),options.enableCellNavigation&&null!=activeRow){var t=activeRow+o,n=getDataLengthIncludingAddNew();t>=n&&(t=n-1),t<0&&(t=0);for(var l=0,r=null,i=activePosX;l<=activePosX;)canCellBeActive(t,l)&&(r=l),l+=getColspan(t,l);null!==r?(setActiveCellInternal(getCellNode(t,r)),activePosX=i):resetActiveCell()}}function navigatePageDown(){scrollPage(1)}function navigatePageUp(){scrollPage(-1)}function navigateTop(){navigateToRow(0)}function navigateBottom(){navigateToRow(getDataLength()-1)}function navigateToRow(e){var o=getDataLength();if(!o)return!0;if(e<0?e=0:e>=o&&(e=o-1),scrollCellIntoView(e,0,!0),options.enableCellNavigation&&null!=activeRow){for(var t=0,n=null,l=activePosX;t<=activePosX;)canCellBeActive(e,t)&&(n=t),t+=getColspan(e,t);null!==n?(setActiveCellInternal(getCellNode(e,n)),activePosX=l):resetActiveCell()}return!0}function getColspan(e,o){var t=data.getItemMetadata&&data.getItemMetadata(e);if(!t||!t.columns)return 1;var n=t.columns[columns[o].id]||t.columns[o],l=n&&n.colspan;return l=""===l?columns.length-o:l||1}function findFirstFocusableCell(e){for(var o=0;o<columns.length;){if(canCellBeActive(e,o))return o;o+=getColspan(e,o)}return null}function findLastFocusableCell(e){for(var o=0,t=null;o<columns.length;)canCellBeActive(e,o)&&(t=o),o+=getColspan(e,o);return t}function gotoRight(e,o,t){if(o>=columns.length)return null;do{o+=getColspan(e,o)}while(o<columns.length&&!canCellBeActive(e,o));return o<columns.length?{row:e,cell:o,posX:o}:null}function gotoLeft(e,o,t){if(o<=0)return null;var n=findFirstFocusableCell(e);if(null===n||n>=o)return null;for(var l,r={row:e,cell:n,posX:n};;){if(!(l=gotoRight(r.row,r.cell,r.posX)))return null;if(l.cell>=o)return r;r=l}}function gotoDown(e,o,t){for(var n,l=getDataLengthIncludingAddNew();;){if(++e>=l)return null;for(n=o=0;o<=t;)n=o,o+=getColspan(e,o);if(canCellBeActive(e,n))return{row:e,cell:n,posX:t}}}function gotoUp(e,o,t){for(var n;;){if(–e<0)return null;for(n=o=0;o<=t;)n=o,o+=getColspan(e,o);if(canCellBeActive(e,n))return{row:e,cell:n,posX:t}}}function gotoNext(e,o,t){if(null==e&&null==o&&canCellBeActive(e=o=t=0,o))return{row:e,cell:o,posX:o};var n=gotoRight(e,o,t);if(n)return n;var l=null,r=getDataLengthIncludingAddNew();for(e===r-1&&e–;++e<r;)if(null!==(l=findFirstFocusableCell(e)))return{row:e,cell:l,posX:l};return null}function gotoPrev(e,o,t){if(null==e&&null==o&&canCellBeActive(e=getDataLengthIncludingAddNew()-1,o=t=columns.length-1))return{row:e,cell:o,posX:o};for(var n,l;!n&&!(n=gotoLeft(e,o,t));){if(–e<0)return null;o=0,null!==(l=findLastFocusableCell(e))&&(n={row:e,cell:l,posX:l})}return n}function gotoRowStart(e,o,t){var n=findFirstFocusableCell(e);return null===n?null:{row:e,cell:n,posX:n}}function gotoRowEnd(e,o,t){var n=findLastFocusableCell(e);return null===n?null:{row:e,cell:n,posX:n}}function navigateRight(){return navigate("right")}function navigateLeft(){return navigate("left")}function navigateDown(){return navigate("down")}function navigateUp(){return navigate("up")}function navigateNext(){return navigate("next")}function navigatePrev(){return navigate("prev")}function navigateRowStart(){return navigate("home")}function navigateRowEnd(){return navigate("end")}function navigate(e){if(!options.enableCellNavigation)return!1;if(!activeCellNode&&"prev"!=e&&"next"!=e)return!1;if(!getEditorLock().commitCurrentEdit())return!0;setFocus();tabbingDirection={up:-1,down:1,left:-1,right:1,prev:-1,next:1,home:-1,end:1}[e];var o=(0,{up:gotoUp,down:gotoDown,left:gotoLeft,right:gotoRight,prev:gotoPrev,next:gotoNext,home:gotoRowStart,end:gotoRowEnd}[e])(activeRow,activeCell,activePosX);if(o){if(hasFrozenRows&&options.frozenBottom&o.row==getDataLength())return;var t=o.row==getDataLength();return(!options.frozenBottom&&o.row>=actualFrozenRow||options.frozenBottom&&o.row<actualFrozenRow)&&scrollCellIntoView(o.row,o.cell,!t&&options.emulatePagingWhenScrolling),setActiveCellInternal(getCellNode(o.row,o.cell)),activePosX=o.posX,!0}return setActiveCellInternal(getCellNode(activeRow,activeCell)),!1}function getCellNode(e,o){if(rowsCache[e]){ensureCellNodesInRowsCache(e);try{return rowsCache[e].cellNodesByColumnIdx.length>o?rowsCache[e].cellNodesByColumnIdx[o][0]:null}catch(t){return rowsCache[e].cellNodesByColumnIdx[o]}}return null}function setActiveCell(e,o,t,n,l){initialized&&(e>getDataLength()||e<0||o>=columns.length||o<0||options.enableCellNavigation&&(scrollCellIntoView(e,o,!1),setActiveCellInternal(getCellNode(e,o),t,n,l)))}function canCellBeActive(e,o){if(!options.enableCellNavigation||e>=getDataLengthIncludingAddNew()||e<0||o>=columns.length||o<0)return!1;var t=data.getItemMetadata&&data.getItemMetadata(e);if(t&&void 0!==t.focusable)return!!t.focusable;var n=t&&t.columns;return n&&n[columns[o].id]&&void 0!==n[columns[o].id].focusable?!!n[columns[o].id].focusable:n&&n[o]&&void 0!==n[o].focusable?!!n[o].focusable:!!columns[o].focusable}function canCellBeSelected(e,o){if(e>=getDataLength()||e<0||o>=columns.length||o<0)return!1;var t=data.getItemMetadata&&data.getItemMetadata(e);if(t&&void 0!==t.selectable)return!!t.selectable;var n=t&&t.columns&&(t.columns[columns[o].id]||t.columns[o]);return n&&void 0!==n.selectable?!!n.selectable:!!columns[o].selectable}function gotoCell(e,o,t,n){if(initialized&&canCellBeActive(e,o)&&getEditorLock().commitCurrentEdit()){scrollCellIntoView(e,o,!1);var l=getCellNode(e,o),r=columns[o],i=!!(options.editable&&r&&r.editor&&options.suppressActiveCellChangeOnEdit);setActiveCellInternal(l,t||e===getDataLength()||options.autoEdit,null,i,n),currentEditor||setFocus()}}function commitCurrentEdit(){var e=getDataItem(activeRow),o=columns[activeCell];if(currentEditor){if(currentEditor.isValueChanged()){var t=currentEditor.validate();if(t.valid){if(activeRow<getDataLength()){var n={row:activeRow,cell:activeCell,editor:currentEditor,serializedValue:currentEditor.serializeValue(),prevSerializedValue:serializedEditorValue,execute:function(){this.editor.applyValue(e,this.serializedValue),updateRow(this.row),trigger(self.onCellChange,{row:this.row,cell:this.cell,item:e})},undo:function(){this.editor.applyValue(e,this.prevSerializedValue),updateRow(this.row),trigger(self.onCellChange,{row:this.row,cell:this.cell,item:e})}};options.editCommandHandler?(makeActiveCellNormal(),options.editCommandHandler(e,o,n)):(n.execute(),makeActiveCellNormal())}else{var l={};currentEditor.applyValue(l,currentEditor.serializeValue()),makeActiveCellNormal(),trigger(self.onAddNewRow,{item:l,column:o})}return!getEditorLock().isActive()}return $(activeCellNode).removeClass("invalid"),$(activeCellNode).width(),$(activeCellNode).addClass("invalid"),trigger(self.onValidationError,{editor:currentEditor,cellNode:activeCellNode,validationResults:t,row:activeRow,cell:activeCell,column:o}),currentEditor.focus(),!1}makeActiveCellNormal()}return!0}function cancelCurrentEdit(){return makeActiveCellNormal(),!0}function rowsToRanges(e){for(var o=[],t=columns.length-1,n=0;n<e.length;n++)o.push(new Slick.Range(e[n],0,e[n],t));return o}function getSelectedRows(){if(!selectionModel)throw new Error("Selection model is not set");return selectedRows.slice(0)}function setSelectedRows(e){if(!selectionModel)throw new Error("Selection model is not set");self&&self.getEditorLock&&!self.getEditorLock().isActive()&&selectionModel.setSelectedRanges(rowsToRanges(e))}this.debug=function(){var e="";e+="\ncounter_rows_rendered: "+counter_rows_rendered,e+="\ncounter_rows_removed: "+counter_rows_removed,e+="\nrenderedRows: "+renderedRows,e+="\nnumVisibleRows: "+numVisibleRows,e+="\nmaxSupportedCssHeight: "+maxSupportedCssHeight,e+="\nn(umber of pages): "+n,e+="\n(current) page: "+page,e+="\npage height (ph): "+ph,e+="\nvScrollDir: "+vScrollDir,alert(e)},this.eval=function(expr){return eval(expr)},$.extend(this,{slickGridVersion:"2.4.27",onScroll:new Slick.Event,onSort:new Slick.Event,onHeaderMouseEnter:new Slick.Event,onHeaderMouseLeave:new Slick.Event,onHeaderContextMenu:new Slick.Event,onHeaderClick:new Slick.Event,onHeaderCellRendered:new Slick.Event,onBeforeHeaderCellDestroy:new Slick.Event,onHeaderRowCellRendered:new Slick.Event,onFooterRowCellRendered:new Slick.Event,onFooterContextMenu:new Slick.Event,onFooterClick:new Slick.Event,onBeforeHeaderRowCellDestroy:new Slick.Event,onBeforeFooterRowCellDestroy:new Slick.Event,onMouseEnter:new Slick.Event,onMouseLeave:new Slick.Event,onClick:new Slick.Event,onDblClick:new Slick.Event,onContextMenu:new Slick.Event,onKeyDown:new Slick.Event,onAddNewRow:new Slick.Event,onBeforeAppendCell:new Slick.Event,onValidationError:new Slick.Event,onViewportChanged:new Slick.Event,onColumnsReordered:new Slick.Event,onColumnsDrag:new Slick.Event,onColumnsResized:new Slick.Event,onBeforeColumnsResize:new Slick.Event,onCellChange:new Slick.Event,onBeforeEditCell:new Slick.Event,onBeforeCellEditorDestroy:new Slick.Event,onBeforeDestroy:new Slick.Event,onActiveCellChanged:new Slick.Event,onActiveCellPositionChanged:new Slick.Event,onDragInit:new Slick.Event,onDragStart:new Slick.Event,onDrag:new Slick.Event,onDragEnd:new Slick.Event,onSelectedRowsChanged:new Slick.Event,onCellCssStylesChanged:new Slick.Event,onAutosizeColumns:new Slick.Event,onRendered:new Slick.Event,onSetOptions:new Slick.Event,registerPlugin,unregisterPlugin,getPluginByName,getColumns,setColumns,getColumnIndex,updateColumnHeader,setSortColumn,setSortColumns,getSortColumns,autosizeColumns,autosizeColumn,getOptions,setOptions,getData,getDataLength,getDataItem,setData,getSelectionModel,setSelectionModel,getSelectedRows,setSelectedRows,getContainerNode,updatePagingStatusFromView,applyFormatResultToCellNode,render,invalidate,invalidateRow,invalidateRows,invalidateAllRows,updateCell,updateRow,getViewport:getVisibleRange,getRenderedRange,resizeCanvas,updateRowCount,scrollRowIntoView,scrollRowToTop,scrollCellIntoView,scrollColumnIntoView,getCanvasNode,getUID,getHeaderColumnWidthDiff,getScrollbarDimensions,getHeadersWidth,getCanvasWidth,getCanvases,getActiveCanvasNode,setActiveCanvasNode,getViewportNode,getActiveViewportNode,setActiveViewportNode,focus:setFocus,scrollTo,getCellFromPoint,getCellFromEvent,getActiveCell,setActiveCell,getActiveCellNode,getActiveCellPosition,resetActiveCell,editActiveCell:makeActiveCellEditable,getCellEditor,getCellNode,getCellNodeBox,canCellBeSelected,canCellBeActive,navigatePrev,navigateNext,navigateUp,navigateDown,navigateLeft,navigateRight,navigatePageUp,navigatePageDown,navigateTop,navigateBottom,navigateRowStart,navigateRowEnd,gotoCell,getTopPanel,setTopPanelVisibility,getPreHeaderPanel,getPreHeaderPanelLeft:getPreHeaderPanel,getPreHeaderPanelRight,setPreHeaderPanelVisibility,getHeader,getHeaderColumn,setHeaderRowVisibility,getHeaderRow,getHeaderRowColumn,setFooterRowVisibility,getFooterRow,getFooterRowColumn,getGridPosition,flashCell,addCellCssStyles,setCellCssStyles,removeCellCssStyles,getCellCssStyles,getFrozenRowOffset,setColumnHeaderVisibility,init:finishInitialization,destroy,getEditorLock,getEditController}),init()}module.exports={Grid:SlickGrid}},n 481: function _(t,e,a,n,r){n /!n * jquery.event.drag - v 2.3.0n * Copyright (c) 2010 Three Dub Media - http://threedubmedia.comn * Open Source MIT License - http://threedubmedia.com/code/licensen */n var o=t(474);o.fn.drag=function(t,e,a){var n="string"==typeof t?t:"",r=o.isFunction(t)?t:o.isFunction(e)?e:null;return 0!==n.indexOf("drag")&&(n="drag"+n),a=(t==r?e:a)||{},r?this.on(n,a,r):this.trigger(n)};var i=o.event,d=i.special,s=d.drag={defaults:{which:1,distance:0,not:":input",handle:null,relative:!1,drop:!0,click:!1},datakey:"dragdata",noBubble:!0,add:function(t){var e=o.data(this,s.datakey),a=t.data||{};e.related+=1,o.each(s.defaults,(function(t,n){void 0!==a[t]&&(e[t]=a[t])}))},remove:function(){o.data(this,s.datakey).related-=1},setup:function(){if(!o.data(this,s.datakey)){var t=o.extend({related:0},s.defaults);o.data(this,s.datakey,t),i.add(this,"touchstart mousedown",s.init,t),this.attachEvent&&this.attachEvent("ondragstart",s.dontstart)}},teardown:function(){(o.data(this,s.datakey)||{}).related||(o.removeData(this,s.datakey),i.remove(this,"touchstart mousedown",s.init),s.textselect(!0),this.detachEvent&&this.detachEvent("ondragstart",s.dontstart))},init:function(t){if(!s.touched){var e,a=t.data;if(!(0!=t.which&&a.which>0&&t.which!=a.which)){var n=o(t.target).attr("class")||"";if(!o(t.target).is(a.not)&&n&&-1!==n.toString().indexOf("slick")&&(!a.handle||o(t.target).closest(a.handle,t.currentTarget).length)&&(s.touched="touchstart"==t.type?this:null,a.propagates=1,a.mousedown=this,a.interactions=[s.interaction(this,a)],a.target=t.target,a.pageX=t.pageX,a.pageY=t.pageY,a.dragging=null,e=s.hijack(t,"draginit",a),a.propagates))return(e=s.flatten(e))&&e.length&&(a.interactions=[],o.each(e,(function(){a.interactions.push(s.interaction(this,a))}))),a.propagates=a.interactions.length,!1!==a.drop&&d.drop&&d.drop.handler(t,a),s.textselect(!1),s.touched?i.add(s.touched,"touchmove touchend",s.handler,a):i.add(document,"mousemove mouseup",s.handler,a),!(!s.touched||a.live)&&void 0}}},interaction:function(t,e){var a=t&&t.ownerDocument&&o(t)[e.relative?"position":"offset"]()||{top:0,left:0};return{drag:t,callback:new s.callback,droppable:[],offset:a}},handler:function(t){var e=t.data;switch(t.type){case!e.dragging&&"touchmove":t.preventDefault();case!e.dragging&&"mousemove":if(Math.pow(t.pageX-e.pageX,2)+Math.pow(t.pageY-e.pageY,2)<Math.pow(e.distance,2))break;t.target=e.target,s.hijack(t,"dragstart",e),e.propagates&&(e.dragging=!0);case"touchmove":t.preventDefault();case"mousemove":if(e.dragging){if(s.hijack(t,"drag",e),e.propagates){!1!==e.drop&&d.drop&&d.drop.handler(t,e);break}t.type="mouseup"}case"touchend":case"mouseup":default:s.touched?i.remove(s.touched,"touchmove touchend",s.handler):i.remove(document,"mousemove mouseup",s.handler),e.dragging&&(!1!==e.drop&&d.drop&&d.drop.handler(t,e),s.hijack(t,"dragend",e)),s.textselect(!0),!1===e.click&&e.dragging&&o.data(e.mousedown,"suppress.click",(new Date).getTime()+5),e.dragging=s.touched=!1}},hijack:function(t,e,a,n,r){if(a){var d,c,l,p={event:t.originalEvent,type:t.type},u=e.indexOf("drop")?"drag":"drop",g=n||0,h=isNaN(n)?a.interactions.length:n;t.type=e;var f=function(){};t.originalEvent=new o.Event(p.event,{preventDefault:f,stopPropagation:f,stopImmediatePropagation:f}),a.results=[];do{if(c=a.interactions[g]){if("dragend"!==e&&c.cancelled)continue;l=s.properties(t,a,c),c.results=[],o(r||c[u]||a.droppable).each((function(n,r){if(l.target=r,t.isPropagationStopped=function(){return!1},!1===(d=r?i.dispatch.call(r,t,l):null)?("drag"==u&&(c.cancelled=!0,a.propagates-=1),"drop"==e&&(c[u][n]=null)):"dropinit"==e&&c.droppable.push(s.element(d)||r),"dragstart"==e&&(c.proxy=o(s.element(d)||c.drag)[0]),c.results.push(d),delete t.result,"dropinit"!==e)return d})),a.results[g]=s.flatten(c.results),"dropinit"==e&&(c.droppable=s.flatten(c.droppable)),"dragstart"!=e||c.cancelled||l.update()}}while(++g<h);return t.type=p.type,t.originalEvent=p.event,s.flatten(a.results)}},properties:function(t,e,a){var n=a.callback;return n.drag=a.drag,n.proxy=a.proxy||a.drag,n.startX=e.pageX,n.startY=e.pageY,n.deltaX=t.pageX-e.pageX,n.deltaY=t.pageY-e.pageY,n.originalX=a.offset.left,n.originalY=a.offset.top,n.offsetX=n.originalX+n.deltaX,n.offsetY=n.originalY+n.deltaY,n.drop=s.flatten((a.drop||[]).slice()),n.available=s.flatten((a.droppable||[]).slice()),n},element:function(t){if(t&&(t.jquery||1==t.nodeType))return t},flatten:function(t){return o.map(t,(function(t){return t&&t.jquery?o.makeArray(t):t&&t.length?s.flatten(t):t}))},textselect:function(t){o(document)[t?"off":"on"]("selectstart",s.dontstart).css("MozUserSelect",t?"":"none"),document.unselectable=t?"off":"on"},dontstart:function(){return!1},callback:function(){}};s.callback.prototype={update:function(){d.drop&&this.available.length&&o.each(this.available,(function(t){d.drop.locate(this,t)}))}};var c=i.dispatch;i.dispatch=function(t){if(!(o.data(this,"suppress."+t.type)-(new Date).getTime()>0))return c.apply(this,arguments);o.removeData(this,"suppress."+t.type)},d.draginit=d.dragstart=d.dragend=s},n 482: function _(t,e,a,n,i){n /!n * jquery.event.drop - v 2.3.0n * Copyright (c) 2010 Three Dub Media - http://threedubmedia.comn * Open Source MIT License - http://threedubmedia.com/code/licensen /n var o=t(474);o.fn.drop=function(t,e,a){var n="string"==typeof t?t:"",i=o.isFunction(t)?t:o.isFunction(e)?e:null;return 0!==n.indexOf("drop")&&(n="drop"+n),a=(t==i?e:a)||{},i?this.on(n,a,i):this.trigger(n)},o.drop=function(t){t=t||{},d.multi=!0===t.multi?1/0:!1===t.multi?1:isNaN(t.multi)?d.multi:t.multi,d.delay=t.delay||d.delay,d.tolerance=o.isFunction(t.tolerance)?t.tolerance:null===t.tolerance?null:d.tolerance,d.mode=t.mode||d.mode||"intersect"};var r=o.event.special,d=o.event.special.drop={multi:1,delay:20,mode:"overlap",targets:[],datakey:"dropdata",noBubble:!0,add:function(t){o.data(this,d.datakey).related+=1},remove:function(){o.data(this,d.datakey).related-=1},setup:function(){if(!o.data(this,d.datakey)){o.data(this,d.datakey,{related:0,active:[],anyactive:0,winner:0,location:{}}),d.targets.push(this)}},teardown:function(){if(!(o.data(this,d.datakey)||{}).related){o.removeData(this,d.datakey);var t=this;d.targets=o.grep(d.targets,(function(e){return e!==t}))}},handler:function(t,e){var a;if(e)switch(t.type){case"mousedown":case"touchstart":a=o(d.targets),"string"==typeof e.drop&&(a=a.filter(e.drop)),a.each((function(){var t=o.data(this,d.datakey);t.active=[],t.anyactive=0,t.winner=0})),e.droppable=a,r.drag.hijack(t,"dropinit",e);break;case"mousemove":case"touchmove":d.event=t,d.timer||d.tolerate(e);break;case"mouseup":case"touchend":d.timer=clearTimeout(d.timer),e.propagates&&(r.drag.hijack(t,"drop",e),r.drag.hijack(t,"dropend",e))}},locate:function(t,e){var a=o.data(t,d.datakey),n=o(t),i=n.length&&!n.is(document)?n.offset():{},r=n.outerHeight(),l=n.outerWidth(),c={elem:t,width:l,height:r,top:i.top,left:i.left,right:i.left+l,bottom:i.top+r};return a&&(a.location=c,a.index=e,a.elem=t),c},contains:function(t,e){return(e[0]||e.left)>=t.left&&(e[0]||e.right)<=t.right&&(e[1]||e.top)>=t.top&&(e[1]||e.bottom)<=t.bottom},modes:{intersect:function(t,e,a){return this.contains(a,[t.pageX,t.pageY])?1e9:this.modes.overlap.apply(this,arguments)},overlap:function(t,e,a){return Math.max(0,Math.min(a.bottom,e.bottom)-Math.max(a.top,e.top))*Math.max(0,Math.min(a.right,e.right)-Math.max(a.left,e.left))},fit:function(t,e,a){return this.contains(a,e)?1:0},middle:function(t,e,a){return this.contains(a,[e.left+.5*e.width,e.top+.5*e.height])?1:0}},sort:function(t,e){return e.winner-t.winner||t.index-e.index},tolerate:function(t){var e,a,n,i,l,c,s,u,p=0,h=t.interactions.length,m=[d.event.pageX,d.event.pageY],f=d.tolerance||d.modes[d.mode];do{if(u=t.interactions[p]){if(!u)return;u.drop=[],l=[],c=u.droppable.length,f&&(n=d.locate(u.proxy)),e=0;do{if(s=u.droppable[e]){if(!(a=(i=o.data(s,d.datakey)).location))continue;i.winner=f?f.call(d,d.event,n,a):d.contains(a,m)?1:0,l.push(i)}}while(++e<c);l.sort(d.sort),e=0;do{(i=l[e])&&(i.winner&&u.drop.length<d.multi?(i.active[p]||i.anyactive||(!1!==r.drag.hijack(d.event,"dropstart",t,p,i.elem)[0]?(i.active[p]=1,i.anyactive+=1):i.winner=0),i.winner&&u.drop.push(i.elem)):i.active[p]&&1==i.anyactive&&(r.drag.hijack(d.event,"dropend",t,p,i.elem),i.active[p]=0,i.anyactive-=1))}while(++e<c)}}while(++p<h);d.last&&m[0]==d.last.pageX&&m[1]==d.last.pageY?delete d.timer:d.timer=setTimeout((function(){d.tolerate(t)}),d.delay),d.last=d.event}};r.dropinit=r.dropstart=r.dropend=d},n 483: function _(e,t,n,r,o){var i=e(474),l=e(476);var a={Avg:function(e){this.field_=e,this.init=function(){this.count_=0,this.nonNullCount_=0,this.sum_=0},this.accumulate=function(e){var t=e[this.field_];this.count_++,null==t||""===t||isNaN(t)||(this.nonNullCount_++,this.sum_+=parseFloat(t))},this.storeResult=function(e){e.avg||(e.avg={}),0!==this.nonNullCount_&&(e.avg[this.field_]=this.sum_/this.nonNullCount_)}},Min:function(e){this.field_=e,this.init=function(){this.min_=null},this.accumulate=function(e){var t=e[this.field_];null==t||""===t||isNaN(t)||(null==this.min_||t<this.min_)&&(this.min_=t)},this.storeResult=function(e){e.min||(e.min={}),e.min[this.field_]=this.min_}},Max:function(e){this.field_=e,this.init=function(){this.max_=null},this.accumulate=function(e){var t=e[this.field_];null==t||""===t||isNaN(t)||(null==this.max_||t>this.max_)&&(this.max_=t)},this.storeResult=function(e){e.max||(e.max={}),e.max[this.field_]=this.max_}},Sum:function(e){this.field_=e,this.init=function(){this.sum_=null},this.accumulate=function(e){var t=e[this.field_];null==t||""===t||isNaN(t)||(this.sum_+=parseFloat(t))},this.storeResult=function(e){e.sum||(e.sum={}),e.sum[this.field_]=this.sum_}},Count:function(e){this.field_=e,this.init=function(){},this.storeResult=function(e){e.count||(e.count={}),e.count[this.field_]=e.group.rows.length}}};t.exports={DataView:function(e){var t,n,r,o,a,u=this,s="id",g=[],c=[],f={},h=null,p=null,d=null,m=!1,v=!0,_={},w={},y=[],$=[],C={getter:null,formatter:null,comparer:function(e,t){return e.value===t.value?0:e.value>t.value?1:-1},predefinedValues:[],aggregators:[],aggregateEmpty:!1,aggregateCollapsed:!1,aggregateChildGroups:!1,collapsed:!1,displayTotalsRow:!0,lazyTotalsCalculation:!1},I=[],R=[],x=[],E=":|:",M=0,S=0,b=0,F=new l.Event,A=new l.Event,N=new l.Event,G=new l.Event,T=new l.Event,O=new l.Event,P=new l.Event,D=new l.Event;function K(e){for(var t,n=e=e||0,r=g.length;n<r;n++){if(void 0===(t=g[n][s]))throw new Error("Each data element must implement a unique ‘id’ property");f[t]=n}}function j(){var e=M?Math.max(1,Math.ceil(b/M)):1;return{pageSize:M,pageNum:S,totalRows:b,totalPages:e,dataView:u}}function B(e,r){v=r,n=e,t=null,!1===r&&g.reverse(),g.sort(e),!1===r&&g.reverse(),f={},K(),se()}function z(e,r){v=r,t=e,n=null;var o=Object.prototype.toString;Object.prototype.toString="function"==typeof e?e:function(){return this[e]},!1===r&&g.reverse(),g.sort(),Object.prototype.toString=o,!1===r&&g.reverse(),f={},K(),se()}function V(t){e.groupItemMetadataProvider||(e.groupItemMetadataProvider=new l.Data.GroupItemMetadataProvider),R=[],x=[],I=(t=t||[])instanceof Array?t:[t];for(var n=0;n<I.length;n++){var r=I[n]=i.extend(!0,{},C,I[n]);r.getterIsAFn="function"==typeof r.getter,r.compiledAccumulators=[];for(var o=r.aggregators.length;o–;)r.compiledAccumulators[o]=re(r.aggregators[o]);x[n]={}}se()}function q(){if(!h){h={};for(var e=0,t=c.length;e<t;e++)h[c[e][s]]=e}}function U(e){return g[f[e]]}function L(e,t){if(void 0===f[e])throw new Error("Invalid id");if(e!==t[s]){var n=t[s];if(null==n)throw new Error("Cannot update item to associate with a null id");if(void 0!==f[n])throw new Error("Cannot update item to associate with a non-unique id");f[n]=f[e],delete f[e],d&&d[e]&&delete d[e],e=n}g[f[e]]=t,d||(d={}),d[e]=!0,se()}function k(e,t){g.splice(e,0,t),K(e),se()}function H(e){var t=f[e];if(void 0===t)throw new Error("Invalid id");delete f[e],g.splice(t,1),K(t),se()}function W(e){if(!n)throw new Error("sortedAddItem() requires a sort comparer, use sort()");k(function(e){var t=0,r=g.length;for(;t<r;){var o=t+r>>>1;-1===n(g[o],e)?t=o+1:r=o}return t}(e),e)}function J(e,t){if(null==e)for(var n=0;n<I.length;n++)x[n]={},I[n].collapsed=t,!0===t?D.notify({level:n,groupingKey:null}):P.notify({level:n,groupingKey:null});else x[e]={},I[e].collapsed=t,!0===t?D.notify({level:e,groupingKey:null}):P.notify({level:e,groupingKey:null});se()}function Q(e,t,n){x[e][t]=I[e].collapsed^n,se()}function X(e,t){for(var n,r,o,i=[],a={},u=t?t.level+1:0,s=I[u],g=0,c=s.predefinedValues.length;g<c;g++)(n=a[r=s.predefinedValues[g]])||((n=new l.Group).value=r,n.level=u,n.groupingKey=(t?t.groupingKey+E:"")+r,i[i.length]=n,a[r]=n);for(g=0,c=e.length;g<c;g++)o=e[g],(n=a[r=s.getterIsAFn?s.getter(o):o[s.getter]])||((n=new l.Group).value=r,n.level=u,n.groupingKey=(t?t.groupingKey+E:"")+r,i[i.length]=n,a[r]=n),n.rows[n.count++]=o;if(u<I.length-1)for(g=0;g<i.length;g++)(n=i[g]).groups=X(n.rows,n);return i.length&&ee(i,u),i.sort(I[u].comparer),i}function Y(e){var t,n=e.group,r=I[n.level],o=n.level==I.length,i=r.aggregators.length;if(!o&&r.aggregateChildGroups)for(var l=n.groups.length;l–;)n.groups[l].totals.initialized||Y(n.groups[l].totals);for(;i–;)(t=r.aggregators[i]).init(),!o&&r.aggregateChildGroups?r.compiledAccumulators[i].call(t,n.groups):r.compiledAccumulators[i].call(t,n.rows),t.storeResult(e);e.initialized=!0}function Z(e){var t=I[e.level],n=new l.GroupTotals;n.group=e,e.totals=n,t.lazyTotalsCalculation||Y(n)}function ee(e,t){for(var n,r=I[t=t||0],o=r.collapsed,i=x[t],l=e.length;l–;)(n=e[l]).collapsed&&!r.aggregateCollapsed||(n.groups&&ee(n.groups,t+1),r.aggregators.length&&(r.aggregateEmpty||n.rows.length||n.groups&&n.groups.length)&&Z(n),n.collapsed=o^i[n.groupingKey],n.title=r.formatter?r.formatter(n):n.value)}function te(e,t){for(var n,r,o=I[t=t||0],i=[],l=0,a=0,u=e.length;a<u;a++){if(r=e[a],i[l++]=r,!r.collapsed)for(var s=0,g=(n=r.groups?te(r.groups,t+1):r.rows).length;s<g;s++)i[l++]=n[s];r.totals&&o.displayTotalsRow&&(!r.collapsed||o.aggregateCollapsed)&&(i[l++]=r.totals)}return i}function ne(e){var t=e.toString().indexOf("function")>=0?/^function[^(]\(([^)]*)\)\s*{([\s\S]*)}$/:/^[^(]*\(([^)]*)\)\s*{([\s\S]*)}$/,n=e.toString().match(t);return{params:n[1].split(","),body:n[2]}}function re(e){if(e.accumulate){var t=ne(e.accumulate),n=new Function("_items","for (var "+t.params[0]+", _i=0, _il=_items.length; _i<_il; _i++) {"+t.params[0]+" = _items[_i]; "+t.body+"}"),r="compiledAccumulatorLoop";return n.displayName=r,n.name=oe(n,r),n}return function(){}}function oe(e,t){try{Object.defineProperty(e,"name",{writable:!0,value:t})}catch(n){e.name=t}}function ie(e,t){for(var n=[],r=0,o=0,i=e.length;o<i;o++)p(e[o],t)&&(n[r++]=e[o]);return n}function le(e,t,n){for(var r,o=[],i=0,l=0,a=e.length;l<a;l++)r=e[l],n[l]?o[i++]=r:p(r,t)&&(o[i++]=r,n[l]=!0);return o}function ae(t){if(p){var n=e.inlineFilters?o:ie,i=e.inlineFilters?a:le;_.isFilterNarrowing?y=n(y,r):_.isFilterExpanding?y=i(t,r,$):_.isFilterUnchanged||(y=n(t,r))}else y=M?t:t.concat();var l;return M?(y.length<=S*M&&(S=0===y.length?0:Math.floor((y.length-1)/M)),l=y.slice(M*S,M*S+M)):l=y,{totalRows:y.length,rows:l}}function ue(e){h=null,_.isFilterNarrowing==w.isFilterNarrowing&&_.isFilterExpanding==w.isFilterExpanding||($=[]);var t=ae(e);b=t.totalRows;var n=t.rows;R=[],I.length&&(R=X(n)).length&&(n=te(R));var r=function(e,t){var n,r,o,i=[],l=0,a=Math.max(t.length,e.length);_&&_.ignoreDiffsBefore&&(l=Math.max(0,Math.min(t.length,_.ignoreDiffsBefore))),_&&_.ignoreDiffsAfter&&(a=Math.min(t.length,Math.max(0,_.ignoreDiffsAfter)));for(var u=l,g=e.length;u<a;u++)u>=g?i[i.length]=u:(n=t[u],r=e[u],(!n||I.length&&(o=n.__nonDataRow||r.__nonDataRow)&&n.__group!==r.__group||n.__group&&!n.equals(r)||o&&(n.__groupTotals||r.__groupTotals)||n[s]!=r[s]||d&&d[n[s]])&&(i[i.length]=u));return i}(c,n);return c=n,r}function se(){if(!m){var e=i.extend(!0,{},j()),t=c.length,n=b,r=ue(g);M&&b<S*M&&(S=Math.max(0,Math.ceil(b/M)-1),r=ue(g)),d=null,w=_,_={},n!==b&&(T.notify(e,null,u),O.notify(j(),null,u)),t!==c.length&&A.notify({previous:t,current:c.length,dataView:u,callingOnRowsChanged:r.length>0},null,u),r.length>0&&N.notify({rows:r,dataView:u,calledOnRowCountChanged:t!==c.length},null,u),(t!==c.length||r.length>0)&&G.notify({rowsDiff:r,previousRowCount:t,currentRowCount:c.length,rowCountChanged:t!==c.length,rowsChanged:r.length>0,dataView:u},null,u)}}e=i.extend(!0,{},{groupItemMetadataProvider:null,inlineFilters:!1},e),i.extend(this,{beginUpdate:function(){m=!0},endUpdate:function(){m=!1,se()},setPagingOptions:function(e){T.notify(j(),null,u),null!=e.pageSize&&(M=e.pageSize,S=M?Math.min(S,Math.max(0,Math.ceil(b/M)-1)):0),null!=e.pageNum&&(S=Math.min(e.pageNum,Math.max(0,Math.ceil(b/M)-1))),O.notify(j(),null,u),se()},getPagingInfo:j,getIdPropertyName:function(){return s},getItems:function(){return g},setItems:function(e,t){void 0!==t&&(s=t),g=y=e,f={},K(),function(){for(var e,t=0,n=g.length;t<n;t++)if(void 0===(e=g[t][s])||f[e]!==t)throw new Error("Each data element must implement a unique ‘id’ property")}(),se(),F.notify({idProperty:t},null,u)},setFilter:function(t){p=t,e.inlineFilters&&(o=function(){var e=ne(p),t="{ continue _coreloop; }$1",n="{ _retval[_idx++] = $item$; continue _coreloop; }$1",r=e.body.replace(/return false\s*([;}]|\}|$)/gi,t).replace(/return!1([;}]|\}|$)/gi,t).replace(/return true\s*([;}]|\}|$)/gi,n).replace(/return!0([;}]|\}|$)/gi,n).replace(/return ([^;}]+?)\s*([;}]|$)/gi,"{ if ($1) { _retval[_idx++] = $item$; }; continue _coreloop; }$2"),o=["var _retval = [], _idx = 0; ","var $item$, $args$ = _args; ","_coreloop: ","for (var _i = 0, _il = _items.length; _i < _il; _i++) { ","$item$ = _items[_i]; ","$filter$; ","} ","return _retval; "].join("");o=(o=(o=o.replace(/\$filter\$/gi,r)).replace(/\$item\$/gi,e.params[0])).replace(/\$args\$/gi,e.params[1]);var i=new Function("_items,_args",o),l="compiledFilter";return i.displayName=l,i.name=oe(i,l),i}(),a=function(){var e=ne(p),t="{ continue _coreloop; }$1",n="{ _cache[_i] = true;_retval[_idx++] = $item$; continue _coreloop; }$1",r=e.body.replace(/return false\s*([;}]|\}|$)/gi,t).replace(/return!1([;}]|\}|$)/gi,t).replace(/return true\s*([;}]|\}|$)/gi,n).replace(/return!0([;}]|\}|$)/gi,n).replace(/return ([^;}]+?)\s*([;}]|$)/gi,"{ if ((_cache[_i] = $1)) { _retval[_idx++] = $item$; }; continue _coreloop; }$2"),o=["var _retval = [], _idx = 0; ","var $item$, $args$ = _args; ","_coreloop: ","for (var _i = 0, _il = _items.length; _i < _il; _i++) { ","$item$ = _items[_i]; ","if (_cache[_i]) { ","_retval[_idx++] = $item$; ","continue _coreloop; ","} ","$filter$; ","} ","return _retval; "].join("");o=(o=(o=o.replace(/\$filter\$/gi,r)).replace(/\$item\$/gi,e.params[0])).replace(/\$args\$/gi,e.params[1]);var i=new Function("_items,_args,_cache",o),l="compiledFilterWithCaching";return i.displayName=l,i.name=oe(i,l),i}()),se()},getFilter:function(){return p},getFilteredItems:function(){return y},sort:B,fastSort:z,reSort:function(){n?B(n,v):t&&z(t,v)},setGrouping:V,getGrouping:function(){return I},groupBy:function(e,t,n){V(null!=e?{getter:e,formatter:t,comparer:n}:[])},setAggregators:function(e,t){if(!I.length)throw new Error("At least one grouping must be specified before calling setAggregators().");I[0].aggregators=e,I[0].aggregateCollapsed=t,V(I)},collapseAllGroups:function(e){J(e,!0)},expandAllGroups:function(e){J(e,!1)},collapseGroup:function(e){var t,n,r=Array.prototype.slice.call(arguments),o=r[0];1===r.length&&-1!==o.indexOf(E)?(t=o,n=o.split(E).length-1):(t=r.join(E),n=r.length-1),Q(n,t,!0),D.notify({level:n,groupingKey:t})},expandGroup:function(e){var t,n,r=Array.prototype.slice.call(arguments),o=r[0];1===r.length&&-1!==o.indexOf(E)?(n=o.split(E).length-1,t=o):(n=r.length-1,t=r.join(E)),Q(n,t,!1),P.notify({level:n,groupingKey:t})},getGroups:function(){return R},getIdxById:function(e){return f[e]},getRowByItem:function(e){return q(),h[e[s]]},getRowById:function(e){return q(),h[e]},getItemById:U,getItemByIdx:function(e){return g[e]},mapItemsToRows:function(e){var t=[];q();for(var n=0,r=e.length;n<r;n++){var o=h[e[n][s]];null!=o&&(t[t.length]=o)}return t},mapRowsToIds:function(e){for(var t=[],n=0,r=e.length;n<r;n++)e[n]<c.length&&(t[t.length]=c[e[n]][s]);return t},mapIdsToRows:function(e){var t=[];q();for(var n=0,r=e.length;n<r;n++){var o=h[e[n]];null!=o&&(t[t.length]=o)}return t},setRefreshHints:function(e){_=e},setFilterArgs:function(e){r=e},refresh:se,updateItem:L,insertItem:k,addItem:function(e){g.push(e),K(g.length-1),se()},deleteItem:H,sortedAddItem:W,sortedUpdateItem:function(e,t){if(void 0===f[e]||e!==t[s])throw new Error("Invalid or non-matching id "+f[e]);if(!n)throw new Error("sortedUpdateItem() requires a sort comparer, use sort()");var r=U(e);0!==n(r,t)?(H(e),W(t)):L(e,t)},syncGridSelection:function(e,t,n){var r,o=this,a=o.mapRowsToIds(e.getSelectedRows()),u=new l.Event;function s(t){a.join(",")!=t.join(",")&&(a=t,u.notify({grid:e,ids:a,dataView:o},new l.EventData,o))}return e.onSelectedRowsChanged.subscribe((function(t,l){if(!r){var u=o.mapRowsToIds(e.getSelectedRows());if(n&&e.getOptions().multiSelect)s(i.grep(a,(function(e){return void 0===o.getRowById(e)})).concat(u));else s(u)}})),this.onRowsOrCountChanged.subscribe((function(){if(a.length>0){r=!0;var n=o.mapIdsToRows(a);t||s(o.mapRowsToIds(n)),e.setSelectedRows(n),r=!1}})),u},syncGridCellCssStyles:function(e,t){var n,r;function o(e){for(var t in n={},e){var r=c[t][s];n[r]=e[t]}}function i(){if(n){r=!0,q();var o={};for(var i in n){var l=h[i];null!=l&&(o[l]=n[i])}e.setCellCssStyles(t,o),r=!1}}o(e.getCellCssStyles(t)),e.onCellCssStylesChanged.subscribe((function(n,l){r||t==l.key&&(l.hash?o(l.hash):(e.onCellCssStylesChanged.unsubscribe(),u.onRowsOrCountChanged.unsubscribe(i)))})),this.onRowsOrCountChanged.subscribe(i)},getLength:function(){return c.length},getItem:function(e){var t=c[e];if(t&&t.__group&&t.totals&&!t.totals.initialized){var n=I[t.level];n.displayTotalsRow||(Y(t.totals),t.title=n.formatter?n.formatter(t):t.value)}else t&&t.__groupTotals&&!t.initialized&&Y(t);return t},getItemMetadata:function(t){var n=c[t];return void 0===n?null:n.__group?e.groupItemMetadataProvider.getGroupRowMetadata(n):n.__groupTotals?e.groupItemMetadataProvider.getTotalsRowMetadata(n):null},onSetItemsCalled:F,onRowCountChanged:A,onRowsChanged:N,onRowsOrCountChanged:G,onBeforePagingInfoChanged:T,onPagingInfoChanged:O,onGroupExpanded:P,onGroupCollapsed:D})},Aggregators:a,Data:{Aggregators:a}}},n 484: function _(e,t,i,n,o){var l=e(474),a=e(476);function s(e){var t,i;function n(){var t=e.column.editorFixedDecimalPlaces;return void 0===t&&(t=s.DefaultDecimalPlaces),t||0===t?t:null}this.init=function(){var i=e.grid.getOptions().editorCellNavOnLRKeys;t=l("<INPUT type=text class=’editor-text’ />").appendTo(e.container).on("keydown.nav",i?u:c).focus().select()},this.destroy=function(){t.remove()},this.focus=function(){t.focus()},this.loadValue=function(o){i=o[e.column.field];var l=n();null!==l&&(i||0===i)&&i.toFixed&&(i=i.toFixed(l)),t.val(i),t[0].defaultValue=i,t.select()},this.serializeValue=function(){var e=parseFloat(t.val());s.AllowEmptyValue?e||0===e||(e=""):e=e||0;var i=n();return null!==i&&(e||0===e)&&e.toFixed&&(e=parseFloat(e.toFixed(i))),e},this.applyValue=function(t,i){t[e.column.field]=i},this.isValueChanged=function(){return!(""===t.val()&&null==i)&&t.val()!=i},this.validate=function(){if(isNaN(t.val()))return{valid:!1,msg:"Please enter a valid number"};if(e.column.validator){var i=e.column.validator(t.val());if(!i.valid)return i}return{valid:!0,msg:null}},this.init()}function u(e){var t=this.selectionStart,i=this.value.length;(e.keyCode===a.keyCode.LEFT&&t>0||e.keyCode===a.keyCode.RIGHT&&t<i-1)&&e.stopImmediatePropagation()}function c(e){e.keyCode!==a.keyCode.LEFT&&e.keyCode!==a.keyCode.RIGHT||e.stopImmediatePropagation()}s.DefaultDecimalPlaces=null,s.AllowEmptyValue=!1,t.exports={Editors:{Text:function(e){var t,i;this.init=function(){var i=e.grid.getOptions().editorCellNavOnLRKeys;t=l("<INPUT type=text class=’editor-text’ />").appendTo(e.container).on("keydown.nav",i?u:c).focus().select()},this.destroy=function(){t.remove()},this.focus=function(){t.focus()},this.getValue=function(){return t.val()},this.setValue=function(e){t.val(e)},this.loadValue=function(n){i=n[e.column.field]||"",t.val(i),t[0].defaultValue=i,t.select()},this.serializeValue=function(){return t.val()},this.applyValue=function(t,i){t[e.column.field]=i},this.isValueChanged=function(){return!(""===t.val()&&null==i)&&t.val()!=i},this.validate=function(){if(e.column.validator){var i=e.column.validator(t.val());if(!i.valid)return i}return{valid:!0,msg:null}},this.init()},Integer:function(e){var t,i;this.init=function(){var i=e.grid.getOptions().editorCellNavOnLRKeys;t=l("<INPUT type=text class=’editor-text’ />").appendTo(e.container).on("keydown.nav",i?u:c).focus().select()},this.destroy=function(){t.remove()},this.focus=function(){t.focus()},this.loadValue=function(n){i=n[e.column.field],t.val(i),t[0].defaultValue=i,t.select()},this.serializeValue=function(){return parseInt(t.val(),10)||0},this.applyValue=function(t,i){t[e.column.field]=i},this.isValueChanged=function(){return!(""===t.val()&&null==i)&&t.val()!=i},this.validate=function(){if(isNaN(t.val()))return{valid:!1,msg:"Please enter a valid integer"};if(e.column.validator){var i=e.column.validator(t.val());if(!i.valid)return i}return{valid:!0,msg:null}},this.init()},Float:s,Date:function(e){var t,i,n=!1;this.init=function(){(t=l("<INPUT type=text class=’editor-text’ />")).appendTo(e.container),t.focus().select(),t.datepicker({showOn:"button",buttonImageOnly:!0,beforeShow:function(){n=!0},onClose:function(){n=!1}}),t.width(t.width()-18)},this.destroy=function(){l.datepicker.dpDiv.stop(!0,!0),t.datepicker("hide"),t.datepicker("destroy"),t.remove()},this.show=function(){n&&l.datepicker.dpDiv.stop(!0,!0).show()},this.hide=function(){n&&l.datepicker.dpDiv.stop(!0,!0).hide()},this.position=function(e){n&&l.datepicker.dpDiv.css("top",e.top+30).css("left",e.left)},this.focus=function(){t.focus()},this.loadValue=function(n){i=n[e.column.field],t.val(i),t[0].defaultValue=i,t.select()},this.serializeValue=function(){return t.val()},this.applyValue=function(t,i){t[e.column.field]=i},this.isValueChanged=function(){return!(""===t.val()&&null==i)&&t.val()!=i},this.validate=function(){if(e.column.validator){var i=e.column.validator(t.val());if(!i.valid)return i}return{valid:!0,msg:null}},this.init()},YesNoSelect:function(e){var t,i;this.init=function(){(t=l("<SELECT tabIndex=’0’ class=’editor-yesno’><OPTION value=’yes’>Yes</OPTION><OPTION value=’no’>No</OPTION></SELECT>")).appendTo(e.container),t.focus()},this.destroy=function(){t.remove()},this.focus=function(){t.focus()},this.loadValue=function(n){t.val((i=n[e.column.field])?"yes":"no"),t.select()},this.serializeValue=function(){return"yes"==t.val()},this.applyValue=function(t,i){t[e.column.field]=i},this.isValueChanged=function(){return t.val()!=i},this.validate=function(){return{valid:!0,msg:null}},this.init()},Checkbox:function(e){var t,i;this.init=function(){(t=l("<INPUT type=checkbox value=’true’ class=’editor-checkbox’ hideFocus>")).appendTo(e.container),t.focus()},this.destroy=function(){t.remove()},this.focus=function(){t.focus()},this.loadValue=function(n){(i=!!n[e.column.field])?t.prop("checked",!0):t.prop("checked",!1)},this.preClick=function(){t.prop("checked",!t.prop("checked"))},this.serializeValue=function(){return t.prop("checked")},this.applyValue=function(t,i){t[e.column.field]=i},this.isValueChanged=function(){return this.serializeValue()!==i},this.validate=function(){return{valid:!0,msg:null}},this.init()},PercentComplete:function(e){var t,i,n;this.init=function(){(t=l("<INPUT type=text class=’editor-percentcomplete’ />")).width(l(e.container).innerWidth()-25),t.appendTo(e.container),(i=l("<div class=’editor-percentcomplete-picker’ />").appendTo(e.container)).append("<div class=’editor-percentcomplete-helper’><div class=’editor-percentcomplete-wrapper’><div class=’editor-percentcomplete-slider’ /><div class=’editor-percentcomplete-buttons’ /></div></div>"),i.find(".editor-percentcomplete-buttons").append("<button val=0>Not started</button><br/><button val=50>In Progress</button><br/><button val=100>Complete</button>"),t.focus().select(),i.find(".editor-percentcomplete-slider").slider({orientation:"vertical",range:"min",value:n,slide:function(e,i){t.val(i.value)}}),i.find(".editor-percentcomplete-buttons button").on("click",(function(e){t.val(l(this).attr("val")),i.find(".editor-percentcomplete-slider").slider("value",l(this).attr("val"))}))},this.destroy=function(){t.remove(),i.remove()},this.focus=function(){t.focus()},this.loadValue=function(i){t.val(n=i[e.column.field]),t.select()},this.serializeValue=function(){return parseInt(t.val(),10)||0},this.applyValue=function(t,i){t[e.column.field]=i},this.isValueChanged=function(){return!(""===t.val()&&null==n)&&(parseInt(t.val(),10)||0)!=n},this.validate=function(){return isNaN(parseInt(t.val(),10))?{valid:!1,msg:"Please enter a valid positive number"}:{valid:!0,msg:null}},this.init()},LongText:function(e){var t,i,n,o=this;this.init=function(){var n=l("body");e.grid.getOptions().editorCellNavOnLRKeys;i=l("<DIV style=’z-index:10000;position:absolute;background:white;padding:5px;border:3px solid gray; -moz-border-radius:10px; border-radius:10px;’/>").appendTo(n),t=l("<TEXTAREA hidefocus rows=5 style=’background:white;width:250px;height:80px;border:0;outline:0’>").appendTo(i),l("<DIV style=’text-align:right’><BUTTON>Save</BUTTON><BUTTON>Cancel</BUTTON></DIV>").appendTo(i),i.find("button:first").on("click",this.save),i.find("button:last").on("click",this.cancel),t.on("keydown",this.handleKeyDown),o.position(e.position),t.focus().select()},this.handleKeyDown=function(t){if(t.which==a.keyCode.ENTER&&t.ctrlKey)o.save();else if(t.which==a.keyCode.ESCAPE)t.preventDefault(),o.cancel();else if(t.which==a.keyCode.TAB&&t.shiftKey)t.preventDefault(),e.grid.navigatePrev();else if(t.which==a.keyCode.TAB)t.preventDefault(),e.grid.navigateNext();else if((t.which==a.keyCode.LEFT||t.which==a.keyCode.RIGHT)&&e.grid.getOptions().editorCellNavOnLRKeys){var i=this.selectionStart,n=this.value.length;t.keyCode===a.keyCode.LEFT&&0===i&&e.grid.navigatePrev(),t.keyCode===a.keyCode.RIGHT&&i>=n-1&&e.grid.navigateNext()}},this.save=function(){e.commitChanges()},this.cancel=function(){t.val(n),e.cancelChanges()},this.hide=function(){i.hide()},this.show=function(){i.show()},this.position=function(e){i.css("top",e.top-5).css("left",e.left-5)},this.destroy=function(){i.remove()},this.focus=function(){t.focus()},this.loadValue=function(i){t.val(n=i[e.column.field]),t.select()},this.serializeValue=function(){return t.val()},this.applyValue=function(t,i){t[e.column.field]=i},this.isValueChanged=function(){return!(""===t.val()&&null==n)&&t.val()!=n},this.validate=function(){if(e.column.validator){var i=e.column.validator(t.val());if(!i.valid)return i}return{valid:!0,msg:null}},this.init()}}}},n 485: function _(e,n,r,t,c){e(476);n.exports={Formatters:{PercentComplete:function(e,n,r,t,c){return null==r||""===r?"-":r<50?"<span style=’color:red;font-weight:bold;’>"+r+"%</span>":"<span style=’color:green’>"+r+"%</span>"},PercentCompleteBar:function(e,n,r,t,c){return null==r||""===r?"":"<span class=’percent-complete-bar’ style=’background:"+(r<30?"red":r<70?"silver":"green")+";width:"+r+"%’></span>"},YesNo:function(e,n,r,t,c){return r?"Yes":"No"},Checkmark:function(e,n,r,t,c){return r?"<img src=’../images/tick.png’>":""},Checkbox:function(e,n,r,t,c){return’<img class="slick-edit-preclick" src="../images/’+(r?"CheckboxY":"CheckboxN")+’.png">’}}}},n 486: function _(t,o,r,e,n){var a=t(474),l=t(476);o.exports={RemoteModel:function(){var t=50,o={length:0},r="",e=null,n=1,i=null,s=null,u=new l.Event,f=new l.Event;function c(){for(var t in o)delete o[t];o.length=0}function h(l,c){if(s){s.abort();for(var h=s.fromPage;h<=s.toPage;h++)o[h*t]=void 0}l<0&&(l=0),o.length>0&&(c=Math.min(c,o.length-1));for(var v=Math.floor(l/t),m=Math.floor(c/t);void 0!==o[v*t]&&v<m;)v++;for(;void 0!==o[m*t]&&v<m;)m–;if(v>m||v==m&&void 0!==o[v*t])f.notify({from:l,to:c});else{var g="http://octopart.com/api/v3/parts/search?apikey=68b25f31&include[]=short_description&show[]=uid&show[]=manufacturer&show[]=mpn&show[]=brand&show[]=octopart_url&show[]=short_description&q="+r+"&start="+v*t+"&limit="+((m-v)*t+t);null!=e&&(g+="&sortby="+e+(n>0?"+asc":"+desc")),null!=i&&clearTimeout(i),i=setTimeout((function(){for(var r=v;r<=m;r++)o[r*t]=null;u.notify({from:l,to:c}),(s=a.jsonp({url:g,callbackParameter:"callback",cache:!0,success:d,error:function(){!function(t,o){alert("error loading pages "+t+" to "+o)}(v,m)}})).fromPage=v,s.toPage=m}),50)}}function d(t){var r=t.request.start,e=r+t.results.length;o.length=Math.min(parseInt(t.hits),1e3);for(var n=0;n<t.results.length;n++){var a=t.results[n].item;o[r+n]=a,o[r+n].index=r+n}s=null,f.notify({from:r,to:e})}return{data:o,clear:c,isDataLoaded:function(t,r){for(var e=t;e<=r;e++)if(null==o[e]||null==o[e])return!1;return!0},ensureData:h,reloadData:function(t,r){for(var e=t;e<=r;e++)delete o[e];h(t,r)},setSort:function(t,o){e=t,n=o,c()},setSearch:function(t){r=t,c()},onDataLoading:u,onDataLoaded:f}}}},n 487: function _(e,s,t,o,l){var a=e(474),r=e(476);s.exports={GroupItemMetadataProvider:function(e){var s,t={checkboxSelect:!1,checkboxSelectCssClass:"slick-group-select-checkbox",checkboxSelectPlugin:null,groupCssClass:"slick-group",groupTitleCssClass:"slick-group-title",totalsCssClass:"slick-group-totals",groupFocusable:!0,totalsFocusable:!1,toggleCssClass:"slick-group-toggle",toggleExpandedCssClass:"expanded",toggleCollapsedCssClass:"collapsed",enableExpandCollapse:!0,groupFormatter:function(e,s,t,l,a,r){if(!o.enableExpandCollapse)return a.title;var c=15*a.level+"px";return(o.checkboxSelect?’<span class="’+o.checkboxSelectCssClass+" "+(a.selectChecked?"checked":"unchecked")+’"></span>’:"")+"<span class=’"+o.toggleCssClass+" "+(a.collapsed?o.toggleCollapsedCssClass:o.toggleExpandedCssClass)+"’ style=’margin-left:"+c+"’></span><span class=’"+o.groupTitleCssClass+"’ level=’"+a.level+"’>"+a.title+"</span>"},totalsFormatter:function(e,s,t,o,l,a){return o.groupTotalsFormatter&&o.groupTotalsFormatter(l,o,a)||""},includeHeaderTotals:!1},o=a.extend(!0,{},t,e);function l(e,t){var l=a(e.target),c=this.getDataItem(t.row);if(c&&c instanceof r.Group&&l.hasClass(o.toggleCssClass)){var n=s.getRenderedRange();this.getData().setRefreshHints({ignoreDiffsBefore:n.top,ignoreDiffsAfter:n.bottom+1}),c.collapsed?this.getData().expandGroup(c.groupingKey):this.getData().collapseGroup(c.groupingKey),e.stopImmediatePropagation(),e.preventDefault()}if(c&&c instanceof r.Group&&l.hasClass(o.checkboxSelectCssClass)){c.selectChecked=!c.selectChecked,l.removeClass(c.selectChecked?"unchecked":"checked"),l.addClass(c.selectChecked?"checked":"unchecked");var i=s.getData().mapItemsToRows(c.rows);(c.selectChecked?o.checkboxSelectPlugin.selectRows:o.checkboxSelectPlugin.deSelectRows)(i)}}function c(e,t){if(o.enableExpandCollapse&&e.which==r.keyCode.SPACE){var l=this.getActiveCell();if(l){var a=this.getDataItem(l.row);if(a&&a instanceof r.Group){var c=s.getRenderedRange();this.getData().setRefreshHints({ignoreDiffsBefore:c.top,ignoreDiffsAfter:c.bottom+1}),a.collapsed?this.getData().expandGroup(a.groupingKey):this.getData().collapseGroup(a.groupingKey),e.stopImmediatePropagation(),e.preventDefault()}}}}return{init:function(e){(s=e).onClick.subscribe(l),s.onKeyDown.subscribe(c)},destroy:function(){s&&(s.onClick.unsubscribe(l),s.onKeyDown.unsubscribe(c))},getGroupRowMetadata:function(e){var s=e&&e.level;return{selectable:!1,focusable:o.groupFocusable,cssClasses:o.groupCssClass+" slick-group-level-"+s,formatter:o.includeHeaderTotals&&o.totalsFormatter,columns:{0:{colspan:o.includeHeaderTotals?"1":"",formatter:o.groupFormatter,editor:null}}}},getTotalsRowMetadata:function(e){var s=e&&e.group&&e.group.level;return{selectable:!1,focusable:o.totalsFocusable,cssClasses:o.totalsCssClass+" slick-group-level-"+s,formatter:o.totalsFormatter,editor:null}},getOptions:function(){return o},setOptions:function(e){a.extend(!0,o,e)}}}}},n 488: function _(i,t,e,o,n){o();const s=i(322),r=i(20);class d extends s.HTMLBoxView{_width_policy(){return"horizontal"==this.model.orientation?super._width_policy():"fixed"}_height_policy(){return"horizontal"==this.model.orientation?"fixed":super._height_policy()}box_sizing(){const i=super.box_sizing();return"horizontal"==this.model.orientation?null==i.width&&(i.width=this.model.default_size):null==i.height&&(i.height=this.model.default_size),i}}e.WidgetView=d,d.__name__="WidgetView";class _ extends s.HTMLBox{constructor(i){super(i)}static init_Widget(){this.define((({Number:i})=>({orientation:[r.Orientation,"horizontal"],default_size:[i,300]}))),this.override({margin:[5,5,5,5]})}}e.Widget=_,_.__name__="Widget",_.init_Widget()},n 489: function _(e,i,t,s,n){s();const c=e(488),u=e(130),a=e(120);class o extends c.Widget{constructor(e){super(e)}static init_TableWidget(){this.define((({Ref:e})=>({source:[e(u.ColumnDataSource),()=>new u.ColumnDataSource],view:[e(a.CDSView),()=>new a.CDSView]})))}initialize(){super.initialize(),null==this.view.source&&(this.view.source=this.source,this.view.compute_indices())}}t.TableWidget=o,o.__name__="TableWidget",o.init_TableWidget()},n 490: function _(t,e,i,r,o){r();const l=t(469),n=t(466),d=t(34),a=t(20),s=t(53);class u extends s.Model{constructor(t){super(t)}static init_TableColumn(){this.define((({Boolean:t,Number:e,String:i,Nullable:r,Ref:o})=>({field:[i],title:[r(i),null],width:[e,300],formatter:[o(l.StringFormatter),()=>new l.StringFormatter],editor:[o(n.StringEditor),()=>new n.StringEditor],sortable:[t,!0],default_sort:[a.Sort,"ascending"]})))}toColumn(){var t;return{id:d.uniqueId(),field:this.field,name:null!==(t=this.title)&&void 0!==t?t:this.field,width:this.width,formatter:null!=this.formatter?this.formatter.doFormat.bind(this.formatter):void 0,model:this.editor,editor:this.editor.default_view,sortable:this.sortable,defaultSortAsc:"ascending"==this.default_sort}}}i.TableColumn=u,u.__name__="TableColumn",u.init_TableColumn()},n 491: function _(A,o,e,r,i){r(),e.root="bk-root",e.default=’.bk-root{}.bk-root .slick-header.ui-state-default,.bk-root .slick-headerrow.ui-state-default,.bk-root .slick-footerrow.ui-state-default,.bk-root .slick-top-panel-scroller.ui-state-default,.bk-root .slick-group-header.ui-state-default{width:100%;overflow:auto;position:relative;border-left:0px !important;}.bk-root .slick-header.ui-state-default{overflow:inherit;}.bk-root .slick-header::-webkit-scrollbar,.bk-root .slick-headerrow::-webkit-scrollbar,.bk-root .slick-footerrow::-webkit-scrollbar{display:none;}.bk-root .slick-header-columns,.bk-root .slick-headerrow-columns,.bk-root .slick-footerrow-columns,.bk-root .slick-group-header-columns{position:relative;white-space:nowrap;cursor:default;overflow:hidden;}.bk-root .slick-header-column.ui-state-default,.bk-root .slick-group-header-column.ui-state-default{position:relative;display:inline-block;box-sizing:content-box !important;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;height:16px;line-height:16px;margin:0;padding:4px;border-right:1px solid silver;border-left:0px !important;border-top:0px !important;border-bottom:0px !important;float:left;}.bk-root .slick-footerrow-column.ui-state-default{-o-text-overflow:ellipsis;text-overflow:ellipsis;margin:0;padding:4px;border-right:1px solid silver;border-left:0px;border-top:0px;border-bottom:0px;float:left;line-height:20px;vertical-align:middle;}.bk-root .slick-headerrow-column.ui-state-default,.bk-root .slick-footerrow-column.ui-state-default{padding:4px;}.bk-root .slick-header-column-sorted{font-style:italic;}.bk-root .slick-sort-indicator{display:inline-block;width:8px;height:5px;margin-left:4px;margin-top:6px;float:left;}.bk-root .slick-sort-indicator-numbered{display:inline-block;width:8px;height:5px;margin-left:4px;margin-top:0;line-height:20px;float:left;font-family:Arial;font-style:normal;font-weight:bold;color:#6190CD;}.bk-root .slick-sort-indicator-desc{background:url(images/sort-desc.gif);}.bk-root .slick-sort-indicator-asc{background:url(images/sort-asc.gif);}.bk-root .slick-resizable-handle{position:absolute;font-size:0.1px;display:block;cursor:col-resize;width:9px;right:-5px;top:0;height:100%;z-index:1;}.bk-root .slick-sortable-placeholder{background:silver;}.bk-root .grid-canvas{position:relative;outline:0;}.bk-root .slick-row.ui-widget-content,.bk-root .slick-row.ui-state-active{position:absolute;border:0px;width:100%;}.bk-root .slick-cell,.bk-root .slick-headerrow-column,.bk-root .slick-footerrow-column{position:absolute;border:1px solid transparent;border-right:1px dotted silver;border-bottom-color:silver;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;vertical-align:middle;z-index:1;padding:1px 2px 2px 1px;margin:0;white-space:nowrap;cursor:default;}.bk-root .slick-cell,.bk-root .slick-headerrow-column{border-bottom-color:silver;}.bk-root .slick-footerrow-column{border-top-color:silver;}.bk-root .slick-group-toggle{display:inline-block;}.bk-root .slick-cell.highlighted{background:lightskyblue;background:rgba(0, 0, 255, 0.2);-webkit-transition:all 0.5s;-moz-transition:all 0.5s;-o-transition:all 0.5s;transition:all 0.5s;}.bk-root .slick-cell.flashing{border:1px solid red !important;}.bk-root .slick-cell.editable{z-index:11;overflow:visible;background:white;border-color:black;border-style:solid;}.bk-root .slick-cell:focus{outline:none;}.bk-root .slick-reorder-proxy{display:inline-block;background:blue;opacity:0.15;cursor:move;}.bk-root .slick-reorder-guide{display:inline-block;height:2px;background:blue;opacity:0.7;}.bk-root .slick-selection{z-index:10;position:absolute;border:2px dashed black;}.bk-root .slick-pane{position:absolute;outline:0;overflow:hidden;width:100%;}.bk-root .slick-pane-header{display:block;}.bk-root .slick-header{overflow:hidden;position:relative;}.bk-root .slick-headerrow{overflow:hidden;position:relative;}.bk-root .slick-top-panel-scroller{overflow:hidden;position:relative;}.bk-root .slick-top-panel{width:10000px;}.bk-root .slick-viewport{position:relative;outline:0;width:100%;}.bk-root .slick-header-columns{background:url(\’images/header-columns-bg.gif\’) repeat-x center bottom;border-bottom:1px solid silver;}.bk-root .slick-header-column{background:url(\’images/header-columns-bg.gif\’) repeat-x center bottom;border-right:1px solid silver;}.bk-root .slick-header-column:hover,.bk-root .slick-header-column-active{background:white url(\’images/header-columns-over-bg.gif\’) repeat-x center bottom;}.bk-root .slick-headerrow{background:#fafafa;}.bk-root .slick-headerrow-column{background:#fafafa;border-bottom:0;height:100%;}.bk-root .slick-row.ui-state-active{background:#F5F7D7;}.bk-root .slick-row{position:absolute;background:white;border:0px;line-height:20px;}.bk-root .slick-row.selected{z-index:10;background:#DFE8F6;}.bk-root .slick-cell{padding-left:4px;padding-right:4px;}.bk-root .slick-group{border-bottom:2px solid silver;}.bk-root .slick-group-toggle{width:9px;height:9px;margin-right:5px;}.bk-root .slick-group-toggle.expanded{background:url(images/collapse.gif) no-repeat center center;}.bk-root .slick-group-toggle.collapsed{background:url(images/expand.gif) no-repeat center center;}.bk-root .slick-group-totals{color:gray;background:white;}.bk-root .slick-group-select-checkbox{width:13px;height:13px;margin:3px 10px 0 0;display:inline-block;}.bk-root .slick-group-select-checkbox.checked{background:url(images/GrpCheckboxY.png) no-repeat center center;}.bk-root .slick-group-select-checkbox.unchecked{background:url(images/GrpCheckboxN.png) no-repeat center center;}.bk-root .slick-cell.selected{background-color:beige;}.bk-root .slick-cell.active{border-color:gray;border-style:solid;}.bk-root .slick-sortable-placeholder{background:silver !important;}.bk-root .slick-row.odd{background:#fafafa;}.bk-root .slick-row.ui-state-active{background:#F5F7D7;}.bk-root .slick-row.loading{opacity:0.5;}.bk-root .slick-cell.invalid{border-color:red;-moz-animation-duration:0.2s;-webkit-animation-duration:0.2s;-moz-animation-name:slickgrid-invalid-hilite;-webkit-animation-name:slickgrid-invalid-hilite;}@-moz-keyframes slickgrid-invalid-hilite{from{box-shadow:0 0 6px red;}to{box-shadow:none;}}@-webkit-keyframes slickgrid-invalid-hilite{from{box-shadow:0 0 6px red;}to{box-shadow:none;}}.bk-root .slick-column-name,.bk-root .slick-sort-indicator{display:inline-block;float:left;margin-bottom:100px;}.bk-root .slick-header-button{display:inline-block;float:right;vertical-align:top;margin:1px;margin-bottom:100px;height:15px;width:15px;background-repeat:no-repeat;background-position:center center;cursor:pointer;}.bk-root .slick-header-button-hidden{width:0;-webkit-transition:0.2s width;-ms-transition:0.2s width;transition:0.2s width;}.bk-root .slick-header-column:hover > .slick-header-button{width:15px;}.bk-root .slick-header-menubutton{position:absolute;right:0;top:0;bottom:0;width:14px;background-repeat:no-repeat;background-position:left center;background-image:url(../images/down.gif);cursor:pointer;display:none;border-left:thin ridge silver;}.bk-root .slick-header-column:hover > .slick-header-menubutton,.bk-root .slick-header-column-active .slick-header-menubutton{display:inline-block;}.bk-root .slick-header-menu{position:absolute;display:inline-block;margin:0;padding:2px;cursor:default;}.bk-root .slick-header-menuitem{list-style:none;margin:0;padding:0;cursor:pointer;}.bk-root .slick-header-menuicon{display:inline-block;width:16px;height:16px;vertical-align:middle;margin-right:4px;background-repeat:no-repeat;background-position:center center;}.bk-root .slick-header-menucontent{display:inline-block;vertical-align:middle;}.bk-root .slick-header-menuitem-disabled{color:silver;}.bk-root .slick-header-menuitem.slick-header-menuitem-divider{cursor:default;border:none;overflow:hidden;padding:0;height:1px;margin:8px 2px;background-color:#cecece;}.bk-root .slick-header-menuitem-divider.slick-header-menuitem:hover{background-color:#cecece;}.bk-root .slick-columnpicker{border:1px solid #718BB7;background:#f0f0f0;padding:6px;-moz-box-shadow:2px 2px 2px silver;-webkit-box-shadow:2px 2px 2px silver;box-shadow:2px 2px 2px silver;min-width:150px;cursor:default;position:absolute;z-index:20;overflow:auto;resize:both;}.bk-root .slick-columnpicker > .close{float:right;}.bk-root .slick-columnpicker .title{font-size:16px;width:60%;border-bottom:solid 1px #d6d6d6;margin-bottom:10px;}.bk-root .slick-columnpicker li{list-style:none;margin:0;padding:0;background:none;}.bk-root .slick-columnpicker input{margin:4px;}.bk-root .slick-columnpicker li a{display:block;padding:4px;font-weight:bold;}.bk-root .slick-columnpicker li a:hover{background:white;}.bk-root .slick-columnpicker-list li.hidden{display:none;}.bk-root .slick-pager{width:100%;height:26px;border:1px solid gray;border-top:0;background:url(\’../images/header-columns-bg.gif\’) repeat-x center bottom;vertical-align:middle;}.bk-root .slick-pager .slick-pager-status{display:inline-block;padding:6px;}.bk-root .slick-pager .ui-icon-container{display:inline-block;margin:2px;border-color:gray;}.bk-root .slick-pager .slick-pager-nav{display:inline-block;float:left;padding:2px;}.bk-root .slick-pager .slick-pager-settings{display:block;float:right;padding:2px;}.bk-root .slick-pager .slick-pager-settings *{vertical-align:middle;}.bk-root .slick-pager .slick-pager-settings a{padding:2px;text-decoration:underline;cursor:pointer;}.bk-root .slick-header-columns{border-bottom:1px solid silver;background-image:none;}.bk-root .slick-header-column{border-right:1px solid transparent;background-image:none;}.bk-root .slick-header-column:last-of-type{border-right-color:transparent;}.bk-root .slick-header-column:hover,.bk-root .slick-header-column-active{background-color:#F0F8FF;background-image:none;}.bk-root .slick-group-toggle.expanded{background-image:url("data:image/gif;base64,R0lGODlhCQAJAPcAAAFGeoCAgNXz/+v5/+v6/+z5/+36//L7//X8//j9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAACQAJAAAIMwADCBxIUIDBgwIEChgwwECBAgQUFjBAkaJCABgxGlB4AGHCAAIQiBypEEECkScJqgwQEAA7");}.bk-root .slick-group-toggle.collapsed{background-image:url("data:image/gif;base64,R0lGODlhCQAJAPcAAAFGeoCAgNXz/+v5/+v6/+z5/+36//L7//X8//j9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAACQAJAAAIOAADCBxIUIDBgwIEChgwAECBAgQUFjAAQIABAwoBaNSIMYCAAwIqGlSIAEHFkiQTIBCgkqDLAAEBADs=");}.bk-root .slick-group-select-checkbox.checked{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xNkRpr/UAAAEcSURBVChTjdI9S8NQFAbg/raQXVwCRRFE7GK7OXTwD+ikk066VF3a0ja0hQTyQdJrwNq0zrYSQRLEXMSWSlCIb8glqRcFD+9yz3nugXwU4n9XQqMoGjj36uBJsTwuaNo3EwBG4Yy7pe7Gv8YcvhJCGFVsjxsjxujj6OTSGlHv+U2WZUZbPWKOv1ZjT5a7pbIoiptbO5b73mwrjHa1B27l8VlTEIS1damlTnEE+EEN9/P8WrfH81qdAIGeXvTTmzltdCy46sEhxpKUINReZR9NnqZbr9puugxV3NjWh/k74WmmEdWhmUNy2jNmWRc6fZTVADCqao52u+DGWTACYNT3fRxwtatPufTNR4yCIGAUn5hS+vJHhWGY/ANx/A3tvdv+1tZmuwAAAABJRU5ErkJggg==");}.bk-root .slick-group-select-checkbox.unchecked{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xNkRpr/UAAACXSURBVChT1dIxC4MwEAXg/v8/VOhQVDBNakV0KA6pxS4JhWRSIYPEJxwdDi1de7wleR+3JIf486w0hKCKRpSvvOhZcCmvNQBRuKqdah03U7UjNNH81rOaBYDo8SQaPX8JANFEaLaGBeAPaaY61rGksiN6TmR5H1j9CSoAosYYHLA7vTxYMvVEZa0liif23r93xjm3/oEYF8PiDn/I2FHCAAAAAElFTkSuQmCC");}.bk-root .slick-sort-indicator-desc{background-image:url("data:image/gif;base64,R0lGODlhDQAFAIcAAGGQzUD/QOPu+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAMAAAEALAAAAAANAAUAAAgeAAUAGEgQgIAACBEKLHgwYcKFBh1KFNhQosOKEgMCADs=");}.bk-root .slick-sort-indicator-asc{background-image:url("data:image/gif;base64,R0lGODlhDQAFAIcAAGGQzUD/QOPu+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAMAAAEALAAAAAANAAUAAAgbAAMIDABgoEGDABIeRJhQ4cKGEA8KmEiRosGAADs=");}.bk-root .slick-header-menubutton{background-image:url("data:image/gif;base64,R0lGODlhDgAOAIABADtKYwAAACH5BAEAAAEALAAAAAAOAA4AAAISjI+py+0PHZgUsGobhTn6DxoFADs=");}.bk-root .slick-pager{background-image:none;}’},n 492: function _(t,e,s,r,a){r();const i=t(479),{Avg:g,Min:n,Max:o,Sum:u}=i.Data.Aggregators,c=t(53);class _ extends c.Model{constructor(t){super(t)}static init_RowAggregator(){this.define((({String:t})=>({field_:[t,""]})))}}s.RowAggregator=_,_.__name__="RowAggregator",_.init_RowAggregator();const l=new g;class m extends _{constructor(){super(…arguments),this.key="avg",this.init=l.init,this.accumulate=l.accumulate,this.storeResult=l.storeResult}}s.AvgAggregator=m,m.__name__="AvgAggregator";const h=new n;class A extends _{constructor(){super(…arguments),this.key="min",this.init=h.init,this.accumulate=h.accumulate,this.storeResult=h.storeResult}}s.MinAggregator=A,A.__name__="MinAggregator";const R=new o;class x extends _{constructor(){super(…arguments),this.key="max",this.init=R.init,this.accumulate=R.accumulate,this.storeResult=R.storeResult}}s.MaxAggregator=x,x.__name__="MaxAggregator";const d=new u;class w extends _{constructor(){super(…arguments),this.key="sum",this.init=d.init,this.accumulate=d.accumulate,this.storeResult=d.storeResult}}s.SumAggregator=w,w.__name__="SumAggregator"},n 493: function _(t,e,s,o,r){o();const i=t(43),a=t(479),n=t(467),l=t(472),u=t(130),g=t(492),c=t(53);function p(t,e,s,o,r){const{collapsed:a,level:n,title:l}=r,u=i.span({class:"slick-group-toggle "+(a?"collapsed":"expanded"),style:{"margin-left":15*n+"px"}}),g=i.span({class:"slick-group-title",level:n},l);return`${u.outerHTML}${g.outerHTML}`}function h(t,e){const s=this.getDataItem(e.row);s instanceof a.Group&&t.target.classList.contains("slick-group-toggle")&&(s.collapsed?this.getData().expandGroup(s.groupingKey):this.getData().collapseGroup(s.groupingKey),t.stopImmediatePropagation(),t.preventDefault(),this.invalidate(),this.render())}class d extends c.Model{constructor(t){super(t)}static init_GroupingInfo(){this.define((({Boolean:t,String:e,Array:s,Ref:o})=>({getter:[e,""],aggregators:[s(o(g.RowAggregator)),[]],collapsed:[t,!1]})))}get comparer(){return(t,e)=>t.value===e.value?0:t.value>e.value?1:-1}}s.GroupingInfo=d,d.__name__="GroupingInfo",d.init_GroupingInfo();class f extends l.TableDataProvider{constructor(t,e,s,o){super(t,e),this.columns=s,this.groupingInfos=[],this.groupingDelimiter=":|:",this.target=o}setGrouping(t){this.groupingInfos=t,this.toggledGroupsByLevel=t.map((()=>({}))),this.refresh()}extractGroups(t,e){const s=[],o=new Map,r=e?e.level+1:0,{comparer:i,getter:n}=this.groupingInfos[r];return t.forEach((t=>{const i=this.source.data[n][t];let l=o.get(i);if(!l){const t=e?`${e.groupingKey}${this.groupingDelimiter}${i}`:`${i}`;l=Object.assign(new a.Group,{value:i,level:r,groupingKey:t}),s.push(l),o.set(i,l)}l.rows.push(t)})),r<this.groupingInfos.length-1&&s.forEach((t=>{t.groups=this.extractGroups(t.rows,t)})),s.sort(i),s}calculateTotals(t,e){const s={avg:{},max:{},min:{},sum:{}},{source:{data:o}}=this,r=Object.keys(o),i=t.rows.map((t=>r.reduce(((e,s)=>Object.assign(Object.assign({},e),{[s]:o[s][t]})),{})));return e.forEach((t=>{t.init(),i.forEach((e=>t.accumulate(e))),t.storeResult(s)})),s}addTotals(t,e=0){const{aggregators:s,collapsed:o}=this.groupingInfos[e],r=this.toggledGroupsByLevel[e];t.forEach((t=>{t.groups&&this.addTotals(t.groups,e+1),s.length&&t.rows.length&&(t.totals=this.calculateTotals(t,s)),t.collapsed=o!==r[t.groupingKey],t.title=t.value?`${t.value}`:""}))}flattenedGroupedRows(t,e=0){const s=[];return t.forEach((t=>{if(s.push(t),!t.collapsed){const o=t.groups?this.flattenedGroupedRows(t.groups,e+1):t.rows;s.push(…o)}})),s}refresh(){const t=this.extractGroups([…this.view.indices]),e=this.source.data[this.columns[0].field];t.length&&(this.addTotals(t),this.rows=this.flattenedGroupedRows(t),this.target.data={row_indices:this.rows.map((t=>t instanceof a.Group?t.rows:t)),labels:this.rows.map((t=>t instanceof a.Group?t.title:e[t]))})}getLength(){return this.rows.length}getItem(t){const e=this.rows[t],{source:{data:s}}=this;return e instanceof a.Group?e:Object.keys(s).reduce(((t,o)=>Object.assign(Object.assign({},t),{[o]:s[o][e]})),{[n.DTINDEX_NAME]:e})}getItemMetadata(t){const e=this.rows[t],s=this.columns.slice(1),o=e instanceof a.Group?this.groupingInfos[e.level].aggregators:[];return e instanceof a.Group?{selectable:!1,focusable:!1,cssClasses:"slick-group",columns:[{formatter:p},…s.map((function(t){const{field:e,formatter:s}=t,r=o.find((({field_:t})=>t===e));if(r){const{key:t}=r;return{formatter:(o,r,i,a,n)=>s?s(o,r,n.totals[t][e],a,n):""}}return{}}))]}:{}}collapseGroup(t){const e=t.split(this.groupingDelimiter).length-1;this.toggledGroupsByLevel[e][t]=!this.groupingInfos[e].collapsed,this.refresh()}expandGroup(t){const e=t.split(this.groupingDelimiter).length-1;this.toggledGroupsByLevel[e][t]=this.groupingInfos[e].collapsed,this.refresh()}}s.DataCubeProvider=f,f.__name__="DataCubeProvider";class m extends l.DataTableView{render(){const t={enableCellNavigation:!1!==this.model.selectable,enableColumnReorder:!1,autosizeColsMode:this.autosize,multiColumnSort:!1,editable:this.model.editable,autoEdit:this.model.auto_edit,rowHeight:this.model.row_height},e=this.model.columns.map((t=>t.toColumn()));var s,o;e[0].formatter=(s=e[0].formatter,o=this.model.grouping.length,(t,e,r,a,n)=>{const l=i.span({class:"slick-group-toggle",style:{"margin-left":15*(null!=o?o:0)+"px"}}),u=s?s(t,e,r,a,n):`${r}`;return`${l.outerHTML}${u&&u.replace(/^<div/,"<span").replace(/div>$/,"span>")}`}),delete e[0].editor,this.data=new f(this.model.source,this.model.view,e,this.model.target),this.data.setGrouping(this.model.grouping),this.el.style.width=`${this.model.width}px`,this.grid=new a.Grid(this.el,this.data,e,t),this.grid.onClick.subscribe(h)}}s.DataCubeView=m,m.__name__="DataCubeView";class w extends l.DataTable{constructor(t){super(t)}static init_DataCube(){this.prototype.default_view=m,this.define((({Array:t,Ref:e})=>({grouping:[t(e(d)),[]],target:[e(u.ColumnDataSource)]})))}}s.DataCube=w,w.__name__="DataCube",w.init_DataCube()},n }, 464, {"models/widgets/tables/main":464,"models/widgets/tables/index":465,"models/widgets/tables/cell_editors":466,"models/widgets/tables/definitions":467,"styles/widgets/tables.css":468,"models/widgets/tables/cell_formatters":469,"models/widgets/tables/data_table":472,"models/widgets/widget":488,"models/widgets/tables/table_widget":489,"models/widgets/tables/table_column":490,"styles/widgets/slickgrid.css":491,"models/widgets/tables/row_aggregators":492,"models/widgets/tables/data_cube":493}, {});});nn / END bokeh-tables.min.js /n },n n function(Bokeh) {n Bokeh.set_log_level("info");n },n n function(Bokeh) {n / BEGIN panel.min.js /n /!n * Copyright (c) 2012 - 2021, Anaconda, Inc., and Bokeh Contributorsn * 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 documentationn * and/or other materials provided with the distribution.n * n * Neither the name of Anaconda nor the names of any contributorsn * may be used to endorse or promote products derived from this softwaren * 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, THEn * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSEn * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BEn * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, ORn * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OFn * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSn * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER INn * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OFn * THE POSSIBILITY OF SUCH DAMAGE.n /n (function(root, factory) {n factory(root["Bokeh"], undefined);n })(this, function(Bokeh, version) {n var 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 "4e90918c0a": function _(e,s,t,o,i){o();const n=e("tslib").__importStar(e("480618c798"));t.Panel=n;e("@bokehjs/base").register_models(n)},n "480618c798": function _(e,a,t,o,c){o();const d=e("tslib");c("AcePlot",e("c2edc6955b").AcePlot),c("Audio",e("339f84d639").Audio),c("Card",e("b85e13a3ba").Card),c("CommManager",e("e552778259").CommManager),c("DataTabulator",e("99baa24a1a").DataTabulator),c("DeckGLPlot",e("df2378664f").DeckGLPlot),c("ECharts",e("9d046c4720").ECharts),c("HTML",e("ed08037ce5").HTML),c("IDOM",e("7d45bd3bc4").IDOM),c("IPyWidget",e("0eae77d68f").IPyWidget),c("JSON",e("5284fdbb37").JSON),c("FileDownload",e("1767172ffa").FileDownload),c("KaTeX",e("7b859fb3cf").KaTeX),c("Location",e("642aa56b24").Location),c("MathJax",e("0c21036737").MathJax),c("Perspective",e("545156b57b").Perspective),c("Player",e("ed9bae6d87").Player),c("PlotlyPlot",e("47b5ae5c43").PlotlyPlot),c("Progress",e("9f787650b9").Progress),c("SingleSelect",e("3b85956787").SingleSelect),c("SpeechToText",e("aaa48703af").SpeechToText),c("State",e("bfa46a5f19").State),c("TextToSpeech",e("33cd2c254e").TextToSpeech),c("TrendIndicator",e("2efaffc12a").TrendIndicator),c("VegaPlot",e("4feb5fa522").VegaPlot),c("Video",e("ffe54b53c3").Video),c("VideoStream",e("9ff7f7b5e9").VideoStream),d.__exportStar(e("c51f25e2a7"),t)},n "c2edc6955b": function _(e,t,i,o,s){o();const n=e("@bokehjs/models/layouts/html_box"),a=e("@bokehjs/core/dom"),d=e("7116a7a602");class h extends d.PanelHTMLBoxView{initialize(){super.initialize(),this._ace=window.ace,this._container=a.div({id:"_"+Math.random().toString(36).substr(2,9),style:{width:"100%",height:"100%"}})}connect_signals(){super.connect_signals(),this.connect(this.model.properties.code.change,(()=>this._update_code_from_model())),this.connect(this.model.properties.theme.change,(()=>this._update_theme())),this.connect(this.model.properties.language.change,(()=>this._update_language())),this.connect(this.model.properties.filename.change,(()=>this._update_filename())),this.connect(this.model.properties.print_margin.change,(()=>this._update_print_margin())),this.connect(this.model.properties.annotations.change,(()=>this._add_annotations())),this.connect(this.model.properties.readonly.change,(()=>{this._editor.setReadOnly(this.model.readonly)}))}render(){super.render(),this._container!==this.el.childNodes[0]&&this.el.appendChild(this._container),this._container.textContent=this.model.code,this._editor=this._ace.edit(this._container.id),this._langTools=this._ace.require("ace/ext/language_tools"),this._modelist=this._ace.require("ace/ext/modelist"),this._editor.setOptions({enableBasicAutocompletion:!0,enableSnippets:!0,fontFamily:"monospace"}),this._update_theme(),this._update_filename(),this._update_language(),this._editor.setReadOnly(this.model.readonly),this._editor.setShowPrintMargin(this.model.print_margin),this._editor.on("change",(()=>this._update_code_from_editor()))}_update_code_from_model(){this._editor&&this._editor.getValue()!=this.model.code&&this._editor.setValue(this.model.code)}_update_print_margin(){this._editor.setShowPrintMargin(this.model.print_margin)}_update_code_from_editor(){this._editor.getValue()!=this.model.code&&(this.model.code=this._editor.getValue())}_update_theme(){this._editor.setTheme(`ace/theme/${this.model.theme}`)}_update_filename(){if(this.model.filename){const e=this._modelist.getModeForPath(this.model.filename).mode;this.model.language=e.slice(9)}}_update_language(){null!=this.model.language&&this._editor.session.setMode(`ace/mode/${this.model.language}`)}_add_annotations(){this._editor.session.setAnnotations(this.model.annotations)}after_layout(){super.after_layout(),this._editor.resize()}}i.AcePlotView=h,h.__name__="AcePlotView";class _ extends n.HTMLBox{constructor(e){super(e)}static init_AcePlot(){this.prototype.default_view=h,this.define((({Any:e,Array:t,Boolean:i,String:o})=>({code:[o,""],filename:[o],language:[o],theme:[o,"chrome"],annotations:[t(e),[]],readonly:[i,!1],print_margin:[i,!1]}))),this.override({height:300,width:300})}}i.AcePlot=_,_.__name__="AcePlot",_.__module__="panel.models.ace",_.init_AcePlot()},n "7116a7a602": function _(e,i,t,s,h){s();const o=e("@bokehjs/core/layout/html"),n=e("@bokehjs/core/layout/types"),_=e("@bokehjs/core/dom"),a=e("@bokehjs/models/widgets/markup"),d=e("@bokehjs/models/layouts/html_box");function l(e,i){let t=null!=i.width?"fixed":"fit",s=null!=i.height?"fixed":"fit";const{sizing_mode:h}=i;if(null!=h)if("fixed"==h)t=s="fixed";else if("stretch_both"==h)t=s="max";else if("stretch_width"==h)t="max";else if("stretch_height"==h)s="max";else switch(h){case"scale_width":t="max",s="min";break;case"scale_height":t="min",s="max";break;case"scale_both":t="max",s="max";break;default:throw new Error("unreachable")}"fixed"==t&&i.width?e.style.width=i.width+"px":"max"==t&&(e.style.width="100%"),"fixed"==s&&i.height?e.style.height=i.height+"px":"max"==s&&(e.style.height="100%")}t.set_size=l;class c extends o.VariadicBox{constructor(e,i,t){super(e),this.el=e,this.sizing_mode=i,this.changed=t,this._cache=new Map,this._cache_count=new Map}_measure(e){const i=[e.width,e.height,this.sizing_mode].toString(),t=this.changed&&"fixed"!=this.sizing_mode&&null!=this.sizing_mode?1:0,s=this._cache.get(i),h=this._cache_count.get(i);if(null!=s&&null!=h&&h>=t)return this._cache_count.set(i,h+1),s;const o=new n.Sizeable(e).bounded_to(this.sizing.size),a=_.sized(this.el,o,(()=>{const e=new n.Sizeable(_.content_size(this.el)),{border:i,padding:t}=_.extents(this.el);return e.grow_by(i).grow_by(t).map(Math.ceil)}));return this._cache.set(i,a),this._cache_count.set(i,0),a}invalidate_cache(){}}t.CachedVariadicBox=c,c.__name__="CachedVariadicBox";class r extends a.MarkupView{_update_layout(){let e=void 0!==this._prev_sizing_mode&&this._prev_sizing_mode!==this.model.sizing_mode;this._prev_sizing_mode=this.model.sizing_mode,this.layout=new c(this.el,this.model.sizing_mode,e),this.layout.set_sizing(this.box_sizing())}render(){super.render(),l(this.markup_el,this.model)}}t.PanelMarkupView=r,r.__name__="PanelMarkupView";class m extends d.HTMLBoxView{_update_layout(){let e=void 0!==this._prev_sizing_mode&&this._prev_sizing_mode!==this.model.sizing_mode;this._prev_sizing_mode=this.model.sizing_mode,this.layout=new c(this.el,this.model.sizing_mode,e),this.layout.set_sizing(this.box_sizing())}render(){super.render(),l(this.el,this.model)}}t.PanelHTMLBoxView=m,m.__name__="PanelHTMLBoxView"},n "339f84d639": function _(e,t,i,o,s){o();const l=e("@bokehjs/models/layouts/html_box"),d=e("7116a7a602");class u extends d.PanelHTMLBoxView{initialize(){super.initialize(),this._blocked=!1,this._setting=!1,this._time=Date.now()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.loop.change,(()=>this.set_loop())),this.connect(this.model.properties.paused.change,(()=>this.set_paused())),this.connect(this.model.properties.time.change,(()=>this.set_time())),this.connect(this.model.properties.value.change,(()=>this.set_value())),this.connect(this.model.properties.volume.change,(()=>this.set_volume()))}render(){super.render(),this.audioEl=document.createElement("audio"),this.audioEl.controls=!0,this.audioEl.src=this.model.value,this.audioEl.currentTime=this.model.time,this.audioEl.loop=this.model.loop,null!=this.model.volume?this.audioEl.volume=this.model.volume/100:this.model.volume=100*this.audioEl.volume,this.audioEl.onpause=()=>this.model.paused=!0,this.audioEl.onplay=()=>this.model.paused=!1,this.audioEl.ontimeupdate=()=>this.update_time(this),this.audioEl.onvolumechange=()=>this.update_volume(this),this.el.appendChild(this.audioEl),this.model.paused||this.audioEl.play()}update_time(e){e._setting?e._setting=!1:Date.now()-e._time<e.model.throttle||(e._blocked=!0,e.model.time=e.audioEl.currentTime,e._time=Date.now())}update_volume(e){e._setting?e._setting=!1:(e._blocked=!0,e.model.volume=100*e.audioEl.volume)}set_loop(){this.audioEl.loop=this.model.loop}set_paused(){!this.audioEl.paused&&this.model.paused&&this.audioEl.pause(),this.audioEl.paused&&!this.model.paused&&this.audioEl.play()}set_volume(){this._blocked?this._blocked=!1:(this._setting=!0,null!=this.model.volume&&(this.audioEl.volume=this.model.volume/100))}set_time(){this._blocked?this._blocked=!1:(this._setting=!0,this.audioEl.currentTime=this.model.time)}set_value(){this.audioEl.src=this.model.value}}i.AudioView=u,u.__name__="AudioView";class h extends l.HTMLBox{constructor(e){super(e)}static init_Audio(){this.prototype.default_view=u,this.define((({Any:e,Boolean:t,Int:i,Number:o})=>({loop:[t,!1],paused:[t,!0],time:[o,0],throttle:[o,250],value:[e,""],volume:[i]})))}}i.Audio=h,h.__name__="Audio",h.__module__="panel.models.widgets",h.init_Audio()},n "b85e13a3ba": function _(e,s,l,t,o){t();const a=e("tslib"),i=e("@bokehjs/models/layouts/column"),c=a.__importStar(e("@bokehjs/core/dom")),n=e("@bokehjs/core/dom"),d=e("@bokehjs/core/layout/grid"),r=e("@bokehjs/core/util/color");class h extends i.ColumnView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.collapsed.change,(()=>this._collapse()));const{active_header_background:e,header_background:s,header_color:l}=this.model.properties;this.on_change([e,s,l],(()=>this.render()))}_update_layout(){const e=(this.model.collapsed?this.child_views.slice(0,1):this.child_views).map((e=>e.layout));this.layout=new d.Column(e),this.layout.rows=this.model.rows,this.layout.spacing=[this.model.spacing,0],this.layout.set_sizing(this.box_sizing())}render(){n.empty(this.el);const{background:e,button_css_classes:s,header_color:l,header_tag:t,header_css_classes:o}=this.model;this.el.style.backgroundColor=null!=e?r.color2css(e):"",n.classes(this.el).clear().add(…this.css_classes());let a=this.model.header_background;!this.model.collapsed&&this.model.active_header_background&&(a=this.model.active_header_background);const i=this.child_views[0];let d;if(this.model.collapsible){this.button_el=c.createElement("button",{type:"button",class:o}),this.button_el.style.backgroundColor=null!=a?a:"",i.el.style.backgroundColor=null!=a?a:"",this.button_el.appendChild(i.el);const e=c.createElement("p",{class:s});e.innerHTML=this.model.collapsed?"+":"−",this.button_el.appendChild(e),this.button_el.onclick=()=>this._toggle_button(),d=this.button_el}else d=c.createElement(t,{class:o}),d.style.backgroundColor=null!=a?a:"",d.appendChild(i.el);d.style.color=null!=l?l:"",this.el.appendChild(d),i.render();for(const e of this.child_views.slice(1))this.model.collapsed||this.el.appendChild(e.el),e.render()}_toggle_button(){this.model.collapsed=!this.model.collapsed}_collapse(){this.invalidate_render()}_createElement(){return c.createElement(this.model.tag,{class:this.css_classes()})}}l.CardView=h,h.__name__="CardView";class _ extends i.Column{constructor(e){super(e)}static init_Card(){this.prototype.default_view=h,this.define((({Array:e,Boolean:s,Nullable:l,String:t})=>({active_header_background:[l(t),null],button_css_classes:[e(t),[]],collapsed:[s,!0],collapsible:[s,!0],header_background:[l(t),null],header_color:[l(t),null],header_css_classes:[e(t),[]],header_tag:[t,"div"],tag:[t,"div"]})))}}l.Card=_,_.__name__="Card",_.__module__="panel.models.layout",_.init_Card()},n "e552778259": function _(e,t,n,o,i){o();const s=e("@bokehjs/document"),c=e("@bokehjs/core/view"),_=e("@bokehjs/model"),l=e("@bokehjs/protocol/message"),a=e("@bokehjs/protocol/receiver");class h extends c.View{renderTo(){}}n.CommManagerView=h,h.__name__="CommManagerView";class m extends _.Model{constructor(e){super(e),this._document_listener=e=>this._document_changed(e),this._receiver=new a.Receiver,this._event_buffer=[],this._blocked=!1,this._timeout=Date.now(),null!=window.PyViz&&window.PyViz.comm_manager?(this.ns=window.PyViz,this.ns.comm_manager.register_target(this.plot_id,this.comm_id,(e=>this.msg_handler(e))),this._client_comm=this.ns.comm_manager.get_client_comm(this.plot_id,this.client_comm_id,(e=>this.on_ack(e)))):console.log("Could not find comm manager on window.PyViz, ensure the extension is loaded.")}_doc_attached(){super._doc_attached(),null!=this.document&&this.document.on_change(this._document_listener)}_document_changed(e){e.setter_id!==this.id&&(e instanceof s.ModelChangedEvent&&!(e.attr in e.model.serializable_attributes())||(this._event_buffer.push(e),(!this._blocked||Date.now()>this._timeout)&&(setTimeout((()=>this.process_events()),this.debounce),this._blocked=!0,this._timeout=Date.now()+this.timeout)))}process_events(){if(null==this.document||null==this._client_comm)return;const e=this.document.create_json_patch(this._event_buffer);this._event_buffer=[];const t=l.Message.create("PATCH-DOC",{},e);this._client_comm.send(t)}on_ack(e){const t=e.metadata;this._event_buffer.length?(this._blocked=!0,this._timeout=Date.now()+this.timeout,this.process_events()):this._blocked=!1,"Ready"==t.msg_type&&t.content?console.log("Python callback returned following output:",t.content):"Error"==t.msg_type&&console.log("Python failed with the following traceback:",t.traceback)}msg_handler(e){const t=e.metadata,n=e.buffers,o=e.content.data,i=this.plot_id;if("Ready"==t.msg_type)t.content?console.log("Python callback returned following output:",t.content):"Error"==t.msg_type&&console.log("Python failed with the following traceback:",t.traceback);else if(null!=i){let e=null;if(i in this.ns.plot_index&&null!=this.ns.plot_index[i]?e=this.ns.plot_index[i]:void 0!==window.Bokeh&&i in window.Bokeh.index&&(e=window.Bokeh.index[i]),null==e)return;null!=n&&n.length>0?this._receiver.consume(n[0].buffer):this._receiver.consume(o);const t=this._receiver.message;null!=t&&Object.keys(t.content).length>0&&null!=this.document&&this.document.apply_json_patch(t.content,t.buffers,this.id)}}static init_CommManager(){this.prototype.default_view=h,this.define((({Int:e,String:t})=>({plot_id:[t],comm_id:[t],client_comm_id:[t],timeout:[e,5e3],debounce:[e,50]})))}}n.CommManager=m,m.__name__="CommManager",m.__module__="panel.models.comm_manager",m.init_CommManager()},n "99baa24a1a": function _(t,e,s,o,i){o();const a=t("@bokehjs/models/layouts/html_box"),l=t("@bokehjs/core/dom"),n=t("@bokehjs/core/kinds"),r=t("@bokehjs/models/sources/column_data_source"),d=t("@bokehjs/models/widgets/tables"),u=t("7e38aee5d7"),h=t("7116a7a602");class c extends h.PanelHTMLBoxView{constructor(){super(…arguments),this._tabulator_cell_updating=!1,this._selection_updating=!1,this._styled_cells=[]}connect_signals(){super.connect_signals();const{configuration:t,layout:e,columns:s,theme:o,theme_url:i,groupby:a}=this.model.properties;this.on_change([t,e,s,a],(()=>this.render_and_resize())),this.on_change([o,i],(()=>this.setCSS())),this.connect(this.model.properties.download.change,(()=>{const t=this.model.filename.endsWith(".json")?"json":"csv";this.tabulator.download(t,this.model.filename)})),this.connect(this.model.properties.hidden_columns.change,(()=>{this.hideColumns()})),this.connect(this.model.properties.page_size.change,(()=>{this.setPageSize()})),this.connect(this.model.properties.page.change,(()=>{this.setPage()})),this.connect(this.model.properties.max_page.change,(()=>{this.setMaxPage()})),this.connect(this.model.properties.frozen_rows.change,(()=>{this.freezeRows()})),this.connect(this.model.properties.styles.change,(()=>{this.updateStyles()})),this.connect(this.model.source.properties.data.change,(()=>{this.setData()})),this.connect(this.model.source.streaming,(()=>this.addData())),this.connect(this.model.source.patching,(()=>this.updateOrAddData())),this.connect(this.model.source.selected.change,(()=>this.updateSelection())),this.connect(this.model.source.selected.properties.indices.change,(()=>this.updateSelection()))}render_and_resize(){this.render(),this.update_layout(),this.compute_layout(),this.root!==this&&this.invalidate_layout()}render(){super.render();if(this.setCSS())return;this._initializing=!0;const t=l.div({class:"pnx-tabulator"});h.set_size(t,this.model);let e=this.getConfiguration();this.tabulator=new Tabulator(t,e),this.tabulator.modules=Object.assign({},this.tabulator.modules);const s=this.tabulator.modules.ajax;this.tabulator.modules.ajax.sendRequest=()=>{this.requestPage(s.params.page,s.params.sorters)},"remote"===this.model.pagination&&(this.tabulator.options.pagination=this.model.pagination,this.tabulator.modules.page.mode="remote"),this.setGroupBy(),this.hideColumns(),this.model.pagination?(this.setMaxPage(),this.tabulator.setPage(this.model.page),this.setData()):this.freezeRows(),this.el.appendChild(t)}requestPage(t,e){return new Promise(((s,o)=>{try{this.model.page=t||1,this.model.sorters=e,s({data:[],last_page:this.model.max_page})}catch(t){o(t)}}))}renderComplete(){this._initializing&&(this.updateStyles(),this.updateSelection()),this._initializing=!1}freezeRows(){for(const t of this.model.frozen_rows)this.tabulator.getRow(t).freeze()}getLayout(){switch(this.model.layout){case"fit_data":return"fitData";case"fit_data_fill":return"fitDataFill";case"fit_data_stretch":return"fitDataStretch";case"fit_data_table":return"fitDataTable";case"fit_columns":return"fitColumns"}}getConfiguration(){let t=Object.assign(Object.assign({},this.model.configuration),{index:"_index",renderComplete:()=>this.renderComplete(),rowSelectionChanged:(t,e)=>this.rowSelectionChanged(t,e),cellEdited:t=>this.cellEdited(t),columns:this.getColumns(),layout:this.getLayout(),ajaxURL:"http://panel.pyviz.org",ajaxSorting:!0,pagination:"remote"==this.model.pagination?"local":this.model.pagination,paginationSize:this.model.page_size,paginationInitialPage:1}),e=this.model.source;return null===e||0===Object.keys(e.data).length?t:(e=u.transform_cds_to_records(e,!0),Object.assign(Object.assign({},t),{data:e}))}getColumns(){var t;const e=null===(t=this.model.configuration)||void 0===t?void 0:t.columns;let s=[];if(null!=e)for(const t of e)if(null!=t.columns){const e=[];for(const s of t.columns)e.push(Object.assign({},s));s.push(Object.assign(Object.assign({},t),{columns:e}))}else s.push(Object.assign({},t));for(const t of this.model.columns){let o=null;if(null!=e)for(const e of s)if(null!=e.columns){for(const s of e.columns)if(t.field===s.field){o=s;break}if(null!=o)break}else if(t.field===e.field){o=e;break}if(null==o&&(o={field:t.field}),null==o.title&&(o.title=t.title),null==o.width&&null!=t.width&&0!=t.width&&(o.width=t.width),null==o.formatter&&null!=t.formatter){const e=t.formatter.type;o.formatter="BooleanFormatter"===e?"tickCross":e=>t.formatter.doFormat(e.getRow(),e,e.getValue(),null,null)}o.editable=()=>this.model.editable;const i=t.editor,a=i.type;null!=o.editor||("StringEditor"===a?i.completions.length>0?(o.editor="autocomplete",o.editorParams={values:i.completions}):o.editor="input":"TextEditor"===a?o.editor="textarea":"IntEditor"===a||"NumberEditor"===a?(o.editor="number",o.editorParams={step:i.step}):"CheckboxEditor"===a?o.editor="tickCross":"SelectEditor"===a?(o.editor="select",o.editorParams={values:i.options}):o.editor=(e,s,o,i)=>this.renderEditor(t,e,s,o,i)),null==e&&s.push(o)}return s}renderEditor(t,e,s,o,i){const a=t.editor,l=new a.default_view({column:t,model:a,parent:this,container:e._cell.element});return l.initialize(),l.connect_signals(),s((()=>{l.setValue(e.getValue())})),l.inputEl.addEventListener("change",(()=>{const t=l.serializeValue(),s=e.getValue(),a=l.validate();a.valid||i(a.msg),null!=s&&typeof t!=typeof s?i("Mismatching type"):o(l.serializeValue())})),l.inputEl}after_layout(){super.after_layout(),null!=this.tabulator&&this.tabulator.redraw(!0),this.updateStyles()}setData(){const t=u.transform_cds_to_records(this.model.source,!0);null!=this.model.pagination?this.tabulator.rowManager.setData(t,!0,!1):this.tabulator.setData(t),this.freezeRows(),this.updateSelection()}setGroupBy(){if(0==this.model.groupby.length)return void this.tabulator.setGroupBy(!1);this.tabulator.setGroupBy((t=>{const e=[];for(const s of this.model.groupby){const o=s+": "+t[s];e.push(o)}return e.join(", ")}))}setCSS(){let t;t="default"==this.model.theme?"tabulator":"tabulator_"+this.model.theme;const e=this.model.theme_url+t+".min.css";let s=null;const o=document.getElementsByTagName("link"),i=this.model.theme_url.indexOf("dist/");for(const t of o)if(t.href.startsWith(this.model.theme_url.slice(0,i))){s=t;break}let a=document.getElementsByTagName("head")[0];if(null!=s){if(s.href==e)return!1;null!=s.parentNode&&(a=s.parentNode)}const l=document.createElement("link");return l.type="text/css",l.rel="stylesheet",l.media="screen",l.href=e,l.onload=()=>{null!=s&&null!=s.parentNode&&(a=s.parentNode,a.removeChild(s)),this.render_and_resize()},a.appendChild(l),!0}updateStyles(){for(const t of this._styled_cells)t.cssText="";if(this._styled_cells=[],null!=this.model.styles&&0!=this.tabulator.getDataCount())for(const t in this.model.styles){const e=this.model.styles[t],s=this.tabulator.getRow(t);if(!s)continue;const o=s._row.cells;for(const t in e){const s=e[t],i=o[t];if(null==i||!s.length)continue;const a=i.element;this._styled_cells.push(a),a.cssText="";for(const t of s){if(!t.includes(":"))continue;const[e,s]=t.split(":");a.style.setProperty(e,s.trimLeft())}}}}addData(){const t=this.tabulator.rowManager.getRows(),e=t[t.length-1];let s=u.transform_cds_to_records(this.model.source,!0);this.tabulator.setData(s),this.model.follow&&this.tabulator.scrollToRow(e.data._index||0,"top",!1),this.freezeRows(),this.updateSelection()}updateOrAddData(){if(this._tabulator_cell_updating)return;let t=u.transform_cds_to_records(this.model.source,!0);this.tabulator.setData(t),this.freezeRows(),this.updateSelection()}hideColumns(){for(const t of this.tabulator.getColumns())this.model.hidden_columns.indexOf(t._column.field)>-1?t.hide():t.show()}setMaxPage(){this.tabulator.setMaxPage(Math.max(this.model.page,this.model.max_page)),this.tabulator.modules.page._setPageButtons()}setPage(){this.tabulator.setPage(this.model.page)}setPageSize(){this.tabulator.setPageSize(this.model.page_size)}updateSelection(){if(null==this.tabulator||this._selection_updating)return;const t=this.model.source.selected.indices;this._selection_updating=!0,this.tabulator.deselectRow(),this.tabulator.selectRow(t),this._selection_updating=!1}rowSelectionChanged(t,e){if(this._selection_updating||this._initializing)return;this._selection_updating=!0;const s=t.map((t=>t._index));this.model.source.selected.indices=s,this._selection_updating=!1}cellEdited(t){const e=t._cell.column.field,s=t._cell.row.data._index,o=t._cell.value;this._tabulator_cell_updating=!0,this.model.source.patch({[e]:[[s,o]]}),this._tabulator_cell_updating=!1}}s.DataTabulatorView=c,c.__name__="DataTabulatorView",s.TableLayout=n.Enum("fit_data","fit_data_fill","fit_data_stretch","fit_data_table","fit_columns");class m extends a.HTMLBox{constructor(t){super(t)}static init_DataTabulator(){this.prototype.default_view=c,this.define((({Any:t,Array:e,Boolean:o,Nullable:i,Number:a,Ref:l,String:n})=>({configuration:[t,{}],columns:[e(l(d.TableColumn)),[]],download:[o,!0],editable:[o,!0],filename:[n,"table.csv"],follow:[o,!0],frozen_rows:[e(a),[]],groupby:[e(n),[]],hidden_columns:[e(n),[]],layout:[s.TableLayout,"fit_data"],max_page:[a,0],pagination:[i(n),null],page:[a,0],page_size:[a,0],source:[l(r.ColumnDataSource)],sorters:[e(t),[]],styles:[t,{}],theme:[n,"simple"],theme_url:[n,"https://unpkg.com/tabulator-tables@4.9.3/dist/css/"]})))}}s.DataTabulator=m,m.__name__="DataTabulator",m.__module__="panel.models.tabulator",m.init_DataTabulator()},n "7e38aee5d7": function _(n,t,e,l,o){l(),e.transform_cds_to_records=function(n,t=!1){const e=[],l=n.columns(),o=n.get_length();if(0===l.length||null===o)return[];for(let r=0;r<o;r++){const o={};for(const t of l){let e=n.get_array(t);const l=null==e[0].shape?null:e[0].shape;null!=l&&l.length>1&&"number"==typeof l[0]?o[t]=e.slice(r*l[1],r*l[1]+l[1]):o[t]=e[r]}t&&(o._index=r),e.push(o)}return e}},n "df2378664f": function _(e,t,o,i,a){i();const n=e("tslib"),s=e("@bokehjs/core/dom"),c=e("@bokehjs/models/layouts/html_box"),r=e("@bokehjs/models/sources/column_data_source"),d=e("7e38aee5d7"),l=e("7116a7a602"),_=e("6e04fbe567"),h=n.__importDefault(e("093eb75864"));function p(){const e={},t=window.deck,o=Object.keys(t).filter((e=>e.charAt(0)===e.charAt(0).toUpperCase()));for(const i of o)e[i]=t[i];return e}class u extends l.PanelHTMLBoxView{connect_signals(){super.connect_signals();const{data:e,mapbox_api_key:t,tooltip:o,layers:i,initialViewState:a,data_sources:n}=this.model.properties;this.on_change([t,o],(()=>this.render())),this.on_change([e,a],(()=>this.updateDeck())),this.on_change([i],(()=>this._update_layers())),this.on_change([n],(()=>this._connect_sources(!0))),this._layer_map={},this._connected=[],this._connect_sources()}_update_layers(){this._layer_map={},this._update_data(!0)}_connect_sources(e=!1){for(const e of this.model.data_sources)this._connected.indexOf(e)<0&&(this.connect(e.properties.data.change,(()=>this._update_data(!0))),this._connected.push(e));this._update_data(e)}initialize(){if(super.initialize(),window.deck.JSONConverter){const{CSVLoader:e,Tile3DLoader:t}=window.loaders;window.loaders.registerLoaders([t,e]);const o={classes:p(),enumerations:{COORDINATE_SYSTEM:window.deck.COORDINATE_SYSTEM,GL:h.default},constants:{Tile3DLoader:t}};this.jsonConverter=new window.deck.JSONConverter({configuration:o})}}_update_data(e=!0){let t=0;for(const e of this.model.layers){let o;if(t+=1,t-1 in this._layer_map)o=this.model.data_sources[this._layer_map[t-1]];else{if("number"!=typeof e.data)continue;this._layer_map[t-1]=e.data,o=this.model.data_sources[e.data]}e.data=d.transform_cds_to_records(o)}e&&this.updateDeck()}_on_click_event(e){const t={coordinate:e.coordinate,lngLat:e.lngLat,index:e.index};this.model.clickState=t}_on_hover_event(e){if(null==e.coordinate)return;const t={coordinate:e.coordinate,lngLat:e.lngLat,index:e.index};this.model.hoverState=t}_on_viewState_event(e){this.model.viewState=e.viewState}getData(){return Object.assign(Object.assign({},this.model.data),{layers:this.model.layers,initialViewState:this.model.initialViewState,onViewStateChange:e=>this._on_viewState_event(e),onClick:e=>this._on_click_event(e),onHover:e=>this._on_hover_event(e)})}updateDeck(){if(!this.deckGL)return void this.render();const e=this.getData();if(window.deck.updateDeck)window.deck.updateDeck(e,this.deckGL);else{const t=this.jsonConverter.convert(e);this.deckGL.setProps(t)}}createDeck({mapboxApiKey:e,container:t,jsonInput:o,tooltip:i}){let a;try{const n=this.jsonConverter.convert(o),s=_.makeTooltip(i,n.layers);a=new window.deck.DeckGL(Object.assign(Object.assign({},n),{map:window.mapboxgl,mapboxApiAccessToken:e,container:t,getTooltip:s}))}catch(e){console.error(e)}return a}render(){super.render();const e=s.div({class:"deckgl"});l.set_size(e,this.model);const t=this.model.mapbox_api_key,o=this.model.tooltip,i=this.getData();window.deck.createDeck?this.deckGL=window.deck.createDeck({mapboxApiKey:t,container:e,jsonInput:i,tooltip:o}):this.deckGL=this.createDeck({mapboxApiKey:t,container:e,jsonInput:i,tooltip:o}),this.el.appendChild(e)}}o.DeckGLPlotView=u,u.__name__="DeckGLPlotView";class k extends c.HTMLBox{constructor(e){super(e)}static init_DeckGLPlot(){this.prototype.default_view=u,this.define((({Any:e,Array:t,String:o,Ref:i})=>({data:[e],data_sources:[t(i(r.ColumnDataSource)),[]],clickState:[e,{}],hoverState:[e,{}],initialViewState:[e,{}],layers:[t(e),[]],mapbox_api_key:[o,""],tooltip:[e,{}],viewState:[e,{}]}))),this.override({height:400,width:600})}}o.DeckGLPlot=k,k.__name__="DeckGLPlot",k.__module__="panel.models.deckgl",k.init_DeckGLPlot()},n "6e04fbe567": function _(t,e,n,i,l){n /n This file was adapted from https://github.com/uber/deck.gl/ the LICENSEn below is preserved to comply with the original license.n n Copyright (c) 2015 - 2017 Uber Technologies, Inc.n n Permission is hereby granted, free of charge, to any person obtaining a copyn of this software and associated documentation files (the "Software"), to dealn in the Software without restriction, including without limitation the rightsn to use, copy, modify, merge, publish, distribute, sublicense, and/or selln copies of the Software, and to permit persons to whom the Software isn furnished to do so, subject to the following conditions:n n The above copyright notice and this permission notice shall be included inn all copies or substantial portions of the Software.n n THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORn IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEn AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERn LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INn THE SOFTWARE.n /n let o,r;i();const c={fontFamily:’"Helvetica Neue", Helvetica, Arial, sans-serif’,display:"flex",flex:"wrap",maxWidth:"500px",flexDirection:"column",zIndex:2};function s(){return document.createElement("div")}function a(t){if(!t.picked)return null;if(t.object===o)return r;const e={html:u(t.object),style:c};return r=e,o=t.object,e}n.getTooltipDefault=a;const f=new Set(["position","index"]);function u(t){const e=s();for(const n in t){if(f.has(n))continue;const i=s();i.className="header",i.textContent=n;const l=s();l.className="value",l.textContent=h(t[n]);const o=s();p(o,i,l),o.appendChild(i),o.appendChild(l),e.appendChild(o)}return e.innerHTML}function p(t,e,n){Object.assign(e.style,{fontWeight:700,marginRight:"10px",flex:"1 1 0%"}),Object.assign(n.style,{flex:"none",maxWidth:"250px",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}),Object.assign(t.style,{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"stretch"})}function h(t){let e;if(Array.isArray(t)&&t.length>4)e=`Array<${t.length}>`;else if("string"==typeof t)e=t;else if("number"==typeof t)e=String(t);else try{e=JSON.stringify(t)}catch(t){e="<Non-Serializable Object>"}return e.length>50&&(e=e.slice(0,50)),e}function d(t,e){let n=t;for(const t in e){if("object"==typeof e[t])for(const i in e[t])n=n.replace(`{${t}.${i}}`,e[t][i]);n=n.replace(`{${t}}`,e[t])}return n}n.tabularize=u,n.toText=h,n.substituteIn=d,n.makeTooltip=function(t,e){if(!t)return null;let n=!1;const i={};for(let l=0;l<e.length;l++){const o=e[l].id;"boolean"!=typeof t&&(l.toString()in t||o in t)&&(i[o]=o in t?t[o]:t[l.toString()],n=!0)}return t.html||t.text||n?e=>{if(!e.picked)return null;const l=n?i[e.layer.id]:t;if(null==l)return;if("boolean"==typeof l)return l?a(e):null;const o={style:l.style||c};return l.html?o.html=d(l.html,e.object):o.text=d(l.text,e.object),o}:a}},n "093eb75864": function _(E,_,R,T,A){_.exports={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,FUNC_ADD:32774,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,BLEND_COLOR:32773,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,VENDOR:7936,RENDERER:7937,VERSION:7938,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,BROWSER_DEFAULT_WEBGL:37444,STATIC_DRAW:35044,STREAM_DRAW:35040,DYNAMIC_DRAW:35048,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,CULL_FACE:2884,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,BLEND:3042,DEPTH_TEST:2929,DITHER:3024,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,SCISSOR_TEST:3089,STENCIL_TEST:2960,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CONTEXT_LOST_WEBGL:37442,CW:2304,CCW:2305,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,COMPILE_STATUS:35713,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_ATTRIBUTES:35721,ACTIVE_UNIFORMS:35718,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,ALWAYS:519,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,GEQUAL:518,NOTEQUAL:517,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,TEXTURE_WIDTH:4096,TEXTURE_HEIGHT:4097,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,MAX_3D_TEXTURE_SIZE:32883,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,MAX_TEXTURE_LOD_BIAS:34045,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,RASTERIZER_DISCARD:35977,VERTEX_ARRAY_BINDING:34229,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,MAX_ELEMENT_INDEX:36203,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,RGB9_E5:35901,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2UI:36975,TEXTURE_IMMUTABLE_FORMAT:37167,TEXTURE_IMMUTABLE_LEVELS:33503,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,UNSIGNED_INT_24_8:34042,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,INT_2_10_10_10_REV:36255,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,MAX_SAMPLES:36183,SAMPLER_BINDING:35097,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,UNSIGNED_NORMALIZED:35863,SIGNED_NORMALIZED:36764,VERTEX_ATTRIB_ARRAY_INTEGER:35069,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,DEPTH24_STENCIL8:35056,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,COLOR:6144,DEPTH:6145,STENCIL:6146,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,INVALID_INDEX:4294967295,TIMEOUT_IGNORED:-1,MAX_CLIENT_WAIT_TIMEOUT_WEBGL:37447,VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE:35070,UNMASKED_VENDOR_WEBGL:37445,UNMASKED_RENDERER_WEBGL:37446,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047,TEXTURE_MAX_ANISOTROPY_EXT:34046,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35986,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,UNSIGNED_INT_24_8_WEBGL:34042,HALF_FLOAT_OES:36193,RGBA32F_EXT:34836,RGB32F_EXT:34837,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT:33297,UNSIGNED_NORMALIZED_EXT:35863,MIN_EXT:32775,MAX_EXT:32776,SRGB_EXT:35904,SRGB_ALPHA_EXT:35906,SRGB8_ALPHA8_EXT:35907,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT:33296,FRAGMENT_SHADER_DERIVATIVE_HINT_OES:35723,COLOR_ATTACHMENT0_WEBGL:36064,COLOR_ATTACHMENT1_WEBGL:36065,COLOR_ATTACHMENT2_WEBGL:36066,COLOR_ATTACHMENT3_WEBGL:36067,COLOR_ATTACHMENT4_WEBGL:36068,COLOR_ATTACHMENT5_WEBGL:36069,COLOR_ATTACHMENT6_WEBGL:36070,COLOR_ATTACHMENT7_WEBGL:36071,COLOR_ATTACHMENT8_WEBGL:36072,COLOR_ATTACHMENT9_WEBGL:36073,COLOR_ATTACHMENT10_WEBGL:36074,COLOR_ATTACHMENT11_WEBGL:36075,COLOR_ATTACHMENT12_WEBGL:36076,COLOR_ATTACHMENT13_WEBGL:36077,COLOR_ATTACHMENT14_WEBGL:36078,COLOR_ATTACHMENT15_WEBGL:36079,DRAW_BUFFER0_WEBGL:34853,DRAW_BUFFER1_WEBGL:34854,DRAW_BUFFER2_WEBGL:34855,DRAW_BUFFER3_WEBGL:34856,DRAW_BUFFER4_WEBGL:34857,DRAW_BUFFER5_WEBGL:34858,DRAW_BUFFER6_WEBGL:34859,DRAW_BUFFER7_WEBGL:34860,DRAW_BUFFER8_WEBGL:34861,DRAW_BUFFER9_WEBGL:34862,DRAW_BUFFER10_WEBGL:34863,DRAW_BUFFER11_WEBGL:34864,DRAW_BUFFER12_WEBGL:34865,DRAW_BUFFER13_WEBGL:34866,DRAW_BUFFER14_WEBGL:34867,DRAW_BUFFER15_WEBGL:34868,MAX_COLOR_ATTACHMENTS_WEBGL:36063,MAX_DRAW_BUFFERS_WEBGL:34852,VERTEX_ARRAY_BINDING_OES:34229,QUERY_COUNTER_BITS_EXT:34916,CURRENT_QUERY_EXT:34917,QUERY_RESULT_EXT:34918,QUERY_RESULT_AVAILABLE_EXT:34919,TIME_ELAPSED_EXT:35007,TIMESTAMP_EXT:36392,GPU_DISJOINT_EXT:36795}},n "9d046c4720": function _(t,e,s,h,i){h();const r=t("@bokehjs/models/layouts/html_box");class n extends r.HTMLBoxView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.data.change,(()=>this._plot()));const{width:t,height:e,renderer:s,theme:h}=this.model.properties;this.on_change([t,e],(()=>this._resize())),this.on_change([h,s],(()=>this.render()))}render(){super.render();const t={width:this.model.width,height:this.model.height,renderer:this.model.renderer};null!=this._chart&&window.echarts.dispose(this._chart),this._chart=window.echarts.init(this.el,this.model.theme,t),this._plot()}after_layout(){super.after_layout(),this._chart.resize()}_plot(){null!=window.echarts&&this._chart.setOption(this.model.data)}_resize(){this._chart.resize({width:this.model.width,height:this.model.height})}}s.EChartsView=n,n.__name__="EChartsView";class a extends r.HTMLBox{constructor(t){super(t)}static init_ECharts(){this.prototype.default_view=n,this.define((({Any:t,String:e})=>({data:[t,{}],theme:[e,"default"],renderer:[e,"canvas"]})))}}s.ECharts=a,a.__name__="ECharts",a.__module__="panel.models.echarts",a.init_ECharts()},n "ed08037ce5": function _(e,t,r,n,a){n();const o=e("@bokehjs/models/widgets/markup"),s=e("7116a7a602");function i(e){return(new DOMParser).parseFromString(e,"text/html").documentElement.textContent}r.htmlDecode=i;class l extends s.PanelMarkupView{render(){super.render();const e=i(this.model.text)||this.model.text;e?(this.markup_el.innerHTML=e,Array.from(this.markup_el.querySelectorAll("script")).forEach((e=>{const t=document.createElement("script");Array.from(e.attributes).forEach((e=>t.setAttribute(e.name,e.value))),t.appendChild(document.createTextNode(e.innerHTML)),e.parentNode&&e.parentNode.replaceChild(t,e)}))):this.markup_el.innerHTML=""}}r.HTMLView=l,l.__name__="HTMLView";class m extends o.Markup{constructor(e){super(e)}static init_HTML(){this.prototype.default_view=l}}r.HTML=m,m.__name__="HTML",m.__module__="panel.models.markup",m.init_HTML()},n "7d45bd3bc4": function _(require,module,exports,__esModule,__esExport){__esModule();const preact_1=require("6f11f2ef27"),hooks_1=require("4c02a9b43f"),preact_2=require("b3f51db71c"),fast_json_patch_1=require("cbecfde9cd"),html_box_1=require("@bokehjs/models/layouts/html_box"),layout_1=require("7116a7a602"),event_to_object_1=require("3329d4aa5b"),LayoutConfigContext=preact_1.createContext({});function mountLayout(e,t,o,n){preact_1.render(preact_2.html`n <${Layout}n saveUpdateHook=${t}n sendEvent=${o}n importSourceUrl=${n}n />n `,e)}function Layout({saveUpdateHook:e,sendEvent:t,importSourceUrl:o}){const[n,r]=useInplaceJsonPatch({});return hooks_1.useEffect((()=>e(r)),[r]),n.tagName?preact_2.html`n <${LayoutConfigContext.Provider}n value=${{sendEvent:t,importSourceUrl:o}}n >n <${Element} model=${n} />n <//>n `:preact_2.html`<div />`}function Element({model:e}){return e.importSource?preact_2.html`<${ImportedElement} model=${e} />`:preact_2.html`<${StandardElement} model=${e} />`}function ImportedElement({model:e}){const t=hooks_1.useContext(LayoutConfigContext),o=useLazyModule(e.importSource.source,t.importSourceUrl);if(o){const n=getPathProperty(o,e.tagName),r=elementChildren(e),a=elementAttributes(e,t.sendEvent);return preact_2.html`<${n} …${a}>${r}<//>`}{const t=e.importSource.fallback;if(!t)return preact_2.html`<div />`;switch(typeof t){case"object":return preact_2.html`<${Element} model=${t} />`;case"string":return preact_2.html`<div>${t}</div>`;default:return null}}}function StandardElement({model:e}){const t=hooks_1.useContext(LayoutConfigContext),o=elementChildren(e),n=elementAttributes(e,t.sendEvent);return e.children&&e.children.length?preact_2.html`<${e.tagName} …${n}>${o}<//>`:preact_2.html`<${e.tagName} …${n} />`}function elementChildren(e){return e.children?e.children.map((e=>{switch(typeof e){case"object":return preact_2.html`<${Element} model=${e} />`;case"string":return e;default:return null}})):[]}function elementAttributes(e,t){const o=Object.assign({},e.attributes);return e.eventHandlers&&Object.keys(e.eventHandlers).forEach((n=>{const r=e.eventHandlers[n];o[n]=eventHandler(t,r)})),o}function eventHandler(e,t){return function(){const o=Array.from(arguments).map((e=>"object"==typeof e?(t.preventDefault&&e.preventDefault(),t.stopPropagation&&e.stopPropagation(),event_to_object_1.serializeEvent(e)):e));return new Promise((n=>{const r={data:o,target:t.target};e(r),n(r)}))}}function useLazyModule(source,sourceUrlBase=""){const[module,setModule]=hooks_1.useState(null);return module||eval(`import(‘${joinUrl(sourceUrlBase,source)}’)`).then(setModule),module}function getPathProperty(e,t){const o=t.split(".");let n=e[o.shift()];for(let e=0;e<o.length;e++)n=n[o[e]];return n}function useInplaceJsonPatch(e){const t=hooks_1.useRef(e),o=useForceUpdate(),n=hooks_1.useCallback(((e,n)=>{applyPatchInplace(t.current,e,n),o()}),[t,o]);return[t.current,n]}function applyPatchInplace(e,t,o){t?fast_json_patch_1.applyPatch(e,[{op:"replace",path:t,value:fast_json_patch_1.applyPatch(fast_json_patch_1.getValueByPointer(e,t),o,!1,!1).newDocument}]):fast_json_patch_1.applyPatch(e,o)}function useForceUpdate(){const[,e]=hooks_1.useState({});return hooks_1.useCallback((()=>e({})),[])}function joinUrl(e,t){return t.startsWith("./")?(e.endsWith("/")?e.slice(0,-1):e)+t.slice(1):t}exports.mountLayout=mountLayout,exports.default=Layout;class IDOMView extends layout_1.PanelHTMLBoxView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.event.change,(()=>{this._update(…this.model.event),setTimeout((()=>{requestAnimationFrame((()=>this.fix_layout()))}))}))}fix_layout(){this.update_layout(),this.compute_layout(),this.invalidate_layout(),layout_1.set_size(this.el,this.model)}initialize(){super.initialize(),mountLayout(this.el,(e=>this._save_update(e)),(e=>this._send(e)),this.model.importSourceUrl)}async lazy_initialize(){await super.lazy_initialize(),await new Promise((e=>{const t=()=>{this._update?e(null):setTimeout(t,100)};t()}))}_save_update(e){this._update=e}async render(){super.render(),this._update(…this.model.event),await new Promise((e=>{const t=()=>{this.el.children.length?(this.fix_layout(),e(null)):setTimeout(t,50)};t()}))}_send(e){this.model.msg=e}}exports.IDOMView=IDOMView,IDOMView.__name__="IDOMView";class IDOM extends html_box_1.HTMLBox{constructor(e){super(e)}static init_IDOM(){this.prototype.default_view=IDOMView,this.define((({Any:e,String:t})=>({event:[e,[]],importSourceUrl:[t,""],msg:[e,{}]})))}}exports.IDOM=IDOM,IDOM.__name__="IDOM",IDOM.__module__="panel.models.idom",IDOM.init_IDOM()},n "6f11f2ef27": function _(e,n,t,_,l){_();var o,r,i,u,s,c,f={},p=[],a=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function d(e,n){for(var t in n)e[t]=n[t];return e}function h(e){var n=e.parentNode;n&&n.removeChild(e)}function v(e,n,t){var _,l,o,r=arguments,i={};for(o in n)"key"==o?_=n[o]:"ref"==o?l=n[o]:i[o]=n[o];if(arguments.length>3)for(t=[t],o=3;o<arguments.length;o++)t.push(r[o]);if(null!=t&&(i.children=t),"function"==typeof e&&null!=e.defaultProps)for(o in e.defaultProps)void 0===i[o]&&(i[o]=e.defaultProps[o]);return y(e,i,_,l,null)}function y(e,n,t,_,l){var r={type:e,props:n,key:t,ref:_,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==l?++o.__v:l};return null!=o.vnode&&o.vnode(r),r}function m(e){return e.children}function k(e,n){this.props=e,this.context=n}function g(e,n){if(null==n)return e.__?g(e.__,e.__.__k.indexOf(e)+1):null;for(var t;n<e.__k.length;n++)if(null!=(t=e.__k[n])&&null!=t.__e)return t.__e;return"function"==typeof e.type?g(e):null}function b(e){var n,t;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,n=0;n<e.__k.length;n++)if(null!=(t=e.__k[n])&&null!=t.__e){e.__e=e.__c.base=t.__e;break}return b(e)}}function C(e){(!e.__d&&(e.__d=!0)&&i.push(e)&&!x.__r++||s!==o.debounceRendering)&&((s=o.debounceRendering)||u)(x)}function x(){for(var e;x.__r=i.length;)e=i.sort((function(e,n){return e.__v.__b-n.__v.__b})),i=[],e.some((function(e){var n,t,_,l,o,r;e.__d&&(o=(l=(n=e).__v).__e,(r=n.__P)&&(t=[],(_=d({},l)).__v=l.__v+1,A(r,l,_,n.__n,void 0!==r.ownerSVGElement,null!=l.__h?[o]:null,t,null==o?g(l):o,l.__h),N(t,l),l.__e!=o&&b(l)))}))}function P(e,n,t,_,l,o,r,i,u,s){var c,a,d,h,v,k,b,C=_&&_.__k||p,x=C.length;for(t.__k=[],c=0;c<n.length;c++)if(null!=(h=t.__k[c]=null==(h=n[c])||"boolean"==typeof h?null:"string"==typeof h||"number"==typeof h?y(null,h,null,null,h):Array.isArray(h)?y(m,{children:h},null,null,null):h.__b>0?y(h.type,h.props,h.key,null,h.__v):h)){if(h.__=t,h.__b=t.__b+1,null===(d=C[c])||d&&h.key==d.key&&h.type===d.type)C[c]=void 0;else for(a=0;a<x;a++){if((d=C[a])&&h.key==d.key&&h.type===d.type){C[a]=void 0;break}d=null}A(e,h,d=d||f,l,o,r,i,u,s),v=h.__e,(a=h.ref)&&d.ref!=a&&(b||(b=[]),d.ref&&b.push(d.ref,null,h),b.push(a,h.__c||v,h)),null!=v?(null==k&&(k=v),"function"==typeof h.type&&null!=h.__k&&h.__k===d.__k?h.__d=u=S(h,u,e):u=E(e,h,d,C,v,u),s||"option"!==t.type?"function"==typeof t.type&&(t.__d=u):e.value=""):u&&d.__e==u&&u.parentNode!=e&&(u=g(d))}for(t.__e=k,c=x;c–;)null!=C[c]&&("function"==typeof t.type&&null!=C[c].__e&&C[c].__e==t.__d&&(t.__d=g(_,c+1)),M(C[c],C[c]));if(b)for(c=0;c<b.length;c++)L(b[c],b[++c],b[++c])}function S(e,n,t){var _,l;for(_=0;_<e.__k.length;_++)(l=e.__k[_])&&(l.__=e,n="function"==typeof l.type?S(l,n,t):E(t,l,l,e.__k,l.__e,n));return n}function E(e,n,t,_,l,o){var r,i,u;if(void 0!==n.__d)r=n.__d,n.__d=void 0;else if(null==t||l!=o||null==l.parentNode)e:if(null==o||o.parentNode!==e)e.appendChild(l),r=null;else{for(i=o,u=0;(i=i.nextSibling)&&u<_.length;u+=2)if(i==l)break e;e.insertBefore(l,o),r=o}return void 0!==r?r:l.nextSibling}function w(e,n,t){"-"===n[0]?e.setProperty(n,t):e[n]=null==t?"":"number"!=typeof t||a.test(n)?t:t+"px"}function U(e,n,t,_,l){var o;e:if("style"===n)if("string"==typeof t)e.style.cssText=t;else{if("string"==typeof _&&(e.style.cssText=_=""),_)for(n in _)t&&n in t||w(e.style,n,"");if(t)for(n in t)_&&t[n]===_[n]||w(e.style,n,t[n])}else if("o"===n[0]&&"n"===n[1])o=n!==(n=n.replace(/Capture$/,"")),n=n.toLowerCase()in e?n.toLowerCase().slice(2):n.slice(2),e.l||(e.l={}),e.l[n+o]=t,t?_||e.addEventListener(n,o?T:D,o):e.removeEventListener(n,o?T:D,o);else if("dangerouslySetInnerHTML"!==n){if(l)n=n.replace(/xlink[H:h]/,"h").replace(/sName$/,"s");else if("href"!==n&&"list"!==n&&"form"!==n&&"download"!==n&&n in e)try{e[n]=null==t?"":t;break e}catch(e){}"function"==typeof t||(null!=t&&(!1!==t||"a"===n[0]&&"r"===n[1])?e.setAttribute(n,t):e.removeAttribute(n))}}function D(e){this.l[e.type+!1](o.event?o.event(e):e)}function T(e){this.l[e.type+!0](o.event?o.event(e):e)}function A(e,n,t,_,l,r,i,u,s){var c,f,p,a,h,v,y,g,b,C,x,S=n.type;if(void 0!==n.constructor)return null;null!=t.__h&&(s=t.__h,u=n.__e=t.__e,n.__h=null,r=[u]),(c=o.__b)&&c(n);try{e:if("function"==typeof S){if(g=n.props,b=(c=S.contextType)&&_[c.__c],C=c?b?b.props.value:c.__:_,t.__c?y=(f=n.__c=t.__c).__=f.__E:("prototype"in S&&S.prototype.render?n.__c=f=new S(g,C):(n.__c=f=new k(g,C),f.constructor=S,f.render=F),b&&b.sub(f),f.props=g,f.state||(f.state={}),f.context=C,f.__n=_,p=f.__d=!0,f.__h=[]),null==f.__s&&(f.__s=f.state),null!=S.getDerivedStateFromProps&&(f.__s==f.state&&(f.__s=d({},f.__s)),d(f.__s,S.getDerivedStateFromProps(g,f.__s))),a=f.props,h=f.state,p)null==S.getDerivedStateFromProps&&null!=f.componentWillMount&&f.componentWillMount(),null!=f.componentDidMount&&f.__h.push(f.componentDidMount);else{if(null==S.getDerivedStateFromProps&&g!==a&&null!=f.componentWillReceiveProps&&f.componentWillReceiveProps(g,C),!f.__e&&null!=f.shouldComponentUpdate&&!1===f.shouldComponentUpdate(g,f.__s,C)||n.__v===t.__v){f.props=g,f.state=f.__s,n.__v!==t.__v&&(f.__d=!1),f.__v=n,n.__e=t.__e,n.__k=t.__k,f.__h.length&&i.push(f);break e}null!=f.componentWillUpdate&&f.componentWillUpdate(g,f.__s,C),null!=f.componentDidUpdate&&f.__h.push((function(){f.componentDidUpdate(a,h,v)}))}f.context=C,f.props=g,f.state=f.__s,(c=o.__r)&&c(n),f.__d=!1,f.__v=n,f.__P=e,c=f.render(f.props,f.state,f.context),f.state=f.__s,null!=f.getChildContext&&(_=d(d({},_),f.getChildContext())),p||null==f.getSnapshotBeforeUpdate||(v=f.getSnapshotBeforeUpdate(a,h)),x=null!=c&&c.type===m&&null==c.key?c.props.children:c,P(e,Array.isArray(x)?x:[x],n,t,_,l,r,i,u,s),f.base=n.__e,n.__h=null,f.__h.length&&i.push(f),y&&(f.__E=f.__=null),f.__e=!1}else null==r&&n.__v===t.__v?(n.__k=t.__k,n.__e=t.__e):n.__e=W(t.__e,n,t,_,l,r,i,s);(c=o.diffed)&&c(n)}catch(e){n.__v=null,(s||null!=r)&&(n.__e=u,n.__h=!!s,r[r.indexOf(u)]=null),o.__e(e,n,t)}}function N(e,n){o.__c&&o.__c(n,e),e.some((function(n){try{e=n.__h,n.__h=[],e.some((function(e){e.call(n)}))}catch(e){o.__e(e,n.__v)}}))}function W(e,n,t,_,l,o,r,i){var u,s,c,a,d=t.props,v=n.props,y=n.type,m=0;if("svg"===y&&(l=!0),null!=o)for(;m<o.length;m++)if((u=o[m])&&(u===e||(y?u.localName==y:3==u.nodeType))){e=u,o[m]=null;break}if(null==e){if(null===y)return document.createTextNode(v);e=l?document.createElementNS("http://www.w3.org/2000/svg",y):document.createElement(y,v.is&&v),o=null,i=!1}if(null===y)d===v||i&&e.data===v||(e.data=v);else{if(o=o&&p.slice.call(e.childNodes),s=(d=t.props||f).dangerouslySetInnerHTML,c=v.dangerouslySetInnerHTML,!i){if(null!=o)for(d={},a=0;a<e.attributes.length;a++)d[e.attributes[a].name]=e.attributes[a].value;(c||s)&&(c&&(s&&c.__html==s.__html||c.__html===e.innerHTML)||(e.innerHTML=c&&c.__html||""))}if(function(e,n,t,_,l){var o;for(o in t)"children"===o||"key"===o||o in n||U(e,o,null,t[o],_);for(o in n)l&&"function"!=typeof n[o]||"children"===o||"key"===o||"value"===o||"checked"===o||t[o]===n[o]||U(e,o,n[o],t[o],_)}(e,v,d,l,i),c)n.__k=[];else if(m=n.props.children,P(e,Array.isArray(m)?m:[m],n,t,_,l&&"foreignObject"!==y,o,r,e.firstChild,i),null!=o)for(m=o.length;m–;)null!=o[m]&&h(o[m]);i||("value"in v&&void 0!==(m=v.value)&&(m!==e.value||"progress"===y&&!m)&&U(e,"value",m,d.value,!1),"checked"in v&&void 0!==(m=v.checked)&&m!==e.checked&&U(e,"checked",m,d.checked,!1))}return e}function L(e,n,t){try{"function"==typeof e?e(n):e.current=n}catch(e){o.__e(e,t)}}function M(e,n,t){var _,l,r;if(o.unmount&&o.unmount(e),(_=e.ref)&&(_.current&&_.current!==e.__e||L(_,null,n)),t||"function"==typeof e.type||(t=null!=(l=e.__e)),e.__e=e.__d=void 0,null!=(_=e.__c)){if(_.componentWillUnmount)try{_.componentWillUnmount()}catch(e){o.__e(e,n)}_.base=_.__P=null}if(_=e.__k)for(r=0;r<_.length;r++)_[r]&&M(_[r],n,t);null!=l&&h(l)}function F(e,n,t){return this.constructor(e,t)}function H(e,n,t){var _,l,r;o.__&&o.__(e,n),l=(_="function"==typeof t)?null:t&&t.__k||n.__k,r=[],A(n,e=(!_&&t||n).__k=v(m,null,[e]),l||f,f,void 0!==n.ownerSVGElement,!_&&t?[t]:l?null:n.firstChild?p.slice.call(n.childNodes):null,r,!_&&t?t:l?l.__e:n.firstChild,_),N(r,e)}t.options=o,t.isValidElement=r,t.createElement=v,t.h=v,t.createRef=function(){return{current:null}},t.Fragment=m,t.Component=k,t.toChildArray=function e(n,t){return t=t||[],null==n||"boolean"==typeof n||(Array.isArray(n)?n.some((function(n){e(n,t)})):t.push(n)),t},t.render=H,t.hydrate=function e(n,t){H(n,t,e)},t.cloneElement=function(e,n,t){var _,l,o,r=arguments,i=d({},e.props);for(o in n)"key"==o?_=n[o]:"ref"==o?l=n[o]:i[o]=n[o];if(arguments.length>3)for(t=[t],o=3;o<arguments.length;o++)t.push(r[o]);return null!=t&&(i.children=t),y(e.type,i,_||e.key,l||e.ref,null)},t.createContext=function(e,n){var t={__c:n="__cC"+c++,__:e,Consumer:function(e,n){return e.children(n)},Provider:function(e){var t,_;return this.getChildContext||(t=[],(_={})[n]=this,this.getChildContext=function(){return _},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&t.some(C)},this.sub=function(e){t.push(e);var n=e.componentWillUnmount;e.componentWillUnmount=function(){t.splice(t.indexOf(e),1),n&&n.call(e)}}),e.children}};return t.Provider.__=t.Consumer.contextType=t},t.options=o={__e:function(e,n){for(var t,_,l;n=n.__;)if((t=n.__c)&&!t.__)try{if((_=t.constructor)&&null!=_.getDerivedStateFromError&&(t.setState(_.getDerivedStateFromError(e)),l=t.__d),null!=t.componentDidCatch&&(t.componentDidCatch(e),l=t.__d),l)return t.__E=t}catch(n){e=n}throw e},__v:0},t.isValidElement=r=function(e){return null!=e&&void 0===e.constructor},k.prototype.setState=function(e,n){var t;t=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),"function"==typeof e&&(e=e(d({},t),this.props)),e&&d(t,e),null!=e&&this.__v&&(n&&this.__h.push(n),C(this))},k.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),C(this))},k.prototype.render=m,i=[],u="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,x.__r=0,c=0},n "4c02a9b43f": function _(_,n,t,o,u){o();const e=_("6f11f2ef27");var i,c,r,f=0,a=[],s=e.options.__b,h=e.options.__r,p=e.options.diffed,v=e.options.__c,m=e.options.unmount;function l(_,n){e.options.__h&&e.options.__h(c,_,f||n),f=0;var t=c.__H||(c.__H={__:[],__h:[]});return _>=t.__.length&&t.__.push({}),t.__[_]}function H(_){return f=1,d(q,_)}function d(_,n,t){var o=l(i++,2);return o.t=_,o.__c||(o.__=[t?t(n):q(void 0,n),function(_){var n=o.t(o.__[0],_);o.__[0]!==n&&(o.__=[n,o.__[1]],o.__c.setState({}))}],o.__c=c),o.__}function E(_,n){var t=l(i++,4);!e.options.__s&&F(t.__H,n)&&(t.__=_,t.__H=n,c.__h.push(t))}function y(_,n){var t=l(i++,7);return F(t.__H,n)&&(t.__=_(),t.__H=n,t.__h=_),t.__}function b(){a.forEach((function(_){if(_.__P)try{_.__H.__h.forEach(A),_.__H.__h.forEach(D),_.__H.__h=[]}catch(n){_.__H.__h=[],e.options.__e(n,_.__v)}})),a=[]}t.useState=H,t.useReducer=d,t.useEffect=function(_,n){var t=l(i++,3);!e.options.__s&&F(t.__H,n)&&(t.__=_,t.__H=n,c.__H.__h.push(t))},t.useLayoutEffect=E,t.useRef=function(_){return f=5,y((function(){return{current:_}}),[])},t.useImperativeHandle=function(_,n,t){f=6,E((function(){"function"==typeof _?_(n()):_&&(_.current=n())}),null==t?t:t.concat(_))},t.useMemo=y,t.useCallback=function(_,n){return f=8,y((function(){return _}),n)},t.useContext=function(_){var n=c.context[_.__c],t=l(i++,9);return t.__c=_,n?(null==t.__&&(t.__=!0,n.sub(c)),n.props.value):_.__},t.useDebugValue=function(_,n){e.options.useDebugValue&&e.options.useDebugValue(n?n(_):_)},t.useErrorBoundary=function(_){var n=l(i++,10),t=H();return n.__=_,c.componentDidCatch||(c.componentDidCatch=function(_){n.__&&n.__(_),t[1](_)}),[t[0],function(){t[1](void 0)}]},e.options.__b=function(_){c=null,s&&s(_)},e.options.__r=function(_){h&&h(_),i=0;var n=(c=_.__c).__H;n&&(n.__h.forEach(A),n.__h.forEach(D),n.__h=[])},e.options.diffed=function(_){p&&p(_);var n=_.__c;n&&n.__H&&n.__H.__h.length&&(1!==a.push(n)&&r===e.options.requestAnimationFrame||((r=e.options.requestAnimationFrame)||function(_){var n,t=function(){clearTimeout(o),g&&cancelAnimationFrame(n),setTimeout(_)},o=setTimeout(t,100);g&&(n=requestAnimationFrame(t))})(b)),c=void 0},e.options.__c=function(_,n){n.some((function(_){try{_.__h.forEach(A),_.__h=_.__h.filter((function(_){return!_.__||D(_)}))}catch(t){n.some((function(_){_.__h&&(_.__h=[])})),n=[],e.options.__e(t,_.__v)}})),v&&v(_,n)},e.options.unmount=function(_){m&&m(_);var n=_.__c;if(n&&n.__H)try{n.__H.__.forEach(A)}catch(_){e.options.__e(_,n.__v)}};var g="function"==typeof requestAnimationFrame;function A(_){var n=c;"function"==typeof _.__c&&_.__c(),c=n}function D(_){var n=c;_.__c=_.__(),c=n}function F(_,n){return!_||_.length!==n.length||n.some((function(n,t){return n!==_[t]}))}function q(_,n){return"function"==typeof n?n(_):n}},n "b3f51db71c": function _(e,f,n,t,o){t();const r=e("tslib"),d=e("6f11f2ef27");var a=e("6f11f2ef27");o("h",a.h),o("render",a.render),o("Component",a.Component);var h=r.__importDefault(e("ab33dd3f38")).default.bind(d.h);n.html=h},n "ab33dd3f38": function _(n,t,s,u,r){u();var e=function(n,t,s,u){var r;t[0]=0;for(var h=1;h<t.length;h++){var p=t[h++],a=t[h]?(t[0]|=p?1:2,s[t[h++]]):t[++h];3===p?u[0]=a:4===p?u[1]=Object.assign(u[1]||{},a):5===p?(u[1]=u[1]||{})[t[++h]]=a:6===p?u[1][t[++h]]+=a+"":p?(r=n.apply(a,e(n,a,s,["",null])),u.push(r),a[0]?t[0]|=2:(t[h-2]=0,t[h]=r)):u.push(a)}return u},h=new Map;s.default=function(n){var t=h.get(this);return t||(t=new Map,h.set(this,t)),(t=e(this,t.get(n)||(t.set(n,t=function(n){for(var t,s,u=1,r="",e="",h=[0],p=function(n){1===u&&(n||(r=r.replace(/^\s\n\s*|\s*\n\s*$/g,"")))?h.push(0,n,r):3===u&&(n||r)?(h.push(3,n,r),u=2):2===u&&"…"===r&&n?h.push(4,n,0):2===u&&r&&!n?h.push(5,0,!0,r):u>=5&&((r||!n&&5===u)&&(h.push(u,0,r,s),u=6),n&&(h.push(u,n,0,s),u=6)),r=""},a=0;a<n.length;a++){a&&(1===u&&p(),p(a));for(var f=0;f<n[a].length;f++)t=n[a][f],1===u?"<"===t?(p(),h=[h],u=3):r+=t:4===u?"–"===r&&">"===t?(u=1,r=""):r=t+r[0]:e?t===e?e="":r+=t:’"’===t||"’"===t?e=t:">"===t?(p(),u=1):u&&("="===t?(u=5,s=r,r=""):"/"===t&&(u<5||">"===n[a][f+1])?(p(),3===u&&(h=h[0]),u=h,(h=h[0]).push(2,0,u),u=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(p(),u=2):r+=t),3===u&&"!–"===r&&(u=4,h=h[0])}return p(),h}(n)),t),arguments,[])).length>1?t:t[0]}},n "cbecfde9cd": function _(e,n,t,o,a){var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var n,t=1,o=arguments.length;t<o;t++)for(var a in n=arguments[t])Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a]);return e}).apply(this,arguments)};o();n /!n * https://github.com/Starcounter-Jack/JSON-Patchn * (c) 2017 Joachim Western * MIT licensen */n var p=e("cb21060ee5"),s=e("b2f693e532"),c=e("b2f693e532");t.applyOperation=c.applyOperation,t.applyPatch=c.applyPatch,t.applyReducer=c.applyReducer,t.getValueByPointer=c.getValueByPointer,t.validate=c.validate,t.validator=c.validator;var i=e("cb21060ee5");t.JsonPatchError=i.PatchError,t.deepClone=i._deepClone,t.escapePathComponent=i.escapePathComponent,t.unescapePathComponent=i.unescapePathComponent;var u=new WeakMap,l=function(e){this.observers=new Map,this.obj=e},v=function(e,n){this.callback=e,this.observer=n};function h(e,n){n.unobserve()}function d(e,n){var t,o=function(e){return u.get(e)}(e);if(o){var a=function(e,n){return e.observers.get(n)}(o,n);t=a&&a.observer}else o=new l(e),u.set(e,o);if(t)return t;if(t={},o.value=p._deepClone(e),n){t.callback=n,t.next=null;var r=function(){f(t)},s=function(){clearTimeout(t.next),t.next=setTimeout(r)};"undefined"!=typeof window&&(window.addEventListener("mouseup",s),window.addEventListener("keyup",s),window.addEventListener("mousedown",s),window.addEventListener("keydown",s),window.addEventListener("change",s))}return t.patches=[],t.object=e,t.unobserve=function(){f(t),clearTimeout(t.next),function(e,n){e.observers.delete(n.callback)}(o,t),"undefined"!=typeof window&&(window.removeEventListener("mouseup",s),window.removeEventListener("keyup",s),window.removeEventListener("mousedown",s),window.removeEventListener("keydown",s),window.removeEventListener("change",s))},o.observers.set(n,new v(n,t)),t}function f(e,n){void 0===n&&(n=!1);var t=u.get(e.object);w(t.value,e.object,e.patches,"",n),e.patches.length&&s.applyPatch(t.value,e.patches);var o=e.patches;return o.length>0&&(e.patches=[],e.callback&&e.callback(o)),o}function w(e,n,t,o,a){if(n!==e){"function"==typeof n.toJSON&&(n=n.toJSON());for(var r=p._objectKeys(n),s=p._objectKeys(e),c=!1,i=s.length-1;i>=0;i–){var u=e[v=s[i]];if(!p.hasOwnProperty(n,v)||void 0===n[v]&&void 0!==u&&!1===Array.isArray(n))Array.isArray(e)===Array.isArray(n)?(a&&t.push({op:"test",path:o+"/"+p.escapePathComponent(v),value:p._deepClone(u)}),t.push({op:"remove",path:o+"/"+p.escapePathComponent(v)}),c=!0):(a&&t.push({op:"test",path:o,value:e}),t.push({op:"replace",path:o,value:n}),!0);else{var l=n[v];"object"==typeof u&&null!=u&&"object"==typeof l&&null!=l?w(u,l,t,o+"/"+p.escapePathComponent(v),a):u!==l&&(!0,a&&t.push({op:"test",path:o+"/"+p.escapePathComponent(v),value:p._deepClone(u)}),t.push({op:"replace",path:o+"/"+p.escapePathComponent(v),value:p._deepClone(l)}))}}if(c||r.length!=s.length)for(i=0;i<r.length;i++){var v=r[i];p.hasOwnProperty(e,v)||void 0===n[v]||t.push({op:"add",path:o+"/"+p.escapePathComponent(v),value:p._deepClone(n[v])})}}}function b(e,n,t){void 0===t&&(t=!1);var o=[];return w(e,n,o,"",t),o}t.unobserve=h,t.observe=d,t.generate=f,t.compare=b;var y=e("b2f693e532"),m=e("cb21060ee5");t.default=r({},y,{unobserve:h,observe:d,generate:f,compare:b,JsonPatchError:m.PatchError,deepClone:p._deepClone,escapePathComponent:p.escapePathComponent,unescapePathComponent:m.unescapePathComponent})},n "cb21060ee5": function _(r,e,t,n,o){n /!n * https://github.com/Starcounter-Jack/JSON-Patchn * (c) 2017 Joachim Western * MIT licensen /n var i,f=this&&this.__extends||(i=function(r,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,e){r.__proto__=e}||function(r,e){for(var t in e)e.hasOwnProperty(t)&&(r[t]=e[t])})(r,e)},function(r,e){function t(){this.constructor=r}i(r,e),r.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t)});n();var u=Object.prototype.hasOwnProperty;function a(r,e){return u.call(r,e)}function c(r){if(Array.isArray(r)){for(var e=new Array(r.length),t=0;t<e.length;t++)e[t]=""+t;return e}if(Object.keys)return Object.keys(r);e=[];for(var n in r)a(r,n)&&e.push(n);return e}function p(r){return-1===r.indexOf("/")&&-1===r.indexOf("~")?r:r.replace(/~/g,"~0").replace(/\//g,"~1")}function s(r,e){var t;for(var n in r)if(a(r,n)){if(r[n]===e)return p(n)+"/";if("object"==typeof r[n]&&""!=(t=s(r[n],e)))return p(n)+"/"+t}return""}function h(r,e){var t=[r];for(var n in e){var o="object"==typeof e[n]?JSON.stringify(e[n],null,2):e[n];void 0!==o&&t.push(n+": "+o)}return t.join("\n")}t.hasOwnProperty=a,t._objectKeys=c,t._deepClone=function(r){switch(typeof r){case"object":return JSON.parse(JSON.stringify(r));case"undefined":return null;default:return r}},t.isInteger=function(r){for(var e,t=0,n=r.length;t<n;){if(!((e=r.charCodeAt(t))>=48&&e<=57))return!1;t++}return!0},t.escapePathComponent=p,t.unescapePathComponent=function(r){return r.replace(/~1/g,"/").replace(/~0/g,"~")},t._getPathRecursive=s,t.getPath=function(r,e){if(r===e)return"/";var t=s(r,e);if(""===t)throw new Error("Object not found in root");return"/"+t},t.hasUndefined=function r(e){if(void 0===e)return!0;if(e)if(Array.isArray(e)){for(var t=0,n=e.length;t<n;t++)if(r(e[t]))return!0}else if("object"==typeof e){var o=c(e),i=o.length;for(t=0;t<i;t++)if(r(e[o[t]]))return!0}return!1};var y=function(r){function e(e,t,n,o,i){var f=this.constructor,u=r.call(this,h(e,{name:t,index:n,operation:o,tree:i}))||this;return u.name=t,u.index=n,u.operation=o,u.tree=i,Object.setPrototypeOf(u,f.prototype),u.message=h(e,{name:t,index:n,operation:o,tree:i}),u}return f(e,r),e}(Error);t.PatchError=y},n "b2f693e532": function _(e,t,o,r,n){r();var a=e("0c8122087b"),i=e("cb21060ee5");o.JsonPatchError=i.PatchError,o.deepClone=i._deepClone;var p={add:function(e,t,o){return e[t]=this.value,{newDocument:o}},remove:function(e,t,o){var r=e[t];return delete e[t],{newDocument:o,removed:r}},replace:function(e,t,o){var r=e[t];return e[t]=this.value,{newDocument:o,removed:r}},move:function(e,t,o){var r=h(o,this.path);r&&(r=i._deepClone(r));var n=c(o,{op:"remove",path:this.from}).removed;return c(o,{op:"add",path:this.path,value:n}),{newDocument:o,removed:r}},copy:function(e,t,o){var r=h(o,this.from);return c(o,{op:"add",path:this.path,value:i._deepClone(r)}),{newDocument:o}},test:function(e,t,o){return{newDocument:o,test:a(e[t],this.value)}},_get:function(e,t,o){return this.value=e[t],{newDocument:o}}},s={add:function(e,t,o){return i.isInteger(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:o,index:t}},remove:function(e,t,o){return{newDocument:o,removed:e.splice(t,1)[0]}},replace:function(e,t,o){var r=e[t];return e[t]=this.value,{newDocument:o,removed:r}},move:p.move,copy:p.copy,test:p.test,_get:p._get};function h(e,t){if(""==t)return e;var o={op:"_get",path:t};return c(e,o),o.value}function c(e,t,r,n,c,u){if(void 0===r&&(r=!1),void 0===n&&(n=!0),void 0===c&&(c=!0),void 0===u&&(u=0),r&&("function"==typeof r?r(t,0,e,t.path):d(t,0)),""===t.path){var f={newDocument:e};if("add"===t.op)return f.newDocument=t.value,f;if("replace"===t.op)return f.newDocument=t.value,f.removed=e,f;if("move"===t.op||"copy"===t.op)return f.newDocument=h(e,t.from),"move"===t.op&&(f.removed=e),f;if("test"===t.op){if(f.test=a(e,t.value),!1===f.test)throw new o.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",u,t,e);return f.newDocument=e,f}if("remove"===t.op)return f.removed=e,f.newDocument=null,f;if("_get"===t.op)return t.value=e,f;if(r)throw new o.JsonPatchError("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",u,t,e);return f}n||(e=i._deepClone(e));var l=(t.path||"").split("/"),v=e,E=1,_=l.length,O=void 0,w=void 0,A=void 0;for(A="function"==typeof r?r:d;;){if(w=l[E],c&&"__proto__"==w)throw new TypeError("JSON-Patch: modifying `__proto__` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(r&&void 0===O&&(void 0===v[w]?O=l.slice(0,E).join("/"):E==_-1&&(O=t.path),void 0!==O&&A(t,0,e,O)),E++,Array.isArray(v)){if("-"===w)w=v.length;else{if(r&&!i.isInteger(w))throw new o.JsonPatchError("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",u,t,e);i.isInteger(w)&&(w=~~w)}if(E>=_){if(r&&"add"===t.op&&w>v.length)throw new o.JsonPatchError("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",u,t,e);if(!1===(f=s[t.op].call(t,v,w,e)).test)throw new o.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",u,t,e);return f}}else if(w&&-1!=w.indexOf("~")&&(w=i.unescapePathComponent(w)),E>=_){if(!1===(f=p[t.op].call(t,v,w,e)).test)throw new o.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",u,t,e);return f}v=v[w]}}function u(e,t,r,n,a){if(void 0===n&&(n=!0),void 0===a&&(a=!0),r&&!Array.isArray(t))throw new o.JsonPatchError("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");n||(e=i._deepClone(e));for(var p=new Array(t.length),s=0,h=t.length;s<h;s++)p[s]=c(e,t[s],r,!0,a,s),e=p[s].newDocument;return p.newDocument=e,p}function f(e,t,r){var n=c(e,t);if(!1===n.test)throw new o.JsonPatchError("Test operation failed","TEST_OPERATION_FAILED",r,t,e);return n.newDocument}function d(e,t,r,n){if("object"!=typeof e||null===e||Array.isArray(e))throw new o.JsonPatchError("Operation is not an object","OPERATION_NOT_AN_OBJECT",t,e,r);if(!p[e.op])throw new o.JsonPatchError("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",t,e,r);if("string"!=typeof e.path)throw new o.JsonPatchError("Operation `path` property is not a string","OPERATION_PATH_INVALID",t,e,r);if(0!==e.path.indexOf("/")&&e.path.length>0)throw new o.JsonPatchError(‘Operation `path` property must start with "/"’,"OPERATION_PATH_INVALID",t,e,r);if(("move"===e.op||"copy"===e.op)&&"string"!=typeof e.from)throw new o.JsonPatchError("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,r);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&void 0===e.value)throw new o.JsonPatchError("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,r);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&i.hasUndefined(e.value))throw new o.JsonPatchError("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,r);if(r)if("add"==e.op){var a=e.path.split("/").length,s=n.split("/").length;if(a!==s+1&&a!==s)throw new o.JsonPatchError("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,r)}else if("replace"===e.op||"remove"===e.op||"_get"===e.op){if(e.path!==n)throw new o.JsonPatchError("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,r)}else if("move"===e.op||"copy"===e.op){var h=l([{op:"_get",path:e.from,value:void 0}],r);if(h&&"OPERATION_PATH_UNRESOLVABLE"===h.name)throw new o.JsonPatchError("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,r)}}function l(e,t,r){try{if(!Array.isArray(e))throw new o.JsonPatchError("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)u(i._deepClone(t),i._deepClone(e),r||!0);else{r=r||d;for(var n=0;n<e.length;n++)r(e[n],n,t,void 0)}}catch(e){if(e instanceof o.JsonPatchError)return e;throw e}}o.getValueByPointer=h,o.applyOperation=c,o.applyPatch=u,o.applyReducer=f,o.validator=d,o.validate=l,o.default={JsonPatchError:o.JsonPatchError,deepClone:o.deepClone,getValueByPointer:h,applyOperation:c,applyPatch:u,applyReducer:f,validator:d,validate:l}},n "0c8122087b": function _(r,t,e,n,f){var i=Array.isArray,o=Object.keys,u=Object.prototype.hasOwnProperty;t.exports=function r(t,e){if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e){var n,f,a,c=i(t),g=i(e);if(c&&g){if((f=t.length)!=e.length)return!1;for(n=f;0!=n–;)if(!r(t[n],e[n]))return!1;return!0}if(c!=g)return!1;var p=t instanceof Date,s=e instanceof Date;if(p!=s)return!1;if(p&&s)return t.getTime()==e.getTime();var y=t instanceof RegExp,l=e instanceof RegExp;if(y!=l)return!1;if(y&&l)return t.toString()==e.toString();var h=o(t);if((f=h.length)!==o(e).length)return!1;for(n=f;0!=n–;)if(!u.call(e,h[n]))return!1;for(n=f;0!=n–;)if(!r(t[a=h[n]],e[a]))return!1;return!0}return t!=t&&e!=e}},n "3329d4aa5b": function _(e,t,o,a,i){function n(e){const t={type:e.type};return"value"in e.target&&(t.value=e.target.value),e.type in c&&Object.assign(t,c[e.type](e)),t}a(),o.serializeEvent=n;const r={clipboard:e=>({clipboardData:e.clipboardData}),composition:e=>({data:e.data}),keyboard:e=>({altKey:e.altKey,charCode:e.charCode,ctrlKey:e.ctrlKey,key:e.key,keyCode:e.keyCode,locale:e.locale||null,location:e.location,metaKey:e.metaKey,repeat:e.repeat,shiftKey:e.shiftKey,which:e.which}),mouse:e=>({altKey:e.altKey,button:e.button,buttons:e.buttons,clientX:e.clientX,clientY:e.clientY,ctrlKey:e.ctrlKey,metaKey:e.metaKey,pageX:e.pageX,pageY:e.pageY,screenX:e.screenX,screenY:e.screenY,shiftKey:e.shiftKey}),pointer:e=>({pointerId:e.pointerId,width:e.width,height:e.height,pressure:e.pressure,tiltX:e.tiltX,tiltY:e.tiltY,pointerType:e.pointerType,isPrimary:e.isPrimary}),touch:e=>({altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey}),ui:e=>({detail:e.detail}),wheel:e=>({deltaMode:e.deltaMode,deltaX:e.deltaX,deltaY:e.deltaY,deltaZ:e.deltaZ}),animation:e=>({animationName:e.animationName,pseudoElement:e.pseudoElement,elapsedTime:e.elapsedTime}),transition:e=>({propertyName:e.propertyName,pseudoElement:e.pseudoElement,elapsedTime:e.elapsedTime})},l={clipboard:["copy","cut","paste"],composition:["compositionend","compositionstart","compositionupdate"],keyboard:["keydown","keypress","keyup"],mouse:["click","contextmenu","doubleclick","drag","dragend","dragenter","dragexit","dragleave","dragover","dragstart","drop","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup"],pointer:["pointerdown","pointermove","pointerup","pointercancel","gotpointercapture","lostpointercapture","pointerenter","pointerleave","pointerover","pointerout"],selection:["select"],touch:["touchcancel","touchend","touchmove","touchstart"],ui:["scroll"],wheel:["wheel"],animation:["animationstart","animationend","animationiteration"],transition:["transitionend"]},c={};Object.keys(l).forEach((e=>{l[e].forEach((t=>{c[t]=r[e]}))})),o.default=n},n "0eae77d68f": function _(e,i,t,n,d){n();const s=e("@bokehjs/models/layouts/html_box"),l=e("7116a7a602"),o=window.Jupyter;class a extends l.PanelHTMLBoxView{constructor(){super(…arguments),this.rendered=!1}render(){super.render(),this._render().then((()=>{this.rendered=!0,this.invalidate_layout(),this.notify_finished()}))}has_finished(){return this.rendered&&super.has_finished()}async _render(){const{spec:e,state:i}=this.model.bundle;let t;if(null!=o&&null!=o.notebook?t=o.notebook.kernel.widget_manager:null!=window.PyViz.widget_manager&&(t=window.PyViz.widget_manager),t)if(null==this.ipyview){const n=(await t.set_state(i)).find((i=>i.model_id==e.model_id));if(null!=n){const e=await t.create_view(n,{el:this.el});if(this.ipyview=e,e.children_views)for(const i of e.children_views.views)await i;this.el.appendChild(e.el),e.trigger("displayed",e)}}else this.el.appendChild(this.ipyview.el);else console.log("Panel IPyWidget model could not find a WidgetManager")}}t.IPyWidgetView=a,a.__name__="IPyWidgetView";class r extends s.HTMLBox{constructor(e){super(e)}static init_IPyWidget(){this.prototype.default_view=a,this.define((({Any:e})=>({bundle:[e,{}]})))}}t.IPyWidget=r,r.__name__="IPyWidget",r.__module__="panel.models.ipywidget",r.init_IPyWidget()},n "5284fdbb37": function _(e,t,r,s,n){s();const i=e("tslib"),o=e("@bokehjs/core/kinds"),d=e("@bokehjs/models/widgets/markup"),l=i.__importDefault(e("18bba7b7e1")),a=e("7116a7a602");class h extends a.PanelMarkupView{connect_signals(){super.connect_signals();const{depth:e,hover_preview:t,theme:r}=this.model.properties;this.on_change([e,t,r],(()=>this.render()))}render(){super.render();const e=this.model.text.replace(/(\r\n|\n|\r)/gm,"").replace("’",’"’);let t;try{t=window.JSON.parse(e)}catch(e){return void(this.markup_el.innerHTML="<b>Invalid JSON:</b> "+e.toString())}const r={hoverPreviewEnabled:this.model.hover_preview,theme:this.model.theme},s=null==this.model.depth?1/0:this.model.depth,n=new l.default(t,s,r).render();let i="border-radius: 5px; padding: 10px;";"dark"==this.model.theme?n.style.cssText="background-color: rgb(30, 30, 30);"+i:n.style.cssText=i,this.markup_el.append(n)}}r.JSONView=h,h.__name__="JSONView",r.JSONTheme=o.Enum("dark","light");class p extends d.Markup{constructor(e){super(e)}static init_JSON(){this.prototype.default_view=h,this.define((({Boolean:e,Int:t,Nullable:s})=>({depth:[s(t),1],hover_preview:[e,!1],theme:[r.JSONTheme,"dark"]})))}}r.JSON=p,p.__name__="JSON",p.__module__="panel.models.markup",p.init_JSON()},n "18bba7b7e1": function _(t,e,r,n,o){function i(t){return null===t?"null":typeof t}function s(t){return!!t&&"object"==typeof t}function a(t){if(void 0===t)return"";if(null===t)return"Object";if("object"==typeof t&&!t.constructor)return"Object";var e=/function ([^(])/.exec(t.constructor.toString());return e&&e.length>1?e[1]:""}function f(t,e,r){return"null"===t||"undefined"===t?t:("string"!==t&&"stringifiable"!==t||(r=’"’+r.replace(/"/g,’\\"’)+’"’),"function"===t?e.toString().replace(/[\r\n]/g,"").replace(/\{.*\}/,"")+"{…}":r)}function m(t){var e="";return s(t)?(e=a(t),Array.isArray(t)&&(e+="["+t.length+"]")):e=f(i(t),t,t),e}function l(t){return"json-formatter-"+t}function d(t,e,r){var n=document.createElement(t);return e&&n.classList.add(l(e)),void 0!==r&&(r instanceof Node?n.appendChild(r):n.appendChild(document.createTextNode(String(r)))),n}n(),function(t){if("undefined"!=typeof window){var e=document.createElement("style");e.setAttribute("media","screen"),e.innerHTML=t,document.head.appendChild(e)}}(‘.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: "►";\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: "►";\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’);var c=/(^\d{1,4}[.|\\/|-]\\d{1,2}[\\.|\\/|-]\\d{1,4})(\\s*(?:0?[1-9]:[0-5]|1(?=[012])\\d:[0-5])\\d\\s*[ap]m)?$/,p=/\\d{2}:\\d{2}:\\d{2} GMT-\\d{4}/,j=/\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/,h=window.requestAnimationFrame||function(t){return t(),0},u={hoverPreviewEnabled:!1,hoverPreviewArrayCount:100,hoverPreviewFieldCount:5,animateOpen:!0,animateClose:!0,theme:null,useToJSON:!0,sortPropertiesBy:null},g=function(){function t(t,e,r,n){void 0===e&&(e=1),void 0===r&&(r=u),this.json=t,this.open=e,this.config=r,this.key=n,this._isOpen=null,void 0===this.config.hoverPreviewEnabled&&(this.config.hoverPreviewEnabled=u.hoverPreviewEnabled),void 0===this.config.hoverPreviewArrayCount&&(this.config.hoverPreviewArrayCount=u.hoverPreviewArrayCount),void 0===this.config.hoverPreviewFieldCount&&(this.config.hoverPreviewFieldCount=u.hoverPreviewFieldCount),void 0===this.config.useToJSON&&(this.config.useToJSON=u.useToJSON),\"\"===this.key&&(this.key='\"\"')}return Object.defineProperty(t.prototype,\"isOpen\",{get:function(){return null!==this._isOpen?this._isOpen:this.open>0},set:function(t){this._isOpen=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"isDate\",{get:function(){return this.json instanceof Date||"string"===this.type&&(c.test(this.json)||j.test(this.json)||p.test(this.json))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isUrl",{get:function(){return"string"===this.type&&0===this.json.indexOf("http")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isArray",{get:function(){return Array.isArray(this.json)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isObject",{get:function(){return s(this.json)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isEmptyObject",{get:function(){return!this.keys.length&&!this.isArray},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isEmpty",{get:function(){return this.isEmptyObject||this.keys&&!this.keys.length&&this.isArray},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useToJSON",{get:function(){return this.config.useToJSON&&"stringifiable"===this.type},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasKey",{get:function(){return void 0!==this.key},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"constructorName",{get:function(){return a(this.json)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"type",{get:function(){return this.config.useToJSON&&this.json&&this.json.toJSON?"stringifiable":i(this.json)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keys",{get:function(){if(this.isObject){var t=Object.keys(this.json);return!this.isArray&&this.config.sortPropertiesBy?t.sort(this.config.sortPropertiesBy):t}return[]},enumerable:!0,configurable:!0}),t.prototype.toggleOpen=function(){this.isOpen=!this.isOpen,this.element&&(this.isOpen?this.appendChildren(this.config.animateOpen):this.removeChildren(this.config.animateClose),this.element.classList.toggle(l("open")))},t.prototype.openAtDepth=function(t){void 0===t&&(t=1),t<0||(this.open=t,this.isOpen=0!==t,this.element&&(this.removeChildren(!1),0===t?this.element.classList.remove(l("open")):(this.appendChildren(this.config.animateOpen),this.element.classList.add(l("open")))))},t.prototype.getInlinepreview=function(){var t=this;if(this.isArray)return this.json.length>this.config.hoverPreviewArrayCount?"Array["+this.json.length+"]":"["+this.json.map(m).join(", ")+"]";var e=this.keys,r=e.slice(0,this.config.hoverPreviewFieldCount).map((function(e){return e+":"+m(t.json[e])})),n=e.length>=this.config.hoverPreviewFieldCount?"…":"";return"{"+r.join(", ")+n+"}"},t.prototype.render=function(){this.element=d("div","row");var t=this.isObject?d("a","toggler-link"):d("span");if(this.isObject&&!this.useToJSON&&t.appendChild(d("span","toggler")),this.hasKey&&t.appendChild(d("span","key",this.key+":")),this.isObject&&!this.useToJSON){var e=d("span","value"),r=d("span"),n=d("span","constructor-name",this.constructorName);if(r.appendChild(n),this.isArray){var o=d("span");o.appendChild(d("span","bracket","[")),o.appendChild(d("span","number",this.json.length)),o.appendChild(d("span","bracket","]")),r.appendChild(o)}e.appendChild(r),t.appendChild(e)}else{(e=this.isUrl?d("a"):d("span")).classList.add(l(this.type)),this.isDate&&e.classList.add(l("date")),this.isUrl&&(e.classList.add(l("url")),e.setAttribute("href",this.json));var i=f(this.type,this.json,this.useToJSON?this.json.toJSON():this.json);e.appendChild(document.createTextNode(i)),t.appendChild(e)}if(this.isObject&&this.config.hoverPreviewEnabled){var s=d("span","preview-text");s.appendChild(document.createTextNode(this.getInlinepreview())),t.appendChild(s)}var a=d("div","children");return this.isObject&&a.classList.add(l("object")),this.isArray&&a.classList.add(l("array")),this.isEmpty&&a.classList.add(l("empty")),this.config&&this.config.theme&&this.element.classList.add(l(this.config.theme)),this.isOpen&&this.element.classList.add(l("open")),this.element.appendChild(t),this.element.appendChild(a),this.isObject&&this.isOpen&&this.appendChildren(),this.isObject&&!this.useToJSON&&t.addEventListener("click",this.toggleOpen.bind(this)),this.element},t.prototype.appendChildren=function(e){var r=this;void 0===e&&(e=!1);var n=this.element.querySelector("div."+l("children"));if(n&&!this.isEmpty)if(e){var o=0,i=function(){var e=r.keys[o],s=new t(r.json[e],r.open-1,r.config,e);n.appendChild(s.render()),(o+=1)<r.keys.length&&(o>10?i():h(i))};h(i)}else this.keys.forEach((function(e){var o=new t(r.json[e],r.open-1,r.config,e);n.appendChild(o.render())}))},t.prototype.removeChildren=function(t){void 0===t&&(t=!1);var e=this.element.querySelector("div."+l("children"));if(t){var r=0,n=function(){e&&e.children.length&&(e.removeChild(e.children[0]),(r+=1)>10?n():h(n))};h(n)}else e&&(e.innerHTML="")},t}();r.default=g},n "1767172ffa": function _(e,t,i,s,l){s();const n=e("tslib"),o=e("@bokehjs/models/widgets/input_widget"),a=n.__importStar(e("@bokehjs/styles/buttons.css")),h=a,d=e("@bokehjs/core/dom"),_=e("@bokehjs/core/enums");class r extends o.InputWidgetView{constructor(){super(…arguments),this._downloadable=!1,this._embed=!1,this._prev_href="",this._prev_download=""}initialize(){super.initialize(),this.model.data&&this.model.filename&&(this._embed=!0)}connect_signals(){super.connect_signals(),this.connect(this.model.properties.button_type.change,(()=>this._update_button_style())),this.connect(this.model.properties.filename.change,(()=>this._update_download())),this.connect(this.model.properties._transfers.change,(()=>this._handle_click())),this.connect(this.model.properties.label.change,(()=>this._update_label())),this.connect(this.model.properties.disabled.change,(()=>this.set_disabled()))}render(){super.render(),this.group_el.style.display="flex",this.group_el.style.alignItems="stretch",this.anchor_el=document.createElement("a"),this._update_button_style(),this._update_label(),this.model.disabled?(this.anchor_el.setAttribute("disabled",""),this._downloadable=!1):(this.anchor_el.removeAttribute("disabled"),this._prev_download&&(this.anchor_el.download=this._prev_download),this._prev_href&&(this.anchor_el.href=this._prev_href),this.anchor_el.download&&this.anchor_el.download&&(this._downloadable=!0)),this._embed?this._make_link_downloadable():(this._click_listener=this._increment_clicks.bind(this),this.anchor_el.addEventListener("click",this._click_listener)),this.group_el.appendChild(this.anchor_el),this.input_el=d.input({type:"bk_btn, bk_btn_type"}),this.input_el.addEventListener("change",(()=>this.change_input()))}styles(){return[…super.styles(),a.default]}_increment_clicks(){this.model.clicks=this.model.clicks+1}_handle_click(){!this.model.auto&&this._downloadable||(this._make_link_downloadable(),!this._embed&&this.model.auto&&(this.anchor_el.removeEventListener("click",this._click_listener),this.anchor_el.click(),this.anchor_el.removeAttribute("href"),this.anchor_el.removeAttribute("download"),this.anchor_el.addEventListener("click",this._click_listener)),this._prev_href=this.anchor_el.getAttribute("href"),this._prev_download=this.anchor_el.getAttribute("download"))}_make_link_downloadable(){this._update_href(),this._update_download(),this.anchor_el.download&&this.anchor_el.href&&(this._downloadable=!0)}_update_href(){if(this.model.data){const e=function(e){const t=atob(e.split(",")[1]),i=e.split(",")[0].split(":")[1].split(";")[0],s=new ArrayBuffer(t.length),l=new Uint8Array(s);for(let e=0;e<t.length;e++)l[e]=t.charCodeAt(e);return new Blob([s],{type:i})}(this.model.data);this.anchor_el.href=URL.createObjectURL(e)}}_update_download(){this.model.filename&&(this.anchor_el.download=this.model.filename)}_update_label(){this.anchor_el.textContent=this.model.label}_update_button_style(){const e=h[btn_${this.model.button_type}];if(this.anchor_el.hasAttribute("class")){const t=this.anchor_el.classList.item(1);t&&this.anchor_el.classList.replace(t,e)}else this.anchor_el.classList.add(h.btn),this.anchor_el.classList.add(e)}set_disabled(){this.model.disabled?this.anchor_el.setAttribute("disabled",""):this.anchor_el.removeAttribute("disabled")}}i.FileDownloadView=r,r.__name__="FileDownloadView";class c extends o.InputWidget{constructor(e){super(e)}static init_FileDownload(){this.prototype.default_view=r,this.define((({Boolean:e,Int:t,Nullable:i,String:s})=>({auto:[e,!1],clicks:[t,0],data:[i(s),null],label:[s,"Download"],filename:[i(s),null],button_type:[_.ButtonType,"default"],_transfers:[t,0]}))),this.override({title:""})}}i.FileDownload=c,c.__name__="FileDownload",c.__module__="panel.models.widgets",c.init_FileDownload()},n "7b859fb3cf": function _(e,t,i,a,n){a();const s=e("@bokehjs/models/widgets/markup"),r=e("7116a7a602");class l extends r.PanelMarkupView{render(){super.render(),this.markup_el.innerHTML=this.model.text,window.renderMathInElement&&window.renderMathInElement(this.el,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"\\[",right:"\\]",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1}]})}}i.KaTeXView=l,l.__name__="KaTeXView";class d extends s.Markup{constructor(e){super(e)}static init_KaTeX(){this.prototype.default_view=l}}i.KaTeX=d,d.__name__="KaTeX",d.__module__="panel.models.katex",d.init_KaTeX()},n "642aa56b24": function _(o,e,t,i,a){i();const h=o("@bokehjs/core/view"),n=o("@bokehjs/model");class s extends h.View{initialize(){super.initialize(),this.model.pathname=window.location.pathname,this.model.search=window.location.search,this.model.hash=window.location.hash,this.model.href=window.location.href,this.model.hostname=window.location.hostname,this.model.protocol=window.location.protocol,this.model.port=window.location.port}connect_signals(){super.connect_signals(),this.connect(this.model.properties.pathname.change,(()=>this.update("pathname"))),this.connect(this.model.properties.search.change,(()=>this.update("search"))),this.connect(this.model.properties.hash.change,(()=>this.update("hash"))),this.connect(this.model.properties.reload.change,(()=>this.update("reload")))}update(o){this.model.reload&&"reload"!==o?("pathname"==o&&(window.location.pathname=this.model.pathname),"search"==o&&(window.location.search=this.model.search),"hash"==o&&(window.location.hash=this.model.hash)):(window.history.pushState({},"",`${this.model.pathname}${this.model.search}${this.model.hash}`),this.model.href=window.location.href,"reload"===o&&window.location.reload())}}t.LocationView=s,s.__name__="LocationView";class c extends n.Model{constructor(o){super(o)}static init_Location(){this.prototype.default_view=s,this.define((({Boolean:o,String:e})=>({href:[e,""],hostname:[e,""],pathname:[e,""],protocol:[e,""],port:[e,""],search:[e,""],hash:[e,""],reload:[o,!1]})))}}t.Location=c,c.__name__="Location",c.__module__="panel.models.location",c.init_Location()},n "0c21036737": function _(e,t,a,i,s){i();const h=e("@bokehjs/models/widgets/markup"),_=e("7116a7a602");class n extends _.PanelMarkupView{initialize(){super.initialize(),this._hub=window.MathJax.Hub,this._hub.Config({tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]}})}render(){super.render(),this._hub&&(this.markup_el.innerHTML=this.model.text,this._hub.Queue(["Typeset",this._hub,this.markup_el]))}}a.MathJaxView=n,n.__name__="MathJaxView";class u extends h.Markup{constructor(e){super(e)}static init_MathJax(){this.prototype.default_view=n}}a.MathJax=u,u.__name__="MathJax",u.__module__="panel.models.mathjax",u.init_MathJax()},n "545156b57b": function _(e,t,i,s,n){s();const o=e("@bokehjs/models/layouts/html_box"),l=e("@bokehjs/core/dom"),r=e("@bokehjs/models/sources/column_data_source"),c=e("7116a7a602"),h=["perspective-viewer-material","perspective-viewer-material-dark","perspective-viewer-material-dense","perspective-viewer-material-dense-dark","perspective-viewer-vaporwave"];function p(e){return!h.includes(e)}function a(e){return"perspective-viewer-"+e}class u extends c.PanelHTMLBoxView{constructor(){super(…arguments),this._updating=!1,this._config_listener=null,this._event_listener=null,this._loaded=!1}connect_signals(){super.connect_signals(),this.connect(this.model.source.properties.data.change,(()=>this.setData())),this.connect(this.model.properties.toggle_config.change,(()=>{this.perspective_element.toggleConfig(),this.fix_layout()})),this.connect(this.model.properties.columns.change,(()=>{this.updateAttribute("columns",this.model.columns,!0)})),this.connect(this.model.properties.computed_columns.change,(()=>{this.updateAttribute("computed-columns",this.model.computed_columns,!0)})),this.connect(this.model.properties.column_pivots.change,(()=>{this.updateAttribute("column-pivots",this.model.column_pivots,!0)})),this.connect(this.model.properties.row_pivots.change,(()=>{this.updateAttribute("row-pivots",this.model.row_pivots,!0)})),this.connect(this.model.properties.aggregates.change,(()=>{this.updateAttribute("aggregates",this.model.aggregates,!0)})),this.connect(this.model.properties.filters.change,(()=>{this.updateAttribute("filters",this.model.filters,!0)})),this.connect(this.model.properties.sort.change,(()=>{this.updateAttribute("sort",this.model.sort,!0)})),this.connect(this.model.properties.plugin.change,(()=>{this.updateAttribute("plugin",this.model.plugin,!1)})),this.connect(this.model.properties.selectable.change,(()=>{this.updateAttribute("selectable",this.model.selectable,!0)})),this.connect(this.model.properties.editable.change,(()=>{this.updateAttribute("editable",this.model.editable,!0)})),this.connect(this.model.properties.theme.change,(()=>this.updateTheme())),null!=this.model.document&&(this._event_listener=e=>this.on_event(e),this.model.document.on_change(this._event_listener))}disconnect_signals(){null!=this._config_listener&&this.perspective_element.removeEventListener("perspective-config-update",this._config_listener),this._config_listener=null,null!=this.model.document&&null!=this._event_listener&&this.model.document.remove_on_change(this._event_listener),this._event_listener=null,super.disconnect_signals()}render(){super.render(),this.worker=window.perspective.worker(),this.table=this.worker.table(this.data);const e=l.div({class:"pnx-perspective-viewer"});c.set_size(e,this.model),e.innerHTML=this.getInnerHTML(),this.perspective_element=e.children[0],c.set_size(this.perspective_element,this.model),this.el.appendChild(e),this.perspective_element.load(this.table).then((()=>{this.update_config(),this._config_listener=()=>this.sync_config(),this.model.toggle_config&&this.perspective_element.toggleConfig(),this.perspective_element.addEventListener("perspective-config-update",this._config_listener),this._loaded=!0}))}fix_layout(){this.update_layout(),this.compute_layout(),this.invalidate_layout()}sync_config(){if(this._updating)return;const e=this.perspective_element.save(),t={};for(const i in e){const s=i.replace("-","_"),n=e[i];void 0===n||"plugin"==s&&"debug"===n||(t[s]=n)}this._updating=!0,this.model.setv(t),this._updating=!1}update_config(){if(this._updating)return;const e=this.perspective_element.save();for(const t in e){const i=t.replace("-","_");let s=this.model.property(i).get_value();e[t]!==s&&(this._updating=!0,"plugin"!==i&&(s=JSON.stringify(s)),this.perspective_element.setAttribute(t,s),this._updating=!1)}}on_event(e){null!=(e=e.hint)&&null!=e.column_source&&e.column_source.id==this.model.source.id&&(void 0!==e.rollover?this.stream(e.data,e.rollover):void 0!==e.patches&&this.patch(e.patches))}get data(){const e={};for(const t of this.model.source.columns())e[t]=this.model.source.get_array(t);return e}stream(e,t){this._loaded&&(null==t?this.table.update(e):this.table.replace(this.data))}patch(e){this.table.replace(this.data)}getInnerHTML(){let e="<perspective-viewer style=’height:100%;width:100%;’";var t,i;return e+=(t="class",null==(i=a(this.model.theme))?"":("string"!=typeof i&&(i=JSON.stringify(i))," "+t+"=’"+i+"’")),e+="></perspective-viewer>",e}setData(){this._loaded&&this.table.load(this.data)}updateAttribute(e,t,i){if(this._updating)return;t!=this.perspective_element.save()[e]&&(i&&(t=JSON.stringify(t)),this._updating=!0,this.perspective_element.setAttribute(e,t),this._updating=!1)}updateTheme(){let e=this.perspective_element.getAttribute("class"),t=this.toNewClassAttribute(e,this.model.theme);this.perspective_element.setAttribute("class",t)}toNewClassAttribute(e,t){let i=[];return null!=e&&(i=e.split(" ").filter(p)),i.push(a(t)),i.join(" ")}}i.PerspectiveView=u,u.__name__="PerspectiveView";class d extends o.HTMLBox{constructor(e){super(e)}static init_Perspective(){this.prototype.default_view=u,this.define((({Any:e,Array:t,Boolean:i,Ref:s,Nullable:n,String:o})=>({aggregates:[e],column_pivots:[n(t(o))],columns:[t(o)],computed_columns:[n(t(o))],editable:[n(i)],filters:[n(t(e))],plugin:[o],plugin_config:[e],row_pivots:[n(t(o))],selectable:[n(i)],toggle_config:[i,!0],sort:[n(t(t(o)))],source:[s(r.ColumnDataSource)],theme:[o]})))}}i.Perspective=d,d.__name__="Perspective",d.__module__="panel.models.perspective",d.init_Perspective()},n "ed9bae6d87": function _(e,t,i,s,o){s();const l=e("@bokehjs/core/kinds"),n=e("@bokehjs/core/dom"),a=e("@bokehjs/models/widgets/widget");function r(e){e.forEach((e=>e.style.borderStyle="inset"))}function d(e){e.forEach((e=>e.style.borderStyle="outset"))}class h extends a.WidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.render())),this.connect(this.model.properties.value.change,(()=>this.render())),this.connect(this.model.properties.loop_policy.change,(()=>this.set_loop_state(this.model.loop_policy))),this.connect(this.model.properties.show_loop_controls.change,(()=>{this.model.show_loop_controls&&this.loop_state.parentNode!=this.groupEl?this.groupEl.appendChild(this.loop_state):this.model.show_loop_controls||this.loop_state.parentNode!=this.groupEl||this.el.removeChild(this.loop_state)}))}get_height(){return 250}render(){if(null!=this.sliderEl)return this.sliderEl.min=String(this.model.start),this.sliderEl.max=String(this.model.end),void(this.sliderEl.value=String(this.model.value));super.render(),this.groupEl=n.div(),this.groupEl.style.display="flex",this.groupEl.style.flexDirection="column",this.groupEl.style.alignItems="center",this.sliderEl=document.createElement("input"),this.sliderEl.style.width="100%",this.sliderEl.setAttribute("type","range"),this.sliderEl.value=String(this.model.value),this.sliderEl.min=String(this.model.start),this.sliderEl.max=String(this.model.end),this.sliderEl.onchange=e=>this.set_frame(parseInt(e.target.value));const e=n.div();e.style.cssText="margin: 0 auto; display: flex; padding: 5px; align-items: stretch; width: 100%;";const t="text-align: center; min-width: 20px; flex-grow: 1; margin: 2px",i="text-align: center; min-width: 40px; flex-grow: 2; margin: 2px",s=document.createElement("button");s.style.cssText=t,s.appendChild(document.createTextNode("–")),s.onclick=()=>this.slower(),e.appendChild(s);const o=document.createElement("button");o.style.cssText=i,o.appendChild(document.createTextNode("❚◀◀")),o.onclick=()=>this.first_frame(),e.appendChild(o);const l=document.createElement("button");l.style.cssText=i,l.appendChild(document.createTextNode("❚◀")),l.onclick=()=>this.previous_frame(),e.appendChild(l);const a=document.createElement("button");a.style.cssText=i,a.appendChild(document.createTextNode("◀")),a.onclick=()=>this.reverse_animation(),e.appendChild(a);const h=document.createElement("button");h.style.cssText=i,h.appendChild(document.createTextNode("❚❚")),h.onclick=()=>this.pause_animation(),e.appendChild(h);const c=document.createElement("button");c.style.cssText=i,c.appendChild(document.createTextNode("▶")),c.onclick=()=>this.play_animation(),e.appendChild(c);const p=document.createElement("button");p.style.cssText=i,p.appendChild(document.createTextNode("▶❚")),p.onclick=()=>this.next_frame(),e.appendChild(p);const m=document.createElement("button");m.style.cssText=i,m.appendChild(document.createTextNode("▶▶❚")),m.onclick=()=>this.last_frame(),e.appendChild(m);const _=document.createElement("button");_.style.cssText=t,_.appendChild(document.createTextNode("+")),_.onclick=()=>this.faster(),e.appendChild(_),this._toggle_reverse=()=>{d([h,c]),r([a])},this._toogle_pause=()=>{d([a,c]),r([h])},this._toggle_play=()=>{d([a,h]),r([c])},this.loop_state=document.createElement("form"),this.loop_state.style.cssText="margin: 0 auto; display: table";const u=document.createElement("input");u.type="radio",u.value="once",u.name="state";const g=document.createElement("label");g.innerHTML="Once",g.style.cssText="padding: 0 10px 0 5px; user-select:none;";const f=document.createElement("input");f.setAttribute("type","radio"),f.setAttribute("value","loop"),f.setAttribute("name","state");const v=document.createElement("label");v.innerHTML="Loop",v.style.cssText="padding: 0 10px 0 5px; user-select:none;";const y=document.createElement("input");y.setAttribute("type","radio"),y.setAttribute("value","reflect"),y.setAttribute("name","state");const x=document.createElement("label");x.innerHTML="Reflect",x.style.cssText="padding: 0 10px 0 5px; user-select:none;","once"==this.model.loop_policy?u.checked=!0:"loop"==this.model.loop_policy?f.checked=!0:y.checked=!0,this.loop_state.appendChild(u),this.loop_state.appendChild(g),this.loop_state.appendChild(f),this.loop_state.appendChild(v),this.loop_state.appendChild(y),this.loop_state.appendChild(x),this.groupEl.appendChild(this.sliderEl),this.groupEl.appendChild(e),this.model.show_loop_controls&&this.groupEl.appendChild(this.loop_state),this.el.appendChild(this.groupEl)}set_frame(e){this.model.value!=e&&(this.model.value=e),this.sliderEl.value!=String(e)&&(this.sliderEl.value=String(e))}get_loop_state(){for(var e=this.loop_state.state,t=0;t<e.length;t++){var i=e[t];if(i.checked)return i.value}return"once"}set_loop_state(e){for(var t=this.loop_state.state,i=0;i<t.length;i++){var s=t[i];s.value==e&&(s.checked=!0)}}next_frame(){this.set_frame(Math.min(this.model.end,this.model.value+this.model.step))}previous_frame(){this.set_frame(Math.max(this.model.start,this.model.value-this.model.step))}first_frame(){this.set_frame(this.model.start)}last_frame(){this.set_frame(this.model.end)}slower(){this.model.interval=Math.round(this.model.interval/.7),this.model.direction>0?this.play_animation():this.model.direction<0&&this.reverse_animation()}faster(){this.model.interval=Math.round(.7*this.model.interval),this.model.direction>0?this.play_animation():this.model.direction<0&&this.reverse_animation()}anim_step_forward(){if(this.model.value<this.model.end)this.next_frame();else{var e=this.get_loop_state();"loop"==e?this.first_frame():"reflect"==e?(this.last_frame(),this.reverse_animation()):(this.pause_animation(),this.last_frame())}}anim_step_reverse(){if(this.model.value>this.model.start)this.previous_frame();else{var e=this.get_loop_state();"loop"==e?this.last_frame():"reflect"==e?(this.first_frame(),this.play_animation()):(this.pause_animation(),this.first_frame())}}pause_animation(){this._toogle_pause(),this.model.direction=0,this.timer&&(clearInterval(this.timer),this.timer=null)}play_animation(){this.pause_animation(),this._toggle_play(),this.model.direction=1,this.timer||(this.timer=setInterval((()=>this.anim_step_forward()),this.model.interval))}reverse_animation(){this.pause_animation(),this._toggle_reverse(),this.model.direction=-1,this.timer||(this.timer=setInterval((()=>this.anim_step_reverse()),this.model.interval))}}i.PlayerView=h,h.__name__="PlayerView",i.LoopPolicy=l.Enum("once","loop","reflect");class c extends a.Widget{constructor(e){super(e)}static init_Player(){this.prototype.default_view=h,this.define((({Boolean:e,Int:t})=>({direction:[t,0],interval:[t,500],start:[t],end:[t],step:[t,1],loop_policy:[i.LoopPolicy,"once"],value:[t,0],show_loop_controls:[e,!0]}))),this.override({width:400})}}i.Player=c,c.__name__="Player",c.__module__="panel.models.widgets",c.init_Player()},n "47b5ae5c43": function _(t,e,o,i,r){i();const l=t("tslib").__importStar(t("@bokehjs/core/properties")),s=t("@bokehjs/core/dom"),a=t("@bokehjs/core/util/object"),p=t("@bokehjs/core/util/eq"),n=t("@bokehjs/models/layouts/html_box"),_=t("99a25e6992"),h=t("990b5dd5c7"),u=t("7116a7a602"),d=(t,e,o)=>{let i=Array.isArray(e)?[]:{};if("click"===o||"hover"===o||"selected"===o){const o=[];if(null==e)return null;const r=t.data;for(let t=0;t<e.points.length;t++){const i=e.points[t];let l={};for(let t in i){const e=i[t];!i.hasOwnProperty(t)||Array.isArray(e)||h.isPlainObject(e)||(l[t]=e)}null!=i&&(i.hasOwnProperty("curveNumber")&&i.hasOwnProperty("pointNumber")&&r[i.curveNumber].hasOwnProperty("customdata")&&(l.customdata=r[i.curveNumber].customdata[i.pointNumber]),i.hasOwnProperty("pointNumbers")&&(l.pointNumbers=i.pointNumbers)),o[t]=l}i.points=o}else if("relayout"===o||"restyle"===o)for(let t in e)e.hasOwnProperty(t)&&(i[t]=e[t]);return e.hasOwnProperty("range")&&(i.range=e.range),e.hasOwnProperty("lassoPoints")&&(i.lassoPoints=e.lassoPoints),i};class y extends u.PanelHTMLBoxView{constructor(){super(…arguments),this._settingViewport=!1,this._plotInitialized=!1,this._reacting=!1,this._relayouting=!1,this._end_relayouting=_.debounce((()=>{this._relayouting=!1}),2e3,!1)}connect_signals(){super.connect_signals(),this.connect(this.model.properties.viewport_update_policy.change,this._updateSetViewportFunction),this.connect(this.model.properties.viewport_update_throttle.change,this._updateSetViewportFunction),this.connect(this.model.properties._render_count.change,this.plot),this.connect(this.model.properties.viewport.change,this._updateViewportFromProperty)}render(){super.render(),this._layout_wrapper=s.div({style:"height: 100%; width: 100%"}),this.el.appendChild(this._layout_wrapper),window.Plotly&&this.plot()}plot(){if(!window.Plotly)return;const t=[];for(let e=0;e<this.model.data.length;e++)t.push(this._get_trace(e,!1));let e=h.deepCopy(this.model.layout);if(this._relayouting){const{layout:t}=this._layout_wrapper;Object.keys(t).reduce(((t,o)=>{"axis"===o.slice(1,5)&&"range"in t&&(e[o].range=t.range)}),{})}this._reacting=!0,window.Plotly.react(this._layout_wrapper,t,e,this.model.config).then((()=>{var t,e;this._updateSetViewportFunction(),this._updateViewportProperty(),this._plotInitialized||(this._layout_wrapper.on("plotly_relayout",(t=>{!0!==t._update_from_property&&(this.model.relayout_data=d(this._layout_wrapper,t,"relayout"),this._updateViewportProperty(),this._end_relayouting())})),this._layout_wrapper.on("plotly_relayouting",(()=>{"mouseup"!==this.model.viewport_update_policy&&(this._relayouting=!0,this._updateViewportProperty())})),this._layout_wrapper.on("plotly_restyle",(t=>{this.model.restyle_data=d(this._layout_wrapper,t,"restyle"),this._updateViewportProperty()})),this._layout_wrapper.on("plotly_click",(t=>{this.model.click_data=d(this._layout_wrapper,t,"click")})),this._layout_wrapper.on("plotly_hover",(t=>{this.model.hover_data=d(this._layout_wrapper,t,"hover")})),this._layout_wrapper.on("plotly_selected",(t=>{this.model.selected_data=d(this._layout_wrapper,t,"selected")})),this._layout_wrapper.on("plotly_clickannotation",(t=>{delete t.event,delete t.fullAnnotation,this.model.clickannotation_data=t})),this._layout_wrapper.on("plotly_deselect",(()=>{this.model.selected_data=null})),this._layout_wrapper.on("plotly_unhover",(()=>{this.model.hover_data=null}))),this._plotInitialized=!0,this._reacting=!1,t=this._layout_wrapper,(e=window.getComputedStyle(t).display)&&"none"!==e&&window.Plotly.Plots.resize(this._layout_wrapper)}))}_get_trace(t,e){const o=a.clone(this.model.data[t]),i=this.model.data_sources[t];for(const t of i.columns()){let r=i.get_array(t)[0];if(null!=r.shape&&r.shape.length>1){const t=[],e=r.shape;for(let o=0;o<e[0];o++)t.push(r.slice(o*e[1],(o+1)*e[1]));r=t}let l=t.split("."),s=l[l.length-1],a=o;for(let t of l.slice(0,-1))a=a[t];e&&1==l.length?a[s]=[r]:a[s]=r}return o}_updateViewportFromProperty(){if(!window.Plotly||this._settingViewport||this._reacting||!this.model.viewport)return;const t=this._layout_wrapper._fullLayout;Object.keys(this.model.viewport).reduce(((e,o)=>{if(p.isEqual(h.get(t,o),e))return!0;{let t=h.deepCopy(this.model.viewport);return t._update_from_property=!0,window.Plotly.relayout(this.el,t),!1}}),{})}_updateViewportProperty(){const t=this._layout_wrapper._fullLayout;let e={};for(let o in t){if(!t.hasOwnProperty(o))continue;let i=o.slice(0,5);"xaxis"!==i&&"yaxis"!==i||(e[o+".range"]=h.deepCopy(t[o].range))}p.isEqual(e,this.model.viewport)||this._setViewport(e)}_updateSetViewportFunction(){"continuous"===this.model.viewport_update_policy||"mouseup"===this.model.viewport_update_policy?this._setViewport=t=>{this._settingViewport||(this._settingViewport=!0,this.model.viewport=t,this._settingViewport=!1)}:this._setViewport=h.throttle((t=>{this._settingViewport||(this._settingViewport=!0,this.model.viewport=t,this._settingViewport=!1)}),this.model.viewport_update_throttle)}}o.PlotlyPlotView=y,y.__name__="PlotlyPlotView";class c extends n.HTMLBox{constructor(t){super(t)}static init_PlotlyPlot(){this.prototype.default_view=y,this.define({data:[l.Array,[]],layout:[l.Any,{}],config:[l.Any,{}],data_sources:[l.Array,[]],relayout_data:[l.Any,{}],restyle_data:[l.Array,[]],click_data:[l.Any,{}],hover_data:[l.Any,{}],clickannotation_data:[l.Any,{}],selected_data:[l.Any,{}],viewport:[l.Any,{}],viewport_update_policy:[l.String,"mouseup"],viewport_update_throttle:[l.Number,200],_render_count:[l.Number,0]})}}o.PlotlyPlot=c,c.__name__="PlotlyPlot",c.__module__="panel.models.plotly",c.init_PlotlyPlot()},n "99a25e6992": function _(n,l,u,t,e){function o(n,l,u){var t,e,o,a,r;function i(){var c=Date.now()-a;c<l&&c>=0?t=setTimeout(i,l-c):(t=null,u||(r=n.apply(o,e),o=e=null))}null==l&&(l=100);var c=function(){o=this,e=arguments,a=Date.now();var c=u&&!t;return t||(t=setTimeout(i,l)),c&&(r=n.apply(o,e),o=e=null),r};return c.clear=function(){t&&(clearTimeout(t),t=null)},c.flush=function(){t&&(r=n.apply(o,e),o=e=null,clearTimeout(t),t=null)},c}o.debounce=o,l.exports=o},n "990b5dd5c7": function _(t,n,r,e,o){e();r.get=(t,n,r)=>{const e=r=>String.prototype.split.call(n,r).filter(Boolean).reduce(((t,n)=>null!=t?t[n]:t),t),o=e(/[,[\]]+?/)||e(/[,[\].]+?/);return void 0===o||o===t?r:o},r.throttle=function(t,n){var r=0;return function(){var e=Number(new Date);e-r>=n&&(t(),r=e)}},r.deepCopy=function t(n){var r;if(null==n||"object"!=typeof n)return n;if(n instanceof Array){r=[];for(var e=0,o=n.length;e<o;e++)r[e]=t(n[e]);return r}if(n instanceof Object){const r={};for(const e in n){const o=e;n.hasOwnProperty(o)&&(r[o]=t(n[o]))}return r}throw new Error("Unable to copy obj! Its type isn’t supported.")},r.isPlainObject=function(t){return"[object Object]"===Object.prototype.toString.call(t)}},n "9f787650b9": function _(e,s,t,i,o){i();const r=e("tslib").__importStar(e("@bokehjs/core/properties")),h=e("@bokehjs/models/layouts/html_box"),l=e("7116a7a602");class n extends h.HTMLBoxView{connect_signals(){super.connect_signals();const e=()=>{this.render(),this.root.compute_layout()};this.connect(this.model.properties.height.change,e),this.connect(this.model.properties.width.change,e),this.connect(this.model.properties.height_policy.change,e),this.connect(this.model.properties.width_policy.change,e),this.connect(this.model.properties.sizing_mode.change,e),this.connect(this.model.properties.active.change,(()=>this.setCSS())),this.connect(this.model.properties.bar_color.change,(()=>this.setCSS())),this.connect(this.model.properties.css_classes.change,(()=>this.setCSS())),this.connect(this.model.properties.value.change,(()=>this.setValue())),this.connect(this.model.properties.max.change,(()=>this.setMax()))}render(){super.render();const e=Object.assign(Object.assign({},this.model.style),{display:"inline-block"});this.progressEl=document.createElement("progress"),this.setValue(),this.setMax(),l.set_size(this.progressEl,this.model),this.setCSS();for(const s in e)this.progressEl.style.setProperty(s,e[s]);this.el.appendChild(this.progressEl)}setCSS(){let e=this.model.css_classes.join(" ")+" "+this.model.bar_color;this.model.active&&(e+=" active"),this.progressEl.className=e}setValue(){null!=this.model.value&&(this.progressEl.value=this.model.value)}setMax(){null!=this.model.max&&(this.progressEl.max=this.model.max)}_update_layout(){let e=void 0!==this._prev_sizing_mode&&this._prev_sizing_mode!==this.model.sizing_mode;this._prev_sizing_mode=this.model.sizing_mode,this.layout=new l.CachedVariadicBox(this.el,this.model.sizing_mode,e),this.layout.set_sizing(this.box_sizing())}}t.ProgressView=n,n.__name__="ProgressView";class c extends h.HTMLBox{constructor(e){super(e)}static init_Progress(){this.prototype.default_view=n,this.define({active:[r.Boolean,!0],bar_color:[r.String,"primary"],style:[r.Any,{}],max:[r.Number,100],value:[r.Any,null]})}}t.Progress=c,c.__name__="Progress",c.__module__="panel.models.widgets",c.init_Progress()},n "3b85956787": function _(e,t,s,i,n){i();const l=e("tslib"),o=e("@bokehjs/core/dom"),c=e("@bokehjs/core/util/types"),r=e("@bokehjs/models/widgets/input_widget"),h=l.__importStar(e("@bokehjs/styles/widgets/inputs.css"));class d extends r.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,s;return c.isString(e)?t=s=e:[t,s]=e,o.option({value:t},s)}));this.select_el=o.select({multiple:!1,class:h.input,name:this.model.name,disabled:this.model.disabled},e),this.select_el.style.backgroundImage="none",this.select_el.addEventListener("change",(()=>this.change_input())),this.group_el.appendChild(this.select_el),this.render_selection()}render_selection(){const e=this.model.value;for(const t of this.el.querySelectorAll("option"))t.value===e&&(t.selected=!0);this.select_el.size=this.model.size}change_input(){const e=null!=this.el.querySelector("select:focus");let t=null;for(const e of this.el.querySelectorAll("option"))if(e.selected){t=e.value;break}this.model.value=t,super.change_input(),e&&this.select_el.focus()}}s.SingleSelectView=d,d.__name__="SingleSelectView";class a extends r.InputWidget{constructor(e){super(e)}static init_SingleSelect(){this.prototype.default_view=d,this.define((({Any:e,Array:t,Int:s,String:i})=>({value:[i,""],options:[t(e),[]],size:[s,4]})))}}s.SingleSelect=a,a.__name__="SingleSelect",a.__module__="panel.models.widgets",a.init_SingleSelect()},n "aaa48703af": function _(t,e,i,o,n){o();const s=t("tslib").__importStar(t("@bokehjs/core/properties")),r=t("@bokehjs/models/layouts/html_box"),h="Click to START the speech recognition.",{webkitSpeechRecognition:a}=window,{webkitSpeechGrammarList:l}=window;class c extends r.HTMLBoxView{initialize(){var t,e;super.initialize(),this.recognition=new a,this.recognition.lang=this.model.lang,this.recognition.continuous=this.model.continuous,this.recognition.interimResults=this.model.interim_results,this.recognition.maxAlternatives=this.model.max_alternatives,this.recognition.serviceURI=this.model.service_uri,this.setGrammars(),this.recognition.onresult=t=>{this.model.results=function(t){const e=[];for(let o of t){let t=[],n={is_final:o.isFinal,alternatives:t};for(let e=0;e<o.length;e++){let n={confidence:(i=o[e].confidence,Math.round(100*(i+Number.EPSILON))/100),transcript:o[e].transcript};t.push(n)}n.alternatives=t,e.push(n)}var i;return e}(t.results)},this.recognition.onerror=t=>{console.log("SpeechToText Error"),console.log(t)},this.recognition.onnomatch=t=>{console.log("SpeechToText No Match"),console.log(t)},this.recognition.onaudiostart=()=>this.model.audio_started=!0,this.recognition.onaudioend=()=>this.model.audio_started=!1,this.recognition.onsoundstart=()=>this.model.sound_started=!0,this.recognition.onsoundend=()=>this.model.sound_started=!1,this.recognition.onspeechstart=()=>this.model.speech_started=!0,this.recognition.onspeechend=()=>this.model.speech_started=!1,this.recognition.onstart=()=>{this.buttonEl.onclick=()=>{this.recognition.stop()},this.buttonEl.innerHTML=this.iconStarted(),this.buttonEl.setAttribute("title","Click to STOP the speech recognition."),this.model.started=!0},this.recognition.onend=()=>{this.buttonEl.onclick=()=>{this.recognition.start()},this.buttonEl.innerHTML=this.iconNotStarted(),this.buttonEl.setAttribute("title",h),this.model.started=!1},this.buttonEl=(t=`<button class="bk bk-btn bk-btn-${this.model.button_type}" type="button" title="${h}"></button>`,e=document.createElement("template"),t=t.trim(),e.innerHTML=t,e.content.firstChild),this.buttonEl.innerHTML=this.iconNotStarted(),this.buttonEl.onclick=()=>this.recognition.start()}iconStarted(){return""!==this.model.button_started?this.model.button_started:’<svg xmlns="http://www.w3.org/2000/svg" height="22px" style="vertical-align: middle;" fill="currentColor" class="bi bi-mic" viewBox="0 0 16 16">\n <path fill-rule="evenodd" d="M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5z"/>\n <path fill-rule="evenodd" d="M10 8V3a2 2 0 1 0-4 0v5a2 2 0 1 0 4 0zM8 0a3 3 0 0 0-3 3v5a3 3 0 0 0 6 0V3a3 3 0 0 0-3-3z"/>\n</svg>’}iconNotStarted(){return""!==this.model.button_not_started?this.model.button_not_started:’<svg xmlns="http://www.w3.org/2000/svg" height="22px" style="vertical-align: middle;" fill="currentColor" class="bi bi-mic-mute" viewBox="0 0 16 16">\n<path fill-rule="evenodd" d="M12.734 9.613A4.995 4.995 0 0 0 13 8V7a.5.5 0 0 0-1 0v1c0 .274-.027.54-.08.799l.814.814zm-2.522 1.72A4 4 0 0 1 4 8V7a.5.5 0 0 0-1 0v1a5 5 0 0 0 4.5 4.975V15h-3a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-3v-2.025a4.973 4.973 0 0 0 2.43-.923l-.718-.719zM11 7.88V3a3 3 0 0 0-5.842-.963l.845.845A2 2 0 0 1 10 3v3.879l1 1zM8.738 9.86l.748.748A3 3 0 0 1 5 8V6.121l1 1V8a2 2 0 0 0 2.738 1.86zm4.908 3.494l-12-12 .708-.708 12 12-.708.707z"/>\n</svg>’}setIcon(){this.model.started?this.buttonEl.innerHTML=this.iconStarted():this.buttonEl.innerHTML=this.iconNotStarted()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.start.change,(()=>{this.model.start=!1,this.recognition.start()})),this.connect(this.model.properties.stop.change,(()=>{this.model.stop=!1,this.recognition.stop()})),this.connect(this.model.properties.abort.change,(()=>{this.model.abort=!1,this.recognition.abort()})),this.connect(this.model.properties.grammars.change,(()=>this.setGrammars())),this.connect(this.model.properties.lang.change,(()=>this.recognition.lang=this.model.lang)),this.connect(this.model.properties.continuous.change,(()=>this.recognition.continuous=this.model.continuous)),this.connect(this.model.properties.interim_results.change,(()=>this.recognition.interimResults=this.model.interim_results)),this.connect(this.model.properties.max_alternatives.change,(()=>this.recognition.maxAlternatives=this.model.max_alternatives)),this.connect(this.model.properties.service_uri.change,(()=>this.recognition.serviceURI=this.model.service_uri)),this.connect(this.model.properties.button_type.change,(()=>this.buttonEl.className=`bk bk-btn bk-btn-${this.model.button_type}`)),this.connect(this.model.properties.button_hide.change,(()=>this.render()));const{button_not_started:t,button_started:e}=this.model.properties;this.on_change([t,e],(()=>this.setIcon()))}setGrammars(){this.recognition.grammars=function(t){if(t){var e=new l;for(let i of t)i.src?e.addFromString(i.src,i.weight):i.uri&&e.addFromURI(i.uri,i.weight);return e}return null}(this.model.grammars)}render(){super.render(),this.model.button_hide||this.el.appendChild(this.buttonEl)}}i.SpeechToTextView=c,c.__name__="SpeechToTextView";class d extends r.HTMLBox{constructor(t){super(t)}static init_SpeechToText(){this.prototype.default_view=c,this.define({start:[s.Boolean,!1],stop:[s.Boolean,!1],abort:[s.Boolean,!1],grammars:[s.Array,[]],lang:[s.String,""],continuous:[s.Boolean,!1],interim_results:[s.Boolean,!1],max_alternatives:[s.Number,1],service_uri:[s.String],started:[s.Boolean,!1],audio_started:[s.Boolean,!1],sound_started:[s.Boolean,!1],speech_started:[s.Boolean,!1],button_type:[s.String,"light"],button_hide:[s.Boolean,!1],button_not_started:[s.String,""],button_started:[s.String,""],results:[s.Array,[]]})}}i.SpeechToText=d,d.__name__="SpeechToText",d.__module__="panel.models.speech_to_text",d.init_SpeechToText()},n "bfa46a5f19": function _(e,t,s,a,i){a();const o=e("@bokehjs/core/view"),c=e("@bokehjs/core/util/array"),n=e("@bokehjs/model"),h=e("@bokehjs/protocol/receiver");class _ extends o.View{renderTo(){}}s.StateView=_,_.__name__="StateView";class r extends n.Model{constructor(e){super(e),this._receiver=new h.Receiver,this._cache={}}apply_state(e){this._receiver.consume(e.header),this._receiver.consume(e.metadata),this._receiver.consume(e.content),this._receiver.message&&this.document&&this.document.apply_json_patch(this._receiver.message.content)}_receive_json(e,t){const s=JSON.parse(e);this._cache[t]=s;let a=this.state;for(const e of this.values)a=a[e];a===t?this.apply_state(s):this._cache[a]&&this.apply_state(this._cache[a])}set_state(e,t){let s=c.copy(this.values);s[this.widgets[e.id]]=t;let a=this.state;for(const e of s)a=a[e];var i,o,n;this.values=s,this.json?this._cache[a]?this.apply_state(this._cache[a]):(i=a,o=e=>this._receive_json(e,a),(n=new XMLHttpRequest).overrideMimeType("application/json"),n.open("GET",i,!0),n.onreadystatechange=function(){4==n.readyState&&200==n.status&&o(n.responseText)},n.send(null)):this.apply_state(a)}static init_State(){this.prototype.default_view=_,this.define((({Any:e,Boolean:t})=>({json:[t,!1],state:[e,{}],widgets:[e,{}],values:[e,[]]})))}}s.State=r,r.__name__="State",r.__module__="panel.models.state",r.init_State()},n "33cd2c254e": function _(e,s,i,t,n){t();const h=e("@bokehjs/models/layouts/html_box");function o(e){var s=[];for(let t of e){var i={default:t.default,lang:t.lang,local_service:t.localService,name:t.name,voice_uri:t.voiceURI};s.push(i)}return s}class c extends h.HTMLBoxView{initialize(){super.initialize(),this.model.paused=speechSynthesis.paused,this.model.pending=speechSynthesis.pending,this.model.speaking=speechSynthesis.speaking,this._callback=window.setInterval((function(){!speechSynthesis.paused&&speechSynthesis.speaking&&window.speechSynthesis.resume()}),1e4);const e=()=>{"undefined"!=typeof speechSynthesis&&(this.voices=speechSynthesis.getVoices(),this.voices&&(this.model.voices=o(this.voices)))};e(),"undefined"!=typeof speechSynthesis&&void 0!==speechSynthesis.onvoiceschanged&&(speechSynthesis.onvoiceschanged=e)}remove(){null!=this._callback&&clearInterval(this._callback),speechSynthesis.cancel(),super.remove()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.speak.change,(()=>{this.speak()})),this.connect(this.model.properties.pause.change,(()=>{this.model.pause=!1,speechSynthesis.pause()})),this.connect(this.model.properties.resume.change,(()=>{this.model.resume=!1,speechSynthesis.resume()})),this.connect(this.model.properties.cancel.change,(()=>{this.model.cancel=!1,speechSynthesis.cancel()}))}speak(){let e=new SpeechSynthesisUtterance(this.model.speak.text);if(e.pitch=this.model.speak.pitch,e.volume=this.model.speak.volume,e.rate=this.model.speak.rate,this.model.voices)for(let s of this.voices)s.name===this.model.speak.voice&&(e.voice=s);e.onpause=()=>this.model.paused=!0,e.onstart=()=>{this.model.speaking=!0,this.model.paused=!1,this.model.pending=speechSynthesis.pending},e.onresume=()=>this.model.paused=!1,e.onend=()=>{this.model.speaking=!1,this.model.paused=!1,this.model.pending=speechSynthesis.pending},speechSynthesis.speak(e),this.model.paused=speechSynthesis.paused,this.model.pending=speechSynthesis.pending}render(){super.render(),this.model.voices||(this.model.voices=o(this.voices)),null!=this.model.speak&&this.model.speak.text&&this.speak()}}i.TextToSpeechView=c,c.__name__="TextToSpeechView";class p extends h.HTMLBox{constructor(e){super(e)}static init_TextToSpeech(){this.prototype.default_view=c,this.define((({Any:e,Array:s,Boolean:i})=>({paused:[i,!1],pending:[i,!1],speaking:[i,!1],voices:[s(e),[]],cancel:[i,!1],pause:[i,!1],resume:[i,!1],speak:[e,{}]})))}}i.TextToSpeech=p,p.__name__="TextToSpeech",p.__module__="panel.models.text_to_speech",p.init_TextToSpeech()},n "2efaffc12a": function _(t,e,i,l,o){l();const s=t("@bokehjs/models/layouts/html_box"),h=t("@bokehjs/core/build_views"),n=t("@bokehjs/models/plots"),a=t("@bokehjs/models/glyphs"),d=t("@bokehjs/core/dom"),r=t("@bokehjs/models/sources/column_data_source"),c=t("@bokehjs/models/formatters");class p extends s.HTMLBoxView{initialize(){super.initialize(),this.containerDiv=d.div({style:"height:100%; width:100%;"}),this.titleDiv=d.div({style:"font-size: 1em"}),this.valueDiv=d.div({style:"font-size: 2em"}),this.value2Div=d.div({style:"font-size: 1em; opacity: 0.5; display: inline"}),this.changeDiv=d.div({style:"font-size: 1em; opacity: 0.5; display: inline"}),this.textDiv=d.div({},this.titleDiv,this.valueDiv,d.div({},this.changeDiv,this.value2Div)),this.updateTitle(),this.updateValue(),this.updateValue2(),this.updateValueChange(),this.updateTextFontSize(),this.plotDiv=d.div({}),this.containerDiv=d.div({style:"height:100%; width:100%"},this.textDiv,this.plotDiv),this.updateLayout()}connect_signals(){super.connect_signals();const{pos_color:t,neg_color:e}=this.model.properties;this.on_change([t,e],(()=>this.updateValueChange()));const{plot_color:i,plot_type:l,width:o,height:s,sizing_mode:h}=this.model.properties;this.on_change([i,l,o,s,h],(()=>this.render())),this.connect(this.model.properties.title.change,(()=>this.updateTitle(!0))),this.connect(this.model.properties.value.change,(()=>this.updateValue(!0))),this.connect(this.model.properties.value_change.change,(()=>this.updateValue2(!0))),this.connect(this.model.properties.layout.change,(()=>this.updateLayout()))}async render(){super.render(),this.el.appendChild(this.containerDiv),await this.setPlot()}async setPlot(){this.plot=new n.Plot({background_fill_color:null,border_fill_color:null,outline_line_color:null,min_border:0,sizing_mode:"stretch_both",toolbar_location:null});var t=this.model.source;if("line"===this.model.plot_type){var e=new a.Line({x:{field:this.model.plot_x},y:{field:this.model.plot_y},line_width:4,line_color:this.model.plot_color});this.plot.add_glyph(e,t)}else if("step"===this.model.plot_type){var i=new a.Step({x:{field:this.model.plot_x},y:{field:this.model.plot_y},line_width:3,line_color:this.model.plot_color});this.plot.add_glyph(i,t)}else if("area"===this.model.plot_type){var l=new a.VArea({x:{field:this.model.plot_x},y1:{field:this.model.plot_y},y2:0,fill_color:this.model.plot_color,fill_alpha:.5});this.plot.add_glyph(l,t);e=new a.Line({x:{field:this.model.plot_x},y:{field:this.model.plot_y},line_width:3,line_color:this.model.plot_color});this.plot.add_glyph(e,t)}else{var o=new a.VBar({x:{field:this.model.plot_x},top:{field:this.model.plot_y},width:.9,line_color:null,fill_color:this.model.plot_color});this.plot.add_glyph(o,t)}const s=await h.build_view(this.plot);this.plotDiv.innerHTML="",s.renderTo(this.plotDiv)}after_layout(){super.after_layout(),this.updateTextFontSize()}updateTextFontSize(){this.updateTextFontSizeColumn()}updateTextFontSizeColumn(){let t=this.containerDiv.clientWidth,e=this.containerDiv.clientHeight;"column"===this.model.layout?e=Math.round(e/2):t=Math.round(t/2);const i=t/this.model.title.length*2,l=t/(2*this._value_format.length)*1.8,o=t/(this._value_change_format.length+1)*2,s=e/6,h=Math.min(i,l,o,s);this.textDiv.style.fontSize=Math.trunc(h)+"px",this.textDiv.style.lineHeight="1.3"}updateTitle(t=!1){this.titleDiv.innerText=this.model.title,t&&this.updateTextFontSize()}updateValue(t=!1){this._value_format=this.model.formatter.doFormat([this.model.value],{loc:0})[0],this.valueDiv.innerText=this._value_format,t&&this.updateTextFontSize()}updateValue2(t=!1){this._value_change_format=this.model.change_formatter.doFormat([this.model.value_change],{loc:0})[0],this.value2Div.innerText=this._value_change_format,this.updateValueChange(),t&&this.updateTextFontSize()}updateValueChange(){this.model.value_change>0?(this.changeDiv.innerHTML="&#9650;",this.changeDiv.style.color=this.model.pos_color):this.model.value_change<0?(this.changeDiv.innerHTML="&#9660;",this.changeDiv.style.color=this.model.neg_color):(this.changeDiv.innerHTML="&nbsp;",this.changeDiv.style.color="inherit")}updateLayout(){"column"===this.model.layout?(this.containerDiv.style.display="block",this.textDiv.style.height="50%",this.textDiv.style.width="100%",this.plotDiv.style.height="50%",this.plotDiv.style.width="100%"):(this.containerDiv.style.display="flex",this.textDiv.style.height="100%",this.textDiv.style.width="",this.plotDiv.style.height="100%",this.plotDiv.style.width="",this.textDiv.style.flex="1",this.plotDiv.style.flex="1"),window.dispatchEvent(new Event("resize"))}}i.TrendIndicatorView=p,p.__name__="TrendIndicatorView";class _ extends s.HTMLBox{constructor(t){super(t)}static init_TrendIndicator(){this.prototype.default_view=p,this.define((({Number:t,String:e,Ref:i})=>({description:[e,""],formatter:[i(c.TickFormatter),()=>new c.BasicTickFormatter],change_formatter:[i(c.TickFormatter),()=>new c.NumeralTickFormatter],layout:[e,"column"],source:[i(r.ColumnDataSource)],plot_x:[e,"x"],plot_y:[e,"y"],plot_color:[e,"#428bca"],plot_type:[e,"bar"],pos_color:[e,"#5cb85c"],neg_color:[e,"#d9534f"],title:[e,""],value:[t,0],value_change:[t,0]})))}}i.TrendIndicator=_,_.__name__="TrendIndicator",_.__module__="panel.models.trend",_.init_TrendIndicator()},n "4feb5fa522": function _(t,e,s,o,a){o();const n=t("@bokehjs/core/util/types"),c=t("@bokehjs/models/layouts/html_box");class d extends c.HTMLBoxView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.data.change,this._plot),this.connect(this.model.properties.data_sources.change,(()=>this._connect_sources())),this._connected=[],this._connect_sources()}_connect_sources(){for(const t in this.model.data_sources){const e=this.model.data_sources[t];this._connected.indexOf(t)<0&&(this.connect(e.properties.data.change,this._plot),this._connected.push(t))}}_fetch_datasets(){const t={};for(const e in this.model.data_sources){const s=this.model.data_sources[e],o=[],a=s.columns();for(let t=0;t<s.get_length();t++){const e={};for(const o of a)e[o]=s.data[o][t];o.push(e)}t[e]=o}return t}render(){super.render(),this._plot()}_plot(){const t=this.model.data;if(null!=t&&window.vegaEmbed){if(this.model.data_sources&&Object.keys(this.model.data_sources).length>0){const e=this._fetch_datasets();if("data"in e&&(t.data.values=e.data,delete e.data),null!=t.data){const s=n.isArray(t.data)?t.data:[t.data];for(const t of s)t.name in e&&(t.values=e[t.name],delete e[t.name])}this.model.data.datasets=e}window.vegaEmbed(this.el,this.model.data,{actions:!1})}}}s.VegaPlotView=d,d.__name__="VegaPlotView";class i extends c.HTMLBox{constructor(t){super(t)}static init_VegaPlot(){this.prototype.default_view=d,this.define((({Any:t})=>({data:[t,{}],data_sources:[t,{}]})))}}s.VegaPlot=i,i.__name__="VegaPlot",i.__module__="panel.models.vega",i.init_VegaPlot()},n "ffe54b53c3": function _(e,i,t,o,s){o();const l=e("@bokehjs/models/layouts/html_box"),d=e("7116a7a602");class h extends d.PanelHTMLBoxView{initialize(){super.initialize(),this._blocked=!1,this._setting=!1,this._time=Date.now()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.loop.change,(()=>this.set_loop())),this.connect(this.model.properties.paused.change,(()=>this.set_paused())),this.connect(this.model.properties.time.change,(()=>this.set_time())),this.connect(this.model.properties.value.change,(()=>this.set_value())),this.connect(this.model.properties.volume.change,(()=>this.set_volume()))}render(){super.render(),this.videoEl=document.createElement("video"),this.model.sizing_mode&&"fixed"!==this.model.sizing_mode||(this.model.height&&(this.videoEl.height=this.model.height),this.model.width&&(this.videoEl.width=this.model.width)),this.videoEl.style.objectFit="fill",this.videoEl.style.minWidth="100%",this.videoEl.style.minHeight="100%",this.videoEl.controls=!0,this.videoEl.src=this.model.value,this.videoEl.currentTime=this.model.time,this.videoEl.loop=this.model.loop,null!=this.model.volume?this.videoEl.volume=this.model.volume/100:this.model.volume=100*this.videoEl.volume,this.videoEl.onpause=()=>this.model.paused=!0,this.videoEl.onplay=()=>this.model.paused=!1,this.videoEl.ontimeupdate=()=>this.update_time(this),this.videoEl.onvolumechange=()=>this.update_volume(this),this.el.appendChild(this.videoEl),this.model.paused||this.videoEl.play()}update_time(e){e._setting?e._setting=!1:Date.now()-e._time<e.model.throttle||(e._blocked=!0,e.model.time=e.videoEl.currentTime,e._time=Date.now())}update_volume(e){e._setting?e._setting=!1:(e._blocked=!0,e.model.volume=100*e.videoEl.volume)}set_loop(){this.videoEl.loop=this.model.loop}set_paused(){!this.videoEl.paused&&this.model.paused&&this.videoEl.pause(),this.videoEl.paused&&!this.model.paused&&this.videoEl.play()}set_volume(){this._blocked?this._blocked=!1:(this._setting=!0,null!=this.model.volume&&(this.videoEl.volume=this.model.volume/100))}set_time(){this._blocked?this._blocked=!1:(this._setting=!0,this.videoEl.currentTime=this.model.time)}set_value(){this.videoEl.src=this.model.value}}t.VideoView=h,h.__name__="VideoView";class m extends l.HTMLBox{constructor(e){super(e)}static init_Video(){this.prototype.default_view=h,this.define((({Any:e,Boolean:i,Int:t,Number:o})=>({loop:[i,!1],paused:[i,!0],time:[o,0],throttle:[t,250],value:[e,""],volume:[t]})))}}t.Video=m,m.__name__="Video",m.__module__="panel.models.widgets",m.init_Video()},n "9ff7f7b5e9": function _(e,t,i,s,o){s();const h=e("@bokehjs/models/layouts/html_box"),l=e("7116a7a602");class a extends l.PanelHTMLBoxView{constructor(){super(…arguments),this.constraints={audio:!1,video:!0}}initialize(){super.initialize(),null!==this.model.timeout&&this.set_timeout()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.timeout.change,(()=>this.set_timeout())),this.connect(this.model.properties.snapshot.change,(()=>this.snapshot())),this.connect(this.model.properties.paused.change,(()=>this.pause()))}pause(){this.model.paused&&(null!=this.timer&&(clearInterval(this.timer),this.timer=null),this.videoEl.pause()),this.set_timeout()}set_timeout(){this.timer&&(clearInterval(this.timer),this.timer=null),null!=this.model.timeout&&this.model.timeout>0&&(this.timer=setInterval((()=>this.snapshot()),this.model.timeout))}snapshot(){this.canvasEl.width=this.videoEl.videoWidth,this.canvasEl.height=this.videoEl.videoHeight;const e=this.canvasEl.getContext("2d");e&&e.drawImage(this.videoEl,0,0,this.canvasEl.width,this.canvasEl.height),this.model.value=this.canvasEl.toDataURL("image/"+this.model.format,.95)}remove(){super.remove(),this.timer&&(clearInterval(this.timer),this.timer=null)}render(){super.render(),this.videoEl||(this.videoEl=document.createElement("video"),this.model.sizing_mode&&"fixed"!==this.model.sizing_mode||(this.model.height&&(this.videoEl.height=this.model.height),this.model.width&&(this.videoEl.width=this.model.width)),this.videoEl.style.objectFit="fill",this.videoEl.style.minWidth="100%",this.videoEl.style.minHeight="100%",this.canvasEl=document.createElement("canvas"),this.el.appendChild(this.videoEl),navigator.mediaDevices.getUserMedia&&navigator.mediaDevices.getUserMedia(this.constraints).then((e=>{this.videoEl.srcObject=e,this.model.paused||this.videoEl.play()})).catch(console.error))}}i.VideoStreamView=a,a.__name__="VideoStreamView";class n extends h.HTMLBox{constructor(e){super(e)}static init_VideoStream(){this.prototype.default_view=a,this.define((({Any:e,Boolean:t,Int:i,Nullable:s,String:o})=>({format:[o,"png"],paused:[t,!1],snapshot:[t,!1],timeout:[s(i),null],value:[e]}))),this.override({height:240,width:320})}}i.VideoStream=n,n.__name__="VideoStream",n.__module__="panel.models.widgets",n.init_VideoStream()},n "c51f25e2a7": function _(o,V,e,l,K){l(),K("VTKJSPlot",o("34fc7779c7").VTKJSPlot),K("VTKVolumePlot",o("89262e43a1").VTKVolumePlot),K("VTKAxes",o("db7a0079c0").VTKAxes),K("VTKSynchronizedPlot",o("4baab0b7ce").VTKSynchronizedPlot)},n "34fc7779c7": function _(e,t,n,i,s){i();const a=e("666f1ef4e6"),r=e("4eb45e35aa");class _ extends a.AbstractVTKView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.data.change,(()=>{this.invalidate_render()}))}render(){super.render(),this._create_orientation_widget(),this._set_axes()}invalidate_render(){this._vtk_renwin=null,super.invalidate_render()}init_vtk_renwin(){this._vtk_renwin=r.vtkns.FullScreenRenderWindow.newInstance({rootContainer:this.el,container:this._vtk_container})}plot(){if(!this.model.data)return void this._vtk_renwin.getRenderWindow().render();const e=r.vtkns.DataAccessHelper.get("zip",{zipContent:atob(this.model.data),callback:t=>{const n=r.vtkns.HttpSceneLoader.newInstance({renderer:this._vtk_renwin.getRenderer(),dataAccessHelper:e}),i=r.vtk.macro.debounce((()=>setTimeout((()=>{null==this._axes&&this.model.axes&&this._set_axes(),this._set_camera_state(),this._get_camera_state()}),100)),100);n.setUrl("index.json"),n.onReady(i)}})}}n.VTKJSPlotView=_,_.__name__="VTKJSPlotView";class o extends a.AbstractVTKPlot{static init_VTKJSPlot(){this.prototype.default_view=_,this.define((({Boolean:e,Nullable:t,String:n})=>({data:[t(n)],enable_keybindings:[e,!1]})))}}n.VTKJSPlot=o,o.__name__="VTKJSPlot",o.init_VTKJSPlot()},n "666f1ef4e6": function _(e,t,i,n,r){n();const s=e("tslib").__importStar(e("@bokehjs/core/properties")),a=e("@bokehjs/core/dom"),o=e("@bokehjs/models/layouts/html_box"),_=e("@bokehjs/core/util/object"),d=e("7116a7a602"),c=e("4eb45e35aa"),h=e("c010237f8b"),l={padding:"0px 2px 0px 2px",maxHeight:"150px",height:"auto",backgroundColor:"rgba(255, 255, 255, 0.4)",borderRadius:"10px",margin:"2px",boxSizing:"border-box",overflow:"hidden",overflowY:"auto",transition:"width 0.1s linear",bottom:"0px",position:"absolute"};class g extends d.PanelHTMLBoxView{initialize(){super.initialize(),this._camera_callbacks=[],this._renderable=!0,this._setting_camera=!1}_add_colorbars(){const e=this.el.querySelector(".vtk_info");if(e&&this.el.removeChild(e),this.model.color_mappers.length<1)return;const t=document.createElement("div"),i="350px",n="30px";t.classList.add("vtk_info"),c.applyStyle(t,l),c.applyStyle(t,{width:i}),this.el.appendChild(t);const r=[];this.model.color_mappers.forEach((e=>{const i=new h.VTKColorBar(t,e);r.push(i)}));const s=document.createElement("div");c.applyStyle(s,{textAlign:"center",fontSize:"20px"}),s.innerText="…",t.addEventListener("click",(()=>{t.style.width===n?(t.removeChild(s),c.applyStyle(t,{height:"auto",width:i}),r.forEach((e=>t.appendChild(e.canvas)))):(r.forEach((e=>t.removeChild(e.canvas))),c.applyStyle(t,{height:n,width:n}),t.appendChild(s))})),t.click()}connect_signals(){super.connect_signals(),this.on_change(this.model.properties.orientation_widget,(()=>{this._orientation_widget_visibility(this.model.orientation_widget)})),this.on_change(this.model.properties.camera,(()=>this._set_camera_state())),this.on_change(this.model.properties.axes,(()=>{this._delete_axes(),this.model.axes&&this._set_axes(),this._vtk_render()})),this.on_change(this.model.properties.color_mappers,(()=>this._add_colorbars()))}render(){super.render(),this._vtk_renwin&&this._vtk_container?(d.set_size(this._vtk_container,this.model),this.el.appendChild(this._vtk_container)):(this._orientationWidget=null,this._axes=null,this._vtk_container=a.div(),this.init_vtk_renwin(),d.set_size(this._vtk_container,this.model),this.el.appendChild(this._vtk_container),this._vtk_renwin.getInteractor().onEndAnimation((()=>this._get_camera_state())),this._remove_default_key_binding(),this._bind_key_events(),this.plot(),this._add_colorbars(),this.model.renderer_el=this._vtk_renwin)}after_layout(){super.after_layout(),this._renderable&&this._vtk_renwin.resize(),this._vtk_render()}invalidate_render(){this._unsubscribe_camera_cb(),super.invalidate_render()}resize_layout(){this.layout&&super.resize_layout()}remove(){this._unsubscribe_camera_cb(),window.removeEventListener("resize",this._vtk_renwin.resize),this._vtk_renwin.delete(),super.remove()}get _vtk_camera_state(){const e=this._vtk_renwin.getRenderer().getActiveCamera();let t;return e&&(t=_.clone(e.get()),delete t.classHierarchy,delete t.vtkObject,delete t.vtkCamera,delete t.viewPlaneNormal,delete t.flattenedDepIds,delete t.managedInstanceId,delete t.directionOfProjection),t}get _axes_canvas(){let e=this._vtk_container.querySelector(".axes-canvas");return e||(e=a.canvas({style:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%"}}),e.classList.add("axes-canvas"),this._vtk_container.appendChild(e),this._vtk_renwin.setResizeCallback((()=>{if(this._axes_canvas){const e=this._vtk_container.getBoundingClientRect(),t=Math.floor(e.width*window.devicePixelRatio),i=Math.floor(e.height*window.devicePixelRatio);this._axes_canvas.setAttribute("width",t.toFixed()),this._axes_canvas.setAttribute("height",i.toFixed())}}))),e}_bind_key_events(){this.el.addEventListener("mouseenter",(()=>{const e=this._vtk_renwin.getInteractor();this.model.enable_keybindings&&(document.querySelector("body").addEventListener("keypress",e.handleKeyPress),document.querySelector("body").addEventListener("keydown",e.handleKeyDown),document.querySelector("body").addEventListener("keyup",e.handleKeyUp))})),this.el.addEventListener("mouseleave",(()=>{const e=this._vtk_renwin.getInteractor();document.querySelector("body").removeEventListener("keypress",e.handleKeyPress),document.querySelector("body").removeEventListener("keydown",e.handleKeyDown),document.querySelector("body").removeEventListener("keyup",e.handleKeyUp)}))}_create_orientation_widget(){const e=c.vtkns.AxesActor.newInstance();this._orientationWidget=c.vtkns.OrientationMarkerWidget.newInstance({actor:e,interactor:this._vtk_renwin.getInteractor()}),this._orientationWidget.setEnabled(!0),this._orientationWidget.setViewportCorner(c.vtkns.OrientationMarkerWidget.Corners.BOTTOM_RIGHT),this._orientationWidget.setViewportSize(.15),this._orientationWidget.setMinPixelSize(75),this._orientationWidget.setMaxPixelSize(300),this.model.interactive_orientation_widget&&this._make_orientation_widget_interactive(),this._orientation_widget_visibility(this.model.orientation_widget)}_make_orientation_widget_interactive(){this._widgetManager=c.vtkns.WidgetManager.newInstance(),this._widgetManager.setRenderer(this._orientationWidget.getRenderer());const e=this._orientationWidget.getActor(),t=c.vtkns.InteractiveOrientationWidget.newInstance();t.placeWidget(e.getBounds()),t.setBounds(e.getBounds()),t.setPlaceFactor(1);this._widgetManager.addWidget(t).onOrientationChange((({direction:e})=>{const t=this._vtk_renwin.getRenderer().getActiveCamera(),i=t.getFocalPoint(),n=t.getPosition(),r=t.getViewUp(),s=Math.sqrt(Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2)+Math.pow(n[2]-i[2],2));t.setPosition(i[0]+e[0]*s,i[1]+e[1]*s,i[2]+e[2]*s),e[0]&&t.setViewUp(c.majorAxis(r,1,2)),e[1]&&t.setViewUp(c.majorAxis(r,0,2)),e[2]&&t.setViewUp(c.majorAxis(r,0,1)),this._vtk_renwin.getRenderer().resetCameraClippingRange(),this._vtk_render(),this._get_camera_state()}))}_delete_axes(){if(this._axes){Object.keys(this._axes).forEach((e=>this._vtk_renwin.getRenderer().removeActor(this._axes[e]))),this._axes=null;const e=this._axes_canvas.getContext("2d");e&&e.clearRect(0,0,this._axes_canvas.clientWidth*window.devicePixelRatio,this._axes_canvas.clientHeight*window.devicePixelRatio)}}_get_camera_state(){this._setting_camera||(this._setting_camera=!0,this.model.camera=this._vtk_camera_state,this._setting_camera=!1)}_orientation_widget_visibility(e){this._orientationWidget.setEnabled(e),null!=this._widgetManager&&(e?this._widgetManager.enablePicking():this._widgetManager.disablePicking()),this._vtk_render()}_remove_default_key_binding(){const e=this._vtk_renwin.getInteractor();document.querySelector("body").removeEventListener("keypress",e.handleKeyPress),document.querySelector("body").removeEventListener("keydown",e.handleKeyDown),document.querySelector("body").removeEventListener("keyup",e.handleKeyUp)}_set_axes(){if(this.model.axes&&this._vtk_renwin.getRenderer()){const{psActor:e,axesActor:t,gridActor:i}=this.model.axes.create_axes(this._axes_canvas);this._axes={psActor:e,axesActor:t,gridActor:i},e&&this._vtk_renwin.getRenderer().addActor(e),t&&this._vtk_renwin.getRenderer().addActor(t),i&&this._vtk_renwin.getRenderer().addActor(i)}}_set_camera_state(){this._setting_camera||void 0===this._vtk_renwin.getRenderer()||(this._setting_camera=!0,this.model.camera&&JSON.stringify(this.model.camera)!=JSON.stringify(this._vtk_camera_state)&&this._vtk_renwin.getRenderer().getActiveCamera().set(this.model.camera),this._vtk_renwin.getRenderer().resetCameraClippingRange(),this._vtk_render(),this._setting_camera=!1)}_unsubscribe_camera_cb(){this._camera_callbacks.splice(0,this._camera_callbacks.length).map((e=>e.unsubscribe()))}_vtk_render(){this._renderable&&(this._orientationWidget&&this._orientationWidget.updateMarkerOrientation(),this._vtk_renwin.getRenderWindow().render())}}i.AbstractVTKView=g,g.__name__="AbstractVTKView";class v extends o.HTMLBox{constructor(e){super(e)}getActors(){return this.renderer_el.getRenderer().getActors()}static init_AbstractVTKPlot(){this.define({axes:[s.Instance],camera:[s.Instance],color_mappers:[s.Array,[]],orientation_widget:[s.Boolean,!1],interactive_orientation_widget:[s.Boolean,!1]}),this.override({height:300,width:300})}}i.AbstractVTKPlot=v,v.__name__="AbstractVTKPlot",v.__module__="panel.models.vtk",v.init_AbstractVTKPlot()},n "4eb45e35aa": function _(e,t,n,r,a){r();const o=e("@bokehjs/core/util/array"),k=e("@bokehjs/core/kinds");if(n.ARRAY_TYPES={uint8:Uint8Array,int8:Int8Array,uint16:Uint16Array,int16:Int16Array,uint32:Uint32Array,int32:Int32Array,float32:Float32Array,float64:Float64Array},n.vtk=window.vtk,n.vtkns={},n.vtk){n.vtkns.Actor=n.vtk.Rendering.Core.vtkActor,n.vtkns.AxesActor=n.vtk.Rendering.Core.vtkAxesActor,n.vtkns.Base64=n.vtk.Common.Core.vtkBase64,n.vtkns.BoundingBox=n.vtk.Common.DataModel.vtkBoundingBox,n.vtkns.Camera=n.vtk.Rendering.Core.vtkCamera,n.vtkns.ColorTransferFunction=n.vtk.Rendering.Core.vtkColorTransferFunction,n.vtkns.CubeSource=n.vtk.Filters.Sources.vtkCubeSource,n.vtkns.DataAccessHelper=n.vtk.IO.Core.DataAccessHelper,n.vtkns.DataArray=n.vtk.Common.Core.vtkDataArray,n.vtkns.Follower=n.vtk.Rendering.Core.vtkFollower,n.vtkns.FullScreenRenderWindow=n.vtk.Rendering.Misc.vtkFullScreenRenderWindow,n.vtkns.Glyph3DMapper=n.vtk.Rendering.Core.vtkGlyph3DMapper,n.vtkns.HttpSceneLoader=n.vtk.IO.Core.vtkHttpSceneLoader,n.vtkns.ImageData=n.vtk.Common.DataModel.vtkImageData,n.vtkns.ImageMapper=n.vtk.Rendering.Core.vtkImageMapper,n.vtkns.ImageProperty=n.vtk.Rendering.Core.vtkImageProperty,n.vtkns.ImageSlice=n.vtk.Rendering.Core.vtkImageSlice,n.vtkns.InteractiveOrientationWidget=n.vtk.Widgets.Widgets3D.vtkInteractiveOrientationWidget,n.vtkns.InteractorStyleTrackballCamera=n.vtk.Interaction.Style.vtkInteractorStyleTrackballCamera,n.vtkns.Light=n.vtk.Rendering.Core.vtkLight,n.vtkns.LineSource=n.vtk.Filters.Sources.vtkLineSource,n.vtkns.LookupTable=n.vtk.Common.Core.vtkLookupTable,n.vtkns.macro=n.vtk.macro,n.vtkns.Mapper=n.vtk.Rendering.Core.vtkMapper,n.vtkns.OpenGLRenderWindow=n.vtk.Rendering.OpenGL.vtkRenderWindow,n.vtkns.OrientationMarkerWidget=n.vtk.Interaction.Widgets.vtkOrientationMarkerWidget,n.vtkns.OutlineFilter=n.vtk.Filters.General.vtkOutlineFilter,n.vtkns.PiecewiseFunction=n.vtk.Common.DataModel.vtkPiecewiseFunction,n.vtkns.PixelSpaceCallbackMapper=n.vtk.Rendering.Core.vtkPixelSpaceCallbackMapper,n.vtkns.PlaneSource=n.vtk.Filters.Sources.vtkPlaneSource,n.vtkns.PointSource=n.vtk.Filters.Sources.vtkPointSource,n.vtkns.PolyData=n.vtk.Common.DataModel.vtkPolyData,n.vtkns.Property=n.vtk.Rendering.Core.vtkProperty,n.vtkns.Renderer=n.vtk.Rendering.Core.vtkRenderer,n.vtkns.RenderWindow=n.vtk.Rendering.Core.vtkRenderWindow,n.vtkns.RenderWindowInteractor=n.vtk.Rendering.Core.vtkRenderWindowInteractor,n.vtkns.SphereMapper=n.vtk.Rendering.Core.vtkSphereMapper,n.vtkns.SynchronizableRenderWindow=n.vtk.Rendering.Misc.vtkSynchronizableRenderWindow,n.vtkns.ThirdParty=n.vtk.ThirdParty,n.vtkns.Texture=n.vtk.Rendering.Core.vtkTexture,n.vtkns.Volume=n.vtk.Rendering.Core.vtkVolume,n.vtkns.VolumeController=n.vtk.Interaction.UI.vtkVolumeController,n.vtkns.VolumeMapper=n.vtk.Rendering.Core.vtkVolumeMapper,n.vtkns.VolumeProperty=n.vtk.Rendering.Core.vtkVolumeProperty,n.vtkns.WidgetManager=n.vtk.Widgets.Core.vtkWidgetManager;const{vtkObjectManager:e}=n.vtkns.SynchronizableRenderWindow;e.setTypeMapping("vtkVolumeMapper",n.vtkns.VolumeMapper.newInstance,e.oneTimeGenericUpdater),e.setTypeMapping("vtkSmartVolumeMapper",n.vtkns.VolumeMapper.newInstance,e.oneTimeGenericUpdater),e.setTypeMapping("vtkFollower",n.vtkns.Follower.newInstance,e.genericUpdater),e.setTypeMapping("vtkOpenGLGlyph3DMapper",n.vtkns.Glyph3DMapper.newInstance,e.genericUpdater)}function i(e){const t=Math.min(Math.max(Math.round(e),0),255).toString(16);return 2==t.length?t:"0"+t}function v(e,t,n){return"#"+i(e)+i(t)+i(n)}function s(e){for(var t=new ArrayBuffer(e.length),n=new Uint8Array(t),r=0,a=e.length;r<a;r++)n[r]=e.charCodeAt(r);return t}n.Interpolation=k.Enum("fast_linear","linear","nearest"),n.applyStyle=function(e,t){Object.keys(t).forEach((n=>{e.style[n]=t[n]}))},n.hexToRGB=function(e){return[parseInt(e.slice(1,3),16)/255,parseInt(e.slice(3,5),16)/255,parseInt(e.slice(5,7),16)/255]},n.rgbToHex=v,n.vtkLutToMapper=function(e){const{scale:t,nodes:r}=e.get("scale","nodes");if(t!==n.vtkns.ColorTransferFunction.Scale.LINEAR)throw"Error transfer function scale not handle";const a=r.map((e=>e.x)),k=Math.min(…a),i=Math.max(…a),s=o.linspace(k,i,255),c=[0,0,0];return{low:k,high:i,palette:s.map((t=>(e.getColor(t,c),v(255*c[0],255*c[1],255*c[2]))))}},n.data2VTKImageData=function(e){const t=n.vtkns.ImageData.newInstance({spacing:e.spacing});t.setDimensions(e.dims),t.setOrigin(null!=e.origin?e.origin:e.dims.map((e=>e/2)));const r=n.vtkns.DataArray.newInstance({name:"scalars",numberOfComponents:1,values:new n.ARRAY_TYPES[e.dtype](s(atob(e.buffer)))});return t.getPointData().setScalars(r),t},n.majorAxis=function(e,t,n){const r=[0,0,0],a=Math.abs(e[t])>Math.abs(e[n])?t:n,o=e[a]>0?1:-1;return r[a]=o,r},n.cartesian_product=function(…e){return e.reduce(((e,t)=>e.flatMap((e=>t.map((t=>[].concat(e,t)))))))}},n "c010237f8b": function _(t,i,e,s,h){s();const a=t("@bokehjs/models/mappers"),n=t("@bokehjs/core/util/array");class c{constructor(t,i,e={}){this.parent=t,this.mapper=i,this.options=e,e.ticksNum||(e.ticksNum=5),e.fontFamily||(e.fontFamily="Arial"),e.fontSize||(e.fontSize="12px"),e.ticksSize||(e.ticksSize=2),this.canvas=document.createElement("canvas"),this.canvas.style.width="100%",this.parent.appendChild(this.canvas),this.ctx=this.canvas.getContext("2d"),this.ctx.font=`${this.options.fontSize} ${this.options.fontFamily}`,this.ctx.lineWidth=e.ticksSize,e.height||(e.height=4*(this.font_height+1)+"px"),this.canvas.style.height=e.height,this.draw_colorbar()}get values(){const{min:t,max:i}=this.mapper.metrics;return n.linspace(t,i,this.options.ticksNum)}get ticks(){return this.values.map((t=>t.toExponential(3)))}get title(){return this.mapper.name?this.mapper.name:"scalars"}get font_height(){let t=0;return this.values.forEach((i=>{const{actualBoundingBoxAscent:e,actualBoundingBoxDescent:s}=this.ctx.measureText(${i}),h=e+s;t<h&&(t=h)})),t}draw_colorbar(){this.canvas.width=this.canvas.clientWidth,this.canvas.height=this.canvas.clientHeight;const{palette:t}=this.mapper;this.ctx.font=`${this.options.fontSize} ${this.options.fontFamily}`;const i=this.font_height;this.ctx.save();const e=document.createElement("canvas"),s=t.length;e.width=s,e.height=1;const h=e.getContext("2d"),c=h.getImageData(0,0,s,1),o=new a.LinearColorMapper({palette:t}).rgba_mapper.v_compute(n.range(0,t.length));c.data.set(o),h.putImageData(c,0,0),this.ctx.drawImage(e,0,2*(this.font_height+1)+1,this.canvas.width,this.canvas.height),this.ctx.restore(),this.ctx.save(),this.ctx.textAlign="center",this.ctx.fillText(this.title,this.canvas.width/2,i+1),this.ctx.restore(),this.ctx.save();const r=n.linspace(0,this.canvas.width,5);r.forEach(((t,e)=>{let s=t;0==e?(s=t+Math.ceil(this.ctx.lineWidth/2),this.ctx.textAlign="left"):e==r.length-1?(s=t-Math.ceil(this.ctx.lineWidth/2),this.ctx.textAlign="right"):this.ctx.textAlign="center",this.ctx.moveTo(s,2*(i+1)),this.ctx.lineTo(s,2*(i+1)+5),this.ctx.stroke(),this.ctx.fillText(${this.ticks[e]},t,2*(i+1))})),this.ctx.restore()}}e.VTKColorBar=c,c.__name__="VTKColorBar"},n "89262e43a1": function _(e,t,i,s,n){s();const r=e("666f1ef4e6"),o=e("4eb45e35aa");class a extends r.AbstractVTKView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.data.change,(()=>{this._vtk_image_data=o.data2VTKImageData(this.model.data),this.invalidate_render()})),this.connect(this.model.properties.colormap.change,(()=>{this.colormap_selector.value=this.model.colormap;const e=new Event("change");this.colormap_selector.dispatchEvent(e)})),this.connect(this.model.properties.shadow.change,(()=>{this.shadow_selector.value=this.model.shadow?"1":"0";const e=new Event("change");this.shadow_selector.dispatchEvent(e)})),this.connect(this.model.properties.sampling.change,(()=>{this.sampling_slider.value=this.model.sampling.toFixed(2);const e=new Event("input");this.sampling_slider.dispatchEvent(e)})),this.connect(this.model.properties.edge_gradient.change,(()=>{this.edge_gradient_slider.value=this.model.edge_gradient.toFixed(2);const e=new Event("input");this.edge_gradient_slider.dispatchEvent(e)})),this.connect(this.model.properties.rescale.change,(()=>{this._controllerWidget.setRescaleColorMap(this.model.rescale),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.ambient.change,(()=>{this.volume.getProperty().setAmbient(this.model.ambient),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.diffuse.change,(()=>{this.volume.getProperty().setDiffuse(this.model.diffuse),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.specular.change,(()=>{this.volume.getProperty().setSpecular(this.model.specular),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.specular_power.change,(()=>{this.volume.getProperty().setSpecularPower(this.model.specular_power),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.display_volume.change,(()=>{this._set_volume_visibility(this.model.display_volume),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.display_slices.change,(()=>{this._set_slices_visibility(this.model.display_slices),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.slice_i.change,(()=>{void 0!==this.image_actor_i&&(this.image_actor_i.getMapper().setISlice(this.model.slice_i),this._vtk_renwin.getRenderWindow().render())})),this.connect(this.model.properties.slice_j.change,(()=>{void 0!==this.image_actor_j&&(this.image_actor_j.getMapper().setJSlice(this.model.slice_j),this._vtk_renwin.getRenderWindow().render())})),this.connect(this.model.properties.slice_k.change,(()=>{void 0!==this.image_actor_k&&(this.image_actor_k.getMapper().setKSlice(this.model.slice_k),this._vtk_renwin.getRenderWindow().render())})),this.connect(this.model.properties.render_background.change,(()=>{this._vtk_renwin.getRenderer().setBackground(…o.hexToRGB(this.model.render_background)),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.interpolation.change,(()=>{this._set_interpolation(this.model.interpolation),this._vtk_renwin.getRenderWindow().render()})),this.connect(this.model.properties.controller_expanded.change,(()=>{null!=this._controllerWidget&&this._controllerWidget.setExpanded(this.model.controller_expanded)}))}render(){this._vtk_renwin=null,this._orientationWidget=null,this._axes=null,super.render(),this._create_orientation_widget(),this._set_axes(),this.model.camera?this._set_camera_state():this._vtk_renwin.getRenderer().resetCamera(),this._get_camera_state()}invalidate_render(){this._vtk_renwin=null,super.invalidate_render()}init_vtk_renwin(){this._vtk_renwin=o.vtkns.FullScreenRenderWindow.newInstance({rootContainer:this.el,container:this._vtk_container})}plot(){this._controllerWidget=o.vtkns.VolumeController.newInstance({size:[400,150],rescaleColorMap:this.model.rescale}),this._plot_volume(),this._plot_slices(),this._controllerWidget.setupContent(this._vtk_renwin.getRenderWindow(),this.volume,!0),this._controllerWidget.setContainer(this.el),this._controllerWidget.setExpanded(this.model.controller_expanded),this._connect_js_controls(),this._vtk_renwin.getRenderWindow().getInteractor(),this._vtk_renwin.getRenderWindow().getInteractor().setDesiredUpdateRate(45),this._set_volume_visibility(this.model.display_volume),this._set_slices_visibility(this.model.display_slices),this._vtk_renwin.getRenderer().setBackground(…o.hexToRGB(this.model.render_background)),this._set_interpolation(this.model.interpolation),this._set_camera_state()}get vtk_image_data(){return this._vtk_image_data||(this._vtk_image_data=o.data2VTKImageData(this.model.data)),this._vtk_image_data}get volume(){return this._vtk_renwin.getRenderer().getVolumes()[0]}get image_actor_i(){return this._vtk_renwin.getRenderer().getActors()[0]}get image_actor_j(){return this._vtk_renwin.getRenderer().getActors()[1]}get image_actor_k(){return this._vtk_renwin.getRenderer().getActors()[2]}get shadow_selector(){return this.el.querySelector(".js-shadow")}get edge_gradient_slider(){return this.el.querySelector(".js-edge")}get sampling_slider(){return this.el.querySelector(".js-spacing")}get colormap_selector(){return this.el.querySelector(".js-color-preset")}_connect_js_controls(){const{el:e}=this._controllerWidget.get("el");if(void 0!==e){e.querySelector(".js-button").addEventListener("click",(()=>this.model.controller_expanded=this._controllerWidget.getExpanded()))}this.colormap_selector.addEventListener("change",(()=>{this.model.colormap=this.colormap_selector.value})),this.model.colormap?this.model.properties.colormap.change.emit():this.model.colormap=this.colormap_selector.value,this.shadow_selector.addEventListener("change",(()=>{this.model.shadow=!!Number(this.shadow_selector.value)})),(this.model.shadow=!!Number(this.shadow_selector.value))&&this.model.properties.shadow.change.emit(),this.sampling_slider.addEventListener("input",(()=>{const e=Number(this.sampling_slider.value);Math.abs(this.model.sampling-e)>=.005&&(this.model.sampling=e)})),Math.abs(this.model.sampling-Number(this.shadow_selector.value))>=.005&&this.model.properties.sampling.change.emit(),this.edge_gradient_slider.addEventListener("input",(()=>{const e=Number(this.edge_gradient_slider.value);Math.abs(this.model.edge_gradient-e)>=.005&&(this.model.edge_gradient=e)})),Math.abs(this.model.edge_gradient-Number(this.edge_gradient_slider.value))>=.005&&this.model.properties.edge_gradient.change.emit()}_plot_slices(){const e=this._vtk_image_data,t=o.vtkns.ImageSlice.newInstance(),i=o.vtkns.ImageSlice.newInstance(),s=o.vtkns.ImageSlice.newInstance(),n=o.vtkns.ImageMapper.newInstance(),r=o.vtkns.ImageMapper.newInstance(),a=o.vtkns.ImageMapper.newInstance();n.setInputData(e),n.setISlice(this.model.slice_i),t.setMapper(n),r.setInputData(e),r.setJSlice(this.model.slice_j),i.setMapper(r),a.setInputData(e),a.setKSlice(this.model.slice_k),s.setMapper(a);const l=o.vtkns.PiecewiseFunction.newInstance();l.removeAllPoints(),l.addPoint(0,1);const d=this.volume.getProperty().getRGBTransferFunction(0),c=t.getProperty();i.setProperty(c),s.setProperty(c),c.setRGBTransferFunction(d),c.setScalarOpacity(l);const _=this._vtk_renwin.getRenderer();_.addActor(t),_.addActor(i),_.addActor(s)}_plot_volume(){const e=this.vtk_image_data,t=o.vtkns.Volume.newInstance(),i=o.vtkns.VolumeMapper.newInstance();t.setMapper(i),i.setInputData(e);const s=(e.getPointData().getScalars()||e.getPointData().getArrays()[0]).getRange(),n=o.vtkns.ColorTransferFunction.newInstance();n.onModified((()=>this.model.mapper=o.vtkLutToMapper(n)));const r=o.vtkns.PiecewiseFunction.newInstance(),a=.7*Math.sqrt(e.getSpacing().map((e=>e*e)).reduce(((e,t)=>e+t),0));i.setSampleDistance(a),t.getProperty().setRGBTransferFunction(0,n),t.getProperty().setScalarOpacity(0,r),t.getProperty().setInterpolationTypeToFastLinear(),t.getProperty().setScalarOpacityUnitDistance(0,o.vtkns.BoundingBox.getDiagonalLength(e.getBounds())/Math.max(…e.getDimensions())),t.getProperty().setGradientOpacityMinimumValue(0,0),t.getProperty().setGradientOpacityMaximumValue(0,.05*(s[1]-s[0])),t.getProperty().setShade(this.model.shadow),t.getProperty().setUseGradientOpacity(0,!0),t.getProperty().setGradientOpacityMinimumOpacity(0,0),t.getProperty().setGradientOpacityMaximumOpacity(0,1),t.getProperty().setAmbient(this.model.ambient),t.getProperty().setDiffuse(this.model.diffuse),t.getProperty().setSpecular(this.model.specular),t.getProperty().setSpecularPower(this.model.specular_power),this._vtk_renwin.getRenderer().addVolume(t)}_set_interpolation(e){"fast_linear"==e?(this.volume.getProperty().setInterpolationTypeToFastLinear(),this.image_actor_i.getProperty().setInterpolationTypeToLinear()):"linear"==e?(this.volume.getProperty().setInterpolationTypeToLinear(),this.image_actor_i.getProperty().setInterpolationTypeToLinear()):(this.volume.getProperty().setInterpolationTypeToNearest(),this.image_actor_i.getProperty().setInterpolationTypeToNearest())}_set_slices_visibility(e){this._vtk_renwin.getRenderer().getActors().map((t=>t.setVisibility(e)))}_set_volume_visibility(e){this.volume.setVisibility(e)}}i.VTKVolumePlotView=a,a.__name__="VTKVolumePlotView";class l extends r.AbstractVTKPlot{constructor(e){super(e)}static init_VTKVolumePlot(){this.prototype.default_view=a,this.define((({Any:e,Array:t,Boolean:i,Int:s,Number:n,String:r,Struct:a})=>({ambient:[n,.2],colormap:[r],data:[e],diffuse:[n,.7],display_slices:[i,!1],display_volume:[i,!0],edge_gradient:[n,.2],interpolation:[o.Interpolation,"fast_linear"],mapper:[a({palette:t(r),low:n,high:n})],render_background:[r,"#52576e"],rescale:[i,!1],sampling:[n,.4],shadow:[i,!0],slice_i:[s,0],slice_j:[s,0],slice_k:[s,0],specular:[n,.3],specular_power:[n,8],controller_expanded:[i,!0]})))}}i.VTKVolumePlot=l,l.__name__="VTKVolumePlot",l.init_VTKVolumePlot()},n "db7a0079c0": function _(t,s,i,e,n){e();const a=t("tslib").__importStar(t("@bokehjs/core/properties")),r=t("@bokehjs/model"),c=t("2f3fd5db07"),h=t("4eb45e35aa");class l extends r.Model{constructor(t){super(t)}static init_VTKAxes(){this.define({origin:[a.Array],xticker:[a.Instance],yticker:[a.Instance],zticker:[a.Instance],digits:[a.Number,1],show_grid:[a.Boolean,!0],grid_opacity:[a.Number,.1],axes_opacity:[a.Number,1],fontsize:[a.Number,12]})}get xticks(){return this.xticker?this.xticker.ticks:[]}get yticks(){return this.yticker?this.yticker.ticks:[]}get zticks(){return this.zticker?this.zticker.ticks:[]}get xlabels(){return this.xticker.labels?this.xticker.labels:this.xticks.map((t=>t.toFixed(this.digits)))}get ylabels(){return this.yticker.labels?this.yticker.labels:this.yticks.map((t=>t.toFixed(this.digits)))}get zlabels(){return this.zticker.labels?this.zticker.labels:this.zticks.map((t=>t.toFixed(this.digits)))}_make_grid_lines(t,s,i){const e=[];for(let n=0;n<t-1;n++)for(let t=0;t<s-1;t++){const a=n*s+t+i,r=[5,a,n*s+t+1+i,(n+1)*s+t+1+i,(n+1)*s+t+i,a];e.push(r)}return e}_create_grid_axes(){const t=[];t.push(h.cartesian_product(this.xticks,this.yticks,[this.origin[2]])),t.push(h.cartesian_product([this.origin[0]],this.yticks,this.zticks)),t.push(h.cartesian_product(this.xticks,[this.origin[1]],this.zticks));const s=[];let i=0;s.push(this._make_grid_lines(this.xticks.length,this.yticks.length,i)),i+=this.xticks.length*this.yticks.length,s.push(this._make_grid_lines(this.yticks.length,this.zticks.length,i)),i+=this.yticks.length*this.zticks.length,s.push(this._make_grid_lines(this.xticks.length,this.zticks.length,i));const e=h.vtk({vtkClass:"vtkPolyData",points:{vtkClass:"vtkPoints",dataType:"Float32Array",numberOfComponents:3,values:t.flat(2)},lines:{vtkClass:"vtkCellArray",dataType:"Uint32Array",values:s.flat(2)}}),n=h.vtkns.Mapper.newInstance(),a=h.vtkns.Actor.newInstance();return n.setInputData(e),a.setMapper(n),a.getProperty().setOpacity(this.grid_opacity),a.setVisibility(this.show_grid),a}create_axes(t){if(null==this.origin)return{psActor:null,axesActor:null,gridActor:null};const s=[this.xticks,this.yticks,this.zticks].map(((t,s)=>{let i=null;switch(s){case 0:i=h.cartesian_product(t,[this.origin[1]],[this.origin[2]]);break;case 1:i=h.cartesian_product([this.origin[0]],t,[this.origin[2]]);break;case 2:i=h.cartesian_product([this.origin[0]],[this.origin[1]],t)}return i})).flat(2),i=h.vtk({vtkClass:"vtkPolyData",points:{vtkClass:"vtkPoints",dataType:"Float32Array",numberOfComponents:3,values:s},lines:{vtkClass:"vtkCellArray",dataType:"Uint32Array",values:[2,0,this.xticks.length-1,2,this.xticks.length,this.xticks.length+this.yticks.length-1,2,this.xticks.length+this.yticks.length,this.xticks.length+this.yticks.length+this.zticks.length-1]}}),e=h.vtkns.PixelSpaceCallbackMapper.newInstance();e.setInputData(i),e.setUseZValues(!0),e.setCallback(((s,i,n)=>{const a=t.getContext("2d");if(a){const r={height:t.clientHeight*window.devicePixelRatio,width:t.clientWidth*window.devicePixelRatio},h=e.getInputData().getPoints(),l=i.getViewMatrix();c.mat4.transpose(l,l);const o=i.getProjectionMatrix(n,-1,1);c.mat4.transpose(o,o),a.clearRect(0,0,r.width,r.height),s.forEach(((t,s)=>{const i=h.getPoint(s),e=c.vec3.fromValues(i[0],i[1],i[2]);if(c.vec3.transformMat4(e,e,l),e[2]+=.05,c.vec3.transformMat4(e,e,o),e[2]-.001<t[3]){let i;a.font="30px serif",a.textAlign="center",a.textBaseline="alphabetic",a.fillText(".",t[0],r.height-t[1]+2),a.font=this.fontsize*window.devicePixelRatio+"px serif",a.textAlign="right",a.textBaseline="top",i=s<this.xticks.length?this.xlabels[s]:s>=this.xticks.length&&s<this.xticks.length+this.yticks.length?this.ylabels[s-this.xticks.length]:this.zlabels[s-(this.xticks.length+this.yticks.length)],a.fillText(${i},t[0],r.height-t[1])}}))}}));const n=h.vtkns.Actor.newInstance();n.setMapper(e);const a=h.vtkns.Mapper.newInstance();a.setInputData(i);const r=h.vtkns.Actor.newInstance();r.setMapper(a),r.getProperty().setOpacity(this.axes_opacity);return{psActor:n,axesActor:r,gridActor:this._create_grid_axes()}}}i.VTKAxes=l,l.__name__="VTKAxes",l.__module__="panel.models.vtk",l.init_VTKAxes()},n "2f3fd5db07": function _(t,c,a,o,r){o();const _=t("tslib"),m=_.__importStar(t("68ca94c15c"));a.glMatrix=m;const i=_.__importStar(t("7c0b8e6048"));a.mat2=i;const n=_.__importStar(t("dc03f0a621"));a.mat2d=n;const s=_.__importStar(t("0285c50a7e"));a.mat3=s;const p=_.__importStar(t("a427635f32"));a.mat4=p;const S=_.__importStar(t("eb06fc032a"));a.quat=S;const e=_.__importStar(t("277615c682"));a.quat2=e;const f=_.__importStar(t("c56d9ff837"));a.vec2=f;const b=_.__importStar(t("2c5eb22089"));a.vec3=b;const d=_.__importStar(t("c1aa33d719"));a.vec4=d},n "68ca94c15c": function _(t,a,r,n,o){n(),r.EPSILON=1e-6,r.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,r.RANDOM=Math.random,r.setMatrixArrayType=function(t){r.ARRAY_TYPE=t};var h=Math.PI/180;r.toRadian=function(t){return t*h},r.equals=function(t,a){return Math.abs(t-a)<=r.EPSILON*Math.max(1,Math.abs(t),Math.abs(a))},Math.hypot||(Math.hypot=function(){for(var t=0,a=arguments.length;a–;)t+=arguments[a]*arguments[a];return Math.sqrt(t)})},n "7c0b8e6048": function _(t,n,r,a,u){a();const e=t("tslib").__importStar(t("68ca94c15c"));function o(t,n,r){var a=n[0],u=n[1],e=n[2],o=n[3],c=r[0],i=r[1],f=r[2],s=r[3];return t[0]=a*c+e*i,t[1]=u*c+o*i,t[2]=a*f+e*s,t[3]=u*f+o*s,t}function c(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t[3]=n[3]-r[3],t}r.create=function(){var t=new e.ARRAY_TYPE(4);return e.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},r.clone=function(t){var n=new e.ARRAY_TYPE(4);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n},r.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t},r.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},r.fromValues=function(t,n,r,a){var u=new e.ARRAY_TYPE(4);return u[0]=t,u[1]=n,u[2]=r,u[3]=a,u},r.set=function(t,n,r,a,u){return t[0]=n,t[1]=r,t[2]=a,t[3]=u,t},r.transpose=function(t,n){if(t===n){var r=n[1];t[1]=n[2],t[2]=r}else t[0]=n[0],t[1]=n[2],t[2]=n[1],t[3]=n[3];return t},r.invert=function(t,n){var r=n[0],a=n[1],u=n[2],e=n[3],o=r*e-u*a;return o?(o=1/o,t[0]=e*o,t[1]=-a*o,t[2]=-u*o,t[3]=r*o,t):null},r.adjoint=function(t,n){var r=n[0];return t[0]=n[3],t[1]=-n[1],t[2]=-n[2],t[3]=r,t},r.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},r.multiply=o,r.rotate=function(t,n,r){var a=n[0],u=n[1],e=n[2],o=n[3],c=Math.sin(r),i=Math.cos(r);return t[0]=a*i+e*c,t[1]=u*i+o*c,t[2]=a*-c+e*i,t[3]=u*-c+o*i,t},r.scale=function(t,n,r){var a=n[0],u=n[1],e=n[2],o=n[3],c=r[0],i=r[1];return t[0]=a*c,t[1]=u*c,t[2]=e*i,t[3]=o*i,t},r.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=-r,t[3]=a,t},r.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=n[1],t},r.str=function(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},r.frob=function(t){return Math.hypot(t[0],t[1],t[2],t[3])},r.LDU=function(t,n,r,a){return t[2]=a[2]/a[0],r[0]=a[0],r[1]=a[1],r[3]=a[3]-t[2]*r[1],[t,n,r]},r.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t[3]=n[3]+r[3],t},r.subtract=c,r.exactEquals=function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]},r.equals=function(t,n){var r=t[0],a=t[1],u=t[2],o=t[3],c=n[0],i=n[1],f=n[2],s=n[3];return Math.abs(r-c)<=e.EPSILON*Math.max(1,Math.abs(r),Math.abs(c))&&Math.abs(a-i)<=e.EPSILON*Math.max(1,Math.abs(a),Math.abs(i))&&Math.abs(u-f)<=e.EPSILON*Math.max(1,Math.abs(u),Math.abs(f))&&Math.abs(o-s)<=e.EPSILON*Math.max(1,Math.abs(o),Math.abs(s))},r.multiplyScalar=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t},r.multiplyScalarAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t[3]=n[3]+r[3]*a,t},r.mul=o,r.sub=c},n "dc03f0a621": function _(t,n,a,r,u){r();const o=t("tslib").__importStar(t("68ca94c15c"));function e(t,n,a){var r=n[0],u=n[1],o=n[2],e=n[3],c=n[4],i=n[5],s=a[0],h=a[1],f=a[2],M=a[3],b=a[4],l=a[5];return t[0]=r*s+o*h,t[1]=u*s+e*h,t[2]=r*f+o*M,t[3]=u*f+e*M,t[4]=r*b+o*l+c,t[5]=u*b+e*l+i,t}function c(t,n,a){return t[0]=n[0]-a[0],t[1]=n[1]-a[1],t[2]=n[2]-a[2],t[3]=n[3]-a[3],t[4]=n[4]-a[4],t[5]=n[5]-a[5],t}a.create=function(){var t=new o.ARRAY_TYPE(6);return o.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0,t[4]=0,t[5]=0),t[0]=1,t[3]=1,t},a.clone=function(t){var n=new o.ARRAY_TYPE(6);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n},a.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t},a.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},a.fromValues=function(t,n,a,r,u,e){var c=new o.ARRAY_TYPE(6);return c[0]=t,c[1]=n,c[2]=a,c[3]=r,c[4]=u,c[5]=e,c},a.set=function(t,n,a,r,u,o,e){return t[0]=n,t[1]=a,t[2]=r,t[3]=u,t[4]=o,t[5]=e,t},a.invert=function(t,n){var a=n[0],r=n[1],u=n[2],o=n[3],e=n[4],c=n[5],i=a*o-r*u;return i?(i=1/i,t[0]=o*i,t[1]=-r*i,t[2]=-u*i,t[3]=a*i,t[4]=(u*c-o*e)*i,t[5]=(r*e-a*c)*i,t):null},a.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},a.multiply=e,a.rotate=function(t,n,a){var r=n[0],u=n[1],o=n[2],e=n[3],c=n[4],i=n[5],s=Math.sin(a),h=Math.cos(a);return t[0]=r*h+o*s,t[1]=u*h+e*s,t[2]=r*-s+o*h,t[3]=u*-s+e*h,t[4]=c,t[5]=i,t},a.scale=function(t,n,a){var r=n[0],u=n[1],o=n[2],e=n[3],c=n[4],i=n[5],s=a[0],h=a[1];return t[0]=r*s,t[1]=u*s,t[2]=o*h,t[3]=e*h,t[4]=c,t[5]=i,t},a.translate=function(t,n,a){var r=n[0],u=n[1],o=n[2],e=n[3],c=n[4],i=n[5],s=a[0],h=a[1];return t[0]=r,t[1]=u,t[2]=o,t[3]=e,t[4]=r*s+o*h+c,t[5]=u*s+e*h+i,t},a.fromRotation=function(t,n){var a=Math.sin(n),r=Math.cos(n);return t[0]=r,t[1]=a,t[2]=-a,t[3]=r,t[4]=0,t[5]=0,t},a.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=n[1],t[4]=0,t[5]=0,t},a.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=n[0],t[5]=n[1],t},a.str=function(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"},a.frob=function(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],1)},a.add=function(t,n,a){return t[0]=n[0]+a[0],t[1]=n[1]+a[1],t[2]=n[2]+a[2],t[3]=n[3]+a[3],t[4]=n[4]+a[4],t[5]=n[5]+a[5],t},a.subtract=c,a.multiplyScalar=function(t,n,a){return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t[3]=n[3]*a,t[4]=n[4]*a,t[5]=n[5]*a,t},a.multiplyScalarAndAdd=function(t,n,a,r){return t[0]=n[0]+a[0]*r,t[1]=n[1]+a[1]*r,t[2]=n[2]+a[2]*r,t[3]=n[3]+a[3]*r,t[4]=n[4]+a[4]*r,t[5]=n[5]+a[5]*r,t},a.exactEquals=function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]&&t[4]===n[4]&&t[5]===n[5]},a.equals=function(t,n){var a=t[0],r=t[1],u=t[2],e=t[3],c=t[4],i=t[5],s=n[0],h=n[1],f=n[2],M=n[3],b=n[4],l=n[5];return Math.abs(a-s)<=o.EPSILON*Math.max(1,Math.abs(a),Math.abs(s))&&Math.abs(r-h)<=o.EPSILON*Math.max(1,Math.abs(r),Math.abs(h))&&Math.abs(u-f)<=o.EPSILON*Math.max(1,Math.abs(u),Math.abs(f))&&Math.abs(e-M)<=o.EPSILON*Math.max(1,Math.abs(e),Math.abs(M))&&Math.abs(c-b)<=o.EPSILON*Math.max(1,Math.abs(c),Math.abs(b))&&Math.abs(i-l)<=o.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))},a.mul=e,a.sub=c},n "0285c50a7e": function _(t,a,n,r,u){r();const o=t("tslib").__importStar(t("68ca94c15c"));function e(t,a,n){var r=a[0],u=a[1],o=a[2],e=a[3],i=a[4],c=a[5],s=a[6],M=a[7],h=a[8],f=n[0],b=n[1],l=n[2],m=n[3],v=n[4],E=n[5],P=n[6],S=n[7],A=n[8];return t[0]=f*r+b*e+l*s,t[1]=f*u+b*i+l*M,t[2]=f*o+b*c+l*h,t[3]=m*r+v*e+E*s,t[4]=m*u+v*i+E*M,t[5]=m*o+v*c+E*h,t[6]=P*r+S*e+A*s,t[7]=P*u+S*i+A*M,t[8]=P*o+S*c+A*h,t}function i(t,a,n){return t[0]=a[0]-n[0],t[1]=a[1]-n[1],t[2]=a[2]-n[2],t[3]=a[3]-n[3],t[4]=a[4]-n[4],t[5]=a[5]-n[5],t[6]=a[6]-n[6],t[7]=a[7]-n[7],t[8]=a[8]-n[8],t}n.create=function(){var t=new o.ARRAY_TYPE(9);return o.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},n.fromMat4=function(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[4],t[4]=a[5],t[5]=a[6],t[6]=a[8],t[7]=a[9],t[8]=a[10],t},n.clone=function(t){var a=new o.ARRAY_TYPE(9);return a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=t[3],a[4]=t[4],a[5]=t[5],a[6]=t[6],a[7]=t[7],a[8]=t[8],a},n.copy=function(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[3],t[4]=a[4],t[5]=a[5],t[6]=a[6],t[7]=a[7],t[8]=a[8],t},n.fromValues=function(t,a,n,r,u,e,i,c,s){var M=new o.ARRAY_TYPE(9);return M[0]=t,M[1]=a,M[2]=n,M[3]=r,M[4]=u,M[5]=e,M[6]=i,M[7]=c,M[8]=s,M},n.set=function(t,a,n,r,u,o,e,i,c,s){return t[0]=a,t[1]=n,t[2]=r,t[3]=u,t[4]=o,t[5]=e,t[6]=i,t[7]=c,t[8]=s,t},n.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.transpose=function(t,a){if(t===a){var n=a[1],r=a[2],u=a[5];t[1]=a[3],t[2]=a[6],t[3]=n,t[5]=a[7],t[6]=r,t[7]=u}else t[0]=a[0],t[1]=a[3],t[2]=a[6],t[3]=a[1],t[4]=a[4],t[5]=a[7],t[6]=a[2],t[7]=a[5],t[8]=a[8];return t},n.invert=function(t,a){var n=a[0],r=a[1],u=a[2],o=a[3],e=a[4],i=a[5],c=a[6],s=a[7],M=a[8],h=M*e-i*s,f=-M*o+i*c,b=s*o-e*c,l=n*h+r*f+u*b;return l?(l=1/l,t[0]=h*l,t[1]=(-M*r+u*s)*l,t[2]=(i*r-u*e)*l,t[3]=f*l,t[4]=(M*n-u*c)*l,t[5]=(-i*n+u*o)*l,t[6]=b*l,t[7]=(-s*n+r*c)*l,t[8]=(e*n-r*o)*l,t):null},n.adjoint=function(t,a){var n=a[0],r=a[1],u=a[2],o=a[3],e=a[4],i=a[5],c=a[6],s=a[7],M=a[8];return t[0]=e*M-i*s,t[1]=u*s-r*M,t[2]=r*i-u*e,t[3]=i*c-o*M,t[4]=n*M-u*c,t[5]=u*o-n*i,t[6]=o*s-e*c,t[7]=r*c-n*s,t[8]=n*e-r*o,t},n.determinant=function(t){var a=t[0],n=t[1],r=t[2],u=t[3],o=t[4],e=t[5],i=t[6],c=t[7],s=t[8];return a*(s*o-e*c)+n*(-s*u+e*i)+r*(c*u-o*i)},n.multiply=e,n.translate=function(t,a,n){var r=a[0],u=a[1],o=a[2],e=a[3],i=a[4],c=a[5],s=a[6],M=a[7],h=a[8],f=n[0],b=n[1];return t[0]=r,t[1]=u,t[2]=o,t[3]=e,t[4]=i,t[5]=c,t[6]=f*r+b*e+s,t[7]=f*u+b*i+M,t[8]=f*o+b*c+h,t},n.rotate=function(t,a,n){var r=a[0],u=a[1],o=a[2],e=a[3],i=a[4],c=a[5],s=a[6],M=a[7],h=a[8],f=Math.sin(n),b=Math.cos(n);return t[0]=b*r+f*e,t[1]=b*u+f*i,t[2]=b*o+f*c,t[3]=b*e-f*r,t[4]=b*i-f*u,t[5]=b*c-f*o,t[6]=s,t[7]=M,t[8]=h,t},n.scale=function(t,a,n){var r=n[0],u=n[1];return t[0]=r*a[0],t[1]=r*a[1],t[2]=r*a[2],t[3]=u*a[3],t[4]=u*a[4],t[5]=u*a[5],t[6]=a[6],t[7]=a[7],t[8]=a[8],t},n.fromTranslation=function(t,a){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=a[0],t[7]=a[1],t[8]=1,t},n.fromRotation=function(t,a){var n=Math.sin(a),r=Math.cos(a);return t[0]=r,t[1]=n,t[2]=0,t[3]=-n,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.fromScaling=function(t,a){return t[0]=a[0],t[1]=0,t[2]=0,t[3]=0,t[4]=a[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.fromMat2d=function(t,a){return t[0]=a[0],t[1]=a[1],t[2]=0,t[3]=a[2],t[4]=a[3],t[5]=0,t[6]=a[4],t[7]=a[5],t[8]=1,t},n.fromQuat=function(t,a){var n=a[0],r=a[1],u=a[2],o=a[3],e=n+n,i=r+r,c=u+u,s=n*e,M=r*e,h=r*i,f=u*e,b=u*i,l=u*c,m=o*e,v=o*i,E=o*c;return t[0]=1-h-l,t[3]=M-E,t[6]=f+v,t[1]=M+E,t[4]=1-s-l,t[7]=b-m,t[2]=f-v,t[5]=b+m,t[8]=1-s-h,t},n.normalFromMat4=function(t,a){var n=a[0],r=a[1],u=a[2],o=a[3],e=a[4],i=a[5],c=a[6],s=a[7],M=a[8],h=a[9],f=a[10],b=a[11],l=a[12],m=a[13],v=a[14],E=a[15],P=n*i-r*e,S=n*c-u*e,A=n*s-o*e,x=r*c-u*i,d=r*s-o*i,I=u*s-o*c,L=M*m-h*l,N=M*v-f*l,O=M*E-b*l,R=h*v-f*m,p=h*E-b*m,Y=f*E-b*v,y=P*Y-S*p+A*R+x*O-d*N+I*L;return y?(y=1/y,t[0]=(i*Y-c*p+s*R)*y,t[1]=(c*O-e*Y-s*N)*y,t[2]=(e*p-i*O+s*L)*y,t[3]=(u*p-r*Y-o*R)*y,t[4]=(n*Y-u*O+o*N)*y,t[5]=(r*O-n*p-o*L)*y,t[6]=(m*I-v*d+E*x)*y,t[7]=(v*A-l*I-E*S)*y,t[8]=(l*d-m*A+E*P)*y,t):null},n.projection=function(t,a,n){return t[0]=2/a,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/n,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t},n.str=function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},n.frob=function(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},n.add=function(t,a,n){return t[0]=a[0]+n[0],t[1]=a[1]+n[1],t[2]=a[2]+n[2],t[3]=a[3]+n[3],t[4]=a[4]+n[4],t[5]=a[5]+n[5],t[6]=a[6]+n[6],t[7]=a[7]+n[7],t[8]=a[8]+n[8],t},n.subtract=i,n.multiplyScalar=function(t,a,n){return t[0]=a[0]*n,t[1]=a[1]*n,t[2]=a[2]*n,t[3]=a[3]*n,t[4]=a[4]*n,t[5]=a[5]*n,t[6]=a[6]*n,t[7]=a[7]*n,t[8]=a[8]*n,t},n.multiplyScalarAndAdd=function(t,a,n,r){return t[0]=a[0]+n[0]*r,t[1]=a[1]+n[1]*r,t[2]=a[2]+n[2]*r,t[3]=a[3]+n[3]*r,t[4]=a[4]+n[4]*r,t[5]=a[5]+n[5]*r,t[6]=a[6]+n[6]*r,t[7]=a[7]+n[7]*r,t[8]=a[8]+n[8]*r,t},n.exactEquals=function(t,a){return t[0]===a[0]&&t[1]===a[1]&&t[2]===a[2]&&t[3]===a[3]&&t[4]===a[4]&&t[5]===a[5]&&t[6]===a[6]&&t[7]===a[7]&&t[8]===a[8]},n.equals=function(t,a){var n=t[0],r=t[1],u=t[2],e=t[3],i=t[4],c=t[5],s=t[6],M=t[7],h=t[8],f=a[0],b=a[1],l=a[2],m=a[3],v=a[4],E=a[5],P=a[6],S=a[7],A=a[8];return Math.abs(n-f)<=o.EPSILON*Math.max(1,Math.abs(n),Math.abs(f))&&Math.abs(r-b)<=o.EPSILON*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(u-l)<=o.EPSILON*Math.max(1,Math.abs(u),Math.abs(l))&&Math.abs(e-m)<=o.EPSILON*Math.max(1,Math.abs(e),Math.abs(m))&&Math.abs(i-v)<=o.EPSILON*Math.max(1,Math.abs(i),Math.abs(v))&&Math.abs(c-E)<=o.EPSILON*Math.max(1,Math.abs(c),Math.abs(E))&&Math.abs(s-P)<=o.EPSILON*Math.max(1,Math.abs(s),Math.abs(P))&&Math.abs(M-S)<=o.EPSILON*Math.max(1,Math.abs(M),Math.abs(S))&&Math.abs(h-A)<=o.EPSILON*Math.max(1,Math.abs(h),Math.abs(A))},n.mul=e,n.sub=i},n "a427635f32": function _(t,a,n,r,h){r();const o=t("tslib").__importStar(t("68ca94c15c"));function u(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function M(t,a,n){var r=a[0],h=a[1],o=a[2],u=a[3],M=a[4],s=a[5],e=a[6],i=a[7],c=a[8],f=a[9],b=a[10],l=a[11],m=a[12],v=a[13],P=a[14],E=a[15],S=n[0],I=n[1],O=n[2],L=n[3];return t[0]=S*r+I*M+O*c+L*m,t[1]=S*h+I*s+O*f+L*v,t[2]=S*o+I*e+O*b+L*P,t[3]=S*u+I*i+O*l+L*E,S=n[4],I=n[5],O=n[6],L=n[7],t[4]=S*r+I*M+O*c+L*m,t[5]=S*h+I*s+O*f+L*v,t[6]=S*o+I*e+O*b+L*P,t[7]=S*u+I*i+O*l+L*E,S=n[8],I=n[9],O=n[10],L=n[11],t[8]=S*r+I*M+O*c+L*m,t[9]=S*h+I*s+O*f+L*v,t[10]=S*o+I*e+O*b+L*P,t[11]=S*u+I*i+O*l+L*E,S=n[12],I=n[13],O=n[14],L=n[15],t[12]=S*r+I*M+O*c+L*m,t[13]=S*h+I*s+O*f+L*v,t[14]=S*o+I*e+O*b+L*P,t[15]=S*u+I*i+O*l+L*E,t}function s(t,a,n){var r=a[0],h=a[1],o=a[2],u=a[3],M=r+r,s=h+h,e=o+o,i=r*M,c=r*s,f=r*e,b=h*s,l=h*e,m=o*e,v=u*M,P=u*s,E=u*e;return t[0]=1-(b+m),t[1]=c+E,t[2]=f-P,t[3]=0,t[4]=c-E,t[5]=1-(i+m),t[6]=l+v,t[7]=0,t[8]=f+P,t[9]=l-v,t[10]=1-(i+b),t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}function e(t,a){var n=a[0],r=a[1],h=a[2],o=a[4],u=a[5],M=a[6],s=a[8],e=a[9],i=a[10];return t[0]=Math.hypot(n,r,h),t[1]=Math.hypot(o,u,M),t[2]=Math.hypot(s,e,i),t}function i(t,a,n){return t[0]=a[0]-n[0],t[1]=a[1]-n[1],t[2]=a[2]-n[2],t[3]=a[3]-n[3],t[4]=a[4]-n[4],t[5]=a[5]-n[5],t[6]=a[6]-n[6],t[7]=a[7]-n[7],t[8]=a[8]-n[8],t[9]=a[9]-n[9],t[10]=a[10]-n[10],t[11]=a[11]-n[11],t[12]=a[12]-n[12],t[13]=a[13]-n[13],t[14]=a[14]-n[14],t[15]=a[15]-n[15],t}n.create=function(){var t=new o.ARRAY_TYPE(16);return o.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},n.clone=function(t){var a=new o.ARRAY_TYPE(16);return a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=t[3],a[4]=t[4],a[5]=t[5],a[6]=t[6],a[7]=t[7],a[8]=t[8],a[9]=t[9],a[10]=t[10],a[11]=t[11],a[12]=t[12],a[13]=t[13],a[14]=t[14],a[15]=t[15],a},n.copy=function(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[3],t[4]=a[4],t[5]=a[5],t[6]=a[6],t[7]=a[7],t[8]=a[8],t[9]=a[9],t[10]=a[10],t[11]=a[11],t[12]=a[12],t[13]=a[13],t[14]=a[14],t[15]=a[15],t},n.fromValues=function(t,a,n,r,h,u,M,s,e,i,c,f,b,l,m,v){var P=new o.ARRAY_TYPE(16);return P[0]=t,P[1]=a,P[2]=n,P[3]=r,P[4]=h,P[5]=u,P[6]=M,P[7]=s,P[8]=e,P[9]=i,P[10]=c,P[11]=f,P[12]=b,P[13]=l,P[14]=m,P[15]=v,P},n.set=function(t,a,n,r,h,o,u,M,s,e,i,c,f,b,l,m,v){return t[0]=a,t[1]=n,t[2]=r,t[3]=h,t[4]=o,t[5]=u,t[6]=M,t[7]=s,t[8]=e,t[9]=i,t[10]=c,t[11]=f,t[12]=b,t[13]=l,t[14]=m,t[15]=v,t},n.identity=u,n.transpose=function(t,a){if(t===a){var n=a[1],r=a[2],h=a[3],o=a[6],u=a[7],M=a[11];t[1]=a[4],t[2]=a[8],t[3]=a[12],t[4]=n,t[6]=a[9],t[7]=a[13],t[8]=r,t[9]=o,t[11]=a[14],t[12]=h,t[13]=u,t[14]=M}else t[0]=a[0],t[1]=a[4],t[2]=a[8],t[3]=a[12],t[4]=a[1],t[5]=a[5],t[6]=a[9],t[7]=a[13],t[8]=a[2],t[9]=a[6],t[10]=a[10],t[11]=a[14],t[12]=a[3],t[13]=a[7],t[14]=a[11],t[15]=a[15];return t},n.invert=function(t,a){var n=a[0],r=a[1],h=a[2],o=a[3],u=a[4],M=a[5],s=a[6],e=a[7],i=a[8],c=a[9],f=a[10],b=a[11],l=a[12],m=a[13],v=a[14],P=a[15],E=n*M-r*u,S=n*s-h*u,I=n*e-o*u,O=r*s-h*M,L=r*e-o*M,N=h*e-o*s,p=i*m-c*l,R=i*v-f*l,x=i*P-b*l,A=c*v-f*m,y=c*P-b*m,Y=f*P-b*v,g=E*Y-S*y+I*A+O*x-L*R+N*p;return g?(g=1/g,t[0]=(M*Y-s*y+e*A)*g,t[1]=(h*y-r*Y-o*A)*g,t[2]=(m*N-v*L+P*O)*g,t[3]=(f*L-c*N-b*O)*g,t[4]=(s*x-u*Y-e*R)*g,t[5]=(n*Y-h*x+o*R)*g,t[6]=(v*I-l*N-P*S)*g,t[7]=(i*N-f*I+b*S)*g,t[8]=(u*y-M*x+e*p)*g,t[9]=(r*x-n*y-o*p)*g,t[10]=(l*L-m*I+P*E)*g,t[11]=(c*I-i*L-b*E)*g,t[12]=(M*R-u*A-s*p)*g,t[13]=(n*A-r*R+h*p)*g,t[14]=(m*S-l*O-v*E)*g,t[15]=(i*O-c*S+f*E)*g,t):null},n.adjoint=function(t,a){var n=a[0],r=a[1],h=a[2],o=a[3],u=a[4],M=a[5],s=a[6],e=a[7],i=a[8],c=a[9],f=a[10],b=a[11],l=a[12],m=a[13],v=a[14],P=a[15];return t[0]=M*(f*P-b*v)-c*(s*P-e*v)+m*(s*b-e*f),t[1]=-(r*(f*P-b*v)-c*(h*P-o*v)+m*(h*b-o*f)),t[2]=r*(s*P-e*v)-M*(h*P-o*v)+m*(h*e-o*s),t[3]=-(r*(s*b-e*f)-M*(h*b-o*f)+c*(h*e-o*s)),t[4]=-(u*(f*P-b*v)-i*(s*P-e*v)+l*(s*b-e*f)),t[5]=n*(f*P-b*v)-i*(h*P-o*v)+l*(h*b-o*f),t[6]=-(n*(s*P-e*v)-u*(h*P-o*v)+l*(h*e-o*s)),t[7]=n*(s*b-e*f)-u*(h*b-o*f)+i*(h*e-o*s),t[8]=u*(c*P-b*m)-i*(M*P-e*m)+l*(M*b-e*c),t[9]=-(n*(c*P-b*m)-i*(r*P-o*m)+l*(r*b-o*c)),t[10]=n*(M*P-e*m)-u*(r*P-o*m)+l*(r*e-o*M),t[11]=-(n*(M*b-e*c)-u*(r*b-o*c)+i*(r*e-o*M)),t[12]=-(u*(c*v-f*m)-i*(M*v-s*m)+l*(M*f-s*c)),t[13]=n*(c*v-f*m)-i*(r*v-h*m)+l*(r*f-h*c),t[14]=-(n*(M*v-s*m)-u*(r*v-h*m)+l*(r*s-h*M)),t[15]=n*(M*f-s*c)-u*(r*f-h*c)+i*(r*s-h*M),t},n.determinant=function(t){var a=t[0],n=t[1],r=t[2],h=t[3],o=t[4],u=t[5],M=t[6],s=t[7],e=t[8],i=t[9],c=t[10],f=t[11],b=t[12],l=t[13],m=t[14],v=t[15];return(a*u-n*o)*(c*v-f*m)-(a*M-r*o)*(i*v-f*l)+(a*s-h*o)*(i*m-c*l)+(n*M-r*u)*(e*v-f*b)-(n*s-h*u)*(e*m-c*b)+(r*s-h*M)*(e*l-i*b)},n.multiply=M,n.translate=function(t,a,n){var r,h,o,u,M,s,e,i,c,f,b,l,m=n[0],v=n[1],P=n[2];return a===t?(t[12]=a[0]*m+a[4]*v+a[8]*P+a[12],t[13]=a[1]*m+a[5]*v+a[9]*P+a[13],t[14]=a[2]*m+a[6]*v+a[10]*P+a[14],t[15]=a[3]*m+a[7]*v+a[11]*P+a[15]):(r=a[0],h=a[1],o=a[2],u=a[3],M=a[4],s=a[5],e=a[6],i=a[7],c=a[8],f=a[9],b=a[10],l=a[11],t[0]=r,t[1]=h,t[2]=o,t[3]=u,t[4]=M,t[5]=s,t[6]=e,t[7]=i,t[8]=c,t[9]=f,t[10]=b,t[11]=l,t[12]=r*m+M*v+c*P+a[12],t[13]=h*m+s*v+f*P+a[13],t[14]=o*m+e*v+b*P+a[14],t[15]=u*m+i*v+l*P+a[15]),t},n.scale=function(t,a,n){var r=n[0],h=n[1],o=n[2];return t[0]=a[0]*r,t[1]=a[1]*r,t[2]=a[2]*r,t[3]=a[3]*r,t[4]=a[4]*h,t[5]=a[5]*h,t[6]=a[6]*h,t[7]=a[7]*h,t[8]=a[8]*o,t[9]=a[9]*o,t[10]=a[10]*o,t[11]=a[11]*o,t[12]=a[12],t[13]=a[13],t[14]=a[14],t[15]=a[15],t},n.rotate=function(t,a,n,r){var h,u,M,s,e,i,c,f,b,l,m,v,P,E,S,I,O,L,N,p,R,x,A,y,Y=r[0],g=r[1],T=r[2],d=Math.hypot(Y,g,T);return d<o.EPSILON?null:(Y*=d=1/d,g*=d,T*=d,h=Math.sin(n),M=1-(u=Math.cos(n)),s=a[0],e=a[1],i=a[2],c=a[3],f=a[4],b=a[5],l=a[6],m=a[7],v=a[8],P=a[9],E=a[10],S=a[11],I=Y*Y*M+u,O=g*Y*M+T*h,L=T*Y*M-g*h,N=Y*g*M-T*h,p=g*g*M+u,R=T*g*M+Y*h,x=Y*T*M+g*h,A=g*T*M-Y*h,y=T*T*M+u,t[0]=s*I+f*O+v*L,t[1]=e*I+b*O+P*L,t[2]=i*I+l*O+E*L,t[3]=c*I+m*O+S*L,t[4]=s*N+f*p+v*R,t[5]=e*N+b*p+P*R,t[6]=i*N+l*p+E*R,t[7]=c*N+m*p+S*R,t[8]=s*x+f*A+v*y,t[9]=e*x+b*A+P*y,t[10]=i*x+l*A+E*y,t[11]=c*x+m*A+S*y,a!==t&&(t[12]=a[12],t[13]=a[13],t[14]=a[14],t[15]=a[15]),t)},n.rotateX=function(t,a,n){var r=Math.sin(n),h=Math.cos(n),o=a[4],u=a[5],M=a[6],s=a[7],e=a[8],i=a[9],c=a[10],f=a[11];return a!==t&&(t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[3],t[12]=a[12],t[13]=a[13],t[14]=a[14],t[15]=a[15]),t[4]=o*h+e*r,t[5]=u*h+i*r,t[6]=M*h+c*r,t[7]=s*h+f*r,t[8]=e*h-o*r,t[9]=i*h-u*r,t[10]=c*h-M*r,t[11]=f*h-s*r,t},n.rotateY=function(t,a,n){var r=Math.sin(n),h=Math.cos(n),o=a[0],u=a[1],M=a[2],s=a[3],e=a[8],i=a[9],c=a[10],f=a[11];return a!==t&&(t[4]=a[4],t[5]=a[5],t[6]=a[6],t[7]=a[7],t[12]=a[12],t[13]=a[13],t[14]=a[14],t[15]=a[15]),t[0]=o*h-e*r,t[1]=u*h-i*r,t[2]=M*h-c*r,t[3]=s*h-f*r,t[8]=o*r+e*h,t[9]=u*r+i*h,t[10]=M*r+c*h,t[11]=s*r+f*h,t},n.rotateZ=function(t,a,n){var r=Math.sin(n),h=Math.cos(n),o=a[0],u=a[1],M=a[2],s=a[3],e=a[4],i=a[5],c=a[6],f=a[7];return a!==t&&(t[8]=a[8],t[9]=a[9],t[10]=a[10],t[11]=a[11],t[12]=a[12],t[13]=a[13],t[14]=a[14],t[15]=a[15]),t[0]=o*h+e*r,t[1]=u*h+i*r,t[2]=M*h+c*r,t[3]=s*h+f*r,t[4]=e*h-o*r,t[5]=i*h-u*r,t[6]=c*h-M*r,t[7]=f*h-s*r,t},n.fromTranslation=function(t,a){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=a[0],t[13]=a[1],t[14]=a[2],t[15]=1,t},n.fromScaling=function(t,a){return t[0]=a[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=a[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.fromRotation=function(t,a,n){var r,h,u,M=n[0],s=n[1],e=n[2],i=Math.hypot(M,s,e);return i<o.EPSILON?null:(M*=i=1/i,s*=i,e*=i,r=Math.sin(a),u=1-(h=Math.cos(a)),t[0]=M*M*u+h,t[1]=s*M*u+e*r,t[2]=e*M*u-s*r,t[3]=0,t[4]=M*s*u-e*r,t[5]=s*s*u+h,t[6]=e*s*u+M*r,t[7]=0,t[8]=M*e*u+s*r,t[9]=s*e*u-M*r,t[10]=e*e*u+h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},n.fromXRotation=function(t,a){var n=Math.sin(a),r=Math.cos(a);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=r,t[6]=n,t[7]=0,t[8]=0,t[9]=-n,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.fromYRotation=function(t,a){var n=Math.sin(a),r=Math.cos(a);return t[0]=r,t[1]=0,t[2]=-n,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=n,t[9]=0,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.fromZRotation=function(t,a){var n=Math.sin(a),r=Math.cos(a);return t[0]=r,t[1]=n,t[2]=0,t[3]=0,t[4]=-n,t[5]=r,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.fromRotationTranslation=s,n.fromQuat2=function(t,a){var n=new o.ARRAY_TYPE(3),r=-a[0],h=-a[1],u=-a[2],M=a[3],e=a[4],i=a[5],c=a[6],f=a[7],b=r*r+h*h+u*u+M*M;return b>0?(n[0]=2*(e*M+f*r+i*u-c*h)/b,n[1]=2*(i*M+f*h+c*r-e*u)/b,n[2]=2*(c*M+f*u+e*h-i*r)/b):(n[0]=2*(e*M+f*r+i*u-c*h),n[1]=2*(i*M+f*h+c*r-e*u),n[2]=2*(c*M+f*u+e*h-i*r)),s(t,a,n),t},n.getTranslation=function(t,a){return t[0]=a[12],t[1]=a[13],t[2]=a[14],t},n.getScaling=e,n.getRotation=function(t,a){var n=new o.ARRAY_TYPE(3);e(n,a);var r=1/n[0],h=1/n[1],u=1/n[2],M=a[0]*r,s=a[1]*h,i=a[2]*u,c=a[4]*r,f=a[5]*h,b=a[6]*u,l=a[8]*r,m=a[9]*h,v=a[10]*u,P=M+f+v,E=0;return P>0?(E=2*Math.sqrt(P+1),t[3]=.25*E,t[0]=(b-m)/E,t[1]=(l-i)/E,t[2]=(s-c)/E):M>f&&M>v?(E=2*Math.sqrt(1+M-f-v),t[3]=(b-m)/E,t[0]=.25*E,t[1]=(s+c)/E,t[2]=(l+i)/E):f>v?(E=2*Math.sqrt(1+f-M-v),t[3]=(l-i)/E,t[0]=(s+c)/E,t[1]=.25*E,t[2]=(b+m)/E):(E=2*Math.sqrt(1+v-M-f),t[3]=(s-c)/E,t[0]=(l+i)/E,t[1]=(b+m)/E,t[2]=.25*E),t},n.fromRotationTranslationScale=function(t,a,n,r){var h=a[0],o=a[1],u=a[2],M=a[3],s=h+h,e=o+o,i=u+u,c=h*s,f=h*e,b=h*i,l=o*e,m=o*i,v=u*i,P=M*s,E=M*e,S=M*i,I=r[0],O=r[1],L=r[2];return t[0]=(1-(l+v))*I,t[1]=(f+S)*I,t[2]=(b-E)*I,t[3]=0,t[4]=(f-S)*O,t[5]=(1-(c+v))*O,t[6]=(m+P)*O,t[7]=0,t[8]=(b+E)*L,t[9]=(m-P)*L,t[10]=(1-(c+l))*L,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t},n.fromRotationTranslationScaleOrigin=function(t,a,n,r,h){var o=a[0],u=a[1],M=a[2],s=a[3],e=o+o,i=u+u,c=M+M,f=o*e,b=o*i,l=o*c,m=u*i,v=u*c,P=M*c,E=s*e,S=s*i,I=s*c,O=r[0],L=r[1],N=r[2],p=h[0],R=h[1],x=h[2],A=(1-(m+P))*O,y=(b+I)*O,Y=(l-S)*O,g=(b-I)*L,T=(1-(f+P))*L,d=(v+E)*L,_=(l+S)*N,q=(v-E)*N,w=(1-(f+m))*N;return t[0]=A,t[1]=y,t[2]=Y,t[3]=0,t[4]=g,t[5]=T,t[6]=d,t[7]=0,t[8]=_,t[9]=q,t[10]=w,t[11]=0,t[12]=n[0]+p-(A*p+g*R+_*x),t[13]=n[1]+R-(y*p+T*R+q*x),t[14]=n[2]+x-(Y*p+d*R+w*x),t[15]=1,t},n.fromQuat=function(t,a){var n=a[0],r=a[1],h=a[2],o=a[3],u=n+n,M=r+r,s=h+h,e=n*u,i=r*u,c=r*M,f=h*u,b=h*M,l=h*s,m=o*u,v=o*M,P=o*s;return t[0]=1-c-l,t[1]=i+P,t[2]=f-v,t[3]=0,t[4]=i-P,t[5]=1-e-l,t[6]=b+m,t[7]=0,t[8]=f+v,t[9]=b-m,t[10]=1-e-c,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.frustum=function(t,a,n,r,h,o,u){var M=1/(n-a),s=1/(h-r),e=1/(o-u);return t[0]=2*o*M,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*o*s,t[6]=0,t[7]=0,t[8]=(n+a)*M,t[9]=(h+r)*s,t[10]=(u+o)*e,t[11]=-1,t[12]=0,t[13]=0,t[14]=u*o*2*e,t[15]=0,t},n.perspective=function(t,a,n,r,h){var o,u=1/Math.tan(a/2);return t[0]=u/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=h&&h!==1/0?(o=1/(r-h),t[10]=(h+r)*o,t[14]=2*h*r*o):(t[10]=-1,t[14]=-2*r),t},n.perspectiveFromFieldOfView=function(t,a,n,r){var h=Math.tan(a.upDegrees*Math.PI/180),o=Math.tan(a.downDegrees*Math.PI/180),u=Math.tan(a.leftDegrees*Math.PI/180),M=Math.tan(a.rightDegrees*Math.PI/180),s=2/(u+M),e=2/(h+o);return t[0]=s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=-(u-M)*s*.5,t[9]=(h-o)*e*.5,t[10]=r/(n-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*n/(n-r),t[15]=0,t},n.ortho=function(t,a,n,r,h,o,u){var M=1/(a-n),s=1/(r-h),e=1/(o-u);return t[0]=-2*M,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*s,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*e,t[11]=0,t[12]=(a+n)*M,t[13]=(h+r)*s,t[14]=(u+o)*e,t[15]=1,t},n.lookAt=function(t,a,n,r){var h,M,s,e,i,c,f,b,l,m,v=a[0],P=a[1],E=a[2],S=r[0],I=r[1],O=r[2],L=n[0],N=n[1],p=n[2];return Math.abs(v-L)<o.EPSILON&&Math.abs(P-N)<o.EPSILON&&Math.abs(E-p)<o.EPSILON?u(t):(f=v-L,b=P-N,l=E-p,h=I*(l*=m=1/Math.hypot(f,b,l))-O*(b*=m),M=O*(f*=m)-S*l,s=S*b-I*f,(m=Math.hypot(h,M,s))?(h*=m=1/m,M*=m,s*=m):(h=0,M=0,s=0),e=b*s-l*M,i=l*h-f*s,c=f*M-b*h,(m=Math.hypot(e,i,c))?(e*=m=1/m,i*=m,c*=m):(e=0,i=0,c=0),t[0]=h,t[1]=e,t[2]=f,t[3]=0,t[4]=M,t[5]=i,t[6]=b,t[7]=0,t[8]=s,t[9]=c,t[10]=l,t[11]=0,t[12]=-(h*v+M*P+s*E),t[13]=-(e*v+i*P+c*E),t[14]=-(f*v+b*P+l*E),t[15]=1,t)},n.targetTo=function(t,a,n,r){var h=a[0],o=a[1],u=a[2],M=r[0],s=r[1],e=r[2],i=h-n[0],c=o-n[1],f=u-n[2],b=i*i+c*c+f*f;b>0&&(i*=b=1/Math.sqrt(b),c*=b,f*=b);var l=s*f-e*c,m=e*i-M*f,v=M*c-s*i;return(b=l*l+m*m+v*v)>0&&(l*=b=1/Math.sqrt(b),m*=b,v*=b),t[0]=l,t[1]=m,t[2]=v,t[3]=0,t[4]=c*v-f*m,t[5]=f*l-i*v,t[6]=i*m-c*l,t[7]=0,t[8]=i,t[9]=c,t[10]=f,t[11]=0,t[12]=h,t[13]=o,t[14]=u,t[15]=1,t},n.str=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"},n.frob=function(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},n.add=function(t,a,n){return t[0]=a[0]+n[0],t[1]=a[1]+n[1],t[2]=a[2]+n[2],t[3]=a[3]+n[3],t[4]=a[4]+n[4],t[5]=a[5]+n[5],t[6]=a[6]+n[6],t[7]=a[7]+n[7],t[8]=a[8]+n[8],t[9]=a[9]+n[9],t[10]=a[10]+n[10],t[11]=a[11]+n[11],t[12]=a[12]+n[12],t[13]=a[13]+n[13],t[14]=a[14]+n[14],t[15]=a[15]+n[15],t},n.subtract=i,n.multiplyScalar=function(t,a,n){return t[0]=a[0]*n,t[1]=a[1]*n,t[2]=a[2]*n,t[3]=a[3]*n,t[4]=a[4]*n,t[5]=a[5]*n,t[6]=a[6]*n,t[7]=a[7]*n,t[8]=a[8]*n,t[9]=a[9]*n,t[10]=a[10]*n,t[11]=a[11]*n,t[12]=a[12]*n,t[13]=a[13]*n,t[14]=a[14]*n,t[15]=a[15]*n,t},n.multiplyScalarAndAdd=function(t,a,n,r){return t[0]=a[0]+n[0]*r,t[1]=a[1]+n[1]*r,t[2]=a[2]+n[2]*r,t[3]=a[3]+n[3]*r,t[4]=a[4]+n[4]*r,t[5]=a[5]+n[5]*r,t[6]=a[6]+n[6]*r,t[7]=a[7]+n[7]*r,t[8]=a[8]+n[8]*r,t[9]=a[9]+n[9]*r,t[10]=a[10]+n[10]*r,t[11]=a[11]+n[11]*r,t[12]=a[12]+n[12]*r,t[13]=a[13]+n[13]*r,t[14]=a[14]+n[14]*r,t[15]=a[15]+n[15]*r,t},n.exactEquals=function(t,a){return t[0]===a[0]&&t[1]===a[1]&&t[2]===a[2]&&t[3]===a[3]&&t[4]===a[4]&&t[5]===a[5]&&t[6]===a[6]&&t[7]===a[7]&&t[8]===a[8]&&t[9]===a[9]&&t[10]===a[10]&&t[11]===a[11]&&t[12]===a[12]&&t[13]===a[13]&&t[14]===a[14]&&t[15]===a[15]},n.equals=function(t,a){var n=t[0],r=t[1],h=t[2],u=t[3],M=t[4],s=t[5],e=t[6],i=t[7],c=t[8],f=t[9],b=t[10],l=t[11],m=t[12],v=t[13],P=t[14],E=t[15],S=a[0],I=a[1],O=a[2],L=a[3],N=a[4],p=a[5],R=a[6],x=a[7],A=a[8],y=a[9],Y=a[10],g=a[11],T=a[12],d=a[13],_=a[14],q=a[15];return Math.abs(n-S)<=o.EPSILON*Math.max(1,Math.abs(n),Math.abs(S))&&Math.abs(r-I)<=o.EPSILON*Math.max(1,Math.abs(r),Math.abs(I))&&Math.abs(h-O)<=o.EPSILON*Math.max(1,Math.abs(h),Math.abs(O))&&Math.abs(u-L)<=o.EPSILON*Math.max(1,Math.abs(u),Math.abs(L))&&Math.abs(M-N)<=o.EPSILON*Math.max(1,Math.abs(M),Math.abs(N))&&Math.abs(s-p)<=o.EPSILON*Math.max(1,Math.abs(s),Math.abs(p))&&Math.abs(e-R)<=o.EPSILON*Math.max(1,Math.abs(e),Math.abs(R))&&Math.abs(i-x)<=o.EPSILON*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(c-A)<=o.EPSILON*Math.max(1,Math.abs(c),Math.abs(A))&&Math.abs(f-y)<=o.EPSILON*Math.max(1,Math.abs(f),Math.abs(y))&&Math.abs(b-Y)<=o.EPSILON*Math.max(1,Math.abs(b),Math.abs(Y))&&Math.abs(l-g)<=o.EPSILON*Math.max(1,Math.abs(l),Math.abs(g))&&Math.abs(m-T)<=o.EPSILON*Math.max(1,Math.abs(m),Math.abs(T))&&Math.abs(v-d)<=o.EPSILON*Math.max(1,Math.abs(v),Math.abs(d))&&Math.abs(P-_)<=o.EPSILON*Math.max(1,Math.abs(P),Math.abs(_))&&Math.abs(E-q)<=o.EPSILON*Math.max(1,Math.abs(E),Math.abs(q))},n.mul=M,n.sub=i},n "eb06fc032a": function _(t,a,r,n,e){n();const o=t("tslib"),s=o.__importStar(t("68ca94c15c")),u=o.__importStar(t("0285c50a7e")),c=o.__importStar(t("2c5eb22089")),i=o.__importStar(t("c1aa33d719"));function h(){var t=new s.ARRAY_TYPE(4);return s.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function M(t,a,r){r*=.5;var n=Math.sin(r);return t[0]=n*a[0],t[1]=n*a[1],t[2]=n*a[2],t[3]=Math.cos(r),t}function l(t,a,r){var n=a[0],e=a[1],o=a[2],s=a[3],u=r[0],c=r[1],i=r[2],h=r[3];return t[0]=n*h+s*u+e*i-o*c,t[1]=e*h+s*c+o*u-n*i,t[2]=o*h+s*i+n*c-e*u,t[3]=s*h-n*u-e*c-o*i,t}function f(t,a){var r=a[0],n=a[1],e=a[2],o=a[3],s=Math.sqrt(r*r+n*n+e*e),u=Math.exp(o),c=s>0?u*Math.sin(s)/s:0;return t[0]=r*c,t[1]=n*c,t[2]=e*c,t[3]=u*Math.cos(s),t}function v(t,a){var r=a[0],n=a[1],e=a[2],o=a[3],s=Math.sqrt(r*r+n*n+e*e),u=s>0?Math.atan2(s,o)/s:0;return t[0]=r*u,t[1]=n*u,t[2]=e*u,t[3]=.5*Math.log(r*r+n*n+e*e+o*o),t}function m(t,a,r,n){var e,o,u,c,i,h=a[0],M=a[1],l=a[2],f=a[3],v=r[0],m=r[1],q=r[2],d=r[3];return(o=h*v+M*m+l*q+f*d)<0&&(o=-o,v=-v,m=-m,q=-q,d=-d),1-o>s.EPSILON?(e=Math.acos(o),u=Math.sin(e),c=Math.sin((1-n)*e)/u,i=Math.sin(n*e)/u):(c=1-n,i=n),t[0]=c*h+i*v,t[1]=c*M+i*m,t[2]=c*l+i*q,t[3]=c*f+i*d,t}function q(t,a){var r,n=a[0]+a[4]+a[8];if(n>0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(a[5]-a[7])*r,t[1]=(a[6]-a[2])*r,t[2]=(a[1]-a[3])*r;else{var e=0;a[4]>a[0]&&(e=1),a[8]>a[3*e+e]&&(e=2);var o=(e+1)%3,s=(e+2)%3;r=Math.sqrt(a[3*e+e]-a[3*o+o]-a[3*s+s]+1),t[e]=.5*r,r=.5/r,t[3]=(a[3*o+s]-a[3*s+o])*r,t[o]=(a[3*o+e]+a[3*e+o])*r,t[s]=(a[3*s+e]+a[3*e+s])*r}return t}var d,p,A,g,_,P;r.create=h,r.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},r.setAxisAngle=M,r.getAxisAngle=function(t,a){var r=2*Math.acos(a[3]),n=Math.sin(r/2);return n>s.EPSILON?(t[0]=a[0]/n,t[1]=a[1]/n,t[2]=a[2]/n):(t[0]=1,t[1]=0,t[2]=0),r},r.getAngle=function(t,a){var n=r.dot(t,a);return Math.acos(2*n*n-1)},r.multiply=l,r.rotateX=function(t,a,r){r*=.5;var n=a[0],e=a[1],o=a[2],s=a[3],u=Math.sin(r),c=Math.cos(r);return t[0]=n*c+s*u,t[1]=e*c+o*u,t[2]=o*c-e*u,t[3]=s*c-n*u,t},r.rotateY=function(t,a,r){r*=.5;var n=a[0],e=a[1],o=a[2],s=a[3],u=Math.sin(r),c=Math.cos(r);return t[0]=n*c-o*u,t[1]=e*c+s*u,t[2]=o*c+n*u,t[3]=s*c-e*u,t},r.rotateZ=function(t,a,r){r*=.5;var n=a[0],e=a[1],o=a[2],s=a[3],u=Math.sin(r),c=Math.cos(r);return t[0]=n*c+e*u,t[1]=e*c-n*u,t[2]=o*c+s*u,t[3]=s*c-o*u,t},r.calculateW=function(t,a){var r=a[0],n=a[1],e=a[2];return t[0]=r,t[1]=n,t[2]=e,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-e*e)),t},r.exp=f,r.ln=v,r.pow=function(t,a,n){return v(t,a),r.scale(t,t,n),f(t,t),t},r.slerp=m,r.random=function(t){var a=s.RANDOM(),r=s.RANDOM(),n=s.RANDOM(),e=Math.sqrt(1-a),o=Math.sqrt(a);return t[0]=e*Math.sin(2*Math.PI*r),t[1]=e*Math.cos(2*Math.PI*r),t[2]=o*Math.sin(2*Math.PI*n),t[3]=o*Math.cos(2*Math.PI*n),t},r.invert=function(t,a){var r=a[0],n=a[1],e=a[2],o=a[3],s=r*r+n*n+e*e+o*o,u=s?1/s:0;return t[0]=-r*u,t[1]=-n*u,t[2]=-e*u,t[3]=o*u,t},r.conjugate=function(t,a){return t[0]=-a[0],t[1]=-a[1],t[2]=-a[2],t[3]=a[3],t},r.fromMat3=q,r.fromEuler=function(t,a,r,n){var e=.5*Math.PI/180;a*=e,r*=e,n*=e;var o=Math.sin(a),s=Math.cos(a),u=Math.sin(r),c=Math.cos(r),i=Math.sin(n),h=Math.cos(n);return t[0]=o*c*h-s*u*i,t[1]=s*u*h+o*c*i,t[2]=s*c*i-o*u*h,t[3]=s*c*h+o*u*i,t},r.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},r.clone=i.clone,r.fromValues=i.fromValues,r.copy=i.copy,r.set=i.set,r.add=i.add,r.mul=l,r.scale=i.scale,r.dot=i.dot,r.lerp=i.lerp,r.length=i.length,r.len=r.length,r.squaredLength=i.squaredLength,r.sqrLen=r.squaredLength,r.normalize=i.normalize,r.exactEquals=i.exactEquals,r.equals=i.equals,r.rotationTo=(d=c.create(),p=c.fromValues(1,0,0),A=c.fromValues(0,1,0),function(t,a,n){var e=c.dot(a,n);return e<-.999999?(c.cross(d,p,a),c.len(d)<1e-6&&c.cross(d,A,a),c.normalize(d,d),M(t,d,Math.PI),t):e>.999999?(t[0]=0,t[1]=0,t[2]=0,t[3]=1,t):(c.cross(d,a,n),t[0]=d[0],t[1]=d[1],t[2]=d[2],t[3]=1+e,r.normalize(t,t))}),r.sqlerp=(g=h(),_=h(),function(t,a,r,n,e,o){return m(g,a,e,o),m(_,r,n,o),m(t,g,_,2*o*(1-o)),t}),r.setAxes=(P=u.create(),function(t,a,n,e){return P[0]=n[0],P[3]=n[1],P[6]=n[2],P[1]=e[0],P[4]=e[1],P[7]=e[2],P[2]=-a[0],P[5]=-a[1],P[8]=-a[2],r.normalize(t,q(t,P))})},n "2c5eb22089": function _(t,n,r,a,u){a();const e=t("tslib").__importStar(t("68ca94c15c"));function o(){var t=new e.ARRAY_TYPE(3);return e.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function i(t){var n=t[0],r=t[1],a=t[2];return Math.hypot(n,r,a)}function c(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t}function h(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t}function M(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t}function s(t,n){var r=n[0]-t[0],a=n[1]-t[1],u=n[2]-t[2];return Math.hypot(r,a,u)}function f(t,n){var r=n[0]-t[0],a=n[1]-t[1],u=n[2]-t[2];return r*r+a*a+u*u}function v(t){var n=t[0],r=t[1],a=t[2];return n*n+r*r+a*a}function l(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}var m;r.create=o,r.clone=function(t){var n=new e.ARRAY_TYPE(3);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n},r.length=i,r.fromValues=function(t,n,r){var a=new e.ARRAY_TYPE(3);return a[0]=t,a[1]=n,a[2]=r,a},r.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t},r.set=function(t,n,r,a){return t[0]=n,t[1]=r,t[2]=a,t},r.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t},r.subtract=c,r.multiply=h,r.divide=M,r.ceil=function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t},r.floor=function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t},r.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t},r.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t},r.round=function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t},r.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t},r.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t},r.distance=s,r.squaredDistance=f,r.squaredLength=v,r.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t},r.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t},r.normalize=function(t,n){var r=n[0],a=n[1],u=n[2],e=r*r+a*a+u*u;return e>0&&(e=1/Math.sqrt(e)),t[0]=n[0]*e,t[1]=n[1]*e,t[2]=n[2]*e,t},r.dot=l,r.cross=function(t,n,r){var a=n[0],u=n[1],e=n[2],o=r[0],i=r[1],c=r[2];return t[0]=u*c-e*i,t[1]=e*o-a*c,t[2]=a*i-u*o,t},r.lerp=function(t,n,r,a){var u=n[0],e=n[1],o=n[2];return t[0]=u+a*(r[0]-u),t[1]=e+a*(r[1]-e),t[2]=o+a*(r[2]-o),t},r.hermite=function(t,n,r,a,u,e){var o=e*e,i=o*(2*e-3)+1,c=o*(e-2)+e,h=o*(e-1),M=o*(3-2*e);return t[0]=n[0]*i+r[0]*c+a[0]*h+u[0]*M,t[1]=n[1]*i+r[1]*c+a[1]*h+u[1]*M,t[2]=n[2]*i+r[2]*c+a[2]*h+u[2]*M,t},r.bezier=function(t,n,r,a,u,e){var o=1-e,i=o*o,c=e*e,h=i*o,M=3*e*i,s=3*c*o,f=c*e;return t[0]=n[0]*h+r[0]*M+a[0]*s+u[0]*f,t[1]=n[1]*h+r[1]*M+a[1]*s+u[1]*f,t[2]=n[2]*h+r[2]*M+a[2]*s+u[2]*f,t},r.random=function(t,n){n=n||1;var r=2*e.RANDOM()*Math.PI,a=2*e.RANDOM()-1,u=Math.sqrt(1-a*a)*n;return t[0]=Math.cos(r)*u,t[1]=Math.sin(r)*u,t[2]=a*n,t},r.transformMat4=function(t,n,r){var a=n[0],u=n[1],e=n[2],o=r[3]*a+r[7]*u+r[11]*e+r[15];return o=o||1,t[0]=(r[0]*a+r[4]*u+r[8]*e+r[12])/o,t[1]=(r[1]*a+r[5]*u+r[9]*e+r[13])/o,t[2]=(r[2]*a+r[6]*u+r[10]*e+r[14])/o,t},r.transformMat3=function(t,n,r){var a=n[0],u=n[1],e=n[2];return t[0]=a*r[0]+u*r[3]+e*r[6],t[1]=a*r[1]+u*r[4]+e*r[7],t[2]=a*r[2]+u*r[5]+e*r[8],t},r.transformQuat=function(t,n,r){var a=r[0],u=r[1],e=r[2],o=r[3],i=n[0],c=n[1],h=n[2],M=u*h-e*c,s=e*i-a*h,f=a*c-u*i,v=u*f-e*s,l=e*M-a*f,m=a*s-u*M,d=2*o;return M*=d,s*=d,f*=d,v*=2,l*=2,m*=2,t[0]=i+M+v,t[1]=c+s+l,t[2]=h+f+m,t},r.rotateX=function(t,n,r,a){var u=[],e=[];return u[0]=n[0]-r[0],u[1]=n[1]-r[1],u[2]=n[2]-r[2],e[0]=u[0],e[1]=u[1]*Math.cos(a)-u[2]*Math.sin(a),e[2]=u[1]*Math.sin(a)+u[2]*Math.cos(a),t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},r.rotateY=function(t,n,r,a){var u=[],e=[];return u[0]=n[0]-r[0],u[1]=n[1]-r[1],u[2]=n[2]-r[2],e[0]=u[2]*Math.sin(a)+u[0]*Math.cos(a),e[1]=u[1],e[2]=u[2]*Math.cos(a)-u[0]*Math.sin(a),t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},r.rotateZ=function(t,n,r,a){var u=[],e=[];return u[0]=n[0]-r[0],u[1]=n[1]-r[1],u[2]=n[2]-r[2],e[0]=u[0]*Math.cos(a)-u[1]*Math.sin(a),e[1]=u[0]*Math.sin(a)+u[1]*Math.cos(a),e[2]=u[2],t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},r.angle=function(t,n){var r=t[0],a=t[1],u=t[2],e=n[0],o=n[1],i=n[2],c=Math.sqrt(r*r+a*a+u*u)*Math.sqrt(e*e+o*o+i*i),h=c&&l(t,n)/c;return Math.acos(Math.min(Math.max(h,-1),1))},r.zero=function(t){return t[0]=0,t[1]=0,t[2]=0,t},r.str=function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},r.exactEquals=function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]},r.equals=function(t,n){var r=t[0],a=t[1],u=t[2],o=n[0],i=n[1],c=n[2];return Math.abs(r-o)<=e.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(a-i)<=e.EPSILON*Math.max(1,Math.abs(a),Math.abs(i))&&Math.abs(u-c)<=e.EPSILON*Math.max(1,Math.abs(u),Math.abs(c))},r.sub=c,r.mul=h,r.div=M,r.dist=s,r.sqrDist=f,r.len=i,r.sqrLen=v,r.forEach=(m=o(),function(t,n,r,a,u,e){var o,i;for(n||(n=3),r||(r=0),i=a?Math.min(a*n+r,t.length):t.length,o=r;o<i;o+=n)m[0]=t[o],m[1]=t[o+1],m[2]=t[o+2],u(m,m,e),t[o]=m[0],t[o+1]=m[1],t[o+2]=m[2];return t})},n "c1aa33d719": function _(t,n,r,a,u){a();const e=t("tslib").__importStar(t("68ca94c15c"));function o(){var t=new e.ARRAY_TYPE(4);return e.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}function i(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t[3]=n[3]-r[3],t}function c(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t[3]=n[3]*r[3],t}function h(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t[3]=n[3]/r[3],t}function M(t,n){var r=n[0]-t[0],a=n[1]-t[1],u=n[2]-t[2],e=n[3]-t[3];return Math.hypot(r,a,u,e)}function f(t,n){var r=n[0]-t[0],a=n[1]-t[1],u=n[2]-t[2],e=n[3]-t[3];return r*r+a*a+u*u+e*e}function s(t){var n=t[0],r=t[1],a=t[2],u=t[3];return Math.hypot(n,r,a,u)}function l(t){var n=t[0],r=t[1],a=t[2],u=t[3];return n*n+r*r+a*a+u*u}var m;r.create=o,r.clone=function(t){var n=new e.ARRAY_TYPE(4);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n},r.fromValues=function(t,n,r,a){var u=new e.ARRAY_TYPE(4);return u[0]=t,u[1]=n,u[2]=r,u[3]=a,u},r.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t},r.set=function(t,n,r,a,u){return t[0]=n,t[1]=r,t[2]=a,t[3]=u,t},r.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t[3]=n[3]+r[3],t},r.subtract=i,r.multiply=c,r.divide=h,r.ceil=function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t[3]=Math.ceil(n[3]),t},r.floor=function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t[3]=Math.floor(n[3]),t},r.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t[3]=Math.min(n[3],r[3]),t},r.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t[3]=Math.max(n[3],r[3]),t},r.round=function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t[3]=Math.round(n[3]),t},r.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t},r.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t[3]=n[3]+r[3]*a,t},r.distance=M,r.squaredDistance=f,r.length=s,r.squaredLength=l,r.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=-n[3],t},r.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t[3]=1/n[3],t},r.normalize=function(t,n){var r=n[0],a=n[1],u=n[2],e=n[3],o=r*r+a*a+u*u+e*e;return o>0&&(o=1/Math.sqrt(o)),t[0]=r*o,t[1]=a*o,t[2]=u*o,t[3]=e*o,t},r.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]},r.cross=function(t,n,r,a){var u=r[0]*a[1]-r[1]*a[0],e=r[0]*a[2]-r[2]*a[0],o=r[0]*a[3]-r[3]*a[0],i=r[1]*a[2]-r[2]*a[1],c=r[1]*a[3]-r[3]*a[1],h=r[2]*a[3]-r[3]*a[2],M=n[0],f=n[1],s=n[2],l=n[3];return t[0]=f*h-s*c+l*i,t[1]=-M*h+s*o-l*e,t[2]=M*c-f*o+l*u,t[3]=-M*i+f*e-s*u,t},r.lerp=function(t,n,r,a){var u=n[0],e=n[1],o=n[2],i=n[3];return t[0]=u+a*(r[0]-u),t[1]=e+a*(r[1]-e),t[2]=o+a*(r[2]-o),t[3]=i+a*(r[3]-i),t},r.random=function(t,n){var r,a,u,o,i,c;n=n||1;do{i=(r=2*e.RANDOM()-1)*r+(a=2*e.RANDOM()-1)*a}while(i>=1);do{c=(u=2*e.RANDOM()-1)*u+(o=2*e.RANDOM()-1)*o}while(c>=1);var h=Math.sqrt((1-i)/c);return t[0]=n*r,t[1]=n*a,t[2]=n*u*h,t[3]=n*o*h,t},r.transformMat4=function(t,n,r){var a=n[0],u=n[1],e=n[2],o=n[3];return t[0]=r[0]*a+r[4]*u+r[8]*e+r[12]*o,t[1]=r[1]*a+r[5]*u+r[9]*e+r[13]*o,t[2]=r[2]*a+r[6]*u+r[10]*e+r[14]*o,t[3]=r[3]*a+r[7]*u+r[11]*e+r[15]*o,t},r.transformQuat=function(t,n,r){var a=n[0],u=n[1],e=n[2],o=r[0],i=r[1],c=r[2],h=r[3],M=h*a+i*e-c*u,f=h*u+c*a-o*e,s=h*e+o*u-i*a,l=-o*a-i*u-c*e;return t[0]=M*h+l*-o+f*-c-s*-i,t[1]=f*h+l*-i+s*-o-M*-c,t[2]=s*h+l*-c+M*-i-f*-o,t[3]=n[3],t},r.zero=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},r.str=function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},r.exactEquals=function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]},r.equals=function(t,n){var r=t[0],a=t[1],u=t[2],o=t[3],i=n[0],c=n[1],h=n[2],M=n[3];return Math.abs(r-i)<=e.EPSILON*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(a-c)<=e.EPSILON*Math.max(1,Math.abs(a),Math.abs(c))&&Math.abs(u-h)<=e.EPSILON*Math.max(1,Math.abs(u),Math.abs(h))&&Math.abs(o-M)<=e.EPSILON*Math.max(1,Math.abs(o),Math.abs(M))},r.sub=i,r.mul=c,r.div=h,r.dist=M,r.sqrDist=f,r.len=s,r.sqrLen=l,r.forEach=(m=o(),function(t,n,r,a,u,e){var o,i;for(n||(n=4),r||(r=0),i=a?Math.min(a*n+r,t.length):t.length,o=r;o<i;o+=n)m[0]=t[o],m[1]=t[o+1],m[2]=t[o+2],m[3]=t[o+3],u(m,m,e),t[o]=m[0],t[o+1]=m[1],t[o+2]=m[2],t[o+3]=m[3];return t})},n "277615c682": function _(t,a,n,r,e){r();const u=t("tslib"),o=u.__importStar(t("68ca94c15c")),i=u.__importStar(t("eb06fc032a")),s=u.__importStar(t("a427635f32"));function c(t,a,n){var r=.5*n[0],e=.5*n[1],u=.5*n[2],o=a[0],i=a[1],s=a[2],c=a[3];return t[0]=o,t[1]=i,t[2]=s,t[3]=c,t[4]=r*c+e*s-u*i,t[5]=e*c+u*o-r*s,t[6]=u*c+r*i-e*o,t[7]=-r*o-e*i-u*s,t}function h(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[3],t[4]=a[4],t[5]=a[5],t[6]=a[6],t[7]=a[7],t}function f(t,a,n){var r=a[0],e=a[1],u=a[2],o=a[3],i=n[4],s=n[5],c=n[6],h=n[7],f=a[4],M=a[5],b=a[6],l=a[7],v=n[0],m=n[1],R=n[2],A=n[3];return t[0]=r*A+o*v+e*R-u*m,t[1]=e*A+o*m+u*v-r*R,t[2]=u*A+o*R+r*m-e*v,t[3]=o*A-r*v-e*m-u*R,t[4]=r*h+o*i+e*c-u*s+f*A+l*v+M*R-b*m,t[5]=e*h+o*s+u*i-r*c+M*A+l*m+b*v-f*R,t[6]=u*h+o*c+r*s-e*i+b*A+l*R+f*m-M*v,t[7]=o*h-r*i-e*s-u*c+l*A-f*v-M*m-b*R,t}n.create=function(){var t=new o.ARRAY_TYPE(8);return o.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0),t[3]=1,t},n.clone=function(t){var a=new o.ARRAY_TYPE(8);return a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=t[3],a[4]=t[4],a[5]=t[5],a[6]=t[6],a[7]=t[7],a},n.fromValues=function(t,a,n,r,e,u,i,s){var c=new o.ARRAY_TYPE(8);return c[0]=t,c[1]=a,c[2]=n,c[3]=r,c[4]=e,c[5]=u,c[6]=i,c[7]=s,c},n.fromRotationTranslationValues=function(t,a,n,r,e,u,i){var s=new o.ARRAY_TYPE(8);s[0]=t,s[1]=a,s[2]=n,s[3]=r;var c=.5*e,h=.5*u,f=.5*i;return s[4]=c*r+h*n-f*a,s[5]=h*r+f*t-c*n,s[6]=f*r+c*a-h*t,s[7]=-c*t-h*a-f*n,s},n.fromRotationTranslation=c,n.fromTranslation=function(t,a){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t[4]=.5*a[0],t[5]=.5*a[1],t[6]=.5*a[2],t[7]=0,t},n.fromRotation=function(t,a){return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[3],t[4]=0,t[5]=0,t[6]=0,t[7]=0,t},n.fromMat4=function(t,a){var n=i.create();s.getRotation(n,a);var r=new o.ARRAY_TYPE(3);return s.getTranslation(r,a),c(t,n,r),t},n.copy=h,n.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t},n.set=function(t,a,n,r,e,u,o,i,s){return t[0]=a,t[1]=n,t[2]=r,t[3]=e,t[4]=u,t[5]=o,t[6]=i,t[7]=s,t},n.getReal=i.copy,n.getDual=function(t,a){return t[0]=a[4],t[1]=a[5],t[2]=a[6],t[3]=a[7],t},n.setReal=i.copy,n.setDual=function(t,a){return t[4]=a[0],t[5]=a[1],t[6]=a[2],t[7]=a[3],t},n.getTranslation=function(t,a){var n=a[4],r=a[5],e=a[6],u=a[7],o=-a[0],i=-a[1],s=-a[2],c=a[3];return t[0]=2*(n*c+u*o+r*s-e*i),t[1]=2*(r*c+u*i+e*o-n*s),t[2]=2*(e*c+u*s+n*i-r*o),t},n.translate=function(t,a,n){var r=a[0],e=a[1],u=a[2],o=a[3],i=.5*n[0],s=.5*n[1],c=.5*n[2],h=a[4],f=a[5],M=a[6],b=a[7];return t[0]=r,t[1]=e,t[2]=u,t[3]=o,t[4]=o*i+e*c-u*s+h,t[5]=o*s+u*i-r*c+f,t[6]=o*c+r*s-e*i+M,t[7]=-r*i-e*s-u*c+b,t},n.rotateX=function(t,a,n){var r=-a[0],e=-a[1],u=-a[2],o=a[3],s=a[4],c=a[5],h=a[6],f=a[7],M=s*o+f*r+c*u-h*e,b=c*o+f*e+h*r-s*u,l=h*o+f*u+s*e-c*r,v=f*o-s*r-c*e-h*u;return i.rotateX(t,a,n),r=t[0],e=t[1],u=t[2],o=t[3],t[4]=M*o+v*r+b*u-l*e,t[5]=b*o+v*e+l*r-M*u,t[6]=l*o+v*u+M*e-b*r,t[7]=v*o-M*r-b*e-l*u,t},n.rotateY=function(t,a,n){var r=-a[0],e=-a[1],u=-a[2],o=a[3],s=a[4],c=a[5],h=a[6],f=a[7],M=s*o+f*r+c*u-h*e,b=c*o+f*e+h*r-s*u,l=h*o+f*u+s*e-c*r,v=f*o-s*r-c*e-h*u;return i.rotateY(t,a,n),r=t[0],e=t[1],u=t[2],o=t[3],t[4]=M*o+v*r+b*u-l*e,t[5]=b*o+v*e+l*r-M*u,t[6]=l*o+v*u+M*e-b*r,t[7]=v*o-M*r-b*e-l*u,t},n.rotateZ=function(t,a,n){var r=-a[0],e=-a[1],u=-a[2],o=a[3],s=a[4],c=a[5],h=a[6],f=a[7],M=s*o+f*r+c*u-h*e,b=c*o+f*e+h*r-s*u,l=h*o+f*u+s*e-c*r,v=f*o-s*r-c*e-h*u;return i.rotateZ(t,a,n),r=t[0],e=t[1],u=t[2],o=t[3],t[4]=M*o+v*r+b*u-l*e,t[5]=b*o+v*e+l*r-M*u,t[6]=l*o+v*u+M*e-b*r,t[7]=v*o-M*r-b*e-l*u,t},n.rotateByQuatAppend=function(t,a,n){var r=n[0],e=n[1],u=n[2],o=n[3],i=a[0],s=a[1],c=a[2],h=a[3];return t[0]=i*o+h*r+s*u-c*e,t[1]=s*o+h*e+c*r-i*u,t[2]=c*o+h*u+i*e-s*r,t[3]=h*o-i*r-s*e-c*u,i=a[4],s=a[5],c=a[6],h=a[7],t[4]=i*o+h*r+s*u-c*e,t[5]=s*o+h*e+c*r-i*u,t[6]=c*o+h*u+i*e-s*r,t[7]=h*o-i*r-s*e-c*u,t},n.rotateByQuatPrepend=function(t,a,n){var r=a[0],e=a[1],u=a[2],o=a[3],i=n[0],s=n[1],c=n[2],h=n[3];return t[0]=r*h+o*i+e*c-u*s,t[1]=e*h+o*s+u*i-r*c,t[2]=u*h+o*c+r*s-e*i,t[3]=o*h-r*i-e*s-u*c,i=n[4],s=n[5],c=n[6],h=n[7],t[4]=r*h+o*i+e*c-u*s,t[5]=e*h+o*s+u*i-r*c,t[6]=u*h+o*c+r*s-e*i,t[7]=o*h-r*i-e*s-u*c,t},n.rotateAroundAxis=function(t,a,n,r){if(Math.abs(r)<o.EPSILON)return h(t,a);var e=Math.hypot(n[0],n[1],n[2]);r*=.5;var u=Math.sin(r),i=u*n[0]/e,s=u*n[1]/e,c=u*n[2]/e,f=Math.cos(r),M=a[0],b=a[1],l=a[2],v=a[3];t[0]=M*f+v*i+b*c-l*s,t[1]=b*f+v*s+l*i-M*c,t[2]=l*f+v*c+M*s-b*i,t[3]=v*f-M*i-b*s-l*c;var m=a[4],R=a[5],A=a[6],E=a[7];return t[4]=m*f+E*i+R*c-A*s,t[5]=R*f+E*s+A*i-m*c,t[6]=A*f+E*c+m*s-R*i,t[7]=E*f-m*i-R*s-A*c,t},n.add=function(t,a,n){return t[0]=a[0]+n[0],t[1]=a[1]+n[1],t[2]=a[2]+n[2],t[3]=a[3]+n[3],t[4]=a[4]+n[4],t[5]=a[5]+n[5],t[6]=a[6]+n[6],t[7]=a[7]+n[7],t},n.multiply=f,n.mul=f,n.scale=function(t,a,n){return t[0]=a[0]*n,t[1]=a[1]*n,t[2]=a[2]*n,t[3]=a[3]*n,t[4]=a[4]*n,t[5]=a[5]*n,t[6]=a[6]*n,t[7]=a[7]*n,t},n.dot=i.dot,n.lerp=function(t,a,r,e){var u=1-e;return n.dot(a,r)<0&&(e=-e),t[0]=a[0]*u+r[0]*e,t[1]=a[1]*u+r[1]*e,t[2]=a[2]*u+r[2]*e,t[3]=a[3]*u+r[3]*e,t[4]=a[4]*u+r[4]*e,t[5]=a[5]*u+r[5]*e,t[6]=a[6]*u+r[6]*e,t[7]=a[7]*u+r[7]*e,t},n.invert=function(t,a){var r=n.squaredLength(a);return t[0]=-a[0]/r,t[1]=-a[1]/r,t[2]=-a[2]/r,t[3]=a[3]/r,t[4]=-a[4]/r,t[5]=-a[5]/r,t[6]=-a[6]/r,t[7]=a[7]/r,t},n.conjugate=function(t,a){return t[0]=-a[0],t[1]=-a[1],t[2]=-a[2],t[3]=a[3],t[4]=-a[4],t[5]=-a[5],t[6]=-a[6],t[7]=a[7],t},n.length=i.length,n.len=n.length,n.squaredLength=i.squaredLength,n.sqrLen=n.squaredLength,n.normalize=function(t,a){var r=n.squaredLength(a);if(r>0){r=Math.sqrt(r);var e=a[0]/r,u=a[1]/r,o=a[2]/r,i=a[3]/r,s=a[4],c=a[5],h=a[6],f=a[7],M=e*s+u*c+o*h+i*f;t[0]=e,t[1]=u,t[2]=o,t[3]=i,t[4]=(s-e*M)/r,t[5]=(c-u*M)/r,t[6]=(h-o*M)/r,t[7]=(f-i*M)/r}return t},n.str=function(t){return"quat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+")"},n.exactEquals=function(t,a){return t[0]===a[0]&&t[1]===a[1]&&t[2]===a[2]&&t[3]===a[3]&&t[4]===a[4]&&t[5]===a[5]&&t[6]===a[6]&&t[7]===a[7]},n.equals=function(t,a){var n=t[0],r=t[1],e=t[2],u=t[3],i=t[4],s=t[5],c=t[6],h=t[7],f=a[0],M=a[1],b=a[2],l=a[3],v=a[4],m=a[5],R=a[6],A=a[7];return Math.abs(n-f)<=o.EPSILON*Math.max(1,Math.abs(n),Math.abs(f))&&Math.abs(r-M)<=o.EPSILON*Math.max(1,Math.abs(r),Math.abs(M))&&Math.abs(e-b)<=o.EPSILON*Math.max(1,Math.abs(e),Math.abs(b))&&Math.abs(u-l)<=o.EPSILON*Math.max(1,Math.abs(u),Math.abs(l))&&Math.abs(i-v)<=o.EPSILON*Math.max(1,Math.abs(i),Math.abs(v))&&Math.abs(s-m)<=o.EPSILON*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(c-R)<=o.EPSILON*Math.max(1,Math.abs(c),Math.abs(R))&&Math.abs(h-A)<=o.EPSILON*Math.max(1,Math.abs(h),Math.abs(A))}},n "c56d9ff837": function _(n,t,r,a,u){a();const e=n("tslib").__importStar(n("68ca94c15c"));function o(){var n=new e.ARRAY_TYPE(2);return e.ARRAY_TYPE!=Float32Array&&(n[0]=0,n[1]=0),n}function c(n,t,r){return n[0]=t[0]-r[0],n[1]=t[1]-r[1],n}function i(n,t,r){return n[0]=t[0]*r[0],n[1]=t[1]*r[1],n}function f(n,t,r){return n[0]=t[0]/r[0],n[1]=t[1]/r[1],n}function s(n,t){var r=t[0]-n[0],a=t[1]-n[1];return Math.hypot(r,a)}function h(n,t){var r=t[0]-n[0],a=t[1]-n[1];return r*r+a*a}function M(n){var t=n[0],r=n[1];return Math.hypot(t,r)}function l(n){var t=n[0],r=n[1];return t*t+r*r}var v;r.create=o,r.clone=function(n){var t=new e.ARRAY_TYPE(2);return t[0]=n[0],t[1]=n[1],t},r.fromValues=function(n,t){var r=new e.ARRAY_TYPE(2);return r[0]=n,r[1]=t,r},r.copy=function(n,t){return n[0]=t[0],n[1]=t[1],n},r.set=function(n,t,r){return n[0]=t,n[1]=r,n},r.add=function(n,t,r){return n[0]=t[0]+r[0],n[1]=t[1]+r[1],n},r.subtract=c,r.multiply=i,r.divide=f,r.ceil=function(n,t){return n[0]=Math.ceil(t[0]),n[1]=Math.ceil(t[1]),n},r.floor=function(n,t){return n[0]=Math.floor(t[0]),n[1]=Math.floor(t[1]),n},r.min=function(n,t,r){return n[0]=Math.min(t[0],r[0]),n[1]=Math.min(t[1],r[1]),n},r.max=function(n,t,r){return n[0]=Math.max(t[0],r[0]),n[1]=Math.max(t[1],r[1]),n},r.round=function(n,t){return n[0]=Math.round(t[0]),n[1]=Math.round(t[1]),n},r.scale=function(n,t,r){return n[0]=t[0]*r,n[1]=t[1]*r,n},r.scaleAndAdd=function(n,t,r,a){return n[0]=t[0]+r[0]*a,n[1]=t[1]+r[1]*a,n},r.distance=s,r.squaredDistance=h,r.length=M,r.squaredLength=l,r.negate=function(n,t){return n[0]=-t[0],n[1]=-t[1],n},r.inverse=function(n,t){return n[0]=1/t[0],n[1]=1/t[1],n},r.normalize=function(n,t){var r=t[0],a=t[1],u=r*r+a*a;return u>0&&(u=1/Math.sqrt(u)),n[0]=t[0]*u,n[1]=t[1]*u,n},r.dot=function(n,t){return n[0]*t[0]+n[1]*t[1]},r.cross=function(n,t,r){var a=t[0]*r[1]-t[1]*r[0];return n[0]=n[1]=0,n[2]=a,n},r.lerp=function(n,t,r,a){var u=t[0],e=t[1];return n[0]=u+a*(r[0]-u),n[1]=e+a*(r[1]-e),n},r.random=function(n,t){t=t||1;var r=2*e.RANDOM()*Math.PI;return n[0]=Math.cos(r)*t,n[1]=Math.sin(r)*t,n},r.transformMat2=function(n,t,r){var a=t[0],u=t[1];return n[0]=r[0]*a+r[2]*u,n[1]=r[1]*a+r[3]*u,n},r.transformMat2d=function(n,t,r){var a=t[0],u=t[1];return n[0]=r[0]*a+r[2]*u+r[4],n[1]=r[1]*a+r[3]*u+r[5],n},r.transformMat3=function(n,t,r){var a=t[0],u=t[1];return n[0]=r[0]*a+r[3]*u+r[6],n[1]=r[1]*a+r[4]*u+r[7],n},r.transformMat4=function(n,t,r){var a=t[0],u=t[1];return n[0]=r[0]*a+r[4]*u+r[12],n[1]=r[1]*a+r[5]*u+r[13],n},r.rotate=function(n,t,r,a){var u=t[0]-r[0],e=t[1]-r[1],o=Math.sin(a),c=Math.cos(a);return n[0]=u*c-e*o+r[0],n[1]=u*o+e*c+r[1],n},r.angle=function(n,t){var r=n[0],a=n[1],u=t[0],e=t[1],o=Math.sqrt(r*r+a*a)*Math.sqrt(u*u+e*e),c=o&&(r*u+a*e)/o;return Math.acos(Math.min(Math.max(c,-1),1))},r.zero=function(n){return n[0]=0,n[1]=0,n},r.str=function(n){return"vec2("+n[0]+", "+n[1]+")"},r.exactEquals=function(n,t){return n[0]===t[0]&&n[1]===t[1]},r.equals=function(n,t){var r=n[0],a=n[1],u=t[0],o=t[1];return Math.abs(r-u)<=e.EPSILON*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(a-o)<=e.EPSILON*Math.max(1,Math.abs(a),Math.abs(o))},r.len=M,r.sub=c,r.mul=i,r.div=f,r.dist=s,r.sqrDist=h,r.sqrLen=l,r.forEach=(v=o(),function(n,t,r,a,u,e){var o,c;for(t||(t=2),r||(r=0),c=a?Math.min(a*t+r,n.length):n.length,o=r;o<c;o+=t)v[0]=n[o],v[1]=n[o+1],u(v,v,e),n[o]=v[0],n[o+1]=v[1];return n})},n "4baab0b7ce": function _(e,t,n,s,r){s();const i=e("tslib").__importStar(e("@bokehjs/core/properties")),o=e("@bokehjs/core/util/object"),_=e("666f1ef4e6"),a=e("4eb45e35aa"),h=e("11e0707a8f"),c="panel";class d extends _.AbstractVTKView{initialize(){super.initialize(),this._promises=[],this._renderable=!1,this._arrays={},this._decoded_arrays={},this._pending_arrays={},this.getArray=e=>this._arrays[e]?Promise.resolve(this._arrays[e]):new Promise(((t,n)=>{this._pending_arrays[e]={resolve:t,reject:n}})),this.registerArray=(e,t)=>(this._arrays[e]=t,this._pending_arrays[e]&&this._pending_arrays[e].resolve(t),!0),this._synchronizer_context=a.vtkns.SynchronizableRenderWindow.getSynchronizerContext(c)}connect_signals(){super.connect_signals(),this.connect(this.model.properties.arrays.change,(()=>this._decode_arrays())),this.connect(this.model.properties.scene.change,(()=>{if(this.model.rebuild)this._vtk_renwin=null,this.invalidate_render();else{const e=o.clone(this.model.scene);Promise.all(this._promises).then((()=>{this._sync_plot(e,(()=>{this._on_scene_ready()}))}))}})),this.connect(this.model.properties.one_time_reset.change,(()=>{this._vtk_renwin.getRenderWindow().clearOneTimeUpdaters()}))}init_vtk_renwin(){this._vtk_renwin=h.FullScreenRenderWindowSynchronized.newInstance({rootContainer:this.el,container:this._vtk_container,synchronizerContext:this._synchronizer_context})}plot(){this._vtk_renwin.getRenderWindow().clearOneTimeUpdaters(),this._decode_arrays();const e=o.clone(this.model.scene);Promise.all(this._promises).then((()=>{this._sync_plot(e,(()=>this._on_scene_ready())).then((()=>{this._set_camera_state(),this._get_camera_state()}))}))}_decode_arrays(){const e=new a.vtkns.ThirdParty.JSZip,t=this.model.arrays,n=this.registerArray,s=this.model.arrays_processed,r=this.model;Object.keys(t).forEach((i=>{this._decoded_arrays[i]||(this._decoded_arrays[i]=!0,this._promises.push(function(i){return e.loadAsync(atob(t[i])).then((e=>e.file("data/"+i))).then((e=>e.async("arraybuffer"))).then((e=>n(i,e))).then((()=>{s.push(i),r.properties.arrays_processed.change.emit()}))}(i)))}))}_on_scene_ready(){this._promises.length>0||(this._renderable=!0,this._camera_callbacks.push(this._vtk_renwin.getRenderer().getActiveCamera().onModified((()=>this._vtk_render()))),this._orientationWidget||this._create_orientation_widget(),this._axes||this._set_axes(),this._vtk_renwin.resize(),this._vtk_render())}_sync_plot(e,t){this._renderable=!1,this._promises=[],this._unsubscribe_camera_cb(),this._synchronizer_context.setFetchArrayFunction((e=>Promise.resolve(this._arrays[e])));const n=this._synchronizer_context.getInstance(this.model.scene.dependencies[0].id);return n&&!this._vtk_renwin.getRenderer()&&this._vtk_renwin.getRenderWindow().addRenderer(n),this._vtk_renwin.getRenderWindow().synchronize(e).then(t)}}n.VTKSynchronizedPlotView=d,d.__name__="VTKSynchronizedPlotView";class l extends _.AbstractVTKPlot{constructor(e){super(e),this.outline=a.vtkns.OutlineFilter.newInstance();const t=a.vtkns.Mapper.newInstance();t.setInputConnection(this.outline.getOutputPort()),this.outline_actor=a.vtkns.Actor.newInstance(),this.outline_actor.setMapper(t)}getActors(e){let t=this.renderer_el.getRenderer().getActors();if(e){const n=this.renderer_el.getSynchronizerContext(c);t=t.filter((t=>{const s=n.getInstanceId(t);return!!s&&s.slice(-16)==e.slice(1,17)}))}return t}static init_VTKSynchronizedPlot(){this.prototype.default_view=d,this.define({arrays:[i.Any,{}],arrays_processed:[i.Array,[]],enable_keybindings:[i.Boolean,!1],one_time_reset:[i.Boolean],rebuild:[i.Boolean,!1],scene:[i.Any,{}]}),this.override({height:300,width:300})}}n.VTKSynchronizedPlot=l,l.__name__="VTKSynchronizedPlot",l.__module__="panel.models.vtk",l.init_VTKSynchronizedPlot()},n "11e0707a8f": function _(e,n,o,t,r){t();const i=e("4eb45e35aa");if(i.vtk){const e={containerStyle:null,controlPanelStyle:null,listenWindowResize:!0,resizeCallback:null,controllerVisibility:!0,synchronizerContextName:"default"},n={position:"absolute",left:"25px",top:"25px",backgroundColor:"white",borderRadius:"5px",listStyle:"none",padding:"5px 10px",margin:"0",display:"block",border:"solid 1px black",maxWidth:"calc(100vw - 70px)",maxHeight:"calc(100vh - 60px)",overflow:"auto"};o.FullScreenRenderWindowSynchronized={newInstance:i.vtk.macro.newInstance(((o,t,r={})=>{Object.assign(t,e,r),i.vtk.macro.obj(o,t),i.vtk.macro.get(o,t,["renderWindow","openGLRenderWindow","interactor","rootContainer","container","controlContainer","synchronizerContext"]),function(e,o){o.renderWindow=i.vtkns.SynchronizableRenderWindow.newInstance({synchronizerContext:o.synchronizerContext}),o.openGLRenderWindow=i.vtkns.OpenGLRenderWindow.newInstance(),o.openGLRenderWindow.setContainer(o.container),o.renderWindow.addView(o.openGLRenderWindow),o.interactor=i.vtkns.RenderWindowInteractor.newInstance(),o.interactor.setInteractorStyle(i.vtkns.InteractorStyleTrackballCamera.newInstance()),o.interactor.setView(o.openGLRenderWindow),o.interactor.initialize(),o.interactor.bindEvents(o.container),e.getRenderer=()=>o.renderWindow.getRenderers()[0],e.removeController=()=>{const e=o.controlContainer;e&&e.parentNode.removeChild(e)},e.setControllerVisibility=e=>{o.controllerVisibility=e,o.controlContainer&&(o.controlContainer.style.display=e?"block":"none")},e.toggleControllerVisibility=()=>{e.setControllerVisibility(!o.controllerVisibility)},e.addController=t=>{o.controlContainer=document.createElement("div"),i.applyStyle(o.controlContainer,o.controlPanelStyle||n),o.rootContainer.appendChild(o.controlContainer),o.controlContainer.innerHTML=t,e.setControllerVisibility(o.controllerVisibility),o.rootContainer.addEventListener("keypress",(n=>{"c"===String.fromCharCode(n.charCode)&&e.toggleControllerVisibility()}))},e.delete=i.vtk.macro.chain(e.setContainer,o.openGLRenderWindow.delete,e.delete),e.resize=()=>{const e=o.container.getBoundingClientRect(),n=window.devicePixelRatio||1;o.openGLRenderWindow.setSize(Math.floor(e.width*n),Math.floor(e.height*n)),o.resizeCallback&&o.resizeCallback(e),o.renderWindow.render()},e.setResizeCallback=n=>{o.resizeCallback=n,e.resize()},o.listenWindowResize&&window.addEventListener("resize",e.resize),e.resize()}(o,t)}))}}},n }, "4e90918c0a", {"index":"4e90918c0a","models/index":"480618c798","models/ace":"c2edc6955b","models/layout":"7116a7a602","models/audio":"339f84d639","models/card":"b85e13a3ba","models/comm_manager":"e552778259","models/tabulator":"99baa24a1a","models/data":"7e38aee5d7","models/deckgl":"df2378664f","models/tooltips":"6e04fbe567","models/echarts":"9d046c4720","models/html":"ed08037ce5","models/idom":"7d45bd3bc4","models/event-to-object":"3329d4aa5b","models/ipywidget":"0eae77d68f","models/json":"5284fdbb37","models/file_download":"1767172ffa","models/katex":"7b859fb3cf","models/location":"642aa56b24","models/mathjax":"0c21036737","models/perspective":"545156b57b","models/player":"ed9bae6d87","models/plotly":"47b5ae5c43","models/util":"990b5dd5c7","models/progress":"9f787650b9","models/singleselect":"3b85956787","models/speech_to_text":"aaa48703af","models/state":"bfa46a5f19","models/text_to_speech":"33cd2c254e","models/trend":"2efaffc12a","models/vega":"4feb5fa522","models/video":"ffe54b53c3","models/videostream":"9ff7f7b5e9","models/vtk/index":"c51f25e2a7","models/vtk/vtkjs":"34fc7779c7","models/vtk/vtklayout":"666f1ef4e6","models/vtk/util":"4eb45e35aa","models/vtk/vtkcolorbar":"c010237f8b","models/vtk/vtkvolume":"89262e43a1","models/vtk/vtkaxes":"db7a0079c0","models/vtk/vtksynchronized":"4baab0b7ce","models/vtk/panel_fullscreen_renwin_sync":"11e0707a8f"}, {});});nn /* END panel.min.js */n },n function(Bokeh) {} // ensure no trailing comma for IEn ];nn function run_inline_js() {n if ((root.Bokeh !== undefined) || (force === true)) {n for (var i = 0; i < inline_js.length; i++) {n inline_js[i].call(root, root.Bokeh);n }} else if (Date.now() < root._bokeh_timeout) {n setTimeout(run_inline_js, 100);n } else if (!root._bokeh_failed_load) {n console.log("Bokeh: BokehJS failed to load within specified timeout.");n root._bokeh_failed_load = true;n }n }nn if (root._bokeh_is_loading === 0) {n console.debug("Bokeh: BokehJS loaded, going straight to plotting");n run_inline_js();n } else {n load_libs(css_urls, js_urls, js_modules, function() {n console.debug("Bokeh: BokehJS plotting callback run at", now());n run_inline_js();n });n }n}(window));”

}, “metadata”: {}, “output_type”: “display_data”

}, {

“data”: {
“application/javascript”: [

“n”, “if ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {n”, “ window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}n”, “}n”, “n”, “n”, “ function JupyterCommManager() {n”, “ }n”, “n”, “ JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {n”, “ if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {n”, “ var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;n”, “ comm_manager.register_target(comm_id, function(comm) {n”, “ comm.on_msg(msg_handler);n”, “ });n”, “ } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {n”, “ window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {n”, “ comm.onMsg = msg_handler;n”, “ });n”, “ } else if (typeof google != ‘undefined’ && google.colab.kernel != null) {n”, “ google.colab.kernel.comms.registerTarget(comm_id, (comm) => {n”, “ var messages = comm.messages[Symbol.asyncIterator]();n”, “ function processIteratorResult(result) {n”, “ var message = result.value;n”, “ console.log(message)n”, “ var content = {data: message.data, comm_id};n”, “ var buffers = []n”, “ for (var buffer of message.buffers || []) {n”, “ buffers.push(new DataView(buffer))n”, “ }n”, “ var metadata = message.metadata || {};n”, “ var msg = {content, buffers, metadata}n”, “ msg_handler(msg);n”, “ return messages.next().then(processIteratorResult);n”, “ }n”, “ return messages.next().then(processIteratorResult);n”, “ })n”, “ }n”, “ }n”, “n”, “ JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {n”, “ if (comm_id in window.PyViz.comms) {n”, “ return window.PyViz.comms[comm_id];n”, “ } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {n”, “ var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;n”, “ var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);n”, “ if (msg_handler) {n”, “ comm.on_msg(msg_handler);n”, “ }n”, “ } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {n”, “ var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);n”, “ comm.open();n”, “ if (msg_handler) {n”, “ comm.onMsg = msg_handler;n”, “ }n”, “ } else if (typeof google != ‘undefined’ && google.colab.kernel != null) {n”, “ var comm_promise = google.colab.kernel.comms.open(comm_id)n”, “ comm_promise.then((comm) => {n”, “ window.PyViz.comms[comm_id] = comm;n”, “ if (msg_handler) {n”, “ var messages = comm.messages[Symbol.asyncIterator]();n”, “ function processIteratorResult(result) {n”, “ var message = result.value;n”, “ var content = {data: message.data};n”, “ var metadata = message.metadata || {comm_id};n”, “ var msg = {content, metadata}n”, “ msg_handler(msg);n”, “ return messages.next().then(processIteratorResult);n”, “ }n”, “ return messages.next().then(processIteratorResult);n”, “ }n”, “ }) n”, “ var sendClosure = (data, metadata, buffers, disposeOnDone) => {n”, “ return comm_promise.then((comm) => {n”, “ comm.send(data, metadata, buffers, disposeOnDone);n”, “ });n”, “ };n”, “ var comm = {n”, “ send: sendClosuren”, “ };n”, “ }n”, “ window.PyViz.comms[comm_id] = comm;n”, “ return comm;n”, “ }n”, “ window.PyViz.comm_manager = new JupyterCommManager();n”, “ n”, “n”, “n”, “var JS_MIME_TYPE = ‘application/javascript’;n”, “var HTML_MIME_TYPE = ‘text/html’;n”, “var EXEC_MIME_TYPE = ‘application/vnd.holoviews_exec.v0+json’;n”, “var CLASS_NAME = ‘output’;n”, “n”, “/n”, “ * Render data to the DOM noden”, “ */n”, “function render(props, node) {n”, “ var div = document.createElement("div");n”, “ var script = document.createElement("script");n”, “ node.appendChild(div);n”, “ node.appendChild(script);n”, “}n”, “n”, “/n”, “ * Handle when a new output is addedn”, “ /n”, “function handle_add_output(event, handle) {n”, “ var output_area = handle.output_area;n”, “ var output = handle.output;n”, “ if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {n”, “ returnn”, “ }n”, “ var id = output.metadata[EXEC_MIME_TYPE]["id"];n”, “ var toinsert = output_area.element.find("." + CLASS_NAME.split(’ ‘)[0]);n”, “ if (id !== undefined) {n”, “ var nchildren = toinsert.length;n”, “ var html_node = toinsert[nchildren-1].children[0];n”, “ html_node.innerHTML = output.data[HTML_MIME_TYPE];n”, “ var scripts = [];n”, “ var nodelist = html_node.querySelectorAll("script");n”, “ for (var i in nodelist) {n”, “ if (nodelist.hasOwnProperty(i)) {n”, “ scripts.push(nodelist[i])n”, “ }n”, “ }n”, “n”, “ scripts.forEach( function (oldScript) {n”, “ var newScript = document.createElement("script");n”, “ var attrs = [];n”, “ var nodemap = oldScript.attributes;n”, “ for (var j in nodemap) {n”, “ if (nodemap.hasOwnProperty(j)) {n”, “ attrs.push(nodemap[j])n”, “ }n”, “ }n”, “ attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });n”, “ newScript.appendChild(document.createTextNode(oldScript.innerHTML));n”, “ oldScript.parentNode.replaceChild(newScript, oldScript);n”, “ });n”, “ if (JS_MIME_TYPE in output.data) {n”, “ toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];n”, “ }n”, “ output_area._hv_plot_id = id;n”, “ if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {n”, “ window.PyViz.plot_index[id] = Bokeh.index[id];n”, “ } else {n”, “ window.PyViz.plot_index[id] = null;n”, “ }n”, “ } else if (output.metadata[EXEC_MIME_TYPE]["server_id"] !== undefined) {n”, “ var bk_div = document.createElement("div");n”, “ bk_div.innerHTML = output.data[HTML_MIME_TYPE];n”, “ var script_attrs = bk_div.children[0].attributes;n”, “ for (var i = 0; i < script_attrs.length; i++) {n”, “ toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);n”, “ }n”, “ // store reference to server id on output_arean”, “ output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE]["server_id"];n”, “ }n”, “}n”, “n”, “/*n”, “ * Handle when an output is cleared or removedn”, “ /n”, “function handle_clear_output(event, handle) {n”, “ var id = handle.cell.output_area._hv_plot_id;n”, “ var server_id = handle.cell.output_area._bokeh_server_id;n”, “ if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }n”, “ var comm = window.PyViz.comm_manager.get_client_comm("hv-extension-comm", "hv-extension-comm", function () {});n”, “ if (server_id !== null) {n”, “ comm.send({event_type: ‘server_delete’, ‘id’: server_id});n”, “ return;n”, “ } else if (comm !== null) {n”, “ comm.send({event_type: ‘delete’, ‘id’: id});n”, “ }n”, “ delete PyViz.plot_index[id];n”, “ if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {n”, “ var doc = window.Bokeh.index[id].model.documentn”, “ doc.clear();n”, “ const i = window.Bokeh.documents.indexOf(doc);n”, “ if (i > -1) {n”, “ window.Bokeh.documents.splice(i, 1);n”, “ }n”, “ }n”, “}n”, “n”, “/*n”, “ * Handle kernel restart eventn”, “ /n”, “function handle_kernel_cleanup(event, handle) {n”, “ delete PyViz.comms["hv-extension-comm"];n”, “ window.PyViz.plot_index = {}n”, “}n”, “n”, “/*n”, “ * Handle update_display_data messagesn”, “ */n”, “function handle_update_output(event, handle) {n”, “ handle_clear_output(event, {cell: {output_area: handle.output_area}})n”, “ handle_add_output(event, handle)n”, “}n”, “n”, “function register_renderer(events, OutputArea) {n”, “ function append_mime(data, metadata, element) {n”, “ // create a DOM node to render ton”, “ var toinsert = this.create_output_subarea(n”, “ metadata,n”, “ CLASS_NAME,n”, “ EXEC_MIME_TYPEn”, “ );n”, “ this.keyboard_manager.register_events(toinsert);n”, “ // Render to noden”, “ var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};n”, “ render(props, toinsert[0]);n”, “ element.append(toinsert);n”, “ return toinsertn”, “ }n”, “n”, “ events.on(‘output_added.OutputArea’, handle_add_output);n”, “ events.on(‘output_updated.OutputArea’, handle_update_output);n”, “ events.on(‘clear_output.CodeCell’, handle_clear_output);n”, “ events.on(‘delete.Cell’, handle_clear_output);n”, “ events.on(‘kernel_ready.Kernel’, handle_kernel_cleanup);n”, “n”, “ OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {n”, “ safe: true,n”, “ index: 0n”, “ });n”, “}n”, “n”, “if (window.Jupyter !== undefined) {n”, “ try {n”, “ var events = require(‘base/js/events’);n”, “ var OutputArea = require(‘notebook/js/outputarea’).OutputArea;n”, “ if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {n”, “ register_renderer(events, OutputArea);n”, “ }n”, “ } catch(err) {n”, “ }n”, “}n”

], “application/vnd.holoviews_load.v0+json”: “nif ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {n window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}n}nnn function JupyterCommManager() {n }nn JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {n if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;n comm_manager.register_target(comm_id, function(comm) {n comm.on_msg(msg_handler);n });n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {n window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {n comm.onMsg = msg_handler;n });n } else if (typeof google != ‘undefined’ && google.colab.kernel != null) {n google.colab.kernel.comms.registerTarget(comm_id, (comm) => {n var messages = comm.messages[Symbol.asyncIterator]();n function processIteratorResult(result) {n var message = result.value;n console.log(message)n var content = {data: message.data, comm_id};n var buffers = []n for (var buffer of message.buffers || []) {n buffers.push(new DataView(buffer))n }n var metadata = message.metadata || {};n var msg = {content, buffers, metadata}n msg_handler(msg);n return messages.next().then(processIteratorResult);n }n return messages.next().then(processIteratorResult);n })n }n }nn JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {n if (comm_id in window.PyViz.comms) {n return window.PyViz.comms[comm_id];n } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;n var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);n if (msg_handler) {n comm.on_msg(msg_handler);n }n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {n var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);n comm.open();n if (msg_handler) {n comm.onMsg = msg_handler;n }n } else if (typeof google != ‘undefined’ && google.colab.kernel != null) {n var comm_promise = google.colab.kernel.comms.open(comm_id)n comm_promise.then((comm) => {n window.PyViz.comms[comm_id] = comm;n if (msg_handler) {n var messages = comm.messages[Symbol.asyncIterator]();n function processIteratorResult(result) {n var message = result.value;n var content = {data: message.data};n var metadata = message.metadata || {comm_id};n var msg = {content, metadata}n msg_handler(msg);n return messages.next().then(processIteratorResult);n }n return messages.next().then(processIteratorResult);n }n }) n var sendClosure = (data, metadata, buffers, disposeOnDone) => {n return comm_promise.then((comm) => {n comm.send(data, metadata, buffers, disposeOnDone);n });n };n var comm = {n send: sendClosuren };n }n window.PyViz.comms[comm_id] = comm;n return comm;n }n window.PyViz.comm_manager = new JupyterCommManager();n nnnvar JS_MIME_TYPE = ‘application/javascript’;nvar HTML_MIME_TYPE = ‘text/html’;nvar EXEC_MIME_TYPE = ‘application/vnd.holoviews_exec.v0+json’;nvar CLASS_NAME = ‘output’;nn/n * Render data to the DOM noden */nfunction render(props, node) {n var div = document.createElement("div");n var script = document.createElement("script");n node.appendChild(div);n node.appendChild(script);n}nn/n * Handle when a new output is addedn /nfunction handle_add_output(event, handle) {n var output_area = handle.output_area;n var output = handle.output;n if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {n returnn }n var id = output.metadata[EXEC_MIME_TYPE]["id"];n var toinsert = output_area.element.find("." + CLASS_NAME.split(’ ‘)[0]);n if (id !== undefined) {n var nchildren = toinsert.length;n var html_node = toinsert[nchildren-1].children[0];n html_node.innerHTML = output.data[HTML_MIME_TYPE];n var scripts = [];n var nodelist = html_node.querySelectorAll("script");n for (var i in nodelist) {n if (nodelist.hasOwnProperty(i)) {n scripts.push(nodelist[i])n }n }nn scripts.forEach( function (oldScript) {n var newScript = document.createElement("script");n var attrs = [];n var nodemap = oldScript.attributes;n for (var j in nodemap) {n if (nodemap.hasOwnProperty(j)) {n attrs.push(nodemap[j])n }n }n attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });n newScript.appendChild(document.createTextNode(oldScript.innerHTML));n oldScript.parentNode.replaceChild(newScript, oldScript);n });n if (JS_MIME_TYPE in output.data) {n toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];n }n output_area._hv_plot_id = id;n if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {n window.PyViz.plot_index[id] = Bokeh.index[id];n } else {n window.PyViz.plot_index[id] = null;n }n } else if (output.metadata[EXEC_MIME_TYPE]["server_id"] !== undefined) {n var bk_div = document.createElement("div");n bk_div.innerHTML = output.data[HTML_MIME_TYPE];n var script_attrs = bk_div.children[0].attributes;n for (var i = 0; i < script_attrs.length; i++) {n toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);n }n // store reference to server id on output_arean output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE]["server_id"];n }n}nn/*n * Handle when an output is cleared or removedn /nfunction handle_clear_output(event, handle) {n var id = handle.cell.output_area._hv_plot_id;n var server_id = handle.cell.output_area._bokeh_server_id;n if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }n var comm = window.PyViz.comm_manager.get_client_comm("hv-extension-comm", "hv-extension-comm", function () {});n if (server_id !== null) {n comm.send({event_type: ‘server_delete’, ‘id’: server_id});n return;n } else if (comm !== null) {n comm.send({event_type: ‘delete’, ‘id’: id});n }n delete PyViz.plot_index[id];n if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {n var doc = window.Bokeh.index[id].model.documentn doc.clear();n const i = window.Bokeh.documents.indexOf(doc);n if (i > -1) {n window.Bokeh.documents.splice(i, 1);n }n }n}nn/*n * Handle kernel restart eventn /nfunction handle_kernel_cleanup(event, handle) {n delete PyViz.comms["hv-extension-comm"];n window.PyViz.plot_index = {}n}nn/*n * Handle update_display_data messagesn */nfunction handle_update_output(event, handle) {n handle_clear_output(event, {cell: {output_area: handle.output_area}})n handle_add_output(event, handle)n}nnfunction register_renderer(events, OutputArea) {n function append_mime(data, metadata, element) {n // create a DOM node to render ton var toinsert = this.create_output_subarea(n metadata,n CLASS_NAME,n EXEC_MIME_TYPEn );n this.keyboard_manager.register_events(toinsert);n // Render to noden var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};n render(props, toinsert[0]);n element.append(toinsert);n return toinsertn }nn events.on(‘output_added.OutputArea’, handle_add_output);n events.on(‘output_updated.OutputArea’, handle_update_output);n events.on(‘clear_output.CodeCell’, handle_clear_output);n events.on(‘delete.Cell’, handle_clear_output);n events.on(‘kernel_ready.Kernel’, handle_kernel_cleanup);nn OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {n safe: true,n index: 0n });n}nnif (window.Jupyter !== undefined) {n try {n var events = require(‘base/js/events’);n var OutputArea = require(‘notebook/js/outputarea’).OutputArea;n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {n register_renderer(events, OutputArea);n }n } catch(err) {n }n}n”

}, “metadata”: {}, “output_type”: “display_data”

}, {

“data”: {
“text/html”: [

“n”, “<div class="logo-block">n”, “<img src=’data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzn”, “AAAB+wAAAfsBxc2miwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAA6zSURBn”, “VHic7ZtpeFRVmsf/5966taWqUlUJ2UioBBJiIBAwCZtog9IOgjqACsogKtqirT2ttt069nQ/zDztn”, “tI4+CrJIREFaFgWhBXpUNhHZQoKBkIUASchWla1S+3ar7r1nPkDaCAnZKoQP/D7mnPOe9/xy76n3n”, “nFSAW9ziFoPFNED2LLK5wcyBDObkb8ZkxuaoSYlI6ZcOKq1eWFdedqNzGHQBk9RMEwFAASkk0Xw3n”, “ETacDNi2vtvc7L0ROdw0AjoSotQVkKSvHQz/wRO1lScGModBFbDMaNRN1A4tUBCS3lk7BWhQkgpDn”, “lG4852/+7DWr1R3uHAZVQDsbh6ZPN7CyxUrCzJMRouusj0ipRwD2uKm0Zn5d2dFwzX1TCGhnmdGon”, “G62Nna+isiUqhkzuKrkQaJlPEv5mFl2fvGg2t/VnzkEV8F5ioioOEWkLG86fvbpthynjdhXYZziQn”, “x1hC9J2NFyi8vCTt91Fh04KGip0AaG9zuCk2wQCVyoNU3Hjezee9bq92duzzTmxsRJoy+jEZZZYon”, “GTKJ6SJngdJqAfRzpze0+jHreUtPc7gpBLQnIYK6BYp/uGhw9YK688eu7v95ysgshcg9qSLMo3JCn”, “4jqLKQFBgdKDPoQ+Pltb8dUyQLpeDjeVgI6EgLIQFT5tEl3rn2losHVsexbZ3EyT9wE1uGdkIPcyn”, “BGxn8QUq1QrA5nqW5i2tLqvrrM9NK6AdkVIvL9E9bZL/oyfMVd/jqvc8LylzRBKDJSzIExwhQzuLn”, “QYGQj4rHfFTc8mUdu3E7yoLtbTe9gI4EqVgVkug2i5+uXGo919ixbRog+3fTbQ8qJe4ZOYNfMoTIn”, “OoshUNosgO60AisX15aeI2PSIp5KiFLI9ubb1vV3Qb2ltwLakUCDAkWX7/nHKRmmGIl9VgYsUhJmn”, “2NXjKYADtM1ygne9QQDIXlk49FBstMKx66D1v4+XuQr7vqTe0VcBHQlRWiOCbmmSYe2SqtL6q5rJn”, “zsTb7lKx3FKOYC4DoqyS/B5bvLPxvD9Qtf6saxYLQGJErmDOdOMr/zo96km1nElr8bmPOBwI9COvn”, “HnFPRIwmkSOv9kcAS4heRsidOkpeWBgZM+UBrTFAXNYL5Vf2ii9c1trNzpYdaoVil3WIc+wdk+gQn”, “noie3ecCcxt9ITcLAPWt/laGEO/9U6PmzZkenTtsSMQ8uYywJVW+grCstAvCIaAdArAsIWkRDDs/n”, “KzLm2YcjY1Lv0UdW73HabE9n6V66cxSzfEmuJssTpKGVp+0vHq73FwL46eOjpMpbRAnNmJFrGJNun”, “Ukf9Yrz+3rghiumCKNXXWPhLYcjxGsIpoCMsIRoFITkW8AuyM8jC1+/QLx4bozCEJIq38+1rtpR6n”, “V/yzb8eBlRb3fo5l783N0CWolAzJHaVNzkrTzlEp2bQ2q3TC5gn6wpnoQAmwSiGh2GitnTmVMc5On”, “UyfKWUKCIsU7+fZDKwqdT6DDpvkzAX4/+AMFjk0tDp5GRXLpQ2MUmhgDp5gxQT8+Y7hyPsMi8uxFn”, “71H0oebujHALECjFKaW9Lm68n18wXp2kVzIcABytD5iXFzg+WVXkegpAsOOYziqo0OkK76GyquC3n”, “ltZAzMhhqlSNmmWTE5T6e3IN05ITFLM4GdN0vtZ3ob8Jh1NAKXFbm5PtLU/eqTSlGjkNAJjdgn/Nn”, “aedXa0tdi7+t9G0FIF49rtMSEgAs1kDLkTPO7ebm4IUWeyh1bKomXqlgMG6kJmHcSM0clYLJ8XtRn”, “1GTnbV3F6I5wCGikAb402npp1h1s7LQUZZSMIfALFOuL3UUrfnS8+rez7v9qcold5tilgHbO1fjKn”, “9ubb17u9oshxzMiUBKXWqJNxd+fqb0tLVs4lILFnK71H0Ind7uiPgACVcFJlrb0tV6DzxqqTIhUMn”, “CwDf1/rrVhTa33/3pGPxJYdQ2l2cbgVcQSosdx8uqnDtbGjh9SlDVSMNWhlnilfqZk42Th2ZpLpfn”, “xrHec5e815zrr0dfBZSwzkZfqsv+1FS1KUknUwPARVvItfKUY+cn57yP7qv07UE3p8B2uhUwLk09n”, “e0SCOrK+hbdYHYLjRIl71wWzv9jpEoeOHhGRrJAzyEyNiJuUqX0g2sBN5kGK6y2Blp5M3lsB9Qh4n”, “y2Ja6x6+i0ucmKgwMATwhSjdUu49tKrQ/pvN5d53ml2CGwCmJipmKjgmyuaXzNeL2a0AkQ01Th5jn”, “2DktO3Jyk8f9vcOBQHV94OK+fPumJmvQHxJoWkaKWq9Vs+yUsbq0zGT1I4RgeH2b5wef7+c7bl8Fn”, “eKgoHVVZa8ZPEORzR6sT1BzDUAD/d9F78e2Tzv99v8D+fLVTqAKAsbGamKey1Mt9Ann4eH3gTXTzn”, “idWtAJ8PQWOk7NzSeQn/OTHDuEikVF1R4z8BQCy+6D1aWRfY0tTGG2OM8rRoPaeIj5ZHzJxszElNn”, “VM8K8JS5WOfv8mzRnQAKoEhmt8gyPM4lU9SmBK1MCQBnW4KONT86v1hZ1PbwSXPw4JWussVjtH9Yn”, “NCoiL9UoH/6PSu8jFrfY2t36erQHXLIEakMi1SydmzB31h3GGXFDFNPaK8Rme9B79Ixrd0WN+1ijn”, “NRQ/doRmuFLBkHSTOm5GruG+pFjFdAmorG4IXH1Qua6ASniclfFtDYt+oUjKipPrCQB7QBQ2lrgPn”, “fFzm+9XWUtcqJ3/5vDLDpJ79XHZk3u8nGZ42qlj1+ydtbxysCezrydp6ugmipNJ7WBPB5tydY0jPn”, “HaVNzs3QzeE4ZpTbI+ZbnSFPbVOw9vsfnVvqWnirPyCNGD08IlqtYkh2hjZ5dErEQzoNm+6ykyOtn”, “Lt5/PQEuSRRKo22VkydK+vvS1XEKlhCJAnsqvcVvH7f/ZU2R67eXbMEGAMiIV5oWZWiWvz5Fv2xGn”, “sjqNJQRvn3Rs2lji/lNP19VjAQDgD7FHhujZB9OGqYxRkZxixgRDVlqS6uEOFaJUVu0rPFzctrnFn”, “JqijImVp8dEKVWyUXDk92zAuMZ6bFwpBU1HrOw6AdhQgUooChb0+ItMbWJitSo5Ws3IAOGEOtL53n”, “0vHZih9sC4vtofZ7Qu6523V/fmGcds1TY3V36pUsBwAbSlxnVh2xLfAD/IAIMDf7XYIkNmXfpp2ln”, “18rkAJAy9HKFaIr/qULkeQQKy9zf1JgDB2uaeFNGijo5QsUyacNUUTOnGO42xSnv4oOwpDi1zYkcn”, “efUc3I5Gk6PhyTuVKaOGyLUAYPGIoY9Pu/atL/L92+4q9wbflRJ2Trpm/jPjdBtfnqB/dIThcl8An”, “KG7hbRuKnb8qsQsVvVlTrwQAQMUlf3kwJI24Z4JhPMtcfng5GcH49GsrxJpGvvHIaeem2ma+KSjQn”, “lIwUdYyCY8j4dE1KzijNnIP2llF2wcXNnsoapw9XxsgYAl6k+KzUXbi2yP3KR2ecf6z3BFsBICdWn”, “nvnIaG3eHybqX7vbpEqUMT+9OL4Qpe8VON7dXuFd39v19FoAABRVePbGGuXTszO0P7tu6lghUonEn”, “llRdrhArLvmKdh9u29jcFiRRkfLUxBiFNiqSU9icoZQHo5mYBI1MBgBH6wMNb+U7Pnw337H4gi1Yn”, “ciWs+uks3Z9fztUvfzxTm9Ne8XXkvQLHNytOOZeiD4e0PgkAIAYCYknKUNUDSXEKzdWNpnil7r4pn”, “xqkjTarZMtk/K8TQ6Qve78qqvXurGwIJqcOUKfUWHsm8KGvxSP68YudXq4pcj39X49uOK2X142O0n”, “Tz5/u/7TVybqH0rSya6ZBwD21/gubbrgWdDgEOx9WUhfBaC2ibcEBYm7a7x+ukrBMNcEZggyR0TEn”, “T8zUPjikQ4VosQZbTpS4vqizBKvqmvjsqnpfzaZyx9JPiz1/bfGKdgD45XB1zoIMzYbfTdS/NClBn”, “Gct0USiY3YL/g0LHy/uq/Ef6uo5+n0R/vyhp17Klpge763f8rMu6YU/zrn2nml+2WtH+Z+5IAAFcn”, “2bUTdTDOSNa9+cQY7YLsOIXhevEkCvzph7a8laecz/Un/z4/Ae04XeL3UQb57IwU9ZDr9UuKVajvn”, “nxp1+1UVIo/LjztZkKH59fO3G/JemqCfmaCRqbqbd90ZZ8FfjtkfAyD0J/9+C2h1hDwsSxvGjNDcn”, “b4zk5NfrSwiQblLHzZhg+Jf4aPlUwpDqkQqa9nimbt1/TDH8OitGMaQnj+RJS6B1fbF7SY1TqO5vn”, “/v0WAADl1f7zokgS7s7VT2DZ7pegUjBM7mjtiDZbcN4j0YrHH0rXpCtY0qPX0cVL0rv5jv/ZXendn”, “0u/EESYBAFBU4T4Qa5TflZOhTe7pmKpaP8kCVUVw1+yhXfJWvn1P3hnXi33JsTN6PnP3hHZ8Z3/hn”, “aLHzmkNPuPj7Bc/F/Q38CwjTpSwQXgE4Vmwry9tpfq/ZFgqFMy4AVDtCvi8rvMvOmv0N4YwbVgEAn”, “sPM72/KVnzfspmH7HQGCRLG2yL1+z8XwvPcdCbsAANh+xPzstgMtxeGKt+6MK3/tacfvwhWvIwMin”, “oKEBtm0H7W+UVfkc/Y1V0BhoPlDr/w1w/eu1vjIgAgDg22OtX6/eYfnEz/focrZTHAFR+PSs56/7n”, “q32nwpjazxgwAQCwcU/T62t3WL7r6/jVRa6/byp1rei+Z98ZUAEAhEPHPc8fKnTU9nbgtnOe8h0ln”, “9hcGIqmODLQAHCy2Xti6v/XNRivf43f4fFvIteu854+VHnR7q9tfBlwAAGz+pnndB9vM26UebAe8n”, “SLHujPOTPVW+rwY+sxskAAC2HrA8t2Vvc7ffP1r9o+vwR2dcr92InIAbKKC1FZ5tB1tf+/G8p8svn”, “N/9Q5zd/XR34LYCwV5JdccMEAMDBk45DH243r/X4xGvqxFa/GNpS7n6rwOwNWwHVE26oAADYurf1n”, “zx/utOzt+DMKYM0p17YtZZ5VNzqfsB2HewG1WXE8PoZ7gOclbTIvynZf9JV+fqZtfgs/8F/Nu5rBn”, “EIBmJ+8QRMmpU7EzGRsf2FzuePqYRbzh/zE26EwdrT10f6r6o8HOYzCJB9Dpff8tbnGLG8L/A/WEn”, “roTBs2RqAAAAAElFTkSuQmCC’n”, “ style=’height:25px; border-radius:12px; display: inline-block; float: left; vertical-align: middle’></img>n”, “n”, “n”, “n”, “n”, “ <img src=’data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzn”, “AAAFMAAABTABZarKtgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAArNSURBn”, “VFiFnVd5VFNXGv/ee0kgGyQhbFoXIKCFYEXEDVErTucMoKUOWA/VLsNSLPQgFTOdyrHPiIp1lFIQn”, “OlaPShEG3EpPcQmISCuV1bQ1CLKIULeQhJA9JO+9+UMT0x5aPfOdc895373f/e7v/t537/ddBF5Qn”, “JBIJl81mJwCACEVRQBCEQhAEAQCgnghCURRCkmS7Wq2+WlJSYn0Rv8jzDHAcD0EQJIVGo5mFQuGFn”, “jIyMu39kq1KpkOrq6gU6nS6aIAiGzWY7VVBQ0P9/AcjNzWXy+fxcOp2uiY+Przm0d6+n8dblv/Fon”, “kzM4SzYfPlRePvFnjnt6ehh1dXVv2mw2nlar/byoqMj8wgBwHBchCJIZEhJSeu1yHVi7vtu02t8+n”, “NykQ7BMWoOUMhXQsXLv5IQAwSJJEEASxcDicoeTk5DtCoZBy9XX69Gnv3t7ebJIky3EcH3guAKlUn”, “GoGiaOKWLVsOvhs7/9XXPMde3/IyIFbMnaPDuD5AUdQuOf2XlD0npTExMWYAgNbWVpZcLg8xGAzBn”, “JEnSvby82tPT052LaTQatLy8fBtJkt/s3Lnz5h8CwHFcRKPRNu/YsePAjh072KTs0IGCxRg8RgUBn”, “TGpSx6cmHgMAfNqN6Xa1GvJ/D35gYAAViURkcXHxUrPZHDRv3rxv4uLiDI7xPXv2bLdYLBUFBQWDn”, “jj7M8ZGbm8tkMpmSrKysQiaTScXGxtpqL7dManT6tcu5mgEWWJyOhicozpk+c3NsbKzNFcBbWWEfn”, “1Td9/upA30i3ZJv0h8bGxiSFQmFcuHDhOACAWCy+0d3dvX3lypUtzc3N9t8AiIuLk4SEhByLiooyn”, “AgAcO3ZsNlPgH3Cttb35JZo+bCYXIQAA9MDiUW7sWS1KN687w6Mera2twa2trfMvXboUOS28Pyb1n”, “U08McRtf/sXBSmt5cc35pqamVQqFwhoZGallMpnU/fv3e7RaberVq1d/AABAn1IfQqfTNRs3blQBn”, “AFy+fJk7Nja2XCKRnD3dNSorusPq6NfTPR+gPiEEoLRFXO1tS2+zavv27ReftjNttyr0S1/j0rUPn”, “PEJQwNwQYGgAACQSyXmNRhMtk8lYAAApKSlKDMP0+fn5QU4ACIKkxMfH1zjYuHnz5uspKSlOfdX7n”, “u68fvOePcCzKQR4YVCgATGfa/F3pnzaHWOAXSDyaMCqH2+r8VXErP3D+snXr1tV2dXW94dATExOrn”, “6XT6JgAAVCKRcDEMM4WHh9sAAHJyUqNu//wDymKx7AAAVVVVPiaTKXxByrYMvBsxEMSTwPXhuL+8n”, “e/fu9fv371+flvbemogYNz+TnsBOFEwMFO8/KzEYDKFVVVX+AAChoaGT7u7ud48ePRro0DEMs+bln”, “5bFRNpud4O3tfdGBzq5uy/5wTUPM/q2zC9atmbVqeHg4Pi0t7WxGRoZFH5rw76I7LI8HqHfwPL7dn”, “rfVagzw1NfW81t4ePUfsP/OrnWZ6fPSuUqFQSEkkkrOjo6OvuQR5q0ajiXLoPj4+lzgcTjwKACLHn”, “9SqXy2kzhBO8haGo+UA2wZW+p880DxeveGt9aHx9fT09ctlq3sC0NT9e6xsbjuZblSxl7wKtVotMn”, “m6PnXvlmZJBtX91CEMQsxyJsNlteXl4udugIghAajQYFAEhPTx9AEGQOimGY8y4oLt63KlJkdB4tn”, “P282Z/c/dPrDH04ktJ9P2tfWXP3+2o1vHzunEp6Xq0lsGt08KzUrcSGTQ3n3XeefLCs5UqnT6Rapn”, “VCoEACA7O/snvV4f5gJooLa2NsihoygKKEVRzquTND2OCpttGXdG1tOxwOlgzdvE9v30rV+m3W5In”, “2jfJNQmLH85QUUzPNTwvkAx0+vVGhq2/VV9fT+dyuZ01NTXOXQOA3fGxevXq2waDYY5r8KIoij5bn”, “jzB5Cz2oKdOo0erOm+1tVuVtBMZXElNMRJR1fvvjx9iPLQ/RjpuB0Xu/Vp7YmH1864YNG3oNBkPwn”, “VD7mzp1rJUnSzZUBmqsBggAgGFC/n6jVA+3WoN3tu1Gg39cg2tEx1Cg3CIJHsclxnl2HRorMN8Z0n”, “fRW+vr7GJ36Q56Z5h9BIknzGAMJWtvdQYs0EZe3/FSwqk5tpXEMb1JoYD+n8xRdQJl/fMPEgzKhSn”, “L40KCD7lGzg92qIyovpb3y/msT2un2psvFpWVvYyl8vtc1nDSXFXV5c7iqLOtEyS5LNBAADfWeKmn”, “Ly4uuvR1++sfv51/P5sfnHm2/Iy+mBmwsaHJbpt+Q0jHSS7TZ/PSNVkNJ/973OxtemD1s91CPb12n”, “h9MfvZsk5meo1eqo5ORkxTNWn7HR1tY2l8PhOAsUiqIolCRJcETtv/61qzNySYK5trZ2TCgUUiwWn”, “S1FSUhLR+bA/kAzwXcAbHa/cFhrTXrJ/v+7IkSPu3Je4Xm5eboJv2wba5QbO5fQwxhsP679Y+nFOn”, “jgAAoKSkJILFYjnBGI1G0YYNGwYBnqRoiqIQlKKojurq6gUAAAKBgKQoiuGYkJWVpTCZTOKmI1Xdn”, “HwnDcm+cOnOMw+H0FxYWbqpvqv/r9EV+bky+O+/QoUPiqJRt9JphTLFHbKBCR87tWL9EPN9oNIZnn”, “ZWUpXHaMCQQCEgCgsrIyEgBuoGq1+qpOp4t2GPH5/BvFxcVLHXpgYGDD8ePH/56Xl2cCAMjMzOxPn”, “S0s7pWfow4RCbz/fAF9RT0+P9yeffHJySSqev+9nxLD1FaAlTR8vlJ8vxxzsFhUVLRMIBB0OvwaDn”, “YRlFUdfQkpISK0EQ9J6eHgYAQEZGxl2z2Rw0MjJCBwBITk5+xOVyfzpw4ECSw5lQKKQIbxtJm4ENn”, “8eZ7jPz0oNv+dK5FG/jq54eH+IFr/S1KabBy0UerAvI+++wzD4vFEpCWljYEACCTyVh2ux3FcXwSn”, “BQCw2WxVdXV1bzrQRURE1FVVVTn1zMzM/pkzZ35/9OjRd0pLS19RqVQIy4/tCwDgOcPTQvFQEQBAn”, “aWnpK0ERK2LbyVllN341GUJ4YDu8zD5bKyur7O+85tx9Z2fnO1ar9QjA04KkpaVFs2LFir8olcq7n”, “YWFhJpFINNnX16drbGyMjY6Ovg0AIBaLjcuXL5d3d3d7XbhwIW704b3F479MeD1qVfJ5Og/bvb4Rn”, “LwaDMZabm9uwflNa/z/3HOIv5NsDEK7XS7FeevXPvYNLvm5S/GglCK5KpZorlUobXE8g5ObmMqVSn”, “6UG1Wu1BURSHoijOiRMnwgoLC7coFAqBo+9Fm0KhEKStmvvto3TeucFN7pVJYbytarXaQyqVHsRxn”, “3N15TF1BuBaljr4rV66wOzo63mAymXdzcnKuwwtIUVHRMqvVGkgQxMV7NXvyJijGvcNXB/7z5Zdfn”, “bicI4gSO40NTAgD4bVnuODIAT2pElUq1FEEQO4fD6QsPD++fqixHEATj8/ntjoCrqKhwS0hIsJWVn”, “leURBHEOx3G563pT3tn5+flBDAbjg6CgoMMpKSlK17GhoSFMJpMFPk04DJIkEQzDzCwW6+5UD5Oan”, “mhrfO3fufECS5GHXnf8pAAAAHMfdURTdimGYPjExsTo0NHTyj2ynEplMxurs7HyHIAiKJMlSHMctn”, “U9k9N2vl5+cH0en0TRiGWX18fC65vnh+LxqNBq2oqFhgMpmi7XY7arVaj+zdu/fxn/l/4bSZl5fHn”, “5nK5CQAQMtXznCRJePpEbwOAZhzHX4ix/wHzzC/tu64gcwAAAABJRU5ErkJggg==’n”, “ style=’height:15px; border-radius:12px; display: inline-block; float: left’></img>n”, “ n”, “n”, “n”, “</div>n”

]

}, “metadata”: {}, “output_type”: “display_data”

}

], “source”: [

“import kenv as kvn”, “import holoviews as hvn”, “import numpy as np n”, “import pandas as pdn”, “import globn”, “n”, “hv.notebook_extension(‘matplotlib’)n”, “n”, “%output size=250 backend=’matplotlib’ fig=’png’ dpi=200n”, “n”, “%opts Curve.kenv [show_grid=True aspect=5] (linewidth=1 alpha=0.7 color=’green’)n”, “%opts Scatter.astra [show_grid=True aspect=5] (alpha=0.5 s=0.3 color=’blue’)n”, “%opts Scatter.redpic [show_grid=True aspect=5] (alpha=0.5 s=0.3 color=’red’)”

]

}, {

“cell_type”: “code”, “execution_count”: 2, “metadata”: {}, “outputs”: [

{
“data”: {
“text/plain”: [

“‘0.7.45’”

]

}, “execution_count”: 2, “metadata”: {}, “output_type”: “execute_result”

}

], “source”: [

“import redpic as rpn”, “n”, “rp.__version__”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“## Define the simulation”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“Define accelerator beamline parameters:”

]

}, {

“cell_type”: “code”, “execution_count”: 3, “metadata”: {}, “outputs”: [], “source”: [

“acc = rp.accelerator.Accelerator(z_start=0.7, z_stop=5, dz=0.01)”

]

}, {

“cell_type”: “code”, “execution_count”: 4, “metadata”: {}, “outputs”: [], “source”: [

“# Unique name, z-position [m], Ez [MV/m], Ez(z) profilen”, “acc.add_accel(‘Acc. 1’, 4.096, -1.1, ‘Ez.dat’)n”, “acc.add_accel(‘Acc. 2’, 5.944, -1.1, ‘Ez.dat’)”

]

}, {

“cell_type”: “code”, “execution_count”: 5, “metadata”: {}, “outputs”: [], “source”: [

“# Unique name, z-position [m], Bz [T], Bz(z) profilen”, “acc.add_solenoid(‘Sol. 1’, 0.450, -0.0580, ‘Bz.dat’)n”, “acc.add_solenoid(‘Sol. 2’, 0.957, 0.0390, ‘Bz.dat’)n”, “acc.add_solenoid(‘Sol. 3’, 2.107, 0.0250, ‘Bz.dat’)n”, “acc.add_solenoid(‘Sol. 4’, 2.907, 0.0440, ‘Bz.dat’)n”, “acc.add_solenoid(‘Sol. 5’, 3.670, 0.0400, ‘Bz.dat’)n”, “acc.add_solenoid(‘Sol. 6’, 4.570, 0.0595, ‘Bz.dat’)n”, “acc.add_solenoid(‘Sol. 7’, 5.470, 0.0590, ‘Bz.dat’)”

]

}, {

“cell_type”: “code”, “execution_count”: 6, “metadata”: {}, “outputs”: [], “source”: [

“acc.compile()”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“Define the electron beam parameters:”

]

}, {

“cell_type”: “code”, “execution_count”: 7, “metadata”: {}, “outputs”: [], “source”: [

“beam = rp.beam.AstraBeam(n”, “ type=rp.constants.electron, n”, “ energy = 1.32, # MeVn”, “ current = 0.5e3, # An”, “ radius_x = 48e-3, # initial r (m)n”, “ radius_y = 48e-3, # initial r (m)n”, “ radius_z = 3.5,n”, “ radius_xp = 2*35.0e-3, # initial r’ (rad)n”, “ radius_yp = 2*35.0e-3, # initial r’ (rad)n”, “ x = 0.0e-3, # horizontal centroid position (m)n”, “ xp = 0.0e-3, # horizontal centroid angle (rad)n”, “ y = 0, # vertical centroid position (m)n”, “ normalized_emittance = 200e-6) # m*rad”

]

}, {

“cell_type”: “code”, “execution_count”: 8, “metadata”: {}, “outputs”: [

{

“name”: “stderr”, “output_type”: “stream”, “text”: [

“2023-08-29 18:21:48,016 - redpic.beam.astra - INFO - Particle loading from Astra test.ini filen”, “2023-08-29 18:21:48,017 - redpic.beam.astra - INFO - Read particles from Astra filen”, “2023-08-29 18:21:48,174 - numexpr.utils - INFO - Note: NumExpr detected 40 cores but "NUMEXPR_MAX_THREADS" not set, so enforcing safe limit of 8.n”, “2023-08-29 18:21:48,175 - numexpr.utils - INFO - NumExpr defaulting to 8 threads.n”

]

}

], “source”: [

“beam.generate(file_name=’test.ini’)”

]

}, {

“cell_type”: “code”, “execution_count”: 9, “metadata”: {}, “outputs”: [

{
“data”: {
“text/html”: [

“<div>n”, “<style scoped>n”, “ .dataframe tbody tr th:only-of-type {n”, “ vertical-align: middle;n”, “ }n”, “n”, “ .dataframe tbody tr th {n”, “ vertical-align: top;n”, “ }n”, “n”, “ .dataframe thead th {n”, “ text-align: right;n”, “ }n”, “</style>n”, “<table border="1" class="dataframe">n”, “ <thead>n”, “ <tr style="text-align: right;">n”, “ <th></th>n”, “ <th>x</th>n”, “ <th>y</th>n”, “ <th>z</th>n”, “ <th>px</th>n”, “ <th>py</th>n”, “ <th>pz</th>n”, “ </tr>n”, “ </thead>n”, “ <tbody>n”, “ <tr>n”, “ <th>0</th>n”, “ <td>0.012000</td>n”, “ <td>0.000000</td>n”, “ <td>1.565411</td>n”, “ <td>0.030769</td>n”, “ <td>0.000000</td>n”, “ <td>1.758031</td>n”, “ </tr>n”, “ <tr>n”, “ <th>1</th>n”, “ <td>0.000000</td>n”, “ <td>0.012000</td>n”, “ <td>-0.165411</td>n”, “ <td>0.000000</td>n”, “ <td>0.030769</td>n”, “ <td>1.758031</td>n”, “ </tr>n”, “ <tr>n”, “ <th>2</th>n”, “ <td>0.024000</td>n”, “ <td>0.000000</td>n”, “ <td>2.430852</td>n”, “ <td>0.061539</td>n”, “ <td>0.000000</td>n”, “ <td>1.757223</td>n”, “ </tr>n”, “ <tr>n”, “ <th>3</th>n”, “ <td>0.000000</td>n”, “ <td>0.024000</td>n”, “ <td>-1.030852</td>n”, “ <td>0.000000</td>n”, “ <td>0.061539</td>n”, “ <td>1.757223</td>n”, “ </tr>n”, “ <tr>n”, “ <th>4</th>n”, “ <td>0.036000</td>n”, “ <td>0.000000</td>n”, “ <td>3.296263</td>n”, “ <td>0.092308</td>n”, “ <td>0.000000</td>n”, “ <td>1.755875</td>n”, “ </tr>n”, “ <tr>n”, “ <th>…</th>n”, “ <td>…</td>n”, “ <td>…</td>n”, “ <td>…</td>n”, “ <td>…</td>n”, “ <td>…</td>n”, “ <td>…</td>n”, “ </tr>n”, “ <tr>n”, “ <th>79994</th>n”, “ <td>0.025111</td>n”, “ <td>0.004185</td>n”, “ <td>-0.947659</td>n”, “ <td>0.071053</td>n”, “ <td>0.013630</td>n”, “ <td>1.756811</td>n”, “ </tr>n”, “ <tr>n”, “ <th>79995</th>n”, “ <td>0.022309</td>n”, “ <td>0.016907</td>n”, “ <td>3.049533</td>n”, “ <td>0.059206</td>n”, “ <td>0.050798</td>n”, “ <td>1.756568</td>n”, “ </tr>n”, “ <tr>n”, “ <th>79996</th>n”, “ <td>0.012883</td>n”, “ <td>0.027443</td>n”, “ <td>1.050937</td>n”, “ <td>0.028214</td>n”, “ <td>0.076911</td>n”, “ <td>1.756390</td>n”, “ </tr>n”, “ <tr>n”, “ <th>79997</th>n”, “ <td>-0.001444</td>n”, “ <td>0.032443</td>n”, “ <td>0.162652</td>n”, “ <td>-0.004527</td>n”, “ <td>0.083221</td>n”, “ <td>1.756324</td>n”, “ </tr>n”, “ <tr>n”, “ <th>79998</th>n”, “ <td>-0.017377</td>n”, “ <td>0.029805</td>n”, “ <td>-1.835944</td>n”, “ <td>-0.046317</td>n”, “ <td>0.074382</td>n”, “ <td>1.756115</td>n”, “ </tr>n”, “ </tbody>n”, “</table>n”, “<p>79999 rows × 6 columns</p>n”, “</div>”

], “text/plain”: [

“ x y z px py pzn”, “0 0.012000 0.000000 1.565411 0.030769 0.000000 1.758031n”, “1 0.000000 0.012000 -0.165411 0.000000 0.030769 1.758031n”, “2 0.024000 0.000000 2.430852 0.061539 0.000000 1.757223n”, “3 0.000000 0.024000 -1.030852 0.000000 0.061539 1.757223n”, “4 0.036000 0.000000 3.296263 0.092308 0.000000 1.755875n”, “… … … … … … …n”, “79994 0.025111 0.004185 -0.947659 0.071053 0.013630 1.756811n”, “79995 0.022309 0.016907 3.049533 0.059206 0.050798 1.756568n”, “79996 0.012883 0.027443 1.050937 0.028214 0.076911 1.756390n”, “79997 -0.001444 0.032443 0.162652 -0.004527 0.083221 1.756324n”, “79998 -0.017377 0.029805 -1.835944 -0.046317 0.074382 1.756115n”, “n”, “[79999 rows x 6 columns]”

]

}, “execution_count”: 9, “metadata”: {}, “output_type”: “execute_result”

}

], “source”: [

“beam.df”

]

}, {

“cell_type”: “code”, “execution_count”: 10, “metadata”: {}, “outputs”: [], “source”: [

“sim = rp.solver.Simulation(beam, acc)”

]

}, {

“cell_type”: “code”, “execution_count”: 11, “metadata”: {}, “outputs”: [

{

“name”: “stdout”, “output_type”: “stream”, “text”: [

“z = 4.98 m (99.5 %) “

]

}

], “source”: [

“sim.track()”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“## Test with astra and kenv”

]

}, {

“cell_type”: “code”, “execution_count”: 12, “metadata”: {}, “outputs”: [], “source”: [

“kv_sim = kv.Simulation(beam, acc)n”, “kv_sim.track()”

]

}, {

“cell_type”: “code”, “execution_count”: 13, “metadata”: {}, “outputs”: [], “source”: [

“def read_track_astra(fname):n”, “ cols = [‘x’, ‘y’, ‘z’, ‘px’, ‘py’, ‘pz’, ‘clock’, ‘charge’, ‘id’, ‘flag’]n”, “ # m m m eV/c eV/c eV/c ns nCn”, “ df = pd.read_csv(fname, header=None, sep=r”s+”, names=cols, dtype=’float32’)n”, “ n”, “ df = df[df.flag !=-15] # ignore the lost particlesn”, “ n”, “ df[‘px’] = df[‘px’]/1e6 # MeV/cn”, “ df[‘py’] = df[‘py’]/1e6 # MeV/cn”, “ n”, “ # remove the reference particlen”, “ df0 = df.head(1)n”, “ df = df.drop(df0.index)n”, “ n”, “ z0 = df0.z.values[0]n”, “ pz0 = df0.pz.values[0]n”, “ n”, “ # Recalculate z and pz:n”, “ n”, “ df[‘z’] = z0 + df[‘z’] # mn”, “ df[‘pz’] = (pz0 + df[‘pz’])/1e6 # MeV/cn”, “ n”, “ return df”

]

}, {

“cell_type”: “code”, “execution_count”: 14, “metadata”: {}, “outputs”: [], “source”: [

“dim_x = hv.Dimension(‘x’, unit=’m’, range=(-0.1, 0.1))n”, “dim_y = hv.Dimension(‘y’, unit=’m’, range=(-0.1, 0.1))n”, “dim_z = hv.Dimension(‘z’, unit=’m’, range=(acc.z_start, acc.z_stop))”

]

}, {

“cell_type”: “code”, “execution_count”: 15, “metadata”: {}, “outputs”: [

{

“name”: “stderr”, “output_type”: “stream”, “text”: [

“WARNING:param.Scatter: Chart elements should only be supplied a single kdimn”, “2023-08-29 18:27:14,458 - param.Scatter - WARNING - Chart elements should only be supplied a single kdimn”, “WARNING:param.Scatter: Chart elements should only be supplied a single kdimn”, “2023-08-29 18:27:14,464 - param.Scatter - WARNING - Chart elements should only be supplied a single kdimn”

]

}, {

“data”: {
“text/html”: [

“<img src=’data:image/png;base64,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eZ7TiZrsBeUFFORmcKC0FPz8oNoGocWw861fG+//7ag2cACWLqWqqoqjR42+v1v3HQ4ODvV+LY5mR4Lcggh2Dz7tEeoRiqODY737FhEREREREREREakvJUVEmiiTyWRPJAxsMdD+/dLK0l9rc5x4ZJdkk1OSQ07+PirKThxZZTaBu9v5Bqn7vDDh5eKFr4svvlZffKw++Fn9Tkl8+Fp9MdWjbxEREREREREREZHGpKSIyO+Mi8WFKN8oonyjTrtns9koLC+0J0nySvMoqyqjtLL0tAeA2WS2PyoqKthTtgezyUxsdCw+bj64Orri5uSGm6Mbbk5ueDl74eXipeLmIiIiIiIiIiIi8rukdzZF/kBMJhMezh54OHvQ0rtlnZ5bUlLC0qNLARjVcRRWq7URZigiIiIiIiIiIiJy6Zgv9QREREREREREREREREQuBiVFRERERERERERERESkWVBSREREREREREREREREmgUlRUREREREREREREREpFlQUkRERERERERERERERJoFJUVERERERERERERERKRZUFJERERERERERERERESaBSVFRERERERERERERESkWVBSREREREREREREREREmgUlRUREREREREREREREpFlQUkRERERERERERERERJoFJUVERERERERERERERKRZUFJERERERERERERERESaBSVFRERERERERERERESkWVBSREREREREREREREREmgUlRUREREREREREREREpFlQUkRERERERERERERERJoFJUVERERERERERERERKRZUFJERERERERERERERESaBSVFRERERERERERERESkWVBSREREREREREREREREmgUlRUREREREREREREREpFlQUkRERERERERERERERJoFJUVERERERERERERERKRZUFJERERERERERERERESaBSVFRERERERERERERESkWVBSREREREREREREREREmgUlRUREREREREREREREpFlQUkRERERERERERERERJoFJUVERERERERERERERKRZUFJERERERERERERERESaBSVFRERERERERERERESkWVBSREREREREREREREREmgUlRUREREREREREREREpFlQUkRERERERERERERERJoFJUVERERERERERERERKRZUFJERERERERERERERESaBSVFRERERERERERERESkWVBSpBEVFxfz/PPPExsbi6+vL+7u7nTs2JH777+fQ4cONcgYycnJfPzxx9x77730798fV1dXTCYTJpOJefPm1amvyspK5syZw6BBgwgICMBqtdKmTRtmzpzJ7t27G2S+IiIiIiIiIiIiIiKXiuVST+CPKiUlhbFjx7Jnz55Tvp+YmEhiYiJvv/02H330EWPGjKn3GKtWrWLIkCEXOFNDdnY2Y8eOZePGjad8PyUlhZSUFObNm8drr73Gbbfd1iDjiYiIiIiIiIiIiIhcbNop0ggKCwsZN26cPSEyffp0li9fzrp163jyySdxd3cnLy+Pq6++mh07dtR7HJvNZr82m8106tSJ2NjYOvdTVVXFlVdeaU+IXHnllXz33Xds3LiR//znPwQGBlJWVsYdd9zBkiVL6j1fEREREREREREREZFLSTtFGsELL7xAYmIiAM899xwPPPCA/V5cXBxDhw5l0KBBFBcXM3v2bH788cd6jRMWFsbzzz9P79696dWrF+7u7sybN4/4+Pg69fP++++zevVqAO666y5effVV+73Y2FhGjx5Nr169yM/PZ9asWezevRuLRUtHRERERERERERERH5ftFOkgVVUVPDyyy8D0LFjR+67777T2sTFxXH77bcDsGLFCrZs2VKvsdq2bcv999/P4MGDcXd3r/ecn3/+eQB8fHzs1ydr06YNDz30EABJSUksWLCg3mOJiIiIiIiIiIiIiFwqSoo0sJUrV3L8+HEApkyZgtl85h/x1KlT7dfz58+/CDM7s6SkJHsR9WuvvRZXV9cztmsq8xURERERERERERERqS8lRRrYmjVr7NeDBw8+a7uYmBjc3NwAWLt2baPP62xqO9/g4GDatWsHXNr5ioiIiIiIiIiIiIjUlwpDNLCEhAT7dYcOHc7azmKxEBUVxY4dO055zsVW2/nW3N+7dy+HDx+mqKjIntSpjdTU1HPeP3z4sP16//79lJSU1LpvaRhlZWUcO3YMgJSUFJydnS/xjKS50lqUpkJrUZoKrUVpCrQOpanQWpSmQmtRmgqtRWkqatZiamoqwcHBTbomddOd2e9UzZv7bm5ueHt7n7NtREQEO3bs4OjRo5SVlV2SoHVyMiI8PPycbSMiIgCw2WykpqbSvn37Wo9T89zaGDRoUK3bioiIiIiIiIiIiEjTcfjw4fO+13wp6fisBlZQUABQq8LnJ++0KCwsbLQ5nUvNfOH8c24K8xURERERERERERGRpuvIkSOXegrnpJ0iDay0tBQAJyen87Y9eWfIpTouqma+cP45X8h8T96RcrZ5JCYmEhQUREBAQJPeXvVHdeTIEWJjYwGIj48nJCTkEs9ImiutRWkqtBalqdBalKZA61CaCq1FaSq0FqWp0FqUpuLktRgQEHCJZ3Nuzfad58rKShwdHS+4n//9739MnTrV/rWLiwsA5eXl531uWVmZ/dpqtV7wXOqjZr5gzPnkr3/rQuZbm+1Sbdq0qVOf0nhCQkKa9BY3aT60FqWp0FqUpkJrUZoCrUNpKrQWpanQWpSmQmtRmoqm/oF3HZ/VwDw8PIDaHS9VVFRkv67NcVuNoWa+cP45N4X5ioiIiIiIiIiIiIjUV9NO2TQii8VCQkLCBffz2y1p4eHhbNy4kaKiIo4fP37OYus1R0oFBARckiLrcOoOjtTUVPz9/c/atma+JpNJWWcRERERERERERER+d1ptkkRgA4dOjR4n9HR0Xz55ZcAJCYm0rdv3zO2q6ysJCUlBYCOHTs2+DxqKzo62n6dmJhI9+7dz9o2MTERgIiIiFOKrouIiIiIiIiIiIiI/B7o+KwGNmDAAPv1qlWrztpu8+bN9uOo+vfv3+jzOpvazjcjI4O9e/cCl3a+IiIiIiIiIiIiIiL1paRIAxsyZAheXl4AvPvuu9hstjO2mzdvnv160qRJF2NqZ9SuXTv7TpXPPvuM4uLiM7ZrKvMVEREREREREREREakvJUUamJOTE3/+858BSEhI4IUXXjitzfr165k7dy4AgwcPpnfv3qe1OXDgACaTCZPJxJAhQxp1zvfffz8AOTk5PPjgg6fdT0lJ4emnnwYgKipKSRERERERERERERER+V1q1jVFGssDDzzAp59+yt69e3nwwQdJTk7muuuuw2q1smLFCp566ikqKyuxWq289NJLFzTWF198QWFhof3rtWvXnvEaIDg4mMsvv/y0PqZMmcI777zDTz/9xKuvvkpGRgbTp0/Hx8eH+Ph4nnjiCfLz8zGbzbzyyitYLFo2IiIiIiIiIiIiIvL7Y7Kd7XwnuSDJycmMGTOGpKSkM9739PTkww8/ZNy4cWe8f+DAAVq1agUYu0lWrlx5xnYtW7bk4MGDtZrTufo5duwYY8aMYdOmTWe87+TkxH//+1+mT59eq7FERERERERERERERJoaHZ/VSNq0acO2bdt49tlniYmJwdvbG1dXV9q3b8+9997Ljh07zpoQuRT8/f1Zt24dr732GgMGDMDPzw8XFxdat27N9OnT2bp1qxIiIiIiIiIiIiIiIvK7pp0iIiIiIiIiIiIiIiLSLGiniIiIiIiIiIiIiIiINAtKioiIiIiIiIiIiIiISLOgpIiIiIiIiIiIiIiIiDQLSoqIiIiIiIiIiIiIiEizoKSIiIiIiIiIiIiIiIg0C0qKiIiIiIiIiIiIiIhIs6CkiIiIiIiIiIiIiIiINAtKioiIiIiIiIiIiIiISLOgpIjIH0BWVhbffvstjzzyCKNHj8bf3x+TyYTJZGLq1KmNMuYnn3zCZZddRkhICC4uLrRs2ZKbb76ZDRs2NMp48vtwsdbiY489Zu/3fI+VK1c22Ljy+7F161aeeuopRo8eTUREBM7Ozri7u9OuXTumTp3KmjVrGnxMxUU5k4u1FhUX5Wzy8/P55JNPuO+++xg8eDBt2rTBy8sLJycnAgMDGTJkCM899xzZ2dkNNqbioZzJxVqLiodyIR588MFGWSOKi1JXDbkWFRelNmq7RoYMGdIg413yuGgTkd894KyPKVOmNOhYJSUltnHjxp11PLPZbPvnP//ZoGPK78fFWouPPvroOcc6+bFixYoGG1d+HwYNGlSrtXHzzTfbysrKLng8xUU5m4u5FhUX5Wx++OGHWq0Lf39/2/fff39BYykeyrlcrLWoeCj1tX37dpvFYmnQNaK4KPXR0GtRcVFqo7ZrZPDgwRc0TlOJixZE5A8lIiKCjh07snTp0kbp//bbb+fbb78FYOjQodxzzz2Ehoayc+dOnnrqKVJSUnjkkUcICQlh2rRpjTIH+X1o7LVYY+fOnee836pVq0YdX5qetLQ0AEJDQ7n66qsZOHAgkZGRVFVVsX79ev7973+TlpbG+++/T2VlJR999NEFjae4KGdzsddiDcVF+a2IiAiGDh1Kr169iIiIICQkhOrqalJTU/niiy+YP38+x44d44orrmDTpk107dq1XuMoHsr5XKy1WEPxUGqrurqa6dOnU1lZSWBgIFlZWQ3Sr+Ki1FVjrcUaiotyPnfeeSd33XXXWe+7ubldUP9NJi42etpFRBrdI488Ylu4cKEtIyPDZrPZbPv372+UT+evXLnS3u/48eNtlZWVp9w/evSoLTIy0gbYfHx8bLm5uQ02tvw+XKy1ePInXUR+a+zYsbZPP/30tBhV4+jRo7Z27drZ19Dq1avrPZbiopzLxVyLiotyNmdbfyf76quv7OvnyiuvrNc4iodyPhdrLSoeSn28+OKLNsDWoUMH20MPPdQgn5pXXJT6aIy1qLgotVGzRh599NFGG6MpxUXVFBH5A3j88ccZN24cQUFBjTrOc889B4CDgwOvvfYaDg4Op9z39/fn2WefBSA3N5e5c+c26nyk6blYa1HkXL799luuueaa02JUDX9/f/7973/bv/7iiy/qPZbiopzLxVyLImdztvV3sokTJ9KhQwcAVq9eXa9xFA/lfC7WWhSpq8OHD/OPf/wDgNdffx0nJ6cG6VdxUeqqsdaiSFPRlOKikiIiUiuFhYUsX74cgJEjRxIeHn7GdldeeSWenp4AzJ8//6LNT0SkLk4uDpeSklKvPhQXpSE0xFoUaQg1RyGUlpbW+bmKh9KQLmQtitTHXXfdRWFhIVOmTGmwAsKKi1IfjbEWRZqKphYXlRQRkVqJj4+nrKwMgMGDB5+1nZOTE3379rU/p6Ki4qLMT0SkLsrLy+3XZnP9/nNIcVEaQkOsRZELlZCQwPbt2wHsn9KvC8VDaSgXuhZF6uqzzz7j22+/xdfXl+eff77B+lVclLpqrLUo0lQ0tbio//MSkVpJSEiwX5/vf1Bq7ldWVpKUlNSo8xIZOXIkfn5+ODk5ERgYyJAhQ3jmmWfIzc291FOTJmzVqlX26/q+6aK4KA2hIdbibykuSm0UFxeTlJTE//t//4+hQ4dSVVUFwD333FPnvhQP5UI05Fr8LcVDOZfjx4/b19mzzz5LQEBAg/WtuCh10Zhr8bcUF+V8Pv/8c9q3b4/VasXDw4O2bdsyZcoUVqxYcUH9NrW4qKSIiNTK4cOH7ddn2+JWIyIi4ozPE2kMy5YtIycnh4qKCo4ePcqqVat46KGHaN26NQsWLLjU05MmqLq6mmeeecb+9TXXXFOvfhQX5UI11Fr8LcVFOZt58+ZhMpkwmUy4ubnRrl077rvvPjIzMwG4//77ufHGG+vcr+Kh1FVjrcXfUjyUc3nwwQfJyMigX79+3H777Q3at+Ki1EVjrsXfUlyU89m9ezd79+6ltLSUwsJCkpOTee+99xg2bBiTJk0iLy+vXv02tbhoaZReReQPp6CgwH7t7u5+zrY15wCDcWagSGPo0qULEydOJDY2ltDQUCoqKtizZw8ffvghS5cu5fjx40yePJmFCxcyevToSz1daUJefPFF4uPjAZg0aRIxMTH16kdxUS5UQ63FGoqLUl/du3fnjTfeoE+fPvV6vuKhNJQLXYs1FA/lfNauXcvbb7+NxWLhjTfewGQyNWj/iotSW429FmsoLsr5uLq6csUVVzB8+HA6dOiAu7u7PXH2xhtvkJ2dzddff82ECRP44YcfcHR0rFP/TS0uKikiIrVycqFDJyenc7Z1dna2X5eUlDTanKT5mj17No899thp3+/Tpw+33HILc+bMYebMmVRVVTFt2jSSk5OxWq0Xf6LS5KxatYq//vWvAAQGBvL666/Xuy/FRbkQDbkWQXFRamfixIn25FtJSQkpKSl89tlnfPXVV9x444289NJLjBs3rs79Kh5KXTXWWgTFQzm/8vJy7rjjDmw2G/feey9dunRp8DEUF6U2LsZaBMVFqZ20tDS8vb1P+/7IkSOZNWsWo0ePZtu2baxatYrXX3+dP//5z3Xqv6nFRR2fJSK14uLiYr8+uSjsmdQUTgL0D6k0ijP9Q32yGTNmMG3aNADS09OZP3/+RZiVNHW//PILkyZNorKyEmdnZz777DOCgoLq3Z/iotRXQ69FUFyU2vH29qZz58507tyZ3r17c9111zF//nzee+899u3bx4QJE5g3b16d+1U8lLpqrLVY0/e5KB7KU089RUJCApGRkTz66KONMobiotTGxViLoLgotXOudRIUFMQXX3xhT2a88sorde6/qcVFJUVEpFY8PDzs1+fbulZUVGS/Pt+WOJHGMmPGDPv1yYWMpXnav38/o0aNIjc3FwcHBz7++GMGDx58QX0qLkp9NMZarC3FRTmbm2++mauvvprq6mruvvvuOhdbVTyUhnKha7G2FA+br8TERJ5++mnAeFPv5CNaGpLiopzPxVqLtaW4KOfTunVrRo4cCUBycjLp6el1en5Ti4s6PktEauXkIkipqannPPf85CJIJxdHErmYoqOj7ddpaWmXcCZyqaWnpzNixAjS09MxmUy88847TJo06YL7VVyUumqstVhbiotyLhMmTOCzzz6jqKiI7777jhtuuKHWz1U8lIZ0IWuxthQPm68XX3yR8vJyWrduTXFxMZ988slp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ThEREREREZEG8OSTTwIwY8aMS54QAXB3d+eOO+4A4F//+tclno2IiIiISNOgpIiIiIiIiMgF+uGHH/jll18AuOmmmy7xbH514403ArB7926WLVt2iWcjIiIiInLpKSkiIiIiIiJygebOnQtAz5496dix4yWeza86d+5Mly5dgF/nKCIiIiLSnCkpIiIiIiIif1jz5s3DZDLV+vHYY4/VeYzS0lK++eYbACZPnnzOtr8dZ8WKFUycOJHQ0FCsVisdO3bkiSeeoKio6JTnLV68mDFjxtjbRUdH8/TTT1NeXn7e+dXM6ZtvvqG0tLTOr09ERERE5I9ESREREREREZELsHHjRkpKSgDo27dvrZ/3zDPPMHz4cBYsWMCRI0coLS0lMTGRRx55hFGjRlFYWIjNZmP27NmMHTuW7777zt4uISGBhx9+mAkTJlBVVXXOcWrmVFxcTHx8fP1fqIiIiIjIH4DlUk9ARERERESksUycOJGYmJhztnnggQf4/vvvAWjRokWdx1izZg1g7ALp1atXrZ7z3XffER8fT1xcHLNmzaJdu3YcO3aMl19+me+++45169bxzDPP4Ovry8svv8zo0aOZNm0aLVu2JDU1laeffpoNGzbw/fff89ZbbzFz5syzjhUbG3vKXAcNGlTn1ygiIiIi8kdhstlstks9CRERERERkUvh1Vdf5e677waMouQffPBBnfsYM2YM3333HVFRUSQnJ5+zrclksl9PnjyZTz/9FAcHB/v3qqqqGDBgABs2bMDDw4OKigpmzpzJiy++eEo/xcXFREdHc/DgQbp27crPP/98znFbt27N/v37GTNmDIsWLarzaxQRERER+aPQ8VkiIiIiItIsLV++nNmzZwPGboq33367Xv2kpqYCEBgYWOvnuLq68uabb56SEAFwcHBgxowZABQUFBAQEMBzzz13xudPmTIFgB07dpCXl3fO8WrmVjNXEREREZHmSkkRERERERFpdpKSkrj66quprKwkLCyMr7/+GhcXl3r1dfToUQB8fHxq/ZyRI0fi6+t7xntdu3a1X1955ZU4OjqesV23bt3s1/v37z/neDVj1cxVRERERKS5UlJERERERESalePHjzN+/Hhyc3OxWq0sWLCAkJCQeveXk5MD1C0p0q5du7Pe8/b2rnO7goKCc45XM7fs7OzaTVBERERE5A9KSREREREREWk2qqqquPbaa9mzZw8A8+bNq3Vx9LOp2WFSUlJS6+e4urqe9Z7ZbK5zu6qqqnOOVzM3q9Va2ymKiIiIiPwhKSkiIiIiIiLNxr333svSpUsBeOSRR7jmmmsuuM+AgADg1x0jTVHN3GrmKiIiIiLSXCkpIiIiIiIizcKbb77JK6+8AsDkyZN57LHHGqTfmkRDbm5ug/TXGGrmpqSIiIiIiDR3SoqIiIiIiMgf3sqVK7n77rsB6NGjB++99x4mk6lB+u7SpQsAKSkpVFdXN0ifDam6upp9+/YBv85VRERERKS5UlJERERERET+0FJSUrjqqquoqKggKCiIBQsWnLNWR10NHDgQgMLCQhISEhqs34aye/duCgsLgV/nKiIiIiLSXCkpIiIiIiIif1j5+fmMHz+e7OxsnJ2d+frrr4mIiGjQMU5ONMTHxzdo3w3h5DkpKSIiIiIizZ3lUk9ARERERESksdx999323RuzZ8/G3d2dXbt2nbV9YGAggYGBdRqjZcuWREdHs3v3bpYvX86tt956QXNuaMuXLwcgOjqaFi1aXOLZiIiIiIhcWtopIiIiIiIif1iHDh2yXz/77LN06dLlnI/XXnutXuPcfPPNACxYsIDi4uIGmXtDKC4uZsGCBcCvcxQRERERac6UFBEREREREblAt99+Oy4uLhQWFtqTEE3BggULKCoqwtnZmdtvv/1ST0dERERE5JIz2Ww226WehIiIiIiIyO/dzJkzmTNnDsOHD2fZsmWXejoAjBgxguXLlzN9+nTefPPNSz0dEREREZFLTkkRERERERGRBnD48GHatGlDeXk569atIy4u7pLOZ8OGDcTFxeHk5MTevXtVT0REREREBB2fJSIiIiIi0iAiIiKYPXs2AI8//vilncxJc5g1a5YSIiIiIiIiJ1gu9QRERERERET+KP7+97/j6uoKQGFhIe7u7pdkHsXFxfTt25e+ffty7733XpI5iIiIiIg0RTo+S0REREREREREREREmgUdnyUiIiIiIiIiIiIiIs2CkiIiIiIiIiIiIiIiItIsKCkiIiIiIiIiIiIiIiLNgpIiIiIiIiIiIiIiIiLSLCgpIiIiIiIiIiIiIiIizYKSIiIiIiIiIiIiIiIi0iwoKSIiIiIiIiIiIiIiIs2CkiIiIiIiIiIiIiIiItIsKCkiIiIiIiIiIiIiIiLNgpIiIiIiIiIiIiIiIiLSLCgpIiIiIiIiIiIiIiIizYKSIiIiIiIiIiIiIiIi0iwoKSIiIiIiIiIiIiIiIs2CkiIiIiIiIiIiIiIiItIsKCkiIiIiIiIiIiIiIiLNgpIiIiIiIiIiIiIiIiLSLCgpIiIiIiIiIiIiIiIizYKSIiIiIiIiIiIiIiIi0iwoKSIiIiIiIiIiIiIiIs2CkiIiIiIiIiIiIiIiItIs/H+UBekB09GD7QAAAABJRU5ErkJggg==’ style=’max-width:100%; margin: auto; display: block; ‘/>”

], “text/plain”: [

“:Overlayn”, “ .Astra.Astra :Scatter [z,x] (y,px,py,pz,clock,charge,id,flag)n”, “ .Redpic.Redpic :Scatter [z,x] (y,px,py,pz,Bx,By,Bz,Ex,Ey,Ez)n”, “ .Kenv.Kenv :Curve [z] (x)n”, “ .Kenv.I :Curve [z] (x)”

]

}, “execution_count”: 15, “metadata”: {

“application/vnd.holoviews_exec.v0+json”: {}

}, “output_type”: “execute_result”

}

], “source”: [

“astra_z_x = hv.Scatter(read_track_astra(‘test.data.astra’), kdims=[dim_z,dim_x], group=’astra’, label=’astra’)n”, “n”, “red_z_x = hv.Scatter(sim.result[list(sim.result.keys())[-1]], kdims=[dim_z, dim_x], group=’redpic’, label=’redpic’)n”, “n”, “kenv_z_x = hv.Curve(((acc.z, kv_sim.envelope_x(acc.z))), kdims=[dim_z], vdims=[dim_x], group=’kenv’, label=’kenv’)*\n”, “ hv.Curve(((acc.parameter,-kv_sim.envelope_x(acc.z))), kdims=[dim_z], vdims=[dim_x], group=’kenv’)n”, “n”, “astra_z_x*red_z_x*kenv_z_x”

]

}

], “metadata”: {

“kernelspec”: {

“display_name”: “Python 3 (ipykernel)”, “language”: “python”, “name”: “python3”

}, “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.7.10”

}

}, “nbformat”: 4, “nbformat_minor”: 4

}