diff --git a/Graded Assignment 2/Graded_Assignment_2.ipynb b/Graded Assignment 2/Graded_Assignment_2.ipynb new file mode 100644 index 0000000..d161f47 --- /dev/null +++ b/Graded Assignment 2/Graded_Assignment_2.ipynb @@ -0,0 +1,5417 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "13868aa4", + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "(function(root) {\n", + " function now() {\n", + " return new Date();\n", + " }\n", + "\n", + " var force = true;\n", + " var py_version = '3.1.1'.replace('rc', '-rc.');\n", + " var is_dev = py_version.indexOf(\"+\") !== -1 || py_version.indexOf(\"-\") !== -1;\n", + " var reloading = false;\n", + " var Bokeh = root.Bokeh;\n", + " var bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n", + "\n", + " if (typeof (root._bokeh_timeout) === \"undefined\" || force) {\n", + " root._bokeh_timeout = Date.now() + 5000;\n", + " root._bokeh_failed_load = false;\n", + " }\n", + "\n", + " function run_callbacks() {\n", + " try {\n", + " root._bokeh_onload_callbacks.forEach(function(callback) {\n", + " if (callback != null)\n", + " callback();\n", + " });\n", + " } finally {\n", + " delete root._bokeh_onload_callbacks;\n", + " }\n", + " console.debug(\"Bokeh: all callbacks have finished\");\n", + " }\n", + "\n", + " function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n", + " if (css_urls == null) css_urls = [];\n", + " if (js_urls == null) js_urls = [];\n", + " if (js_modules == null) js_modules = [];\n", + " if (js_exports == null) js_exports = {};\n", + "\n", + " root._bokeh_onload_callbacks.push(callback);\n", + "\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 && Object.keys(js_exports).length === 0) {\n", + " run_callbacks();\n", + " return null;\n", + " }\n", + " if (!reloading) {\n", + " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", + " }\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", + " window._bokeh_on_load = on_load\n", + "\n", + " function on_error() {\n", + " console.error(\"failed to load \" + url);\n", + " }\n", + "\n", + " var skip = [];\n", + " if (window.requirejs) {\n", + " window.requirejs.config({'packages': {}, 'paths': {'gridstack': 'https://cdn.jsdelivr.net/npm/gridstack@7.2.3/dist/gridstack-all', 'notyf': 'https://cdn.jsdelivr.net/npm/notyf@3/notyf.min'}, 'shim': {'gridstack': {'exports': 'GridStack'}}});\n", + " require([\"gridstack\"], function(GridStack) {\n", + "\twindow.GridStack = GridStack\n", + "\ton_load()\n", + " })\n", + " require([\"notyf\"], function() {\n", + "\ton_load()\n", + " })\n", + " root._bokeh_is_loading = css_urls.length + 2;\n", + " } else {\n", + " root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n", + " }\n", + "\n", + " var existing_stylesheets = []\n", + " var links = document.getElementsByTagName('link')\n", + " for (var i = 0; i < links.length; i++) {\n", + " var link = links[i]\n", + " if (link.href != null) {\n", + "\texisting_stylesheets.push(link.href)\n", + " }\n", + " }\n", + " for (var i = 0; i < css_urls.length; i++) {\n", + " var url = css_urls[i];\n", + " if (existing_stylesheets.indexOf(url) !== -1) {\n", + "\ton_load()\n", + "\tcontinue;\n", + " }\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", + " } if (((window['jsPanel'] !== undefined) && (!(window['jsPanel'] instanceof HTMLElement))) || window.requirejs) {\n", + " var urls = ['https://cdn.holoviz.org/panel/1.0.1/dist/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js', 'https://cdn.holoviz.org/panel/1.0.1/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js', 'https://cdn.holoviz.org/panel/1.0.1/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js', 'https://cdn.holoviz.org/panel/1.0.1/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js', 'https://cdn.holoviz.org/panel/1.0.1/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js', 'https://cdn.holoviz.org/panel/1.0.1/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js', 'https://cdn.holoviz.org/panel/1.0.1/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js'];\n", + " for (var i = 0; i < urls.length; i++) {\n", + " skip.push(urls[i])\n", + " }\n", + " } if (((window['GridStack'] !== undefined) && (!(window['GridStack'] instanceof HTMLElement))) || window.requirejs) {\n", + " var urls = ['https://cdn.holoviz.org/panel/1.0.1/dist/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js'];\n", + " for (var i = 0; i < urls.length; i++) {\n", + " skip.push(urls[i])\n", + " }\n", + " } if (((window['Notyf'] !== undefined) && (!(window['Notyf'] instanceof HTMLElement))) || window.requirejs) {\n", + " var urls = ['https://cdn.holoviz.org/panel/1.0.1/dist/bundled/notificationarea/notyf@3/notyf.min.js'];\n", + " for (var i = 0; i < urls.length; i++) {\n", + " skip.push(urls[i])\n", + " }\n", + " } var existing_scripts = []\n", + " var scripts = document.getElementsByTagName('script')\n", + " for (var i = 0; i < scripts.length; i++) {\n", + " var script = scripts[i]\n", + " if (script.src != null) {\n", + "\texisting_scripts.push(script.src)\n", + " }\n", + " }\n", + " for (var i = 0; i < js_urls.length; i++) {\n", + " var url = js_urls[i];\n", + " if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n", + "\tif (!window.requirejs) {\n", + "\t on_load();\n", + "\t}\n", + "\tcontinue;\n", + " }\n", + " var element = document.createElement('script');\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.src = url;\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " document.head.appendChild(element);\n", + " }\n", + " for (var i = 0; i < js_modules.length; i++) {\n", + " var url = js_modules[i];\n", + " if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n", + "\tif (!window.requirejs) {\n", + "\t on_load();\n", + "\t}\n", + "\tcontinue;\n", + " }\n", + " var element = document.createElement('script');\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.src = url;\n", + " element.type = \"module\";\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " document.head.appendChild(element);\n", + " }\n", + " for (const name in js_exports) {\n", + " var url = js_exports[name];\n", + " if (skip.indexOf(url) >= 0 || root[name] != null) {\n", + "\tif (!window.requirejs) {\n", + "\t on_load();\n", + "\t}\n", + "\tcontinue;\n", + " }\n", + " var element = document.createElement('script');\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.type = \"module\";\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " element.textContent = `\n", + " import ${name} from \"${url}\"\n", + " window.${name} = ${name}\n", + " window._bokeh_on_load()\n", + " `\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 = [];\n", + " var js_modules = [];\n", + " var js_exports = {};\n", + " var css_urls = [];\n", + " var inline_js = [ function(Bokeh) {\n", + " /* BEGIN bokeh.min.js */\n", + " /*!\n", + " * Copyright (c) 2012 - 2023, Anaconda, Inc., and Bokeh Contributors\n", + " * All rights reserved.\n", + " * \n", + " * Redistribution and use in source and binary forms, with or without modification,\n", + " * are permitted provided that the following conditions are met:\n", + " * \n", + " * Redistributions of source code must retain the above copyright notice,\n", + " * this list of conditions and the following disclaimer.\n", + " * \n", + " * Redistributions in binary form must reproduce the above copyright notice,\n", + " * this list of conditions and the following disclaimer in the documentation\n", + " * and/or other materials provided with the distribution.\n", + " * \n", + " * Neither the name of Anaconda nor the names of any contributors\n", + " * may be used to endorse or promote products derived from this software\n", + " * without specific prior written permission.\n", + " * \n", + " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n", + " * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n", + " * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n", + " * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n", + " * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n", + " * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n", + " * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n", + " * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n", + " * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n", + " * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n", + " * THE POSSIBILITY OF SUCH DAMAGE.\n", + " */\n", + " (function(root, factory) {\n", + " const bokeh = factory();\n", + " bokeh.__bokeh__ = true;\n", + " if (typeof root.Bokeh === \"undefined\" || typeof root.Bokeh.__bokeh__ === \"undefined\") {\n", + " root.Bokeh = bokeh;\n", + " }\n", + " const Bokeh = root.Bokeh;\n", + " Bokeh[bokeh.version] = bokeh;\n", + " })(this, function() {\n", + " let define;\n", + " const parent_require = typeof require === \"function\" && require\n", + " return (function(modules, entry, aliases, externals) {\n", + " if (aliases === undefined) aliases = {};\n", + " if (externals === undefined) externals = {};\n", + "\n", + " const cache = {};\n", + "\n", + " const normalize = function(name) {\n", + " if (typeof name === \"number\")\n", + " return name;\n", + "\n", + " if (name === \"bokehjs\")\n", + " return entry;\n", + "\n", + " if (!externals[name]) {\n", + " const prefix = \"@bokehjs/\"\n", + " if (name.slice(0, prefix.length) === prefix)\n", + " name = name.slice(prefix.length)\n", + " }\n", + "\n", + " const alias = aliases[name]\n", + " if (alias != null)\n", + " return alias;\n", + "\n", + " const trailing = name.length > 0 && name[name.lenght-1] === \"/\";\n", + " const index = aliases[name + (trailing ? \"\" : \"/\") + \"index\"];\n", + " if (index != null)\n", + " return index;\n", + "\n", + " return name;\n", + " }\n", + "\n", + " const require = function(name) {\n", + " let mod = cache[name];\n", + " if (!mod) {\n", + " const id = normalize(name);\n", + "\n", + " mod = cache[id];\n", + " if (!mod) {\n", + " if (!modules[id]) {\n", + " if (externals[id] === false || (externals[id] == true && parent_require)) {\n", + " try {\n", + " mod = {exports: externals[id] ? parent_require(id) : {}};\n", + " cache[id] = cache[name] = mod;\n", + " return mod.exports;\n", + " } catch (e) {}\n", + " }\n", + "\n", + " const err = new Error(\"Cannot find module '\" + name + \"'\");\n", + " err.code = 'MODULE_NOT_FOUND';\n", + " throw err;\n", + " }\n", + "\n", + " mod = {exports: {}};\n", + " cache[id] = cache[name] = mod;\n", + "\n", + " function __esModule() {\n", + " Object.defineProperty(mod.exports, \"__esModule\", {value: true});\n", + " }\n", + "\n", + " function __esExport(name, value) {\n", + " Object.defineProperty(mod.exports, name, {\n", + " enumerable: true, get: function () { return value; }\n", + " });\n", + " }\n", + "\n", + " modules[id].call(mod.exports, require, mod, mod.exports, __esModule, __esExport);\n", + " } else {\n", + " cache[name] = mod;\n", + " }\n", + " }\n", + "\n", + " return mod.exports;\n", + " }\n", + " require.resolve = function(name) {\n", + " return \"\"\n", + " }\n", + "\n", + " const main = require(entry);\n", + " main.require = require;\n", + "\n", + " if (typeof Proxy !== \"undefined\") {\n", + " // allow Bokeh.loader[\"@bokehjs/module/name\"] syntax\n", + " main.loader = new Proxy({}, {\n", + " get: function(_obj, module) {\n", + " return require(module);\n", + " }\n", + " });\n", + " }\n", + "\n", + " main.register_plugin = function(plugin_modules, plugin_entry, plugin_aliases, plugin_externals) {\n", + " if (plugin_aliases === undefined) plugin_aliases = {};\n", + " if (plugin_externals === undefined) plugin_externals = {};\n", + "\n", + " for (let name in plugin_modules) {\n", + " modules[name] = plugin_modules[name];\n", + " }\n", + "\n", + " for (let name in plugin_aliases) {\n", + " aliases[name] = plugin_aliases[name];\n", + " }\n", + "\n", + " for (let name in plugin_externals) {\n", + " externals[name] = plugin_externals[name];\n", + " }\n", + "\n", + " const plugin = require(plugin_entry);\n", + "\n", + " for (let name in plugin) {\n", + " main[name] = plugin[name];\n", + " }\n", + "\n", + " return plugin;\n", + " }\n", + "\n", + " return main;\n", + " })\n", + " ([\n", + " function _(t,_,n,o,r){o();t(1).__exportStar(t(2),n),t(70)},\n", + " function _(e,t,r,n,o){n();var a=function(e,t){return a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},a(e,t)};r.__extends=function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");function r(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)};function i(e){var t=\"function\"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&\"number\"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function c(e,t){var r=\"function\"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)i.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i}function u(e){return this instanceof u?(this.v=e,this):new u(e)}r.__assign=function(){return r.__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r=0;c--)(o=e[c])&&(i=(a<3?o(i):a>3?o(t,r,i):o(t,r))||i);return a>3&&i&&Object.defineProperty(t,r,i),i},r.__param=function(e,t){return function(r,n){t(r,n,e)}},r.__esDecorate=function(e,t,r,n,o,a){function i(e){if(void 0!==e&&\"function\"!=typeof e)throw new TypeError(\"Function expected\");return e}for(var c,u=n.kind,f=\"getter\"===u?\"get\":\"setter\"===u?\"set\":\"value\",l=!t&&e?n.static?e:e.prototype:null,s=t||(l?Object.getOwnPropertyDescriptor(l,n.name):{}),p=!1,y=r.length-1;y>=0;y--){var d={};for(var h in n)d[h]=\"access\"===h?{}:n[h];for(var h in n.access)d.access[h]=n.access[h];d.addInitializer=function(e){if(p)throw new TypeError(\"Cannot add initializers after decoration has completed\");a.push(i(e||null))};var _=(0,r[y])(\"accessor\"===u?{get:s.get,set:s.set}:s[f],d);if(\"accessor\"===u){if(void 0===_)continue;if(null===_||\"object\"!=typeof _)throw new TypeError(\"Object expected\");(c=i(_.get))&&(s.get=c),(c=i(_.set))&&(s.set=c),(c=i(_.init))&&o.push(c)}else(c=i(_))&&(\"field\"===u?o.push(c):s[f]=c)}l&&Object.defineProperty(l,n.name,s),p=!0},r.__runInitializers=function(e,t,r){for(var n=arguments.length>2,o=0;o0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]1||c(e,t)}))})}function c(e,t){try{(r=o[e](t)).value instanceof u?Promise.resolve(r.value.v).then(f,l):s(a[0][2],r)}catch(e){s(a[0][3],e)}var r}function f(e){c(\"next\",e)}function l(e){c(\"throw\",e)}function s(e,t){e(t),a.shift(),a.length&&c(a[0][0],a[0][1])}},r.__asyncDelegator=function(e){var t,r;return t={},n(\"next\"),n(\"throw\",(function(e){throw e})),n(\"return\"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:u(e[n](t)),done:!1}:o?o(t):t}:o}},r.__asyncValues=function(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=i(e),t={},n(\"next\"),n(\"throw\"),n(\"return\"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,o){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,o,(t=e[r](t)).done,t.value)}))}}},r.__makeTemplateObject=function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e};var f=Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t};r.__importStar=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)\"default\"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&(0,r.__createBinding)(t,e,n);return f(t,e),t},r.__importDefault=function(e){return e&&e.__esModule?e:{default:e}},r.__classPrivateFieldGet=function(e,t,r,n){if(\"a\"===r&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"==typeof t?e!==t||!n:!t.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===r?n:\"a\"===r?n.call(e):n?n.value:t.get(e)},r.__classPrivateFieldSet=function(e,t,r,n,o){if(\"m\"===n)throw new TypeError(\"Private method is not writable\");if(\"a\"===n&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"==typeof t?e!==t||!o:!t.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===n?o.call(e,r):o?o.value=r:t.set(e,r),r},r.__classPrivateFieldIn=function(e,t){if(null===t||\"object\"!=typeof t&&\"function\"!=typeof t)throw new TypeError(\"Cannot use 'in' operator on non-object\");return\"function\"==typeof e?t===e:e.has(t)}},\n", + " function _(e,t,o,s,l){s();const r=e(1);l(\"version\",e(3).version),l(\"index\",e(4).index),o.embed=r.__importStar(e(4)),o.protocol=r.__importStar(e(67)),o._testing=r.__importStar(e(68));var _=e(18);l(\"logger\",_.logger),l(\"set_log_level\",_.set_log_level),l(\"settings\",e(28).settings),l(\"Models\",e(7).default_resolver),l(\"documents\",e(5).documents),l(\"safely\",e(69).safely)},\n", + " function _(n,i,o,c,e){c(),o.version=\"3.1.1\"},\n", + " function _(e,o,n,t,s){t();const r=e(5),d=e(18),i=e(38),_=e(9),c=e(8),a=e(16),u=e(53),l=e(60),m=e(65);var f=e(53);s(\"add_document_standalone\",f.add_document_standalone),s(\"index\",f.index),s(\"add_document_from_session\",e(60).add_document_from_session);var w=e(66);async function g(e,o,n,t){(0,c.isString)(e)&&(e=JSON.parse((0,i.unescape)(e)));const s={};for(const[o,n]of(0,_.entries)(e))s[o]=r.Document.from_json(n);const a=[];for(const e of o){const o=(0,m._resolve_element)(e),r=(0,m._resolve_root_elements)(e);if(null!=e.docid)a.push(await(0,u.add_document_standalone)(s[e.docid],o,r,e.use_for_title));else{if(null==e.token)throw new Error(\"Error rendering Bokeh items: either 'docid' or 'token' was expected.\");{const s=(0,l._get_ws_url)(n,t);d.logger.debug(`embed: computed ws url: ${s}`);try{a.push(await(0,l.add_document_from_session)(s,e.token,o,r,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\",w.embed_items_notebook),s(\"kernels\",w.kernels),n.embed_item=async function(e,o){const n={},t=(0,i.uuid4)();n[t]=e.doc,null==o&&(o=e.target_id);const s={roots:{[e.root_id]:o},root_ids:[e.root_id],docid:t};await(0,a.defer)();const[r]=await g(n,[s]);return r},n.embed_items=async function(e,o,n,t){return await(0,a.defer)(),g(e,o,n,t)}},\n", + " function _(t,_,o,r,n){r();const a=t(1);a.__exportStar(t(6),o),a.__exportStar(t(39),o)},\n", + " function _(e,t,s,o,n){o();const i=e(1),_=e(7),l=e(3),r=e(18),a=e(45),c=e(30),d=e(46),h=e(49),m=e(15),u=e(8),f=e(25),v=e(10),g=e(9),p=i.__importStar(e(43)),w=e(50),b=e(51),k=e(52),y=e(39);d.Deserializer.register(\"model\",b.decode_def);class z{constructor(e){this.subscribed_models=new Set,this.document=e}send_event(e){if(e.publish){const t=new y.MessageSentEvent(this.document,\"bokeh_event\",e);this.document._trigger_on_change(t)}this.document._trigger_on_event(e)}trigger(e){for(const t of this.subscribed_models)null!=e.origin&&e.origin!=t||t._process_event(e)}}s.EventManager=z,z.__name__=\"EventManager\",s.documents=[],s.DEFAULT_TITLE=\"Bokeh Application\";class S{constructor(e){var t;s.documents.push(this),this._init_timestamp=Date.now(),this._resolver=null!==(t=null==e?void 0:e.resolver)&&void 0!==t?t:new a.ModelResolver(_.default_resolver),this._title=s.DEFAULT_TITLE,this._roots=[],this._all_models=new Map,this._new_models=new Set,this._all_models_freeze_count=0,this._callbacks=new Map,this._document_callbacks=new Map,this._message_callbacks=new Map,this.event_manager=new z(this),this.idle=new m.Signal0(this,\"idle\"),this._idle_roots=new WeakSet,this._interactive_timestamp=null,this._interactive_plot=null}[f.equals](e,t){return this==e}get is_idle(){for(const e of this._roots)if(!this._idle_roots.has(e))return!1;return!0}notify_idle(e){this._idle_roots.add(e),this.is_idle&&(r.logger.info(`document idle at ${Date.now()-this._init_timestamp} ms`),this.event_manager.send_event(new k.DocumentReady),this.idle.emit())}clear(){this._push_all_models_freeze();try{for(;this._roots.length>0;)this.remove_root(this._roots[0])}finally{this._pop_all_models_freeze()}}interactive_start(e,t=null){null==this._interactive_plot&&(this._interactive_plot=e,this._interactive_plot.trigger_event(new k.LODStart)),this._interactive_finalize=t,this._interactive_timestamp=Date.now()}interactive_stop(){null!=this._interactive_plot&&(this._interactive_plot.trigger_event(new k.LODEnd),null!=this._interactive_finalize&&this._interactive_finalize()),this._interactive_plot=null,this._interactive_timestamp=null,this._interactive_finalize=null}interactive_duration(){return null==this._interactive_timestamp?-1:Date.now()-this._interactive_timestamp}destructively_move(e){if(e===this)throw new Error(\"Attempted to overwrite a document with itself\");e.clear();const t=(0,v.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(){r.logger.debug(\"invalidating document models\"),0===this._all_models_freeze_count&&this._recompute_all_models()}_recompute_all_models(){let e=new Set;for(const t of this._roots)e=p.union(e,t.references());const t=new Set(this._all_models.values()),s=p.difference(t,e),o=p.difference(e,t),n=new Map;for(const t of e)n.set(t.id,t);for(const e of s)e.detach_document();for(const e of o)e.attach_document(this),this._new_models.add(e);this._all_models=n}roots(){return this._roots}_add_root(e){if((0,v.includes)(this._roots,e))return!1;this._push_all_models_freeze();try{this._roots.push(e)}finally{this._pop_all_models_freeze()}return!0}_remove_root(e){const t=this._roots.indexOf(e);if(t<0)return!1;this._push_all_models_freeze();try{this._roots.splice(t,1)}finally{this._pop_all_models_freeze()}return!0}_set_title(e){const t=e!=this._title;return t&&(this._title=e),t}add_root(e){this._add_root(e)&&this._trigger_on_change(new y.RootAddedEvent(this,e))}remove_root(e){this._remove_root(e)&&this._trigger_on_change(new y.RootRemovedEvent(this,e))}set_title(e){this._set_title(e)&&this._trigger_on_change(new y.TitleChangedEvent(this,e))}title(){return this._title}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 w.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 y.DocumentEventBatch)for(const s of e.events)t(s);else t(e)}_trigger_on_event(e){const t=this._document_callbacks.get(e.event_name);if(null!=t)for(const s of t)s.execute(this,e)}on_event(e,...t){var s;const o=(0,u.isString)(e)?e:e.prototype.event_name,n=null!==(s=this._document_callbacks.get(o))&&void 0!==s?s:[],i=t.map((e=>(0,u.isFunction)(e)?{execute:e}:e));this._document_callbacks.set(o,[...n,...i])}to_json_string(e=!0){return JSON.stringify(this.to_json(e))}to_json(e=!0){const t=new c.Serializer({include_defaults:e}).encode(this._roots);return{version:l.version,title:this._title,roots:t}}static from_json_string(e,t){const s=JSON.parse(e);return S.from_json(s,t)}static _handle_version(e){if(null!=e.version){const t=e.version,s=-1!==t.indexOf(\"+\")||-1!==t.indexOf(\"-\"),o=`Library versions: JS (${l.version}) / Python (${t})`;s||(0,h.pyify_version)(l.version)==t?r.logger.debug(o):(r.logger.warn(\"JS/Python version mismatch\"),r.logger.warn(o))}else r.logger.warn(\"'version' field is missing\")}static from_json(e,t){r.logger.debug(\"Creating Document from JSON\"),S._handle_version(e);const s=new a.ModelResolver(_.default_resolver);if(null!=e.defs){new d.Deserializer(s).decode(e.defs)}const o=new S({resolver:s});o._push_all_models_freeze();const n=e=>null==t?void 0:t.push(e);o.on_change(n,!0);const i=new d.Deserializer(s,o._all_models,(e=>e.attach_document(o))),l=i.decode(e.roots),c=null!=e.callbacks?i.decode(e.callbacks):{};o.remove_on_change(n);for(const[e,t]of(0,g.entries)(c))o.on_event(e,...t);for(const e of l)o.add_root(e);return null!=e.title&&o.set_title(e.title),o._pop_all_models_freeze(),o}replace_with_json(e){S.from_json(e).destructively_move(this)}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 Map;for(const e of this._all_models.values())this._new_models.has(e)||t.set(e,e.ref());const s={events:new c.Serializer({references:t,binary:!0}).encode(e)};return this._new_models.clear(),s}apply_json_patch(e,t=new Map){this._push_all_models_freeze();const s=new d.Deserializer(this._resolver,this._all_models,(e=>e.attach_document(this))).decode(e.events,t);for(const e of s)switch(e.kind){case\"MessageSent\":{const{msg_type:t,msg_data:s}=e;this._trigger_on_message(t,s);break}case\"ModelChanged\":{const{model:t,attr:s,new:o}=e;t.setv({[s]:o},{sync:!1});break}case\"ColumnDataChanged\":{const{model:t,attr:s,cols:o,data:n}=e;if(null!=o){const e=t.property(s).get_value();for(const t in e)t in n||(n[t]=e[t])}t.setv({data:n},{sync:!1,check_eq:!1});break}case\"ColumnsStreamed\":{const{model:t,attr:s,data:o,rollover:n}=e,i=t.property(s);t.stream_to(i,o,n,{sync:!1});break}case\"ColumnsPatched\":{const{model:t,attr:s,patches:o}=e,n=t.property(s);t.patch_to(n,o,{sync:!1});break}case\"RootAdded\":this._add_root(e.model);break;case\"RootRemoved\":this._remove_root(e.model);break;case\"TitleChanged\":this._set_title(e.title);break;default:throw new Error(`unknown patch event type '${e.kind}'`)}this._pop_all_models_freeze()}}s.Document=S,S.__name__=\"Document\"},\n", + " function _(e,o,r,s,t){s();const l=e(8),n=e(9),a=e(14),f=e(45);r.default_resolver=new f.ModelResolver(null),r.register_models=function(e,o=!1){for(const t of(0,l.isArray)(e)?e:(0,n.values)(e))s=t,(0,l.isObject)(s)&&s.prototype instanceof a.HasProps&&r.default_resolver.register(t,o);var s}},\n", + " function _(n,t,r,i,o){i();\n", + " // (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n", + " // Underscore may be freely distributed under the MIT license.\n", + " const u=Object.prototype.toString;function e(n){return null==n}function c(n){return!0===n||!1===n||\"[object Boolean]\"===u.call(n)}function f(n){return\"[object Number]\"===u.call(n)}function s(n){return\"[object String]\"===u.call(n)}function l(n){return\"symbol\"==typeof n}function a(n){const t=typeof n;return\"function\"===t||\"object\"===t&&!!n}function b(n){return a(n)&&Symbol.iterator in n}r.is_undefined=function(n){return void 0===n},r.is_defined=function(n){return void 0!==n},r.is_nullish=e,r.isNull=function(n){return null==n},r.isNotNull=function(n){return null!=n},r.isBoolean=c,r.isNumber=f,r.isInteger=function(n){return f(n)&&Number.isInteger(n)},r.isString=s,r.isSymbol=l,r.isPrimitive=function(n){return null===n||c(n)||f(n)||s(n)||l(n)},r.isFunction=function(n){const t=u.call(n);return\"[object Function]\"===t||\"[object AsyncFunction]\"===t},r.isArray=function(n){return Array.isArray(n)},r.isArrayOf=function(n,t){for(const r of n)if(!t(r))return!1;return!0},r.isArrayableOf=function(n,t){for(const r of n)if(!t(r))return!1;return!0},r.isTypedArray=function(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)},r.isObject=a,r.isBasicObject=function(n){return a(n)&&e(n.constructor)},r.isPlainObject=function(n){return a(n)&&(e(n.constructor)||n.constructor===Object)},r.isIterable=b,r.isArrayable=function(n){return b(n)&&\"length\"in n}},\n", + " function _(t,e,s,n,i){var o;n();const r=t(10),{hasOwnProperty:c}=Object.prototype;function b(t){return Object.keys(t).length}s.keys=Object.keys,s.values=Object.values,s.entries=Object.entries,s.assign=Object.assign,s.to_object=Object.fromEntries,s.extend=s.assign,s.fields=function(t){return(0,s.keys)(t)},s.clone=function(t){return Object.assign({},t)},s.merge=function(t,e){const s=Object.create(Object.prototype),n=(0,r.concat)([Object.keys(t),Object.keys(e)]);for(const i of n){const n=c.call(t,i)?t[i]:[],o=c.call(e,i)?e[i]:[];s[i]=(0,r.union)(n,o)}return s},s.size=b,s.is_empty=function(t){return 0==b(t)};class u{constructor(t){this[o]=\"Dict\",this.obj=t}clear(){for(const t of(0,s.keys)(this.obj))delete this.obj[t]}delete(t){const e=t in this;return delete this.obj[t],e}get(t){return t in this.obj?this.obj[t]:void 0}has(t){return t in this.obj}set(t,e){return this.obj[t]=e,this}get size(){return b(this.obj)}get is_empty(){return 0==this.size}[(o=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}*keys(){yield*(0,s.keys)(this.obj)}*values(){yield*(0,s.values)(this.obj)}*entries(){yield*(0,s.entries)(this.obj)}forEach(t,e){for(const[s,n]of this.entries())t.call(e,n,s,this)}}s.Dict=u,u.__name__=\"Dict\",s.dict=function(t){return new u(t)}},\n", + " function _(n,t,e,r,o){r();\n", + " // (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n", + " // Underscore may be freely distributed under the MIT license.\n", + " const i=n(11),c=n(12),u=n(8),s=n(13);var f=n(13);o(\"map\",f.map),o(\"reduce\",f.reduce),o(\"min\",f.min),o(\"min_by\",f.min_by),o(\"max\",f.max),o(\"max_by\",f.max_by),o(\"sum\",f.sum),o(\"cumsum\",f.cumsum),o(\"every\",f.every),o(\"some\",f.some),o(\"find\",f.find),o(\"find_last\",f.find_last),o(\"find_index\",f.find_index),o(\"find_last_index\",f.find_last_index),o(\"sorted_index\",f.sorted_index),o(\"is_empty\",f.is_empty),o(\"includes\",f.includes),o(\"contains\",f.contains),o(\"sort_by\",f.sort_by);const l=Array.prototype.slice;function a(n){return l.call(n)}function m(n,t,e=1){(0,c.assert)(e>0,\"'step' must be a positive number\"),null==t&&(t=n,n=0);const{max:r,ceil:o,abs:i}=Math,u=n<=t?e:-e,s=r(o(i(t-n)/e),0),f=new Array(s);for(let t=0;t=0?t:n.length+t]},e.zip=function(...n){if(0==n.length)return[];const t=(0,s.min)(n.map((n=>n.length))),e=n.length,r=new Array(t);for(let o=0;on.length))),r=Array(e);for(let n=0;nn[t]))},e.argmax=function(n){return(0,s.max_by)(m(n.length),(t=>n[t]))},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);(0,s.includes)(r,n)||(r.push(n),e.push(o))}return e},e._union=d,e.union=function(...n){return[...d(n)]},e.intersection=function(n,...t){const e=[];n:for(const r of n)if(!(0,s.includes)(e,r)){for(const n of t)if(!(0,s.includes)(n,r))continue n;e.push(r)}return e},e.difference=function(n,...t){const e=d(t);return(0,s.filter)(n,(n=>!e.has(n)))},e.remove_at=function(n,t){(0,c.assert)((0,u.isInteger)(t)&&t>=0);const e=a(n);return e.splice(t,1),e},e.remove_by=function(n,t){for(let e=0;e2*u;)n-=2*u;return n}function s(n,t){return l(n-t)}function h(n){switch(n){case\"deg\":return u/180;case\"rad\":return 1;case\"grad\":return u/200;case\"turn\":return 2*u}}function g(n,t){for(n=Math.abs(n),t=Math.abs(t);0!=t;)[n,t]=[t,n%t];return n}r.angle_norm=l,r.angle_dist=s,r.angle_between=function(n,t,r,o=!1){const e=s(t,r);if(0==e)return!1;if(e==2*u)return!0;const a=l(n),c=s(t,a)<=e&&s(a,r)<=e;return o?!c:c},r.randomIn=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},r.atan2=function(n,t){return Math.atan2(t[1]-n[1],t[0]-n[0])},r.radians=function(n){return n*(u/180)},r.degrees=function(n){return n/(u/180)},r.compute_angle=function(n,t,r=\"anticlock\"){return-(\"anticlock\"==r?1:-1)*n*h(t)},r.invert_angle=function(n,t,r=\"anticlock\"){return-(\"anticlock\"==r?1:-1)*n/h(t)},r.to_radians_coeff=h,r.clamp=function(n,t,r){return nr?r:n},r.log=function(n,t=Math.E){return Math.log(n)/Math.log(t)},r.gcd=g,r.lcm=function(n,...t){for(const r of t)n=Math.floor(n*r/g(n,r));return n},r.float=Symbol(\"float\"),r.is_Floating=function(n){return(0,a.isObject)(n)&&r.float in n};class m{constructor(n,t){(0,c.assert)(0!=t,\"Zero divisor\");const r=g(n,t),o=f(n)*f(t);this.numer=o*i(n)/r,this.denom=i(t)/r}[r.float](){return this.numer/this.denom}toString(){return`${this.numer}/${this.denom}`}}function _(n){let t=1;for(let r=2;r<=n;r++)t*=r;return t}r.Fraction=m,m.__name__=\"Fraction\",r.float32_epsilon=1.1920928955078125e-7,r.factorial=_,r.hermite=function(n){const t=new Array(n+1);t.fill(0);const r=_(n);for(let o=0;o<=Math.floor(n/2);o++){const e=(-1)**o*r/(_(o)*_(n-2*o))*2**(n-2*o);t[2*o]=e}return t},r.eval_poly=function(n,t){let r=0,o=1;for(let e=n.length-1;e>=0;e--)r+=o*n[e],o*=t;return 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(11);function u(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,u=new n.constructor(i);let c=0;for(;c0?0:r-1;for(;o>=0&&ot[t.length-1])return t.length;if(1==t.length)return 0;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=u,e.head=c,e.insert=function(n,t,e){return u(n,e,0,t)},e.append=function(n,t){return u(n,n.length,0,t)},e.prepend=function(n,t){return u(n,0,0,t)},e.index_of=function(n,t){return n.indexOf(t)},e.includes=l,e.contains=l,e.subselect=function(n,t){const e=t.length,r=new n.constructor(e);for(let o=0;o({index:e,key:t(n)})));return e.sort(((n,t)=>{const e=n.key,r=t.key;if(e!==r){if(e>r)return 1;if(en[e[r].index]))},e.min=function(n){let t,e=1/0;for(let r=0,o=n.length;re&&(e=t);return e},e.minmax=function(n){let t,e=1/0,r=-1/0;for(let o=0,i=n.length;or&&(r=t));return[e,r]},e.minmax2=function(n,t){let e,r,o=1/0,i=-1/0,u=1/0,c=-1/0;const l=Math.min(n.length,t.length);for(let f=0;fi&&(i=e),rc&&(c=r));return[o,i,u,c]},e.min_by=function(n,t){if(0==n.length)throw new Error(\"min_by() called with an empty array\");let e=n[0],r=t(e);for(let o=1,i=n.length;or&&(e=i,r=u)}return e},e.sum=function(n){let t=0;for(let e=0,r=n.length;et[r]=n+e),0),t},e.every=function(n,t){for(const e of n)if(!t(e))return!1;return!0},e.some=function(n,t){for(const e of n)if(t(e))return!0;return!1},e.find_index=a(1),e.find_last_index=a(-1),e.find=function(n,t){const r=(0,e.find_index)(n,t);return-1==r?void 0:n[r]},e.find_last=function(n,t){const r=(0,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-t)/r))}},\n", + " function _(t,e,s,n,i){var r;n();const o=t(1),c=t(15),a=o.__importStar(t(17)),h=o.__importStar(t(20)),_=t(12),l=t(38),u=t(9),f=t(8),p=t(25),d=t(30),g=t(39),y=t(25),m=t(40),v=t(41),w=o.__importStar(t(20)),b=t(27),S=t(42),$=new WeakMap;class j extends((0,c.Signalable)()){get is_syncable(){return!0}get type(){return this.constructor.__qualified__}static get __qualified__(){let t=$.get(this);if(null==t){const{__module__:e,__name__:s}=this;t=null!=e?`${e}.${s}`:s,$.set(this,t)}return t}static set __qualified__(t){$.set(this,t)}get[Symbol.toStringTag](){return this.constructor.__qualified__}static _fix_default(t,e){if(void 0===t||t===a.unset)return()=>a.unset;if((0,f.isFunction)(t))return t;if((0,f.isPrimitive)(t))return()=>t;{const e=new v.Cloner;return()=>e.clone(t)}}static define(t){for(const[e,s]of(0,u.entries)((0,f.isFunction)(t)?t(w):t)){if(e in this.prototype._props)throw new Error(`attempted to redefine property '${this.prototype.type}.${e}'`);if(e in this.prototype)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,i={}]=s,r={type:t,default_value:this._fix_default(n,e),options:i};this.prototype._props=Object.assign(Object.assign({},this.prototype._props),{[e]:r})}}static internal(t){const e={};for(const[s,n]of(0,u.entries)((0,f.isFunction)(t)?t(w):t)){const[t,i,r={}]=n;e[s]=[t,i,Object.assign(Object.assign({},r),{internal:!0})]}this.define(e)}static mixins(t){function e(t,e){const s={};for(const[n,i]of(0,u.entries)(e))s[t+n]=i;return s}const s={},n=[];for(const i of(0,f.isArray)(t)?t:[t])if((0,f.isArray)(i)){const[t,r]=i;(0,u.extend)(s,e(t,r)),n.push([t,r])}else{const t=i;(0,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(0,u.entries)(t)){const t=this._fix_default(s,e);if(!(e in this.prototype._props))throw new Error(`attempted to override nonexistent '${this.prototype.type}.${e}'`);const n=this.prototype._props[e],i=Object.assign({},this.prototype._props);i[e]=Object.assign(Object.assign({},n),{default_value:t}),this.prototype._props=i}}static toString(){return this.__qualified__}toString(){return`${this.type}(${this.id})`}property(t){if(t in this.properties)return this.properties[t];throw new Error(`unknown property ${this.type}.${t}`)}get attributes(){const t={};for(const e of this)e.is_unset||(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)}[y.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}[m.pretty](t){const e=t.token,s=[];for(const n of this)if(n.dirty){const i=n.get_value();s.push(`${n.attr}${e(\":\")} ${t.to_string(i)}`)}return`${this.constructor.__qualified__}${e(\"(\")}${e(\"{\")}${s.join(`${e(\",\")} `)}${e(\"}\")}${e(\")\")}`}[d.serialize](t){const e=this.ref();t.add_ref(this,e);const s={};for(const e of this)if(e.syncable&&(t.include_defaults||e.dirty)){const n=e.get_value();s[e.attr]=t.encode(n)}const{type:n,id:i}=this,r={type:\"object\",name:n,id:i};return(0,u.is_empty)(s)?r:Object.assign(Object.assign({},r),{attributes:s})}constructor(t={}){super(),this.document=null,this.destroyed=new c.Signal0(this,\"destroyed\"),this.change=new c.Signal0(this,\"change\"),this.transformchange=new c.Signal0(this,\"transformchange\"),this.exprchange=new c.Signal0(this,\"exprchange\"),this.streaming=new c.Signal0(this,\"streaming\"),this.patching=new c.Signal(this,\"patching\"),this.properties={},this._watchers=new WeakMap,this._pending=!1,this._changing=!1;const e=(0,f.isPlainObject)(t)&&\"id\"in t;this.id=e?t.id:(0,l.unique_id)();for(const[t,{type:e,default_value:s,options:n}]of(0,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 h.Kind?new a.PrimitiveProperty(this,t,e,s,n):new e(this,t,h.Any,s,n),this.properties[t]=i)}if(e)(0,_.assert)(1==(0,u.keys)(t).length,\"'id' cannot be used together with property initializers\");else{const e=t instanceof Map?t:new u.Dict(t);this.initialize_props(e),this.finalize(),this.connect_signals()}}initialize_props(t){const e=new Set;for(const s of this){const n=t.get(s.attr);s.initialize(n),e.add(s.attr)}for(const s of t.keys())e.has(s)||this.property(s)}finalize(){this.initialize()}initialize(){}assert_initialized(){for(const t of this)t.syncable&&!t.readonly&&t.get_value()}connect_signals(){for(const t of this){if(!(t instanceof a.VectorSpec||t instanceof a.ScalarSpec))continue;if(t.is_unset)continue;const e=t.get_value();null!=e.transform&&this.connect(e.transform.change,(()=>this.transformchange.emit())),(0,b.isExpr)(e)&&this.connect(e.expr.change,(()=>this.exprchange.emit()))}}disconnect_signals(){c.Signal.disconnect_receiver(this)}destroy(){this.disconnect_signals(),this.destroyed.emit()}clone(){return(new v.Cloner).clone(this)}_clear_watchers(){this._watchers=new WeakMap}changed_for(t){const e=this._watchers.get(t);return this._watchers.set(t,!1),null==e||e}_setv(t,e){var s;const n=e.check_eq,i=new Set,r=this._changing;this._changing=!0;for(const[e,s]of t)!1!==n&&!e.is_unset&&(0,p.is_equal)(e.get_value(),s)||(e.set_value(s),i.add(e));i.size>0&&(this._clear_watchers(),this._pending=!0);for(const t of i)t.change.emit();if(!r){if(null===(s=e.no_change)||void 0===s||!s)for(;this._pending;)this._pending=!1,this.change.emit();this._pending=!1,this._changing=!1}return i}setv(t,e={}){var s,n;const i=(0,u.entries)(t);if(0==i.length)return;if(null!==(s=e.silent)&&void 0!==s&&s){this._clear_watchers();for(const[t,e]of i)this.properties[t].set_value(e);return}const r=new Map,o=new Map;for(const[t,e]of i){const s=this.properties[t];r.set(s,e),o.set(s,s.is_unset?void 0:s.get_value())}const c=this._setv(r,e),{document:a}=this;if(null!=a){const t=[];for(const[e,s]of o)c.has(e)&&t.push([e,s,e.get_value()]);for(const[,e,s]of t)if(this._needs_invalidate(e,s)){a._invalidate_all_models();break}(null===(n=e.sync)||void 0===n||n)&&this._push_changes(t)}}ref(){return{id:this.id}}*[Symbol.iterator](){yield*(0,u.values)(this.properties)}*syncable_properties(){for(const t of this)t.syncable&&(yield t)}static _value_record_references(t,e,s){const{recursive:n}=s;if((0,f.isObject)(t))if(t instanceof j){if(!e.has(t)&&(e.add(t),n))for(const s of t.syncable_properties())if(!s.is_unset){const t=s.get_value();j._value_record_references(t,e,{recursive:n})}}else if((0,f.isIterable)(t))for(const s of t)j._value_record_references(s,e,{recursive:n});else if((0,f.isPlainObject)(t))for(const s of(0,u.values)(t))j._value_record_references(s,e,{recursive:n})}references(){const t=new Set;return j._value_record_references(this,t,{recursive:!0}),t}_doc_attached(){}_doc_detached(){}attach_document(t){if(null!=this.document){if(this.document==t)return;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;j._value_record_references(e,s,{recursive:!1});const n=new Set;j._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){if(!this.is_syncable)return;const{document:e}=this;if(null==e)return;const s=[];for(const[n,,i]of t)n.syncable&&s.push(new g.ModelChangedEvent(e,this,n.attr,i));if(0!=s.length){let t;1==s.length?[t]=s:t=new g.DocumentEventBatch(e,s),e._trigger_on_change(t)}}on_change(t,e){for(const s of(0,f.isArray)(t)?t:[t])this.connect(s.change,e)}stream_to(t,e,s,{sync:n}={}){const i=t.get_value();if((0,S.stream_to_columns)(i,e,s),this._clear_watchers(),t.set_value(i),this.streaming.emit(),null!=this.document&&(null==n||n)){const n=new g.ColumnsStreamedEvent(this.document,this,t.attr,e,s);this.document._trigger_on_change(n)}}patch_to(t,e,{sync:s}={}){const n=t.get_value(),i=(0,S.patch_to_columns)(n,e);if(this._clear_watchers(),t.set_value(n),this.patching.emit([...i]),null!=this.document&&(null==s||s)){const s=new g.ColumnsPatchedEvent(this.document,this,t.attr,e);this.document._trigger_on_change(s)}}}s.HasProps=j,(r=j).prototype._props={},r.prototype._mixins=[]},\n", + " function _(n,e,t,s,l){s();const r=n(16),i=n(10);class o{constructor(n,e){this.sender=n,this.name=e}connect(n,e=null){t.receivers_for_sender.has(this.sender)||t.receivers_for_sender.set(this.sender,[]);const s=t.receivers_for_sender.get(this.sender);if(null!=f(s,this,n,e))return!1;const l=null!=e?e:n;u.has(l)||u.set(l,[]);const r=u.get(l),i={signal:this,slot:n,context:e};return s.push(i),r.push(i),!0}disconnect(n,e=null){const s=t.receivers_for_sender.get(this.sender);if(null==s||0===s.length)return!1;const l=f(s,this,n,e);if(null==l)return!1;const r=null!=e?e:n,i=u.get(r);return l.signal=null,g(s),g(i),!0}emit(n){var e;const s=null!==(e=t.receivers_for_sender.get(this.sender))&&void 0!==e?e:[];for(const{signal:e,slot:t,context:l}of s)e===this&&t.call(l,n,this.sender)}}t.Signal=o,o.__name__=\"Signal\";class c extends o{emit(){super.emit(void 0)}}t.Signal0=c,c.__name__=\"Signal0\",function(n){n.disconnect_between=function(n,e){const s=t.receivers_for_sender.get(n);if(null==s||0===s.length)return;const l=u.get(e);if(null!=l&&0!==l.length){for(const e of l){if(null==e.signal)return;e.signal.sender===n&&(e.signal=null)}g(s),g(l)}},n.disconnect_sender=function(n){var e;const s=t.receivers_for_sender.get(n);if(null!=s&&0!==s.length){for(const n of s){if(null==n.signal)return;const t=null!==(e=n.context)&&void 0!==e?e:n.slot;n.signal=null,g(u.get(t))}g(s)}},n.disconnect_receiver=function(n,e,s){const l=u.get(n);if(null!=l&&0!==l.length){for(const n of l){if(null==n.signal)return;if(null!=e&&n.slot!=e)continue;const l=n.signal.sender;null!=s&&s.has(l)||(n.signal=null,g(t.receivers_for_sender.get(l)))}g(l)}},n.disconnect_all=function(n){const e=t.receivers_for_sender.get(n);if(null!=e&&0!==e.length){for(const n of e)n.signal=null;g(e)}const s=u.get(n);if(null!=s&&0!==s.length){for(const n of s)n.signal=null;g(s)}}}(o||(t.Signal=o={})),t.Signalable=function(){return class{connect(n,e){return n.connect(e,this)}disconnect(n,e){return n.disconnect(e,this)}}},t.receivers_for_sender=new WeakMap;const u=new WeakMap;function f(n,e,t,s){return(0,i.find)(n,(n=>n.signal===e&&n.slot===t&&n.context===s))}const a=new Set;function g(n){0===a.size&&(async()=>{await(0,r.defer)(),function(){for(const n of a)(0,i.remove_by)(n,(n=>null==n.signal));a.clear()}()})(),a.add(n)}},\n", + " function _(e,n,t,r,o){r();const s=new MessageChannel,i=new Map;s.port1.onmessage=e=>{const n=e.data,t=i.get(n);if(null!=t)try{t()}finally{i.delete(n)}};let a=1;t.defer=function(){return new Promise((e=>{const n=a++;i.set(n,e),s.port2.postMessage(n)}))},t.delay=function(e){return new Promise((n=>setTimeout(n,e)))},t.paint=function(){return new Promise((e=>{requestAnimationFrame((()=>e()))}))},t.idle=function(){return new Promise((e=>{requestIdleCallback((()=>e()))}))}},\n", + " function _(e,t,r,n,a){n(),r.TextBaselineSpec=r.TextAlignSpec=r.FontStyleSpec=r.FontSizeSpec=r.FontSpec=r.LineDashSpec=r.LineCapSpec=r.LineJoinSpec=r.MarkerSpec=r.ArraySpec=r.NullStringSpec=r.StringSpec=r.AnySpec=void 0;const s=e(1),i=e(15),l=e(18),_=s.__importStar(e(19)),o=e(23),c=e(10),u=e(13),d=e(11),S=e(21),p=e(26),h=e(8),m=e(27),v=e(28),f=e(29),y=e(36),x=e(12),g=e(30),A=e(37);function w(e){try{return JSON.stringify(e)}catch(t){return e.toString()}}function z(e){return(0,h.isPlainObject)(e)&&(void 0===e.value?0:1)+(void 0===e.field?0:1)+(void 0===e.expr?0:1)==1}a(\"Uniform\",A.Uniform),a(\"UniformScalar\",A.UniformScalar),a(\"UniformVector\",A.UniformVector),r.isSpec=z;let b=null;r.use_theme=function(e=null){b=e},r.unset=Symbol(\"unset\");class C extends Error{}r.UnsetValueError=C,C.__name__=\"UnsetValueError\";class F{get syncable(){return!this.internal}get is_unset(){return this._value===r.unset}get initialized(){return this._initialized}initialize(e=r.unset){if(this._initialized)throw new Error(\"already initialized\");let t=r.unset;if(e!==r.unset)t=e,this._dirty=!0;else{const e=this._default_override();if(e!==r.unset)t=e;else{let e=!1;if(null!=b){const r=b.get(this.obj,this.attr);void 0!==r&&(t=r,e=!0)}e||(t=this.default_value(this.obj))}}t!==r.unset?this._update(t):this._value=r.unset,this._initialized=!0}get_value(){if(this._value!==r.unset)return this._value;throw new C(`${this.obj}.${this.attr} is unset`)}set_value(e){this._initialized?(this._update(e),this._dirty=!0):this.initialize(e),y.diagnostics.report(this)}_default_override(){return r.unset}get dirty(){return this._dirty}constructor(e,t,n,a,s={}){var l,_;this._value=r.unset,this._initialized=!1,this._dirty=!1,this.obj=e,this.attr=t,this.kind=n,this.default_value=a,this.change=new i.Signal0(this.obj,\"change\"),this.internal=null!==(l=s.internal)&&void 0!==l&&l,this.readonly=null!==(_=s.readonly)&&void 0!==_&&_,this.convert=s.convert,this.on_update=s.on_update}_update(e){var t;if(this.validate(e),null!=this.convert){const t=this.convert(e);void 0!==t&&(e=t)}this._value=e,null===(t=this.on_update)||void 0===t||t.call(this,e,this.obj)}toString(){return`Prop(${this.obj}.${this.attr}, value: ${w(this._value)})`}normalize(e){return e}validate(e){if(!this.valid(e))throw new Error(`${this.obj}.${this.attr} given invalid value: ${w(e)}`)}valid(e){return this.kind.valid(e)}}r.Property=F,F.__name__=\"Property\";class q{constructor(e){this.attr=e}}r.PropertyAlias=q,q.__name__=\"PropertyAlias\",r.Alias=function(e){return new q(e)};class N extends F{}r.PrimitiveProperty=N,N.__name__=\"PrimitiveProperty\";class U extends N{_default_override(){return v.settings.dev?\"Bokeh\":r.unset}}r.Font=U,U.__name__=\"Font\";class $ extends F{constructor(){super(...arguments),this._value=r.unset}get_value(){if(this._value!==r.unset)return this._value;throw new Error(`${this.obj}.${this.attr} is unset`)}_update(e){if(z(e)?this._value=e:this._value={value:e},(0,h.isPlainObject)(this._value)){const{_value:e}=this;this._value[g.serialize]=t=>{const{value:r,field:n,expr:a,transform:s,units:i}=e;return t.encode_struct(void 0!==r?{type:\"value\",value:r,transform:s,units:i}:void 0!==n?{type:\"field\",field:n,transform:s,units:i}:{type:\"expr\",expr:a,transform:s,units:i})}}(0,m.isValue)(this._value)&&this.validate(this._value.value)}materialize(e){return e}scalar(e,t){return new A.UniformScalar(e,t)}uniform(e){var t;const r=this.get_value(),n=null!==(t=e.get_length())&&void 0!==t?t:1;if((0,m.isExpr)(r)){const{expr:t,transform:a}=r;let s=t.compute(e);return null!=a&&(s=a.compute(s)),s=this.materialize(s),this.scalar(s,n)}{const{value:e,transform:t}=r;let a=e;return null!=t&&(a=t.compute(a)),a=this.materialize(a),this.scalar(a,n)}}}r.ScalarSpec=$,$.__name__=\"ScalarSpec\";class j extends ${}r.AnyScalar=j,j.__name__=\"AnyScalar\";class B extends ${}r.ColorScalar=B,B.__name__=\"ColorScalar\";class L extends ${}r.NumberScalar=L,L.__name__=\"NumberScalar\";class D extends ${}r.StringScalar=D,D.__name__=\"StringScalar\";class E extends ${}r.NullStringScalar=E,E.__name__=\"NullStringScalar\";class P extends ${}r.ArrayScalar=P,P.__name__=\"ArrayScalar\";class T extends ${}r.LineJoinScalar=T,T.__name__=\"LineJoinScalar\";class V extends ${}r.LineCapScalar=V,V.__name__=\"LineCapScalar\";class k extends ${}r.LineDashScalar=k,k.__name__=\"LineDashScalar\";class J extends ${_default_override(){return v.settings.dev?\"Bokeh\":r.unset}}r.FontScalar=J,J.__name__=\"FontScalar\";class X extends ${}r.FontSizeScalar=X,X.__name__=\"FontSizeScalar\";class Y extends ${}r.FontStyleScalar=Y,Y.__name__=\"FontStyleScalar\";class G extends ${}r.TextAlignScalar=G,G.__name__=\"TextAlignScalar\";class I extends ${}r.TextBaselineScalar=I,I.__name__=\"TextBaselineScalar\";class O extends F{constructor(){super(...arguments),this._value=r.unset}get_value(){if(this._value!==r.unset)return this._value;throw new Error(`${this.obj}.${this.attr} is unset`)}_update(e){if(z(e)?this._value=e:this._value={value:e},(0,h.isPlainObject)(this._value)){const{_value:e}=this;this._value[g.serialize]=t=>{const{value:r,field:n,expr:a,transform:s,units:i}=e;return t.encode_struct(void 0!==r?{type:\"value\",value:r,transform:s,units:i}:void 0!==n?{type:\"field\",field:n,transform:s,units:i}:{type:\"expr\",expr:a,transform:s,units:i})}}(0,m.isValue)(this._value)&&this.validate(this._value.value)}materialize(e){return e}v_materialize(e){return e}scalar(e,t){return new A.UniformScalar(e,t)}vector(e){return new A.UniformVector(e)}uniform(e){var t;const r=this.get_value(),n=null!==(t=e.get_length())&&void 0!==t?t:1;if((0,m.isField)(r)){const{field:t,transform:a}=r;let s=e.get_column(t);return null!=s?(null!=a&&(s=a.v_compute(s)),s=this.v_materialize(s),this.vector(s)):(l.logger.warn(`attempted to retrieve property array for nonexistent field '${t}'`),this.scalar(null,n))}if((0,m.isExpr)(r)){const{expr:t,transform:n}=r;let a=t.v_compute(e);return null!=n&&(a=n.v_compute(a)),a=this.v_materialize(a),this.vector(a)}if((0,m.isValue)(r)){const{value:e,transform:t}=r;let a=e;return null!=t&&(a=t.compute(a)),a=this.materialize(a),this.scalar(a,n)}(0,x.unreachable)()}array(e){var t;let r;const n=null!==(t=e.get_length())&&void 0!==t?t:1,a=this.get_value();if((0,m.isField)(a)){const{field:t}=a,s=e.get_column(t);if(null!=s)r=this.normalize(s);else{l.logger.warn(`attempted to retrieve property array for nonexistent field '${t}'`);const e=new Float64Array(n);e.fill(NaN),r=e}}else if((0,m.isExpr)(a)){const{expr:t}=a;r=this.normalize(t.v_compute(e))}else{const e=this.normalize([a.value])[0];if((0,h.isNumber)(e)){const t=new Float64Array(n);t.fill(e),r=t}else r=(0,c.repeat)(e,n)}const{transform:s}=a;return null!=s&&(r=s.v_compute(r)),r}}r.VectorSpec=O,O.__name__=\"VectorSpec\";class R extends O{}r.DataSpec=R,R.__name__=\"DataSpec\";class M extends O{constructor(){super(...arguments),this._value=r.unset}_update(e){if(super._update(e),this._value!==r.unset){const{units:e}=this._value;if(null!=e&&!(0,c.includes)(this.valid_units,e))throw new Error(`units must be one of ${this.valid_units.join(\", \")}; got: ${e}`)}}get units(){var e;return this._value!==r.unset&&null!==(e=this._value.units)&&void 0!==e?e:this.default_units}set units(e){if(this._value===r.unset)throw new Error(`${this.obj}.${this.attr} is unset`);e!=this.default_units?this._value.units=e:delete this._value.units}}r.UnitsSpec=M,M.__name__=\"UnitsSpec\";class H extends M{array(e){return new Float64Array(super.array(e))}}r.NumberUnitsSpec=H,H.__name__=\"NumberUnitsSpec\";class K extends R{}r.BaseCoordinateSpec=K,K.__name__=\"BaseCoordinateSpec\";class Q extends K{}r.CoordinateSpec=Q,Q.__name__=\"CoordinateSpec\";class W extends K{}r.CoordinateSeqSpec=W,W.__name__=\"CoordinateSeqSpec\";class Z extends K{}r.CoordinateSeqSeqSeqSpec=Z,Z.__name__=\"CoordinateSeqSeqSeqSpec\";class ee extends Q{constructor(){super(...arguments),this.dimension=\"x\"}}r.XCoordinateSpec=ee,ee.__name__=\"XCoordinateSpec\";class te extends Q{constructor(){super(...arguments),this.dimension=\"y\"}}r.YCoordinateSpec=te,te.__name__=\"YCoordinateSpec\";class re extends W{constructor(){super(...arguments),this.dimension=\"x\"}}r.XCoordinateSeqSpec=re,re.__name__=\"XCoordinateSeqSpec\";class ne extends W{constructor(){super(...arguments),this.dimension=\"y\"}}r.YCoordinateSeqSpec=ne,ne.__name__=\"YCoordinateSeqSpec\";class ae extends Z{constructor(){super(...arguments),this.dimension=\"x\"}}r.XCoordinateSeqSeqSeqSpec=ae,ae.__name__=\"XCoordinateSeqSeqSeqSpec\";class se extends Z{constructor(){super(...arguments),this.dimension=\"y\"}}r.YCoordinateSeqSeqSeqSpec=se,se.__name__=\"YCoordinateSeqSeqSeqSpec\";class ie extends H{get default_units(){return\"rad\"}get valid_units(){return[..._.AngleUnits]}materialize(e){return e*-(0,d.to_radians_coeff)(this.units)}v_materialize(e){const t=-(0,d.to_radians_coeff)(this.units),r=new Float32Array(e.length);return(0,u.mul)(e,t,r),r}array(e){throw new Error(\"not supported\")}}r.AngleSpec=ie,ie.__name__=\"AngleSpec\";class le extends H{get default_units(){return\"data\"}get valid_units(){return[..._.SpatialUnits]}}r.DistanceSpec=le,le.__name__=\"DistanceSpec\";class _e extends le{materialize(e){return null!=e?e:NaN}}r.NullDistanceSpec=_e,_e.__name__=\"NullDistanceSpec\";class oe extends R{v_materialize(e){return new Uint8Array(e)}array(e){return new Uint8Array(super.array(e))}}r.BooleanSpec=oe,oe.__name__=\"BooleanSpec\";class ce extends R{v_materialize(e){return(0,h.isTypedArray)(e)?e:new Int32Array(e)}array(e){return new Int32Array(super.array(e))}}r.IntSpec=ce,ce.__name__=\"IntSpec\";class ue extends R{v_materialize(e){return(0,h.isTypedArray)(e)?e:new Float64Array(e)}array(e){return new Float64Array(super.array(e))}}r.NumberSpec=ue,ue.__name__=\"NumberSpec\";class de extends ue{valid(e){return(0,h.isNumber)(e)&&e>=0}}r.ScreenSizeSpec=de,de.__name__=\"ScreenSizeSpec\";class Se extends R{materialize(e){return(0,S.encode_rgba)((0,S.color2rgba)(e))}v_materialize(e){if(!(0,f.is_NDArray)(e))return this._from_css_array(e);if(\"uint32\"==e.dtype&&1==e.dimension)return(0,p.to_big_endian)(e);if(\"uint8\"==e.dtype&&1==e.dimension){const[t]=e.shape,r=new o.RGBAArray(4*t);let n=0;for(const t of e)r[n++]=t,r[n++]=t,r[n++]=t,r[n++]=255;return new o.ColorArray(r.buffer)}if(\"uint8\"==e.dtype&&2==e.dimension){const[t,r]=e.shape;if(4==r)return new o.ColorArray(e.buffer);if(3==r){const n=new o.RGBAArray(4*t);for(let a=0,s=0;a0)return e in r?r[e]:r[e]=new v(e,l);throw new TypeError(\"Logger.get() expects a non-empty string name and an optional log-level\")}constructor(e,l=v.INFO){this._name=e,this.set_level(l)}get level(){return this.get_level()}get_level(){return this._log_level}set_level(e){if(e instanceof i)this._log_level=e;else{if(!(0,s.isString)(e)||!(e in v.log_levels))throw new Error(\"Logger.set_level() expects a log-level object or a string name of a log-level\");this._log_level=v.log_levels[e]}const l=`[${this._name}]`;for(const[e,o]of(0,g.entries)(v.log_levels))o.level\",\"*\"),n.HTTPMethod=(0,a.Enum)(\"POST\",\"GET\"),n.HexTileOrientation=(0,a.Enum)(\"pointytop\",\"flattop\"),n.HoverMode=(0,a.Enum)(\"mouse\",\"hline\",\"vline\"),n.ImageOrigin=(0,a.Enum)(\"bottom_left\",\"top_left\",\"bottom_right\",\"top_right\"),n.LatLon=(0,a.Enum)(\"lat\",\"lon\"),n.LegendClickPolicy=(0,a.Enum)(\"none\",\"hide\",\"mute\"),n.LegendLocation=n.Anchor,n.LineCap=(0,a.Enum)(\"butt\",\"round\",\"square\"),n.LineDash=(0,a.Enum)(\"solid\",\"dashed\",\"dotted\",\"dotdash\",\"dashdot\"),n.LineJoin=(0,a.Enum)(\"miter\",\"round\",\"bevel\"),n.LinePolicy=(0,a.Enum)(\"prev\",\"next\",\"nearest\",\"interp\",\"none\"),n.Location=(0,a.Enum)(\"above\",\"below\",\"left\",\"right\"),n.Logo=(0,a.Enum)(\"normal\",\"grey\"),n.MapType=(0,a.Enum)(\"satellite\",\"roadmap\",\"terrain\",\"hybrid\"),n.MarkerType=(0,a.Enum)(\"asterisk\",\"circle\",\"circle_cross\",\"circle_dot\",\"circle_x\",\"circle_y\",\"cross\",\"dash\",\"diamond\",\"diamond_cross\",\"diamond_dot\",\"dot\",\"hex\",\"hex_dot\",\"inverted_triangle\",\"plus\",\"square\",\"square_cross\",\"square_dot\",\"square_pin\",\"square_x\",\"star\",\"star_dot\",\"triangle\",\"triangle_dot\",\"triangle_pin\",\"x\",\"y\"),n.MutedPolicy=(0,a.Enum)(\"show\",\"ignore\"),n.Orientation=(0,a.Enum)(\"vertical\",\"horizontal\"),n.OutputBackend=(0,a.Enum)(\"canvas\",\"svg\",\"webgl\"),n.PaddingUnits=(0,a.Enum)(\"percent\",\"absolute\"),n.Place=(0,a.Enum)(\"above\",\"below\",\"left\",\"right\",\"center\"),n.PointPolicy=(0,a.Enum)(\"snap_to_data\",\"follow_mouse\",\"none\"),n.RadiusDimension=(0,a.Enum)(\"x\",\"y\",\"max\",\"min\"),n.RenderLevel=(0,a.Enum)(\"image\",\"underlay\",\"glyph\",\"guide\",\"annotation\",\"overlay\"),n.ResetPolicy=(0,a.Enum)(\"standard\",\"event_only\"),n.RoundingFunction=(0,a.Enum)(\"round\",\"nearest\",\"floor\",\"rounddown\",\"ceil\",\"roundup\"),n.ScrollbarPolicy=(0,a.Enum)(\"auto\",\"visible\",\"hidden\"),n.SelectionMode=(0,a.Enum)(\"replace\",\"append\",\"intersect\",\"subtract\"),n.Side=(0,a.Enum)(\"above\",\"below\",\"left\",\"right\"),n.SizingMode=(0,a.Enum)(\"stretch_width\",\"stretch_height\",\"stretch_both\",\"scale_width\",\"scale_height\",\"scale_both\",\"fixed\",\"inherit\"),n.Sort=(0,a.Enum)(\"ascending\",\"descending\"),n.SpatialUnits=(0,a.Enum)(\"screen\",\"data\"),n.StartEnd=(0,a.Enum)(\"start\",\"end\"),n.StepMode=(0,a.Enum)(\"after\",\"before\",\"center\"),n.TapBehavior=(0,a.Enum)(\"select\",\"inspect\"),n.TapGesture=(0,a.Enum)(\"tap\",\"doubletap\"),n.TextAlign=(0,a.Enum)(\"left\",\"right\",\"center\"),n.TextBaseline=(0,a.Enum)(\"top\",\"middle\",\"bottom\",\"alphabetic\",\"hanging\",\"ideographic\"),n.TextureRepetition=(0,a.Enum)(\"repeat\",\"repeat_x\",\"repeat_y\",\"no_repeat\"),n.TickLabelOrientation=(0,a.Enum)(\"vertical\",\"horizontal\",\"parallel\",\"normal\"),n.TooltipAttachment=(0,a.Enum)(\"horizontal\",\"vertical\",\"left\",\"right\",\"above\",\"below\"),n.UpdateMode=(0,a.Enum)(\"replace\",\"append\"),n.VerticalAlign=(0,a.Enum)(\"top\",\"middle\",\"bottom\"),n.ToolIcon=(0,a.Enum)(\"append_mode\",\"box_edit\",\"box_select\",\"box_zoom\",\"clear_selection\",\"copy\",\"crosshair\",\"freehand_draw\",\"help\",\"hover\",\"intersect_mode\",\"lasso_select\",\"line_edit\",\"pan\",\"point_draw\",\"poly_draw\",\"poly_edit\",\"polygon_select\",\"range\",\"redo\",\"replace_mode\",\"reset\",\"save\",\"subtract_mode\",\"tap_select\",\"undo\",\"wheel_pan\",\"wheel_zoom\",\"xpan\",\"ypan\",\"zoom_in\",\"zoom_out\")},\n", + " function _(t,e,n,r,s){r();const i=t(1).__importStar(t(8)),a=t(21),o=t(9),u=globalThis.Map,_=globalThis.Set,{hasOwnProperty:l}=Object.prototype;class c{}n.Kind=c,c.__name__=\"Kind\",function(t){class e extends c{valid(t){return void 0!==t}toString(){return\"Any\"}}e.__name__=\"Any\",t.Any=e;class n extends c{valid(t){return void 0!==t}toString(){return\"Unknown\"}}n.__name__=\"Unknown\",t.Unknown=n;class r extends c{valid(t){return i.isBoolean(t)}toString(){return\"Boolean\"}}r.__name__=\"Boolean\",t.Boolean=r;class s extends c{constructor(t){super(),this.obj_type=t}valid(t){return t instanceof this.obj_type}toString(){var t;const e=this.obj_type;return`Ref(${null!==(t=e.__name__)&&void 0!==t?t:e.toString()})`}}s.__name__=\"Ref\",t.Ref=s;class d extends c{valid(t){return i.isObject(t)}toString(){return\"AnyRef\"}}d.__name__=\"AnyRef\",t.AnyRef=d;class p extends c{valid(t){return i.isNumber(t)}toString(){return\"Number\"}}p.__name__=\"Number\",t.Number=p;class y extends p{valid(t){return super.valid(t)&&i.isInteger(t)}toString(){return\"Int\"}}y.__name__=\"Int\",t.Int=y;class S extends p{valid(t){return super.valid(t)&&0<=t&&t<=1}toString(){return\"Percent\"}}S.__name__=\"Percent\",t.Percent=S;class g extends c{constructor(t){super(),this.types=t,this.types=t}valid(t){return this.types.some((e=>e.valid(t)))}toString(){return`Or(${this.types.map((t=>t.toString())).join(\", \")})`}}g.__name__=\"Or\",t.Or=g;class m extends c{constructor(t){super(),this.types=t,this.types=t}valid(t){if(!i.isArray(t))return!1;for(let e=0;et.toString())).join(\", \")})`}}m.__name__=\"Tuple\",t.Tuple=m;class h extends c{constructor(t){super(),this.struct_type=t}valid(t){if(!i.isPlainObject(t))return!1;const{struct_type:e}=this;for(const n of(0,o.keys)(t))if(!l.call(e,n))return!1;for(const n in e)if(l.call(e,n)){const r=e[n],s=t[n];if(!r.valid(s))return!1}return!0}toString(){return`Struct({${(0,o.entries)(this.struct_type).map((([t,e])=>`${t}: ${e}`)).join(\", \")}})`}}h.__name__=\"Struct\",t.Struct=h;class v extends c{constructor(t){super(),this.struct_type=t}valid(t){if(!i.isPlainObject(t))return!1;const{struct_type:e}=this;for(const n of(0,o.keys)(t))if(!l.call(e,n))return!1;for(const n in e)if(l.call(t,n)&&l.call(e,n)){const r=e[n],s=t[n];if(!r.valid(s))return!1}return!0}toString(){return`Struct({${(0,o.entries)(this.struct_type).map((([t,e])=>`${t}?: ${e}`)).join(\", \")}})`}}v.__name__=\"PartialStruct\",t.PartialStruct=v;class f extends c{constructor(t){super(),this.item_type=t}valid(t){return i.isArray(t)||i.isTypedArray(t)}toString(){return`Arrayable(${this.item_type.toString()})`}}f.__name__=\"Arrayable\",t.Arrayable=f;class b extends c{constructor(t){super(),this.item_type=t}valid(t){return i.isArray(t)&&t.every((t=>this.item_type.valid(t)))}toString(){return`Array(${this.item_type.toString()})`}}b.__name__=\"Array\",t.Array=b;class x extends c{valid(t){return null===t}toString(){return\"Null\"}}x.__name__=\"Null\",t.Null=x;class w extends c{constructor(t){super(),this.base_type=t}valid(t){return null===t||this.base_type.valid(t)}toString(){return`Nullable(${this.base_type.toString()})`}}w.__name__=\"Nullable\",t.Nullable=w;class K extends c{constructor(t){super(),this.base_type=t}valid(t){return void 0===t||this.base_type.valid(t)}toString(){return`Opt(${this.base_type.toString()})`}}K.__name__=\"Opt\",t.Opt=K;class N extends c{valid(t){return t instanceof ArrayBuffer}toString(){return\"Bytes\"}}N.__name__=\"Bytes\",t.Bytes=N;class A extends c{valid(t){return i.isString(t)}toString(){return\"String\"}}A.__name__=\"String\",t.String=A;class O extends A{constructor(t){super(),this.regex=t}valid(t){return super.valid(t)&&this.regex.test(t)}toString(){return`Regex(${this.regex.toString()})`}}O.__name__=\"Regex\",t.Regex=O;class $ extends c{constructor(t){super(),this.values=new _(t)}valid(t){return this.values.has(t)}*[Symbol.iterator](){yield*this.values}toString(){return`Enum(${[...this.values].map((t=>t.toString())).join(\", \")})`}}$.__name__=\"Enum\",t.Enum=$;class P extends c{constructor(t){super(),this.item_type=t}valid(t){if(!i.isPlainObject(t))return!1;for(const e in t)if(l.call(t,e)){const n=t[e];if(!this.item_type.valid(n))return!1}return!0}toString(){return`Dict(${this.item_type.toString()})`}}P.__name__=\"Dict\",t.Dict=P;class R extends c{constructor(t,e){super(),this.key_type=t,this.item_type=e}valid(t){if(!(t instanceof u))return!1;for(const[e,n]of t.entries())if(!this.key_type.valid(e)||!this.item_type.valid(n))return!1;return!0}toString(){return`Map(${this.key_type.toString()}, ${this.item_type.toString()})`}}R.__name__=\"Map\",t.Map=R;class j extends c{constructor(t){super(),this.item_type=t}valid(t){if(!(t instanceof _))return!1;for(const e of t)if(!this.item_type.valid(e))return!1;return!0}toString(){return`Set(${this.item_type.toString()})`}}j.__name__=\"Set\",t.Set=j;class B extends c{valid(t){return(0,a.is_Color)(t)}toString(){return\"Color\"}}B.__name__=\"Color\",t.Color=B;class C extends A{toString(){return\"CSSLength\"}}C.__name__=\"CSSLength\",t.CSSLength=C;class M extends c{valid(t){return i.isFunction(t)}toString(){return\"Function(...)\"}}M.__name__=\"Function\",t.Function=M;class k extends c{constructor(t){super(),this.base_type=t}valid(t){return this.base_type.valid(t)&&t>=0}toString(){return`NonNegative(${this.base_type.toString()})`}}k.__name__=\"NonNegative\",t.NonNegative=k;class D extends c{constructor(t){super(),this.base_type=t}valid(t){return this.base_type.valid(t)&&t>0}toString(){return`Positive(${this.base_type.toString()})`}}D.__name__=\"Positive\",t.Positive=D;class F extends c{valid(t){return t instanceof Node}toString(){return\"DOMNode\"}}F.__name__=\"DOMNode\",t.DOMNode=F}(n.Kinds||(n.Kinds={})),n.Any=new n.Kinds.Any,n.Unknown=new n.Kinds.Unknown,n.Boolean=new n.Kinds.Boolean,n.Number=new n.Kinds.Number,n.Int=new n.Kinds.Int,n.Bytes=new n.Kinds.Bytes,n.String=new n.Kinds.String;n.Regex=t=>new n.Kinds.Regex(t),n.Null=new n.Kinds.Null;n.Nullable=t=>new n.Kinds.Nullable(t);n.Opt=t=>new n.Kinds.Opt(t);n.Or=(...t)=>new n.Kinds.Or(t);n.Tuple=(...t)=>new n.Kinds.Tuple(t);n.Struct=t=>new n.Kinds.Struct(t);n.PartialStruct=t=>new n.Kinds.PartialStruct(t);n.Arrayable=t=>new n.Kinds.Arrayable(t);n.Array=t=>new n.Kinds.Array(t);n.Dict=t=>new n.Kinds.Dict(t);n.Map=(t,e)=>new n.Kinds.Map(t,e);n.Set=t=>new n.Kinds.Set(t);n.Enum=(...t)=>new n.Kinds.Enum(t);n.Ref=t=>new n.Kinds.Ref(t);n.AnyRef=()=>new n.Kinds.AnyRef;n.Function=()=>new n.Kinds.Function,n.DOMNode=new n.Kinds.DOMNode;n.NonNegative=t=>new n.Kinds.NonNegative(t);n.Positive=t=>new n.Kinds.Positive(t),n.Percent=new n.Kinds.Percent,n.Alpha=n.Percent,n.Color=new n.Kinds.Color,n.Auto=(0,n.Enum)(\"auto\"),n.CSSLength=new n.Kinds.CSSLength,n.FontSize=n.String,n.Font=n.String,n.Angle=n.Number},\n", + " function _(n,r,t,e,s){e();const u=n(22),i=n(11),c=n(8),{round:o,sqrt:l}=Math;function a(n){return(0,i.clamp)(o(n),0,255)}function f(){return[0,0,0,0]}function g(n){return[n>>24&255,n>>16&255,n>>8&255,255&n]}function b(n,r=1){const[t,e,s,u]=(()=>{var r;if(null==n)return[0,0,0,0];if((0,c.isInteger)(n))return g(n);if((0,c.isString)(n))return null!==(r=_(n))&&void 0!==r?r:[0,0,0,0];if(2==n.length){const[r,t]=n;return b(r,t)}{const[r,t,e,s=1]=n;return[r,t,e,a(255*s)]}})();return[t,e,s,a(r*u)]}t.byte=a,t.transparent=f,t.encode_rgba=function([n,r,t,e]){return n<<24|r<<16|t<<8|e},t.decode_rgba=g,t.color2rgba=b;const d={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 h(n){return d[n>>4]+d[15&n]}t.color2css=function(n,r){const[t,e,s,u]=b(n,r);return`rgba(${t}, ${e}, ${s}, ${u/255})`},t.color2hex=function(n,r){const[t,e,s,u]=b(n,r),i=`#${h(t)}${h(e)}${h(s)}`;return 255==u?i:`${i}${h(u)}`},t.color2hexrgb=function(n){const[r,t,e]=b(n);return`#${h(r)}${h(t)}${h(e)}`};const $=/^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*\\)$/,N=(()=>{const n=document.createElement(\"canvas\");n.width=1,n.height=1;const r=n.getContext(\"2d\"),t=r.createLinearGradient(0,0,1,1);return n=>{r.fillStyle=t,r.fillStyle=n;const e=r.fillStyle;return e!=t?e:null}})();function _(n){var r;if(\"\"==(n=n.trim().toLowerCase()))return null;if(\"transparent\"==n)return[0,0,0,0];if((0,u.is_named_color)(n))return g(u.named_colors[n]);if(\"#\"==n[0]){const r=Number(`0x${n.substring(1)}`);if(isNaN(r))return null;switch(n.length-1){case 3:{const n=r>>8&15,t=r>>4&15,e=r>>0&15;return[n<<4|n,t<<4|t,e<<4|e,255]}case 4:{const n=r>>12&15,t=r>>8&15,e=r>>4&15,s=r>>0&15;return[n<<4|n,t<<4|t,e<<4|e,s<<4|s]}case 6:return[r>>16&255,r>>8&255,r>>0&255,255];case 8:return[r>>24&255,r>>16&255,r>>8&255,r>>0&255]}}else if(n.startsWith(\"rgb\")){const t=null!==(r=n.match($))&&void 0!==r?r:n.match(m);if(null!=(null==t?void 0:t.groups)){let{r:n,g:r,b:e,a:s=\"1\"}=t.groups;const u=n.endsWith(\"%\"),i=r.endsWith(\"%\"),c=e.endsWith(\"%\"),o=s.endsWith(\"%\");if(!(u&&i&&c)&&(u||i||c))return null;u&&(n=n.slice(0,-1)),i&&(r=r.slice(0,-1)),c&&(e=e.slice(0,-1)),o&&(s=s.slice(0,-1));let l=Number(n),f=Number(r),g=Number(e),b=Number(s);return isNaN(l+f+g+b)?null:(u&&(l=l/100*255),i&&(f=f/100*255),c&&(g=g/100*255),b=255*(o?b/100:b),l=a(l),f=a(f),g=a(g),b=a(b),[l,f,g,b])}}else{const r=N(n);if(null!=r)return _(r)}return null}t.css4_parse=_,t.is_Color=function(n){return!!(0,c.isInteger)(n)||(!(!(0,c.isString)(n)||null==_(n))||!(!(0,c.isArray)(n)||3!=n.length&&4!=n.length))},t.is_dark=function([n,r,t]){return 1-(.299*n+.587*r+.114*t)/255>=.6},t.brightness=function(n){const[r,t,e]=b(n);return l(.299*r**2+.587*t**2+.114*e**2)/255}},\n", + " function _(e,r,l,a,i){a();l.named_colors={aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199},l.is_named_color=function(e){return e in l.named_colors}},\n", + " function _(r,t,n,a,o){a(),n.GeneratorFunction=Object.getPrototypeOf((function*(){})).constructor,n.ColorArray=Uint32Array,n.RGBAArray=Uint8ClampedArray,n.infer_type=function(r,t){return r instanceof Float64Array||r instanceof Array||t instanceof Float64Array||t instanceof Array?Float64Array:Float32Array},n.ScreenArray=Float32Array,n.to_screen=function(r){return r instanceof Float32Array?r:Float32Array.from(r)},o(\"Indices\",r(24).BitSet)},\n", + " function _(t,s,r,e,i){var n;e();const o=t(25),_=t(12);class h{constructor(t,s=0){this[n]=\"BitSet\",this._count=null,this.size=t,this._nwords=Math.ceil(t/h._word_length),0==s||1==s?(this._array=new Uint32Array(this._nwords),1==s&&this._array.fill(4294967295)):((0,_.assert)(s.length==this._nwords,\"Initializer size mismatch\"),this._array=s)}clone(){return new h(this.size,new Uint32Array(this._array))}[(n=Symbol.toStringTag,o.equals)](t,s){if(!s.eq(this.size,t.size))return!1;const{_nwords:r}=this,e=this.size%h._word_length,i=0==e?r:r-1;for(let s=0;s>>5,r=31&t;return 1==(this._array[s]>>r&1)}set(t,s=!0){this._check_bounds(t),this._count=null;const r=t>>>5,e=31&t;s?this._array[r]|=1<>>t&1)&&(e+=1)}return e}*ones(){const{_array:t,_nwords:s,size:r}=this;for(let e=0,i=0;i>>t&1)&&(yield e);else e+=h._word_length}}*zeros(){const{_array:t,_nwords:s,size:r}=this;for(let e=0,i=0;i>>t&1)&&(yield e);else e+=h._word_length}}_check_size(t){(0,_.assert)(this.size==t.size,`Size mismatch (${this.size} != ${t.size})`)}invert(){for(let t=0;t>>0}add(t){this._check_size(t);for(let s=0;s0;)if(n[c]===t)return o[c]===e;n.push(t),o.push(e);const u=(()=>{if(a(t)&&a(e))return t[r.equals](e,this);switch(s){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(\"undefined\"!=typeof Node&&t instanceof Node)return this.nodes(t,e);throw Error(`can't compare objects of type ${s}`)})();return n.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 s=0;s0,i.is_little_endian=(()=>{const n=new ArrayBuffer(4),t=new Uint8Array(n);new Uint32Array(n)[1]=168496141;let i=!0;return 10==t[4]&&11==t[5]&&12==t[6]&&13==t[7]&&(i=!1),i})(),i.BYTE_ORDER=i.is_little_endian?\"little\":\"big\",i.to_big_endian=function(n){if(i.is_little_endian){const t=new Uint32Array(n.length),i=new DataView(t.buffer);let e=0;for(const t of n)i.setUint32(e,t),e+=4;return t}return n}},\n", + " function _(i,n,e,t,u){t();const c=i(8);e.isValue=function(i){return(0,c.isPlainObject)(i)&&\"value\"in i},e.isField=function(i){return(0,c.isPlainObject)(i)&&\"field\"in i},e.isExpr=function(i){return(0,c.isPlainObject)(i)&&\"expr\"in i}},\n", + " function _(e,t,r,s,_){s();class i{constructor(){this._dev=!1,this._wireframe=!1,this._force_webgl=!1}set dev(e){this._dev=e}get dev(){return this._dev}set wireframe(e){this._wireframe=e}get wireframe(){return this._wireframe}set force_webgl(e){this._force_webgl=e}get force_webgl(){return this._force_webgl}}r.Settings=i,i.__name__=\"Settings\",r.settings=new i},\n", + " function _(t,e,s,r,n){var a,i,h,u,l,o,p,c,y,_;r();const A=t(8),d=t(26),g=t(25),f=t(30),m=Symbol(\"__ndarray__\");function N(t,e){return{type:\"ndarray\",array:e.encode(\"object\"==t.dtype?Array.from(t):t.buffer),order:d.BYTE_ORDER,dtype:t.dtype,shape:t.shape}}class D extends Uint8Array{constructor(t,e){super(t),this[a]=!0,this.dtype=\"bool\",this.shape=null!=e?e:B(t)?t.shape:[this.length],this.dimension=this.shape.length}[(a=m,g.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[f.serialize](t){return N(this,t)}get(t){return 1==this[t]}}s.BoolNDArray=D,D.__name__=\"BoolNDArray\";class q extends Uint8Array{constructor(t,e){super(t),this[i]=!0,this.dtype=\"uint8\",this.shape=null!=e?e:B(t)?t.shape:[this.length],this.dimension=this.shape.length}[(i=m,g.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[f.serialize](t){return N(this,t)}get(t){return this[t]}}s.Uint8NDArray=q,q.__name__=\"Uint8NDArray\";class b extends Int8Array{constructor(t,e){super(t),this[h]=!0,this.dtype=\"int8\",this.shape=null!=e?e:B(t)?t.shape:[this.length],this.dimension=this.shape.length}[(h=m,g.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[f.serialize](t){return N(this,t)}get(t){return this[t]}}s.Int8NDArray=b,b.__name__=\"Int8NDArray\";class w extends Uint16Array{constructor(t,e){super(t),this[u]=!0,this.dtype=\"uint16\",this.shape=null!=e?e:B(t)?t.shape:[this.length],this.dimension=this.shape.length}[(u=m,g.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[f.serialize](t){return N(this,t)}get(t){return this[t]}}s.Uint16NDArray=w,w.__name__=\"Uint16NDArray\";class U extends Int16Array{constructor(t,e){super(t),this[l]=!0,this.dtype=\"int16\",this.shape=null!=e?e:B(t)?t.shape:[this.length],this.dimension=this.shape.length}[(l=m,g.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[f.serialize](t){return N(this,t)}get(t){return this[t]}}s.Int16NDArray=U,U.__name__=\"Int16NDArray\";class I extends Uint32Array{constructor(t,e){super(t),this[o]=!0,this.dtype=\"uint32\",this.shape=null!=e?e:B(t)?t.shape:[this.length],this.dimension=this.shape.length}[(o=m,g.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[f.serialize](t){return N(this,t)}get(t){return this[t]}}s.Uint32NDArray=I,I.__name__=\"Uint32NDArray\";class x extends Int32Array{constructor(t,e){super(t),this[p]=!0,this.dtype=\"int32\",this.shape=null!=e?e:B(t)?t.shape:[this.length],this.dimension=this.shape.length}[(p=m,g.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[f.serialize](t){return N(this,t)}get(t){return this[t]}}s.Int32NDArray=x,x.__name__=\"Int32NDArray\";class z extends Float32Array{constructor(t,e){super(t),this[c]=!0,this.dtype=\"float32\",this.shape=null!=e?e:B(t)?t.shape:[this.length],this.dimension=this.shape.length}[(c=m,g.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[f.serialize](t){return N(this,t)}get(t){return this[t]}}s.Float32NDArray=z,z.__name__=\"Float32NDArray\";class F extends Float64Array{constructor(t,e){super(t),this[y]=!0,this.dtype=\"float64\",this.shape=null!=e?e:B(t)?t.shape:[this.length],this.dimension=this.shape.length}[(y=m,g.equals)](t,e){return e.eq(this.shape,t.shape)&&e.arrays(this,t)}[f.serialize](t){return N(this,t)}get(t){return this[t]}}s.Float64NDArray=F,F.__name__=\"Float64NDArray\";class j extends Array{get shape(){var t;return null!==(t=this._shape)&&void 0!==t?t:[this.length]}get dimension(){return this.shape.length}constructor(t,e){const s=t instanceof ArrayBuffer?new Float64Array(t):t;if(super((0,A.isNumber)(s)?s:s.length),this[_]=!0,this.dtype=\"object\",!(0,A.isNumber)(s))for(let t=0;t{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 ArrayBuffer:case t instanceof Float64Array:return\"float64\";default:return\"object\"}})()),e){case\"bool\":return new D(t,s);case\"uint8\":return new q(t,s);case\"int8\":return new b(t,s);case\"uint16\":return new w(t,s);case\"int16\":return new U(t,s);case\"uint32\":return new I(t,s);case\"int32\":return new x(t,s);case\"float32\":return new z(t,s);case\"float64\":return new F(t,s);case\"object\":return new j(t,s)}}},\n", + " function _(r,e,i,a,f){a();const o=r(1);var l=r(31);f(\"Serializer\",l.Serializer),f(\"SerializationError\",l.SerializationError),f(\"serialize\",l.serialize);var t=r(33);f(\"Buffer\",t.Buffer),f(\"Base64Buffer\",t.Base64Buffer),o.__exportStar(r(35),i)},\n", + " function _(e,r,t,n,i){n();const s=e(12),a=e(9),o=e(8),c=e(32),l=e(26),u=e(33);t.serialize=Symbol(\"serialize\");class f extends Error{}t.SerializationError=f,f.__name__=\"SerializationError\";class y{constructor(e){this.value=e}to_json(){return JSON.stringify(this.value)}}y.__name__=\"Serialized\";class d{constructor(e){var r,t;this._circular=new WeakSet,this.binary=null!==(r=null==e?void 0:e.binary)&&void 0!==r&&r,this.include_defaults=null!==(t=null==e?void 0:e.include_defaults)&&void 0!==t&&t;const n=null==e?void 0:e.references;this._references=null!=n?new Map(n):new Map}get_ref(e){return this._references.get(e)}add_ref(e,r){(0,s.assert)(!this._references.has(e)),this._references.set(e,r)}to_serializable(e){return new y(this.encode(e))}encode(e){const r=this.get_ref(e);if(null!=r)return r;if(!(0,o.isObject)(e))return this._encode(e);this._circular.has(e)&&this.error(\"circular reference\"),this._circular.add(e);try{return this._encode(e)}finally{this._circular.delete(e)}}_encode(e){if(function(e){return(0,o.isObject)(e)&&t.serialize in e}(e))return e[t.serialize](this);if((0,o.isArray)(e)){const r=e.length,t=new Array(r);for(let n=0;n[this.encode(e),this.encode(r)]))]}}if(null===e||(0,o.isBoolean)(e)||(0,o.isString)(e))return e;if((0,o.isNumber)(e))return isNaN(e)?{type:\"number\",value:\"nan\"}:isFinite(e)?e:{type:\"number\",value:(e<0?\"-\":\"+\")+\"inf\"};if(e instanceof Date){return{type:\"date\",iso:e.toISOString()}}if(e instanceof Set)return 0==e.size?{type:\"set\"}:{type:\"set\",entries:[...(0,c.map)(e.values(),(e=>this.encode(e)))]};if(e instanceof Map)return 0==e.size?{type:\"map\"}:{type:\"map\",entries:[...(0,c.map)(e.entries(),(([e,r])=>[this.encode(e),this.encode(r)]))]};if((0,o.isSymbol)(e)&&null!=e.description)return{type:\"symbol\",name:e.description};throw new f(`${Object.prototype.toString.call(e)} is not serializable`)}encode_struct(e){const r={};for(const[t,n]of(0,a.entries)(e))void 0!==n&&(r[t]=this.encode(n));return r}error(e){throw new f(e)}_encode_typed_array(e){const r=this.encode(e.buffer),t=(()=>{switch(e.constructor){case Uint8Array:return\"uint8\";case Int8Array:return\"int8\";case Uint16Array:return\"uint16\";case Int16Array:return\"int16\";case Uint32Array:return\"uint32\";case Int32Array:return\"int32\";case Float32Array:return\"float32\";case Float64Array:return\"float64\";default:this.error(`can't serialize typed array of type '${e[Symbol.toStringTag]}'`)}})();return{type:\"typed_array\",array:r,order:l.BYTE_ORDER,dtype:t}}}t.Serializer=d,d.__name__=\"Serializer\"},\n", + " function _(n,o,t,e,f){e();const i=n(10),r=n(12),{abs:l,ceil:c,max:s}=Math;function*u(n){const o=n.length;for(let t=0;t=0);for(const t of n)0==o?yield t:o-=1}function*y(n,o){const t=n.length;if(o>t)return;const e=(0,i.range)(o);for(yield e.map((o=>n[o]));;){let f;for(const n of u((0,i.range)(o)))if(e[n]!=n+t-o){f=n;break}if(null==f)return;e[f]+=1;for(const n of(0,i.range)(f+1,o))e[n]=e[n-1]+1;yield e.map((o=>n[o]))}}t.range=function*(n,o,t=1){(0,r.assert)(t>0),null==o&&(o=n,n=0);const e=n<=o?t:-t,f=s(c(l(o-n)/t),0);for(let o=0;o=0);let t=0;for(const e of n){if(!(t++String.fromCharCode(t)));return btoa(e.join(\"\"))},e.base64_to_buffer=function(t){const n=atob(t),e=n.length,r=new Uint8Array(e);for(let t=0,o=e;t\"'`])/g,(e=>{switch(e){case\"&\":return\"&\";case\"<\":return\"<\";case\">\":return\">\";case'\"':return\""\";case\"'\":return\"'\";case\"`\":return\"`\";default:return e}}))},r.unescape=function(e){return e.replace(/&(amp|lt|gt|quot|#x27|#x60);/g,((e,t)=>{switch(t){case\"amp\":return\"&\";case\"lt\":return\"<\";case\"gt\":return\">\";case\"quot\":return'\"';case\"#x27\":return\"'\";case\"#x60\":return\"`\";default:return t}}))},r.use_strict=function(e){return`'use strict';\\n${e}`},r.to_fixed=function(e,t){return e.toFixed(t).replace(/(\\.[0-9]*?)0+$/,\"$1\").replace(/\\.$/,\"\")},r.insert_text_on_position=function(e,t,r){const n=[];return n.push(e.slice(0,t)),n.push(r),n.push(e.slice(t)),n.join(\"\")}},\n", + " function _(e,t,s,n,a){n();const i=e(25),r=e(30);class d{constructor(e){this.document=e}get[Symbol.toStringTag](){return this.constructor.__name__}[i.equals](e,t){return t.eq(this.document,e.document)}}s.DocumentEvent=d,d.__name__=\"DocumentEvent\";class o extends d{constructor(e,t){super(e),this.events=t}[i.equals](e,t){return super[i.equals](e,t)&&t.eq(this.events,e.events)}}s.DocumentEventBatch=o,o.__name__=\"DocumentEventBatch\";class l extends d{}s.DocumentChangedEvent=l,l.__name__=\"DocumentChangedEvent\";class h extends l{constructor(e,t,s){super(e),this.kind=\"MessageSent\",this.msg_type=t,this.msg_data=s}[i.equals](e,t){return super[i.equals](e,t)&&t.eq(this.msg_type,e.msg_type)&&t.eq(this.msg_data,e.msg_data)}[r.serialize](e){return{kind:this.kind,msg_type:this.msg_type,msg_data:e.encode(this.msg_data)}}}s.MessageSentEvent=h,h.__name__=\"MessageSentEvent\";class u extends l{constructor(e,t,s,n){super(e),this.kind=\"ModelChanged\",this.model=t,this.attr=s,this.value=n}[i.equals](e,t){return super[i.equals](e,t)&&t.eq(this.model,e.model)&&t.eq(this.attr,e.attr)&&t.eq(this.value,e.value)}[r.serialize](e){return{kind:this.kind,model:this.model.ref(),attr:this.attr,new:e.encode(this.value)}}}s.ModelChangedEvent=u,u.__name__=\"ModelChangedEvent\";class m extends l{constructor(e,t,s,n,a){super(e),this.kind=\"ColumnDataChanged\",this.model=t,this.attr=s,this.data=n,this.cols=a}[i.equals](e,t){return super[i.equals](e,t)&&t.eq(this.model,e.model)&&t.eq(this.attr,e.attr)&&t.eq(this.data,e.data)&&t.eq(this.cols,e.cols)}[r.serialize](e){return{kind:this.kind,model:this.model.ref(),attr:this.attr,data:e.encode(this.data),cols:this.cols}}}s.ColumnDataChangedEvent=m,m.__name__=\"ColumnDataChangedEvent\";class c extends l{constructor(e,t,s,n,a){super(e),this.kind=\"ColumnsStreamed\",this.model=t,this.attr=s,this.data=n,this.rollover=a}[i.equals](e,t){return super[i.equals](e,t)&&t.eq(this.model,e.model)&&t.eq(this.attr,e.attr)&&t.eq(this.data,e.data)&&t.eq(this.rollover,e.rollover)}[r.serialize](e){return{kind:this.kind,model:this.model.ref(),attr:this.attr,data:e.encode(this.data),rollover:this.rollover}}}s.ColumnsStreamedEvent=c,c.__name__=\"ColumnsStreamedEvent\";class _ extends l{constructor(e,t,s,n){super(e),this.kind=\"ColumnsPatched\",this.model=t,this.attr=s,this.patches=n}[i.equals](e,t){return super[i.equals](e,t)&&t.eq(this.model,e.model)&&t.eq(this.attr,e.attr)&&t.eq(this.patches,e.patches)}[r.serialize](e){return{kind:this.kind,attr:this.attr,model:this.model.ref(),patches:e.encode(this.patches)}}}s.ColumnsPatchedEvent=_,_.__name__=\"ColumnsPatchedEvent\";class q extends l{constructor(e,t){super(e),this.kind=\"TitleChanged\",this.title=t}[i.equals](e,t){return super[i.equals](e,t)&&t.eq(this.title,e.title)}[r.serialize](e){return{kind:this.kind,title:this.title}}}s.TitleChangedEvent=q,q.__name__=\"TitleChangedEvent\";class v extends l{constructor(e,t){super(e),this.kind=\"RootAdded\",this.model=t}[i.equals](e,t){return super[i.equals](e,t)&&t.eq(this.model,e.model)}[r.serialize](e){return{kind:this.kind,model:e.encode(this.model)}}}s.RootAddedEvent=v,v.__name__=\"RootAddedEvent\";class p extends l{constructor(e,t){super(e),this.kind=\"RootRemoved\",this.model=t}[i.equals](e,t){return super[i.equals](e,t)&&t.eq(this.model,e.model)}[r.serialize](e){return{kind:this.kind,model:this.model.ref()}}}s.RootRemovedEvent=p,p.__name__=\"RootRemovedEvent\"},\n", + " function _(t,r,i,n,e){n();const s=t(8),o=t(9);i.pretty=Symbol(\"pretty\");class u{constructor(t){this.visited=new Set,this.precision=null==t?void 0:t.precision}to_string(t){if((0,s.isObject)(t)){if(this.visited.has(t))return\"\";this.visited.add(t)}return function(t){return(0,s.isObject)(t)&&i.pretty in t}(t)?t[i.pretty](this):(0,s.isBoolean)(t)?this.boolean(t):(0,s.isNumber)(t)?this.number(t):(0,s.isString)(t)?this.string(t):(0,s.isArray)(t)?this.array(t):(0,s.isIterable)(t)?this.iterable(t):(0,s.isPlainObject)(t)?this.object(t):(0,s.isSymbol)(t)?this.symbol(t):t instanceof ArrayBuffer?this.array_buffer(t):`${t}`}token(t){return t}boolean(t){return`${t}`}number(t){return null!=this.precision?t.toFixed(this.precision):`${t}`}string(t){const r=t.includes(\"'\"),i=t.includes('\"');return r&&i?`\\`${t.replace(/`/g,\"\\\\`\")}\\``:i?`'${t}'`:`\"${t}\"`}symbol(t){return t.toString()}array(t){const r=this.token,i=[];for(const r of t)i.push(this.to_string(r));return`${r(\"[\")}${i.join(`${r(\",\")} `)}${r(\"]\")}`}iterable(t){var r;const i=this.token,n=null!==(r=Object(t)[Symbol.toStringTag])&&void 0!==r?r:\"Object\",e=this.array(t);return`${n}${i(\"(\")}${e}${i(\")\")}`}object(t){const r=this.token,i=[];for(const[n,e]of(0,o.entries)(t))i.push(`${n}${r(\":\")} ${this.to_string(e)}`);return`${r(\"{\")}${i.join(`${r(\",\")} `)}${r(\"}\")}`}array_buffer(t){return`ArrayBuffer(#${t.byteLength})`}}i.Printer=u,u.__name__=\"Printer\",i.to_string=function(t,r){return new u(r).to_string(t)}},\n", + " function _(n,e,t,o,r){o();const i=n(9),c=n(8);function l(n){return(0,c.isObject)(n)&&t.clone in n}t.clone=Symbol(\"clone\"),t.is_Cloneable=l;class s extends Error{}t.CloningError=s,s.__name__=\"CloningError\";class a{constructor(){}clone(n){if(l(n))return n[t.clone](this);if((0,c.isPrimitive)(n))return n;if((0,c.isArray)(n)){const e=n.length,t=new Array(e);for(let o=0;o[this.clone(n),this.clone(e)])));if(n instanceof Set)return new Set([...n].map((n=>this.clone(n))));throw new s(`${Object.prototype.toString.call(n)} is not cloneable`)}}t.Cloner=a,a.__name__=\"Cloner\"},\n", + " function _(t,r,n,e,o){e();const s=t(1),u=t(8),c=t(9),l=t(43),i=s.__importStar(t(44));function a(t,r,n){if((0,u.isArray)(t)&&(0,u.isArray)(r)){const e=t.concat(r);return null!=n&&e.length>n?e.slice(-n):e}const e=t.length+r.length;if(null!=n&&e>n){const o=e-n,s=t.length,c=(()=>{if(t.length{if((0,u.isTypedArray)(t))return t.constructor;if((0,u.isTypedArray)(r))return r.constructor;throw new Error(\"unsupported array types\")})())(n);return e.set(t,0),e}return t})();for(let t=o,r=s;t{if((0,u.isTypedArray)(t))return t;if((0,u.isTypedArray)(r))return new r.constructor(t);throw new Error(\"unsupported array types\")})();return i.concat(n,r)}}function f(t,r){let n,e,o;return(0,u.isNumber)(t)?(n=t,o=t+1,e=1):(n=null!=t.start?t.start:0,o=null!=t.stop?t.stop:r,e=null!=t.step?t.step:1),[n,o,e]}function p(t,r){const n=new Set;let e=!1;for(const[o,s]of r){let r,c,l,i;if((0,u.isArray)(o)){const[e]=o;n.add(e),r=t[e].shape,c=t[e],i=s,2===o.length?(r=[1,r[0]],l=[o[0],0,o[1]]):l=o}else(0,u.isNumber)(o)?(i=[s],n.add(o)):(i=s,e=!0),l=[0,0,o],r=[1,t.length],c=t;let a=0;const[p,y,h]=f(l[1],r[0]),[d,_,m]=f(l[2],r[1]);for(let t=p;t{try{return this._decode(e)}finally{n=new Set(this._finalizable),this._decoding=!1,this._buffers.clear(),this._finalizable.clear()}})();for(const e of n)null===(t=this.finalize)||void 0===t||t.call(this,e),e.finalize(),e.assert_initialized();for(const e of n)e.connect_signals();return s}_decode(e){if((0,l.isArray)(e))return this._decode_plain_array(e);if(!(0,l.isPlainObject)(e))return e;if(!(0,l.isString)(e.type))return(0,l.isString)(e.id)?this._decode_ref(e):this._decode_plain_object(e);{const r=h.get(e.type);if(null!=r)return r(e,this);switch(e.type){case\"ref\":return this._decode_ref(e);case\"symbol\":return this._decode_symbol(e);case\"number\":return this._decode_number(e);case\"array\":return this._decode_array(e);case\"set\":return this._decode_set(e);case\"map\":return this._decode_map(e);case\"bytes\":return this._decode_bytes(e);case\"slice\":return this._decode_slice(e);case\"date\":return this._decode_date(e);case\"value\":return this._decode_value(e);case\"field\":return this._decode_field(e);case\"expr\":return this._decode_expr(e);case\"typed_array\":return this._decode_typed_array(e);case\"ndarray\":return this._decode_ndarray(e);case\"object\":return(0,l.isString)(e.id)?this._decode_object_ref(e):this._decode_object(e);default:this.error(`unable to decode an object of type '${e.type}'`)}}}_decode_symbol(e){this.error(`can't resolve named symbol '${e.name}'`)}_decode_number(e){if(\"value\"in e){const{value:r}=e;if((0,l.isString)(r))switch(r){case\"nan\":return NaN;case\"+inf\":return 1/0;case\"-inf\":return-1/0}else if((0,l.isNumber)(r))return r}this.error(`invalid number representation '${e}'`)}_decode_plain_array(e){return(0,c.map)(e,(e=>this._decode(e)))}_decode_plain_object(e){const r={};for(const[t,n]of(0,a.entries)(e))r[t]=this._decode(n);return r}_decode_array(e){var r;const t=[];for(const n of null!==(r=e.entries)&&void 0!==r?r:[])t.push(this._decode(n));return t}_decode_set(e){var r;const t=new Set;for(const n of null!==(r=e.entries)&&void 0!==r?r:[])t.add(this._decode(n));return t}_decode_map(e){var r;const t=(0,c.map)(null!==(r=e.entries)&&void 0!==r?r:[],(([e,r])=>[this._decode(e),this._decode(r)]));if((0,c.every)(t,(([e])=>(0,l.isString)(e)))){const e={};for(const[r,n]of t)e[r]=n;return e}return new Map(t)}_decode_bytes(e){const{data:r}=e;if(!(0,d.is_ref)(r))return(0,l.isString)(r)?(0,u.base64_to_buffer)(r):r.buffer;{const e=this._buffers.get(r.id);if(null!=e)return e;this.error(`buffer for id=${r.id} not found`)}}_decode_slice(e){const r=this._decode(e.start),t=this._decode(e.stop),n=this._decode(e.step);return new f.Slice({start:r,stop:t,step:n})}_decode_date(e){const r=this._decode(e.iso);return new Date(r)}_decode_value(e){return{value:this._decode(e.value),transform:null!=e.transform?this._decode(e.transform):void 0,units:null!=e.units?this._decode(e.units):void 0}}_decode_field(e){return{field:this._decode(e.field),transform:null!=e.transform?this._decode(e.transform):void 0,units:null!=e.units?this._decode(e.units):void 0}}_decode_expr(e){return{expr:this._decode(e.expr),transform:null!=e.transform?this._decode(e.transform):void 0,units:null!=e.units?this._decode(e.units):void 0}}_decode_typed_array(e){const{array:r,order:t,dtype:n}=e,s=this._decode(r);switch(t!=_.BYTE_ORDER&&(0,u.swap)(s,n),n){case\"uint8\":return new Uint8Array(s);case\"int8\":return new Int8Array(s);case\"uint16\":return new Uint16Array(s);case\"int16\":return new Int16Array(s);case\"uint32\":return new Uint32Array(s);case\"int32\":return new Int32Array(s);case\"float32\":return new Float32Array(s);case\"float64\":return new Float64Array(s);default:this.error(`unsupported dtype '${n}'`)}}_decode_ndarray(e){const{array:r,order:t,dtype:n,shape:s}=e,i=this._decode(r);return i instanceof ArrayBuffer&&t!=_.BYTE_ORDER&&(0,u.swap)(i,n),(0,o.ndarray)(i,{dtype:n,shape:s})}_decode_object(e){const{type:r,attributes:t}=e,n=this._resolve_type(r);return null!=t?new n(this._decode(t)):new n}_decode_ref(e){const r=this.references.get(e.id);if(null!=r)return r;this.error(`reference ${e.id} isn't known`)}_decode_object_ref(e){const r=this.references.get(e.id);if(null!=r)return this.warning(`reference already known '${e.id}'`),r;const{id:t,name:n,attributes:s}=e,i=new(this._resolve_type(n))({id:t});this.references.set(t,i);const d=this._decode(null!=s?s:{});return i.initialize_props(new a.Dict(d)),this._finalizable.add(i),i}error(e){throw new y(e)}warning(e){i.logger.warn(e)}_resolve_type(e){const r=this.resolver.get(e);if(null!=r)return r;this.error(`could not resolve type '${e}', which could be due to a widget or a custom model not being registered before first usage`)}}t.Deserializer=p,p.__name__=\"Deserializer\"},\n", + " function _(n,i,t,c,e){c();const f=n(8);t.is_ref=function(n){return(0,f.isPlainObject)(n)&&\"id\"in n&&!(\"type\"in n)}},\n", + " function _(t,s,e,l,n){l();const i=t(30);class c{constructor({start:t,stop:s,step:e}={}){this.start=null!=t?t:null,this.stop=null!=s?s:null,this.step=null!=e?e:null}[i.serialize](t){return{type:\"slice\",start:t.encode(this.start),stop:t.encode(this.stop),step:t.encode(this.step)}}}e.Slice=c,c.__name__=\"Slice\"},\n", + " function _(n,e,r,c,i){c(),r.pyify_version=function(n){return n.replace(/-(dev|rc)\\./,\".$1\")}},\n", + " function _(e,t,s,n,c){var i;n();const a=e(14),r=e(8),l=e(9),o=e(25),_=e(18);class h extends a.HasProps{get is_syncable(){return this.syncable}[o.equals](e,t){return(!!t.structural||t.eq(this.id,e.id))&&super[o.equals](e,t)}constructor(e){super(e)}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=(0,l.dict)(this.js_event_callbacks).get(e.event_name))&&void 0!==t?t:[])s.execute(e);null!=this.document&&this.subscribed_events.has(e.event_name)&&this.document.event_manager.send_event(e)}trigger_event(e){null!=this.document&&(e.origin=this,this.document.event_manager.trigger(e))}_update_event_callbacks(){null!=this.document?this.document.event_manager.subscribed_models.add(this):_.logger.warn(\"WARNING: Document not defined for updating event callbacks\")}_update_property_callbacks(){const e=e=>{const[t,s=null]=e.split(\":\");return null!=s?this.properties[s][t]:this[t]};for(const[t,s]of this._js_callbacks){const n=e(t);for(const e of s)this.disconnect(n,e)}this._js_callbacks.clear();for(const[t,s]of(0,l.dict)(this.js_property_callbacks)){const n=s.map((e=>()=>e.execute(this)));this._js_callbacks.set(t,n);const c=e(t);for(const e of n)this.connect(c,e)}}_doc_attached(){(0,l.dict)(this.js_event_callbacks).is_empty&&0==this.subscribed_events.size||this._update_event_callbacks()}_doc_detached(){this.document.event_manager.subscribed_models.delete(this)}select(e){if((0,r.isString)(e))return[...this.references()].filter((t=>t instanceof h&&t.name===e));if((0,r.isPlainObject)(e)&&\"type\"in e)return[...this.references()].filter((t=>t.type==e.type));if(e.prototype instanceof a.HasProps)return[...this.references()].filter((t=>t instanceof e));throw new Error(`invalid selector ${e}`)}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 ${e}`)}}on_event(e,t){var s;const n=(0,r.isString)(e)?e:e.prototype.event_name;this.js_event_callbacks[n]=[...null!==(s=(0,l.dict)(this.js_event_callbacks).get(n))&&void 0!==s?s:[],(0,r.isFunction)(t)?{execute:t}:t]}}s.Model=h,i=h,h.__name__=\"Model\",i.define((({Any:e,Unknown:t,Boolean:s,String:n,Array:c,Set:i,Dict:a,Nullable:r})=>({tags:[c(t),[]],name:[r(n),null],js_property_callbacks:[a(c(e)),{}],js_event_callbacks:[a(c(e)),{}],subscribed_events:[i(n),new globalThis.Set],syncable:[s,!0]})))},\n", + " function _(e,n,r,t,o){t();const s=e(1),c=e(50),u=s.__importStar(e(20)),a=e(8),i=e(9);r.decode_def=function(e,n){var r,t,o;function s(e){if((0,a.isString)(e))switch(e){case\"Any\":return u.Any;case\"Unknown\":return u.Unknown;case\"Boolean\":return u.Boolean;case\"Number\":return u.Number;case\"Int\":return u.Int;case\"Bytes\":return u.Bytes;case\"String\":return u.String;case\"Null\":return u.Null}else switch(e[0]){case\"Regex\":{const[,n,r]=e;return u.Regex(new RegExp(n,r))}case\"Nullable\":{const[,n]=e;return u.Nullable(s(n))}case\"Or\":{const[,n,...r]=e;return u.Or(s(n),...r.map(s))}case\"Tuple\":{const[,n,...r]=e;return u.Tuple(s(n),...r.map(s))}case\"Array\":{const[,n]=e;return u.Array(s(n))}case\"Struct\":{const[,...n]=e,r=n.map((([e,n])=>[e,s(n)]));return u.Struct((0,i.to_object)(r))}case\"Dict\":{const[,n]=e;return u.Dict(s(n))}case\"Map\":{const[,n,r]=e;return u.Map(s(n),s(r))}case\"Enum\":{const[,...n]=e;return u.Enum(...n)}case\"Ref\":{const[,r]=e,t=n.resolver.get(r.id);if(null!=t)return u.Ref(t);throw new Error(`${r.id} wasn't defined before referencing it`)}case\"AnyRef\":return u.AnyRef()}}const l=(()=>{var r,t;const o=null!==(t=null===(r=e.extends)||void 0===r?void 0:r.id)&&void 0!==t?t:\"Model\";if(\"Model\"==o)return c.Model;const s=n.resolver.get(o);if(null!=s)return s;throw new Error(`base model ${o} of ${e.name} is not defined`)})(),d=((o=class extends l{}).__qualified__=e.name,o);function f(e){return void 0===e?e:n.decode(e)}for(const n of null!==(r=e.properties)&&void 0!==r?r:[]){const e=s(n.kind);d.define({[n.name]:[e,f(n.default)]})}for(const n of null!==(t=e.overrides)&&void 0!==t?t:[])d.override({[n.name]:f(n.default)});return n.resolver.register(d),d}},\n", + " function _(e,t,s,n,a){var _,l,o,c,r,u,i,v,d,m,p,h,x,g,y,b,P,E,O,j,R,M,S,D,f,L,k,C;n();var U=this&&this.__decorate||function(e,t,s,n){var a,_=arguments.length,l=_<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,s):n;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)l=Reflect.decorate(e,t,s,n);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(l=(_<3?a(l):_>3?a(t,s,l):a(t,s))||l);return _>3&&l&&Object.defineProperty(t,s,l),l};const T=e(30),B=e(25);function I(e){return t=>{t.prototype.event_name=e}}class w{[T.serialize](e){const{event_name:t,event_values:s}=this;return{type:\"event\",name:t,values:e.encode(s)}}[B.equals](e,t){return this.event_name==e.event_name&&t.eq(this.event_values,e.event_values)}}s.BokehEvent=w,_=w,w.__name__=\"BokehEvent\",_.prototype.publish=!0;class G extends w{constructor(){super(...arguments),this.origin=null}get event_values(){return{model:this.origin}}}s.ModelEvent=G,G.__name__=\"ModelEvent\";class V extends w{}s.DocumentEvent=V,V.__name__=\"DocumentEvent\";let W=((l=class extends V{get event_values(){return{}}}).__name__=\"DocumentReady\",l);s.DocumentReady=W,s.DocumentReady=W=U([I(\"document_ready\")],W);class q extends V{}s.ConnectionEvent=q,q.__name__=\"ConnectionEvent\";class z extends q{constructor(){super(...arguments),this.timestamp=new Date}get event_values(){const{timestamp:e}=this;return{timestamp:e}}}s.ConnectionLost=z,o=z,z.__name__=\"ConnectionLost\",o.prototype.event_name=\"connection_lost\",o.prototype.publish=!1;let A=((c=class extends G{}).__name__=\"ButtonClick\",c);s.ButtonClick=A,s.ButtonClick=A=U([I(\"button_click\")],A);let F=((r=class extends G{constructor(e){super(),this.item=e}get event_values(){const{item:e}=this;return Object.assign(Object.assign({},super.event_values),{item:e})}}).__name__=\"MenuItemClick\",r);s.MenuItemClick=F,s.MenuItemClick=F=U([I(\"menu_item_click\")],F);let H=((u=class extends G{constructor(e){super(),this.value=e}get event_values(){const{value:e}=this;return Object.assign(Object.assign({},super.event_values),{value:e})}}).__name__=\"ValueSubmit\",u);s.ValueSubmit=H,s.ValueSubmit=H=U([I(\"value_submit\")],H);class J extends G{}s.UIEvent=J,J.__name__=\"UIEvent\";let K=((i=class extends J{}).__name__=\"LODStart\",i);s.LODStart=K,s.LODStart=K=U([I(\"lodstart\")],K);let N=((v=class extends J{}).__name__=\"LODEnd\",v);s.LODEnd=N,s.LODEnd=N=U([I(\"lodend\")],N);let Q=((d=class extends J{constructor(e,t,s,n){super(),this.x0=e,this.x1=t,this.y0=s,this.y1=n}get event_values(){const{x0:e,x1:t,y0:s,y1:n}=this;return Object.assign(Object.assign({},super.event_values),{x0:e,x1:t,y0:s,y1:n})}}).__name__=\"RangesUpdate\",d);s.RangesUpdate=Q,s.RangesUpdate=Q=U([I(\"rangesupdate\")],Q);let X=((m=class extends J{constructor(e,t){super(),this.geometry=e,this.final=t}get event_values(){const{geometry:e,final:t}=this;return Object.assign(Object.assign({},super.event_values),{geometry:e,final:t})}}).__name__=\"SelectionGeometry\",m);s.SelectionGeometry=X,s.SelectionGeometry=X=U([I(\"selectiongeometry\")],X);let Y=((p=class extends J{}).__name__=\"Reset\",p);s.Reset=Y,s.Reset=Y=U([I(\"reset\")],Y);class Z extends J{constructor(e,t,s,n){super(),this.sx=e,this.sy=t,this.x=s,this.y=n}get event_values(){const{sx:e,sy:t,x:s,y:n}=this;return Object.assign(Object.assign({},super.event_values),{sx:e,sy:t,x:s,y:n})}}s.PointEvent=Z,Z.__name__=\"PointEvent\";let $=((h=class extends Z{constructor(e,t,s,n,a,_){super(e,t,s,n),this.delta_x=a,this.delta_y=_}get event_values(){const{delta_x:e,delta_y:t}=this;return Object.assign(Object.assign({},super.event_values),{delta_x:e,delta_y:t})}}).__name__=\"Pan\",h);s.Pan=$,s.Pan=$=U([I(\"pan\")],$);let ee=((x=class extends Z{constructor(e,t,s,n,a){super(e,t,s,n),this.scale=a}get event_values(){const{scale:e}=this;return Object.assign(Object.assign({},super.event_values),{scale:e})}}).__name__=\"Pinch\",x);s.Pinch=ee,s.Pinch=ee=U([I(\"pinch\")],ee);let te=((g=class extends Z{constructor(e,t,s,n,a){super(e,t,s,n),this.rotation=a}get event_values(){const{rotation:e}=this;return Object.assign(Object.assign({},super.event_values),{rotation:e})}}).__name__=\"Rotate\",g);s.Rotate=te,s.Rotate=te=U([I(\"rotate\")],te);let se=((y=class extends Z{constructor(e,t,s,n,a){super(e,t,s,n),this.delta=a}get event_values(){const{delta:e}=this;return Object.assign(Object.assign({},super.event_values),{delta:e})}}).__name__=\"MouseWheel\",y);s.MouseWheel=se,s.MouseWheel=se=U([I(\"wheel\")],se);let ne=((b=class extends Z{}).__name__=\"MouseMove\",b);s.MouseMove=ne,s.MouseMove=ne=U([I(\"mousemove\")],ne);let ae=((P=class extends Z{}).__name__=\"MouseEnter\",P);s.MouseEnter=ae,s.MouseEnter=ae=U([I(\"mouseenter\")],ae);let _e=((E=class extends Z{}).__name__=\"MouseLeave\",E);s.MouseLeave=_e,s.MouseLeave=_e=U([I(\"mouseleave\")],_e);let le=((O=class extends Z{}).__name__=\"Tap\",O);s.Tap=le,s.Tap=le=U([I(\"tap\")],le);let oe=((j=class extends Z{}).__name__=\"DoubleTap\",j);s.DoubleTap=oe,s.DoubleTap=oe=U([I(\"doubletap\")],oe);let ce=((R=class extends Z{}).__name__=\"Press\",R);s.Press=ce,s.Press=ce=U([I(\"press\")],ce);let re=((M=class extends Z{}).__name__=\"PressUp\",M);s.PressUp=re,s.PressUp=re=U([I(\"pressup\")],re);let ue=((S=class extends Z{}).__name__=\"PanStart\",S);s.PanStart=ue,s.PanStart=ue=U([I(\"panstart\")],ue);let ie=((D=class extends Z{}).__name__=\"PanEnd\",D);s.PanEnd=ie,s.PanEnd=ie=U([I(\"panend\")],ie);let ve=((f=class extends Z{}).__name__=\"PinchStart\",f);s.PinchStart=ve,s.PinchStart=ve=U([I(\"pinchstart\")],ve);let de=((L=class extends Z{}).__name__=\"PinchEnd\",L);s.PinchEnd=de,s.PinchEnd=de=U([I(\"pinchend\")],de);let me=((k=class extends Z{}).__name__=\"RotateStart\",k);s.RotateStart=me,s.RotateStart=me=U([I(\"rotatestart\")],me);let pe=((C=class extends Z{}).__name__=\"RotateEnd\",C);s.RotateEnd=pe,s.RotateEnd=pe=U([I(\"rotateend\")],pe)},\n", + " function _(n,e,t,o,i){o();const d=n(5),a=n(54),c=n(55),l=n(59);t.index={},t.add_document_standalone=async function(n,e,o=[],i=!1){const s=new a.ViewManager;async function f(i){null!=i.default_view?await async function(i){var d;const a=await(0,l.build_view)(i,{parent:null,owner:s});if(a instanceof c.DOMView){const t=n.roots().indexOf(i),c=null!==(d=o[t])&&void 0!==d?d:e;a.render_to(c)}s.add(a),t.index[i.id]=a}(i):n.notify_idle(i)}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=s.get(n);null!=e&&(e.remove(),s.delete(e),delete t.index[n.id])}(n.model):i&&n instanceof d.TitleChangedEvent&&(window.document.title=n.title)})),s}},\n", + " function _(t,e,i,s,n){s();const o=t(15),r=t(8);class h{get ready(){return this._ready}*children(){}connect(t,e){let i=this._slots.get(e);return null==i&&(i=(t,i)=>{const s=Promise.resolve(e.call(this,t,i));this._ready=this._ready.then((()=>s)),this.root!=this&&(this.root._ready=this.root._ready.then((()=>this._ready)))},this._slots.set(e,i)),t.connect(i,this)}disconnect(t,e){return t.disconnect(e,this)}constructor(t){this.removed=new o.Signal0(this,\"removed\"),this._ready=Promise.resolve(void 0),this._slots=new WeakMap,this._removed=!1,this._idle_notified=!1;const{model:e,parent:i,owner:s}=t;this.model=e,this.parent=i,null==i?(this.root=this,this.owner=null!=s?s:new d([this])):(this.root=i.root,this.owner=this.root.owner)}initialize(){this._has_finished=!1}async lazy_initialize(){}remove(){this.disconnect_signals(),this.removed.emit(),this._removed=!0}toString(){return`${this.model.type}View(${this.model.id})`}serializable_state(){return{type:this.model.type}}get is_root(){return null==this.parent}has_finished(){return this._has_finished}get is_idle(){return this.has_finished()}connect_signals(){}disconnect_signals(){o.Signal.disconnect_receiver(this)}on_change(t,e){for(const i of(0,r.isArray)(t)?t:[t])this.connect(i.change,e)}cursor(t,e){return null}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()}}i.View=h,h.__name__=\"View\";class d{constructor(t=[]){this.roots=new Set(t)}get(t){for(const e of this.roots)if(e.model==t)return e;return null}add(t){this.roots.add(t)}delete(t){this.roots.delete(t)}*[Symbol.iterator](){yield*this.roots}*query(t){function*e(i){if(t(i))yield i;else for(const t of i.children())yield*e(t)}for(const t of this.roots)yield*e(t)}*find(t){yield*this.query((e=>e.model==t))}get_one(t){const e=this.find_one(t);if(null!=e)return e;throw new Error(`cannot find a view for ${t}`)}find_one(t){for(const e of this.find(t))return e;return null}find_all(t){return[...this.find(t)]}}i.ViewManager=d,d.__name__=\"ViewManager\"},\n", + " function _(s,e,t,i,l){i();const _=s(1),a=s(54),h=s(56),c=s(8),n=_.__importDefault(s(58));class p extends a.View{get children_el(){var s;return null!==(s=this.shadow_el)&&void 0!==s?s:this.el}initialize(){super.initialize(),this.el=this._createElement()}remove(){(0,h.remove)(this.el),super.remove()}stylesheets(){return[]}css_classes(){return[]}render_to(s){s.appendChild(this.el),this.render()}finish(){this._has_finished=!0,this.notify_finished()}_createElement(){return(0,h.createElement)(this.constructor.tag_name,{class:this.css_classes()})}}t.DOMView=p,p.__name__=\"DOMView\",p.tag_name=\"div\";class r extends p{initialize(){super.initialize(),this.class_list=new h.ClassList(this.el.classList)}}t.DOMElementView=r,r.__name__=\"DOMElementView\";class d extends r{constructor(){super(...arguments),this._applied_stylesheets=[],this._applied_css_classes=[]}initialize(){super.initialize(),this.shadow_el=this.el.attachShadow({mode:\"open\"})}stylesheets(){return[...super.stylesheets(),n.default]}empty(){(0,h.empty)(this.shadow_el),this.class_list.clear(),this._applied_css_classes=[],this._applied_stylesheets=[]}render(){this.empty(),this._update_stylesheets(),this._update_css_classes()}*_stylesheets(){for(const s of this.stylesheets())yield(0,c.isString)(s)?new h.InlineStyleSheet(s):s}*_css_classes(){yield`bk-${this.model.type.replace(/\\./g,\"-\")}`,yield*this.css_classes()}_apply_stylesheets(s){this._applied_stylesheets.push(...s),s.forEach((s=>s.install(this.shadow_el)))}_apply_css_classes(s){this._applied_css_classes.push(...s),this.class_list.add(...s)}_update_stylesheets(){this._applied_stylesheets.forEach((s=>s.uninstall())),this._applied_stylesheets=[],this._apply_stylesheets([...this._stylesheets()])}_update_css_classes(){this.class_list.remove(this._applied_css_classes),this._applied_css_classes=[],this._apply_css_classes([...this._css_classes()])}}t.DOMComponentView=d,d.__name__=\"DOMComponentView\"},\n", + " function _(t,e,n,o,i){o(),n.supports_adopted_stylesheets=n.px=n.dom_ready=void 0;const s=t(8),l=t(9),r=t(57),c=t=>(e={},...n)=>{const o=document.createElement(t);(0,s.isPlainObject)(e)||(n=[e,...n],e={});for(let[t,n]of(0,l.entries)(e))if(null!=n&&(!(0,s.isBoolean)(n)||n))if(\"class\"===t&&((0,s.isString)(n)&&(n=n.split(/\\s+/)),(0,s.isArray)(n)))for(const t of n)null!=t&&o.classList.add(t);else if(\"style\"===t&&(0,s.isPlainObject)(n))for(const[t,e]of(0,l.entries)(n))o.style[t]=e;else if(\"data\"===t&&(0,s.isPlainObject)(n))for(const[t,e]of(0,l.entries)(n))o.dataset[t]=e;else o.setAttribute(t,n);function i(t){if((0,s.isString)(t))o.appendChild(document.createTextNode(t));else if(t instanceof Node)o.appendChild(t);else if(t instanceof NodeList||t instanceof HTMLCollection)for(const e of t)o.appendChild(e);else if(null!=t&&!1!==t)throw new Error(`expected a DOM element, string, false or null, got ${JSON.stringify(t)}`)}for(const t of n)if((0,s.isArray)(t))for(const e of t)i(e);else i(t);return o};function a(t){return document.createTextNode(t)}function d(t){const e=t.parentNode;null!=e&&e.removeChild(t)}function h(t){const e=parseFloat(t);return isFinite(e)?e: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 c(t)(e,...n)},n.div=c(\"div\"),n.span=c(\"span\"),n.canvas=c(\"canvas\"),n.link=c(\"link\"),n.style=c(\"style\"),n.a=c(\"a\"),n.p=c(\"p\"),n.i=c(\"i\"),n.pre=c(\"pre\"),n.button=c(\"button\"),n.label=c(\"label\"),n.legend=c(\"legend\"),n.fieldset=c(\"fieldset\"),n.input=c(\"input\"),n.select=c(\"select\"),n.option=c(\"option\"),n.optgroup=c(\"optgroup\"),n.textarea=c(\"textarea\"),n.createSVGElement=function(t,e=null,...n){const o=document.createElementNS(\"http://www.w3.org/2000/svg\",t);for(const[t,n]of(0,l.entries)(null!=e?e:{}))null!=n&&!1!==n&&o.setAttribute(t,n);function i(t){if((0,s.isString)(t))o.appendChild(document.createTextNode(t));else if(t instanceof Node)o.appendChild(t);else if(t instanceof NodeList||t instanceof HTMLCollection)for(const e of t)o.appendChild(e);else if(null!=t&&!1!==t)throw new Error(`expected a DOM element, string, false or null, got ${JSON.stringify(t)}`)}for(const t of n)if((0,s.isArray)(t))for(const e of t)i(e);else i(t);return o},n.text=a,n.nbsp=function(){return a(\"\\xa0\")},n.append=function(t,...e){for(const n of e)t.appendChild(n)},n.remove=d,n.replaceWith=function(t,e){const n=t.parentNode;null!=n&&n.replaceChild(e,t)},n.prepend=function(t,...e){const n=t.firstChild;for(const o of e)t.insertBefore(o,n)},n.empty=function(t,e=!1){let n;for(;null!=(n=t.firstChild);)t.removeChild(n);if(e&&t instanceof Element)for(const e of t.attributes)t.removeAttributeNode(e)},n.contains=function(t,e){let n=e;for(;null!=n.parentNode;){const e=n.parentNode;if(e==t)return!0;n=e instanceof ShadowRoot?e.host:e}return!1},n.display=function(t,e=!0){t.style.display=e?\"\":\"none\"},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_bbox=function(t){const{top:e,left:n,width:o,height:i}=t.getBoundingClientRect();return new r.BBox({left:n+scrollX-document.documentElement.clientLeft,top:e+scrollY-document.documentElement.clientTop,width:o,height:i})},n.parent=function(t,e){let n=t;for(;null!=(n=n.parentElement);)if(n.matches(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:o,bottom:i}}=u(t),{width:s,height:l}=f(t);return{width:Math.ceil(s+e+n),height:Math.ceil(l+o+i)}},n.content_size=function(t){var e;const{left:n,top:o}=t.getBoundingClientRect(),{padding:i}=u(t);let s=0,l=0;for(const r of(null!==(e=t.shadowRoot)&&void 0!==e?e:t).children){const t=r.getBoundingClientRect();s=Math.max(s,Math.ceil(t.left-n-i.left+t.width)),l=Math.max(l,Math.ceil(t.top-o-i.top+t.height))}return{width:s,height:l}},n.bounding_box=function(t){const{x:e,y:n,width:o,height:i}=t.getBoundingClientRect();return new r.BBox({x:e,y:n,width:o,height:i})},n.position=function(t,e,n){const{style:o}=t;if(o.left=`${e.x}px`,o.top=`${e.y}px`,o.width=`${e.width}px`,o.height=`${e.height}px`,null==n)o.margin=\"\";else{const{top:t,right:e,bottom:i,left:s}=n;o.margin=`${t}px ${e}px ${i}px ${s}px`}};class p{constructor(t){this.class_list=t}get values(){const t=[];for(let e=0;ethis.class_list.remove(t))):this.class_list.remove(e);return this}clear(){for(const t of this.values)this.class_list.remove(t);return this}toggle(t,e){return(null!=e?e:!this.has(t))?this.add(t):this.remove(t),this}}var g;n.ClassList=p,p.__name__=\"ClassList\",n.classes=function(t){return new p(t.classList)},n.toggle_attribute=function(t,e,n){null==n&&(n=!t.hasAttribute(e)),n?t.setAttribute(e,\"true\"):t.removeAttribute(e)},(g=n.MouseButton||(n.MouseButton={}))[g.None=0]=\"None\",g[g.Primary=1]=\"Primary\",g[g.Secondary=2]=\"Secondary\",g[g.Auxiliary=4]=\"Auxiliary\",g[g.Left=1]=\"Left\",g[g.Right=2]=\"Right\",g[g.Middle=4]=\"Middle\";class m{install(t){t.append(this.el)}uninstall(){this.el.remove()}}n.StyleSheet=m,m.__name__=\"StyleSheet\";class _ extends m{constructor(t){super(),this.el=(0,n.style)({type:\"text/css\"},t)}clear(){this.replace(\"\")}*_to_rules(t){for(const[e,n]of(0,l.entries)(t))if(null!=n){const t=e.replace(/_/g,\"-\");yield`${t}: ${n};`}}_to_css(t,e){return null==e?t:`${t}{${[...this._to_rules(e)].join(\"\")}}`}replace(t,e){this.el.textContent=this._to_css(t,e)}prepend(t,e){var n;const o=null!==(n=this.el.textContent)&&void 0!==n?n:\"\";this.el.textContent=`${this._to_css(t,e)}\\n${o}`}append(t,e){var n;const o=null!==(n=this.el.textContent)&&void 0!==n?n:\"\";this.el.textContent=`${o}\\n${this._to_css(t,e)}`}remove(){d(this.el)}}n.InlineStyleSheet=_,_.__name__=\"InlineStyleSheet\";class y extends _{install(){this.el.isConnected||document.head.appendChild(this.el)}}n.GlobalInlineStyleSheet=y,y.__name__=\"GlobalInlineStyleSheet\";class x extends m{constructor(t){super(),this.el=(0,n.link)({rel:\"stylesheet\",href:t})}replace(t){this.el.href=t}remove(){d(this.el)}}n.ImportedStyleSheet=x,x.__name__=\"ImportedStyleSheet\";class b extends x{install(){this.el.isConnected||document.head.appendChild(this.el)}}n.GlobalImportedStyleSheet=b,b.__name__=\"GlobalImportedStyleSheet\",n.dom_ready=async function(){if(\"loading\"==document.readyState)return new Promise(((t,e)=>{document.addEventListener(\"DOMContentLoaded\",(()=>t()),{once:!0})}))},n.px=function(t){return`${t}px`},n.supports_adopted_stylesheets=\"adoptedStyleSheets\"in ShadowRoot.prototype},\n", + " function _(t,e,i,r,n){r();const h=t(23),s=t(25),o=t(13),{min:x,max:y,round:u}=Math;function g(t,e){return isNaN(t)?e:isNaN(e)?t:x(t,e)}function a(t,e){return isNaN(t)?e:isNaN(e)?t:y(t,e)}i.empty=function(){return{x0:1/0,y0:1/0,x1:-1/0,y1:-1/0}},i.positive_x=function(){return{x0:Number.MIN_VALUE,y0:-1/0,x1:1/0,y1:1/0}},i.positive_y=function(){return{x0:-1/0,y0:Number.MIN_VALUE,x1:1/0,y1:1/0}},i.union=function(t,e){return{x0:g(t.x0,e.x0),x1:a(t.x1,e.x1),y0:g(t.y0,e.y0),y1:a(t.y1,e.y1)}};class c{constructor(t,e=!1){if(null==t)this.x0=0,this.y0=0,this.x1=0,this.y1=0;else if(\"x0\"in t){const{x0:e,y0:i,x1:r,y1:n}=t;if(isFinite(e+i+r+n)){if(!(e<=r&&i<=n))throw new Error(`invalid bbox {x0: ${e}, y0: ${i}, x1: ${r}, y1: ${n}}`);this.x0=e,this.y0=i,this.x1=r,this.y1=n}else this.x0=NaN,this.y0=NaN,this.x1=NaN,this.y1=NaN}else if(\"x\"in t){const{x:e,y:i,width:r,height:n}=t;if(!(r>=0&&n>=0))throw new Error(`invalid bbox {x: ${e}, y: ${i}, width: ${r}, height: ${n}}`);this.x0=e,this.y0=i,this.x1=e+r,this.y1=i+n}else{let i,r,n,h;if(\"width\"in t)if(\"left\"in t)i=t.left,r=i+t.width;else if(\"right\"in t)r=t.right,i=r-t.width;else{const e=t.width/2;i=t.hcenter-e,r=t.hcenter+e}else i=t.left,r=t.right;if(\"height\"in t)if(\"top\"in t)n=t.top,h=n+t.height;else if(\"bottom\"in t)h=t.bottom,n=h-t.height;else{const e=t.height/2;n=t.vcenter-e,h=t.vcenter+e}else n=t.top,h=t.bottom;if(i>r||n>h){if(!e)throw new Error(`invalid bbox {left: ${i}, top: ${n}, right: ${r}, bottom: ${h}}`);i>r&&(i=r),n>h&&(n=h)}this.x0=i,this.y0=n,this.x1=r,this.y1=h}}static from_lrtb({left:t,right:e,top:i,bottom:r}){return new c({x0:Math.min(t,e),y0:Math.min(i,r),x1:Math.max(t,e),y1:Math.max(i,r)})}clone(){return new c(this)}equals(t){return this.x0==t.x0&&this.y0==t.y0&&this.x1==t.x1&&this.y1==t.y1}[s.equals](t,e){return e.eq(this.x0,t.x0)&&e.eq(this.y0,t.y0)&&e.eq(this.x1,t.x1)&&e.eq(this.y1,t.y1)}toString(){return`BBox({left: ${this.left}, top: ${this.top}, width: ${this.width}, height: ${this.height}})`}get is_valid(){const{x0:t,x1:e,y0:i,y1:r}=this;return isFinite(t+e+i+r)}get is_empty(){const{x0:t,x1:e,y0:i,y1:r}=this;return 0==t&&0==e&&0==i&&0==r}get left(){return this.x0}get top(){return this.y0}get right(){return this.x1}get bottom(){return this.y1}get p0(){return{x:this.x0,y:this.y0}}get p1(){return{x:this.x1,y: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:e,x1:i,y1:r}=this;return{p0:{x:t,y:e},p1:{x:i,y:e},p2:{x:i,y:r},p3:{x:t,y:r}}}get box(){const{x:t,y:e,width:i,height:r}=this;return{x:t,y:e,width:i,height:r}}get lrtb(){const{left:t,right:e,top:i,bottom:r}=this;return{left:t,right:e,top:i,bottom:r}}get x_range(){return{start:this.x0,end:this.x1}}get y_range(){return{start:this.y0,end:this.y1}}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}round(){return new c({x0:u(this.x0),x1:u(this.x1),y0:u(this.y0),y1:u(this.y1)})}relative(){const{width:t,height:e}=this;return new c({x:0,y:0,width:t,height:e})}translate(t,e){const{x:i,y:r,width:n,height:h}=this;return new c({x:t+i,y:e+r,width:n,height:h})}relativize(t,e){return[t-this.x,e-this.y]}contains(t,e){return this.x0<=t&&t<=this.x1&&this.y0<=e&&e<=this.y1}clip(t,e){return tthis.x1&&(t=this.x1),ethis.y1&&(e=this.y1),[t,e]}grow_by(t){return new c({left:this.left-t,right:this.right+t,top:this.top-t,bottom:this.bottom+t})}shrink_by(t){return new c({left:this.left+t,right:this.right-t,top:this.top+t,bottom:this.bottom-t},!0)}union(t){return new c({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 c({x0:y(this.x0,t.x0),y0:y(this.y0,t.y0),x1:x(this.x1,t.x1),y1:x(this.y1,t.y1)}):null}intersects(t){return!(t.x1this.x1||t.y1this.y1)}get x_screen(){var t;const e=this;return null!==(t=this._x_screen)&&void 0!==t?t:this._x_screen={compute:t=>e.left+t,invert:t=>t-e.left,v_compute(t){const{left:i}=e;return new h.ScreenArray((0,o.map)(t,(t=>i+t)))},v_invert(t){const{left:i}=e;return(0,o.map)(t,(t=>t-i))},get source_range(){return e.x_range},get target_range(){return e.x_range}}}get y_screen(){var t;const e=this;return null!==(t=this._y_screen)&&void 0!==t?t:this._y_screen={compute:t=>e.top+t,invert:t=>t-e.top,v_compute(t){const{top:i}=e;return new h.ScreenArray((0,o.map)(t,(t=>i+t)))},v_invert(t){const{top:i}=e;return(0,o.map)(t,(t=>t-i))},get source_range(){return e.y_range},get target_range(){return e.y_range}}}get x_view(){var t;const e=this;return null!==(t=this._x_view)&&void 0!==t?t:this._x_view={compute:t=>e.left+t,invert:t=>t-e.left,v_compute(t){const{left:i}=e;return new h.ScreenArray((0,o.map)(t,(t=>i+t)))},v_invert(t){const{left:i}=e;return(0,o.map)(t,(t=>t-i))},get source_range(){return e.x_range},get target_range(){return e.x_range}}}get y_view(){var t;const e=this;return null!==(t=this._y_view)&&void 0!==t?t:this._y_view={compute:t=>e.bottom-t,invert:t=>e.bottom-t,v_compute(t){const{bottom:i}=e;return new h.ScreenArray((0,o.map)(t,(t=>i-t)))},v_invert(t){const{bottom:i}=e;return(0,o.map)(t,(t=>i-t))},get source_range(){return e.y_range},get target_range(){return{start:e.bottom,end:e.top}}}}get xview(){return this.x_view}get yview(){return this.y_view}}i.BBox=c,c.__name__=\"BBox\"},\n", + " function _(o,e,i,n,t){n(),i.default=\":host{--base-font:var(--bokeh-base-font, Helvetica, Arial, sans-serif);--mono-font:var(--bokeh-mono-font, monospace);--font-size:12px;--line-height:calc(20 / 14);--line-height-computed:calc(var(--font-size) * var(--line-height));--border-radius:4px;--padding-vertical:6px;--padding-horizontal:12px;}:host{box-sizing:border-box;font-family:var(--base-font);font-size:13px;line-height:var(--line-height);}*,*:before,*:after{box-sizing:inherit;font-family:inherit;}pre,code{font-family:var(--mono-font);margin:0;}\"},\n", + " function _(e,n,t,o,s){o();const i=e(10),c=e(12);async function a(e,n,t){(0,c.assert)(null!=e,\"model doesn't implement a view\");const o=new e(Object.assign(Object.assign({},t),{model:n}));return o.initialize(),await o.lazy_initialize(),o}t.build_view=async function(e,n={parent:null},t=(e=>e.default_view)){const o=await a(t(e),e,n);return o.connect_signals(),o},t.build_views=async function(e,n,t={parent:null},o=(e=>e.default_view)){const s=(0,i.difference)([...e.keys()],n),c=[];for(const n of s){const t=e.get(n);null!=t&&(e.delete(n),c.push(t),t.remove())}const l=[],r=n.filter((n=>!e.has(n)));for(const n of r){const s=await a(o(n),n,t);e.set(n,s),l.push(s)}for(const e of l)e.connect_signals();return{created:l,removed:c}},t.remove_views=function(e){for(const[n,t]of e)t.remove(),e.delete(n)}},\n", + " function _(n,t,o,e,s){e();const a=n(61),c=n(18),r=n(53);o._get_ws_url=function(n,t){let o,e=\"ws:\";return\"https:\"==window.location.protocol&&(e=\"wss:\"),null!=t?(o=document.createElement(\"a\"),o.href=t):o=window.location,null!=n?\"/\"==n&&(n=\"\"):n=o.pathname.replace(/\\/+$/,\"\"),`${e}//${o.host}${n}/ws`};const i=new Map;o.add_document_from_session=async function(n,t,o,e=[],s=!1){const l=window.location.search.substring(1);let d;try{d=await function(n,t,o){const e=(0,a.parse_token)(t).session_id;i.has(n)||i.set(n,new Map);const s=i.get(n);return s.has(e)||s.set(e,(0,a.pull_session)(n,t,o)),s.get(e)}(n,t,l)}catch(n){const o=(0,a.parse_token)(t).session_id;throw c.logger.error(`Failed to load Bokeh session ${o}: ${n}`),n}return(0,r.add_document_standalone)(d.document,o,e,s)}},\n", + " function _(e,s,n,t,o){t();const r=e(18),i=e(5),l=e(62),c=e(63),_=e(64);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._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 c.Receiver,this.url=e,this.token=s,this.args_string=t,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((()=>{var e;this.closed_permanently||(r.logger.info(`Websocket connection ${this._number} disconnected, will not attempt to reconnect`),null===(e=this.session)||void 0===e||e.notify_connection_lost())}),e)}send(e){null!=this.socket?e.send(this.socket):r.logger.error(\"not connected so cannot send\",e)}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=l.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){r.logger.debug(null!=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=[],t=i.Document.from_json(n,s);this.session=new _.ClientSession(this,t);for(const e of s)t._trigger_on_change(e);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){console.trace(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);null!=n?(this._pending_replies.delete(s),n.resolve(e)):null!=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(30),a=e(38),h=e(12);class f{get buffers(){return this._buffers}constructor(e,s,t){this._buffers=new Map,this.header=e,this.metadata=s,this.content=t}static assemble(e,s,t){const r=JSON.parse(e),n=JSON.parse(s),i=JSON.parse(t);return new f(r,n,i)}assemble_buffer(e,s){var t;const r=null!==(t=this.header.num_buffers)&&void 0!==t?t:0;if(r<=this._buffers.size)throw new Error(`too many buffers received, expecting ${r}`);const{id:n}=JSON.parse(e);this._buffers.set(n,s)}static create(e,s,t){const r=f.create_header(e);return new f(r,s,t)}static create_header(e){return{msgid:(0,a.unique_id)(),msgtype:e}}complete(){const{num_buffers:e}=this.header;return null==e||this._buffers.size==e}send(e){(0,h.assert)(null==this.header.num_buffers);const s=[],t=JSON.stringify(this.content,((e,t)=>{if(t instanceof i.Buffer){const e={id:`${s.length}`};return s.push([e,t.buffer]),e}return t})),r=s.length;r>0&&(this.header.num_buffers=r);const n=JSON.stringify(this.header),a=JSON.stringify(this.metadata);e.send(n),e.send(a),e.send(t);for(const[t,r]of s)e.send(JSON.stringify(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=f,f.__name__=\"Message\"},\n", + " function _(t,e,s,_,r){_();const i=t(62),h=t(8),a=t(12);class n{constructor(){this.message=null,this._partial=null,this._fragments=[],this._buf_header=null,this._current_consumer=this._HEADER}consume(t){this._current_consumer(t)}_HEADER(t){this._assume_text(t),this.message=null,this._partial=null,this._fragments=[t],this._buf_header=null,this._current_consumer=this._METADATA}_METADATA(t){this._assume_text(t),this._fragments.push(t),this._current_consumer=this._CONTENT}_CONTENT(t){this._assume_text(t),this._fragments.push(t);const[e,s,_]=this._fragments;(0,a.assert)(null!=e&&null!=s&&null!=_),this._partial=i.Message.assemble(e,s,_),this._check_complete()}_BUFFER_HEADER(t){this._assume_text(t),this._buf_header=t,this._current_consumer=this._BUFFER_PAYLOAD}_BUFFER_PAYLOAD(t){this._assume_binary(t),(0,a.assert)(null!=this._partial&&null!=this._buf_header),this._partial.assemble_buffer(this._buf_header,t),this._check_complete()}_assume_text(t){if(!(0,h.isString)(t))throw new Error(\"Expected text fragment but received binary fragment\")}_assume_binary(t){if(!(t 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=n,n.__name__=\"Receiver\"},\n", + " function _(e,n,t,o,s){o();const c=e(5),_=e(52),i=e(62),r=e(18);class a{constructor(e,n){this._document_listener=e=>{this._document_changed(e)},this._connection=e,this.document=n,this.document.on_change(this._document_listener,!0)}get id(){return this._connection.id}handle(e){const n=e.msgtype();switch(n){case\"PATCH-DOC\":this._handle_patch(e);break;case\"OK\":this._handle_ok(e);break;case\"ERROR\":this._handle_error(e);break;default:r.logger.debug(`Doing nothing with message '${n}'`)}}notify_connection_lost(){this.document.event_manager.send_event(new _.ConnectionLost)}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){const n=e instanceof c.DocumentEventBatch?e.events:[e],t=this.document.create_json_patch(n),o=i.Message.create(\"PATCH-DOC\",{},t);this._connection.send(o)}_handle_patch(e){this.document.apply_json_patch(e.content,e.buffers)}_handle_ok(e){r.logger.trace(`Unhandled OK reply to ${e.reqid()}`)}_handle_error(e){r.logger.error(`Unhandled ERROR reply to ${e.reqid()}: ${e.content.text}`)}}t.ClientSession=a,a.__name__=\"ClientSession\"},\n", + " function _(n,e,o,t,r){t();const i=n(56),l=n(8);function s(n){let e=(0,l.isString)(n)?document.getElementById(n):n;if(null==e)throw new Error(`Error rendering Bokeh model: could not find ${(0,l.isString)(n)?`#${n}`:n} HTML tag`);if(!(0,i.contains)(document.body,e))throw new Error(`Error rendering Bokeh model: element ${(0,l.isString)(n)?`#${n}`:n} must be under `);if(e instanceof HTMLElement&&\"SCRIPT\"==e.tagName){const n=(0,i.div)();(0,i.replaceWith)(e,n),e=n}return e}o._resolve_element=function(n){const{elementid:e}=n;return null!=e?s(e):document.body},o._resolve_root_elements=function(n){const e=[];if(null!=n.root_ids&&null!=n.roots)for(const o of n.root_ids)e.push(s(n.roots[o]));return e}},\n", + " function _(e,o,t,n,r){n();const s=e(1),i=e(5),l=e(63),a=e(18),c=e(9),g=e(53),f=e(65);function u(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 m(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 l.Receiver;t.on_msg(u.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 l.Receiver;t.onMsg=u.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,i,c,g;a.logger.info(`Registering Google Colab comms for target ${e}`);const f=new l.Receiver;try{for(var m,b=!0,d=s.__asyncValues(t.messages);!(n=(m=await d.next()).done);){c=m.value,b=!1;try{const e=c,t={data:e.data},n=[];for(const o of null!==(g=e.buffers)&&void 0!==g?g:[])n.push(new DataView(o));const r={content:t,buffers:n};u.bind(o)(f,r)}finally{b=!0}}}catch(e){r={error:e}}finally{try{b||n||!(i=d.return)||await i.call(d)}finally{if(r)throw r.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.\")}t.kernels={},t.embed_items_notebook=function(e,o){if(1!=(0,c.size)(e))throw new Error(\"embed_items_notebook expects exactly one document in docs_json\");const t=i.Document.from_json((0,c.values)(e)[0]);for(const e of o){null!=e.notebook_comms_target&&m(e.notebook_comms_target,t);const o=(0,f._resolve_element)(e),n=(0,f._resolve_root_elements)(e);(0,g.add_document_standalone)(t,o,n);for(const e of n)e instanceof HTMLElement&&e.removeAttribute(\"id\")}}},\n", + " function _(t,_,o,r,n){r();const a=t(1);a.__exportStar(t(62),o),a.__exportStar(t(63),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,l,n){l(),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 l=document.createElement(\"h3\");l.style.color=\"#a94442\",l.style.margin=\"8px 0px 0px 0px\",l.style.padding=\"0px\",l.appendChild(document.createTextNode(\"Bokeh Error\"));const n=document.createElement(\"pre\");n.style.whiteSpace=\"unset\",n.style.overflowX=\"auto\",n.appendChild(document.createTextNode(e)),t.appendChild(o),t.appendChild(l),t.appendChild(n);const s=document.getElementsByTagName(\"body\")[0];s.insertBefore(t,s.firstChild)}(e instanceof Error&&null!=e.stack?e.stack:`${e}`),t)return;throw e}}},\n", + " function _(t,r,o,_,e){_();const s=t(1),i=t(7),m=s.__importStar(t(71));(0,i.register_models)(m);const n=s.__importStar(t(496));(0,i.register_models)(n)},\n", + " function _(t,_,r,o,a){o();const e=t(1);e.__exportStar(t(72),r),e.__exportStar(t(158),r),e.__exportStar(t(285),r),e.__exportStar(t(290),r),e.__exportStar(t(296),r),e.__exportStar(t(297),r),e.__exportStar(t(306),r),e.__exportStar(t(219),r),e.__exportStar(t(315),r),e.__exportStar(t(350),r),e.__exportStar(t(351),r),e.__exportStar(t(355),r),e.__exportStar(t(357),r),e.__exportStar(t(237),r),e.__exportStar(t(376),r),e.__exportStar(t(382),r),e.__exportStar(t(383),r),e.__exportStar(t(392),r),e.__exportStar(t(404),r),e.__exportStar(t(405),r),e.__exportStar(t(225),r),e.__exportStar(t(407),r),e.__exportStar(t(223),r),e.__exportStar(t(410),r),e.__exportStar(t(411),r),e.__exportStar(t(417),r),e.__exportStar(t(192),r),e.__exportStar(t(422),r),e.__exportStar(t(432),r),e.__exportStar(t(436),r),e.__exportStar(t(451),r)},\n", + " function _(o,e,a,n,r){n();const t=o(1);r(\"Annotation\",o(73).Annotation),r(\"Arrow\",o(97).Arrow),r(\"ArrowHead\",o(139).ArrowHead),r(\"OpenHead\",o(139).OpenHead),r(\"NormalHead\",o(139).NormalHead),r(\"TeeHead\",o(139).TeeHead),r(\"VeeHead\",o(139).VeeHead),r(\"BaseColorBar\",o(141).BaseColorBar),r(\"Band\",o(230).Band),r(\"BoxAnnotation\",o(232).BoxAnnotation),r(\"ColorBar\",o(236).ColorBar),r(\"ContourColorBar\",o(247).ContourColorBar),r(\"Label\",o(248).Label),r(\"LabelSet\",o(249).LabelSet),r(\"Legend\",o(250).Legend),r(\"LegendItem\",o(251).LegendItem),r(\"PolyAnnotation\",o(252).PolyAnnotation),r(\"Slope\",o(253).Slope),r(\"Span\",o(254).Span),r(\"TextAnnotation\",o(143).TextAnnotation),r(\"Title\",o(142).Title),r(\"ToolbarPanel\",o(255).ToolbarPanel),r(\"Whisker\",o(279).Whisker),t.__exportStar(o(280),a)},\n", + " function _(t,e,i,n,s){var o;n();const l=t(74);class r extends l.RendererView{get_size(){if(this.displayed){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(){var t,e,i;const n=super.serializable_state(),s=null!==(e=null===(t=this.bbox)||void 0===t?void 0:t.round())&&void 0!==e?e:null===(i=this.layout)||void 0===i?void 0:i.bbox;return null==s?n:Object.assign(Object.assign({},n),{bbox:s})}}i.AnnotationView=r,r.__name__=\"AnnotationView\";class a extends l.Renderer{constructor(t){super(t)}}i.Annotation=a,o=a,a.__name__=\"Annotation\",o.override({level:\"annotation\"})},\n", + " function _(e,t,i,n,s){var r,o;n();const a=e(1),_=e(54),l=a.__importStar(e(75)),d=e(19),h=e(50),u=e(84);class c extends h.Model{constructor(e){super(e)}}i.RendererGroup=c,r=c,c.__name__=\"RendererGroup\",r.define((({Boolean:e})=>({visible:[e,!0]})));class p extends _.View{get coordinates(){const{_coordinates:e}=this;return null!=e?e:this._coordinates=this._initialize_coordinates()}initialize(){super.initialize(),this.visuals=new l.Visuals(this),this.needs_webgl_blit=!1}connect_signals(){super.connect_signals();const{group:e}=this.model;null!=e&&this.on_change(e.properties.visible,(()=>{this.model.visible=e.visible}));const{x_range_name:t,y_range_name:i}=this.model.properties;this.on_change([t,i],(()=>delete this._coordinates)),this.connect(this.plot_view.frame.change,(()=>delete this._coordinates))}_initialize_coordinates(){const{coordinates:e}=this.model,{frame:t}=this.plot_view;if(null!=e)return e.get_transform(t);{const{x_range_name:e,y_range_name:i}=this.model,n=t.x_scales.get(e),s=t.y_scales.get(i);return new u.CoordinateTransform(n,s)}}get plot_view(){return this.parent}get plot_model(){return this.parent.model}get layer(){const{overlays:e,primary:t}=this.canvas;return\"overlay\"==this.model.level?e:t}get canvas(){return this.plot_view.canvas_view}request_render(){this.request_paint()}request_paint(){this.plot_view.request_paint(this)}request_layout(){this.plot_view.request_layout()}notify_finished(){this.plot_view.notify_finished()}notify_finished_after_paint(){this.plot_view.notify_finished_after_paint()}get needs_clip(){return!1}get has_webgl(){return!1}get displayed(){return this.model.visible}render(){this.displayed&&this._render(),this._has_finished=!0}renderer_view(e){}update_geometry(){}compute_geometry(){}}i.RendererView=p,p.__name__=\"RendererView\";class g extends h.Model{constructor(e){super(e)}}i.Renderer=g,o=g,g.__name__=\"Renderer\",o.define((({Boolean:e,String:t,Ref:i,Nullable:n})=>({group:[n(i(c)),null],level:[d.RenderLevel,\"image\"],visible:[e,!0],x_range_name:[t,\"default\"],y_range_name:[t,\"default\"],coordinates:[n(i(u.CoordinateMapping)),null],propagate_hover:[e,!1]})))},\n", + " function _(e,a,r,t,c){t();const n=e(1),l=e(76);c(\"Line\",l.Line),c(\"LineScalar\",l.LineScalar),c(\"LineVector\",l.LineVector);const s=e(79);c(\"Fill\",s.Fill),c(\"FillScalar\",s.FillScalar),c(\"FillVector\",s.FillVector);const i=e(80);c(\"Text\",i.Text),c(\"TextScalar\",i.TextScalar),c(\"TextVector\",i.TextVector);const o=e(81);c(\"Hatch\",o.Hatch),c(\"HatchScalar\",o.HatchScalar),c(\"HatchVector\",o.HatchVector);const u=e(83);c(\"Image\",u.Image),c(\"ImageScalar\",u.ImageScalar),c(\"ImageVector\",u.ImageVector);const V=n.__importStar(e(78)),S=e(77);c(\"VisualProperties\",S.VisualProperties),c(\"VisualUniforms\",S.VisualUniforms);class m{*[Symbol.iterator](){yield*this._visuals}constructor(e){this._visuals=[];for(const[a,r]of e.model._mixins){const t=(()=>{switch(r){case V.Line:return new l.Line(e,a);case V.LineScalar:return new l.LineScalar(e,a);case V.LineVector:return new l.LineVector(e,a);case V.Fill:return new s.Fill(e,a);case V.FillScalar:return new s.FillScalar(e,a);case V.FillVector:return new s.FillVector(e,a);case V.Text:return new i.Text(e,a);case V.TextScalar:return new i.TextScalar(e,a);case V.TextVector:return new i.TextVector(e,a);case V.Hatch:return new o.Hatch(e,a);case V.HatchScalar:return new o.HatchScalar(e,a);case V.HatchVector:return new o.HatchVector(e,a);case V.Image:return new u.Image(e,a);case V.ImageScalar:return new u.ImageScalar(e,a);case V.ImageVector:return new u.ImageVector(e,a);default:throw new Error(\"unknown visual\")}})();t instanceof S.VisualProperties&&t.update(),this._visuals.push(t),Object.defineProperty(this,a+t.type,{get:()=>t,configurable:!1,enumerable:!0})}}}r.Visuals=m,m.__name__=\"Visuals\"},\n", + " function _(e,t,i,l,s){l();const a=e(1),n=e(77),h=a.__importStar(e(78)),o=e(21),_=e(8);function r(e){if((0,_.isArray)(e))return e;switch(e){case\"solid\":return[];case\"dashed\":return[6];case\"dotted\":return[2,4];case\"dotdash\":return[2,4,6,4];case\"dashdot\":return[6,4,2,4];default:return e.split(\" \").map(Number).filter(_.isInteger)}}i.resolve_line_dash=r;class u extends n.VisualProperties{get doit(){const e=this.line_color.get_value(),t=this.line_alpha.get_value(),i=this.line_width.get_value();return!(null==e||0==t||0==i)}apply(e){const{doit:t}=this;return t&&(this.set_value(e),e.stroke()),t}values(){return{color:this.line_color.get_value(),alpha:this.line_alpha.get_value(),width:this.line_width.get_value(),join:this.line_join.get_value(),cap:this.line_cap.get_value(),dash:this.line_dash.get_value(),offset:this.line_dash_offset.get_value()}}set_value(e){const t=this.line_color.get_value(),i=this.line_alpha.get_value();e.strokeStyle=(0,o.color2css)(t,i),e.lineWidth=this.line_width.get_value(),e.lineJoin=this.line_join.get_value(),e.lineCap=this.line_cap.get_value(),e.setLineDash(r(this.line_dash.get_value())),e.lineDashOffset=this.line_dash_offset.get_value()}}i.Line=u,u.__name__=\"Line\";class c extends n.VisualUniforms{get doit(){const e=this.line_color.value,t=this.line_alpha.value,i=this.line_width.value;return!(0==e||0==t||0==i)}apply(e){const{doit:t}=this;return t&&(this.set_value(e),e.stroke()),t}values(){return{color:this.line_color.value,alpha:this.line_alpha.value,width:this.line_width.value,join:this.line_join.value,cap:this.line_cap.value,dash:this.line_dash.value,offset:this.line_dash_offset.value}}set_value(e){const t=this.line_color.value,i=this.line_alpha.value;e.strokeStyle=(0,o.color2css)(t,i),e.lineWidth=this.line_width.value,e.lineJoin=this.line_join.value,e.lineCap=this.line_cap.value,e.setLineDash(r(this.line_dash.value)),e.lineDashOffset=this.line_dash_offset.value}}i.LineScalar=c,c.__name__=\"LineScalar\";class d extends n.VisualUniforms{get doit(){const{line_color:e}=this;if(e.is_Scalar()&&0==e.value)return!1;const{line_alpha:t}=this;if(t.is_Scalar()&&0==t.value)return!1;const{line_width:i}=this;return!i.is_Scalar()||0!=i.value}v_doit(e){return 0!=this.line_color.get(e)&&(0!=this.line_alpha.get(e)&&0!=this.line_width.get(e))}apply(e,t){const i=this.v_doit(t);return i&&(this.set_vectorize(e,t),e.stroke()),i}values(e){return{color:this.line_color.get(e),alpha:this.line_alpha.get(e),width:this.line_width.get(e),join:this.line_join.get(e),cap:this.line_cap.get(e),dash:this.line_dash.get(e),offset:this.line_dash_offset.get(e)}}set_vectorize(e,t){const i=this.line_color.get(t),l=this.line_alpha.get(t),s=this.line_width.get(t),a=this.line_join.get(t),n=this.line_cap.get(t),h=this.line_dash.get(t),_=this.line_dash_offset.get(t);e.strokeStyle=(0,o.color2css)(i,l),e.lineWidth=s,e.lineJoin=a,e.lineCap=n,e.setLineDash(r(h)),e.lineDashOffset=_}}i.LineVector=d,d.__name__=\"LineVector\",u.prototype.type=\"line\",u.prototype.attrs=Object.keys(h.Line),c.prototype.type=\"line\",c.prototype.attrs=Object.keys(h.LineScalar),d.prototype.type=\"line\",d.prototype.attrs=Object.keys(h.LineVector)},\n", + " function _(t,s,o,i,r){i();class e{*[Symbol.iterator](){yield*this._props}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)}}update(){}}o.VisualProperties=e,e.__name__=\"VisualProperties\";class p{*[Symbol.iterator](){for(const t of this.attrs)yield this.obj.model.properties[this.prefix+t]}constructor(t,s=\"\"){this.obj=t,this.prefix=s;for(const o of this.attrs)Object.defineProperty(this,o,{get:()=>t[s+o]})}update(){}}o.VisualUniforms=p,p.__name__=\"VisualUniforms\"},\n", + " function _(l,e,a,t,r){t();const c=l(1),o=c.__importStar(l(17)),n=l(19),_=c.__importStar(l(20)),i=l(9);a.Line={line_color:[_.Nullable(_.Color),\"black\"],line_alpha:[_.Alpha,1],line_width:[_.Number,1],line_join:[n.LineJoin,\"bevel\"],line_cap:[n.LineCap,\"butt\"],line_dash:[_.Or(n.LineDash,_.Array(_.Number)),[]],line_dash_offset:[_.Number,0]},a.Fill={fill_color:[_.Nullable(_.Color),\"gray\"],fill_alpha:[_.Alpha,1]},a.Image={global_alpha:[_.Alpha,1]},a.Hatch={hatch_color:[_.Nullable(_.Color),\"black\"],hatch_alpha:[_.Alpha,1],hatch_scale:[_.Number,12],hatch_pattern:[_.Nullable(_.Or(n.HatchPatternType,_.String)),null],hatch_weight:[_.Number,1],hatch_extra:[_.Dict(_.AnyRef()),{}]},a.Text={text_color:[_.Nullable(_.Color),\"#444444\"],text_outline_color:[_.Nullable(_.Color),null],text_alpha:[_.Alpha,1],text_font:[o.Font,\"helvetica\"],text_font_size:[_.FontSize,\"16px\"],text_font_style:[n.FontStyle,\"normal\"],text_align:[n.TextAlign,\"left\"],text_baseline:[n.TextBaseline,\"bottom\"],text_line_height:[_.Number,1.2]},a.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]},a.FillScalar={fill_color:[o.ColorScalar,\"gray\"],fill_alpha:[o.NumberScalar,1]},a.ImageScalar={global_alpha:[o.NumberScalar,1]},a.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,{}]},a.TextScalar={text_color:[o.ColorScalar,\"#444444\"],text_outline_color:[o.ColorScalar,null],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]},a.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]},a.FillVector={fill_color:[o.ColorSpec,\"gray\"],fill_alpha:[o.NumberSpec,1]},a.ImageVector={global_alpha:[o.NumberSpec,1]},a.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,{}]},a.TextVector={text_color:[o.ColorSpec,\"#444444\"],text_outline_color:[o.ColorSpec,null],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]},a.attrs_of=function(l,e,a,t=!1){const r={};for(const c of(0,i.keys)(a)){const a=`${e}${c}`,o=l[a];r[t?a:c]=o}return r}},\n", + " function _(l,t,e,i,s){i();const a=l(1),o=l(77),r=a.__importStar(l(78)),_=l(21);class c extends o.VisualProperties{get doit(){const l=this.fill_color.get_value(),t=this.fill_alpha.get_value();return!(null==l||0==t)}apply(l,t){const{doit:e}=this;return e&&(this.set_value(l),l.fill(t)),e}values(){return{color:this.fill_color.get_value(),alpha:this.fill_alpha.get_value()}}set_value(l){const t=this.fill_color.get_value(),e=this.fill_alpha.get_value();l.fillStyle=(0,_.color2css)(t,e)}}e.Fill=c,c.__name__=\"Fill\";class h extends o.VisualUniforms{get doit(){const l=this.fill_color.value,t=this.fill_alpha.value;return!(0==l||0==t)}apply(l,t){const{doit:e}=this;return e&&(this.set_value(l),l.fill(t)),e}values(){return{color:this.fill_color.value,alpha:this.fill_alpha.value}}set_value(l){const t=this.fill_color.value,e=this.fill_alpha.value;l.fillStyle=(0,_.color2css)(t,e)}}e.FillScalar=h,h.__name__=\"FillScalar\";class u extends o.VisualUniforms{get doit(){const{fill_color:l}=this;if(l.is_Scalar()&&0==l.value)return!1;const{fill_alpha:t}=this;return!t.is_Scalar()||0!=t.value}v_doit(l){return 0!=this.fill_color.get(l)&&0!=this.fill_alpha.get(l)}apply(l,t,e){const i=this.v_doit(t);return i&&(this.set_vectorize(l,t),l.fill(e)),i}values(l){return{color:this.fill_color.get(l),alpha:this.fill_alpha.get(l)}}set_vectorize(l,t){const e=this.fill_color.get(t),i=this.fill_alpha.get(t);l.fillStyle=(0,_.color2css)(e,i)}}e.FillVector=u,u.__name__=\"FillVector\",c.prototype.type=\"fill\",c.prototype.attrs=Object.keys(r.Fill),h.prototype.type=\"fill\",h.prototype.attrs=Object.keys(r.FillScalar),u.prototype.type=\"fill\",u.prototype.attrs=Object.keys(r.FillVector)},\n", + " function _(t,e,l,s,o){s();const i=t(1),_=t(77),a=i.__importStar(t(78)),n=t(21),h=new Map;function r(t,e){const l=h.get(t);if(null==l){const l=new WeakSet([e]);h.set(t,l)}else{if(l.has(e))return;l.add(e)}const{fonts:s}=document;s.check(t)||s.load(t).then((()=>e.request_render()))}class u extends _.VisualProperties{get doit(){const t=this.text_color.get_value(),e=this.text_alpha.get_value();return!(null==t||0==e)}update(){if(!this.doit)return;r(this.font_value(),this.obj)}values(){return{color:this.text_color.get_value(),outline_color:this.text_outline_color.get_value(),alpha:this.text_alpha.get_value(),font:this.text_font.get_value(),font_size:this.text_font_size.get_value(),font_style:this.text_font_style.get_value(),align:this.text_align.get_value(),baseline:this.text_baseline.get_value(),line_height:this.text_line_height.get_value()}}set_value(t){const e=this.text_color.get_value(),l=this.text_outline_color.get_value(),s=this.text_alpha.get_value();t.fillStyle=(0,n.color2css)(e,s),t.strokeStyle=(0,n.color2css)(l,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()}`}}l.Text=u,u.__name__=\"Text\";class x extends _.VisualUniforms{get doit(){const t=this.text_color.value,e=this.text_alpha.value;return!(0==t||0==e)}update(){if(!this.doit)return;r(this.font_value(),this.obj)}values(){return{color:this.text_color.value,outline_color:this.text_outline_color.value,alpha:this.text_alpha.value,font:this.text_font.value,font_size:this.text_font_size.value,font_style:this.text_font_style.value,align:this.text_align.value,baseline:this.text_baseline.value,line_height:this.text_line_height.value}}set_value(t){const e=this.text_color.value,l=this.text_alpha.value,s=this.text_outline_color.value,o=this.font_value(),i=this.text_align.value,_=this.text_baseline.value;t.fillStyle=(0,n.color2css)(e,l),t.strokeStyle=(0,n.color2css)(s,l),t.font=o,t.textAlign=i,t.textBaseline=_}font_value(){return`${this.text_font_style.value} ${this.text_font_size.value} ${this.text_font.value}`}}l.TextScalar=x,x.__name__=\"TextScalar\";class c extends _.VisualUniforms{_assert_font(t){r(this.font_value(t),this.obj)}values(t){return this._assert_font(t),{color:this.text_color.get(t),outline_color:this.text_outline_color.get(t),alpha:this.text_alpha.get(t),font:this.text_font.get(t),font_size:this.text_font_size.get(t),font_style:this.text_font_style.get(t),align:this.text_align.get(t),baseline:this.text_baseline.get(t),line_height:this.text_line_height.get(t)}}get doit(){const{text_color:t}=this;if(t.is_Scalar()&&0==t.value)return!1;const{text_alpha:e}=this;return!e.is_Scalar()||0!=e.value}v_doit(t){return 0!=this.text_color.get(t)&&0!=this.text_alpha.get(t)}apply(t,e){const l=this.v_doit(e);return l&&this.set_vectorize(t,e),l}set_vectorize(t,e){this._assert_font(e);const l=this.text_color.get(e),s=this.text_outline_color.get(e),o=this.text_alpha.get(e),i=this.font_value(e),_=this.text_align.get(e),a=this.text_baseline.get(e);t.fillStyle=(0,n.color2css)(l,o),t.strokeStyle=(0,n.color2css)(s,o),t.font=i,t.textAlign=_,t.textBaseline=a}font_value(t){return`${this.text_font_style.get(t)} ${this.text_font_size.get(t)} ${this.text_font.get(t)}`}}l.TextVector=c,c.__name__=\"TextVector\",u.prototype.type=\"text\",u.prototype.attrs=Object.keys(a.Text),x.prototype.type=\"text\",x.prototype.attrs=Object.keys(a.TextScalar),c.prototype.type=\"text\",c.prototype.attrs=Object.keys(a.TextVector)},\n", + " function _(t,e,a,r,h){r();const i=t(1),s=t(77),n=t(82),c=i.__importStar(t(17)),_=i.__importStar(t(78));class l extends s.VisualProperties{constructor(){super(...arguments),this._update_iteration=0}update(){if(this._update_iteration++,this._hatch_image=null,!this.doit)return;const t=this.hatch_color.get_value(),e=this.hatch_alpha.get_value(),a=this.hatch_scale.get_value(),r=this.hatch_pattern.get_value(),h=this.hatch_weight.get_value(),i=t=>{this._hatch_image=t},s=this.hatch_extra.get_value()[r];if(null!=s){const r=s.get_pattern(t,e,a,h);if(r instanceof Promise){const{_update_iteration:t}=this;r.then((e=>{this._update_iteration==t&&(i(e),this.obj.request_render())}))}else i(r)}else{const s=this.obj.canvas.create_layer(),c=(0,n.get_pattern)(s,r,t,e,a,h);i(c)}}get doit(){const t=this.hatch_color.get_value(),e=this.hatch_alpha.get_value(),a=this.hatch_pattern.get_value();return!(null==t||0==e||\" \"==a||\"blank\"==a||null==a)}apply(t,e){const{doit:a}=this;return a&&(this.set_value(t),t.layer.undo_transform((()=>t.fill(e)))),a}set_value(t){const e=this.pattern(t);t.fillStyle=null!=e?e:\"transparent\"}pattern(t){const e=this._hatch_image;return null==e?null:t.createPattern(e,this.repetition())}repetition(){const t=this.hatch_pattern.get_value(),e=this.hatch_extra.get_value()[t];if(null==e)return\"repeat\";switch(e.repetition){case\"repeat\":return\"repeat\";case\"repeat_x\":return\"repeat-x\";case\"repeat_y\":return\"repeat-y\";case\"no_repeat\":return\"no-repeat\"}}}a.Hatch=l,l.__name__=\"Hatch\";class o extends s.VisualUniforms{constructor(){super(...arguments),this._static_doit=!1,this._update_iteration=0}_compute_static_doit(){const t=this.hatch_color.value,e=this.hatch_alpha.value,a=this.hatch_pattern.value;return!(null==t||0==e||\" \"==a||\"blank\"==a||null==a)}update(){this._update_iteration++;const t=this.hatch_color.length;if(this._hatch_image=new c.UniformScalar(null,t),this._static_doit=this._compute_static_doit(),!this._static_doit)return;const e=this.hatch_color.value,a=this.hatch_alpha.value,r=this.hatch_scale.value,h=this.hatch_pattern.value,i=this.hatch_weight.value,s=e=>{this._hatch_image=new c.UniformScalar(e,t)},_=this.hatch_extra.value[h];if(null!=_){const t=_.get_pattern(e,a,r,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(),c=(0,n.get_pattern)(t,h,e,a,r,i);s(c)}}get doit(){return this._static_doit}apply(t,e){const{doit:a}=this;return a&&(this.set_value(t),t.layer.undo_transform((()=>t.fill(e)))),a}set_value(t){var e;t.fillStyle=null!==(e=this.pattern(t))&&void 0!==e?e:\"transparent\"}pattern(t){const e=this._hatch_image.value;return null==e?null:t.createPattern(e,this.repetition())}repetition(){const t=this.hatch_pattern.value,e=this.hatch_extra.value[t];if(null==e)return\"repeat\";switch(e.repetition){case\"repeat\":return\"repeat\";case\"repeat_x\":return\"repeat-x\";case\"repeat_y\":return\"repeat-y\";case\"no_repeat\":return\"no-repeat\"}}}a.HatchScalar=o,o.__name__=\"HatchScalar\";class u extends s.VisualUniforms{constructor(){super(...arguments),this._static_doit=!1,this._update_iteration=0}_compute_static_doit(){const{hatch_color:t}=this;if(t.is_Scalar()&&0==t.value)return!1;const{hatch_alpha:e}=this;if(e.is_Scalar()&&0==e.value)return!1;const{hatch_pattern:a}=this;if(a.is_Scalar()){const t=a.value;if(\" \"==t||\"blank\"==t||null==t)return!1}return!0}update(){this._update_iteration++;const t=this.hatch_color.length;if(this._hatch_image=new c.UniformScalar(null,t),this._static_doit=this._compute_static_doit(),!this._static_doit)return;const e=(t,e,a,r,h,i)=>{const s=this.hatch_extra.value[t];if(null!=s){const t=s.get_pattern(e,a,r,h);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(),c=(0,n.get_pattern)(s,t,e,a,r,h);i(c)}};if(this.hatch_color.is_Scalar()&&this.hatch_alpha.is_Scalar()&&this.hatch_scale.is_Scalar()&&this.hatch_pattern.is_Scalar()&&this.hatch_weight.is_Scalar()){const a=this.hatch_color.value,r=this.hatch_alpha.value,h=this.hatch_scale.value;e(this.hatch_pattern.value,a,r,h,this.hatch_weight.value,(e=>{this._hatch_image=new c.UniformScalar(e,t)}))}else{const a=new Array(t);a.fill(null),this._hatch_image=new c.UniformVector(a);for(let r=0;r{a[r]=t}))}}}get doit(){return this._static_doit}v_doit(t){if(!this.doit)return!1;if(0==this.hatch_color.get(t))return!1;if(0==this.hatch_alpha.get(t))return!1;const e=this.hatch_pattern.get(t);return\" \"!=e&&\"blank\"!=e&&null!=e}apply(t,e,a){const r=this.v_doit(e);return r&&(this.set_vectorize(t,e),t.layer.undo_transform((()=>t.fill(a)))),r}set_vectorize(t,e){var a;t.fillStyle=null!==(a=this.pattern(t,e))&&void 0!==a?a:\"transparent\"}pattern(t,e){const a=this._hatch_image.get(e);return null==a?null:t.createPattern(a,this.repetition(e))}repetition(t){const e=this.hatch_pattern.get(t),a=this.hatch_extra.value[e];if(null==a)return\"repeat\";switch(a.repetition){case\"repeat\":return\"repeat\";case\"repeat_x\":return\"repeat-x\";case\"repeat_y\":return\"repeat-y\";case\"no_repeat\":return\"no-repeat\"}}}a.HatchVector=u,u.__name__=\"HatchVector\",l.prototype.type=\"hatch\",l.prototype.attrs=Object.keys(_.Hatch),o.prototype.type=\"hatch\",o.prototype.attrs=Object.keys(_.HatchScalar),u.prototype.type=\"hatch\",u.prototype.attrs=Object.keys(_.HatchVector)},\n", + " function _(e,o,a,r,s){r();const i=e(18),n=e(21);function l(e,o,a){e.moveTo(0,a+.5),e.lineTo(o,a+.5),e.stroke()}function t(e,o,a){e.moveTo(a+.5,0),e.lineTo(a+.5,o),e.stroke()}function c(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,r,s,k,_){return e.resize(k,k),e.prepare(),function(e,o,r,s,k,_){var T;const h=k,v=h/2,d=v/2,b=(0,n.color2css)(r,s);switch(e.strokeStyle=b,e.fillStyle=b,e.lineCap=\"square\",e.lineWidth=_,null!==(T=a.hatch_aliases[o])&&void 0!==T?T: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,h,v);break;case\"vertical_line\":t(e,h,v);break;case\"cross\":l(e,h,v),t(e,h,v);break;case\"horizontal_dash\":l(e,v,v);break;case\"vertical_dash\":t(e,v,v);break;case\"spiral\":{const o=h/30;e.moveTo(v,v);for(let a=0;a<360;a++){const r=.1*a,s=v+o*r*Math.cos(r),i=v+o*r*Math.sin(r);e.lineTo(s,i)}e.stroke();break}case\"right_diagonal_line\":e.moveTo(.5-d,h),e.lineTo(d+.5,0),e.stroke(),e.moveTo(d+.5,h),e.lineTo(3*d+.5,0),e.stroke(),e.moveTo(3*d+.5,h),e.lineTo(5*d+.5,0),e.stroke();break;case\"left_diagonal_line\":e.moveTo(d+.5,h),e.lineTo(.5-d,0),e.stroke(),e.moveTo(3*d+.5,h),e.lineTo(d+.5,0),e.stroke(),e.moveTo(5*d+.5,h),e.lineTo(3*d+.5,0),e.stroke();break;case\"diagonal_cross\":c(e,h);break;case\"right_diagonal_dash\":e.moveTo(d+.5,3*d+.5),e.lineTo(3*d+.5,d+.5),e.stroke();break;case\"left_diagonal_dash\":e.moveTo(d+.5,d+.5),e.lineTo(3*d+.5,3*d+.5),e.stroke();break;case\"horizontal_wave\":e.moveTo(0,d),e.lineTo(v,3*d),e.lineTo(h,d),e.stroke();break;case\"vertical_wave\":e.moveTo(d,0),e.lineTo(3*d,v),e.lineTo(d,h),e.stroke();break;case\"criss_cross\":c(e,h),l(e,h,v),t(e,h,v);break;default:i.logger.warn(`unknown hatch pattern: ${o}`)}}(e.ctx,o,r,s,k,_),e.canvas}},\n", + " function _(a,t,e,l,s){l();const o=a(1),r=a(77),p=o.__importStar(a(78));class _ extends r.VisualProperties{get doit(){return!(0==this.global_alpha.get_value())}apply(a){const{doit:t}=this;return t&&this.set_value(a),t}values(){return{global_alpha:this.global_alpha.get_value()}}set_value(a){const t=this.global_alpha.get_value();a.globalAlpha=t}}e.Image=_,_.__name__=\"Image\";class i extends r.VisualUniforms{get doit(){return!(0==this.global_alpha.value)}apply(a){const{doit:t}=this;return t&&this.set_value(a),t}values(){return{global_alpha:this.global_alpha.value}}set_value(a){const t=this.global_alpha.value;a.globalAlpha=t}}e.ImageScalar=i,i.__name__=\"ImageScalar\";class g extends r.VisualUniforms{get doit(){const{global_alpha:a}=this;return!a.is_Scalar()||0!=a.value}v_doit(a){return 0!=this.global_alpha.get(a)}apply(a,t){const e=this.v_doit(t);return e&&this.set_vectorize(a,t),e}values(a){return{alpha:this.global_alpha.get(a)}}set_vectorize(a,t){const e=this.global_alpha.get(t);a.globalAlpha=e}}e.ImageVector=g,g.__name__=\"ImageVector\",_.prototype.type=\"image\",_.prototype.attrs=Object.keys(p.Image),i.prototype.type=\"image\",i.prototype.attrs=Object.keys(p.ImageScalar),g.prototype.type=\"image\",g.prototype.attrs=Object.keys(p.ImageVector)},\n", + " function _(e,t,s,a,r){var c,n;a();const _=e(13),o=e(50),i=e(85),l=e(89),u=e(91),g=e(92),h=e(87),p=e(93),m=e(96);class x{constructor(e,t){this.x_scale=e,this.y_scale=t,this.x_source=this.x_scale.source_range,this.y_source=this.y_scale.source_range,this.ranges=[this.x_source,this.y_source],this.scales=[this.x_scale,this.y_scale]}map_to_screen(e,t){return[this.x_scale.v_compute(e),this.y_scale.v_compute(t)]}map_from_screen(e,t){return[this.x_scale.v_invert(e),this.y_scale.v_invert(t)]}}s.CoordinateTransform=x,x.__name__=\"CoordinateTransform\";class y extends o.Model{constructor(e){super(e)}get x_ranges(){return new Map([[\"default\",this.x_source]])}get y_ranges(){return new Map([[\"default\",this.y_source]])}_get_scale(e,t,s){if(e instanceof m.FactorRange!=t instanceof g.CategoricalScale)throw new Error(`Range ${e.type} is incompatible is Scale ${t.type}`);t instanceof u.LogScale&&e instanceof p.DataRange1d&&(e.scale_hint=\"log\");const a=t.clone();return a.setv({source_range:e,target_range:s}),a}get_transform(e){const{x_source:t,x_scale:s,x_target:a}=this,r=this._get_scale(t,s,a),{y_source:c,y_scale:n,y_target:_}=this,o=this._get_scale(c,n,_),i=new v({source_scale:r,source_range:r.source_range,target_scale:e.x_scale,target_range:e.x_target}),l=new v({source_scale:o,source_range:o.source_range,target_scale:e.y_scale,target_range:e.y_target});return new x(i,l)}}s.CoordinateMapping=y,c=y,y.__name__=\"CoordinateMapping\",c.define((({Ref:e})=>({x_source:[e(h.Range),()=>new p.DataRange1d],y_source:[e(h.Range),()=>new p.DataRange1d],x_scale:[e(i.Scale),()=>new l.LinearScale],y_scale:[e(i.Scale),()=>new l.LinearScale],x_target:[e(h.Range)],y_target:[e(h.Range)]})));class v extends i.Scale{constructor(e){super(e)}get s_compute(){const e=this.source_scale.s_compute,t=this.target_scale.s_compute;return s=>t(e(s))}get s_invert(){const e=this.source_scale.s_invert,t=this.target_scale.s_invert;return s=>e(t(s))}compute(e){return this.s_compute(e)}v_compute(e){const{s_compute:t}=this;return(0,_.map)(e,t)}invert(e){return this.s_invert(e)}v_invert(e){const{s_invert:t}=this;return(0,_.map)(e,t)}}s.CompositeScale=v,n=v,v.__name__=\"CompositeScale\",n.internal((({Ref:e})=>({source_scale:[e(i.Scale)],target_scale:[e(i.Scale)]})))},\n", + " function _(e,t,r,n,s){var _;n();const a=e(86),c=e(87),o=e(88),i=e(23);class u extends a.Transform{constructor(e){super(e)}compute(e){return this.s_compute(e)}v_compute(e){const t=new i.ScreenArray(e.length),{s_compute:r}=this;for(let n=0;n({source_range:[e(c.Range)],target_range:[e(o.Range1d)]})))},\n", + " function _(n,s,o,r,c){r();const e=n(50);class t extends e.Model{constructor(n){super(n)}}o.Transform=t,t.__name__=\"Transform\"},\n", + " function _(t,e,n,i,s){var a;i();const r=t(50);class l extends r.Model{constructor(t){super(t),this.have_updated_interactively=!1,this.plots=new Set}get is_reversed(){return this.start>this.end}get is_valid(){return isFinite(this.min)&&isFinite(this.max)}get span(){return Math.abs(this.end-this.start)}}n.Range=l,a=l,l.__name__=\"Range\",a.define((({Number:t,Tuple:e,Or:n,Auto:i,Nullable:s})=>({bounds:[s(n(e(s(t),s(t)),i)),null],min_interval:[s(t),null],max_interval:[s(t),null]})))},\n", + " function _(t,e,s,n,r){var a;n();const i=t(87);class _ extends i.Range{constructor(t){super(t)}_set_auto_bounds(){if(\"auto\"==this.bounds){const t=Math.min(this._reset_start,this._reset_end),e=Math.max(this._reset_start,this._reset_end);this.setv({bounds:[t,e]},{silent:!0})}}initialize(){super.initialize(),this._set_auto_bounds()}get min(){return Math.min(this.start,this.end)}get max(){return Math.max(this.start,this.end)}reset(){this._set_auto_bounds();const{_reset_start:t,_reset_end:e}=this;this.start!=t||this.end!=e?this.setv({start:t,end:e}):this.change.emit()}map(t){return new _({start:t(this.start),end:t(this.end)})}widen(t){let{start:e,end:s}=this;return this.is_reversed?(e+=t,s-=t):(e-=t,s+=t),new _({start:e,end:s})}}s.Range1d=_,a=_,_.__name__=\"Range1d\",a.define((({Number:t,Nullable:e})=>({start:[t,0],end:[t,1],reset_start:[e(t),null,{on_update(t,e){e._reset_start=null!=t?t:e.start}}],reset_end:[e(t),null,{on_update(t,e){e._reset_end=null!=t?t:e.end}}]})))},\n", + " function _(t,e,n,r,s){r();const a=t(90);class _ extends a.ContinuousScale{constructor(t){super(t)}get s_compute(){const[t,e]=this._linear_compute_state();return n=>t*n+e}get s_invert(){const[t,e]=this._linear_compute_state();return n=>(n-e)/t}_linear_compute_state(){const t=this.source_range.start,e=this.source_range.end,n=this.target_range.start,r=(this.target_range.end-n)/(e-t);return[r,-r*t+n]}}n.LinearScale=_,_.__name__=\"LinearScale\"},\n", + " function _(n,c,o,s,e){s();const t=n(85);class u extends t.Scale{constructor(n){super(n)}}o.ContinuousScale=u,u.__name__=\"ContinuousScale\"},\n", + " function _(t,e,s,a,r){a();const o=t(90);class n extends o.ContinuousScale{constructor(t){super(t)}get s_compute(){const[t,e,s,a]=this._compute_state();return r=>{if(0==s)return 0;{const o=(Math.log(r)-a)/s;return isFinite(o)?o*t+e:NaN}}}get s_invert(){const[t,e,s,a]=this._compute_state();return r=>{const o=(r-e)/t;return Math.exp(s*o+a)}}_get_safe_factor(t,e){let s=t<0?0:t,a=e<0?0:e;if(s==a)if(0==s)[s,a]=[1,10];else{const t=Math.log10(s);s=10**Math.floor(t),a=Math.ceil(t)!=Math.floor(t)?10**Math.ceil(t):10**(Math.ceil(t)+1)}return[s,a]}_compute_state(){const t=this.source_range.start,e=this.source_range.end,s=this.target_range.start,a=this.target_range.end-s,[r,o]=this._get_safe_factor(t,e);let n,c;0==r?(n=Math.log(o),c=0):(n=Math.log(o/r),c=Math.log(r));return[a,s,n,c]}}s.LogScale=n,n.__name__=\"LogScale\"},\n", + " function _(t,e,c,a,s){a();const n=t(85),r=t(89),{_linear_compute_state:o}=r.LinearScale.prototype;class l extends n.Scale{constructor(t){super(t)}get s_compute(){const[t,e]=o.call(this),c=this.source_range;return a=>t*c.synthetic(a)+e}get s_invert(){const[t,e]=o.call(this);return c=>(c-e)/t}}c.CategoricalScale=l,l.__name__=\"CategoricalScale\"},\n", + " function _(t,i,n,e,a){var s;e();const l=t(1),_=t(94),o=t(19),r=t(32),d=t(18),h=l.__importStar(t(57)),u=t(95);n.auto_ranged=Symbol(\"auto_ranged\"),n.is_auto_ranged=function(t){return n.auto_ranged in t};class g extends _.DataRange{constructor(t){super(t),this.have_updated_interactively=!1}initialize(){super.initialize(),this._initial_start=isNaN(this.start)?null:this.start,this._initial_end=isNaN(this.end)?null: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}=this,i=(0,r.flat_map)(this.plots,(t=>t.auto_ranged_renderers.map((t=>t.model))));return(0,u.compute_renderers)(0==t.length?\"auto\":t,[...i])}_compute_plot_bounds(t,i){let n=h.empty();for(const e of t){const t=i.get(e);null==t||!e.visible&&this.only_visible||(n=h.union(n,t))}return n}adjust_bounds_for_aspect(t,i){const n=h.empty();let e=t.x1-t.x0;e<=0&&(e=1);let a=t.y1-t.y0;a<=0&&(a=1);const s=.5*(t.x1+t.x0),l=.5*(t.y1+t.y0);return el&&(\"start\"==this.follow?a=e+s*l:\"end\"==this.follow&&(e=a-s*l)),[e,a]}update(t,i,n,e){if(this.have_updated_interactively)return;const a=this.computed_renderers();let s=this._compute_plot_bounds(a,t);null!=e&&(s=this.adjust_bounds_for_aspect(s,e)),this._plot_bounds.set(n,s);const[l,_]=this._compute_min_max(this._plot_bounds.entries(),i);let[o,r]=this._compute_range(l,_);null!=this._initial_start&&(\"log\"==this.scale_hint?this._initial_start>0&&(o=this._initial_start):o=this._initial_start),null!=this._initial_end&&(\"log\"==this.scale_hint?this._initial_end>0&&(r=this._initial_end):r=this._initial_end);let d=!1;\"auto\"==this.bounds&&(this.setv({bounds:[o,r]},{silent:!0}),d=!0);const[h,u]=[this.start,this.end];if(o!=h||r!=u){const t={};o!=h&&(t.start=o),r!=u&&(t.end=r),this.setv(t),d=!1}d&&this.change.emit()}reset(){this.have_updated_interactively=!1,this.setv({range_padding:this._initial_range_padding,range_padding_units:this._initial_range_padding_units,follow:this._initial_follow,follow_interval:this._initial_follow_interval,default_span:this._initial_default_span},{silent:!0}),this.change.emit()}}n.DataRange1d=g,s=g,g.__name__=\"DataRange1d\",s.define((({Boolean:t,Number:i,Nullable:n})=>({start:[i,NaN],end:[i,NaN],range_padding:[i,.1],range_padding_units:[o.PaddingUnits,\"percent\"],flipped:[t,!1],follow:[n(o.StartEnd),null],follow_interval:[n(i),null],default_span:[i,2],only_visible:[t,!1]}))),s.internal((({Enum:t})=>({scale_hint:[t(\"log\",\"auto\"),\"auto\"]})))},\n", + " function _(e,n,a,r,t){var s;r();const c=e(87);class o extends c.Range{constructor(e){super(e)}}a.DataRange=o,s=o,o.__name__=\"DataRange\",s.define((({Array:e,AnyRef:n,Or:a,Auto:r})=>({renderers:[a(e(n()),r),[]]})))},\n", + " function _(n,u,e,r,t){r(),e.compute_renderers=function(n,u){return\"auto\"==n?u:null!=n?n:[]}},\n", + " function _(t,n,e,i,s){var r;i();const a=t(1),o=t(87),g=t(19),p=a.__importStar(t(17)),c=t(20),l=t(23),u=t(10),h=t(8),d=t(12);function _(t,n,e=0){const i=new Map;for(let s=0;sa.get(t).value)));r.set(t,{value:c/s,mapping:a}),o+=s+n+p}return[r,(a.size-1)*n+g]}function m(t,n,e,i,s=0){var r;const a=new Map,o=new Map;for(const[n,e,i]of t){const t=null!==(r=o.get(n))&&void 0!==r?r:[];o.set(n,[...t,[e,i]])}let g=s,p=0;for(const[t,s]of o){const r=s.length,[o,c]=f(s,e,i,g);p+=c;const l=(0,u.sum)(s.map((([t])=>o.get(t).value)));a.set(t,{value:l/r,mapping:o}),g+=r+n+c}return[a,(o.size-1)*n+p]}e.Factor=(0,c.Or)(c.String,(0,c.Tuple)(c.String,c.String),(0,c.Tuple)(c.String,c.String,c.String)),e.FactorSeq=(0,c.Or)((0,c.Array)(c.String),(0,c.Array)((0,c.Tuple)(c.String,c.String)),(0,c.Array)((0,c.Tuple)(c.String,c.String,c.String))),e.map_one_level=_,e.map_two_levels=f,e.map_three_levels=m;class v extends o.Range{constructor(t){super(t)}get min(){return this.start}get max(){return this.end}initialize(){super.initialize(),this._init(!0)}connect_signals(){super.connect_signals(),this.connect(this.properties.factors.change,(()=>this.reset())),this.connect(this.properties.factor_padding.change,(()=>this.reset())),this.connect(this.properties.group_padding.change,(()=>this.reset())),this.connect(this.properties.subgroup_padding.change,(()=>this.reset())),this.connect(this.properties.range_padding.change,(()=>this.reset())),this.connect(this.properties.range_padding_units.change,(()=>this.reset()))}reset(){this._init(!1),this.change.emit()}_lookup(t){switch(t.length){case 1:{const[n]=t,e=this._mapping.get(n);return null!=e?e.value:NaN}case 2:{const[n,e]=t,i=this._mapping.get(n);if(null!=i){const t=i.mapping.get(e);if(null!=t)return t.value}return NaN}case 3:{const[n,e,i]=t,s=this._mapping.get(n);if(null!=s){const t=s.mapping.get(e);if(null!=t){const n=t.mapping.get(i);if(null!=n)return n.value}}return NaN}default:(0,d.unreachable)()}}synthetic(t){if((0,h.isNumber)(t))return t;if((0,h.isString)(t))return this._lookup([t]);let n=0;const e=t[t.length-1];return(0,h.isNumber)(e)&&(n=e,t=t.slice(0,-1)),this._lookup(t)+n}v_synthetic(t){const n=t.length,e=new l.ScreenArray(n);for(let i=0;i{if((0,u.every)(this.factors,h.isString)){const t=this.factors,[n,e]=_(t,this.factor_padding);return{levels:1,mapping:n,tops:null,mids:null,inside_padding:e}}if((0,u.every)(this.factors,(t=>(0,h.isArray)(t)&&2==t.length&&(0,h.isString)(t[0])&&(0,h.isString)(t[1])))){const t=this.factors,[n,e]=f(t,this.group_padding,this.factor_padding),i=[...n.keys()];return{levels:2,mapping:n,tops:i,mids:null,inside_padding:e}}if((0,u.every)(this.factors,(t=>(0,h.isArray)(t)&&3==t.length&&(0,h.isString)(t[0])&&(0,h.isString)(t[1])&&(0,h.isString)(t[2])))){const t=this.factors,[n,e]=m(t,this.group_padding,this.subgroup_padding,this.factor_padding),i=[...n.keys()],s=[];for(const[t,e]of n)for(const n of e.mapping.keys())s.push([t,n]);return{levels:3,mapping:n,tops:i,mids:s,inside_padding:e}}(0,d.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=v,r=v,v.__name__=\"FactorRange\",r.define((({Number:t})=>({factors:[e.FactorSeq,[]],factor_padding:[t,0],subgroup_padding:[t,.8],group_padding:[t,1.4],range_padding:[t,0],range_padding_units:[g.PaddingUnits,\"percent\"],start:[t,p.unset,{readonly:!0}],end:[t,p.unset,{readonly:!0}]}))),r.internal((({Number:t,String:n,Array:e,Tuple:i,Nullable:s})=>({levels:[t],mids:[s(e(i(n,n))),null],tops:[s(e(n)),null]})))},\n", + " function _(t,e,s,a,n){var r;a();const i=t(1),_=t(98),o=t(139),l=t(78),d=t(19),c=t(23),h=t(59),u=t(23),v=i.__importStar(t(17)),p=t(11);class y extends _.DataAnnotationView{*children(){yield*super.children();const{start:t,end:e}=this;null!=t&&(yield t),null!=e&&(yield e)}async lazy_initialize(){await super.lazy_initialize();const{start:t,end:e}=this.model;null!=t&&(this.start=await(0,h.build_view)(t,{parent:this})),null!=e&&(this.end=await(0,h.build_view)(e,{parent:this}))}set_data(t){var e,s;super.set_data(t);const a=u.Indices.all_set(this._x_start.length);null===(e=this.start)||void 0===e||e.set_data(t,a),null===(s=this.end)||void 0===s||s.set_data(t,a)}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,[e,s]=(()=>{switch(this.model.start_units){case\"canvas\":return[new c.ScreenArray(this._x_start),new c.ScreenArray(this._y_start)];case\"screen\":return[t.bbox.xview.v_compute(this._x_start),t.bbox.yview.v_compute(this._y_start)];case\"data\":return[this.coordinates.x_scale.v_compute(this._x_start),this.coordinates.y_scale.v_compute(this._y_start)]}})(),[a,n]=(()=>{switch(this.model.end_units){case\"canvas\":return[new c.ScreenArray(this._x_end),new c.ScreenArray(this._y_end)];case\"screen\":return[t.bbox.xview.v_compute(this._x_end),t.bbox.yview.v_compute(this._y_end)];case\"data\":return[this.coordinates.x_scale.v_compute(this._x_end),this.coordinates.y_scale.v_compute(this._y_end)]}})();this._sx_start=e,this._sy_start=s,this._sx_end=a,this._sy_end=n;const r=e.length,i=this._angles=new c.ScreenArray(r);for(let t=0;t({x_start:[v.XCoordinateSpec,{field:\"x_start\"}],y_start:[v.YCoordinateSpec,{field:\"y_start\"}],start_units:[d.CoordinateUnits,\"data\"],start:[e(t(o.ArrowHead)),null],x_end:[v.XCoordinateSpec,{field:\"x_end\"}],y_end:[v.YCoordinateSpec,{field:\"y_end\"}],end_units:[d.CoordinateUnits,\"data\"],end:[e(t(o.ArrowHead)),()=>new o.OpenHead]})))},\n", + " function _(t,e,n,s,a){var o;s();const i=t(1),c=t(73),r=t(99),_=t(104),l=t(105),h=i.__importStar(t(17));class d extends c.AnnotationView{constructor(){super(...arguments),this._initial_set_data=!1}connect_signals(){super.connect_signals();const t=()=>{this.set_data(this.model.source),this._rerender()};this.connect(this.model.change,t),this.connect(this.model.source.streaming,t),this.connect(this.model.source.patching,t),this.connect(this.model.source.change,t)}_rerender(){this.request_render()}set_data(t){const e=this;for(const n of this.model)if(n instanceof h.VectorSpec||n instanceof h.ScalarSpec)if(n instanceof h.BaseCoordinateSpec){const s=n.array(t);e[`_${n.attr}`]=s}else{const s=n.uniform(t);e[`${n.attr}`]=s}this.plot_model.use_map&&(null!=e._x&&l.inplace.project_xy(e._x,e._y),null!=e._xs&&l.inplace.project_xsys(e._xs,e._ys));for(const t of this.visuals)t.update()}_render(){this._initial_set_data||(this.set_data(this.model.source),this._initial_set_data=!0),this.map_data(),this.paint(this.layer.ctx)}}n.DataAnnotationView=d,d.__name__=\"DataAnnotationView\";class u extends c.Annotation{constructor(t){super(t)}}n.DataAnnotation=u,o=u,u.__name__=\"DataAnnotation\",o.define((({Ref:t})=>({source:[t(r.ColumnarDataSource),()=>new _.ColumnDataSource]})))},\n", + " function _(t,e,n,a,s){var r;a();const i=t(18),l=t(100),o=t(15),c=t(10),u=t(29),h=t(9),g=t(8),d=t(102),_=t(101),f=t(103);class m extends f.DataSource{get_array(t){let e=this.data[t];return null==e?this.data[t]=e=[]:(0,g.isArray)(e)||(this.data[t]=e=Array.from(e)),e}constructor(t){super(t),this.selection_manager=new l.SelectionManager(this)}initialize(){super.initialize(),this._select=new o.Signal0(this,\"select\"),this.inspect=new o.Signal(this,\"inspect\")}get_column(t){return t in this.data?this.data[t]:null}columns(){return(0,h.keys)(this.data)}get_length(t=!0){const e=(0,c.uniq)((0,h.values)(this.data).map((t=>(0,u.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 i.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,r=m,m.__name__=\"ColumnarDataSource\",r.define((({Ref:t})=>({selection_policy:[t(d.SelectionPolicy),()=>new d.UnionRenderers]}))),r.internal((({AnyRef:t})=>({inspected:[t(),()=>new _.Selection]})))},\n", + " function _(e,t,o,s,c){s();const n=e(101);function i(e){return\"GlyphRenderer\"==e.model.type}function l(e){return\"GraphRenderer\"==e.model.type}class r{constructor(e){this.inspectors=new Map,this.source=e}select(e,t,o,s=\"replace\"){const c=[],n=[];for(const t of e)i(t)?c.push(t):l(t)&&n.push(t);let r=!1;for(const e of n){const c=e.model.selection_policy.hit_test(t,e);r=r||e.model.selection_policy.do_selection(c,e.model,o,s)}if(c.length>0){const e=this.source.selection_policy.hit_test(t,c);r=r||this.source.selection_policy.do_selection(e,this.source,o,s)}return r}inspect(e,t){let o=!1;if(i(e)){const s=e.hit_test(t);if(null!=s){o=!s.is_empty();const c=this.get_or_create_inspector(e.model);c.update(s,!0,\"replace\"),this.source.setv({inspected:c},{silent:!0}),this.source.inspect.emit([e.model,{geometry:t}])}}else if(l(e)){const s=e.model.inspection_policy.hit_test(t,e);o=e.model.inspection_policy.do_inspection(s,t,e,!1,\"replace\")}return o}clear(e){this.source.selected.clear(),null!=e&&this.get_or_create_inspector(e.model).clear()}get_or_create_inspector(e){let t=this.inspectors.get(e);return null==t&&(t=new n.Selection,this.inspectors.set(e,t)),t}}o.SelectionManager=r,r.__name__=\"SelectionManager\"},\n", + " function _(i,e,s,t,n){var c;t();const l=i(50),d=i(10),h=i(9),_=i(20),u=i(13);s.OpaqueIndices=(0,_.Arrayable)(_.Int);class a extends l.Model{constructor(i){super(i)}get_view(){return this.view}get selected_glyph(){return this.selected_glyphs.length>0?this.selected_glyphs[0]:null}add_to_selected_glyphs(i){this.selected_glyphs.push(i)}update(i,e=!0,s=\"replace\"){switch(s){case\"replace\":this.indices=i.indices,this.line_indices=i.line_indices,this.multiline_indices=i.multiline_indices,this.image_indices=i.image_indices,this.view=i.view,this.selected_glyphs=i.selected_glyphs;break;case\"append\":this.update_through_union(i);break;case\"intersect\":this.update_through_intersection(i);break;case\"subtract\":this.update_through_subtraction(i)}}clear(){this.indices=[],this.line_indices=[],this.multiline_indices={},this.image_indices=[],this.view=null,this.selected_glyphs=[]}map(i){return new a(Object.assign(Object.assign({},this.attributes),{indices:(0,u.map)(this.indices,i),multiline_indices:(0,h.to_object)((0,h.entries)(this.multiline_indices).map((([e,s])=>[i(Number(e)),s]))),image_indices:this.image_indices.map((e=>Object.assign(Object.assign({},e),{index:i(e.index)})))}))}is_empty(){return 0==this.indices.length&&0==this.line_indices.length&&0==this.image_indices.length}update_through_union(i){this.indices=(0,d.union)(this.indices,i.indices),this.selected_glyphs=(0,d.union)(i.selected_glyphs,this.selected_glyphs),this.line_indices=(0,d.union)(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=(0,h.merge)(i.multiline_indices,this.multiline_indices)}update_through_intersection(i){this.indices=(0,d.intersection)(this.indices,i.indices),this.selected_glyphs=(0,d.union)(i.selected_glyphs,this.selected_glyphs),this.line_indices=(0,d.union)(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=(0,h.merge)(i.multiline_indices,this.multiline_indices)}update_through_subtraction(i){this.indices=(0,d.difference)(this.indices,i.indices),this.selected_glyphs=(0,d.union)(i.selected_glyphs,this.selected_glyphs),this.line_indices=(0,d.union)(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=(0,h.merge)(i.multiline_indices,this.multiline_indices)}}s.Selection=a,c=a,a.__name__=\"Selection\",c.define((({Int:i,Array:e,Dict:t,Struct:n})=>({indices:[s.OpaqueIndices,[]],line_indices:[s.OpaqueIndices,[]],multiline_indices:[t(s.OpaqueIndices),{}],image_indices:[e(n({index:i,i,j:i,flat_index:i})),[]]}))),c.internal((({Array:i,AnyRef:e,Nullable:s})=>({selected_glyphs:[i(e()),[]],view:[s(e()),null]})))},\n", + " function _(e,t,n,s,o){s();const r=e(50);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 _(e,n,c,o,t){var a;o();const r=e(50),s=e(101);class l extends r.Model{constructor(e){super(e)}}c.DataSource=l,a=l,l.__name__=\"DataSource\",a.define((({Ref:e})=>({selected:[e(s.Selection),()=>new s.Selection,{readonly:!0}]})))},\n", + " function _(t,a,s,e,r){var c;e();const n=t(99);class o extends n.ColumnarDataSource{constructor(t){super(t)}stream(t,a,{sync:s}={}){this.stream_to(this.properties.data,t,a,{sync:s})}patch(t,{sync:a}={}){this.patch_to(this.properties.data,t,{sync:a})}}s.ColumnDataSource=o,c=o,o.__name__=\"ColumnDataSource\",c.define((({Any:t,Dict:a,Arrayable:s})=>({data:[a(s(t)),{}]})))},\n", + " function _(n,t,e,o,r){o();const c=n(1),l=c.__importDefault(n(106)),i=c.__importDefault(n(107)),u=n(23),a=new i.default(\"GOOGLE\"),s=new i.default(\"WGS84\"),f=(0,l.default)(s,a);e.wgs84_mercator={compute:(n,t)=>isFinite(n)&&isFinite(t)?f.forward([n,t]):[NaN,NaN],invert:(n,t)=>isFinite(n)&&isFinite(t)?f.inverse([n,t]):[NaN,NaN]};const _={lon:[-20026376.39,20026376.39],lat:[-20048966.1,20048966.1]},p={lon:[-180,180],lat:[-85.06,85.06]},{min:g,max:h}=Math;function m(n,t){const o=g(n.length,t.length),r=(0,u.infer_type)(n,t),c=new r(o),l=new r(o);return e.inplace.project_xy(n,t,c,l),[c,l]}e.clip_mercator=function(n,t,e){const[o,r]=_[e];return[h(n,o),g(t,r)]},e.in_bounds=function(n,t){const[e,o]=p[t];return e2?void 0!==e.name&&\"geocent\"===e.name||void 0!==n.name&&\"geocent\"===n.name?\"number\"==typeof o.z?[o.x,o.y,o.z].concat(t.splice(3)):[o.x,o.y,t[2]].concat(t.splice(3)):[o.x,o.y].concat(t.splice(2)):[o.x,o.y]):(a=(0,c.default)(e,n,t,r),2===(i=Object.keys(t)).length||i.forEach((function(r){if(void 0!==e.name&&\"geocent\"===e.name||void 0!==n.name&&\"geocent\"===n.name){if(\"x\"===r||\"y\"===r||\"z\"===r)return}else if(\"x\"===r||\"y\"===r)return;a[r]=t[r]})),a)}function l(e){return e instanceof i.default?e:e.oProj?e.oProj:(0,i.default)(e)}t.default=function(e,n,t){e=l(e);var r,o=!1;return void 0===n?(n=e,e=u,o=!0):(void 0!==n.x||Array.isArray(n))&&(t=n,n=e,e=u,o=!0),n=l(n),t?f(e,n,t):(r={forward:function(t,r){return f(e,n,t,r)},inverse:function(t,r){return f(n,e,t,r)}},o&&(r.oProj=n),r)}},\n", + " function _(t,e,a,s,i){s();const l=t(1),u=l.__importDefault(t(108)),r=l.__importDefault(t(119)),d=l.__importDefault(t(120)),o=t(128),f=l.__importDefault(t(130)),p=l.__importDefault(t(131)),m=l.__importDefault(t(115)),n=t(132);function h(t,e){if(!(this instanceof h))return new h(t);e=e||function(t){if(t)throw t};var a=(0,u.default)(t);if(\"object\"==typeof a){var s=h.projections.get(a.projName);if(s){if(a.datumCode&&\"none\"!==a.datumCode){var i=(0,m.default)(f.default,a.datumCode);i&&(a.datum_params=a.datum_params||(i.towgs84?i.towgs84.split(\",\"):null),a.ellps=i.ellipse,a.datumName=i.datumName?i.datumName:a.datumCode)}a.k0=a.k0||1,a.axis=a.axis||\"enu\",a.ellps=a.ellps||\"wgs84\",a.lat1=a.lat1||a.lat0;var l=(0,o.sphere)(a.a,a.b,a.rf,a.ellps,a.sphere),d=(0,o.eccentricity)(l.a,l.b,l.rf,a.R_A),_=(0,n.getNadgrids)(a.nadgrids),c=a.datum||(0,p.default)(a.datumCode,a.datum_params,l.a,l.b,d.es,d.ep2,_);(0,r.default)(this,a),(0,r.default)(this,s),this.a=l.a,this.b=l.b,this.rf=l.rf,this.sphere=l.sphere,this.es=d.es,this.e=d.e,this.ep2=d.ep2,this.datum=c,this.init(),e(null,this)}else e(t)}else e(t)}h.projections=d.default,h.projections.start(),a.default=h},\n", + " function _(t,r,n,u,e){u();const f=t(1),i=f.__importDefault(t(109)),a=f.__importDefault(t(116)),o=f.__importDefault(t(111)),l=f.__importDefault(t(115));var C=[\"PROJECTEDCRS\",\"PROJCRS\",\"GEOGCS\",\"GEOCCS\",\"PROJCS\",\"LOCAL_CS\",\"GEODCRS\",\"GEODETICCRS\",\"GEODETICDATUM\",\"ENGCRS\",\"ENGINEERINGCRS\"];var d=[\"3857\",\"900913\",\"3785\",\"102113\"];n.default=function(t){if(!function(t){return\"string\"==typeof t}(t))return t;if(function(t){return t in i.default}(t))return i.default[t];if(function(t){return C.some((function(r){return t.indexOf(r)>-1}))}(t)){var r=(0,a.default)(t);if(function(t){var r=(0,l.default)(t,\"authority\");if(r){var n=(0,l.default)(r,\"epsg\");return n&&d.indexOf(n)>-1}}(r))return i.default[\"EPSG:3857\"];var n=function(t){var r=(0,l.default)(t,\"extension\");if(r)return(0,l.default)(r,\"proj4\")}(r);return n?(0,o.default)(n):r}return function(t){return\"+\"===t[0]}(t)?(0,o.default)(t):void 0}},\n", + " function _(t,r,i,e,n){e();const f=t(1),a=f.__importDefault(t(110)),l=f.__importDefault(t(111)),u=f.__importDefault(t(116));function o(t){var r=this;if(2===arguments.length){var i=arguments[1];\"string\"==typeof i?\"+\"===i.charAt(0)?o[t]=(0,l.default)(arguments[1]):o[t]=(0,u.default)(arguments[1]):o[t]=i}else if(1===arguments.length){if(Array.isArray(t))return t.map((function(t){Array.isArray(t)?o.apply(r,t):o(t)}));if(\"string\"==typeof t){if(t in o)return o[t]}else\"EPSG\"in t?o[\"EPSG:\"+t.EPSG]=t:\"ESRI\"in t?o[\"ESRI:\"+t.ESRI]=t:\"IAU2000\"in t?o[\"IAU2000:\"+t.IAU2000]=t:console.log(t);return}}(0,a.default)(o),i.default=o},\n", + " function _(t,l,G,S,e){S(),G.default=function(t){t(\"EPSG:4326\",\"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\"),t(\"EPSG:4269\",\"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\"),t(\"EPSG:3857\",\"+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs\"),t.WGS84=t[\"EPSG:4326\"],t[\"EPSG:3785\"]=t[\"EPSG:3857\"],t.GOOGLE=t[\"EPSG:3857\"],t[\"EPSG:900913\"]=t[\"EPSG:3857\"],t[\"EPSG:102113\"]=t[\"EPSG:3857\"]}},\n", + " function _(t,n,o,a,u){a();const e=t(1),r=t(112),i=e.__importDefault(t(113)),f=e.__importDefault(t(114)),l=e.__importDefault(t(115));o.default=function(t){var n,o,a,u={},e=t.split(\"+\").map((function(t){return t.trim()})).filter((function(t){return t})).reduce((function(t,n){var o=n.split(\"=\");return o.push(!0),t[o[0].toLowerCase()]=o[1],t}),{}),c={proj:\"projName\",datum:\"datumCode\",rf:function(t){u.rf=parseFloat(t)},lat_0:function(t){u.lat0=t*r.D2R},lat_1:function(t){u.lat1=t*r.D2R},lat_2:function(t){u.lat2=t*r.D2R},lat_ts:function(t){u.lat_ts=t*r.D2R},lon_0:function(t){u.long0=t*r.D2R},lon_1:function(t){u.long1=t*r.D2R},lon_2:function(t){u.long2=t*r.D2R},alpha:function(t){u.alpha=parseFloat(t)*r.D2R},gamma:function(t){u.rectified_grid_angle=parseFloat(t)},lonc:function(t){u.longc=t*r.D2R},x_0:function(t){u.x0=parseFloat(t)},y_0:function(t){u.y0=parseFloat(t)},k_0:function(t){u.k0=parseFloat(t)},k:function(t){u.k0=parseFloat(t)},a:function(t){u.a=parseFloat(t)},b:function(t){u.b=parseFloat(t)},r_a:function(){u.R_A=!0},zone:function(t){u.zone=parseInt(t,10)},south:function(){u.utmSouth=!0},towgs84:function(t){u.datum_params=t.split(\",\").map((function(t){return parseFloat(t)}))},to_meter:function(t){u.to_meter=parseFloat(t)},units:function(t){u.units=t;var n=(0,l.default)(f.default,t);n&&(u.to_meter=n.to_meter)},from_greenwich:function(t){u.from_greenwich=t*r.D2R},pm:function(t){var n=(0,l.default)(i.default,t);u.from_greenwich=(n||parseFloat(t))*r.D2R},nadgrids:function(t){\"@null\"===t?u.datumCode=\"none\":u.nadgrids=t},axis:function(t){var n=\"ewnsud\";3===t.length&&-1!==n.indexOf(t.substr(0,1))&&-1!==n.indexOf(t.substr(1,1))&&-1!==n.indexOf(t.substr(2,1))&&(u.axis=t)},approx:function(){u.approx=!0}};for(n in e)o=e[n],n in c?\"function\"==typeof(a=c[n])?a(o):u[a]=o:u[n]=o;return\"string\"==typeof u.datumCode&&\"WGS84\"!==u.datumCode&&(u.datumCode=u.datumCode.toLowerCase()),u}},\n", + " function _(S,_,P,R,I){R(),P.PJD_3PARAM=1,P.PJD_7PARAM=2,P.PJD_GRIDSHIFT=3,P.PJD_WGS84=4,P.PJD_NODATUM=5,P.SRS_WGS84_SEMIMAJOR=6378137,P.SRS_WGS84_SEMIMINOR=6356752.314,P.SRS_WGS84_ESQUARED=.0066943799901413165,P.SEC_TO_RAD=484813681109536e-20,P.HALF_PI=Math.PI/2,P.SIXTH=.16666666666666666,P.RA4=.04722222222222222,P.RA6=.022156084656084655,P.EPSLN=1e-10,P.D2R=.017453292519943295,P.R2D=57.29577951308232,P.FORTPI=Math.PI/4,P.TWO_PI=2*Math.PI,P.SPI=3.14159265359},\n", + " function _(o,r,a,e,s){e();var n={};a.default=n,n.greenwich=0,n.lisbon=-9.131906111111,n.paris=2.337229166667,n.bogota=-74.080916666667,n.madrid=-3.687938888889,n.rome=12.452333333333,n.bern=7.439583333333,n.jakarta=106.807719444444,n.ferro=-17.666666666667,n.brussels=4.367975,n.stockholm=18.058277777778,n.athens=23.7163375,n.oslo=10.722916666667},\n", + " function _(t,e,f,o,u){o(),f.default={ft:{to_meter:.3048},\"us-ft\":{to_meter:1200/3937}}},\n", + " function _(e,r,t,a,n){a();var o=/[\\s_\\-\\/\\(\\)]/g;t.default=function(e,r){if(e[r])return e[r];for(var t,a=Object.keys(e),n=r.toLowerCase().replace(o,\"\"),f=-1;++f0?90:-90),e.lat_ts=e.lat1)}(n),n}},\n", + " function _(t,e,r,i,s){i(),r.default=function(t){return new c(t).output()};var h=1,o=/\\s/,n=/[A-Za-z]/,a=/[A-Za-z84_]/,u=/[,\\]]/,d=/[\\d\\.E\\-\\+]/;function c(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=h}c.prototype.readCharicter=function(){var t=this.text[this.place++];if(4!==this.state)for(;o.test(t);){if(this.place>=this.text.length)return;t=this.text[this.place++]}switch(this.state){case h: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}},c.prototype.afterquote=function(t){if('\"'===t)return this.word+='\"',void(this.state=4);if(u.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)},c.prototype.afterItem=function(t){return\",\"===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=h)):\"]\"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=h,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},c.prototype.number=function(t){if(!d.test(t)){if(u.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},c.prototype.quoted=function(t){'\"'!==t?this.word+=t:this.state=5},c.prototype.keyword=function(t){if(a.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=h)}if(!u.test(t))throw new Error(\"havn't handled \\\"\"+t+'\" in keyword yet, index '+this.place);this.afterItem(t)}},c.prototype.neutral=function(t){if(n.test(t))return this.word=t,void(this.state=2);if('\"'===t)return this.word=\"\",void(this.state=4);if(d.test(t))return this.word=t,void(this.state=3);if(!u.test(t))throw new Error(\"havn't handled \\\"\"+t+'\" in neutral yet, index '+this.place);this.afterItem(t)},c.prototype.output=function(){for(;this.place90&&a*o.R2D<-90&&h*o.R2D>180&&h*o.R2D<-180)return null;if(Math.abs(Math.abs(a)-o.HALF_PI)<=o.EPSLN)return null;if(this.sphere)i=this.x0+this.a*this.k0*(0,n.default)(h-this.long0),s=this.y0+this.a*this.k0*Math.log(Math.tan(o.FORTPI+.5*a));else{var e=Math.sin(a),r=(0,l.default)(this.e,a,e);i=this.x0+this.a*this.k0*(0,n.default)(h-this.long0),s=this.y0-this.a*this.k0*Math.log(r)}return t.x=i,t.y=s,t}function M(t){var i,s,h=t.x-this.x0,a=t.y-this.y0;if(this.sphere)s=o.HALF_PI-2*Math.atan(Math.exp(-a/(this.a*this.k0)));else{var e=Math.exp(-a/(this.a*this.k0));if(-9999===(s=(0,u.default)(this.e,e)))return null}return i=(0,n.default)(this.long0+h/(this.a*this.k0)),t.x=i,t.y=s,t}s.init=f,s.forward=_,s.inverse=M,s.names=[\"Mercator\",\"Popular Visualisation Pseudo Mercator\",\"Mercator_1SP\",\"Mercator_Auxiliary_Sphere\",\"merc\"],s.default={init:f,forward:_,inverse:M,names:s.names}},\n", + " function _(t,n,r,u,a){u(),r.default=function(t,n,r){var u=t*n;return r/Math.sqrt(1-u*u)}},\n", + " function _(t,n,u,a,f){a();const e=t(1),o=t(112),_=e.__importDefault(t(124));u.default=function(t){return Math.abs(t)<=o.SPI?t:t-(0,_.default)(t)*o.TWO_PI}},\n", + " function _(n,t,u,f,c){f(),u.default=function(n){return n<0?-1:1}},\n", + " function _(t,n,a,o,u){o();const c=t(112);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(112);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(112),u=f.__importStar(t(129)),c=f.__importDefault(t(115));e.eccentricity=function(t,r,e,a){var n=t*t,f=r*r,u=(n-f)/n,c=0;return a?(n=(t*=1-u*(i.SIXTH+u*(i.RA4+u*i.RA6)))*t,u=0):c=Math.sqrt(u),{es:u,e:c,ep2:(n-f)/f}},e.sphere=function(t,r,e,a,n){if(!t){var f=(0,c.default)(u.default,a);f||(f=u.WGS84),t=f.a,r=f.b,e=f.rf}return e&&!r&&(r=(1-1/e)*t),(0===e||Math.abs(t-r)3&&(0===s.datum_params[3]&&0===s.datum_params[4]&&0===s.datum_params[5]&&0===s.datum_params[6]||(s.datum_type=d.PJD_7PARAM,s.datum_params[3]*=d.SEC_TO_RAD,s.datum_params[4]*=d.SEC_TO_RAD,s.datum_params[5]*=d.SEC_TO_RAD,s.datum_params[6]=s.datum_params[6]/1e6+1))),r&&(s.datum_type=d.PJD_GRIDSHIFT,s.grids=r),s.a=_,s.b=t,s.es=u,s.ep2=p,s}},\n", + " function _(t,e,n,r,i){r();var u={};function l(t){if(0===t.length)return null;var e=\"@\"===t[0];return e&&(t=t.slice(1)),\"null\"===t?{name:\"null\",mandatory:!e,grid:null,isNull:!0}:{name:t,mandatory:!e,grid:u[t]||null,isNull:!1}}function o(t){return t/3600*Math.PI/180}function a(t,e,n){return String.fromCharCode.apply(null,new Uint8Array(t.buffer.slice(e,n)))}function d(t){return t.map((function(t){return[o(t.longitudeShift),o(t.latitudeShift)]}))}function g(t,e,n){return{name:a(t,e+8,e+16).trim(),parent:a(t,e+24,e+24+8).trim(),lowerLatitude:t.getFloat64(e+72,n),upperLatitude:t.getFloat64(e+88,n),lowerLongitude:t.getFloat64(e+104,n),upperLongitude:t.getFloat64(e+120,n),latitudeInterval:t.getFloat64(e+136,n),longitudeInterval:t.getFloat64(e+152,n),gridNodeCount:t.getInt32(e+168,n)}}function s(t,e,n,r){for(var i=e+176,u=[],l=0;l1&&console.log(\"Only single NTv2 subgrids are currently supported, subsequent sub grids are ignored\");var l=function(t,e,n){for(var r=176,i=[],u=0;ua.y||f>a.x||N1e-12&&Math.abs(n.y)>1e-12);if(d<0)return console.log(\"Inverse grid shift iterator failed to converge.\"),a;a.x=(0,u.default)(l.x+t.ll[0]),a.y=l.y+t.ll[1]}else isNaN(l.x)||(a.x=r.x+l.x,a.y=r.y+l.y);return a}function f(r,e){var t,a={x:r.x/e.del[0],y:r.y/e.del[1]},i=Math.floor(a.x),l=Math.floor(a.y),n=a.x-1*i,o=a.y-1*l,u={x:Number.NaN,y:Number.NaN};if(i<0||i>=e.lim[0])return u;if(l<0||l>=e.lim[1])return u;t=l*e.lim[0]+i;var d=e.cvs[t][0],s=e.cvs[t][1];t++;var y=e.cvs[t][0],f=e.cvs[t][1];t+=e.lim[0];var x=e.cvs[t][0],m=e.cvs[t][1];t--;var N=e.cvs[t][0],c=e.cvs[t][1],_=n*o,g=n*(1-o),v=(1-n)*(1-o),S=(1-n)*o;return u.x=v*d+g*y+S*N+_*x,u.y=v*s+g*f+S*c+_*m,u}t.default=function(r,e,t){if((0,o.compareDatums)(r,e))return t;if(r.datum_type===n.PJD_NODATUM||e.datum_type===n.PJD_NODATUM)return t;var a=r.a,i=r.es;if(r.datum_type===n.PJD_GRIDSHIFT){if(0!==s(r,!1,t))return;a=n.SRS_WGS84_SEMIMAJOR,i=n.SRS_WGS84_ESQUARED}var l=e.a,u=e.b,y=e.es;if(e.datum_type===n.PJD_GRIDSHIFT&&(l=n.SRS_WGS84_SEMIMAJOR,u=n.SRS_WGS84_SEMIMINOR,y=n.SRS_WGS84_ESQUARED),i===y&&a===l&&!d(r.datum_type)&&!d(e.datum_type))return t;if(t=(0,o.geodeticToGeocentric)(t,i,a),d(r.datum_type)&&(t=(0,o.geocentricToWgs84)(t,r.datum_type,r.datum_params)),d(e.datum_type)&&(t=(0,o.geocentricFromWgs84)(t,e.datum_type,e.datum_params)),t=(0,o.geocentricToGeodetic)(t,y,l,u),e.datum_type===n.PJD_GRIDSHIFT&&0!==s(e,!0,t))return;return t},t.applyGridShift=s},\n", + " function _(a,t,r,m,s){m();const u=a(112);r.compareDatums=function(a,t){return a.datum_type===t.datum_type&&(!(a.a!==t.a||Math.abs(a.es-t.es)>5e-11)&&(a.datum_type===u.PJD_3PARAM?a.datum_params[0]===t.datum_params[0]&&a.datum_params[1]===t.datum_params[1]&&a.datum_params[2]===t.datum_params[2]:a.datum_type!==u.PJD_7PARAM||a.datum_params[0]===t.datum_params[0]&&a.datum_params[1]===t.datum_params[1]&&a.datum_params[2]===t.datum_params[2]&&a.datum_params[3]===t.datum_params[3]&&a.datum_params[4]===t.datum_params[4]&&a.datum_params[5]===t.datum_params[5]&&a.datum_params[6]===t.datum_params[6]))},r.geodeticToGeocentric=function(a,t,r){var m,s,_,e,n=a.x,d=a.y,i=a.z?a.z:0;if(d<-u.HALF_PI&&d>-1.001*u.HALF_PI)d=-u.HALF_PI;else if(d>u.HALF_PI&&d<1.001*u.HALF_PI)d=u.HALF_PI;else{if(d<-u.HALF_PI)return{x:-1/0,y:-1/0,z:a.z};if(d>u.HALF_PI)return{x:1/0,y:1/0,z:a.z}}return n>Math.PI&&(n-=2*Math.PI),s=Math.sin(d),e=Math.cos(d),_=s*s,{x:((m=r/Math.sqrt(1-t*_))+i)*e*Math.cos(n),y:(m+i)*e*Math.sin(n),z:(m*(1-t)+i)*s}},r.geocentricToGeodetic=function(a,t,r,m){var s,_,e,n,d,i,p,P,y,z,M,o,A,c,x,h=1e-12,f=a.x,I=a.y,F=a.z?a.z:0;if(s=Math.sqrt(f*f+I*I),_=Math.sqrt(f*f+I*I+F*F),s/r1e-24&&A<30);return{x:c,y:Math.atan(M/Math.abs(z)),z:x}},r.geocentricToWgs84=function(a,t,r){if(t===u.PJD_3PARAM)return{x:a.x+r[0],y:a.y+r[1],z:a.z+r[2]};if(t===u.PJD_7PARAM){var m=r[0],s=r[1],_=r[2],e=r[3],n=r[4],d=r[5],i=r[6];return{x:i*(a.x-d*a.y+n*a.z)+m,y:i*(d*a.x+a.y-e*a.z)+s,z:i*(-n*a.x+e*a.y+a.z)+_}}},r.geocentricFromWgs84=function(a,t,r){if(t===u.PJD_3PARAM)return{x:a.x-r[0],y:a.y-r[1],z:a.z-r[2]};if(t===u.PJD_7PARAM){var m=r[0],s=r[1],_=r[2],e=r[3],n=r[4],d=r[5],i=r[6],p=(a.x-m)/i,P=(a.y-s)/i,y=(a.z-_)/i;return{x:p+d*P-n*y,y:-d*p+P+e*y,z:n*p-e*P+y}}}},\n", + " function _(e,a,i,s,n){s(),i.default=function(e,a,i){var s,n,r,c=i.x,d=i.y,f=i.z||0,u={};for(r=0;r<3;r++)if(!a||2!==r||void 0!==i.z)switch(0===r?(s=c,n=-1!==\"ew\".indexOf(e.axis[r])?\"x\":\"y\"):1===r?(s=d,n=-1!==\"ns\".indexOf(e.axis[r])?\"y\":\"x\"):(s=f,n=\"z\"),e.axis[r]){case\"e\":case\"n\":u[n]=s;break;case\"w\":case\"s\":u[n]=-s;break;case\"u\":void 0!==i[n]&&(u.z=s);break;case\"d\":void 0!==i[n]&&(u.z=-s);break;default:return null}return u}},\n", + " function _(n,t,e,u,f){u(),e.default=function(n){var t={x:n[0],y:n[1]};return n.length>2&&(t.z=n[2]),n.length>3&&(t.m=n[3]),t}},\n", + " function _(e,i,n,t,r){function o(e){if(\"function\"==typeof Number.isFinite){if(Number.isFinite(e))return;throw new TypeError(\"coordinates must be finite numbers\")}if(\"number\"!=typeof e||e!=e||!isFinite(e))throw new TypeError(\"coordinates must be finite numbers\")}t(),n.default=function(e){o(e.x),o(e.y)}},\n", + " function _(e,i,s,o,n){var l,t,a,r,_;o();const c=e(1),d=e(140),p=e(78),T=c.__importStar(e(17));class m extends d.MarkingView{}s.ArrowHeadView=m,m.__name__=\"ArrowHeadView\";class v extends d.Marking{constructor(e){super(e)}}s.ArrowHead=v,l=v,v.__name__=\"ArrowHead\",l.define((()=>({size:[T.NumberSpec,25]})));class u extends m{clip(e,i){this.visuals.line.set_vectorize(e,i);const s=this.size.get(i);e.moveTo(.5*s,s),e.lineTo(.5*s,-2),e.lineTo(-.5*s,-2),e.lineTo(-.5*s,s),e.lineTo(0,0),e.lineTo(.5*s,s)}render(e,i){const s=this.size.get(i);e.beginPath(),e.moveTo(.5*s,s),e.lineTo(0,0),e.lineTo(-.5*s,s),this.visuals.line.apply(e,i)}}s.OpenHeadView=u,u.__name__=\"OpenHeadView\";class h extends v{constructor(e){super(e)}}s.OpenHead=h,t=h,h.__name__=\"OpenHead\",t.prototype.default_view=u,t.mixins(p.LineVector);class V extends m{clip(e,i){this.visuals.line.set_vectorize(e,i);const s=this.size.get(i);e.moveTo(.5*s,s),e.lineTo(.5*s,-2),e.lineTo(-.5*s,-2),e.lineTo(-.5*s,s),e.lineTo(.5*s,s)}render(e,i){const s=this.size.get(i);e.beginPath(),e.moveTo(.5*s,s),e.lineTo(0,0),e.lineTo(-.5*s,s),e.closePath(),this.visuals.fill.apply(e,i),this.visuals.line.apply(e,i)}}s.NormalHeadView=V,V.__name__=\"NormalHeadView\";class H extends v{constructor(e){super(e)}}s.NormalHead=H,a=H,H.__name__=\"NormalHead\",a.prototype.default_view=V,a.mixins([p.LineVector,p.FillVector]),a.override({fill_color:\"black\"});class w extends m{clip(e,i){this.visuals.line.set_vectorize(e,i);const s=this.size.get(i);e.moveTo(.5*s,s),e.lineTo(.5*s,-2),e.lineTo(-.5*s,-2),e.lineTo(-.5*s,s),e.lineTo(0,.5*s),e.lineTo(.5*s,s)}render(e,i){const s=this.size.get(i);e.beginPath(),e.moveTo(.5*s,s),e.lineTo(0,0),e.lineTo(-.5*s,s),e.lineTo(0,.5*s),e.closePath(),this.visuals.fill.apply(e,i),this.visuals.line.apply(e,i)}}s.VeeHeadView=w,w.__name__=\"VeeHeadView\";class x extends v{constructor(e){super(e)}}s.VeeHead=x,r=x,x.__name__=\"VeeHead\",r.prototype.default_view=w,r.mixins([p.LineVector,p.FillVector]),r.override({fill_color:\"black\"});class g extends m{render(e,i){const s=this.size.get(i);e.beginPath(),e.moveTo(.5*s,0),e.lineTo(-.5*s,0),this.visuals.line.apply(e,i)}clip(e,i){}}s.TeeHeadView=g,g.__name__=\"TeeHeadView\";class z extends v{constructor(e){super(e)}}s.TeeHead=z,_=z,z.__name__=\"TeeHead\",_.prototype.default_view=g,_.mixins(p.LineVector)},\n", + " function _(e,t,n,i,s){var a;i();const r=e(1),c=e(50),o=e(54),_=r.__importStar(e(75)),u=r.__importStar(e(17));class l extends o.View{initialize(){super.initialize(),this.visuals=new _.Visuals(this)}request_render(){this.parent.request_render()}get canvas(){return this.parent.canvas}set_data(e,t){const n=this;for(const i of this.model){if(!(i instanceof u.VectorSpec||i instanceof u.ScalarSpec))continue;const s=i.uniform(e).select(t);n[`${i.attr}`]=s}}}n.MarkingView=l,l.__name__=\"MarkingView\";class d extends c.Model{constructor(e){super(e)}}n.Marking=d,a=d,d.__name__=\"Marking\",a.define((({})=>({})))},\n", + " function _(t,e,i,r,o){var a;r();const n=t(1),s=t(73),_=t(142),l=t(157),h=t(158),c=t(161),u=t(192),d=t(162),p=t(219),m=t(163),f=t(223),g=t(225),w=t(147),b=t(19),y=n.__importStar(t(78)),x=t(226),v=t(227),j=t(229),k=t(144),z=t(59),B=t(57),L=t(8),T=t(9);class S extends s.AnnotationView{get orientation(){return this._orientation}*children(){yield*super.children(),yield this._axis_view,yield this._title_view}initialize(){super.initialize();const{ticker:t,formatter:e}=this.model;this._ticker=\"auto\"!=t?t:this._create_ticker(),this._formatter=\"auto\"!=e?e:this._create_formatter(),this._major_range=this._create_major_range(),this._major_scale=this._create_major_scale(),this._minor_range=new g.Range1d({start:0,end:1}),this._minor_scale=new f.LinearScale,this._frame=new l.CartesianFrame(this._major_scale,this._minor_scale,this._major_range,this._minor_range),this._axis=this._create_axis(),this._apply_axis_properties(),this._title=new _.Title,this._apply_title_properties()}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()},request_paint(){t.parent.request_paint(t)},request_render(){t.request_paint()}};this._axis_view=await(0,z.build_view)(this._axis,{parent:e}),this._title_view=await(0,z.build_view)(this._title,{parent:e})}remove(){this._title_view.remove(),this._axis_view.remove(),super.remove()}_apply_axis_properties(){const t=Object.assign(Object.assign(Object.assign({ticker:this._ticker,formatter:this._formatter,major_label_standoff:this.model.label_standoff,axis_line_color:null,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_overrides:this.model.major_label_overrides,major_label_policy:this.model.major_label_policy},y.attrs_of(this.model,\"major_label_\",y.Text,!0)),y.attrs_of(this.model,\"major_tick_\",y.Line,!0)),y.attrs_of(this.model,\"minor_tick_\",y.Line,!0));this._axis.setv(t)}_apply_title_properties(){var t;const e=Object.assign({text:null!==(t=this.model.title)&&void 0!==t?t:\"\",standoff:this.model.title_standoff},y.attrs_of(this.model,\"title_\",y.Text,!1));this._title.setv(e)}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>{this._apply_title_properties(),this._apply_axis_properties()})),this.connect(this._ticker.change,(()=>this.request_render())),this.connect(this._formatter.change,(()=>this.request_render()))}_update_frame(){const[t,e,i,r]=(()=>\"horizontal\"==this.orientation?[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.in_x_scale=t,this._frame.in_y_scale=e,this._frame.x_range=i,this._frame.y_range=r,this._frame.configure_scales()}update_layout(){const{location:t,width:e,height:i,padding:r,margin:o}=this.model,[a,n]=(()=>{if(!(0,L.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\"==n||\"end\"==n||\"center\"==a?\"vertical\":\"horizontal\":t})();this._update_frame();const _=new v.NodeLayout,l=new v.VStack,h=new v.VStack,c=new v.HStack,u=new v.HStack;_.absolute=!0,l.absolute=!0,h.absolute=!0,c.absolute=!0,u.absolute=!0,_.on_resize((t=>this._frame.set_geometry(t)));const d=new j.BorderLayout;this._inner_layout=d,d.absolute=!0,d.center_panel=_,d.top_panel=l,d.bottom_panel=h,d.left_panel=c,d.right_panel=u;const p={left:r,right:r,top:r,bottom:r},m=(()=>{if(null==this.panel){if((0,L.isString)(t))return{left:o,right:o,top:o,bottom:o};{const[e,i]=t;return{left:e,right:o,top:o,bottom:i}}}if(!(0,L.isString)(t)){const[e,i]=t;return d.fixup_geometry=(t,r)=>{const o=t,a=this.layout.bbox,{width:n,height:s}=t;if(t=new B.BBox({left:a.left+e,bottom:a.bottom-i,width:n,height:s}),null!=r){const e=t.left-o.left,i=t.top-o.top,{left:a,top:n,width:s,height:_}=r;r=new B.BBox({left:a+e,top:n+i,width:s,height:_})}return[t,r]},{left:e,right:0,top:0,bottom:i}}d.fixup_geometry=(t,e)=>{const i=t;if(\"horizontal\"==s){const{top:e,width:i,height:r}=t;if(\"end\"==n){const{right:o}=this.layout.bbox;t=new B.BBox({right:o,top:e,width:i,height:r})}else if(\"center\"==n){const{hcenter:o}=this.layout.bbox;t=new B.BBox({hcenter:Math.round(o),top:e,width:i,height:r})}}else{const{left:e,width:i,height:r}=t;if(\"end\"==a){const{bottom:o}=this.layout.bbox;t=new B.BBox({left:e,bottom:o,width:i,height:r})}else if(\"center\"==a){const{vcenter:o}=this.layout.bbox;t=new B.BBox({left:e,vcenter:Math.round(o),width:i,height:r})}}if(null!=e){const r=t.left-i.left,o=t.top-i.top,{left:a,top:n,width:s,height:_}=e;e=new B.BBox({left:a+r,top:n+o,width:s,height:_})}return[t,e]}})();let f,g,w,b;if(d.padding=p,null!=this.panel)f=\"max\",g=void 0,w=void 0,b=void 0;else if(\"auto\"==(\"horizontal\"==s?e:i)){f=\"fixed\";const t=this._get_major_size_factor();null!=t&&(g=25*t),w={percent:.3},b={percent:.8}}else f=\"fit\",g=void 0;if(\"horizontal\"==s){const t=\"auto\"==e?void 0:e,r=\"auto\"==i?25:i;d.set_sizing({width_policy:f,height_policy:\"min\",width:g,min_width:w,max_width:b,halign:n,valign:a,margin:m}),d.center_panel.set_sizing({width_policy:\"auto\"==e?\"fit\":\"fixed\",height_policy:\"fixed\",width:t,height:r})}else{const t=\"auto\"==e?25:e,r=\"auto\"==i?void 0:i;d.set_sizing({width_policy:\"min\",height_policy:f,height:g,min_height:w,max_height:b,halign:n,valign:a,margin:m}),d.center_panel.set_sizing({width_policy:\"fixed\",height_policy:\"auto\"==i?\"fit\":\"fixed\",width:t,height:r})}l.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),h.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),c.set_sizing({width_policy:\"min\",height_policy:\"fit\"}),u.set_sizing({width_policy:\"min\",height_policy:\"fit\"});const{_title_view:y}=this;\"horizontal\"==s?(y.panel=new k.Panel(\"above\"),y.update_layout(),l.children.push(y.layout)):(y.panel=new k.Panel(\"left\"),y.update_layout(),c.children.push(y.layout));const{panel:z}=this,T=null!=z&&s==z.orientation?z.side:\"horizontal\"==s?\"below\":\"right\",S=(()=>{switch(T){case\"above\":return l;case\"below\":return h;case\"left\":return c;case\"right\":return u}})(),{_axis_view:O}=this;if(O.panel=new k.Panel(T),O.update_layout(),S.children.push(O.layout),null!=this.panel){const t=new x.Grid([{layout:d,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:q}=this.model;this.layout.sizing.visible=q}_create_axis(){return new h.LinearAxis}_create_formatter(){return new p.BasicTickFormatter}_create_major_range(){return new g.Range1d({start:0,end:1})}_create_major_scale(){return new f.LinearScale}_create_ticker(){return new u.BasicTicker}_get_major_size_factor(){return null}_render(){const{ctx:t}=this.layer;t.save(),this._paint_bbox(t,this._inner_layout.bbox),this._paint_colors(t,this._inner_layout.center_panel.bbox),this._title_view.render(),this._axis_view.render(),t.restore()}_paint_bbox(t,e){const{x:i,y:r}=e;let{width:o,height:a}=e;i+o>=this.parent.canvas_view.bbox.width&&(o-=1),r+a>=this.parent.canvas_view.bbox.height&&(a-=1),t.save(),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(t),t.fillRect(i,r,o,a)),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.strokeRect(i,r,o,a)),t.restore()}serializable_state(){const t=super.serializable_state(),{children:e=[]}=t,i=n.__rest(t,[\"children\"]);return e.push(this._title_view.serializable_state()),e.push(this._axis_view.serializable_state()),Object.assign(Object.assign({},i),{children:e})}}i.BaseColorBarView=S,S.__name__=\"BaseColorBarView\";class O extends s.Annotation{constructor(t){super(t)}}i.BaseColorBar=O,a=O,O.__name__=\"BaseColorBar\",a.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]]),a.define((({Alpha:t,Number:e,String:i,Tuple:r,Map:o,Or:a,Ref:n,Auto:s,Nullable:_})=>({location:[a(b.Anchor,r(e,e)),\"top_right\"],orientation:[a(b.Orientation,s),\"auto\"],title:[_(i),null],title_standoff:[e,2],width:[a(e,s),\"auto\"],height:[a(e,s),\"auto\"],scale_alpha:[t,1],ticker:[a(n(c.Ticker),s),\"auto\"],formatter:[a(n(d.TickFormatter),s),\"auto\"],major_label_overrides:[o(a(i,e),a(i,n(w.BaseText))),new globalThis.Map,{convert:t=>(0,L.isPlainObject)(t)?new T.Dict(t):t}],major_label_policy:[n(m.LabelingPolicy),()=>new m.NoOverlap],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]}))),a.override({background_fill_color:\"#ffffff\",background_fill_alpha:.95,bar_line_color:null,border_line_color:null,major_label_text_font_size:\"11px\",major_tick_line_color:\"#ffffff\",minor_tick_line_color:null,title_text_font_size:\"13px\",title_text_font_style:\"italic\"})},\n", + " function _(e,t,i,s,a){var c;s();const o=e(143),r=e(19);class n extends o.TextAnnotationView{_get_position(){const e=this.model.offset,t=this.model.standoff/2,{align:i,vertical_align:s}=this.model;let a,c;const{bbox:o}=this.layout;switch(this.panel.side){case\"above\":case\"below\":switch(s){case\"top\":c=o.top+t;break;case\"middle\":c=o.vcenter;break;case\"bottom\":c=o.bottom-t}switch(i){case\"left\":a=o.left+e;break;case\"center\":a=o.hcenter;break;case\"right\":a=o.right-e}break;case\"left\":switch(s){case\"top\":a=o.left+t;break;case\"middle\":a=o.hcenter;break;case\"bottom\":a=o.right-t}switch(i){case\"left\":c=o.bottom-e;break;case\"center\":c=o.vcenter;break;case\"right\":c=o.top+e}break;case\"right\":switch(s){case\"top\":a=o.right-t;break;case\"middle\":a=o.hcenter;break;case\"bottom\":a=o.left+t}switch(i){case\"left\":c=o.top+e;break;case\"center\":c=o.vcenter;break;case\"right\":c=o.bottom-e}}return{sx:a,sy:c,x_anchor:i,y_anchor:\"middle\"==s?\"center\":s}}_render(){const e=this._get_position(),t=this.panel.get_label_angle_heuristic(\"parallel\");this._paint(this.layer.ctx,e,t)}_get_size(){if(!this.displayed)return{width:0,height:0};const e=this._text_view.graphics();e.visuals=this.visuals.text.values();const{width:t,height:i}=e._size();return{width:t,height:0==i?0:2+i+this.model.standoff}}}i.TitleView=n,n.__name__=\"TitleView\";class l extends o.TextAnnotation{constructor(e){super(e)}}i.Title=l,c=l,l.__name__=\"Title\",c.prototype.default_view=n,c.define((({Number:e})=>({vertical_align:[r.VerticalAlign,\"bottom\"],align:[r.TextAlign,\"left\"],offset:[e,0],standoff:[e,10]}))),c.override({text_font_size:\"13px\",text_font_style:\"bold\",text_line_height:1})},\n", + " function _(t,i,e,n,s){var a;n();const o=t(1),l=t(73),_=t(144),r=t(147),d=t(59),h=t(8),c=t(148),u=o.__importStar(t(78));class x extends l.AnnotationView{*children(){yield*super.children(),yield this._text_view}async lazy_initialize(){await super.lazy_initialize(),await this._init_text()}async _init_text(){const{text:t}=this.model,i=(0,h.isString)(t)?(0,c.parse_delimited_string)(t):t;this._text_view=await(0,d.build_view)(i,{parent:this})}update_layout(){const{panel:t}=this;this.layout=null!=t?new _.SideLayout(t,(()=>this.get_size()),!0):void 0}connect_signals(){super.connect_signals();const{text:t}=this.model.properties;this.on_change(t,(async()=>{this._text_view.remove(),await this._init_text()})),this.connect(this.model.change,(()=>this.request_render()))}remove(){this._text_view.remove(),super.remove()}has_finished(){return!!super.has_finished()&&!!this._text_view.has_finished()}get displayed(){return super.displayed&&\"\"!=this._text_view.model.text&&this.visuals.text.doit}_paint(t,i,e){const n=this._text_view.graphics();n.angle=e,n.position=i,n.align=\"auto\",n.visuals=this.visuals.text.values();const{background_fill:s,border_line:a}=this.visuals;if(s.doit||a.doit){const{p0:i,p1:e,p2:s,p3:a}=n.rect();t.beginPath(),t.moveTo(i.x,i.y),t.lineTo(e.x,e.y),t.lineTo(s.x,s.y),t.lineTo(a.x,a.y),t.closePath(),this.visuals.background_fill.apply(t),this.visuals.border_line.apply(t)}this.visuals.text.doit&&n.paint(t)}}e.TextAnnotationView=x,x.__name__=\"TextAnnotationView\";class p extends l.Annotation{constructor(t){super(t)}}e.TextAnnotation=p,a=p,p.__name__=\"TextAnnotation\",a.mixins([u.Text,[\"border_\",u.Line],[\"background_\",u.Fill]]),a.define((({String:t,Or:i,Ref:e})=>({text:[i(t,e(r.BaseText)),\"\"]}))),a.override({background_fill_color:null,border_line_color:null})},\n", + " function _(t,e,i,l,r){l();const a=t(145),o=t(146),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(0,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(0,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(20),{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=(0,n.Enum)(\"fixed\",\"fit\",\"min\",\"max\")},\n", + " function _(i,t,h,e,s){e();const n=i(145),g=i(57),r=i(8),l=i(12),{abs:o,min:_,max:d,round:a}=Math;class u{constructor(){this.absolute=!1,this.position={left:0,top:0},this._bbox=new g.BBox,this._inner_bbox=new g.BBox,this._sizing=null,this._dirty=!1,this._handlers=[]}*[Symbol.iterator](){}get bbox(){return this._bbox}get inner_bbox(){return this._inner_bbox}get sizing(){return(0,l.assert)(null!=this._sizing),this._sizing}get visible(){return this.sizing.visible}set visible(i){this.sizing.visible!=i&&(this.sizing.visible=i,this._dirty=!0)}set_sizing(i={}){var t,h,e,s,n,g;const r=null!==(t=i.width_policy)&&void 0!==t?t:\"fit\",l=i.width,o=i.min_width,_=i.max_width,d=null!==(h=i.height_policy)&&void 0!==h?h:\"fit\",a=i.height,u=i.min_height,c=i.max_height,w=i.aspect,b=null!==(e=i.margin)&&void 0!==e?e:{top:0,right:0,bottom:0,left:0},x=null===(s=i.visible)||void 0===s||s,m=null!==(n=i.halign)&&void 0!==n?n:\"start\",z=null!==(g=i.valign)&&void 0!==g?g:\"start\";this._sizing={width_policy:r,min_width:o,width:l,max_width:_,height_policy:d,min_height:u,height:a,max_height:c,aspect:w,margin:b,visible:x,halign:m,valign:z,size:{width:l,height:a}},this._init()}_init(){}_set_geometry(i,t){this._bbox=i,this._inner_bbox=t}set_geometry(i,t){const{fixup_geometry:h}=this;null!=h&&([i,t]=h(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:s,height_policy:n}=this.sizing,g=(i,t)=>{const h={max:4,fit:3,min:2,fixed:1};return h[i]>h[t]};if(\"fixed\"!=s&&\"fixed\"!=n)if(s==n){const s=t,n=a(t/e),g=a(h*e),r=h;o(i.width-s)+o(i.height-n)<=o(i.width-g)+o(i.height-r)?(t=s,h=n):(t=g,h=r)}else g(s,n)?h=a(t/e):t=a(h*e);else\"fixed\"==s?h=a(t/e):\"fixed\"==n&&(t=a(h*e))}return{width:t,height:h}}measure(i){if(null==this._sizing&&this.set_sizing(),!this.sizing.visible)return{width:0,height:0};const t=i=>\"fixed\"==this.sizing.width_policy&&null!=this.sizing.width?this.sizing.width:i,h=i=>\"fixed\"==this.sizing.height_policy&&null!=this.sizing.height?this.sizing.height:i,e=new n.Sizeable(i).shrink_by(this.sizing.margin).map(t,h),s=this._measure(e),g=this.clip_size(s,e),r=t(g.width),l=h(g.height),o=this.apply_aspect(e,{width:r,height:l});return Object.assign(Object.assign({},s),o)}compute(i={}){const t=this.measure({width:null!=i.width&&this.is_width_expanding()?i.width:1/0,height:null!=i.height&&this.is_height_expanding()?i.height:1/0}),{width:h,height:e}=t,{left:s,top:n}=this.position,r=new g.BBox({left:s,top:n,width:h,height:e});let l;if(null!=t.inner){const{left:i,top:s,right:n,bottom:r}=t.inner;l=new g.BBox({left:i,top:s,right:h-n,bottom:e-r})}this.set_geometry(r,l)}get xview(){return this.bbox.xview}get yview(){return this.bbox.yview}clip_size(i,t){function h(i,t,h,e){return null==h?h=0:(0,r.isNumber)(h)||(h=a(h.percent*t)),null==e?e=1/0:(0,r.isNumber)(e)||(e=a(e.percent*t)),d(h,_(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=u,u.__name__=\"Layoutable\";class c extends u{_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 d(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 d(t.height,h.height)}})()}}}h.ContentLayoutable=c,c.__name__=\"ContentLayoutable\"},\n", + " function _(e,s,t,n,a){var _;n();const x=e(50),c=e(54);class i extends c.View{}t.BaseTextView=i,i.__name__=\"BaseTextView\";class o extends x.Model{constructor(e){super(e)}}t.BaseText=o,_=o,o.__name__=\"BaseText\",_.define((({String:e})=>({text:[e]})))},\n", + " function _(n,e,t,i,r){i();const s=n(149),l=n(156),d=[{start:\"$$\",end:\"$$\",inline:!1},{start:\"\\\\[\",end:\"\\\\]\",inline:!1},{start:\"\\\\(\",end:\"\\\\)\",inline:!0}];t.parse_delimited_string=function(n){for(const e of d){const t=n.indexOf(e.start),i=t+e.start.length;if(0==t){const t=n.indexOf(e.end,i),r=t;if(t==n.length-e.end.length)return new s.TeX({text:n.slice(i,r),inline:e.inline});break}}return new l.PlainText({text:n})}},\n", + " function _(t,e,i,s,n){var h,o,r;s();const a=t(8),l=t(150),_=t(21),c=t(151),d=t(152),u=t(38),g=t(153),x=t(57),p=t(147),f=t(154);class m extends p.BaseTextView{constructor(){super(...arguments),this._position={sx:0,sy:0},this.align=\"left\",this._x_anchor=\"left\",this._y_anchor=\"center\",this._base_font_size=13,this.font_size_scale=1,this.svg_image=null}graphics(){return this}infer_text_height(){return\"ascent_descent\"}set base_font_size(t){null!=t&&(this._base_font_size=t)}get base_font_size(){return this._base_font_size}_rect(){const{width:t,height:e}=this._size(),{x:i,y:s}=this._computed_position();return new x.BBox({x:i,y:s,width:t,height:e}).rect}set position(t){this._position=t}get position(){return this._position}get text(){return this.model.text}get provider(){return f.default_provider}async lazy_initialize(){await super.lazy_initialize(),\"not_started\"==this.provider.status&&await this.provider.fetch()}connect_signals(){super.connect_signals(),this.on_change(this.model.properties.text,(()=>this.load_image()))}set visuals(t){const e=t.color,i=t.alpha,s=t.font_style;let n=t.font_size;const h=t.font,{font_size_scale:o,_base_font_size:r}=this,a=(0,d.parse_css_font_size)(n);if(null!=a){let{value:t,unit:e}=a;t*=o,\"em\"==e&&0!=r&&(t*=r,e=\"px\"),n=`${t}${e}`}const l=`${s} ${n} ${h}`;this.font=l,this.color=(0,_.color2css)(e,i);const c=t.align;this._x_anchor=c;const u=t.baseline;this._y_anchor=(()=>{switch(u){case\"top\":return\"top\";case\"middle\":return\"center\";case\"bottom\":return\"bottom\";default:return\"baseline\"}})()}_computed_position(){const{width:t,height:e}=this._size(),{sx:i,sy:s,x_anchor:n=this._x_anchor,y_anchor:h=this._y_anchor}=this.position,o=(0,d.font_metrics)(this.font);return{x:i-(()=>{if((0,a.isNumber)(n))return n*t;switch(n){case\"left\":return 0;case\"center\":return.5*t;case\"right\":return t}})(),y:s-(()=>{if((0,a.isNumber)(h))return h*e;switch(h){case\"top\":return o.height>e?e-(-this.valign-o.descent)-o.height:0;case\"center\":case\"baseline\":return.5*e;case\"bottom\":return o.height>e?e+o.descent+this.valign:e}})()}}size(){const{width:t,height:e}=this._size(),{angle:i}=this;if(null==i||0==i)return{width:t,height:e};{const s=Math.cos(Math.abs(i)),n=Math.sin(Math.abs(i));return{width:Math.abs(t*s+e*n),height:Math.abs(t*n+e*s)}}}get_image_dimensions(){var t;const e=(0,d.font_metrics)(this.font),i=null===(t=this.svg_element.getAttribute(\"style\"))||void 0===t?void 0:t.split(\";\");if(null!=i){const t=new Map;i.forEach((e=>{const[i,s]=e.split(\":\");\"\"!=i.trim()&&t.set(i.trim(),s.trim())}));const s=(0,d.parse_css_length)(t.get(\"vertical-align\"));\"ex\"==(null==s?void 0:s.unit)?this.valign=s.value*e.x_height:\"px\"==(null==s?void 0:s.unit)&&(this.valign=s.value)}const s=(()=>{const t=this.svg_element.getAttribute(\"width\"),e=this.svg_element.getAttribute(\"height\");return{width:null!=t&&t.endsWith(\"ex\")?parseFloat(t):1,height:null!=e&&e.endsWith(\"ex\")?parseFloat(e):1}})();return{width:e.x_height*s.width,height:e.x_height*s.height}}get truncated_text(){return this.model.text.length>6?`${this.model.text.substring(0,6)}...`:this.model.text}_size(){var t,e;if(null==this.svg_image)return\"failed\"==this.provider.status||\"not_started\"==this.provider.status?{width:(0,c.text_width)(this.truncated_text,this.font),height:(0,d.font_metrics)(this.font).height}:{width:this._base_font_size,height:this._base_font_size};const i=(0,d.font_metrics)(this.font);let{width:s,height:n}=this.get_image_dimensions();n=Math.max(n,i.height);return{width:s*(\"%\"==(null===(t=this.width)||void 0===t?void 0:t.unit)?this.width.value:1),height:n*(\"%\"==(null===(e=this.height)||void 0===e?void 0:e.unit)?this.height.value:1)}}bbox(){const{p0:t,p1:e,p2:i,p3:s}=this.rect(),n=Math.min(t.x,e.x,i.x,s.x),h=Math.min(t.y,e.y,i.y,s.y),o=Math.max(t.x,e.x,i.x,s.x),r=Math.max(t.y,e.y,i.y,s.y);return new x.BBox({left:n,right:o,top:h,bottom:r})}rect(){const t=this._rect(),{angle:e}=this;if(null==e||0==e)return t;{const{sx:i,sy:s}=this.position,n=new g.AffineTransform;return n.translate(i,s),n.rotate(e),n.translate(-i,-s),n.apply_rect(t)}}paint_rect(t){const{p0:e,p1:i,p2:s,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(i.x),h(i.y)),t.lineTo(h(s.x),h(s.y)),t.lineTo(h(n.x),h(n.y)),t.closePath(),t.stroke(),t.restore()}paint_bbox(t){const{x:e,y:i,width:s,height:n}=this.bbox();t.save(),t.strokeStyle=\"blue\",t.lineWidth=1,t.beginPath();const{round:h}=Math;t.moveTo(h(e),h(i)),t.lineTo(h(e),h(i+n)),t.lineTo(h(e+s),h(i+n)),t.lineTo(h(e+s),h(i)),t.closePath(),t.stroke(),t.restore()}async load_image(){if(null==this.provider.MathJax)return null;const t=this._process_text();if(null==t)return this._has_finished=!0,null;const e=t.children[0];this.svg_element=e,e.setAttribute(\"font\",this.font),e.setAttribute(\"stroke\",this.color);const i=e.outerHTML,s=`data:image/svg+xml;utf-8,${encodeURIComponent(i)}`;return this.svg_image=await(0,l.load_image)(s),this.parent.request_layout(),this.svg_image}paint(t){null==this.svg_image&&(\"not_started\"!=this.provider.status&&\"loading\"!=this.provider.status||this.provider.ready.connect((()=>this.load_image())),\"loaded\"==this.provider.status&&this.load_image()),t.save();const{sx:e,sy:i}=this.position,{angle:s}=this;null!=s&&0!=s&&(t.translate(e,i),t.rotate(s),t.translate(-e,-i));const{x:n,y:h}=this._computed_position();if(null!=this.svg_image){const{width:e,height:i}=this.get_image_dimensions();t.drawImage(this.svg_image,n,h,e,i)}else\"failed\"!=this.provider.status&&\"not_started\"!=this.provider.status||(t.fillStyle=this.color,t.font=this.font,t.textAlign=\"left\",t.textBaseline=\"alphabetic\",t.fillText(this.truncated_text,n,h+(0,d.font_metrics)(this.font).ascent));t.restore(),this._has_finished||\"failed\"!=this.provider.status&&null==this.svg_image||(this._has_finished=!0,this.parent.notify_finished_after_paint())}}i.MathTextView=m,m.__name__=\"MathTextView\";class v extends p.BaseText{constructor(t){super(t)}}i.MathText=v,v.__name__=\"MathText\";class y extends m{get styled_text(){return this.text}_process_text(){}_size(){return{width:(0,c.text_width)(this.text,this.font),height:(0,d.font_metrics)(this.font).height}}paint(t){t.save();const{sx:e,sy:i}=this.position,{angle:s}=this;null!=s&&0!=s&&(t.translate(e,i),t.rotate(s),t.translate(-e,-i));const{x:n,y:h}=this._computed_position();t.fillStyle=this.color,t.font=this.font,t.textAlign=\"left\",t.textBaseline=\"alphabetic\",t.fillText(this.text,n,h+(0,d.font_metrics)(this.font).ascent),t.restore(),this._has_finished=!0,this.parent.notify_finished_after_paint()}}i.AsciiView=y,y.__name__=\"AsciiView\";class b extends v{constructor(t){super(t)}}i.Ascii=b,h=b,b.__name__=\"Ascii\",h.prototype.default_view=y;class w extends m{get styled_text(){let t=this.text.trim(),e=t.match(//s);return null==e?this.text.trim():(t=(0,u.insert_text_on_position)(t,t.indexOf(e[0])+e[0].length,``),e=t.match(/<\\/[^>]*?math.*?>/s),null==e?this.text.trim():(0,u.insert_text_on_position)(t,t.indexOf(e[0]),\"\"))}_process_text(){var t;const e=(0,d.font_metrics)(this.font);return null===(t=this.provider.MathJax)||void 0===t?void 0:t.mathml2svg(this.styled_text,{em:this.base_font_size,ex:e.x_height})}}i.MathMLView=w,w.__name__=\"MathMLView\";class M extends v{constructor(t){super(t)}}i.MathML=M,o=M,M.__name__=\"MathML\",o.prototype.default_view=w;class z extends m{get styled_text(){const[t,e,i]=(0,_.color2rgba)(this.color);return`\\\\color[RGB]{${t}, ${e}, ${i}} ${this.font.includes(\"bold\")?`\\\\pmb{${this.text}}`:this.text}`}_process_text(){var t;const e=(0,d.font_metrics)(this.font);return null===(t=this.provider.MathJax)||void 0===t?void 0:t.tex2svg(this.styled_text,{display:!this.model.inline,em:this.base_font_size,ex:e.x_height},this.model.macros)}}i.TeXView=z,z.__name__=\"TeXView\";class T extends v{constructor(t){super(t)}}i.TeX=T,r=T,T.__name__=\"TeX\",r.prototype.default_view=z,r.define((({Boolean:t,Number:e,String:i,Dict:s,Tuple:n,Or:h})=>({macros:[s(h(i,n(i,e))),{}],inline:[t,!1]})))},\n", + " function _(i,e,t,s,a){s();const o=i(18);t.load_image=async function(i,e){return new n(i,e).promise};class n{constructor(i,e={}){this.image=new Image,this._finished=!1;const{attempts:t=1,timeout:s=1}=e;this.promise=new Promise(((a,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(o.logger.warn(s),null==this.image.crossOrigin)return void(null!=e.failed&&e.failed());o.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),a(this.image)},this.image.src=i}))}get finished(){return this._finished}}t.ImageLoader=n,n.__name__=\"ImageLoader\"},\n", + " function _(t,e,s,i,n){i();const h=t(57),o=t(152),a=t(10),r=t(8),c=t(153),_=t(21);s.text_width=(()=>{const t=document.createElement(\"canvas\").getContext(\"2d\");let e=\"\";return(s,i)=>(i!=e&&(e=i,t.font=i),t.measureText(s).width)})();class l{constructor(){this._position={sx:0,sy:0},this.font_size_scale=1,this.align=\"left\",this._base_font_size=13,this._x_anchor=\"left\",this._y_anchor=\"center\"}set base_font_size(t){null!=t&&(this._base_font_size=t)}get base_font_size(){return this._base_font_size}set position(t){this._position=t}get position(){return this._position}infer_text_height(){return\"ascent_descent\"}bbox(){const{p0:t,p1:e,p2:s,p3:i}=this.rect(),n=Math.min(t.x,e.x,s.x,i.x),o=Math.min(t.y,e.y,s.y,i.y),a=Math.max(t.x,e.x,s.x,i.x),r=Math.max(t.y,e.y,s.y,i.y);return new h.BBox({left:n,right:a,top:o,bottom:r})}size(){const{width:t,height:e}=this._size(),{angle:s}=this;if(null==s||0==s)return{width:t,height:e};{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)}}}rect(){const t=this._rect(),{angle:e}=this;if(null==e||0==e)return t;{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)}}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 u extends l{set visuals(t){const e=t.color,s=t.alpha,i=t.outline_color,n=t.font_style;let h=t.font_size;const a=t.font,{font_size_scale:r,base_font_size:c}=this,l=(0,o.parse_css_font_size)(h);if(null!=l){let{value:t,unit:e}=l;t*=r,\"em\"==e&&0!=c&&(t*=c,e=\"px\"),h=`${t}${e}`}const u=`${n} ${h} ${a}`;this.font=u,this.color=(0,_.color2css)(e,s),this.outline_color=(0,_.color2css)(i,s),this.line_height=t.line_height;const x=t.align;this._visual_align=x,this._x_anchor=x;const p=t.baseline;this._y_anchor=(()=>{switch(p){case\"top\":return\"top\";case\"middle\":return\"center\";case\"bottom\":return\"bottom\";default:return\"baseline\"}})()}constructor({text:t}){super(),this._visual_align=\"left\",this.text=t}infer_text_height(){if(this.text.includes(\"\\n\"))return\"ascent_descent\";{function t(t){for(const e of new Set(t))if(!(\"0\"<=e&&e<=\"9\"))switch(e){case\",\":case\".\":case\"+\":case\"-\":case\"\\u2212\":case\"e\":continue;default:return!1}return!0}return t(this.text)?\"cap\":\"ascent_descent\"}}_text_line(t){var e;const s=null!==(e=this.text_height_metric)&&void 0!==e?e:this.infer_text_height(),i=(()=>{switch(s){case\"x\":case\"x_descent\":return t.x_height;case\"cap\":case\"cap_descent\":return t.cap_height;case\"ascent\":case\"ascent_descent\":return t.ascent}})(),n=(()=>{switch(s){case\"x\":case\"cap\":case\"ascent\":return 0;case\"x_descent\":case\"cap_descent\":case\"ascent_descent\":return t.descent}})();return{height:i+n,ascent:i,descent:n}}get nlines(){return this.text.split(\"\\n\").length}_size(){var t,e;const{font:i}=this,n=(0,o.font_metrics)(i),h=(this.line_height-1)*n.height,r=\"\"==this.text,c=this.text.split(\"\\n\"),_=c.length,l=c.map((t=>(0,s.text_width)(t,i))),u=this._text_line(n).height*_,x=\"%\"==(null===(t=this.width)||void 0===t?void 0:t.unit)?this.width.value:1,p=\"%\"==(null===(e=this.height)||void 0===e?void 0:e.unit)?this.height.value:1;return{width:(0,a.max)(l)*x,height:r?0:(u+h*(_-1))*p,metrics:n}}_computed_position(t,e,s){const{width:i,height:n}=t,{sx:h,sy:o,x_anchor:a=this._x_anchor,y_anchor:c=this._y_anchor}=this.position;return{x:h-(()=>{if((0,r.isNumber)(a))return a*i;switch(a){case\"left\":return 0;case\"center\":return.5*i;case\"right\":return i}})(),y:o-(()=>{var t;if((0,r.isNumber)(c))return c*n;switch(c){case\"top\":return 0;case\"center\":return.5*n;case\"bottom\":return n;case\"baseline\":if(1!=s)return.5*n;switch(null!==(t=this.text_height_metric)&&void 0!==t?t:this.infer_text_height()){case\"x\":case\"x_descent\":return e.x_height;case\"cap\":case\"cap_descent\":return e.cap_height;case\"ascent\":case\"ascent_descent\":return e.ascent}}})()}}_rect(){const{width:t,height:e,metrics:s}=this._size(),i=this.text.split(\"\\n\").length,{x:n,y:o}=this._computed_position({width:t,height:e},s,i);return new h.BBox({x:n,y:o,width:t,height:e}).rect}paint(t){var e,i;const{font:n}=this,h=(0,o.font_metrics)(n),r=(this.line_height-1)*h.height,c=this.text.split(\"\\n\"),_=c.length,l=c.map((t=>(0,s.text_width)(t,n))),u=this._text_line(h),x=u.height*_,p=\"%\"==(null===(e=this.width)||void 0===e?void 0:e.unit)?this.width.value:1,f=\"%\"==(null===(i=this.height)||void 0===i?void 0:i.unit)?this.height.value:1,g=(0,a.max)(l)*p,d=(x+r*(_-1))*f;t.save(),t.fillStyle=this.color,t.strokeStyle=this.outline_color,t.font=this.font,t.textAlign=\"left\",t.textBaseline=\"alphabetic\";const{sx:b,sy:m}=this.position,{align:y}=this,{angle:w}=this;null!=w&&0!=w&&(t.translate(b,m),t.rotate(w),t.translate(-b,-m));let{x:v,y:z}=this._computed_position({width:g,height:d},h,_);if(\"justify\"==y)for(let e=0;e<_;e++){let i=v;const h=c[e].split(\" \"),o=h.length,_=h.map((t=>(0,s.text_width)(t,n))),l=(g-(0,a.sum)(_))/(o-1);for(let e=0;e{switch(\"auto\"==y?this._visual_align:y){case\"left\":return 0;case\"center\":return.5*(g-l[e]);case\"right\":return g-l[e]}})(),i=c[e],n=z+u.ascent;t.fillText(i,s,n),t.strokeText(i,s,n),z+=u.height+r}t.restore()}}s.TextBox=u,u.__name__=\"TextBox\";class x extends l{constructor(t,e){super(),this.base=t,this.expo=e}get children(){return[this.base,this.expo]}set base_font_size(t){super.base_font_size=t,this.base.base_font_size=t,this.expo.base_font_size=t}set position(t){this._position=t;const e=this.base.size(),s=this.expo.size(),i=this._shift_scale()*e.height,n=Math.max(e.height,i+s.height);this.base.position={sx:0,x_anchor:\"left\",sy:n,y_anchor:\"bottom\"},this.expo.position={sx:e.width,x_anchor:\"left\",sy:i,y_anchor:\"bottom\"}}get position(){return this._position}set visuals(t){this.expo.font_size_scale=.7,this.base.visuals=t,this.expo.visuals=t}_shift_scale(){if(this.base instanceof u&&1==this.base.nlines){const{x_height:t,cap_height:e}=(0,o.font_metrics)(this.base.font);return t/e}return 2/3}infer_text_height(){return this.base.infer_text_height()}_rect(){const t=this.base.bbox(),e=this.expo.bbox(),s=t.union(e),{x:i,y:n}=this._computed_position();return s.translate(i,n).rect}_size(){const t=this.base.size(),e=this.expo.size();return{width:t.width+e.width,height:Math.max(t.height,this._shift_scale()*t.height+e.height)}}paint(t){t.save();const{angle:e}=this;if(null!=e&&0!=e){const{sx:s,sy:i}=this.position;t.translate(s,i),t.rotate(e),t.translate(-s,-i)}const{x:s,y:i}=this._computed_position();t.translate(s,i),this.base.paint(t),this.expo.paint(t),t.restore()}paint_bbox(t){super.paint_bbox(t);const{x:e,y:s}=this._computed_position();t.save(),t.translate(e,s);for(const e of this.children)e.paint_bbox(t);t.restore()}_computed_position(){const{width:t,height:e}=this._size(),{sx:s,sy:i,x_anchor:n=this._x_anchor,y_anchor:h=this._y_anchor}=this.position;return{x:s-(()=>{if((0,r.isNumber)(n))return n*t;switch(n){case\"left\":return 0;case\"center\":return.5*t;case\"right\":return t}})(),y:i-(()=>{if((0,r.isNumber)(h))return h*e;switch(h){case\"top\":return 0;case\"center\":case\"baseline\":return.5*e;case\"bottom\":return e}})()}}}s.BaseExpo=x,x.__name__=\"BaseExpo\";class p{constructor(t){this.items=t}set base_font_size(t){for(const e of this.items)e.base_font_size=t}get length(){return this.items.length}set visuals(t){for(const e of this.items)e.visuals=t;const e={x:0,cap:1,ascent:2,x_descent:3,cap_descent:4,ascent_descent:5},s=(0,a.max_by)(this.items.map((t=>t.infer_text_height())),(t=>e[t]));for(const t of this.items)t.text_height_metric=s}set angle(t){for(const e of this.items)e.angle=t}max_size(){let t=0,e=0;for(const s of this.items){const i=s.size();t=Math.max(t,i.width),e=Math.max(e,i.height)}return{width:t,height:e}}}s.GraphicsBoxes=p,p.__name__=\"GraphicsBoxes\"},\n", + " function _(t,e,n,c,s){c();const a=t(12),o=t(8),r=(()=>{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},i=(()=>{const t=r(0,0).getContext(\"2d\");return(0,a.assert)(null!=t,\"can't obtain 2d context\"),e=>{t.font=e;const n=t.measureText(\"M\"),c=t.measureText(\"x\"),s=t.measureText(\"\\xc5\\u015ag|\"),r=s.fontBoundingBoxAscent,i=s.fontBoundingBoxDescent;if((0,o.is_defined)(r)&&(0,o.is_defined)(i))return{height:r+i,ascent:r,descent:i,cap_height:n.actualBoundingBoxAscent,x_height:c.actualBoundingBoxAscent};const u=s.actualBoundingBoxAscent,l=s.actualBoundingBoxDescent;if((0,o.is_defined)(u)&&(0,o.is_defined)(l))return{height:u+l,ascent:u,descent:l,cap_height:n.actualBoundingBoxAscent,x_height:c.actualBoundingBoxAscent};(0,a.unreachable)()}})(),u=(()=>{const t=document.createElement(\"canvas\"),e=t.getContext(\"2d\");let n=-1,c=-1;return(s,a=1)=>{e.font=s;const{width:o}=e.measureText(\"M\"),r=o*a,i=Math.ceil(r),u=Math.ceil(2*r),l=Math.ceil(1.5*r);n{let e=0;for(let n=0;n<=l;n++)for(let c=0;c{let e=t.length-4;for(let n=u;n>=l;n--)for(let c=0;c{try{return i(\"normal 10px sans-serif\"),i}catch(t){return u}})(),f=new Map;n.font_metrics=function(t){let e=f.get(t);if(null==e){const n=document.fonts.check(t);e={font:l(t)},n&&f.set(t,e)}return e.font},n.parse_css_font_size=function(t){const e=t.match(/^\\s*(\\d+(\\.\\d+)?)(\\w+)\\s*$/);if(null!=e){const[,t,,n]=e,c=Number(t);if(isFinite(c))return{value:c,unit:n}}return null},n.parse_css_length=function(t){const e=t.match(/^\\s*(-?\\d+(\\.\\d+)?)(\\w+)\\s*$/);if(null!=e){const[,t,,n]=e,c=Number(t);if(isFinite(c))return{value:c,unit:n}}return null}},\n", + " function _(t,s,r,e,i){e();const n=t(25),{sin:a,cos:h}=Math;class o{constructor(t=1,s=0,r=0,e=1,i=0,n=0){this.a=t,this.b=s,this.c=r,this.d=e,this.e=i,this.f=n}toString(){const{a:t,b:s,c:r,d:e,e:i,f:n}=this;return`matrix(${t}, ${s}, ${r}, ${e}, ${i}, ${n})`}static from_DOMMatrix(t){const{a:s,b:r,c:e,d:i,e:n,f:a}=t;return new o(s,r,e,i,n,a)}to_DOMMatrix(){const{a:t,b:s,c:r,d:e,e:i,f:n}=this;return new DOMMatrix([t,s,r,e,i,n])}clone(){const{a:t,b:s,c:r,d:e,e:i,f:n}=this;return new o(t,s,r,e,i,n)}[n.equals](t,s){return s.eq(this.a,t.a)&&s.eq(this.b,t.b)&&s.eq(this.c,t.c)&&s.eq(this.d,t.d)&&s.eq(this.e,t.e)&&s.eq(this.f,t.f)}reset(){this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0}get is_identity(){const{a:t,b:s,c:r,d:e,e:i,f:n}=this;return 1==t&&0==s&&0==r&&1==e&&0==i&&0==n}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:e,c:i,d:n,e:a,f:h}=this;return[r*t+i*s+a,e*t+n*s+h]}iv_apply(t,s){const{a:r,b:e,c:i,d:n,e:a,f:h}=this,o=t.length;for(let c=0;c{this.status=\"loaded\",this.ready.emit()},t.onerror=()=>{this.status=\"failed\"},this.status=\"loading\",document.head.appendChild(t)}}a.CDNProvider=h,h.__name__=\"CDNProvider\";class _ extends c{get MathJax(){return this._mathjax}async fetch(){this.status=\"loading\";try{const e=await(0,u.load_module)(Promise.resolve().then((()=>o(t(647)))));this._mathjax=e,this.status=\"loaded\",this.ready.emit()}catch(t){this.status=\"failed\"}}}a.BundleProvider=_,_.__name__=\"BundleProvider\",a.default_provider=new _},\n", + " function _(n,r,o,t,c){t(),o.load_module=async function(n){try{return await n}catch(n){if((r=n)instanceof Error&&\"code\"in r&&\"MODULE_NOT_FOUND\"===n.code)return null;throw n}var r}},\n", + " function _(e,t,i,n,s){var a;n();const x=e(147),_=e(151);class l extends x.BaseTextView{initialize(){super.initialize(),this._has_finished=!0}graphics(){return new _.TextBox({text:this.model.text})}}i.PlainTextView=l,l.__name__=\"PlainTextView\";class r extends x.BaseText{constructor(e){super(e)}}i.PlainText=r,a=r,r.__name__=\"PlainText\",a.prototype.default_view=l},\n", + " function _(e,s,t,a,_){a();const r=e(92),n=e(91),i=e(88),g=e(93),c=e(96),h=e(57),l=e(9),o=e(12),u=e(15);class x{get bbox(){return this._bbox}constructor(e,s,t,a,_={},r={},n={},i={}){this._bbox=new h.BBox,this.change=new u.Signal0(this,\"change\"),this.in_x_scale=e,this.in_y_scale=s,this.x_range=t,this.y_range=a,this.extra_x_ranges=_,this.extra_y_ranges=r,this.extra_x_scales=n,this.extra_y_scales=i,(0,o.assert)(e.properties.source_range.is_unset&&e.properties.target_range.is_unset),(0,o.assert)(s.properties.source_range.is_unset&&s.properties.target_range.is_unset),this._configure_scales()}_get_ranges(e,s){return new Map((0,l.entries)(Object.assign(Object.assign({},s),{default:e})))}_get_scales(e,s,t,a){var _;const i=new Map((0,l.entries)(Object.assign(Object.assign({},s),{default:e}))),h=new Map;for(const[s,l]of t){if(l instanceof c.FactorRange!=e instanceof r.CategoricalScale)throw new Error(`Range ${l.type} is incompatible is Scale ${e.type}`);e instanceof n.LogScale&&l instanceof g.DataRange1d&&(l.scale_hint=\"log\");const t=(null!==(_=i.get(s))&&void 0!==_?_:e).clone();t.setv({source_range:l,target_range:a}),h.set(s,t)}return h}_configure_frame_ranges(){const{bbox:e}=this;this._x_target=new i.Range1d({start:e.left,end:e.right}),this._y_target=new i.Range1d({start:e.bottom,end:e.top})}_configure_scales(){this._configure_frame_ranges(),this._x_ranges=this._get_ranges(this.x_range,this.extra_x_ranges),this._y_ranges=this._get_ranges(this.y_range,this.extra_y_ranges),this._x_scales=this._get_scales(this.in_x_scale,this.extra_x_scales,this._x_ranges,this._x_target),this._y_scales=this._get_scales(this.in_y_scale,this.extra_y_scales,this._y_ranges,this._y_target)}configure_scales(){this._configure_scales(),this.change.emit()}_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 ranges(){return new Set([...this.x_ranges.values(),...this.y_ranges.values()])}get x_scales(){return this._x_scales}get y_scales(){return this._y_scales}get scales(){return new Set([...this.x_scales.values(),...this.y_scales.values()])}get x_scale(){return this._x_scales.get(\"default\")}get y_scale(){return this._y_scales.get(\"default\")}}t.CartesianFrame=x,x.__name__=\"CartesianFrame\"},\n", + " function _(i,s,x,A,o){A(),o(\"Axis\",i(159).Axis),o(\"CategoricalAxis\",i(164).CategoricalAxis),o(\"ContinuousAxis\",i(167).ContinuousAxis),o(\"DatetimeAxis\",i(168).DatetimeAxis),o(\"LinearAxis\",i(184).LinearAxis),o(\"LogAxis\",i(186).LogAxis),o(\"MercatorAxis\",i(189).MercatorAxis)},\n", + " function _(t,e,i,s,a){var l;s();const o=t(1),n=t(160),_=t(161),r=t(162),h=t(163),c=o.__importStar(t(78)),b=t(19),u=t(23),m=t(144),d=t(10),x=t(9),f=t(8),g=t(151),p=t(96),v=t(147),w=t(59),j=t(12),k=t(8),y=t(148),{abs:z}=Math;class M extends n.GuideRendererView{constructor(){super(...arguments),this._axis_label_view=null,this._major_label_views=new Map}*children(){yield*super.children(),null!=this._axis_label_view&&(yield this._axis_label_view),yield*this._major_label_views.values()}async lazy_initialize(){await super.lazy_initialize(),await this._init_axis_label(),await this._init_major_labels()}async _init_axis_label(){const{axis_label:t}=this.model;if(null!=t){const e=(0,k.isString)(t)?(0,y.parse_delimited_string)(t):t;this._axis_label_view=await(0,w.build_view)(e,{parent:this})}else this._axis_label_view=null}async _init_major_labels(){for(const[t,e]of this.model.major_label_overrides){const i=(0,k.isString)(e)?(0,y.parse_delimited_string)(e):e;this._major_label_views.set(t,await(0,w.build_view)(i,{parent:this}))}}update_layout(){this.layout=new m.SideLayout(this.panel,(()=>this.get_size()),!0),this.layout.on_resize((()=>this._coordinates=void 0))}get_size(){const{visible:t,fixed_location:e}=this.model;if(t&&null==e&&this.is_renderable){const{extents:t}=this;return{width:0,height:Math.round(t.tick+t.tick_label+t.axis_label)}}return{width:0,height:0}}get is_renderable(){const[t,e]=this.ranges;return t.is_valid&&e.is_valid&&t.span>0&&e.span>0}_render(){var t;if(!this.is_renderable)return;const{tick_coords:e,extents:i}=this,s=this.layer.ctx;s.save(),this._draw_rule(s,i),this._draw_major_ticks(s,i,e),this._draw_minor_ticks(s,i,e),this._draw_major_labels(s,i,e),this._draw_axis_label(s,i,e),null===(t=this._paint)||void 0===t||t.call(this,s,i,e),s.restore()}connect_signals(){super.connect_signals();const{axis_label:t,major_label_overrides:e}=this.model.properties;this.on_change(t,(async()=>{var t;null===(t=this._axis_label_view)||void 0===t||t.remove(),await this._init_axis_label()})),this.on_change(e,(async()=>{for(const t of this._major_label_views.values())t.remove();await this._init_major_labels()})),this.connect(this.model.change,(()=>this.plot_view.request_layout()))}get needs_clip(){return null!=this.model.fixed_location}_draw_rule(t,e){if(!this.visuals.axis_line.doit)return;const[i,s]=this.rule_coords,[a,l]=this.coordinates.map_to_screen(i,s),[o,n]=this.normals,[_,r]=this.offsets;this.visuals.axis_line.set_value(t),t.beginPath();for(let e=0;e0?s+i+3:0}_draw_axis_label(t,e,i){if(null==this._axis_label_view||null!=this.model.fixed_location)return;const[s,a]=(()=>{const{bbox:t}=this.layout;switch(this.panel.side){case\"above\":return[t.hcenter,t.bottom];case\"below\":return[t.hcenter,t.top];case\"left\":return[t.right,t.vcenter];case\"right\":return[t.left,t.vcenter]}})(),[l,o]=this.normals,n=e.tick+e.tick_label+this.model.axis_label_standoff,{vertical_align:_,align:r}=this.panel.get_label_text_heuristics(\"parallel\"),h={sx:s+l*n,sy:a+o*n,x_anchor:r,y_anchor:_},c=this._axis_label_view.graphics();c.visuals=this.visuals.axis_label_text.values(),c.angle=this.panel.get_label_angle_heuristic(\"parallel\"),null!=this.plot_view.base_font_size&&(c.base_font_size=this.plot_view.base_font_size),c.position=h,c.align=r,c.paint(t)}_draw_ticks(t,e,i,s,a){if(!a.doit)return;const[l,o]=e,[n,_]=this.coordinates.map_to_screen(l,o),[r,h]=this.normals,[c,b]=this.offsets,[u,m]=[r*(c-i),h*(b-i)],[d,x]=[r*(c+s),h*(b+s)];a.set_value(t),t.beginPath();for(let e=0;et.bbox())),M=(()=>{const[t]=this.ranges;return t.is_reversed?0==this.dimension?(t,e)=>z[t].left-z[e].right:(t,e)=>z[e].top-z[t].bottom:0==this.dimension?(t,e)=>z[e].left-z[t].right:(t,e)=>z[t].top-z[e].bottom})(),{major_label_policy:O}=this.model,T=O.filter(k,z,M),A=[...T.ones()];if(0!=A.length){const t=this.parent.canvas_view.bbox,e=e=>{const i=z[e];if(i.left<0){const t=-i.left,{position:s}=y[e];y[e].position=Object.assign(Object.assign({},s),{sx:s.sx+t})}else if(i.right>t.width){const s=i.right-t.width,{position:a}=y[e];y[e].position=Object.assign(Object.assign({},a),{sx:a.sx-s})}},i=e=>{const i=z[e];if(i.top<0){const t=-i.top,{position:s}=y[e];y[e].position=Object.assign(Object.assign({},s),{sy:s.sy+t})}else if(i.bottom>t.height){const s=i.bottom-t.height,{position:a}=y[e];y[e].position=Object.assign(Object.assign({},a),{sy:a.sy-s})}},s=A[0],a=A[A.length-1];0==this.dimension?(e(s),e(a)):(i(s),i(a))}for(const e of T){y[e].paint(t)}}_tick_extent(){return this.model.major_tick_out}_tick_label_extents(){const t=this.tick_coords.major,e=this.compute_labels(t[this.dimension]),i=this.model.major_label_orientation,s=this.model.major_label_standoff,a=this.visuals.major_label_text;return[this._oriented_labels_extent(e,i,s,a)]}get extents(){const t=this._tick_label_extents();return{tick:this._tick_extent(),tick_labels:t,tick_label:(0,d.sum)(t),axis_label:this._axis_label_extent()}}_oriented_labels_extent(t,e,i,s){if(0==t.length||!s.doit)return 0;const a=this.panel.get_label_angle_heuristic(e);t.visuals=s.values(),t.angle=a,t.base_font_size=this.plot_view.base_font_size;const l=t.max_size(),o=0==this.dimension?l.height:l.width;return o>0?i+o+3:0}get normals(){return this.panel.normals}get dimension(){return this.panel.dimension}compute_labels(t){const e=this.model.formatter.format_graphics(t,this),{_major_label_views:i}=this,s=new Set;for(let a=0;az(o-n)?(t=r(_(a,l),o),s=_(r(a,l),n)):(t=_(a,l),s=r(a,l)),[t,s]}}get rule_coords(){const t=this.dimension,e=1-t,[i]=this.ranges,[s,a]=this.computed_bounds,l=[new Array(2),new Array(2)];return l[t][0]=Math.max(s,i.min),l[t][1]=Math.min(a,i.max),l[t][0]>l[t][1]&&(l[t][0]=l[t][1]=NaN),l[e][0]=this.loc,l[e][1]=this.loc,l}get tick_coords(){const t=this.dimension,e=1-t,[i]=this.ranges,[s,a]=this.computed_bounds,l=this.model.ticker.get_ticks(s,a,i,this.loc),o=l.major,n=l.minor,_=[[],[]],r=[[],[]],[h,c]=[i.min,i.max];for(let i=0;ic||(_[t].push(o[i]),_[e].push(this.loc));for(let i=0;ic||(r[t].push(n[i]),r[e].push(this.loc));return{major:_,minor:r}}get loc(){const{fixed_location:t}=this.model;if(null!=t){if((0,f.isNumber)(t))return t;const[,e]=this.ranges;if(e instanceof p.FactorRange)return e.synthetic(t);(0,j.unreachable)()}const[,e]=this.ranges;switch(this.panel.side){case\"left\":case\"below\":return e.start;case\"right\":case\"above\":return e.end}}serializable_state(){return Object.assign(Object.assign({},super.serializable_state()),{bbox:this.layout.bbox})}remove(){var t;null===(t=this._axis_label_view)||void 0===t||t.remove();for(const t of this._major_label_views.values())t.remove();super.remove()}has_finished(){if(!super.has_finished())return!1;if(null!=this._axis_label_view&&!this._axis_label_view.has_finished())return!1;for(const t of this._major_label_views.values())if(!t.has_finished())return!1;return!0}}i.AxisView=M,M.__name__=\"AxisView\";class O extends n.GuideRenderer{constructor(t){super(t)}}i.Axis=O,l=O,O.__name__=\"Axis\",l.prototype.default_view=M,l.mixins([[\"axis_\",c.Line],[\"major_tick_\",c.Line],[\"minor_tick_\",c.Line],[\"major_label_\",c.Text],[\"axis_label_\",c.Text]]),l.define((({Any:t,Int:e,Number:i,String:s,Ref:a,Map:l,Tuple:o,Or:n,Nullable:c,Auto:u})=>({bounds:[n(o(i,i),u),\"auto\"],ticker:[a(_.Ticker)],formatter:[a(r.TickFormatter)],axis_label:[c(n(s,a(v.BaseText))),null],axis_label_standoff:[e,5],major_label_standoff:[e,5],major_label_orientation:[n(b.TickLabelOrientation,i),\"horizontal\"],major_label_overrides:[l(n(s,i),n(s,a(v.BaseText))),new globalThis.Map,{convert:t=>(0,f.isPlainObject)(t)?new x.Dict(t):t}],major_label_policy:[a(h.LabelingPolicy),()=>new h.AllLabels],major_tick_in:[i,2],major_tick_out:[i,6],minor_tick_in:[i,0],minor_tick_out:[i,4],fixed_location:[c(n(i,t)),null]}))),l.override({axis_line_color:\"black\",major_tick_line_color:\"black\",minor_tick_line_color:\"black\",major_label_text_font_size:\"11px\",major_label_text_align:\"center\",major_label_text_baseline:\"alphabetic\",axis_label_text_font_size:\"13px\",axis_label_text_font_style:\"italic\"})},\n", + " function _(e,r,d,n,i){var s;n();const _=e(74);class u extends _.RendererView{}d.GuideRendererView=u,u.__name__=\"GuideRendererView\";class c extends _.Renderer{constructor(e){super(e)}}d.GuideRenderer=c,s=c,c.__name__=\"GuideRenderer\",s.override({level:\"guide\"})},\n", + " function _(c,e,n,s,o){s();const r=c(50);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(50),a=t(151);class m extends n.Model{constructor(t){super(t)}format_graphics(t,o){return this.doFormat(t,o).map((t=>new a.TextBox({text:t})))}compute(t,o){return this.doFormat([t],null!=o?o:{loc:0})[0]}v_compute(t,o){return this.doFormat(t,null!=o?o:{loc:0})}}r.TickFormatter=m,m.__name__=\"TickFormatter\"},\n", + " function _(e,n,s,t,i){var l,r;t();const c=e(50),o=e(9),a=e(38),u=e(8),d=e(23);class _ extends c.Model{constructor(e){super(e)}}s.LabelingPolicy=_,_.__name__=\"LabelingPolicy\";class f extends _{constructor(e){super(e)}filter(e,n,s){return e}}s.AllLabels=f,f.__name__=\"AllLabels\";class v extends _{constructor(e){super(e)}filter(e,n,s){const{min_distance:t}=this;let i=null;for(const n of e)null!=i&&s(i,n)({min_distance:[e,5]})));class m extends _{constructor(e){super(e)}get names(){return(0,o.keys)(this.args)}get values(){return(0,o.values)(this.args)}get func(){const e=(0,a.use_strict)(this.code);return new d.GeneratorFunction(\"indices\",\"bboxes\",\"distance\",...this.names,e)}filter(e,n,s){var t,i;const l=Object.create(null),r=this.func.call(l,e,n,s,...this.values);let c=r.next();if(null!==(t=c.done)&&void 0!==t&&t&&void 0!==c.value){const{value:n}=c;return n instanceof d.Indices?n:void 0===n?e:(0,u.isIterable)(n)?d.Indices.from_indices(e.size,n):d.Indices.all_unset(e.size)}{const n=[];do{n.push(c.value),c=r.next()}while(null===(i=c.done)||void 0===i||!i);return d.Indices.from_indices(e.size,n)}}}s.CustomLabelingPolicy=m,r=m,m.__name__=\"CustomLabelingPolicy\",r.define((({Unknown:e,String:n,Dict:s})=>({args:[s(e),{}],code:[n,\"\"]})))},\n", + " function _(t,s,e,o,i){var r;o();const a=t(1),l=t(159),_=t(165),n=t(166),p=a.__importStar(t(78)),c=t(19),h=t(151),m=t(8);class u extends l.AxisView{_paint(t,s,e){this._draw_group_separators(t,s,e)}_draw_group_separators(t,s,e){const[o]=this.ranges,[i,r]=this.computed_bounds;if(null==o.tops||o.tops.length<2||!this.visuals.separator_line.doit)return;const a=this.dimension,l=1-a,_=[[],[]];let n=0;for(let t=0;ti&&pnew h.GraphicsBoxes(t.map((t=>(0,m.isString)(t)?new h.TextBox({text:t}):t))),_=t=>l(this.model.formatter.doFormat(t,this));if(1==t.levels){const t=_(i.major);a.push([t,r.major,this.model.major_label_orientation,this.visuals.major_label_text])}else if(2==t.levels){const t=_(i.major.map((t=>t[1])));a.push([t,r.major,this.model.major_label_orientation,this.visuals.major_label_text]),a.push([l(i.tops),r.tops,this.model.group_label_orientation,this.visuals.group_text])}else if(3==t.levels){const t=_(i.major.map((t=>t[2]))),s=i.mids.map((t=>t[1]));a.push([t,r.major,this.model.major_label_orientation,this.visuals.major_label_text]),a.push([l(s),r.mids,this.model.subgroup_label_orientation,this.visuals.subgroup_text]),a.push([l(i.tops),r.tops,this.model.group_label_orientation,this.visuals.group_text])}return a}get tick_coords(){const t=this.dimension,s=1-t,[e]=this.ranges,[o,i]=this.computed_bounds,r=this.model.ticker.get_ticks(o,i,e,this.loc),a={major:[[],[]],mids:[[],[]],tops:[[],[]],minor:[[],[]]};return a.major[t]=r.major,a.major[s]=r.major.map((()=>this.loc)),3==e.levels&&(a.mids[t]=r.mids,a.mids[s]=r.mids.map((()=>this.loc))),e.levels>1&&(a.tops[t]=r.tops,a.tops[s]=r.tops.map((()=>this.loc))),a}}e.CategoricalAxisView=u,u.__name__=\"CategoricalAxisView\";class d extends l.Axis{constructor(t){super(t)}}e.CategoricalAxis=d,r=d,d.__name__=\"CategoricalAxis\",r.prototype.default_view=u,r.mixins([[\"separator_\",p.Line],[\"group_\",p.Text],[\"subgroup_\",p.Text]]),r.define((({Number:t,Or:s})=>({group_label_orientation:[s(c.TickLabelOrientation,t),\"parallel\"],subgroup_label_orientation:[s(c.TickLabelOrientation,t),\"parallel\"]}))),r.override({ticker:()=>new _.CategoricalTicker,formatter:()=>new n.CategoricalTickFormatter,separator_line_color:\"lightgrey\",separator_line_width:2,group_text_font_style:\"bold\",group_text_font_size:\"11px\",group_text_color:\"grey\",subgroup_text_font_style:\"bold\",subgroup_text_font_size:\"11px\"})},\n", + " function _(t,c,o,s,e){s();const r=t(161);class i extends r.Ticker{constructor(t){super(t)}get_ticks(t,c,o,s){var e,r;return{major:this._collect(o.factors,o,t,c),minor:[],tops:this._collect(null!==(e=o.tops)&&void 0!==e?e:[],o,t,c),mids:this._collect(null!==(r=o.mids)&&void 0!==r?r:[],o,t,c)}}_collect(t,c,o,s){const e=[];for(const r of t){const t=c.synthetic(r);t>o&&tnew m.DatetimeTicker,formatter:()=>new r.DatetimeTickFormatter})},\n", + " function _(t,e,o,n,r){var s;n();const i=t(1),c=t(19),_=t(32),u=t(170),l=t(8),m=t(162),a=t(174),d=i.__importDefault(t(173));o.resolution_order=[\"microseconds\",\"milliseconds\",\"seconds\",\"minsec\",\"minutes\",\"hourmin\",\"hours\",\"days\",\"months\",\"years\"],o.tm_index_for_resolution=new Map;for(const t of o.resolution_order)o.tm_index_for_resolution.set(t,0);function h(t,e){const o=1.1*t*1e3,n=1e3*e;return o=a.ONE_MINUTE?\"minsec\":\"seconds\":o=a.ONE_HOUR?\"hourmin\":\"minutes\":oparseInt(t,10)))}function x(t,e){const o=(0,u.sprintf)(\"$1%06d\",N(t));return-1==(e=e.replace(/((^|[^%])(%%)*)%f/,o)).indexOf(\"%\")?e:(0,d.default)(t,e)}function N(t){return Math.round(t/1e3%1*1e6)}o.tm_index_for_resolution.set(\"seconds\",5),o.tm_index_for_resolution.set(\"minsec\",4),o.tm_index_for_resolution.set(\"minutes\",4),o.tm_index_for_resolution.set(\"hourmin\",3),o.tm_index_for_resolution.set(\"hours\",3),o._get_resolution=h,o._mktime=f,o._strftime=x,o._us=N;class O extends m.TickFormatter{constructor(t){super(t)}doFormat(t,e,o){if(0==t.length)return[];const n=Math.abs(t[t.length-1]-t[0])/1e3,r=n/(t.length-1),s=(0,l.is_undefined)(o)?h(r,n):o,i=[];for(const[e,o]of(0,_.enumerate)(t)){const n=this._compute_label(e,s),r=this._add_context(e,n,o,t.length,s);i.push(r)}return i}_compute_label(t,e){const n=x(t,this[e]),r=f(t),s=o.resolution_order.indexOf(e);let i,c=n,_=!1,u=s;for(;0==r[o.tm_index_for_resolution.get(o.resolution_order[u])]&&(u+=1,u!=o.resolution_order.length);){if((\"minsec\"==e||\"hourmin\"==e)&&!_){if(\"minsec\"==e&&0==r[4]&&0!=r[5]||\"hourmin\"==e&&0==r[3]&&0!=r[4]){i=o.resolution_order[s-1],c=x(t,this[i]);break}_=!0}i=o.resolution_order[u],c=x(t,this[i])}if(this.strip_leading_zeros){const t=c.replace(/^0+/g,\"\");return t!=c&&isNaN(parseInt(t))?`0${t}`:t}return c}_add_context(t,e,o,n,r){const s=this.context_location,i=this.context_which;if(null==this.context)return e;if(\"start\"==i&&0==o||\"end\"==i&&o==n-1||\"center\"==i&&o==Math.floor(n/2)||\"all\"==i){const o=(0,l.isString)(this.context)?x(t,this.context):this.context.doFormat([t],{loc:0},r)[0];if(\"\"==o)return e;switch(s){case\"above\":return`${o}\\n${e}`;case\"below\":return`${e}\\n${o}`;case\"left\":return`${o} ${e}`;case\"right\":return`${e} ${o}`}}return e}}o.DatetimeTickFormatter=O,s=O,O.__name__=\"DatetimeTickFormatter\",s.define((({Boolean:t,Nullable:e,Or:o,Ref:n,String:r})=>({microseconds:[r,\"%fus\"],milliseconds:[r,\"%3Nms\"],seconds:[r,\"%Ss\"],minsec:[r,\":%M:%S\"],minutes:[r,\":%M\"],hourmin:[r,\"%H:%M\"],hours:[r,\"%Hh\"],days:[r,\"%m/%d\"],months:[r,\"%m/%Y\"],years:[r,\"%Y\"],strip_leading_zeros:[t,!0],context:[e(o(r,n(O))),null],context_which:[c.ContextWhich,\"start\"],context_location:[c.Location,\"below\"]})))},\n", + " function _(r,n,t,e,u){e();const i=r(1),l=i.__importStar(r(171)),a=r(172),f=i.__importDefault(r(173)),o=r(20),s=r(8);function c(r,...n){return(0,a.sprintf)(r,...n)}function m(r,n,t){if((0,s.isNumber)(r)){return c((()=>{switch(!1){case Math.floor(r)!=r:return\"%d\";case!(Math.abs(r)>.1&&Math.abs(r)<1e3):return\"%0.3f\";default:return\"%0.3e\"}})(),r)}return`${r}`}function _(r,n,e){if(null==n)return m;if(null!=e&&r in e){const n=e[r];if((0,s.isString)(n)){if(n in t.DEFAULT_FORMATTERS)return t.DEFAULT_FORMATTERS[n];throw new Error(`Unknown tooltip field formatter type '${n}'`)}return function(r,t,e){return n.format(r,t,e)}}return t.DEFAULT_FORMATTERS.numeral}function p(r,n,t){const e=n.get_column(r);if(null==e)return null;if(null==t)return null;if((0,s.isNumber)(t))return e[t];const u=e[t.index];if((0,s.isTypedArray)(u)||(0,s.isArray)(u)){if((0,s.isArray)(u[0])){return u[t.j][t.i]}return u[t.flat_index]}return u}function T(r,n,t,e){if(\"$\"==r[0]){return function(r,n){if(r in n)return n[r];throw new Error(`Unknown special variable '$${r}'`)}(r.substring(1),e)}return p(r.substring(1).replace(/[{}]/g,\"\"),n,t)}t.FormatterType=(0,o.Enum)(\"numeral\",\"printf\",\"datetime\"),t.DEFAULT_FORMATTERS={numeral:(r,n,t)=>l.format(r,n),datetime:(r,n,t)=>(0,f.default)(r,n),printf:(r,n,t)=>c(n,r)},t.sprintf=c,t.basic_formatter=m,t.get_formatter=_,t._get_column_value=p,t.get_value=T,t.replace_placeholders=function(r,n,t,e,u={},i){let l,a;if((0,s.isString)(r)?(l=r,a=!1):(l=r.html,a=!0),l=l.replace(/@\\$name/g,(r=>`@{${u.name}}`)),l=l.replace(/((?:\\$\\w+)|(?:@\\w+)|(?:@{(?:[^{}]+)}))(?:{([^{}]+)})?/g,((r,l,f)=>{const o=T(l,n,t,u);if(null==o)return null!=i?i(\"???\"):\"???\";if(\"safe\"==f)return a=!0,`${o}`;const s=`${_(l,f,e)(o,f,u)}`;return null!=i?i(s):s})),a){return[...(new DOMParser).parseFromString(l,\"text/html\").body.childNodes]}return l}},\n", + " function _(e,n,t,r,i){\n", + " /*!\n", + " * numbro.js\n", + " * version : 1.6.2\n", + " * author : Företagsplatsen AB\n", + " * license : MIT\n", + " * http://www.foretagsplatsen.se\n", + " */\n", + " var a,o={},l=o,u=\"en-US\",c=null,s=\"0,0\";void 0!==n&&n.exports;function f(e){this._value=e}function d(e){var n,t=\"\";for(n=0;n-1?function(e,n){var t,r,i,a;return t=(a=e.toString()).split(\"e\")[0],i=a.split(\"e\")[1],a=t.split(\".\")[0]+(r=t.split(\".\")[1]||\"\")+d(i-r.length),n>0&&(a+=\".\"+d(n)),a}(e,n):(t(e*o)/o).toFixed(n),r&&(i=new RegExp(\"0{1,\"+r+\"}$\"),a=a.replace(i,\"\")),a}function p(e,n,t){var r;return r=n.indexOf(\"$\")>-1?function(e,n,t){var r,i,a=n,l=a.indexOf(\"$\"),c=a.indexOf(\"(\"),s=a.indexOf(\"+\"),f=a.indexOf(\"-\"),d=\"\",h=\"\";-1===a.indexOf(\"$\")?\"infix\"===o[u].currency.position?(h=o[u].currency.symbol,o[u].currency.spaceSeparated&&(h=\" \"+h+\" \")):o[u].currency.spaceSeparated&&(d=\" \"):a.indexOf(\" $\")>-1?(d=\" \",a=a.replace(\" $\",\"\")):a.indexOf(\"$ \")>-1?(d=\" \",a=a.replace(\"$ \",\"\")):a=a.replace(\"$\",\"\");if(i=m(e,a,t,h),-1===n.indexOf(\"$\"))switch(o[u].currency.position){case\"postfix\":i.indexOf(\")\")>-1?((i=i.split(\"\")).splice(-1,0,d+o[u].currency.symbol),i=i.join(\"\")):i=i+d+o[u].currency.symbol;break;case\"infix\":break;case\"prefix\":i.indexOf(\"(\")>-1||i.indexOf(\"-\")>-1?(i=i.split(\"\"),r=Math.max(c,f)+1,i.splice(r,0,o[u].currency.symbol+d),i=i.join(\"\")):i=o[u].currency.symbol+d+i;break;default:throw Error('Currency position should be among [\"prefix\", \"infix\", \"postfix\"]')}else l<=1?i.indexOf(\"(\")>-1||i.indexOf(\"+\")>-1||i.indexOf(\"-\")>-1?(r=1,(l-1?((i=i.split(\"\")).splice(-1,0,d+o[u].currency.symbol),i=i.join(\"\")):i=i+d+o[u].currency.symbol;return i}(e,n,t):n.indexOf(\"%\")>-1?function(e,n,t){var r,i=\"\";e*=100,n.indexOf(\" %\")>-1?(i=\" \",n=n.replace(\" %\",\"\")):n=n.replace(\"%\",\"\");r=m(e,n,t),r.indexOf(\")\")>-1?((r=r.split(\"\")).splice(-1,0,i+\"%\"),r=r.join(\"\")):r=r+i+\"%\";return r}(e,n,t):n.indexOf(\":\")>-1?function(e){var n=Math.floor(e/60/60),t=Math.floor((e-60*n*60)/60),r=Math.round(e-60*n*60-60*t);return n+\":\"+(t<10?\"0\"+t:t)+\":\"+(r<10?\"0\"+r:r)}(e):m(e,n,t),r}function m(e,n,t,r){var i,a,l,s,f,d,p,m,x,g,O,b,w,y,M,v,$,B=!1,E=!1,F=!1,k=\"\",U=!1,N=!1,S=!1,j=!1,D=!1,C=\"\",L=\"\",T=Math.abs(e),K=[\"B\",\"KiB\",\"MiB\",\"GiB\",\"TiB\",\"PiB\",\"EiB\",\"ZiB\",\"YiB\"],G=[\"B\",\"KB\",\"MB\",\"GB\",\"TB\",\"PB\",\"EB\",\"ZB\",\"YB\"],I=\"\",P=!1,R=!1;if(0===e&&null!==c)return c;if(!isFinite(e))return\"\"+e;if(0===n.indexOf(\"{\")){var W=n.indexOf(\"}\");if(-1===W)throw Error('Format should also contain a \"}\"');b=n.slice(1,W),n=n.slice(W+1)}else b=\"\";if(n.indexOf(\"}\")===n.length-1){var Y=n.indexOf(\"{\");if(-1===Y)throw Error('Format should also contain a \"{\"');w=n.slice(Y+1,-1),n=n.slice(0,Y+1)}else w=\"\";if(v=null===($=-1===n.indexOf(\".\")?n.match(/([0-9]+).*/):n.match(/([0-9]+)\\..*/))?-1:$[1].length,-1!==n.indexOf(\"-\")&&(P=!0),n.indexOf(\"(\")>-1?(B=!0,n=n.slice(1,-1)):n.indexOf(\"+\")>-1&&(E=!0,n=n.replace(/\\+/g,\"\")),n.indexOf(\"a\")>-1){if(g=n.split(\".\")[0].match(/[0-9]+/g)||[\"0\"],g=parseInt(g[0],10),U=n.indexOf(\"aK\")>=0,N=n.indexOf(\"aM\")>=0,S=n.indexOf(\"aB\")>=0,j=n.indexOf(\"aT\")>=0,D=U||N||S||j,n.indexOf(\" a\")>-1?(k=\" \",n=n.replace(\" a\",\"\")):n=n.replace(\"a\",\"\"),p=0===(p=(f=Math.floor(Math.log(T)/Math.LN10)+1)%3)?3:p,g&&0!==T&&(d=Math.floor(Math.log(T)/Math.LN10)+1-g,m=3*~~((Math.min(g,f)-p)/3),T/=Math.pow(10,m),-1===n.indexOf(\".\")&&g>3))for(n+=\"[.]\",M=(M=0===d?0:3*~~(d/3)-d)<0?M+3:M,i=0;i=Math.pow(10,12)&&!D||j?(k+=o[u].abbreviations.trillion,e/=Math.pow(10,12)):T=Math.pow(10,9)&&!D||S?(k+=o[u].abbreviations.billion,e/=Math.pow(10,9)):T=Math.pow(10,6)&&!D||N?(k+=o[u].abbreviations.million,e/=Math.pow(10,6)):(T=Math.pow(10,3)&&!D||U)&&(k+=o[u].abbreviations.thousand,e/=Math.pow(10,3)))}if(n.indexOf(\"b\")>-1)for(n.indexOf(\" b\")>-1?(C=\" \",n=n.replace(\" b\",\"\")):n=n.replace(\"b\",\"\"),s=0;s<=K.length;s++)if(a=Math.pow(1024,s),l=Math.pow(1024,s+1),e>=a&&e0&&(e/=a);break}if(n.indexOf(\"d\")>-1)for(n.indexOf(\" d\")>-1?(C=\" \",n=n.replace(\" d\",\"\")):n=n.replace(\"d\",\"\"),s=0;s<=G.length;s++)if(a=Math.pow(1e3,s),l=Math.pow(1e3,s+1),e>=a&&e0&&(e/=a);break}if(n.indexOf(\"o\")>-1&&(n.indexOf(\" o\")>-1?(L=\" \",n=n.replace(\" o\",\"\")):n=n.replace(\"o\",\"\"),o[u].ordinal&&(L+=o[u].ordinal(e))),n.indexOf(\"[.]\")>-1&&(F=!0,n=n.replace(\"[.]\",\".\")),x=e.toString().split(\".\")[0],O=n.split(\".\")[1],y=n.indexOf(\",\"),O){if(x=(I=-1!==O.indexOf(\"*\")?h(e,e.toString().split(\".\")[1].length,t):O.indexOf(\"[\")>-1?h(e,(O=(O=O.replace(\"]\",\"\")).split(\"[\"))[0].length+O[1].length,t,O[1].length):h(e,O.length,t)).split(\".\")[0],I.split(\".\")[1].length)I=(r?k+r:o[u].delimiters.decimal)+I.split(\".\")[1];else I=\"\";F&&0===Number(I.slice(1))&&(I=\"\")}else x=h(e,null,t);return x.indexOf(\"-\")>-1&&(x=x.slice(1),R=!0),x.length-1&&(x=x.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g,\"$1\"+o[u].delimiters.thousands)),0===n.indexOf(\".\")&&(x=\"\"),b+(n.indexOf(\"(\")2)&&(o.length<2?!!o[0].match(/^\\d+.*\\d$/)&&!o[0].match(u):1===o[0].length?!!o[0].match(/^\\d+$/)&&!o[0].match(u)&&!!o[1].match(/^\\d+$/):!!o[0].match(/^\\d+.*\\d$/)&&!o[0].match(u)&&!!o[1].match(/^\\d+$/)))))},n.exports={format:function(e,n,t,r){return null!=t&&t!==a.culture()&&a.setCulture(t),p(Number(e),null!=n?n:s,null==r?Math.round:r)}}},\n", + " function _(e,n,t,r,i){!function(){\"use strict\";var e={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[+-]/};function n(t){return function(t,r){var i,s,a,o,p,c,l,u,f,d=1,g=t.length,y=\"\";for(s=0;s=0),o.type){case\"b\":i=parseInt(i,10).toString(2);break;case\"c\":i=String.fromCharCode(parseInt(i,10));break;case\"d\":case\"i\":i=parseInt(i,10);break;case\"j\":i=JSON.stringify(i,null,o.width?parseInt(o.width):0);break;case\"e\":i=o.precision?parseFloat(i).toExponential(o.precision):parseFloat(i).toExponential();break;case\"f\":i=o.precision?parseFloat(i).toFixed(o.precision):parseFloat(i);break;case\"g\":i=o.precision?String(Number(i.toPrecision(o.precision))):parseFloat(i);break;case\"o\":i=(parseInt(i,10)>>>0).toString(8);break;case\"s\":i=String(i),i=o.precision?i.substring(0,o.precision):i;break;case\"t\":i=String(!!i),i=o.precision?i.substring(0,o.precision):i;break;case\"T\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=o.precision?i.substring(0,o.precision):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=o.precision?i.substring(0,o.precision):i;break;case\"x\":i=(parseInt(i,10)>>>0).toString(16);break;case\"X\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}e.json.test(o.type)?y+=i:(!e.number.test(o.type)||u&&!o.sign?f=\"\":(f=u?\"+\":\"-\",i=i.toString().replace(e.sign,\"\")),c=o.pad_char?\"0\"===o.pad_char?\"0\":o.pad_char.charAt(1):\" \",l=o.width-(f+i).length,p=o.width&&l>0?c.repeat(l):\"\",y+=o.align?f+i+p:\"0\"===c?f+p+i:p+f+i)}return y}(function(n){if(i[n])return i[n];var t,r=n,s=[],a=0;for(;r;){if(null!==(t=e.text.exec(r)))s.push(t[0]);else if(null!==(t=e.modulo.exec(r)))s.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\");s.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 i[n]=s}(t),arguments)}function r(e,t){return n.apply(null,[e].concat(t||[]))}var i=Object.create(null);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,t,n,r,o){!function(e){\"object\"==typeof t&&t.exports?t.exports=e():\"function\"==typeof define?define(e):this.tz=e()}((function(){function e(e,t,n){var r,o=t.day[1];do{r=new Date(Date.UTC(n,t.month,Math.abs(o++)))}while(t.day[0]<7&&r.getUTCDay()!=t.day[0]);return(r={clock:t.clock,sort:r.getTime(),rule:t,save:6e4*t.save,offset:e.offset})[r.clock]=r.sort+6e4*t.time,r.posix?r.wallclock=r[r.clock]+(e.offset+t.saved):r.posix=r[r.clock]-(e.offset+t.saved),r}function t(t,n,r){var o,a,u,i,l,s,c,f=t[t.zone],h=[],T=new Date(r).getUTCFullYear(),g=1;for(o=1,a=f.length;o=T-g;--c)for(o=0,a=s.length;o=h[o][n]&&h[o][h[o].clock]>u[h[o].clock]&&(i=h[o])}return i&&((l=/^(.*)\\/(.*)$/.exec(u.format))?i.abbrev=l[i.save?2:1]:i.abbrev=u.format.replace(/%s/,i.rule.letter)),i||u}function n(e,n){return\"UTC\"==e.zone?n:(e.entry=t(e,\"posix\",n),n+e.entry.offset+e.entry.save)}function r(e,n){return\"UTC\"==e.zone?n:(e.entry=r=t(e,\"wallclock\",n),0<(o=n-r.wallclock)&&o9)t+=s*l[c-10];else{if(a=new Date(n(e,t)),c<7)for(;s;)a.setUTCDate(a.getUTCDate()+i),a.getUTCDay()==c&&(s-=i);else 7==c?a.setUTCFullYear(a.getUTCFullYear()+s):8==c?a.setUTCMonth(a.getUTCMonth()+s):a.setUTCDate(a.getUTCDate()+s);null==(t=r(e,a.getTime()))&&(t=r(e,a.getTime()+864e5*i)-864e5*i)}return t}var a={clock:function(){return+new Date},zone:\"UTC\",entry:{abbrev:\"UTC\",offset:0,save:0},UTC:1,z:function(e,t,n,r){var o,a,u=this.entry.offset+this.entry.save,i=Math.abs(u/1e3),l=[],s=3600;for(o=0;o<3;o++)l.push((\"0\"+Math.floor(i/s)).slice(-2)),i%=s,s/=60;return\"^\"!=n||u?(\"^\"==n&&(r=3),3==r?(a=(a=l.join(\":\")).replace(/:00$/,\"\"),\"^\"!=n&&(a=a.replace(/:00$/,\"\"))):r?(a=l.slice(0,r+1).join(\":\"),\"^\"==n&&(a=a.replace(/:00$/,\"\"))):a=l.slice(0,2).join(\"\"),a=(a=(u<0?\"-\":\"+\")+a).replace(/([-+])(0)/,{_:\" $1\",\"-\":\"$1\"}[n]||\"$1$2\")):\"Z\"},\"%\":function(e){return\"%\"},n:function(e){return\"\\n\"},t:function(e){return\"\\t\"},U:function(e){return s(e,0)},W:function(e){return s(e,1)},V:function(e){return c(e)[0]},G:function(e){return c(e)[1]},g:function(e){return c(e)[1]%100},j:function(e){return Math.floor((e.getTime()-Date.UTC(e.getUTCFullYear(),0))/864e5)+1},s:function(e){return Math.floor(e.getTime()/1e3)},C:function(e){return Math.floor(e.getUTCFullYear()/100)},N:function(e){return e.getTime()%1e3*1e6},m:function(e){return e.getUTCMonth()+1},Y:function(e){return e.getUTCFullYear()},y:function(e){return e.getUTCFullYear()%100},H:function(e){return e.getUTCHours()},M:function(e){return e.getUTCMinutes()},S:function(e){return e.getUTCSeconds()},e:function(e){return e.getUTCDate()},d:function(e){return e.getUTCDate()},u:function(e){return e.getUTCDay()||7},w:function(e){return e.getUTCDay()},l:function(e){return e.getUTCHours()%12||12},I:function(e){return e.getUTCHours()%12||12},k:function(e){return e.getUTCHours()},Z:function(e){return this.entry.abbrev},a:function(e){return this[this.locale].day.abbrev[e.getUTCDay()]},A:function(e){return this[this.locale].day.full[e.getUTCDay()]},h:function(e){return this[this.locale].month.abbrev[e.getUTCMonth()]},b:function(e){return this[this.locale].month.abbrev[e.getUTCMonth()]},B:function(e){return this[this.locale].month.full[e.getUTCMonth()]},P:function(e){return this[this.locale].meridiem[Math.floor(e.getUTCHours()/12)].toLowerCase()},p:function(e){return this[this.locale].meridiem[Math.floor(e.getUTCHours()/12)]},R:function(e,t){return this.convert([t,\"%H:%M\"])},T:function(e,t){return this.convert([t,\"%H:%M:%S\"])},D:function(e,t){return this.convert([t,\"%m/%d/%y\"])},F:function(e,t){return this.convert([t,\"%Y-%m-%d\"])},x:function(e,t){return this.convert([t,this[this.locale].date])},r:function(e,t){return this.convert([t,this[this.locale].time12||\"%I:%M:%S\"])},X:function(e,t){return this.convert([t,this[this.locale].time24])},c:function(e,t){return this.convert([t,this[this.locale].dateTime])},convert:function(e){if(!e.length)return\"1.0.23\";var t,a,u,l,s,c=Object.create(this),f=[];for(t=0;t=o?Math.floor((n-o)/7)+1:0}function c(e){var t,n,r;return n=e.getUTCFullYear(),t=new Date(Date.UTC(n,0)).getUTCDay(),(r=s(e,1)+(t>1&&t<=4?1:0))?53!=r||4==t||3==t&&29==new Date(n,1,29).getDate()?[r,e.getUTCFullYear()]:[1,e.getUTCFullYear()+1]:(n=e.getUTCFullYear()-1,[r=4==(t=new Date(Date.UTC(n,0)).getUTCDay())||3==t&&29==new Date(n,1,29).getDate()?53:52,e.getUTCFullYear()-1])}return u=u.toLowerCase().split(\"|\"),\"delmHMSUWVgCIky\".replace(/./g,(function(e){a[e].pad=2})),a.N.pad=9,a.j.pad=3,a.k.style=\"_\",a.l.style=\"_\",a.e.style=\"_\",function(){return a.convert(arguments)}}))},\n", + " function _(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 _(e,n,i,a,s){var r;a();const t=e(10),c=e(176),m=e(178),_=e(179),k=e(181),o=e(182),T=e(174);class w extends m.CompositeTicker{constructor(e){super(e)}}i.DatetimeTicker=w,r=w,w.__name__=\"DatetimeTicker\",r.override({num_minor_ticks:0,tickers:()=>[new c.AdaptiveTicker({mantissas:[1,2,5],base:10,min_interval:0,max_interval:500*T.ONE_MILLI,num_minor_ticks:0}),new c.AdaptiveTicker({mantissas:[1,2,5,10,15,20,30],base:60,min_interval:T.ONE_SECOND,max_interval:30*T.ONE_MINUTE,num_minor_ticks:0}),new c.AdaptiveTicker({mantissas:[1,2,4,6,8,12],base:24,min_interval:T.ONE_HOUR,max_interval:12*T.ONE_HOUR,num_minor_ticks:0}),new _.DaysTicker({days:(0,t.range)(1,32)}),new _.DaysTicker({days:(0,t.range)(1,31,3)}),new _.DaysTicker({days:[1,8,15,22]}),new _.DaysTicker({days:[1,15]}),new k.MonthsTicker({months:(0,t.range)(0,12,1)}),new k.MonthsTicker({months:(0,t.range)(0,12,2)}),new k.MonthsTicker({months:(0,t.range)(0,12,4)}),new k.MonthsTicker({months:(0,t.range)(0,12,6)}),new o.YearsTicker({})]})},\n", + " function _(t,i,a,s,e){var n;s();const r=t(177),_=t(10),l=t(11);class h extends r.ContinuousTicker{constructor(t){super(t)}get_min_interval(){return this.min_interval}get_max_interval(){var t;return null!==(t=this.max_interval)&&void 0!==t?t:1/0}initialize(){super.initialize();const t=(0,_.nth)(this.mantissas,-1)/this.base,i=(0,_.nth)(this.mantissas,0)*this.base;this.extended_mantissas=[t,...this.mantissas,i],this.base_factor=0===this.get_min_interval()?1:this.get_min_interval()}get_interval(t,i,a){const s=i-t,e=this.get_ideal_interval(t,i,a),n=Math.floor((0,l.log)(e/this.base_factor,this.base)),r=this.base**n*this.base_factor,h=this.extended_mantissas,m=h.map((t=>Math.abs(a-s/(t*r)))),v=h[(0,_.argmin)(m)]*r;return(0,l.clamp)(v,this.get_min_interval(),this.get_max_interval())}}a.AdaptiveTicker=h,n=h,h.__name__=\"AdaptiveTicker\",n.define((({Number:t,Array:i,Nullable:a})=>({base:[t,10],mantissas:[i(t),[1,2,5]],min_interval:[t,0],max_interval:[a(t),null]})))},\n", + " function _(t,n,i,s,e){var o;s();const r=t(161),c=t(10);class _ extends r.Ticker{constructor(t){super(t)}get_ticks(t,n,i,s){return this.get_ticks_no_defaults(t,n,s,this.desired_num_ticks)}get_ticks_no_defaults(t,n,i,s){const e=this.get_interval(t,n,s),o=Math.floor(t/e),r=Math.ceil(n/e);let _;_=isFinite(o)&&isFinite(r)?(0,c.range)(o,r+1):[];const u=_.map((t=>t*e)).filter((i=>t<=i&&i<=n)),a=this.num_minor_ticks,f=[];if(a>0&&u.length>0){const i=e/a,s=(0,c.range)(0,a).map((t=>t*i));for(const i of s.slice(1)){const s=u[0]-i;t<=s&&s<=n&&f.push(s)}for(const i of u)for(const e of s){const s=i+e;t<=s&&s<=n&&f.push(s)}}return{major:u,minor:f}}get_ideal_interval(t,n,i){return(n-t)/i}}i.ContinuousTicker=_,o=_,_.__name__=\"ContinuousTicker\",o.define((({Int:t})=>({num_minor_ticks:[t,5],desired_num_ticks:[t,6]})))},\n", + " function _(t,e,i,r,s){var n;r();const _=t(177),a=t(10);class l extends _.ContinuousTicker{constructor(t){super(t)}get min_intervals(){return this.tickers.map((t=>t.get_min_interval()))}get max_intervals(){return this.tickers.map((t=>t.get_max_interval()))}get_min_interval(){return this.min_intervals[0]}get_max_interval(){return this.max_intervals[0]}get_best_ticker(t,e,i){const r=e-t,s=this.get_ideal_interval(t,e,i),n=[(0,a.sorted_index)(this.min_intervals,s)-1,(0,a.sorted_index)(this.max_intervals,s)],_=[this.min_intervals[n[0]],this.max_intervals[n[1]]].map((t=>Math.abs(i-r/t)));let l;if((0,a.is_empty)(_.filter((t=>!isNaN(t)))))l=this.tickers[0];else{const t=n[(0,a.argmin)(_)];l=this.tickers[t]}return l}get_interval(t,e,i){return this.get_best_ticker(t,e,i).get_interval(t,e,i)}get_ticks_no_defaults(t,e,i,r){return this.get_best_ticker(t,e,r).get_ticks_no_defaults(t,e,i,r)}}i.CompositeTicker=l,n=l,l.__name__=\"CompositeTicker\",n.define((({Array:t,Ref:e})=>({tickers:[t(e(_.ContinuousTicker)),[]]})))},\n", + " function _(t,e,n,s,a){var o;s();const i=t(180),r=t(174),c=t(10);class _ extends i.BaseSingleIntervalTicker{constructor(t){super(t)}initialize(){super.initialize();const t=this.days;t.length>1?this.interval=(t[1]-t[0])*r.ONE_DAY:this.interval=31*r.ONE_DAY}get_ticks_no_defaults(t,e,n,s){const a=function(t,e){const n=(0,r.last_month_no_later_than)(new Date(t)),s=(0,r.last_month_no_later_than)(new Date(e));s.setUTCMonth(s.getUTCMonth()+1);const a=[],o=n;for(;a.push((0,r.copy_date)(o)),o.setUTCMonth(o.getUTCMonth()+1),!(o>s););return a}(t,e),o=this.days;return{major:(0,c.concat)(a.map((t=>((t,e)=>{const n=t.getUTCMonth(),s=[];for(const a of o){const o=(0,r.copy_date)(t);o.setUTCDate(a),new Date(o.getTime()+e/2).getUTCMonth()==n&&s.push(o)}return s})(t,this.interval)))).map((t=>t.getTime())).filter((n=>t<=n&&n<=e)),minor:[]}}}n.DaysTicker=_,o=_,_.__name__=\"DaysTicker\",o.define((({Int:t,Array:e})=>({days:[e(t),[]]}))),o.override({num_minor_ticks:0})},\n", + " function _(e,n,r,t,i){var a;t();const l=e(177);class s extends l.ContinuousTicker{constructor(e){super(e)}get_interval(e,n,r){return this.interval}get_min_interval(){return this.interval}get_max_interval(){return this.interval}}r.BaseSingleIntervalTicker=s,s.__name__=\"BaseSingleIntervalTicker\";class _ extends s{constructor(e){super(e)}}r.SingleIntervalTicker=_,a=_,_.__name__=\"SingleIntervalTicker\",a.define((({Number:e})=>({interval:[e]})))},\n", + " function _(t,e,n,a,r){var s;a();const i=t(180),o=t(174),l=t(10);class _ extends i.BaseSingleIntervalTicker{constructor(t){super(t)}initialize(){super.initialize();const t=this.months;t.length>1?this.interval=(t[1]-t[0])*o.ONE_MONTH:this.interval=12*o.ONE_MONTH}get_ticks_no_defaults(t,e,n,a){const r=function(t,e){const n=(0,o.last_year_no_later_than)(new Date(t)),a=(0,o.last_year_no_later_than)(new Date(e));a.setUTCFullYear(a.getUTCFullYear()+1);const r=[],s=n;for(;r.push((0,o.copy_date)(s)),s.setUTCFullYear(s.getUTCFullYear()+1),!(s>a););return r}(t,e),s=this.months;return{major:(0,l.concat)(r.map((t=>s.map((e=>{const n=(0,o.copy_date)(t);return n.setUTCMonth(e),n}))))).map((t=>t.getTime())).filter((n=>t<=n&&n<=e)),minor:[]}}}n.MonthsTicker=_,s=_,_.__name__=\"MonthsTicker\",s.define((({Int:t,Array:e})=>({months:[e(t),[]]})))},\n", + " function _(e,t,a,r,_){r();const n=e(183),s=e(180),i=e(174);class c extends s.BaseSingleIntervalTicker{constructor(e){super(e),this.interval=i.ONE_YEAR,this.basic_ticker=new n.BasicTicker({num_minor_ticks:0})}get_ticks_no_defaults(e,t,a,r){const _=(0,i.last_year_no_later_than)(new Date(e)).getUTCFullYear(),n=(0,i.last_year_no_later_than)(new Date(t)).getUTCFullYear();return{major:this.basic_ticker.get_ticks_no_defaults(_,n,a,r).major.map((e=>Date.UTC(e,0,1))).filter((a=>e<=a&&a<=t)),minor:[]}}}a.YearsTicker=c,c.__name__=\"YearsTicker\"},\n", + " function _(c,e,s,i,n){i();const r=c(176);class t extends r.AdaptiveTicker{constructor(c){super(c)}}s.BasicTicker=t,t.__name__=\"BasicTicker\"},\n", + " function _(e,i,s,n,r){var t;n();const a=e(167),o=e(185),c=e(183);class _ extends a.ContinuousAxisView{}s.LinearAxisView=_,_.__name__=\"LinearAxisView\";class u extends a.ContinuousAxis{constructor(e){super(e)}}s.LinearAxis=u,t=u,u.__name__=\"LinearAxis\",t.prototype.default_view=_,t.override({ticker:()=>new c.BasicTicker,formatter:()=>new o.BasicTickFormatter})},\n", + " function _(i,t,e,n,o){var r;n();const s=i(162),c=i(38);function _(i){let t=\"\";for(const e of i)t+=\"-\"==e?\"\\u2212\":e;return t}e.unicode_replace=_;class a extends s.TickFormatter{constructor(i){super(i),this.last_precision=3}get scientific_limit_low(){return 10**this.power_limit_low}get scientific_limit_high(){return 10**this.power_limit_high}_need_sci(i){if(!this.use_scientific)return!1;const{scientific_limit_high:t}=this,{scientific_limit_low:e}=this,n=i.length<2?0:Math.abs(i[1]-i[0])/1e4;for(const o of i){const i=Math.abs(o);if(!(i<=n)&&(i>=t||i<=e))return!0}return!1}_format_with_precision(i,t,e){return t?i.map((i=>_(i.toExponential(e)))):i.map((i=>_((0,c.to_fixed)(i,e))))}_auto_precision(i,t){const e=new Array(i.length),n=this.last_precision<=15;i:for(let o=this.last_precision;n?o<=15:o>=1;n?o++:o--){if(t){e[0]=i[0].toExponential(o);for(let t=1;t({precision:[n(t,e),\"auto\"],use_scientific:[i,!0],power_limit_high:[t,5],power_limit_low:[t,-3]})))},\n", + " function _(e,o,i,s,t){var n;s();const r=e(167),_=e(187),c=e(188);class a extends r.ContinuousAxisView{}i.LogAxisView=a,a.__name__=\"LogAxisView\";class u extends r.ContinuousAxis{constructor(e){super(e)}}i.LogAxis=u,n=u,u.__name__=\"LogAxis\",n.prototype.default_view=a,n.override({ticker:()=>new c.LogTicker,formatter:()=>new _.LogTickFormatter})},\n", + " function _(e,t,n,o,r){var i;o();const a=e(162),s=e(185),c=e(188),l=e(151),{abs:u,log:x,round:_}=Math;class p extends a.TickFormatter{constructor(e){super(e)}initialize(){super.initialize(),this.basic_formatter=new s.BasicTickFormatter}format_graphics(e,t){var n,o;if(0==e.length)return[];const r=null!==(o=null===(n=this.ticker)||void 0===n?void 0:n.base)&&void 0!==o?o:10,i=this._exponents(e,r);return null==i?this.basic_formatter.format_graphics(e,t):i.map((e=>{if(u(e)u(e)({ticker:[n(t(c.LogTicker)),null],min_exponent:[e,0]})))},\n", + " function _(t,o,e,s,n){var r;s();const i=t(176),a=t(10);class c extends i.AdaptiveTicker{constructor(t){super(t)}get_ticks_no_defaults(t,o,e,s){const n=this.num_minor_ticks,r=[],i=this.base,c=Math.log(t)/Math.log(i),f=Math.log(o)/Math.log(i),l=f-c;let h;if(isFinite(l)&&0!=l)if(l<2){const e=this.get_interval(t,o,s),i=Math.floor(t/e),c=Math.ceil(o/e);if(h=(0,a.range)(i,c+1).filter((t=>0!=t)).map((t=>t*e)).filter((e=>t<=e&&e<=o)),n>0&&h.length>0){const t=e/n,o=(0,a.range)(0,n).map((o=>o*t));for(const t of o.slice(1))r.push(h[0]-t);for(const t of h)for(const e of o)r.push(t+e)}}else{const t=Math.ceil(.999999*c),o=Math.floor(1.000001*f),e=Math.ceil((o-t)/9);if(h=(0,a.range)(t-1,o+1,e).map((t=>i**t)),n>0&&h.length>0){const t=i**e/n,o=(0,a.range)(1,n+1).map((o=>o*t));for(const t of o)r.push(h[0]/t);r.push(h[0]);for(const t of h)for(const e of o)r.push(t*e)}}else h=[];return{major:h.filter((e=>t<=e&&e<=o)),minor:r.filter((e=>t<=e&&e<=o))}}}e.LogTicker=c,r=c,c.__name__=\"LogTicker\",r.override({mantissas:[1,5]})},\n", + " function _(e,r,t,i,a){var o;i();const s=e(159),c=e(184),n=e(190),_=e(191);class x extends s.AxisView{}t.MercatorAxisView=x,x.__name__=\"MercatorAxisView\";class d extends c.LinearAxis{constructor(e){super(e)}}t.MercatorAxis=d,o=d,d.__name__=\"MercatorAxis\",o.prototype.default_view=x,o.override({ticker:()=>new _.MercatorTicker({dimension:\"lat\"}),formatter:()=>new n.MercatorTickFormatter({dimension:\"lat\"})})},\n", + " function _(r,t,e,o,n){var i;o();const c=r(185),s=r(19),a=r(105);class l extends c.BasicTickFormatter{constructor(r){super(r)}doFormat(r,t){if(null==this.dimension)throw new Error(\"MercatorTickFormatter.dimension not configured\");if(0==r.length)return[];const e=r.length,o=new Array(e);if(\"lon\"==this.dimension)for(let n=0;n({dimension:[r(s.LatLon),null]})))},\n", + " function _(t,o,n,s,r){var e;s();const i=t(183),c=t(19),_=t(105);class a extends i.BasicTicker{constructor(t){super(t)}get_ticks_no_defaults(t,o,n,s){if(null==this.dimension)throw new Error(`${this}.dimension wasn't configured`);return[t,o]=(0,_.clip_mercator)(t,o,this.dimension),\"lon\"==this.dimension?this._get_ticks_lon(t,o,n,s):this._get_ticks_lat(t,o,n,s)}_get_ticks_lon(t,o,n,s){const[r]=_.wgs84_mercator.invert(t,n),[e,i]=_.wgs84_mercator.invert(o,n),c=super.get_ticks_no_defaults(r,e,n,s),a=[];for(const t of c.major)if((0,_.in_bounds)(t,\"lon\")){const[o]=_.wgs84_mercator.compute(t,i);a.push(o)}const m=[];for(const t of c.minor)if((0,_.in_bounds)(t,\"lon\")){const[o]=_.wgs84_mercator.compute(t,i);m.push(o)}return{major:a,minor:m}}_get_ticks_lat(t,o,n,s){const[,r]=_.wgs84_mercator.invert(n,t),[e,i]=_.wgs84_mercator.invert(n,o),c=super.get_ticks_no_defaults(r,i,n,s),a=[];for(const t of c.major)if((0,_.in_bounds)(t,\"lat\")){const[,o]=_.wgs84_mercator.compute(e,t);a.push(o)}const m=[];for(const t of c.minor)if((0,_.in_bounds)(t,\"lat\")){const[,o]=_.wgs84_mercator.compute(e,t);m.push(o)}return{major:a,minor:m}}}n.MercatorTicker=a,e=a,a.__name__=\"MercatorTicker\",e.define((({Nullable:t})=>({dimension:[t(c.LatLon),null]})))},\n", + " function _(e,i,r,c,k){c(),k(\"AdaptiveTicker\",e(176).AdaptiveTicker),k(\"BasicTicker\",e(183).BasicTicker),k(\"CategoricalTicker\",e(165).CategoricalTicker),k(\"CompositeTicker\",e(178).CompositeTicker),k(\"ContinuousTicker\",e(177).ContinuousTicker),k(\"DatetimeTicker\",e(175).DatetimeTicker),k(\"DaysTicker\",e(179).DaysTicker),k(\"FixedTicker\",e(193).FixedTicker),k(\"LogTicker\",e(188).LogTicker),k(\"MercatorTicker\",e(191).MercatorTicker),k(\"MonthsTicker\",e(181).MonthsTicker),k(\"SingleIntervalTicker\",e(180).SingleIntervalTicker),k(\"Ticker\",e(161).Ticker),k(\"YearsTicker\",e(182).YearsTicker),k(\"BinnedTicker\",e(194).BinnedTicker)},\n", + " function _(e,r,t,i,n){var s;i();const _=e(177);class c extends _.ContinuousTicker{constructor(e){super(e)}get_ticks_no_defaults(e,r,t,i){return{major:[...this.ticks],minor:[...this.minor_ticks]}}get_interval(e,r,t){return 0}get_min_interval(){return 0}get_max_interval(){return 0}}t.FixedTicker=c,s=c,c.__name__=\"FixedTicker\",s.define((({Number:e,Arrayable:r})=>({ticks:[r(e),[]],minor_ticks:[r(e),[]]})))},\n", + " function _(e,n,t,r,i){var o;r();const a=e(161),s=e(195),c=e(13);class m extends a.Ticker{constructor(e){super(e)}get_ticks(e,n,t,r){const{binning:i}=this.mapper.metrics,o=Math.max(0,(0,c.left_edge_index)(e,i)),a=Math.min((0,c.left_edge_index)(n,i)+1,i.length-1),s=[];for(let e=o;e<=a;e++)s.push(i[e]);const{num_major_ticks:m}=this,_=[],h=\"auto\"==m?s.length:m,l=Math.max(1,Math.floor(s.length/h));for(let e=0;e({mapper:[n(s.ScanningColorMapper)],num_major_ticks:[t(e,r),8]})))},\n", + " function _(n,i,e,t,a){t();const o=n(196),_=n(13);class r extends o.ContinuousColorMapper{constructor(n){super(n)}index_to_value(n){return this._scan_data.binning[n]}value_to_index(n,i){const e=this._scan_data;return ne.binning[e.binning.length-1]?i:(0,_.left_edge_index)(n,e.binning)}}e.ScanningColorMapper=r,r.__name__=\"ScanningColorMapper\"},\n", + " function _(t,e,o,n,s){var l;n();const i=t(197),c=t(199),a=t(10),h=t(8);class r extends i.ColorMapper{constructor(t){super(t),this._scan_data=null}connect_signals(){super.connect_signals();const t=()=>{for(const[t]of this.domain)this.connect(t.view.change,(()=>this.update_data())),this.connect(t.data_source.selected.change,(()=>this.update_data()))},{high:e,low:o,high_color:n,low_color:s,palette:l,nan_color:i}=this.properties;this.on_change([e,o,n,s,l,i],(()=>this.update_data())),this.connect(this.properties.domain.change,(()=>t())),t()}update_data(){const{domain:t,palette:e}=this,o=[...this._collect(t)];this._scan_data=this.scan(o,e.length),this.metrics_change.emit(),this.change.emit()}get metrics(){return null==this._scan_data&&this.update_data(),this._scan_data}*_collect(t){for(const[e,o]of t)for(const t of(0,h.isArray)(o)?o:[o]){if(e.view.properties.indices.is_unset)continue;const o=e.data_source.get_column(t);if(null==o)continue;let n=e.view.indices.select(o);const s=e.view.masked,l=e.data_source.selected.indices;let i;if(null!=s&&l.length>0?i=(0,a.intersection)([...s],l):null!=s?i=[...s]:l.length>0&&(i=l),null!=i&&(n=(0,a.map)(i,(t=>n[t]))),n.length>0&&!(0,h.isNumber)(n[0]))for(const t of n)yield*t;else yield*n}}_v_compute(t,e,o,n){const{nan_color:s}=n;let{low_color:l,high_color:i}=n;null==l&&(l=o[0]),null==i&&(i=o[o.length-1]);const{domain:c}=this,h=(0,a.is_empty)(c)?t:[...this._collect(c)];this._scan_data=this.scan(h,o.length),this.metrics_change.emit();for(let n=0,c=t.length;n=e.length?n:e[s]}}o.ContinuousColorMapper=r,l=r,r.__name__=\"ContinuousColorMapper\",l.define((({Number:t,String:e,Ref:o,Color:n,Or:s,Tuple:l,Array:i,Nullable:a})=>({high:[a(t),null],low:[a(t),null],high_color:[a(n),null],low_color:[a(n),null],domain:[i(l(o(c.GlyphRenderer),s(e,i(e)))),[]]})))},\n", + " function _(t,e,r,n,o){var i;n();const _=t(198),a=t(15),c=t(23),s=t(21),l=t(26),p=t(29);function u(t){return(0,s.encode_rgba)((0,s.color2rgba)(t))}function h(t){const e=new Uint32Array(t.length);for(let r=0,n=t.length;rt))),e}get rgba_mapper(){const t=this,e=h(this.palette),r=this._colors(u);return{v_compute(n){const o=(0,p.is_NDArray)(n)&&3==n.dimension?n.shape[2]:1,i=new c.ColorArray(n.length/o);return t._v_compute_uint32(n,i,e,r),new Uint8ClampedArray((0,l.to_big_endian)(i).buffer)}}}_colors(t){return{nan_color:t(this.nan_color)}}_v_compute_uint32(t,e,r,n){this._v_compute(t,e,r,n)}}r.ColorMapper=g,i=g,g.__name__=\"ColorMapper\",i.define((({Color:t,Array:e})=>({palette:[e(t)],nan_color:[t,\"gray\"]})))},\n", + " function _(r,e,n,s,o){s();const p=r(86);class t extends p.Transform{constructor(r){super(r)}compute(r){throw new Error(\"mapping single values is not supported\")}}n.Mapper=t,t.__name__=\"Mapper\"},\n", + " function _(e,t,i,s,l){var h;s();const n=e(200),o=e(201),c=e(211),a=e(212),d=e(214),_=e(203),r=e(99),p=e(215),g=e(23),y=e(13),u=e(9),m=e(59),v=e(25),w=e(96),f=e(208),b={fill:{},line:{}},V={fill:{fill_alpha:.3,fill_color:\"grey\"},line:{line_alpha:.3,line_color:\"grey\"}},G={fill:{fill_alpha:.2},line:{}},x={fill:{fill_alpha:.2},line:{}};class R extends n.DataRendererView{get glyph_view(){return this.glyph}*children(){yield*super.children(),yield this.cds_view,yield this.glyph,yield this.selection_glyph,yield this.nonselection_glyph,null!=this.hover_glyph&&(yield this.hover_glyph),yield this.muted_glyph,yield this.decimated_glyph}get data_source(){return this.model.properties.data_source}async lazy_initialize(){var e;await super.lazy_initialize(),this.cds_view=await(0,m.build_view)(this.model.view,{parent:this});const t=this.model.glyph;this.glyph=await this.build_glyph_view(t);const i=\"fill\"in this.glyph.visuals,s=\"line\"in this.glyph.visuals,l=Object.assign({},t.attributes);function h(e){const h=(0,u.clone)(l);return i&&(0,u.extend)(h,e.fill),s&&(0,u.extend)(h,e.line),new t.constructor(h)}function n(e,t){return t instanceof _.Glyph?t:h(\"auto\"==t?e:{fill:{},line:{}})}delete l.id;let{selection_glyph:o,nonselection_glyph:c,hover_glyph:a,muted_glyph:d}=this.model;o=n(b,o),this.selection_glyph=await this.build_glyph_view(o),c=n(G,c),this.nonselection_glyph=await this.build_glyph_view(c),null!=a&&(this.hover_glyph=await this.build_glyph_view(a)),d=n(x,d),this.muted_glyph=await this.build_glyph_view(d);const r=n(V,\"auto\");this.decimated_glyph=await this.build_glyph_view(r),this.selection_glyph.set_base(this.glyph),this.nonselection_glyph.set_base(this.glyph),null===(e=this.hover_glyph)||void 0===e||e.set_base(this.glyph),this.muted_glyph.set_base(this.glyph),this.decimated_glyph.set_base(this.glyph),this.set_data()}async build_glyph_view(e){return(0,m.build_view)(e,{parent:this})}remove(){var e;this.cds_view.remove(),this.glyph.remove(),this.selection_glyph.remove(),this.nonselection_glyph.remove(),null===(e=this.hover_glyph)||void 0===e||e.remove(),this.muted_glyph.remove(),this.decimated_glyph.remove(),super.remove()}connect_signals(){super.connect_signals();const e=()=>this.request_render(),t=()=>this.update_data();this.connect(this.model.change,e),this.connect(this.glyph.model.change,t),this.connect(this.selection_glyph.model.change,t),this.connect(this.nonselection_glyph.model.change,t),null!=this.hover_glyph&&this.connect(this.hover_glyph.model.change,t),this.connect(this.muted_glyph.model.change,t),this.connect(this.decimated_glyph.model.change,t),this.connect(this.model.data_source.change,t),this.connect(this.model.data_source.streaming,t),this.connect(this.model.data_source.patching,(e=>this.update_data(e))),this.connect(this.model.data_source.selected.change,e),this.connect(this.model.data_source._select,e),null!=this.hover_glyph&&this.connect(this.model.data_source.inspect,(()=>{const{inspected:t}=this.model.data_source,i={indices:t.indices,line_indices:t.line_indices,multiline_indices:t.multiline_indices,image_indices:t.image_indices,selected_glyphs:t.selected_glyphs};(0,v.is_equal)(this._previous_inspected,i)||(this._previous_inspected=i,e())})),this.connect(this.model.properties.view.change,(async()=>{this.cds_view.remove(),this.cds_view=await(0,m.build_view)(this.model.view,{parent:this}),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 w.FactorRange&&this.connect(e.change,t);for(const[,e]of s)e instanceof w.FactorRange&&this.connect(e.change,t);const{transformchange:l,exprchange:h}=this.model.glyph;this.connect(l,t),this.connect(h,t)}_update_masked_indices(){const e=this.glyph.mask_data();return this.model.view.masked=e,e}update_data(e){this.set_data(e),this.request_render()}set_data(e){const t=this.model.data_source;this.all_indices=this.model.view.indices;const{all_indices:i}=this;this.glyph.set_data(t,i,e),this.set_visuals(),this._update_masked_indices();const{lod_factor:s}=this.plot_model,l=this.all_indices.count;this.decimated=new g.Indices(l);for(let e=0;el.is_empty()?[]:this.glyph instanceof o.LineView&&l.selected_glyph===this.glyph.model?this.model.view.convert_indices_from_subset(i):l.indices)(),{inspected:n}=this.model.data_source;this._previous_inspected={indices:n.indices,line_indices:n.line_indices,multiline_indices:n.multiline_indices,image_indices:n.image_indices,selected_glyphs:n.selected_glyphs};const _=new Set((()=>n.is_empty()?[]:null!=n.selected_glyph?this.model.view.convert_indices_from_subset(i):n.indices.length>0?n.indices:Object.keys(n.multiline_indices).map((e=>parseInt(e))))()),r=(0,y.filter)(i,(e=>_.has(t[e]))),{lod_threshold:p}=this.plot_model;let g,u,m;if(null!=this.model.document&&this.model.document.interactive_duration()>0&&!e&&null!=p&&t.length>p?(i=[...this.decimated],g=this.decimated_glyph,u=this.decimated_glyph,m=this.selection_glyph):(g=this.model.muted?this.muted_glyph:this.glyph,u=this.nonselection_glyph,m=this.selection_glyph),null!=this.hover_glyph&&0!=r.length){const e=new Set(i);for(const t of r)e.delete(t);i=[...e]}if(0==h.length)if(this.glyph instanceof o.LineView)null!=this.hover_glyph&&0!=r.length?this.hover_glyph.render(s,this.model.view.convert_indices_from_subset(r)):g.render(s,t);else if(this.glyph instanceof c.PatchView||this.glyph instanceof a.HAreaView||this.glyph instanceof d.VAreaView)if(0==n.selected_glyphs.length||null==this.hover_glyph)g.render(s,t);else for(const e of n.selected_glyphs)e==this.glyph.model&&this.hover_glyph.render(s,t);else g.render(s,i),null!=this.hover_glyph&&0!=r.length&&this.hover_glyph.render(s,r);else{const e=new Set(h),l=new Array,n=new Array;if(this.glyph instanceof o.LineView)for(const i of t)e.has(i)?l.push(i):n.push(i);else for(const s of i)e.has(t[s])?l.push(s):n.push(s);u.render(s,n),m.render(s,l),null!=this.hover_glyph&&(this.glyph instanceof o.LineView?this.hover_glyph.render(s,this.model.view.convert_indices_from_subset(r)):this.hover_glyph.render(s,r))}s.restore()}get_reference_point(e,t){if(null!=e){const i=this.model.data_source.get_column(e);if(null!=i)for(const[e,s]of(0,u.entries)(this.model.view.indices_map))if(i[parseInt(e)]==t)return s}return 0}draw_legend(e,t,i,s,l,h,n,o){0!=this.glyph.data_size&&(null==o&&(o=this.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=R,R.__name__=\"GlyphRendererView\";class k extends n.DataRenderer{constructor(e){super(e)}get_selection_manager(){return this.data_source.selection_manager}add_decoration(e,t){const i=new f.Decoration({marking:e,node:t}),s=[this.glyph,this.selection_glyph,this.nonselection_glyph,this.hover_glyph,this.muted_glyph];for(const e of s)e instanceof _.Glyph&&(e.decorations=[...e.decorations,i]);return i}}i.GlyphRenderer=k,h=k,k.__name__=\"GlyphRenderer\",h.prototype.default_view=R,h.define((({Boolean:e,Auto:t,Or:i,Ref:s,Null:l,Nullable:h})=>({data_source:[s(r.ColumnarDataSource)],view:[s(p.CDSView),()=>new p.CDSView],glyph:[s(_.Glyph)],hover_glyph:[h(s(_.Glyph)),null],nonselection_glyph:[i(s(_.Glyph),t,l),\"auto\"],selection_glyph:[i(s(_.Glyph),t,l),\"auto\"],muted_glyph:[i(s(_.Glyph),t,l),\"auto\"],muted:[e,!1]})))},\n", + " function _(e,r,t,n,s){var a,o;n();const _=e(74),i=e(93);class c extends _.RendererView{constructor(){super(...arguments),this[a]=!0}get xscale(){return this.coordinates.x_scale}get yscale(){return this.coordinates.y_scale}bounds(){return this.glyph_view.bounds()}log_bounds(){return this.glyph_view.log_bounds()}}t.DataRendererView=c,a=i.auto_ranged,c.__name__=\"DataRendererView\";class d extends _.Renderer{constructor(e){super(e)}get selection_manager(){return this.get_selection_manager()}}t.DataRenderer=d,o=d,d.__name__=\"DataRenderer\",o.override({level:\"glyph\"})},\n", + " function _(e,i,t,n,s){var l;n();const o=e(1),_=e(202),r=e(209),h=o.__importStar(e(78)),a=o.__importStar(e(210)),c=e(101);class d extends _.XYGlyphView{async lazy_initialize(){await super.lazy_initialize();const{webgl:i}=this.renderer.plot_view.canvas_view;if(null!=i&&i.regl_wrapper.has_webgl){const{LineGL:t}=await Promise.resolve().then((()=>o.__importStar(e(521))));this.glglyph=new t(i.regl_wrapper,this)}}_render(e,i,t){const{sx:n,sy:s}=null!=t?t:this,l=this.parent.nonselection_glyph==this;let o=null;const _=e=>null!=o&&e-o!=1;let r=!0;e.beginPath();for(const t of i){const i=n[t],h=s[t];l&&!r&&null!=o&&t-o>1&&isFinite(n[o+1]+s[o+1])&&e.lineTo(n[o+1],s[o+1]),isFinite(i+h)?(r||_(t)?(l&&t>0&&isFinite(n[t-1]+s[t-1])?(e.moveTo(n[t-1],s[t-1]),e.lineTo(i,h)):e.moveTo(i,h),r=!1):e.lineTo(i,h),o=t):r=!0}if(l&&!r&&null!=o){const i=n.length;o({x:[c.XCoordinateSpec,{field:\"x\"}],y:[c.YCoordinateSpec,{field:\"y\"}]})))},\n", + " function _(e,t,i,s,n){var a;s();const r=e(1),o=r.__importStar(e(17)),_=r.__importStar(e(57)),l=r.__importStar(e(75)),c=e(54),d=e(50),h=e(59),u=e(18),f=e(23),p=e(8),g=e(204),y=e(13),v=e(25),x=e(205),m=e(96),w=e(101),b=e(208),{abs:S,ceil:z}=Math;class $ extends c.View{constructor(){super(...arguments),this._index=null,this._data_size=null,this._nohit_warned=new Set,this.decorations=new Map}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 l.Visuals(this)}*children(){yield*super.children(),yield*this.decorations.values()}async lazy_initialize(){await super.lazy_initialize(),await(0,h.build_views)(this.decorations,this.model.decorations,{parent:this.parent})}request_render(){this.parent.request_render()}get canvas(){return this.renderer.parent.canvas_view}render(e,t,i){var s;null!=this.glglyph&&(this.renderer.needs_webgl_blit=this.glglyph.render(e,t,null!==(s=this.base)&&void 0!==s?s:this),this.renderer.needs_webgl_blit)||this._render(e,t,null!=i?i: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(_.positive_x()),{y0:i,y1:s}=this.index.bounds(_.positive_y());return this._bounds({x0:e,y0:i,x1:t,y1:s})}get_anchor_point(e,t,[i,s]){switch(e){case\"center\":case\"center_center\":{const[e,n]=this.scenterxy(t,i,s);return{x:e,y:n}}default:return null}}sdist(e,t,i,s=\"edge\",n=!1){const a=t.length,r=new f.ScreenArray(a),o=e.s_compute;if(\"center\"==s)for(let e=0;ez(e))),r}draw_legend_for_index(e,t,i){}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)||(u.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:i,sy0:s,sy1:n}=e,[a,r]=this.renderer.coordinates.x_scale.r_invert(t,i),[o,_]=this.renderer.coordinates.y_scale.r_invert(s,n),l=[...this.index.indices({x0:a,x1:r,y0:o,y1:_})];return new w.Selection({indices:l})}_project_data(){}*_iter_visuals(){for(const e of this.visuals)for(const t of e)(t instanceof o.VectorSpec||t instanceof o.ScalarSpec)&&(yield t)}set_base(e){e!=this&&e instanceof this.constructor&&(this.base=e)}_configure(e,t){Object.defineProperty(this,(0,p.isString)(e)?e:e.attr,Object.assign({configurable:!0,enumerable:!0},t))}set_visuals(e,t){var i;for(const i of this._iter_visuals()){const{base:s}=this;if(null!=s){const e=s.model.properties[i.attr];if(null!=e&&(0,v.is_equal)(i.get_value(),e.get_value())){this._configure(i,{get:()=>s[`${i.attr}`]});continue}}const n=i.uniform(e).select(t);this._configure(i,{value:n})}for(const e of this.visuals)e.update();null===(i=this.glglyph)||void 0===i||i.set_visuals_changed()}set_data(e,t,i){var s;const{x_source:n,y_source:a}=this.renderer.coordinates,r=new Set(this._iter_visuals());this._data_size=t.count;for(const i of this.model)if((i instanceof o.VectorSpec||i instanceof o.ScalarSpec)&&!r.has(i))if(i instanceof o.BaseCoordinateSpec){const s=i.array(e);let r=t.select(s);const _=\"x\"==i.dimension?n:a;if(_ instanceof m.FactorRange)if(i instanceof o.CoordinateSpec)r=_.v_synthetic(r);else if(i instanceof o.CoordinateSeqSpec)for(let e=0;e({decorations:[e(t(b.Decoration)),[]]})))},\n", + " function _(t,s,r,e,a){var n;e();const o=t(25),h=t(12);class i{constructor(t,s){this.offsets=t,this.array=s}[(n=Symbol.toStringTag,o.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 i(this.offsets.slice(),this.array.slice())}static from(t,s){const r=t.length;let e=0;const a=(()=>{const s=new Uint32Array(r);for(let a=0;a>1;t[s]>i?e=s:n=s+1}return t[n]}class r extends d.default{get boxes(){return this._boxes}search_indices(i,t,n,e){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");let s=this._boxes.length-4;const d=[],x=new o.Indices(this.numItems);for(;void 0!==s;){const o=Math.min(s+4*this.nodeSize,h(s,this._levelBounds));for(let h=s;h>2],r=this._boxes[h+0],l=this._boxes[h+1],a=this._boxes[h+2],_=this._boxes[h+3];na||t>_||(s<4*this.numItems?x.set(o):d.push(o)))}s=d.pop()}return x}}r.__name__=\"_FlatBush\";class l{constructor(i){this.index=null,i>0&&(this.index=new r(i))}add_rect(i,t,n,e){var s;isFinite(i+t+n+e)?null===(s=this.index)||void 0===s||s.add(i,t,n,e):this.add_empty()}add_point(i,t){var n;isFinite(i+t)?null===(n=this.index)||void 0===n||n.add(i,t,i,t):this.add_empty()}add_empty(){var i;null===(i=this.index)||void 0===i||i.add(1/0,1/0,-1/0,-1/0)}finish(){var i;null===(i=this.index)||void 0===i||i.finish()}_normalize(i){let{x0:t,y0:n,x1:e,y1:s}=i;return t>e&&([t,e]=[e,t]),n>s&&([n,s]=[s,n]),{x0:t,y0:n,x1:e,y1:s}}get bbox(){if(null==this.index)return(0,x.empty)();{const{minX:i,minY:t,maxX:n,maxY:e}=this.index;return{x0:i,y0:t,x1:n,y1:e}}}indices(i){if(null==this.index)return new o.Indices(0);{const{x0:t,y0:n,x1:e,y1:s}=this._normalize(i);return this.index.search_indices(t,n,e,s)}}bounds(i){const t=(0,x.empty)();if(null==this.index)return t;const{boxes:n}=this.index;for(const e of this.indices(i)){const s=n[4*e+0],d=n[4*e+1],o=n[4*e+2],x=n[4*e+3];s>=i.x0&&st.x1&&(t.x1=o),d>=i.y0&&dt.y1&&(t.y1=x)}return t}}n.SpatialIndex=l,l.__name__=\"SpatialIndex\"},\n", + " function _(t,s,i,e,h){e();const n=t(1).__importDefault(t(207)),o=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class r{static from(t){if(!(t instanceof ArrayBuffer))throw new Error(\"Data must be an instance of ArrayBuffer.\");const[s,i]=new Uint8Array(t,0,2);if(251!==s)throw new Error(\"Data does not appear to be in a Flatbush format.\");if(i>>4!=3)throw new Error(`Got v${i>>4} data when expected v3.`);const[e]=new Uint16Array(t,2,1),[h]=new Uint32Array(t,4,1);return new r(h,e,o[15&i],t)}constructor(t,s=16,i=Float64Array,e){if(void 0===t)throw new Error(\"Missing required argument: numItems.\");if(isNaN(t)||t<=0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+s,2),65535);let h=t,r=h;this._levelBounds=[4*h];do{h=Math.ceil(h/this.nodeSize),r+=h,this._levelBounds.push(4*r)}while(1!==h);this.ArrayType=i||Float64Array,this.IndexArrayType=r<16384?Uint16Array:Uint32Array;const a=o.indexOf(this.ArrayType),_=4*r*this.ArrayType.BYTES_PER_ELEMENT;if(a<0)throw new Error(`Unexpected typed array class: ${i}.`);e&&e instanceof ArrayBuffer?(this.data=e,this._boxes=new this.ArrayType(this.data,8,4*r),this._indices=new this.IndexArrayType(this.data,8+_,r),this._pos=4*r,this.minX=this._boxes[this._pos-4],this.minY=this._boxes[this._pos-3],this.maxX=this._boxes[this._pos-2],this.maxY=this._boxes[this._pos-1]):(this.data=new ArrayBuffer(8+_+r*this.IndexArrayType.BYTES_PER_ELEMENT),this._boxes=new this.ArrayType(this.data,8,4*r),this._indices=new this.IndexArrayType(this.data,8+_,r),this._pos=0,this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,new Uint8Array(this.data,0,2).set([251,48+a]),new Uint16Array(this.data,2,1)[0]=s,new Uint32Array(this.data,4,1)[0]=t),this._queue=new n.default}add(t,s,i,e){const h=this._pos>>2;return this._indices[h]=h,this._boxes[this._pos++]=t,this._boxes[this._pos++]=s,this._boxes[this._pos++]=i,this._boxes[this._pos++]=e,tthis.maxX&&(this.maxX=i),e>this.maxY&&(this.maxY=e),h}finish(){if(this._pos>>2!==this.numItems)throw new Error(`Added ${this._pos>>2} items when expected ${this.numItems}.`);if(this.numItems<=this.nodeSize)return this._boxes[this._pos++]=this.minX,this._boxes[this._pos++]=this.minY,this._boxes[this._pos++]=this.maxX,void(this._boxes[this._pos++]=this.maxY);const t=this.maxX-this.minX||1,s=this.maxY-this.minY||1,i=new Uint32Array(this.numItems);for(let e=0;e>2]=t,this._boxes[this._pos++]=e,this._boxes[this._pos++]=h,this._boxes[this._pos++]=n,this._boxes[this._pos++]=o}}}search(t,s,i,e,h){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");let n=this._boxes.length-4;const o=[],r=[];for(;void 0!==n;){const a=Math.min(n+4*this.nodeSize,_(n,this._levelBounds));for(let _=n;_this._boxes[_+2])continue;if(s>this._boxes[_+3])continue;const a=0|this._indices[_>>2];n<4*this.numItems?(void 0===h||h(a))&&r.push(a):o.push(a)}n=o.pop()}return r}neighbors(t,s,i=1/0,e=1/0,h){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");let n=this._boxes.length-4;const o=this._queue,r=[],x=e*e;for(;void 0!==n;){const e=Math.min(n+4*this.nodeSize,_(n,this._levelBounds));for(let i=n;i>2],r=a(t,this._boxes[i],this._boxes[i+2]),_=a(s,this._boxes[i+1],this._boxes[i+3]),x=r*r+_*_;n<4*this.numItems?(void 0===h||h(e))&&o.push(1+(e<<1),x):o.push(e<<1,x)}for(;o.length&&1&o.peek();){if(o.peekValue()>x)return o.clear(),r;if(r.push(o.pop()>>1),r.length===i)return o.clear(),r}n=o.pop()>>1}return o.clear(),r}}function a(t,s,i){return t>1;s[h]>t?e=h:i=h+1}return s[i]}function x(t,s,i,e,h,n){if(Math.floor(e/n)>=Math.floor(h/n))return;const o=t[e+h>>1];let r=e-1,a=h+1;for(;;){do{r++}while(t[r]o);if(r>=a)break;d(t,s,i,r,a)}x(t,s,i,e,a,n),x(t,s,i,a+1,h,n)}function d(t,s,i,e,h){const n=t[e];t[e]=t[h],t[h]=n;const o=4*e,r=4*h,a=s[o],_=s[o+1],x=s[o+2],d=s[o+3];s[o]=s[r],s[o+1]=s[r+1],s[o+2]=s[r+2],s[o+3]=s[r+3],s[r]=a,s[r+1]=_,s[r+2]=x,s[r+3]=d;const m=i[e];i[e]=i[h],i[h]=m}function m(t,s){let i=t^s,e=65535^i,h=65535^(t|s),n=t&(65535^s),o=i|e>>1,r=i>>1^i,a=h>>1^e&n>>1^h,_=i&h>>1^n>>1^n;i=o,e=r,h=a,n=_,o=i&i>>2^e&e>>2,r=i&e>>2^e&(i^e)>>2,a^=i&h>>2^e&n>>2,_^=e&h>>2^(i^e)&n>>2,i=o,e=r,h=a,n=_,o=i&i>>4^e&e>>4,r=i&e>>4^e&(i^e)>>4,a^=i&h>>4^e&n>>4,_^=e&h>>4^(i^e)&n>>4,i=o,e=r,h=a,n=_,a^=i&h>>8^e&n>>8,_^=e&h>>8^(i^e)&n>>8,i=a^a>>1,e=_^_>>1;let x=t^s,d=e|65535^(x|i);return x=16711935&(x|x<<8),x=252645135&(x|x<<4),x=858993459&(x|x<<2),x=1431655765&(x|x<<1),d=16711935&(d|d<<8),d=252645135&(d|d<<4),d=858993459&(d|d<<2),d=1431655765&(d|d<<1),(d<<1|x)>>>0}i.default=r},\n", + " function _(s,t,i,h,e){h();i.default=class{constructor(){this.ids=[],this.values=[],this.length=0}clear(){this.length=0}push(s,t){let i=this.length++;for(;i>0;){const s=i-1>>1,h=this.values[s];if(t>=h)break;this.ids[i]=this.ids[s],this.values[i]=h,i=s}this.ids[i]=s,this.values[i]=t}pop(){if(0===this.length)return;const s=this.ids[0];if(this.length--,this.length>0){const s=this.ids[0]=this.ids[this.length],t=this.values[0]=this.values[this.length],i=this.length>>1;let h=0;for(;h=t)break;this.ids[h]=e,this.values[h]=l,h=s}this.ids[h]=s,this.values[h]=t}return s}peek(){if(0!==this.length)return this.ids[0]}peekValue(){if(0!==this.length)return this.values[0]}shrink(){this.ids.length=this.values.length=this.length}}},\n", + " function _(e,i,n,a,t){var r;a();const o=e(140),s=e(50),d=e(54),l=e(59);class c extends d.View{*children(){yield*super.children(),yield this.marking}async lazy_initialize(){await super.lazy_initialize(),this.marking=await(0,l.build_view)(this.model.marking,{parent:this.parent})}}n.DecorationView=c,c.__name__=\"DecorationView\";class _ extends s.Model{constructor(e){super(e)}}n.Decoration=_,r=_,_.__name__=\"Decoration\",r.prototype.default_view=c,r.define((({Enum:e,Ref:i})=>({marking:[i(o.Marking)],node:[e(\"start\",\"middle\",\"end\")]})))},\n", + " function _(e,n,a,t,i){t();const l=e(1).__importStar(e(210));function r(e,n,{x0:a,x1:t,y0:i,y1:l},r){n.save(),n.beginPath(),n.moveTo(a,(i+l)/2),n.lineTo(t,(i+l)/2),e.line.apply(n,r),n.restore()}function c(e,n,{x0:a,x1:t,y0:i,y1:l},r){var c,o;const _=.1*Math.abs(t-a),s=.1*Math.abs(l-i),y=a+_,p=t-_,g=i+s,h=l-s;n.beginPath(),n.rect(y,g,p-y,h-g),e.fill.apply(n,r),null===(c=e.hatch)||void 0===c||c.apply(n,r),null===(o=e.line)||void 0===o||o.apply(n,r)}a.generic_line_scalar_legend=function(e,n,{x0:a,x1:t,y0:i,y1:l}){n.save(),n.beginPath(),n.moveTo(a,(i+l)/2),n.lineTo(t,(i+l)/2),e.line.apply(n),n.restore()},a.generic_line_vector_legend=r,a.generic_line_legend=r,a.generic_area_scalar_legend=function(e,n,{x0:a,x1:t,y0:i,y1:l}){var r,c;const o=.1*Math.abs(t-a),_=.1*Math.abs(l-i),s=a+o,y=t-o,p=i+_,g=l-_;n.beginPath(),n.rect(s,p,y-s,g-p),e.fill.apply(n),null===(r=e.hatch)||void 0===r||r.apply(n),null===(c=e.line)||void 0===c||c.apply(n)},a.generic_area_vector_legend=c,a.generic_area_legend=c,a.line_interpolation=function(e,n,a,t,i,r){const{sx:c,sy:o}=n;let _,s,y,p;\"point\"==n.type?([y,p]=e.yscale.r_invert(o-1,o+1),[_,s]=e.xscale.r_invert(c-1,c+1)):\"v\"==n.direction?([y,p]=e.yscale.r_invert(o,o),[_,s]=[Math.min(a-1,i-1),Math.max(a+1,i+1)]):([_,s]=e.xscale.r_invert(c,c),[y,p]=[Math.min(t-1,r-1),Math.max(t+1,r+1)]);const{x:g,y:h}=l.check_2_segments_intersect(_,y,s,p,a,t,i,r);return[g,h]}},\n", + " function _(t,n,e,i,r){function s(t,n){return(t.x-n.x)**2+(t.y-n.y)**2}function o(t,n,e){const i=s(n,e);if(0==i)return s(t,n);const r=((t.x-n.x)*(e.x-n.x)+(t.y-n.y)*(e.y-n.y))/i;if(r<0)return s(t,n);if(r>1)return s(t,e);return s(t,{x:n.x+r*(e.x-n.x),y:n.y+r*(e.y-n.y)})}i(),e.point_in_poly=function(t,n,e,i){let r=!1,s=e[e.length-1],o=i[i.length-1];for(let u=0;u0&&_<1&&h>0&&h<1,x:t+_*(e-t),y:n+_*(i-n)}}}},\n", + " function _(t,s,e,i,a){var l;i();const n=t(1),_=t(202),o=t(209),c=n.__importStar(t(210)),h=n.__importStar(t(78)),r=t(101);class p extends _.XYGlyphView{_render(t,s,e){const{sx:i,sy:a}=null!=e?e:this;let l=!0;t.beginPath();for(const e of s){const s=i[e],n=a[e];isFinite(s+n)?l?(t.moveTo(s,n),l=!1):t.lineTo(s,n):(t.closePath(),l=!0)}t.closePath(),this.visuals.fill.apply(t),this.visuals.hatch.apply(t),this.visuals.line.apply(t)}draw_legend_for_index(t,s,e){(0,o.generic_area_scalar_legend)(this.visuals,t,s)}_hit_point(t){const s=new r.Selection;return c.point_in_poly(t.sx,t.sy,this.sx,this.sy)&&(s.add_to_selected_glyphs(this.model),s.view=this),s}}e.PatchView=p,p.__name__=\"PatchView\";class d extends _.XYGlyph{constructor(t){super(t)}}e.Patch=d,l=d,d.__name__=\"Patch\",l.prototype.default_view=p,l.mixins([h.LineScalar,h.FillScalar,h.HatchScalar])},\n", + " function _(t,s,e,i,h){var n;i();const r=t(1),a=t(213),_=r.__importStar(t(210)),o=r.__importStar(t(17)),l=t(101);class c extends a.AreaView{_index_data(t){const{min:s,max:e}=Math,{data_size:i}=this;for(let h=0;h=0;s--)t.lineTo(h[s],n[s]);t.closePath(),this.visuals.fill.apply(t),this.visuals.hatch.apply(t)}_hit_point(t){const s=this.sy.length,e=new l.Selection;for(let i=0,h=s-1;i({x1:[o.XCoordinateSpec,{field:\"x1\"}],x2:[o.XCoordinateSpec,{field:\"x2\"}],y:[o.YCoordinateSpec,{field:\"y\"}]})))},\n", + " function _(e,a,r,_,s){var n;_();const i=e(1),l=e(203),c=e(209),t=i.__importStar(e(78));class d extends l.GlyphView{draw_legend_for_index(e,a,r){(0,c.generic_area_scalar_legend)(this.visuals,e,a)}}r.AreaView=d,d.__name__=\"AreaView\";class o extends l.Glyph{constructor(e){super(e)}}r.Area=o,n=o,o.__name__=\"Area\",n.mixins([t.FillScalar,t.HatchScalar])},\n", + " function _(t,s,e,i,h){var n;i();const r=t(1),a=t(213),_=r.__importStar(t(210)),o=r.__importStar(t(17)),l=t(101);class c extends a.AreaView{_index_data(t){const{min:s,max:e}=Math,{data_size:i}=this;for(let h=0;h=0;s--)t.lineTo(i[s],n[s]);t.closePath(),this.visuals.fill.apply(t),this.visuals.hatch.apply(t)}scenterxy(t){return[this.sx[t],(this.sy1[t]+this.sy2[t])/2]}_hit_point(t){const s=this.sx.length,e=new l.Selection;for(let i=0,h=s-1;i({x:[o.XCoordinateSpec,{field:\"x\"}],y1:[o.YCoordinateSpec,{field:\"y1\"}],y2:[o.YCoordinateSpec,{field:\"y2\"}]})))},\n", + " function _(e,i,t,s,n){var c;s();const o=e(50),_=e(54),r=e(23),l=e(216),a=e(217),d=e(218);class h extends _.View{initialize(){super.initialize(),this.compute_indices()}connect_signals(){super.connect_signals();const{filter:e}=this.model.properties;this.on_change(e,(()=>this.compute_indices()));const i=()=>{const e=()=>this.compute_indices(),i=this.parent.data_source.get_value();this.connect(i.change,e),this.connect(i.streaming,e),this.connect(i.patching,e),this.connect(i.properties.data.change,e)};i();const{data_source:t}=this.parent;this.on_change(t,(()=>{i()}))}compute_indices(){var e;const i=this.parent.data_source.get_value(),t=null!==(e=i.get_length())&&void 0!==e?e:1,s=r.Indices.all_set(t),n=this.model.filter.compute_indices(i);s.intersect(n),this.model.indices=s,this.model._indices_map_to_subset()}}t.CDSViewView=h,h.__name__=\"CDSViewView\";class p extends o.Model{constructor(e){super(e)}_indices_map_to_subset(){this._indices=[...this.indices],this.indices_map={};for(let e=0;ethis._indices[e]))}convert_selection_to_subset(e){return e.map((e=>this.indices_map[e]))}convert_indices_from_subset(e){return e.map((e=>this._indices[e]))}get filters(){const{filter:e}=this;return e instanceof d.IntersectionFilter?e.operands:e instanceof a.AllIndices?[]:[e]}set filters(e){0==e.length?this.filter=new a.AllIndices:1==e.length?this.filter=e[0]:this.filter=new d.IntersectionFilter({operands:e})}}t.CDSView=p,c=p,p.__name__=\"CDSView\",c.prototype.default_view=h,c.define((({Ref:e})=>({filter:[e(l.Filter),()=>new a.AllIndices]}))),c.internal((({Int:e,Dict:i,Ref:t,Nullable:s})=>({indices:[t(r.Indices)],indices_map:[i(e),{}],masked:[s(t(r.Indices)),null]})))},\n", + " function _(e,t,n,s,c){s();const o=e(50);class r extends o.Model{constructor(e){super(e)}}n.Filter=r,r.__name__=\"Filter\"},\n", + " function _(e,n,s,t,c){t();const l=e(216),i=e(23);class _ extends l.Filter{constructor(e){super(e)}compute_indices(e){var n;const s=null!==(n=e.get_length())&&void 0!==n?n:1;return i.Indices.all_set(s)}}s.AllIndices=_,_.__name__=\"AllIndices\"},\n", + " function _(e,t,n,r,s){var c;r();const i=e(216),o=e(23);class l extends i.Filter{constructor(e){super(e)}compute_indices(e){var t;const{operands:n}=this;if(0==n.length){const n=null!==(t=e.get_length())&&void 0!==t?t:1;return o.Indices.all_set(n)}{const[t,...r]=n.map((t=>t.compute_indices(e)));for(const e of r)t.intersect(e);return t}}}n.IntersectionFilter=l,c=l,l.__name__=\"IntersectionFilter\",c.define((({Array:e,Ref:t})=>({operands:[e(t(i.Filter))]})))},\n", + " function _(t,r,a,e,i){e(),i(\"BasicTickFormatter\",t(185).BasicTickFormatter),i(\"CategoricalTickFormatter\",t(166).CategoricalTickFormatter),i(\"DatetimeTickFormatter\",t(169).DatetimeTickFormatter),i(\"CustomJSTickFormatter\",t(220).CustomJSTickFormatter),i(\"LogTickFormatter\",t(187).LogTickFormatter),i(\"MercatorTickFormatter\",t(190).MercatorTickFormatter),i(\"NumeralTickFormatter\",t(221).NumeralTickFormatter),i(\"PrintfTickFormatter\",t(222).PrintfTickFormatter),i(\"TickFormatter\",t(162).TickFormatter)},\n", + " function _(t,e,s,n,r){var c;n();const i=t(162),a=t(9),o=t(38);class u extends i.TickFormatter{constructor(t){super(t)}get names(){return(0,a.keys)(this.args)}get values(){return(0,a.values)(this.args)}_make_func(){const t=(0,o.use_strict)(this.code);return new Function(\"tick\",\"index\",\"ticks\",...this.names,t)}doFormat(t,e){const s=this._make_func().bind({});return t.map(((t,e,n)=>`${s(t,e,n,...this.values)}`))}}s.CustomJSTickFormatter=u,c=u,u.__name__=\"CustomJSTickFormatter\",c.define((({Unknown:t,String:e,Dict:s})=>({args:[s(t),{}],code:[e,\"\"]})))},\n", + " function _(r,n,t,o,e){var a;o();const u=r(1).__importStar(r(171)),c=r(162),i=r(19);class s extends c.TickFormatter{constructor(r){super(r)}get _rounding_fn(){switch(this.rounding){case\"round\":case\"nearest\":return Math.round;case\"floor\":case\"rounddown\":return Math.floor;case\"ceil\":case\"roundup\":return Math.ceil}}doFormat(r,n){const{format:t,language:o,_rounding_fn:e}=this;return r.map((r=>u.format(r,t,o,e)))}}t.NumeralTickFormatter=s,a=s,s.__name__=\"NumeralTickFormatter\",a.define((({String:r})=>({format:[r,\"0,0\"],language:[r,\"en\"],rounding:[i.RoundingFunction,\"round\"]})))},\n", + " function _(t,r,n,o,a){var e;o();const i=t(162),s=t(170);class c extends i.TickFormatter{constructor(t){super(t)}doFormat(t,r){return t.map((t=>(0,s.sprintf)(this.format,t)))}}n.PrintfTickFormatter=c,e=c,c.__name__=\"PrintfTickFormatter\",e.define((({String:t})=>({format:[t,\"%s\"]})))},\n", + " function _(a,e,l,c,n){c(),n(\"CategoricalScale\",a(92).CategoricalScale),n(\"ContinuousScale\",a(90).ContinuousScale),n(\"LinearScale\",a(89).LinearScale),n(\"LinearInterpolationScale\",a(224).LinearInterpolationScale),n(\"LogScale\",a(91).LogScale),n(\"Scale\",a(85).Scale)},\n", + " function _(e,r,n,t,a){var i;t();const s=e(85),o=e(89),c=e(13);class _ extends s.Scale{constructor(e){super(e)}initialize(){super.initialize();const{source_range:e,target_range:r}=this.properties;e.is_unset||r.is_unset||(this.linear_scale=new o.LinearScale({source_range:e.get_value(),target_range:r.get_value()}))}connect_signals(){super.connect_signals();const{source_range:e,target_range:r}=this.properties;this.on_change([e,r],(()=>{this.linear_scale=new o.LinearScale({source_range:this.source_range,target_range:this.target_range})}))}get s_compute(){throw new Error(\"not implemented\")}get s_invert(){throw new Error(\"not implemented\")}compute(e){return e}v_compute(e){const{binning:r}=this,{start:n,end:t}=this.source_range,a=n,i=t,s=r.length,o=(t-n)/(s-1),_=new Float64Array(s);for(let e=0;e{if(ei)return i;const n=(0,c.left_edge_index)(e,r);if(-1==n)return a;if(n>=s-1)return i;const t=r[n],o=(e-t)/(r[n+1]-t),l=_[n];return l+o*(_[n+1]-l)}));return this.linear_scale.v_compute(l)}invert(e){return e}v_invert(e){return new Float64Array(e)}}n.LinearInterpolationScale=_,i=_,_.__name__=\"LinearInterpolationScale\",i.internal((({Number:e,Arrayable:r,Ref:n})=>({binning:[r(e)],linear_scale:[n(o.LinearScale)]})))},\n", + " function _(a,n,e,g,R){g(),R(\"DataRange\",a(94).DataRange),R(\"DataRange1d\",a(93).DataRange1d),R(\"FactorRange\",a(96).FactorRange),R(\"Range\",a(87).Range),R(\"Range1d\",a(88).Range1d)},\n", + " function _(a,o,t,i,e){i();var l=a(145);e(\"Sizeable\",l.Sizeable),e(\"SizingPolicy\",l.SizingPolicy);var n=a(146);e(\"Layoutable\",n.Layoutable),e(\"ContentLayoutable\",n.ContentLayoutable);var S=a(227);e(\"HStack\",S.HStack),e(\"VStack\",S.VStack);var c=a(228);e(\"Grid\",c.Grid),e(\"Row\",c.Row),e(\"Column\",c.Column)},\n", + " function _(t,e,h,i,r){i();const n=t(146),s=t(57),{max:o,round:c}=Math;class l extends n.Layoutable{constructor(){super(...arguments),this.children=[]}*[Symbol.iterator](){yield*this.children}}h.Stack=l,l.__name__=\"Stack\";class a extends l{_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=o(h,i.height)}return{width:e,height:h}}_set_geometry(t,e){if(super._set_geometry(t,e),t.is_empty)for(const t of this.children)t.set_geometry(new s.BBox);else{const e=this.absolute?t.top:0;let h=this.absolute?t.left:0;const{height:i}=t;for(const t of this.children){const{width:r}=t.measure({width:0,height:0});t.set_geometry(new s.BBox({left:h,width:r,top:e,height:i})),h+=r}}}}h.HStack=a,a.__name__=\"HStack\";class d extends l{_measure(t){let e=0,h=0;for(const t of this.children){const i=t.measure({width:0,height:0});e=o(e,i.width),h+=i.height}return{width:e,height:h}}_set_geometry(t,e){if(super._set_geometry(t,e),t.is_empty)for(const t of this.children)t.set_geometry(new s.BBox);else{const e=this.absolute?t.left:0;let h=this.absolute?t.top:0;const{width:i}=t;for(const t of this.children){const{height:r}=t.measure({width:0,height:0});t.set_geometry(new s.BBox({top:h,height:r,left:e,width:i})),h+=r}}}}h.VStack=d,d.__name__=\"VStack\";class g 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,s=0;for(const e of this.children){const{width:h,height:i}=e.measure(t);n=r(n,h),s=r(s,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:s;switch(h){case\"fixed\":return null!=e?e:s;case\"min\":return s;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){if(super._set_geometry(t,e),t.is_empty)for(const t of this.children)t.set_geometry(new s.BBox);else{const e=this.absolute?t:t.relative(),{left:h,right:i,top:r,bottom:n}=e,o=c(e.vcenter),l=c(e.hcenter);for(const e of this.children){const{margin:c,halign:a=\"start\",valign:d=\"start\"}=e.sizing,{width:g,height:u,inner:_}=e.measure(t),w=(()=>{switch(`${d}_${a}`){case\"start_start\":return new s.BBox({left:h+c.left,top:r+c.top,width:g,height:u});case\"start_center\":return new s.BBox({hcenter:l,top:r+c.top,width:g,height:u});case\"start_end\":return new s.BBox({right:i-c.right,top:r+c.top,width:g,height:u});case\"center_start\":return new s.BBox({left:h+c.left,vcenter:o,width:g,height:u});case\"center_center\":return new s.BBox({hcenter:l,vcenter:o,width:g,height:u});case\"center_end\":return new s.BBox({right:i-c.right,vcenter:o,width:g,height:u});case\"end_start\":return new s.BBox({left:h+c.left,bottom:n-c.bottom,width:g,height:u});case\"end_center\":return new s.BBox({hcenter:l,bottom:n-c.bottom,width:g,height:u});case\"end_end\":return new s.BBox({right:i-c.right,bottom:n-c.bottom,width:g,height:u})}})(),m=null==_?w:new s.BBox({left:w.left+_.left,top:w.top+_.top,right:w.right-_.right,bottom:w.bottom-_.bottom});e.set_geometry(w,m)}}}}h.NodeLayout=g,g.__name__=\"NodeLayout\"},\n", + " function _(t,i,s,e,o){e();const n=t(145),r=t(146),l=t(8),h=t(57),c=t(10),{max:a,round:g}=Math;class p{constructor(t){this._map=new Map,this.def=t}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))}}s.DefaultMap=p,p.__name__=\"DefaultMap\";class _{constructor(){this._items=[],this._nrows=0,this._ncols=0}get size(){return this._items.length}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))}*[Symbol.iterator](){yield*this._items}foreach(t){for(const{span:i,data:s}of this._items)t(i,s)}map(t){const i=new _;for(const{span:s,data:e}of this._items)i.add(s,t(s,e));return i}}s.Container=_,_.__name__=\"Container\";class f extends r.Layoutable{*[Symbol.iterator](){for(const{layout:t}of this.items)yield t}constructor(t=[]){super(),this.rows=\"auto\",this.cols=\"auto\",this.spacing=0,this.items=t}is_width_expanding(){if(super.is_width_expanding())return!0;if(\"fixed\"==this.sizing.width_policy)return!1;const{cols:t}=this._state;return(0,c.some)(t,(t=>\"max\"==t.policy))}is_height_expanding(){if(super.is_height_expanding())return!0;if(\"fixed\"==this.sizing.height_policy)return!1;const{rows:t}=this._state;return(0,c.some)(t,(t=>\"max\"==t.policy))}_init(){var t,i,s,e;super._init();const o=new _;for(const{layout:t,row:i,col:s,row_span:e=1,col_span:n=1}of this.items)if(t.sizing.visible){const r=i,l=s,h=i+e-1,c=s+n-1;o.add({r0:r,c0:l,r1:h,c1:c},t)}const{nrows:n,ncols:r}=o,h=new Array(n);for(let s=0;s{var t;const i=(0,l.isPlainObject)(this.rows)?null!==(t=this.rows[s])&&void 0!==t?t:this.rows[\"*\"]:this.rows;return null==i?{policy:\"auto\"}:(0,l.isNumber)(i)?{policy:\"fixed\",height:i}:(0,l.isString)(i)?{policy:i}:i})(),n=null!==(t=e.align)&&void 0!==t?t:\"auto\";\"fixed\"==e.policy?h[s]={policy:\"fixed\",height:e.height,align:n}:\"min\"==e.policy?h[s]={policy:\"min\",align:n}:\"fit\"==e.policy||\"max\"==e.policy?h[s]={policy:e.policy,flex:null!==(i=e.flex)&&void 0!==i?i:1,align:n}:(0,c.some)(o.row(s),(t=>t.is_height_expanding()))?h[s]={policy:\"max\",flex:1,align:n}:h[s]={policy:\"min\",align:n}}const a=new Array(r);for(let t=0;t{var i;const s=(0,l.isPlainObject)(this.cols)?null!==(i=this.cols[t])&&void 0!==i?i:this.cols[\"*\"]:this.cols;return null==s?{policy:\"auto\"}:(0,l.isNumber)(s)?{policy:\"fixed\",width:s}:(0,l.isString)(s)?{policy:s}:s})(),n=null!==(s=i.align)&&void 0!==s?s:\"auto\";\"fixed\"==i.policy?a[t]={policy:\"fixed\",width:i.width,align:n}:\"min\"==i.policy?a[t]={policy:\"min\",align:n}:\"fit\"==i.policy||\"max\"==i.policy?a[t]={policy:i.policy,flex:null!==(e=i.flex)&&void 0!==e?e:1,align:n}:(0,c.some)(o.col(t),(t=>t.is_width_expanding()))?a[t]={policy:\"max\",flex:1,align:n}:a[t]={policy:\"min\",align:n}}const[g,p]=(0,l.isNumber)(this.spacing)?[this.spacing,this.spacing]:this.spacing;this._state={items:o,nrows:n,ncols:r,rows:h,cols:a,rspacing:g,cspacing:p}}_measure_totals(t,i){const{nrows:s,ncols:e,rspacing:o,cspacing:n}=this._state;return{height:(0,c.sum)(t)+(s-1)*o,width:(0,c.sum)(i)+(e-1)*n}}_measure_cells(t){const{items:i,nrows:s,ncols:e,rows:o,cols:r,rspacing:l,cspacing:h}=this._state,c=new Array(s);for(let t=0;t{const{r0:e,c0:_,r1:d,c1:u}=i,w=(d-e)*l,m=(u-_)*h;let y=0;for(let i=e;i<=d;i++)y+=t(i,_).height;y+=w;let x=0;for(let i=_;i<=u;i++)x+=t(e,i).width;x+=m;const b=s.measure({width:x,height:y});f.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=_;t<=u;t++){const i=r[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:f}}_measure_grid(t){const{nrows:i,ncols:s,rows:e,cols:o,rspacing:n,cspacing:r}=this._state,l=this._measure_cells(((t,i)=>{const s=e[t],n=o[i];return{width:\"fixed\"==n.policy?n.width:1/0,height:\"fixed\"==s.policy?s.height:1/0}}));let h;h=\"fixed\"==this.sizing.height_policy&&null!=this.sizing.height?this.sizing.height:t.height!=1/0&&this.is_height_expanding()?t.height:l.size.height;let c,p=0;for(let t=0;t0)for(let t=0;ti?i:e,t--}}}c=\"fixed\"==this.sizing.width_policy&&null!=this.sizing.width?this.sizing.width:t.width!=1/0&&this.is_width_expanding()?t.width:l.size.width;let _=0;for(let t=0;t0)for(let t=0;ts?s:o,t--}}}const{row_heights:f,col_widths:d,size_hints:u}=this._measure_cells(((t,i)=>({width:l.col_widths[i],height:l.row_heights[t]})));return{size:this._measure_totals(f,d),row_heights:f,col_widths:d,size_hints:u}}_measure(t){const{size:i}=this._measure_grid(t);return i}_set_geometry(t,i){super._set_geometry(t,i);const{nrows:s,ncols:e,rspacing:o,cspacing:n}=this._state,{row_heights:r,col_widths:l,size_hints:c}=this._measure_grid(t),_=this._state.rows.map(((t,i)=>Object.assign(Object.assign({},t),{top:0,height:r[i],get bottom(){return this.top+this.height}}))),f=this._state.cols.map(((t,i)=>Object.assign(Object.assign({},t),{left:0,width:l[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:this.position.top;i{const{layout:l,size_hint:c}=r,{sizing:a}=l,{width:p,height:d}=c,u=function(t,i){let s=(i-t)*n;for(let e=t;e<=i;e++)s+=f[e].width;return s}(i,e),w=function(t,i){let s=(i-t)*o;for(let e=t;e<=i;e++)s+=_[e].height;return s}(t,s),m=i==e&&\"auto\"!=f[i].align?f[i].align:a.halign,y=t==s&&\"auto\"!=_[t].align?_[t].align:a.valign;let x=f[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=_[t].top;\"start\"==y?b+=a.margin.top:\"center\"==y?b+=g((w-d)/2):\"end\"==y&&(b+=w-a.margin.bottom-d),r.outer=new h.BBox({left:x,top:b,width:p,height:d})}));const u=_.map((()=>({start:new p((()=>0)),end:new p((()=>0))}))),w=f.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:r}=o;null!=r&&(u[t].start.apply(n.top,(t=>a(t,r.top))),u[s].end.apply(_[s].bottom-n.bottom,(t=>a(t,r.bottom))),w[i].start.apply(n.left,(t=>a(t,r.left))),w[e].end.apply(f[e].right-n.right,(t=>a(t,r.right))))})),d.foreach((({r0:t,c0:i,r1:s,c1:e},o)=>{const{size_hint:n,outer:r}=o,l=t=>{const i=this.absolute?r:r.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=l(n.inner);const c=u[t].start.get(r.top),a=u[s].end.get(_[s].bottom-r.bottom),g=w[i].start.get(r.left),p=w[e].end.get(f[e].right-r.right);try{h=l({top:c,bottom:a,left:g,right:p})}catch(t){}o.inner=h}else o.inner=r})),d.foreach(((t,{layout:i,outer:s,inner:e})=>{i.set_geometry(s,e)}))}}s.Grid=f,f.__name__=\"Grid\";class d extends f{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 f{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 _(t,e,i,h,o){h();const n=t(145),s=t(146),r=t(57);class l extends s.Layoutable{constructor(){super(...arguments),this.aligns={left:!0,right:!0,top:!0,bottom:!0},this.min_border={left:0,top:0,right:0,bottom:0},this.padding={left:0,top:0,right:0,bottom:0},this.center_border_width=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 n.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,s=this.top_panel.measure({width:t.width,height:0}),r=Math.max(s.height,this.min_border.top)+this.padding.top,l=this.bottom_panel.measure({width:t.width,height:0}),_=Math.max(l.height,this.min_border.bottom)+this.padding.bottom,g=new n.Sizeable(t).shrink_by({left:i,right:o,top:r,bottom:_}),a=this.center_panel.measure(g);return{width:i+a.width+o,height:r+a.height+_,inner:{left:i,right:o,top:r,bottom:_},align:(()=>{const{width_policy:t,height_policy:e}=this.center_panel.sizing;return Object.assign(Object.assign({},this.aligns),{fixed_width:\"fixed\"==t,fixed_height:\"fixed\"==e})})()}}_set_geometry(t,e){var i,h,o,n;if(super._set_geometry(t,e),this.sizing.visible){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}),n=this.bottom_panel.measure({width:t.width,height:0}),{left:s,top:l,right:_,bottom:g}=e;this.top_panel.set_geometry(new r.BBox({left:s,right:_,bottom:l,height:o.height})),this.bottom_panel.set_geometry(new r.BBox({left:s,right:_,top:g,height:n.height})),this.left_panel.set_geometry(new r.BBox({top:l,bottom:g,right:s,width:i.width})),this.right_panel.set_geometry(new r.BBox({top:l,bottom:g,left:_,width:h.width}));const a=e.shrink_by(this.center_border_width);if(null!=this.inner_top_panel){const{left:t,right:e,top:i,width:h}=a,o=this.inner_top_panel.measure({width:h,height:0});this.inner_top_panel.set_geometry(new r.BBox({left:t,right:e,top:i,height:o.height}))}if(null!=this.inner_bottom_panel){const{left:t,right:e,bottom:i,width:h}=a,o=this.inner_bottom_panel.measure({width:h,height:0});this.inner_bottom_panel.set_geometry(new r.BBox({left:t,right:e,bottom:i,height:o.height}))}if(null!=this.inner_left_panel){const{top:t,bottom:e,left:i,height:h}=a,o=this.inner_left_panel.measure({width:0,height:h});this.inner_left_panel.set_geometry(new r.BBox({top:t,bottom:e,left:i,width:o.width}))}if(null!=this.inner_right_panel){const{top:t,bottom:e,right:i,height:h}=a,o=this.inner_right_panel.measure({width:0,height:h});this.inner_right_panel.set_geometry(new r.BBox({top:t,bottom:e,right:i,width:o.width}))}}else this.center_panel.set_geometry(new r.BBox),this.top_panel.set_geometry(new r.BBox),this.bottom_panel.set_geometry(new r.BBox),this.left_panel.set_geometry(new r.BBox),this.right_panel.set_geometry(new r.BBox),null===(i=this.inner_top_panel)||void 0===i||i.set_geometry(new r.BBox),null===(h=this.inner_bottom_panel)||void 0===h||h.set_geometry(new r.BBox),null===(o=this.inner_left_panel)||void 0===o||o.set_geometry(new r.BBox),null===(n=this.inner_right_panel)||void 0===n||n.set_geometry(new r.BBox)}}i.BorderLayout=l,l.__name__=\"BorderLayout\"},\n", + " function _(e,s,_,i,l){var t;i();const o=e(1),r=e(231),p=o.__importStar(e(78));class h extends r.UpperLowerView{paint(e){e.beginPath(),e.moveTo(this._lower_sx[0],this._lower_sy[0]);for(let s=0,_=this._lower_sx.length;s<_;s++)e.lineTo(this._lower_sx[s],this._lower_sy[s]);for(let s=this._upper_sx.length-1;s>=0;s--)e.lineTo(this._upper_sx[s],this._upper_sy[s]);e.closePath(),this.visuals.fill.apply(e),e.beginPath(),e.moveTo(this._lower_sx[0],this._lower_sy[0]);for(let s=0,_=this._lower_sx.length;s<_;s++)e.lineTo(this._lower_sx[s],this._lower_sy[s]);this.visuals.line.apply(e),e.beginPath(),e.moveTo(this._upper_sx[0],this._upper_sy[0]);for(let s=0,_=this._upper_sx.length;s<_;s++)e.lineTo(this._upper_sx[s],this._upper_sy[s]);this.visuals.line.apply(e)}}_.BandView=h,h.__name__=\"BandView\";class n extends r.UpperLower{constructor(e){super(e)}}_.Band=n,t=n,n.__name__=\"Band\",t.prototype.default_view=h,t.mixins([p.Line,p.Fill]),t.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3})},\n", + " function _(e,t,s,r,i){var n;r();const a=e(1),o=e(98),_=e(23),c=e(19),p=a.__importStar(e(17));class u extends o.DataAnnotationView{map_data(){const{frame:e}=this.plot_view,t=this.model.dimension,s=this.coordinates.x_scale,r=this.coordinates.y_scale,i=\"height\"==t?r:s,n=\"height\"==t?s:r,a=\"height\"==t?e.bbox.yview:e.bbox.xview,o=\"height\"==t?e.bbox.xview:e.bbox.yview,c=(()=>{switch(this.model.properties.lower.units){case\"canvas\":return new _.ScreenArray(this._lower);case\"screen\":return a.v_compute(this._lower);case\"data\":return i.v_compute(this._lower)}})(),p=(()=>{switch(this.model.properties.upper.units){case\"canvas\":return new _.ScreenArray(this._upper);case\"screen\":return a.v_compute(this._upper);case\"data\":return i.v_compute(this._upper)}})(),u=(()=>{switch(this.model.properties.base.units){case\"canvas\":return new _.ScreenArray(this._base);case\"screen\":return o.v_compute(this._base);case\"data\":return n.v_compute(this._base)}})(),[h,d]=\"height\"==t?[1,0]:[0,1],w=[c,u],l=[p,u];this._lower_sx=w[h],this._lower_sy=w[d],this._upper_sx=l[h],this._upper_sy=l[d]}}s.UpperLowerView=u,u.__name__=\"UpperLowerView\";class h extends p.CoordinateSpec{constructor(){super(...arguments),this._value=p.unset}get dimension(){return\"width\"==this.obj.dimension?\"x\":\"y\"}get units(){var e;return this._value===p.unset?\"data\":null!==(e=this._value.units)&&void 0!==e?e:\"data\"}}s.XOrYCoordinateSpec=h,h.__name__=\"XOrYCoordinateSpec\";class d extends o.DataAnnotation{constructor(e){super(e)}}s.UpperLower=d,n=d,d.__name__=\"UpperLower\",n.define((()=>({dimension:[c.Dimension,\"height\"],lower:[h,{field:\"lower\"}],upper:[h,{field:\"upper\"}],base:[h,{field:\"base\"}]})))},\n", + " function _(t,e,o,i,r){var s,n;i();const l=t(1),a=t(73),h=t(93),_=l.__importStar(t(78)),u=t(19),c=t(57),b=t(20),m=t(15),d=t(12),p=t(233),f=t(234),v=l.__importStar(t(235));o.EDGE_TOLERANCE=2.5;const{abs:g}=Math,x=(0,b.Enum)(\"none\",\"left\",\"right\",\"top\",\"bottom\",\"x\",\"y\",\"all\"),w=(0,b.Enum)(\"none\",\"x\",\"y\",\"both\");class y extends a.AnnotationView{constructor(){super(...arguments),this.bbox=new c.BBox,this[s]=!0,this._pan_state=null,this._pinch_state=null,this._is_hovered=!1}serializable_state(){return Object.assign(Object.assign({},super.serializable_state()),{bbox:this.bbox.round()})}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render()))}bounds(){const{left:t,left_units:e,right:o,right_units:i,top:r,top_units:s,bottom:n,bottom_units:l}=this.model,a=\"data\"==e&&null!=t,h=\"data\"==i&&null!=o,_=\"data\"==s&&null!=r,u=\"data\"==l&&null!=n,[c,b]=a&&h?t<=o?[t,o]:[o,t]:a?[t,t]:h?[o,o]:[NaN,NaN],[m,d]=_&&u?r<=n?[r,n]:[n,r]:_?[r,r]:u?[n,n]:[NaN,NaN];return{x0:c,x1:b,y0:m,y1:d}}log_bounds(){return(0,c.empty)()}get mappers(){function t(t,e,o,i){switch(t){case\"canvas\":return i;case\"screen\":return o;case\"data\":return e}}const e=this.model,{x_scale:o,y_scale:i}=this.coordinates,{x_view:r,y_view:s}=this.plot_view.frame.bbox,{x_screen:n,y_screen:l}=this.plot_view.canvas.bbox;return{left:t(e.left_units,o,r,n),right:t(e.right_units,o,r,n),top:t(e.top_units,i,s,l),bottom:t(e.bottom_units,i,s,l)}}_render(){function t(t,e,o){return null==t?o:e.compute(t)}const{left:e,right:o,top:i,bottom:r}=this.model,{frame:s}=this.plot_view,{mappers:n}=this;this.bbox=c.BBox.from_lrtb({left:t(e,n.left,s.bbox.left),right:t(o,n.right,s.bbox.right),top:t(i,n.top,s.bbox.top),bottom:t(r,n.bottom,s.bbox.bottom)}),this.bbox.is_valid&&this._paint_box()}get border_radius(){return v.border_radius(this.model.border_radius)}_paint_box(){const{ctx:t}=this.layer;t.save(),t.beginPath(),(0,f.round_rect)(t,this.bbox,this.border_radius);const{_is_hovered:e,visuals:o}=this,i=e&&o.hover_fill.doit?o.hover_fill:o.fill,r=e&&o.hover_hatch.doit?o.hover_hatch:o.hatch,s=e&&o.hover_line.doit?o.hover_line:o.line;i.apply(t),r.apply(t),s.apply(t),t.restore()}interactive_bbox(){const t=this.model.line_width+o.EDGE_TOLERANCE;return this.bbox.grow_by(t)}interactive_hit(t,e){if(!this.model.visible||!this.model.editable)return!1;return this.interactive_bbox().contains(t,e)}_hit_test(t,e){const{left:i,right:r,bottom:s,top:n}=this.bbox,l=Math.max(o.EDGE_TOLERANCE,this.model.line_width/2),a=g(i-t),h=g(r-t),_=g(n-e),u=g(s-e),c=a{const{dx:e,dy:o}=t,{bbox:i,target:r}=this._pan_state,{left:s,top:n,right:l,bottom:a}=i,{symmetric:h}=this.model,[_,u]=h?[-e,-o]:[0,0],[b,m,d,p]=(()=>{switch(r){case\"top_left\":return[e,_,o,u];case\"top_right\":return[_,e,o,u];case\"bottom_left\":return[e,_,u,o];case\"bottom_right\":return[_,e,u,o];case\"left\":return[e,_,0,0];case\"right\":return[_,e,0,0];case\"top\":return[0,0,o,u];case\"bottom\":return[0,0,u,o];case\"area\":switch(this.model.movable){case\"both\":return[e,e,o,o];case\"x\":return[e,e,0,0];case\"y\":return[0,0,o,o];case\"none\":return[0,0,0,0]}}})();return c.BBox.from_lrtb({left:s+b,right:l+m,top:n+d,bottom:a+p})})(),{mappers:o}=this,i={left:null==this.model.left?null:o.left.invert(e.left),right:null==this.model.right?null:o.right.invert(e.right),top:null==this.model.top?null:o.top.invert(e.top),bottom:null==this.model.bottom?null:o.bottom.invert(e.bottom)};this.model.update(i),this.model.pan.emit([\"pan\",t])}_pan_end(t){this._pan_state=null,this.model.pan.emit([\"pan:end\",t])}_pinch_start(t){if(this.model.visible&&this.model.editable&&\"none\"!=this.model.resizable){const{sx:e,sy:o}=t;if(this.bbox.contains(e,o))return this._pinch_state={bbox:this.bbox.clone()},this.model.pan.emit([\"pan:start\",t]),!0}return!1}_pinch(t){(0,d.assert)(null!=this._pinch_state);const e=(()=>{const{scale:e}=t,{bbox:o}=this._pinch_state,{left:i,top:r,right:s,bottom:n,width:l,height:a}=o,h=l*(e-1),_=a*(e-1),{resizable:u}=this,b=u.left?-h/2:0,m=u.right?h/2:0,d=u.top?-_/2:0,p=u.bottom?_/2:0;return c.BBox.from_lrtb({left:i+b,right:s+m,top:r+d,bottom:n+p})})(),{mappers:o}=this,i={left:null==this.model.left?null:o.left.invert(e.left),right:null==this.model.right?null:o.right.invert(e.right),top:null==this.model.top?null:o.top.invert(e.top),bottom:null==this.model.bottom?null:o.bottom.invert(e.bottom)};this.model.update(i),this.model.pan.emit([\"pan\",t])}_pinch_end(t){this._pinch_state=null,this.model.pan.emit([\"pan:end\",t])}get _has_hover(){const{hover_line:t,hover_fill:e,hover_hatch:o}=this.visuals;return t.doit||e.doit||o.doit}_move_start(t){const{_has_hover:e}=this;return e&&(this._is_hovered=!0,this.request_paint()),e}_move(t){}_move_end(t){this._has_hover&&(this._is_hovered=!1,this.request_paint())}cursor(t,e){var o,i;const r=null!==(i=null===(o=this._pan_state)||void 0===o?void 0:o.target)&&void 0!==i?i:this._hit_test(t,e);if(null==r||!this._can_hit(r))return null;switch(r){case\"top_left\":return this.model.tl_cursor;case\"top_right\":return this.model.tr_cursor;case\"bottom_left\":return this.model.bl_cursor;case\"bottom_right\":return this.model.br_cursor;case\"left\":case\"right\":return this.model.ew_cursor;case\"top\":case\"bottom\":return this.model.ns_cursor;case\"area\":switch(this.model.movable){case\"both\":return this.model.in_cursor;case\"x\":return this.model.ew_cursor;case\"y\":return this.model.ns_cursor;case\"none\":return null}}}}o.BoxAnnotationView=y,s=h.auto_ranged,y.__name__=\"BoxAnnotationView\";class z extends a.Annotation{constructor(t){super(t),this.pan=new m.Signal(this,\"pan\")}update({left:t,right:e,top:o,bottom:i}){this.setv({left:t,right:e,top:o,bottom:i,visible:!0})}clear(){this.visible=!1}}o.BoxAnnotation=z,n=z,z.__name__=\"BoxAnnotation\",n.prototype.default_view=y,n.mixins([_.Line,_.Fill,_.Hatch,[\"hover_\",_.Line],[\"hover_\",_.Fill],[\"hover_\",_.Hatch]]),n.define((({Boolean:t,Number:e,Nullable:o})=>({top:[o(e),null],bottom:[o(e),null],left:[o(e),null],right:[o(e),null],top_units:[u.CoordinateUnits,\"data\"],bottom_units:[u.CoordinateUnits,\"data\"],left_units:[u.CoordinateUnits,\"data\"],right_units:[u.CoordinateUnits,\"data\"],border_radius:[p.BorderRadius,0],editable:[t,!1],resizable:[x,\"all\"],movable:[w,\"both\"],symmetric:[t,!1]}))),n.internal((({String:t})=>({tl_cursor:[t,\"nwse-resize\"],tr_cursor:[t,\"nesw-resize\"],bl_cursor:[t,\"nesw-resize\"],br_cursor:[t,\"nwse-resize\"],ew_cursor:[t,\"ew-resize\"],ns_cursor:[t,\"ns-resize\"],in_cursor:[t,\"move\"]}))),n.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3,hover_fill_color:null,hover_fill_alpha:.4,hover_line_color:null,hover_line_alpha:.3})},\n", + " function _(t,n,e,r,i){r();const g=t(1),a=t(20),h=g.__importStar(t(19));e.Length=(0,a.NonNegative)(a.Int);var c;e.Anchor=(0,a.Or)(h.Anchor,(0,a.Tuple)((0,a.Or)(h.Align,h.HAlign,a.Percent),(0,a.Or)(h.Align,h.VAlign,a.Percent))),e.TextAnchor=(0,a.Or)(e.Anchor,a.Auto),e.Padding=(0,a.Or)(e.Length,(0,a.Tuple)(e.Length,e.Length),(c=e.Length,(0,a.PartialStruct)({x:c,y:c})),(0,a.Tuple)(e.Length,e.Length,e.Length,e.Length),(t=>(0,a.PartialStruct)({left:t,right:t,top:t,bottom:t}))(e.Length)),e.BorderRadius=(0,a.Or)(e.Length,(0,a.Tuple)(e.Length,e.Length,e.Length,e.Length),(0,a.PartialStruct)({top_left:e.Length,top_right:e.Length,bottom_right:e.Length,bottom_left:e.Length})),e.Index=(0,a.NonNegative)(a.Int),e.Span=(0,a.NonNegative)(a.Int);e.GridChild=t=>(0,a.Tuple)((0,a.Ref)(t),e.Index,e.Index,(0,a.Opt)(e.Span),(0,a.Opt)(e.Span)),e.GridSpacing=(0,a.Or)(e.Length,(0,a.Tuple)(e.Length,e.Length)),e.TrackAlign=(0,a.Enum)(\"start\",\"center\",\"end\",\"auto\"),e.TrackSize=a.String,e.TrackSizing=(0,a.PartialStruct)({size:e.TrackSize,align:e.TrackAlign}),e.TrackSizingLike=(0,a.Or)(e.TrackSize,e.TrackSizing),e.TracksSizing=(0,a.Or)(e.TrackSizingLike,(0,a.Array)(e.TrackSizingLike),(0,a.Map)(a.Int,e.TrackSizingLike))},\n", + " function _(t,o,e,i,n){i(),e.round_rect=function(t,o,e){let{top_left:i,top_right:n,bottom_right:c,bottom_left:h}=e;if(0!=i||0!=n||0!=c||0!=h){const{left:e,right:l,top:r,bottom:T,width:f,height:a}=o,_=Math.min(f/(i+n),a/(n+c),f/(c+h),a/(i+h));_<1&&(i*=_,n*=_,c*=_,h*=_),t.moveTo(e+i,r),t.lineTo(l-n,r),t.arcTo(l,r,l,r+n,n),t.lineTo(l,T-c),t.arcTo(l,T,l-c,T,c),t.lineTo(e+h,T),t.arcTo(e,T,e,T-h,h),t.lineTo(e,r+i),t.arcTo(e,r,e+i,r,i),t.closePath()}else{const{left:e,top:i,width:n,height:c}=o;t.rect(e,i,n,c)}}},\n", + " function _(t,e,r,n,o){n();const c=t(8),i=t(12);function s(t){if(!(0,c.isString)(t)){return{x:(()=>{const[e]=t;switch(e){case\"start\":case\"left\":return 0;case\"center\":return.5;case\"end\":case\"right\":return 1;default:return e}})(),y:(()=>{const[,e]=t;switch(e){case\"start\":case\"top\":return 0;case\"center\":return.5;case\"end\":case\"bottom\":return 1;default:return e}})()}}switch(t){case\"top_left\":return{x:0,y:0};case\"top\":case\"top_center\":return{x:.5,y:0};case\"top_right\":return{x:1,y:0};case\"right\":case\"center_right\":return{x:1,y:.5};case\"bottom_right\":return{x:1,y:1};case\"bottom\":case\"bottom_center\":return{x:.5,y:1};case\"bottom_left\":return{x:0,y:1};case\"left\":case\"center_left\":return{x:0,y:.5};case\"center\":case\"center_center\":return{x:.5,y:.5}}}r.anchor=s,r.text_anchor=function(t,e,r){return s(\"auto\"!=t?t:[(()=>{switch(e){case\"left\":return\"start\";case\"center\":return\"center\";case\"right\":return\"end\"}})(),(()=>{switch(r){case\"alphabetic\":case\"ideographic\":case\"hanging\":case\"middle\":return\"center\";case\"top\":return\"start\";case\"bottom\":return\"end\"}})()])},r.padding=function(t){if((0,c.isNumber)(t))return{left:t,right:t,top:t,bottom:t};if(!(0,c.isPlainObject)(t)){if(2==t.length){const[e=0,r=0]=t;return{left:e,right:e,top:r,bottom:r}}{const[e=0,r=0,n=0,o=0]=t;return{left:e,right:r,top:n,bottom:o}}}if(\"x\"in t||\"y\"in t){const{x:e=0,y:r=0}=t;return{left:e,right:e,top:r,bottom:r}}if(\"left\"in t||\"right\"in t||\"top\"in t||\"bottom\"in t){const{left:e=0,right:r=0,top:n=0,bottom:o=0}=t;return{left:e,right:r,top:n,bottom:o}}(0,i.unreachable)()},r.border_radius=function(t){var e,r,n,o;if((0,c.isNumber)(t))return{top_left:t,top_right:t,bottom_right:t,bottom_left:t};if((0,c.isPlainObject)(t))return{top_left:null!==(e=t.top_left)&&void 0!==e?e:0,top_right:null!==(r=t.top_right)&&void 0!==r?r:0,bottom_right:null!==(n=t.bottom_right)&&void 0!==n?n:0,bottom_left:null!==(o=t.bottom_left)&&void 0!==o?o:0};{const[e=0,r=0,n=0,o=0]=t;return{top_left:e,top_right:r,bottom_right:n,bottom_left:o}}}},\n", + " function _(e,i,n,t,a){var o;t();const l=e(141),r=e(158),s=e(219),_=e(197),c=e(237),h=e(225),p=e(223),g=e(192),m=e(10),u=e(12);class d extends l.BaseColorBarView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.color_mapper.change,(async()=>{this._title_view.remove(),this._axis_view.remove(),this.initialize(),await this.lazy_initialize(),this.plot_view.invalidate_layout()})),this.connect(this.model.color_mapper.metrics_change,(()=>this._metrics_changed())),this.connect(this.model.properties.display_low.change,(()=>this._metrics_changed())),this.connect(this.model.properties.display_high.change,(()=>this._metrics_changed()))}get color_mapper(){let e=this.model.color_mapper;return e instanceof c.WeightedStackColorMapper&&(e=e.alpha_mapper),e}update_layout(){super.update_layout(),this._set_canvas_image()}_create_axis(){const{color_mapper:e}=this;return e instanceof c.CategoricalColorMapper?new r.CategoricalAxis:e instanceof c.LogColorMapper?new r.LogAxis:new r.LinearAxis}_create_formatter(){const{color_mapper:e}=this;return this._ticker instanceof g.LogTicker?new s.LogTickFormatter:e instanceof c.CategoricalColorMapper?new s.CategoricalTickFormatter:new s.BasicTickFormatter}_create_major_range(){const{color_mapper:e}=this;if(e instanceof c.CategoricalColorMapper)return new h.FactorRange({factors:e.factors});if(e instanceof c.ContinuousColorMapper){const{min:i,max:n}=this._continuous_metrics(e);return new h.Range1d({start:i,end:n})}(0,u.unreachable)()}_create_major_scale(){const{color_mapper:e}=this;return e instanceof c.LinearColorMapper?new p.LinearScale:e instanceof c.LogColorMapper?new p.LogScale:e instanceof c.ScanningColorMapper?new p.LinearInterpolationScale({binning:this._scanning_binning(e)}):e instanceof c.CategoricalColorMapper?new p.CategoricalScale:void(0,u.unreachable)()}_create_ticker(){const{color_mapper:e}=this;return e instanceof c.LogColorMapper?new g.LogTicker:e instanceof c.ScanningColorMapper?new g.BinnedTicker({mapper:e}):e instanceof c.CategoricalColorMapper?new g.CategoricalTicker:new g.BasicTicker}_continuous_metrics(e){const{display_low:i,display_high:n}=this.model;let{min:t,max:a}=e.metrics;if(null!=n&&null!=i&&n0&&(this._index_low=n,t=e.index_to_value(n))}return{min:t,max:a}}_get_major_size_factor(){return this.color_mapper.palette.length}_metrics_changed(){const e=this._major_range,i=this._major_scale,{color_mapper:n}=this;if(n instanceof c.ScanningColorMapper&&i instanceof p.LinearInterpolationScale){const e=this._scanning_binning(n);i.binning=e;const t=\"vertical\"==this.orientation,a=t?this._frame.y_scale:this._frame.x_scale;if(a instanceof p.LinearInterpolationScale){a.binning=e;const i=t?this._frame.y_range:this._frame.x_range;i instanceof h.Range1d&&(i.start=e[0],i.end=e[e.length-1])}}else if(n instanceof c.ContinuousColorMapper&&e instanceof h.Range1d){const{min:i,max:t}=this._continuous_metrics(n);e.setv({start:i,end:t})}this._set_canvas_image(),this.plot_view.request_layout()}_paint_colors(e,i){const{x:n,y:t,width:a,height:o}=i;e.save(),e.globalAlpha=this.model.scale_alpha,null!=this._image&&(e.imageSmoothingEnabled=!1,e.drawImage(this._image,n,t,a,o)),this.visuals.bar_line.doit&&(this.visuals.bar_line.set_value(e),e.strokeRect(n,t,a,o)),e.restore()}_scanning_binning(e){let{binning:i,force_low_cutoff:n}=e.metrics;const{display_high:t}=this.model;let{display_low:a}=this.model;if(n&&(null==a||e.metrics.min>a)&&(a=e.metrics.min),null!=t&&null!=a&&t0&&(this._index_low=n)}if(null!=this._index_low||null!=this._index_high){const e=null!=this._index_low?this._index_low:0,n=(null!=this._index_high?this._index_high+1:i.length-1)-e+1;if(n>0){const t=new Array(n);for(let a=0;a({color_mapper:[n(_.ColorMapper)],display_low:[e(i),null],display_high:[e(i),null]})))},\n", + " function _(r,o,a,p,e){p(),e(\"CategoricalColorMapper\",r(238).CategoricalColorMapper),e(\"CategoricalMarkerMapper\",r(240).CategoricalMarkerMapper),e(\"CategoricalPatternMapper\",r(241).CategoricalPatternMapper),e(\"ContinuousColorMapper\",r(196).ContinuousColorMapper),e(\"ColorMapper\",r(197).ColorMapper),e(\"LinearColorMapper\",r(242).LinearColorMapper),e(\"LogColorMapper\",r(243).LogColorMapper),e(\"ScanningColorMapper\",r(195).ScanningColorMapper),e(\"EqHistColorMapper\",r(244).EqHistColorMapper),e(\"StackColorMapper\",r(245).StackColorMapper),e(\"WeightedStackColorMapper\",r(246).WeightedStackColorMapper)},\n", + " function _(t,o,r,a,e){var c;a();const s=t(239),l=t(197),n=t(96);class _ extends l.ColorMapper{constructor(t){super(t)}_v_compute(t,o,r,{nan_color:a}){(0,s.cat_v_compute)(t,this.factors,r,o,this.start,this.end,a)}}r.CategoricalColorMapper=_,c=_,_.__name__=\"CategoricalColorMapper\",c.define((({Number:t,Nullable:o})=>({factors:[n.FactorSeq],start:[t,0],end:[o(t),null]})))},\n", + " function _(n,t,e,i,l){i();const o=n(13),f=n(8);function c(n,t){if(n.length!=t.length)return!1;for(let e=0,i=n.length;ec(n,d)))),h=_<0||_>=e.length?u:e[_],i[g]=h}}},\n", + " function _(e,r,a,t,s){var c;t();const l=e(239),n=e(96),u=e(198),o=e(19);class p extends u.Mapper{constructor(e){super(e)}v_compute(e){const r=new Array(e.length);return(0,l.cat_v_compute)(e,this.factors,this.markers,r,this.start,this.end,this.default_value),r}}a.CategoricalMarkerMapper=p,c=p,p.__name__=\"CategoricalMarkerMapper\",c.define((({Number:e,Array:r,Nullable:a})=>({factors:[n.FactorSeq],markers:[r(o.MarkerType)],start:[e,0],end:[a(e),null],default_value:[o.MarkerType,\"circle\"]})))},\n", + " function _(t,e,a,r,n){var s;r();const c=t(239),l=t(96),p=t(198),u=t(19);class o extends p.Mapper{constructor(t){super(t)}v_compute(t){const e=new Array(t.length);return(0,c.cat_v_compute)(t,this.factors,this.patterns,e,this.start,this.end,this.default_value),e}}a.CategoricalPatternMapper=o,s=o,o.__name__=\"CategoricalPatternMapper\",s.define((({Number:t,Array:e,Nullable:a})=>({factors:[l.FactorSeq],patterns:[e(u.HatchPatternType)],start:[t,0],end:[a(t),null],default_value:[u.HatchPatternType,\" \"]})))},\n", + " function _(n,r,o,t,a){t();const e=n(196),i=n(13),s=n(11);class _ extends e.ContinuousColorMapper{constructor(n){super(n)}scan(n,r){const o=null!=this.low?this.low:(0,i.min)(n),t=null!=this.high?this.high:(0,i.max)(n);return{max:t,min:o,norm_factor:1/(t-o),normed_interval:1/r}}index_to_value(n){const r=this._scan_data;return r.min+r.normed_interval*n/r.norm_factor}value_to_index(n,r){const o=this._scan_data;if(n==o.max)return r-1;const t=(n-o.min)*o.norm_factor,a=Math.floor(t/o.normed_interval);return(0,s.clamp)(a,-1,r)}}o.LinearColorMapper=_,_.__name__=\"LinearColorMapper\"},\n", + " function _(n,t,a,o,s){o();const r=n(196),e=n(13),i=n(11);class l extends r.ContinuousColorMapper{constructor(n){super(n)}scan(n,t){const a=null!=this.low?this.low:(0,e.min)(n),o=null!=this.high?this.high:(0,e.max)(n);return{max:o,min:a,scale:t/Math.log(o/a)}}index_to_value(n){const t=this._scan_data;return t.min*Math.exp(n/t.scale)}value_to_index(n,t){const a=this._scan_data;if(n==a.max)return t-1;if(n>a.max)return t;if(n1?d=1-n:m=!1}const g=(0,c.linspace)(d,1,n+1),w=(0,r.interpolate)(g,f,h);let b=!1;if(m){const e=(0,r.sorted_index)(w,s);s0&&(w[e-1]=s),b=!0}else w[0]=s;return w[w.length-1]=t,{min:s,max:t,binning:w,force_low_cutoff:b}}}s.EqHistColorMapper=a,o=a,a.__name__=\"EqHistColorMapper\",o.define((({Boolean:e,Int:n})=>({bins:[n,65536],rescale_discrete_levels:[e,!1]})))},\n", + " function _(o,r,a,c,e){c();const p=o(197);class t extends p.ColorMapper{constructor(o){super(o)}}a.StackColorMapper=t,t.__name__=\"StackColorMapper\"},\n", + " function _(e,t,o,n,r){var l;n();const a=e(197),c=e(196),s=e(245),i=e(23),_=e(13),p=e(12),u=e(21);class h extends s.StackColorMapper{constructor(e){super(e)}_mix_colors(e,t,o,n){if(isNaN(n))return t;let r=0,l=0,a=0,c=0;const s=o.length;if(0!=n)for(let t=0;t({alpha_mapper:[o(c.ContinuousColorMapper)],color_baseline:[e(t),null]})))},\n", + " function _(e,t,r,i,l){var n;i();const o=e(141),s=e(225),a=e(199),_=e(59),h=e(12);class d extends o.BaseColorBarView{*children(){yield*super.children(),yield this._fill_view,yield this._line_view}async lazy_initialize(){await super.lazy_initialize();const{fill_renderer:e,line_renderer:t}=this.model;this._fill_view=await(0,_.build_view)(e,{parent:this.parent}),this._line_view=await(0,_.build_view)(t,{parent:this.parent})}remove(){this._fill_view.remove(),this._line_view.remove(),super.remove()}_create_major_range(){const e=this.model.levels;return e.length>0?new s.Range1d({start:e[0],end:e[e.length-1]}):new s.Range1d({start:0,end:1})}_paint_colors(e,t){const r=\"vertical\"==this.orientation,i=this.model.levels,l=this._major_scale;l.source_range=this._major_range,l.target_range=r?new s.Range1d({start:t.bottom,end:t.top}):new s.Range1d({start:t.left,end:t.right});const n=l.v_compute(i),o=this._fill_view.glyph,a=o.data_size;if(a>0){(0,h.assert)(i.length==a+1,\"Inconsistent number of filled contour levels\"),e.save();for(let i=0;i0){(0,h.assert)(i.length==d,\"Inconsistent number of line contour levels\"),e.save();for(let i=0;i({fill_renderer:[r(a.GlyphRenderer)],line_renderer:[r(a.GlyphRenderer)],levels:[e(t),[]]})))},\n", + " function _(e,t,s,i,n){var a;i();const o=e(143),l=e(11),h=e(19),u=e(144);class c extends o.TextAnnotationView{update_layout(){const{panel:e}=this;this.layout=null!=e?new u.SideLayout(e,(()=>this.get_size()),!1):void 0}_get_size(){if(!this.displayed)return{width:0,height:0};const e=this._text_view.graphics(),{angle:t,angle_units:s}=this.model;e.angle=(0,l.compute_angle)(t,s),e.visuals=this.visuals.text.values();const{width:i,height:n}=e.size();return{width:i,height:n}}_render(){const{angle:e,angle_units:t}=this.model,s=(0,l.compute_angle)(e,t),i=null!=this.layout?this.layout:this.plot_view.frame,n=this.coordinates.x_scale,a=this.coordinates.y_scale;let o=(()=>{switch(this.model.x_units){case\"canvas\":return this.model.x;case\"screen\":return i.bbox.xview.compute(this.model.x);case\"data\":return n.compute(this.model.x)}})(),h=(()=>{switch(this.model.y_units){case\"canvas\":return this.model.y;case\"screen\":return i.bbox.yview.compute(this.model.y);case\"data\":return a.compute(this.model.y)}})();o+=this.model.x_offset,h-=this.model.y_offset,this._paint(this.layer.ctx,{sx:o,sy:h},s)}}s.LabelView=c,c.__name__=\"LabelView\";class d extends o.TextAnnotation{constructor(e){super(e)}}s.Label=d,a=d,d.__name__=\"Label\",a.prototype.default_view=c,a.define((({Number:e,Angle:t})=>({x:[e],x_units:[h.CoordinateUnits,\"data\"],y:[e],y_units:[h.CoordinateUnits,\"data\"],angle:[t,0],angle_units:[h.AngleUnits,\"rad\"],x_offset:[e,0],y_offset:[e,0]})))},\n", + " function _(t,e,i,s,a){var n;s();const o=t(1),l=t(98),r=o.__importStar(t(78)),c=t(19),_=t(151),u=o.__importStar(t(17)),x=t(23);class h extends l.DataAnnotationView{map_data(){const{x_scale:t,y_scale:e}=this.coordinates,i=null!=this.layout?this.layout:this.plot_view.frame;this.sx=(()=>{switch(this.model.x_units){case\"canvas\":return new x.ScreenArray(this._x);case\"screen\":return i.bbox.xview.v_compute(this._x);case\"data\":return t.v_compute(this._x)}})(),this.sy=(()=>{switch(this.model.y_units){case\"canvas\":return new x.ScreenArray(this._y);case\"screen\":return i.bbox.yview.v_compute(this._y);case\"data\":return e.v_compute(this._y)}})()}paint(){const{ctx:t}=this.layer;for(let e=0,i=this.text.length;e({x:[u.XCoordinateSpec,{field:\"x\"}],y:[u.YCoordinateSpec,{field:\"y\"}],x_units:[c.CoordinateUnits,\"data\"],y_units:[c.CoordinateUnits,\"data\"],text:[u.NullStringSpec,{field:\"text\"}],angle:[u.AngleSpec,0],x_offset:[u.NumberSpec,{value:0}],y_offset:[u.NumberSpec,{value:0}]}))),n.override({background_fill_color:null,border_line_color:null})},\n", + " function _(t,e,i,s,n){var o;s();const l=t(1),r=t(73),a=t(251),_=t(19),c=l.__importStar(t(78)),h=t(15),d=t(144),u=t(57),b=t(10),g=t(32),p=t(8),m=t(151),f=t(226),{max:x,floor:w}=Math;class y extends f.ContentLayoutable{constructor(t){super(),this.text=t}_content_size(){return new f.Sizeable(this.text.size())}}y.__name__=\"TextLayout\";class v extends f.ContentLayoutable{constructor(t,e,i,s){super(),this.item=t,this.label=e,this.text=i,this.settings=s}get field(){return this.item.get_field_from_label_prop()}_content_size(){const t=this.text.size(),{glyph_width:e,glyph_height:i,label_standoff:s,label_width:n,label_height:o}=this.settings,l=e+s+x(t.width,n),r=x(i,t.height,o);return new f.Sizeable({width:l,height:r})}}v.__name__=\"LegendEntry\";class k extends r.AnnotationView{constructor(){super(...arguments),this.bbox=new u.BBox}_get_size(){const{width:t,height:e}=this.bbox,{margin:i}=this.model;return{width:t+2*i,height:e+2*i}}update_layout(){this.update_geometry();const{panel:t}=this;this.layout=null!=t?new d.SideLayout(t,(()=>this.get_size())):void 0}connect_signals(){super.connect_signals();const t=()=>{this.update_geometry(),this.request_render()};this.connect(this.model.change,t),this.connect(this.model.item_change,t)}get padding(){return null!=this.model.border_line_color?this.model.padding:0}update_geometry(){super.update_geometry();const{spacing:t,orientation:e}=this.model,i=\"vertical\"==e,{padding:s}=this,n=s,o=s,{title:l}=this.model,r=new m.TextBox({text:null!=l?l:\"\"});r.position={sx:0,sy:0,x_anchor:\"left\",y_anchor:\"top\"},r.visuals=this.visuals.title_text.values();const a=new d.Panel(this.model.title_location);r.angle=a.get_label_angle_heuristic(\"parallel\");const _=[];for(const t of this.model.items){t.legend=this.model;const e=t.get_labels_list_from_label_prop();for(const i of e){const e=new m.TextBox({text:`${i}`});e.position={sx:0,sy:0,x_anchor:\"left\",y_anchor:\"center\"},e.visuals=this.visuals.label_text.values();const s=new v(t,i,e,this.model);s.set_sizing({visible:t.visible}),_.push({layout:s,row:0,col:0})}}const{ncols:c,nrows:h}=(()=>{let{ncols:t,nrows:e}=this.model;const s=_.length;return i?(\"auto\"!=e||(e=\"auto\"!=t?w(s/t):1/0),t=1/0):(\"auto\"!=t||(t=\"auto\"!=e?w(s/e):1/0),e=1/0),{ncols:t,nrows:e}})();let b=0,g=0;for(const t of _)t.row=b,t.col=g,i?(b+=1,b>=h&&(b=0,g+=1)):(g+=1,g>=c&&(g=0,b+=1));const p=new f.Grid(_);this.grid=p,p.spacing=t,p.set_sizing();const x=new y(r);this.title_panel=x;const k=\"\"!=r.text&&this.visuals.title_text.doit;x.set_sizing({visible:k});const z=(()=>{if(!k)return new f.Column([p]);switch(this.model.title_location){case\"above\":return new f.Column([x,p]);case\"below\":return new f.Column([p,x]);case\"left\":return new f.Row([x,p]);case\"right\":return new f.Row([p,x])}})();this.border_box=z,z.position={left:n,top:o},z.spacing=this.model.title_standoff,z.set_sizing(),z.compute();const L=s+z.bbox.width+s,B=s+z.bbox.height+s;this.bbox=new u.BBox({left:0,top:0,width:L,height:B})}compute_geometry(){super.compute_geometry();const{margin:t,location:e}=this.model,{width:i,height:s}=this.bbox,n=null!=this.layout?this.layout:this.plot_view.frame,[o,l]=n.bbox.ranges;let r,a;if((0,p.isString)(e))switch(e){case\"top_left\":r=o.start+t,a=l.start+t;break;case\"top\":case\"top_center\":r=(o.end+o.start)/2-i/2,a=l.start+t;break;case\"top_right\":r=o.end-t-i,a=l.start+t;break;case\"bottom_right\":r=o.end-t-i,a=l.end-t-s;break;case\"bottom\":case\"bottom_center\":r=(o.end+o.start)/2-i/2,a=l.end-t-s;break;case\"bottom_left\":r=o.start+t,a=l.end-t-s;break;case\"left\":case\"center_left\":r=o.start+t,a=(l.end+l.start)/2-s/2;break;case\"center\":case\"center_center\":r=(o.end+o.start)/2-i/2,a=(l.end+l.start)/2-s/2;break;case\"right\":case\"center_right\":r=o.end-t-i,a=(l.end+l.start)/2-s/2}else{const[t,i]=e;r=n.bbox.xview.compute(t),a=n.bbox.yview.compute(i)-s}this.bbox=new u.BBox({left:r,top:a,width:i,height:s})}interactive_hit(t,e){return this.bbox.contains(t,e)}_hit_test(t,e){const{left:i,top:s}=this.bbox;t-=i+this.grid.bbox.left,e-=s+this.grid.bbox.top;for(const i of this.grid)if(i.bbox.contains(t,e))return{type:\"entry\",entry:i};return null}cursor(t,e){return\"none\"==this.model.click_policy?null:null!=this._hit_test(t,e)?\"pointer\":null}on_hit(t,e){const i=(()=>{switch(this.model.click_policy){case\"hide\":return t=>t.visible=!t.visible;case\"mute\":return t=>t.muted=!t.muted;case\"none\":return t=>{}}})(),s=this._hit_test(t,e);if(null!=s){const{renderers:t}=s.entry.item;for(const e of t)i(e);return!0}return!1}_render(){if(this.compute_geometry(),0==this.model.items.length)return;if(!(0,b.some)(this.model.items,(t=>t.visible)))return;const{ctx:t}=this.layer;t.save(),this._draw_legend_box(t),this._draw_legend_items(t),this._draw_title(t),t.restore()}_draw_legend_box(t){const{x:e,y:i,width:s,height:n}=this.bbox;t.beginPath(),t.rect(e,i,s,n),this.visuals.background_fill.apply(t),this.visuals.border_line.apply(t)}_draw_title(t){const{title:e}=this.model;if(null==e||0==e.length||!this.visuals.title_text.doit)return;const{left:i,top:s}=this.bbox;switch(t.save(),t.translate(i,s),t.translate(this.title_panel.bbox.left,this.title_panel.bbox.top),this.model.title_location){case\"left\":t.translate(0,this.title_panel.bbox.height);break;case\"right\":t.translate(this.title_panel.bbox.width,0)}this.title_panel.text.paint(t),t.restore()}_draw_legend_items(t){const e=(()=>{switch(this.model.click_policy){case\"none\":return t=>!0;case\"hide\":return t=>(0,b.every)(t.renderers,(t=>t.visible));case\"mute\":return t=>(0,b.every)(t.renderers,(t=>!t.muted))}})(),i=(t,e,i)=>{if(!this.visuals.item_background_fill.doit)return!1;switch(this.model.item_background_policy){case\"every\":return!0;case\"even\":return e%2==0==(i%2==0);case\"odd\":return e%2==0!=(i%2==0);case\"none\":return!1}},{left:s,top:n}=this.bbox;t.translate(s,n),t.translate(this.grid.bbox.left,this.grid.bbox.top);for(const[{layout:s,row:n,col:o},l]of(0,g.enumerate)(this.grid.items)){const{bbox:l,text:r,item:a,label:_,field:c,settings:h}=s,{glyph_width:d,glyph_height:u,label_standoff:b}=h,{left:g,top:p,width:m,height:f}=l;t.translate(g,p),i(0,n,o)&&(t.beginPath(),t.rect(0,0,m,f),this.visuals.item_background_fill.apply(t));const x=f/2,w=0,y=x-u/2,v=w+d,k=y+u;for(const e of a.renderers){const i=this.plot_view.renderer_view(e);null==i||i.draw_legend(t,w,v,y,k,c,_,a.index)}t.translate(v+b,x),r.paint(t),t.translate(-v-b,-x),e(a)||(t.beginPath(),t.rect(0,0,m,f),this.visuals.inactive_fill.set_value(t),t.fill()),t.translate(-g,-p)}t.translate(-this.grid.bbox.left,-this.grid.bbox.top),t.translate(-s,-n)}}i.LegendView=k,k.__name__=\"LegendView\";class z extends r.Annotation{constructor(t){super(t)}initialize(){super.initialize(),this.item_change=new h.Signal0(this,\"item_change\")}get_legend_names(){const t=[];for(const e of this.items){const i=e.get_labels_list_from_label_prop();t.push(...i)}return t}}i.Legend=z,o=z,z.__name__=\"Legend\",o.prototype.default_view=k,o.mixins([[\"label_\",c.Text],[\"title_\",c.Text],[\"inactive_\",c.Fill],[\"border_\",c.Line],[\"background_\",c.Fill],[\"item_background_\",c.Fill]]),o.define((({Number:t,Int:e,String:i,Array:s,Tuple:n,Or:o,Ref:l,Nullable:r,Positive:c,Auto:h})=>({orientation:[_.Orientation,\"vertical\"],ncols:[o(c(e),h),\"auto\"],nrows:[o(c(e),h),\"auto\"],location:[o(_.LegendLocation,n(t,t)),\"top_right\"],title:[r(i),null],title_location:[_.Location,\"above\"],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:[s(l(a.LegendItem)),[]],click_policy:[_.LegendClickPolicy,\"none\"],item_background_policy:[_.AlternationPolicy,\"none\"]}))),o.override({border_line_color:\"#e5e5e5\",border_line_alpha:.5,border_line_width:1,background_fill_color:\"#ffffff\",background_fill_alpha:.95,item_background_fill_color:\"#f1f1f1\",item_background_fill_alpha:.8,inactive_fill_color:\"white\",inactive_fill_alpha:.7,label_text_font_size:\"13px\",label_text_baseline:\"middle\",title_text_font_size:\"13px\",title_text_font_style:\"italic\"})},\n", + " function _(e,r,l,n,t){var i;n();const s=e(1),o=e(50),_=e(199),a=e(99),u=e(27),d=s.__importStar(e(17)),c=e(18),f=e(10);class h extends o.Model{constructor(e){super(e)}_check_data_sources_on_renderers(){if(null!=this.get_field_from_label_prop()){if(this.renderers.length<1)return!1;const e=this.renderers[0].data_source;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(!(0,f.includes)(r.columns(),e))return!1}return!0}initialize(){super.initialize(),this.legend=null,this.connect(this.change,(()=>{var e;return null===(e=this.legend)||void 0===e?void 0:e.item_change.emit()}));this._check_data_sources_on_renderers()||c.logger.error(\"Non matching data sources on legend item renderers\");this._check_field_label_on_data_source()||c.logger.error(`Bad column name on label: ${this.label}`)}get_field_from_label_prop(){const{label:e}=this;return(0,u.isField)(e)?e.field:null}get_labels_list_from_label_prop(){if(!this.visible)return[];if((0,u.isValue)(this.label)){const{value:e}=this.label;return null!=e?[e]:[]}const e=this.get_field_from_label_prop();if(null!=e){let r;if(0==this.renderers.length)return[\"No source found\"];if(r=this.renderers[0].data_source,r instanceof a.ColumnarDataSource){const l=r.get_column(e);return null!=l?(0,f.uniq)(Array.from(l)):[\"Invalid field\"]}}return[]}}l.LegendItem=h,i=h,h.__name__=\"LegendItem\",i.define((({Boolean:e,Int:r,Array:l,Ref:n,Nullable:t})=>({label:[d.NullStringSpec,null],renderers:[l(n(_.GlyphRenderer)),[]],index:[t(r),null],visible:[e,!0]})))},\n", + " function _(t,e,s,n,i){var o,a;n();const r=t(1),l=t(73),h=t(93),_=r.__importStar(t(78)),c=t(19),u=t(210),d=t(15),y=t(57),p=t(13),v=t(12);class x{constructor(t=[],e=[]){this.xs=t,this.ys=e,(0,v.assert)(t.length==e.length)}clone(){return new x(this.xs.slice(),this.ys.slice())}[Symbol.iterator](){return this.nodes()}*nodes(){const{xs:t,ys:e,n:s}=this;for(let n=0;n=3){const n={x:t[s-1],y:e[s-1]},i={x:t[0],y:e[0]};yield[n,i,s-1]}}contains(t,e){return(0,u.point_in_poly)(t,e,this.xs,this.ys)}get bbox(){const[t,e]=(0,p.minmax)(this.xs),[s,n]=(0,p.minmax)(this.ys);return new y.BBox({x0:t,x1:e,y0:s,y1:n})}get n(){return this.xs.length}translate(t,e,...s){const n=this.clone(),{xs:i,ys:o,n:a}=n;if(0!=s.length)for(const n of s){const s=n%a;i[s]+=t,o[s]+=e}else for(let s=0;sthis.request_render()))}bounds(){const{xs_units:t,ys_units:e}=this.model;if(\"data\"==t&&\"data\"==e){const{xs:t,ys:e}=this.model,[s,n]=(0,p.minmax)(t),[i,o]=(0,p.minmax)(e);return{x0:s,x1:n,y0:i,y1:o}}return(0,y.empty)()}log_bounds(){return(0,y.empty)()}_mappers(){const t=(t,e,s,n)=>{switch(t){case\"canvas\":return n;case\"screen\":return s;case\"data\":return e}},e=this.model,{frame:s,canvas:n}=this.plot_view,{x_scale:i,y_scale:o}=s,{x_view:a,y_view:r}=s.bbox,{x_screen:l,y_screen:h}=n.bbox;return{x:t(e.xs_units,i,a,l),y:t(e.ys_units,o,r,h)}}_render(){const{xs:t,ys:e}=this.model;(0,v.assert)(t.length==e.length),this.poly=(()=>{const{x:s,y:n}=this._mappers();return new x(s.v_compute(t),n.v_compute(e))})();const{ctx:s}=this.layer;s.beginPath();for(const[t,e]of this.poly)s.lineTo(t,e);const{_is_hovered:n,visuals:i}=this,o=n&&i.hover_fill.doit?i.hover_fill:i.fill,a=n&&i.hover_hatch.doit?i.hover_hatch:i.hatch,r=n&&i.hover_line.doit?i.hover_line:i.line;this.poly.n>=3&&(s.closePath(),o.apply(s),a.apply(s)),r.apply(s)}interactive_hit(t,e){return!(!this.model.visible||!this.model.editable)&&this.poly.contains(t,e)}_hit_test(t,e){const{abs:s}=Math,n=Math.max(2.5,this.model.line_width/2);for(const[i,o,a]of this.poly)if(s(i-t){const{poly:e,target:s}=this._pan_state,{dx:n,dy:i}=t;switch(s.type){case\"node\":{const{i:t}=s;return e.translate(n,i,t)}case\"edge\":{const{i:t}=s;return e.translate(n,i,t,t+1)}case\"area\":return e.translate(n,i)}})(),{x:s,y:n}=this._mappers(),i=s.v_invert(e.xs),o=n.v_invert(e.ys);this.model.update({xs:i,ys:o}),this.model.pan.emit([\"pan\",t])}_pan_end(t){this._pan_state=null,this.model.pan.emit([\"pan:end\",t])}get _has_hover(){const{hover_line:t,hover_fill:e,hover_hatch:s}=this.visuals;return t.doit||e.doit||s.doit}_move_start(t){const{_has_hover:e}=this;return e&&(this._is_hovered=!0,this.request_paint()),e}_move(t){}_move_end(t){this._has_hover&&(this._is_hovered=!1,this.request_paint())}cursor(t,e){var s,n;const i=null!==(n=null===(s=this._pan_state)||void 0===s?void 0:s.target)&&void 0!==n?n:this._hit_test(t,e);if(null==i||!this._can_hit(i))return null;switch(i.type){case\"node\":case\"edge\":case\"area\":return\"move\"}}}s.PolyAnnotationView=m,o=h.auto_ranged,m.__name__=\"PolyAnnotationView\";class f extends l.Annotation{constructor(t){super(t),this.pan=new d.Signal(this,\"pan\")}update({xs:t,ys:e}){this.setv({xs:t.slice(),ys:e.slice(),visible:!0})}clear(){this.setv({xs:[],ys:[],visible:!1})}}s.PolyAnnotation=f,a=f,f.__name__=\"PolyAnnotation\",a.prototype.default_view=m,a.mixins([_.Line,_.Fill,_.Hatch,[\"hover_\",_.Line],[\"hover_\",_.Fill],[\"hover_\",_.Hatch]]),a.define((({Boolean:t,Number:e,Arrayable:s})=>({xs:[s(e),[]],ys:[s(e),[]],xs_units:[c.CoordinateUnits,\"data\"],ys_units:[c.CoordinateUnits,\"data\"],editable:[t,!1]}))),a.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3,hover_fill_color:null,hover_fill_alpha:.4,hover_line_color:null,hover_line_alpha:.3})},\n", + " function _(e,l,o,i,t){var n;i();const s=e(1),a=e(73),_=s.__importStar(e(78));class c extends a.AnnotationView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render()))}_render(){const{gradient:e,y_intercept:l}=this.model;if(null==e||null==l)return;const{frame:o}=this.plot_view,i=this.coordinates.x_scale,t=this.coordinates.y_scale,[n,s,a,_]=(()=>{if(0==e){const e=t.compute(l),i=e;return[o.bbox.left,o.bbox.right,e,i]}{const n=o.bbox.top,s=o.bbox.bottom,a=t.invert(n),_=t.invert(s),c=(a-l)/e,r=(_-l)/e,h=i.compute(c),b=i.compute(r);return h<=b?[h,b,n,s]:[b,h,s,n]}})(),{ctx:c}=this.layer;if(c.save(),this.visuals.above_fill.doit||this.visuals.above_hatch.doit){const{left:e,right:l,top:i,bottom:t}=o.bbox;c.beginPath(),c.moveTo(n,a),c.lineTo(n,a),c.lineTo(s,_),c.lineTo(s,_),a<=_?(se&&c.lineTo(e,t)),c.closePath(),this.visuals.above_fill.apply(c),this.visuals.above_hatch.apply(c)}if(this.visuals.below_fill.doit||this.visuals.below_hatch.doit){const{left:e,right:l,top:i,bottom:t}=o.bbox;c.beginPath(),c.moveTo(n,a),c.lineTo(n,a),c.lineTo(s,_),a<=_?(c.lineTo(l,t),c.lineTo(e,t),n>e&&c.lineTo(e,i)):(s({gradient:[l(e),null],y_intercept:[l(e),null]}))),n.override({line_color:\"black\",above_fill_color:null,above_fill_alpha:.4,below_fill_color:null,below_fill_alpha:.4})},\n", + " function _(t,e,i,n,s){var o;n();const a=t(1),l=t(73),r=a.__importStar(t(78)),h=t(19),_=t(210),c=t(15),d=t(12);class u{constructor(t,e){this.p0=t,this.p1=e}clone(){return new u(Object.assign({},this.p0),Object.assign({},this.p1))}hit_test(t,e=2.5){return(0,_.dist_to_segment)(t,this.p0,this.p1)this.plot_view.request_paint(this)))}_render(){const{location:t,location_units:e}=this.model;if(null==t)return;function i(t,e,i,n,s){switch(e){case\"canvas\":return s.compute(t);case\"screen\":return n.compute(t);case\"data\":return i.compute(t)}}const{frame:n,canvas:s}=this.plot_view,{x_scale:o,y_scale:a}=this.coordinates;let l,r,h,_;\"width\"==this.model.dimension?(h=i(t,e,a,n.bbox.yview,s.bbox.y_screen),r=n.bbox.left,_=n.bbox.width,l=this.model.line_width):(h=n.bbox.top,r=i(t,e,o,n.bbox.xview,s.bbox.y_screen),_=this.model.line_width,l=n.bbox.height);const c={x:r,y:h},d={x:r+_,y:h+l};this.line=new u(c,d);const{_is_hovered:p,visuals:m}=this,v=p&&m.hover_line.doit?m.hover_line:m.line,{ctx:b}=this.layer;b.save(),b.beginPath(),this.visuals.line.set_value(b),b.moveTo(r,h),\"width\"==this.model.dimension?b.lineTo(r+_,h):b.lineTo(r,h+l),v.apply(b),b.restore()}interactive_hit(t,e){return!(!this.model.visible||!this.model.editable)&&null!=this._hit_test(t,e)}_hit_test(t,e){const i=Math.max(2.5,this.model.line_width/2);return this.line.hit_test({x:t,y:e},i)?\"edge\":null}_can_hit(t){return!0}_pan_start(t){if(this.model.visible&&this.model.editable){const{sx:e,sy:i}=t,n=this._hit_test(e,i);if(null!=n&&this._can_hit(n))return this._pan_state={line:this.line.clone(),target:n},this.model.pan.emit([\"pan:start\",t]),!0}return!1}_pan(t){function e(t,e,i,n,s){switch(e){case\"canvas\":return s.invert(t);case\"screen\":return n.invert(t);case\"data\":return i.invert(t)}}(0,d.assert)(null!=this._pan_state);const i=(()=>{const{dx:e,dy:i}=t,{line:n}=this._pan_state;return\"width\"==this.model.dimension?n.translate(0,i).p0.y:n.translate(e,0).p0.x})(),n=(()=>{const{location_units:t}=this.model,{frame:n,canvas:s}=this.plot_view,{x_scale:o,y_scale:a}=this.coordinates;return\"width\"==this.model.dimension?e(i,t,a,n.bbox.yview,s.bbox.y_screen):e(i,t,o,n.bbox.xview,s.bbox.y_screen)})();this.model.location=n,this.model.pan.emit([\"pan\",t])}_pan_end(t){this._pan_state=null,this.model.pan.emit([\"pan:end\",t])}get _has_hover(){const{hover_line:t}=this.visuals;return t.doit}_move_start(t){const{_has_hover:e}=this;return e&&(this._is_hovered=!0,this.request_paint()),e}_move(t){}_move_end(t){this._has_hover&&(this._is_hovered=!1,this.request_paint())}cursor(t,e){var i,n;const s=null!==(n=null===(i=this._pan_state)||void 0===i?void 0:i.target)&&void 0!==n?n:this._hit_test(t,e);return null!=s&&this._can_hit(s)?\"width\"==this.model.dimension?\"ns-resize\":\"ew-resize\":null}}i.SpanView=p,p.__name__=\"SpanView\";class m extends l.Annotation{constructor(t){super(t),this.pan=new c.Signal(this,\"pan\")}}i.Span=m,o=m,m.__name__=\"Span\",o.prototype.default_view=p,o.mixins([r.Line,[\"hover_\",r.Line]]),o.define((({Boolean:t,Number:e,Nullable:i})=>({location:[i(e),null],location_units:[h.CoordinateUnits,\"data\"],dimension:[h.Dimension,\"width\"],editable:[t,!1]}))),o.override({line_color:\"black\",hover_line_color:null,hover_line_alpha:.3})},\n", + " function _(e,i,t,o,s){var l;o();const a=e(73),n=e(256),r=e(59),h=e(56),_=e(144),v=e(57);class b extends a.AnnotationView{constructor(){super(...arguments),this.el=(0,h.div)(),this._previous_bbox=new v.BBox}update_layout(){this.layout=new _.SideLayout(this.panel,(()=>this.get_size()),!0)}has_finished(){return super.has_finished()&&this.toolbar_view.has_finished()}*children(){yield*super.children(),yield this.toolbar_view}async lazy_initialize(){await super.lazy_initialize(),this.toolbar_view=await(0,r.build_view)(this.model.toolbar,{parent:this.canvas})}connect_signals(){super.connect_signals(),this.plot_view.mouseenter.connect((()=>{this.toolbar_view.set_visibility(!0)})),this.plot_view.mouseleave.connect((()=>{this.toolbar_view.set_visibility(!1)}))}remove(){this.toolbar_view.remove(),(0,h.remove)(this.el),super.remove()}_render(){(0,h.display)(this.el);const{bbox:e}=this.layout;if(!this._previous_bbox.equals(e)){(0,h.position)(this.el,e),this._previous_bbox=e,(0,h.empty)(this.el),this.el.style.position=\"absolute\";const{style:i}=this.toolbar_view.el;this.toolbar_view.model.horizontal?(i.width=\"100%\",i.height=\"unset\"):(i.width=\"unset\",i.height=\"100%\"),this.toolbar_view.render(),this.plot_view.canvas_view.add_event(this.el),this.el.appendChild(this.toolbar_view.el),this.toolbar_view.after_render()}this.model.visible||(0,h.undisplay)(this.el)}_get_size(){const{tools:e,logo:i}=this.model.toolbar;return{width:30*e.length+(null!=i?25:0)+15,height:30}}}t.ToolbarPanelView=b,b.__name__=\"ToolbarPanelView\";class d extends a.Annotation{constructor(e){super(e)}}t.ToolbarPanel=d,l=d,d.__name__=\"ToolbarPanel\",l.prototype.default_view=b,l.define((({Ref:e})=>({toolbar:[e(n.Toolbar)]})))},\n", + " function _(t,e,o,s,i){var l;s();const n=t(1),a=t(18),r=t(56),c=t(59),h=t(257),_=t(19),u=t(10),v=t(32),p=t(9),d=t(8),f=t(264),g=t(265),b=t(266),m=t(271),w=t(273),T=t(274),y=t(276),z=t(267),x=n.__importStar(t(277)),C=x,I=n.__importStar(t(278)),A=I,L=n.__importDefault(t(269));class P extends h.UIElementView{constructor(){super(...arguments),this._tool_button_views=new Map,this._items=[],this._visible=null}get tool_buttons(){return this._tool_buttons.flat()}get overflow_el(){return this._overflow_el}get visible(){var t;return!!this.model.visible&&(!this.model.autohide||null!==(t=this._visible)&&void 0!==t&&t)}*children(){yield*super.children(),yield*this._tool_button_views.values()}has_finished(){if(!super.has_finished())return!1;for(const t of this._tool_button_views.values())if(!t.has_finished())return!1;return!0}initialize(){super.initialize();const{location:t}=this.model,e=\"left\"==t||\"above\"==t,o=this.model.horizontal?\"vertical\":\"horizontal\";this._overflow_menu=new z.ContextMenu([],{target:this.root.el,orientation:o,reversed:e,prevent_hide:t=>t.composedPath().includes(this._overflow_el)})}async lazy_initialize(){await super.lazy_initialize(),await this._build_tool_button_views()}connect_signals(){super.connect_signals();const{buttons:t,tools:e}=this.model.properties;this.on_change([t,e],(async()=>{await this._build_tool_button_views(),this.render()})),this.connect(this.model.properties.autohide.change,(()=>{this._on_visible_change()}))}stylesheets(){return[...super.stylesheets(),x.default,I.default,L.default]}remove(){(0,c.remove_views)(this._tool_button_views),super.remove()}async _build_tool_button_views(){this._tool_buttons=(()=>{const{buttons:t}=this.model;if(\"auto\"==t){return[...(0,p.values)(this.model.gestures).map((t=>t.tools)),this.model.actions,this.model.inspectors.filter((t=>t.toggleable)),this.model.auxiliaries].map((t=>t.map((t=>t.tool_button()))))}return(0,u.split)(t,null)})(),await(0,c.build_views)(this._tool_button_views,this._tool_buttons.flat(),{parent:this})}set_visibility(t){t!=this._visible&&(this._visible=t,this._on_visible_change())}_on_visible_change(){this.el.classList.toggle(C.hidden,!this.visible)}_after_resize(){super._after_resize(),this._after_render()}render(){super.render(),this.el.classList.add(C[this.model.location]),this.el.classList.toggle(C.inner,this.model.inner),this._on_visible_change();const{horizontal:t}=this.model;this._overflow_el=(0,r.div)({class:C.tool_overflow,tabIndex:0},t?\"\\u22ee\":\"\\u22ef\");const e=()=>{const t=(()=>{switch(this.model.location){case\"right\":return{left_of:this._overflow_el};case\"left\":return{right_of:this._overflow_el};case\"above\":return{below:this._overflow_el};case\"below\":return{above:this._overflow_el}}})();this._overflow_menu.toggle(t)};if(this._overflow_el.addEventListener(\"click\",(()=>{e()})),this._overflow_el.addEventListener(\"keydown\",(t=>{\"Enter\"==t.key&&e()})),this._items=[],null!=this.model.logo){const t=\"grey\"===this.model.logo?A.grey:null,e=(0,r.a)({href:\"https://bokeh.org/\",target:\"_blank\",class:[A.logo,A.logo_small,t]});this._items.push(e),this.shadow_el.appendChild(e)}for(const[,t]of this._tool_button_views)t.render(),t.after_render();const o=this._tool_buttons.map((t=>t.map((t=>this._tool_button_views.get(t).el)))).filter((t=>0!=t.length)),s=()=>(0,r.div)({class:C.divider});for(const t of(0,v.join)(o,s))this._items.push(t),this.shadow_el.appendChild(t)}_after_render(){super._after_render(),(0,u.clear)(this._overflow_menu.items),this.shadow_el.contains(this._overflow_el)&&this.shadow_el.removeChild(this._overflow_el);for(const t of this._items)this.shadow_el.contains(t)||this.shadow_el.append(t);const{horizontal:t}=this.model,{bbox:e}=this,o=t?C.right:C.above;let s=0,i=!1;for(const l of this._items)if(i)this.shadow_el.removeChild(l),this._overflow_menu.items.push({content:l,class:o});else{const{width:n,height:a}=l.getBoundingClientRect();s+=t?n:a,i=t?s>e.width-15:s>e.height-15,i&&(this.shadow_el.removeChild(l),this.shadow_el.appendChild(this._overflow_el),this._overflow_menu.items.push({content:l,class:o}))}}}function S(){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}}}o.ToolbarView=P,P.__name__=\"ToolbarView\",o.Drag=f.Tool,o.Inspection=f.Tool,o.Scroll=f.Tool,o.Tap=f.Tool;class k extends h.UIElement{constructor(t){super(t)}get horizontal(){return\"above\"==this.location||\"below\"==this.location}get vertical(){return\"left\"==this.location||\"right\"==this.location}connect_signals(){super.connect_signals();const{tools:t,active_drag:e,active_inspect:o,active_scroll:s,active_tap:i,active_multi:l}=this.properties;this.on_change([t,e,o,s,i,l],(()=>{this._init_tools(),this._activate_tools()}))}initialize(){super.initialize(),this._init_tools(),this._activate_tools()}_init_tools(){const t=new Set;function e(e,o){const s=(e instanceof g.ToolProxy?e.underlying:e)instanceof o;return s&&t.add(e),s}const o=this.tools.filter((t=>e(t,w.InspectTool)));this.inspectors=o;const s=this.tools.filter((t=>e(t,y.HelpTool)));this.help=s;const i=this.tools.filter((t=>e(t,T.ActionTool)));this.actions=i;const 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)e(t,m.GestureTool)&&l[t.event_role].tools.push(t);for(const t of(0,p.fields)(l)){const e=this.gestures[t];e.tools=(0,u.sort_by)(l[t].tools,(t=>t.default_order)),null!=e.active&&(0,u.every)(e.tools,(t=>{var o;return t.id!=(null===(o=e.active)||void 0===o?void 0:o.id)}))&&(e.active=null)}const n=this.tools.filter((e=>!t.has(e)));this.auxiliaries=n}_activate_tools(){if(\"auto\"==this.active_inspect);else if(null==this.active_inspect)for(const t of this.inspectors)t.active=!1;else if((0,d.isArray)(this.active_inspect)){const t=(0,u.intersection)(this.active_inspect,this.inspectors);t.length!=this.active_inspect.length&&(this.active_inspect=t);for(const t of this.inspectors)(0,u.includes)(this.active_inspect,t)||(t.active=!1)}else{let t=!1;for(const e of this.inspectors)e!=this.active_inspect?e.active=!1:t=!0;t||(this.active_inspect=null)}const t=t=>{t.active?this._active_change(t):t.active=!0};for(const t of(0,p.values)(this.gestures))for(const e of t.tools)this.connect(e.properties.active.change,(()=>this._active_change(e)));function e(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\";default:return null}}function o(t){return\"tap\"==t||\"pan\"==t}for(const[s,i]of(0,p.entries)(this.gestures)){const l=s,n=e(l);if(null!=n){const e=this[n];if(\"auto\"==e)0!=i.tools.length&&o(l)&&t(i.tools[0]);else if(null!=e)(0,u.includes)(this.tools,e)?t(e):this[n]=null;else{this.gestures[l].active=null;for(const t of this.gestures[l].tools)t.active=!1}}}}_active_change(t){const{event_types:e}=t;for(const o of e)if(t.active){const e=this.gestures[o].active;null!=e&&t!=e&&(a.logger.debug(`Toolbar: deactivating tool: ${e} for event type '${o}'`),e.active=!1),this.gestures[o].active=t,a.logger.debug(`Toolbar: activating tool: ${t} for event type '${o}'`)}else this.gestures[o].active=null}}o.Toolbar=k,l=k,k.__name__=\"Toolbar\",l.prototype.default_view=P,l.define((({Boolean:t,Array:e,Or:s,Ref:i,Nullable:l,Auto:n})=>({tools:[e(s(i(f.Tool),i(g.ToolProxy))),[]],logo:[l(_.Logo),\"normal\"],autohide:[t,!1],active_drag:[l(s(i(o.Drag),n)),\"auto\"],active_inspect:[l(s(i(o.Inspection),e(i(o.Inspection)),n)),\"auto\"],active_scroll:[l(s(i(o.Scroll),n)),\"auto\"],active_tap:[l(s(i(o.Tap),n)),\"auto\"],active_multi:[l(s(i(m.GestureTool),n)),\"auto\"]}))),l.internal((({Array:t,Boolean:e,Ref:o,Or:s,Struct:i,Nullable:l,Null:n,Auto:a})=>{const r=i({tools:t(o(m.GestureTool)),active:l(o(m.GestureTool))}),c=i({pan:r,scroll:r,pinch:r,tap:r,doubletap:r,press:r,pressup:r,rotate:r,move:r,multi:r});return{buttons:[s(t(s(o(b.ToolButton),n)),a),\"auto\"],location:[_.Location,\"right\"],inner:[e,!1],gestures:[c,S],actions:[t(s(o(T.ActionTool),o(g.ToolProxy))),[]],inspectors:[t(s(o(w.InspectTool),o(g.ToolProxy))),[]],auxiliaries:[t(s(o(f.Tool),o(g.ToolProxy))),[]],help:[t(s(o(y.HelpTool),o(g.ToolProxy))),[]]}}))},\n", + " function _(e,t,s,i,l){var n;i();const r=e(1),o=e(50),_=e(258),h=e(259),a=e(18),p=e(55),d=e(56),y=e(260),c=e(9),u=e(57),b=e(8),f=r.__importDefault(e(263)),{round:g,floor:x}=Math;function*S(e){if(e instanceof _.Styles){const t=new Set((0,c.keys)(o.Model.prototype._props));for(const s of e)t.has(s.attr)||(yield[s.attr,s.get_value()])}else yield*(0,c.entries)(e)}class m extends p.DOMComponentView{constructor(){super(...arguments),this._display=new d.InlineStyleSheet,this.style=new d.InlineStyleSheet,this._bbox=new u.BBox,this._is_displayed=!1}*_css_classes(){yield*super._css_classes(),yield*this.model.css_classes}*_stylesheets(){yield*super._stylesheets(),yield this.style,yield this._display,yield*this._computed_stylesheets()}*_computed_stylesheets(){for(const e of this.model.stylesheets)if((0,b.isString)(e))yield new d.InlineStyleSheet(e);else if(e instanceof h.StyleSheet)yield e.underlying();else{const t=[];for(const[s,i]of(0,c.entries)(e)){t.push(`${s} {`);for(const[e,s]of S(i)){const i=e.replace(/_/g,\"-\");(0,b.isString)(s)&&0!=s.length&&t.push(` ${i}: ${s};`)}t.push(\"}\")}const s=t.join(\"\\n\");yield new d.InlineStyleSheet(s)}}stylesheets(){return[...super.stylesheets(),f.default]}update_style(){this.style.clear()}box_sizing(){return{width_policy:\"auto\",height_policy:\"auto\",width:null,height:null,aspect_ratio:null}}get bbox(){return this._bbox}update_bbox(){return this._update_bbox()}_update_bbox(){const e=(()=>{if(this.el.isConnected){if(null!=this.el.offsetParent)return!0;{const{position:e,display:t}=getComputedStyle(this.el);return\"fixed\"==e&&\"none\"!=t}}return!1})(),t=e?(()=>{const e=this.el.getBoundingClientRect(),{left:t,top:s}=(()=>{if(null!=this.parent){const t=this.parent.el.getBoundingClientRect();return{left:e.left-t.left,top:e.top-t.top}}return{left:0,top:0}})();return new u.BBox({left:g(t),top:g(s),width:x(e.width),height:x(e.height)})})():new u.BBox,s=!this._bbox.equals(t);return this._bbox=t,this._is_displayed=e,s}initialize(){super.initialize(),this._resize_observer=new ResizeObserver((e=>this.after_resize())),this._resize_observer.observe(this.el,{box:\"border-box\"})}connect_signals(){super.connect_signals();const{visible:e,styles:t,css_classes:s,stylesheets:i}=this.model.properties;this.on_change(e,(()=>this._update_visible())),this.on_change(t,(()=>this._update_styles())),this.on_change(s,(()=>this._update_css_classes())),this.on_change(i,(()=>this._update_stylesheets()))}remove(){this._resize_observer.disconnect(),super.remove()}_after_resize(){}after_resize(){this.update_bbox()&&this._after_resize(),this.finish()}render_to(e){super.render_to(e),this.after_render()}render(){super.render(),this._apply_styles(),this._apply_visible()}_after_render(){}after_render(){this.update_style(),this.update_bbox(),this._after_render(),this.is_displayed||this.finish()}get is_displayed(){return this._is_displayed}_apply_visible(){this.model.visible?this._display.clear():this._display.replace(\":host { display: none !important; }\")}_apply_styles(){const{styles:e}=this.model,t=(e,t)=>{const s=e in this.el.style;return s&&(0,b.isString)(t)&&(this.el.style[e]=t),s};for(const[s,i]of S(e)){const e=s.replace(/_/g,\"-\");t(e,i)||t(`-webkit-${e}`,i)||t(`-moz-${e}`,i)||a.logger.trace(`unknown CSS property '${e}'`)}}_update_visible(){this._apply_visible()}_update_styles(){this.el.removeAttribute(\"style\"),this._apply_styles()}export(e=\"auto\",t=!0){const s=\"auto\"==e||\"png\"==e?\"canvas\":\"svg\",i=new y.CanvasLayer(s,t),{width:l,height:n}=this.bbox;return i.resize(l,n),i}serializable_state(){return Object.assign(Object.assign({},super.serializable_state()),{bbox:this.bbox})}}s.UIElementView=m,m.__name__=\"UIElementView\";class v extends o.Model{constructor(e){super(e)}}s.UIElement=v,n=v,v.__name__=\"UIElement\",n.define((({Boolean:e,Array:t,Dict:s,String:i,Ref:l,Or:n,Nullable:r})=>{const o=n(s(r(i)),l(_.Styles));return{visible:[e,!0],css_classes:[t(i),[]],styles:[o,{}],stylesheets:[t(n(l(h.StyleSheet),i,s(o))),[]]}}))},\n", + " function _(l,n,u,_,e){var t;_();const o=l(50);class r extends o.Model{constructor(l){super(l)}}u.Styles=r,t=r,r.__name__=\"Styles\",t.define((({String:l,Nullable:n})=>({align_content:[n(l),null],align_items:[n(l),null],align_self:[n(l),null],alignment_baseline:[n(l),null],all:[n(l),null],animation:[n(l),null],animation_delay:[n(l),null],animation_direction:[n(l),null],animation_duration:[n(l),null],animation_fill_mode:[n(l),null],animation_iteration_count:[n(l),null],animation_name:[n(l),null],animation_play_state:[n(l),null],animation_timing_function:[n(l),null],aspect_ratio:[n(l),null],backface_visibility:[n(l),null],background:[n(l),null],background_attachment:[n(l),null],background_clip:[n(l),null],background_color:[n(l),null],background_image:[n(l),null],background_origin:[n(l),null],background_position:[n(l),null],background_position_x:[n(l),null],background_position_y:[n(l),null],background_repeat:[n(l),null],background_size:[n(l),null],baseline_shift:[n(l),null],block_size:[n(l),null],border:[n(l),null],border_block_end:[n(l),null],border_block_end_color:[n(l),null],border_block_end_style:[n(l),null],border_block_end_width:[n(l),null],border_block_start:[n(l),null],border_block_start_color:[n(l),null],border_block_start_style:[n(l),null],border_block_start_width:[n(l),null],border_bottom:[n(l),null],border_bottom_color:[n(l),null],border_bottom_left_radius:[n(l),null],border_bottom_right_radius:[n(l),null],border_bottom_style:[n(l),null],border_bottom_width:[n(l),null],border_collapse:[n(l),null],border_color:[n(l),null],border_image:[n(l),null],border_image_outset:[n(l),null],border_image_repeat:[n(l),null],border_image_slice:[n(l),null],border_image_source:[n(l),null],border_image_width:[n(l),null],border_inline_end:[n(l),null],border_inline_end_color:[n(l),null],border_inline_end_style:[n(l),null],border_inline_end_width:[n(l),null],border_inline_start:[n(l),null],border_inline_start_color:[n(l),null],border_inline_start_style:[n(l),null],border_inline_start_width:[n(l),null],border_left:[n(l),null],border_left_color:[n(l),null],border_left_style:[n(l),null],border_left_width:[n(l),null],border_radius:[n(l),null],border_right:[n(l),null],border_right_color:[n(l),null],border_right_style:[n(l),null],border_right_width:[n(l),null],border_spacing:[n(l),null],border_style:[n(l),null],border_top:[n(l),null],border_top_color:[n(l),null],border_top_left_radius:[n(l),null],border_top_right_radius:[n(l),null],border_top_style:[n(l),null],border_top_width:[n(l),null],border_width:[n(l),null],bottom:[n(l),null],box_shadow:[n(l),null],box_sizing:[n(l),null],break_after:[n(l),null],break_before:[n(l),null],break_inside:[n(l),null],caption_side:[n(l),null],caret_color:[n(l),null],clear:[n(l),null],clip:[n(l),null],clip_path:[n(l),null],clip_rule:[n(l),null],color:[n(l),null],color_interpolation:[n(l),null],color_interpolation_filters:[n(l),null],column_count:[n(l),null],column_fill:[n(l),null],column_gap:[n(l),null],column_rule:[n(l),null],column_rule_color:[n(l),null],column_rule_style:[n(l),null],column_rule_width:[n(l),null],column_span:[n(l),null],column_width:[n(l),null],columns:[n(l),null],content:[n(l),null],counter_increment:[n(l),null],counter_reset:[n(l),null],cursor:[n(l),null],direction:[n(l),null],display:[n(l),null],dominant_baseline:[n(l),null],empty_cells:[n(l),null],fill:[n(l),null],fill_opacity:[n(l),null],fill_rule:[n(l),null],filter:[n(l),null],flex:[n(l),null],flex_basis:[n(l),null],flex_direction:[n(l),null],flex_flow:[n(l),null],flex_grow:[n(l),null],flex_shrink:[n(l),null],flex_wrap:[n(l),null],float:[n(l),null],flood_color:[n(l),null],flood_opacity:[n(l),null],font:[n(l),null],font_family:[n(l),null],font_feature_settings:[n(l),null],font_kerning:[n(l),null],font_size:[n(l),null],font_size_adjust:[n(l),null],font_stretch:[n(l),null],font_style:[n(l),null],font_synthesis:[n(l),null],font_variant:[n(l),null],font_variant_caps:[n(l),null],font_variant_east_asian:[n(l),null],font_variant_ligatures:[n(l),null],font_variant_numeric:[n(l),null],font_variant_position:[n(l),null],font_weight:[n(l),null],gap:[n(l),null],glyph_orientation_vertical:[n(l),null],grid:[n(l),null],grid_area:[n(l),null],grid_auto_columns:[n(l),null],grid_auto_flow:[n(l),null],grid_auto_rows:[n(l),null],grid_column:[n(l),null],grid_column_end:[n(l),null],grid_column_gap:[n(l),null],grid_column_start:[n(l),null],grid_gap:[n(l),null],grid_row:[n(l),null],grid_row_end:[n(l),null],grid_row_gap:[n(l),null],grid_row_start:[n(l),null],grid_template:[n(l),null],grid_template_areas:[n(l),null],grid_template_columns:[n(l),null],grid_template_rows:[n(l),null],height:[n(l),null],hyphens:[n(l),null],image_orientation:[n(l),null],image_rendering:[n(l),null],inline_size:[n(l),null],justify_content:[n(l),null],justify_items:[n(l),null],justify_self:[n(l),null],left:[n(l),null],letter_spacing:[n(l),null],lighting_color:[n(l),null],line_break:[n(l),null],line_height:[n(l),null],list_style:[n(l),null],list_style_image:[n(l),null],list_style_position:[n(l),null],list_style_type:[n(l),null],margin:[n(l),null],margin_block_end:[n(l),null],margin_block_start:[n(l),null],margin_bottom:[n(l),null],margin_inline_end:[n(l),null],margin_inline_start:[n(l),null],margin_left:[n(l),null],margin_right:[n(l),null],margin_top:[n(l),null],marker:[n(l),null],marker_end:[n(l),null],marker_mid:[n(l),null],marker_start:[n(l),null],mask:[n(l),null],mask_composite:[n(l),null],mask_image:[n(l),null],mask_position:[n(l),null],mask_repeat:[n(l),null],mask_size:[n(l),null],mask_type:[n(l),null],max_block_size:[n(l),null],max_height:[n(l),null],max_inline_size:[n(l),null],max_width:[n(l),null],min_block_size:[n(l),null],min_height:[n(l),null],min_inline_size:[n(l),null],min_width:[n(l),null],object_fit:[n(l),null],object_position:[n(l),null],opacity:[n(l),null],order:[n(l),null],orphans:[n(l),null],outline:[n(l),null],outline_color:[n(l),null],outline_offset:[n(l),null],outline_style:[n(l),null],outline_width:[n(l),null],overflow:[n(l),null],overflow_anchor:[n(l),null],overflow_wrap:[n(l),null],overflow_x:[n(l),null],overflow_y:[n(l),null],overscroll_behavior:[n(l),null],overscroll_behavior_block:[n(l),null],overscroll_behavior_inline:[n(l),null],overscroll_behavior_x:[n(l),null],overscroll_behavior_y:[n(l),null],padding:[n(l),null],padding_block_end:[n(l),null],padding_block_start:[n(l),null],padding_bottom:[n(l),null],padding_inline_end:[n(l),null],padding_inline_start:[n(l),null],padding_left:[n(l),null],padding_right:[n(l),null],padding_top:[n(l),null],page_break_after:[n(l),null],page_break_before:[n(l),null],page_break_inside:[n(l),null],paint_order:[n(l),null],perspective:[n(l),null],perspective_origin:[n(l),null],place_content:[n(l),null],place_items:[n(l),null],place_self:[n(l),null],pointer_events:[n(l),null],position:[n(l),null],quotes:[n(l),null],resize:[n(l),null],right:[n(l),null],rotate:[n(l),null],row_gap:[n(l),null],ruby_align:[n(l),null],ruby_position:[n(l),null],scale:[n(l),null],scroll_behavior:[n(l),null],shape_rendering:[n(l),null],stop_color:[n(l),null],stop_opacity:[n(l),null],stroke:[n(l),null],stroke_dasharray:[n(l),null],stroke_dashoffset:[n(l),null],stroke_linecap:[n(l),null],stroke_linejoin:[n(l),null],stroke_miterlimit:[n(l),null],stroke_opacity:[n(l),null],stroke_width:[n(l),null],tab_size:[n(l),null],table_layout:[n(l),null],text_align:[n(l),null],text_align_last:[n(l),null],text_anchor:[n(l),null],text_combine_upright:[n(l),null],text_decoration:[n(l),null],text_decoration_color:[n(l),null],text_decoration_line:[n(l),null],text_decoration_style:[n(l),null],text_emphasis:[n(l),null],text_emphasis_color:[n(l),null],text_emphasis_position:[n(l),null],text_emphasis_style:[n(l),null],text_indent:[n(l),null],text_justify:[n(l),null],text_orientation:[n(l),null],text_overflow:[n(l),null],text_rendering:[n(l),null],text_shadow:[n(l),null],text_transform:[n(l),null],text_underline_position:[n(l),null],top:[n(l),null],touch_action:[n(l),null],transform:[n(l),null],transform_box:[n(l),null],transform_origin:[n(l),null],transform_style:[n(l),null],transition:[n(l),null],transition_delay:[n(l),null],transition_duration:[n(l),null],transition_property:[n(l),null],transition_timing_function:[n(l),null],translate:[n(l),null],unicode_bidi:[n(l),null],user_select:[n(l),null],vertical_align:[n(l),null],visibility:[n(l),null],white_space:[n(l),null],widows:[n(l),null],width:[n(l),null],will_change:[n(l),null],word_break:[n(l),null],word_spacing:[n(l),null],word_wrap:[n(l),null],writing_mode:[n(l),null],z_index:[n(l),null]})))},\n", + " function _(e,n,t,l,r){var s,i;l();const u=e(1),S=e(50),_=u.__importStar(e(56));class h extends S.Model{constructor(e){super(e)}}t.StyleSheet=h,h.__name__=\"StyleSheet\";class y extends h{constructor(e){super(e)}underlying(){return new _.InlineStyleSheet(this.css)}}t.InlineStyleSheet=y,s=y,y.__name__=\"InlineStyleSheet\",s.define((({String:e})=>({css:[e]})));class d extends h{constructor(e){super(e)}underlying(){return new _.ImportedStyleSheet(this.url)}}t.ImportedStyleSheet=d,i=d,d.__name__=\"ImportedStyleSheet\",i.define((({String:e})=>({url:[e]})));class o extends y{constructor(e){super(e),this._underlying=null}underlying(){return null==this._underlying&&(this._underlying=new _.GlobalInlineStyleSheet(this.css)),this._underlying}}t.GlobalInlineStyleSheet=o,o.__name__=\"GlobalInlineStyleSheet\";class c extends d{constructor(e){super(e),this._underlying=null}underlying(){return null==this._underlying&&(this._underlying=new _.GlobalInlineStyleSheet(this.url)),this._underlying}}t.GlobalImportedStyleSheet=c,c.__name__=\"GlobalImportedStyleSheet\"},\n", + " function _(t,e,s,i,a){i();const n=t(261),r=t(57),h=t(56);class o{get canvas(){return this._canvas}get ctx(){return this._ctx}get el(){return this._el}constructor(t,e){switch(this.pixel_ratio=1,this.bbox=new r.BBox,this.backend=t,this.hidpi=e,t){case\"webgl\":case\"canvas\":{this._el=this._canvas=(0,h.canvas)({class:\"bk-layer\"});const t=this.canvas.getContext(\"2d\");if(null==t)throw new Error(\"unable to obtain 2D rendering context\");this._ctx=t,e&&(this.pixel_ratio=devicePixelRatio);break}case\"svg\":{const t=new n.SVGRenderingContext2D;this._ctx=t,this._canvas=t.get_svg(),this._el=(0,h.div)({class:\"bk-layer\"});this._el.attachShadow({mode:\"open\"}).appendChild(this._canvas);break}}this._ctx.layer=this}resize(t,e){if(this.bbox.width==t&&this.bbox.height==e)return;this.bbox=new r.BBox({left:0,top:0,width:t,height:e});const{target:s}=this;s.width=t*this.pixel_ratio,s.height=e*this.pixel_ratio}get target(){return this._ctx instanceof n.SVGRenderingContext2D?this._ctx:this.canvas}undo_transform(t){const{ctx:e}=this,s=e.getTransform();e.resetTransform();try{t(e)}finally{e.setTransform(s)}}prepare(){const{ctx:t,hidpi:e,pixel_ratio:s}=this;t.save(),e&&(t.scale(s,s),t.translate(.5,.5)),this.clear()}clear(){const{x:t,y:e,width:s,height:i}=this.bbox;this.ctx.clearRect(t,e,s,i)}finish(){this.ctx.restore()}to_blob(){const{_canvas:t}=this;if(t instanceof HTMLCanvasElement)return new Promise(((e,s)=>{t.toBlob((t=>null!=t?e(t):s()),\"image/png\")}));{const t=this._ctx.get_serialized_svg(!0),e=new Blob([t],{type:\"image/svg+xml\"});return Promise.resolve(e)}}}s.CanvasLayer=o,o.__name__=\"CanvasLayer\"},\n", + " function _(t,e,i,s,r){s();const n=t(153),a=t(8),o=t(262),l=t(11),h=t(56);function _(t){const e={left:\"start\",right:\"end\",center:\"middle\",start:\"start\",end:\"end\"};return t in e?e[t]:e.start}function c(t){const e={alphabetic:\"alphabetic\",hanging:\"hanging\",top:\"text-before-edge\",bottom:\"text-after-edge\",middle:\"central\"};return t in e?e[t]:e.alphabetic}const p=function(t,e){const i=new Map,s=t.split(\",\");e=null!=e?e:10;for(let t=0;t=0?Math.acos(e):-Math.acos(e)}const v=b(f),A=b(g);this.lineTo(d+f[0]*r,m+f[1]*r),this.arc(d,m,r,v,A)}stroke(){\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"fill\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"stroke\"),null!=this._clip_path&&this.__currentElement.setAttribute(\"clip-path\",this._clip_path)}fill(t,e){let i=null;if(t instanceof Path2D)i=t;else{if(null!=e)throw new Error(\"invalid arguments\");e=t}if(null!=i)throw new Error(\"not implemented\");\"none\"!=this.__currentElement.getAttribute(\"fill\")&&this.__init_element(),\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"stroke\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"fill\"),null!=e&&this.__currentElement.setAttribute(\"fill-rule\",e),null!=this._clip_path&&this.__currentElement.setAttribute(\"clip-path\",this._clip_path)}rect(t,e,i,s){isFinite(t+e+i+s)&&(this.moveTo(t,e),this.lineTo(t+i,e),this.lineTo(t+i,e+s),this.lineTo(t,e+s),this.lineTo(t,e),this.closePath())}fillRect(t,e,i,s){isFinite(t+e+i+s)&&(this.beginPath(),this.rect(t,e,i,s),this.fill())}strokeRect(t,e,i,s){isFinite(t+e+i+s)&&(this.beginPath(),this.rect(t,e,i,s),this.stroke())}__clearCanvas(){(0,h.empty)(this.__defs),(0,h.empty)(this.__root),this.__root.appendChild(this.__defs),this.__currentElement=this.__root}clearRect(t,e,i,s){if(!isFinite(t+e+i+s))return;if(0===t&&0===e&&i===this.width&&s===this.height)return void this.__clearCanvas();const r=this.__createElement(\"rect\",{x:t,y:e,width:i,height:s,fill:\"#FFFFFF\"},!0);this._apply_transform(r),this.__root.appendChild(r)}roundRect(t,e,i,s,r){throw new Error(\"not implemented\")}createLinearGradient(t,e,i,s){if(!isFinite(t+e+i+s))throw new Error(\"The provided double value is non-finite\");const[r,n]=this._transform.apply(t,e),[a,o]=this._transform.apply(i,s),l=this.__createElement(\"linearGradient\",{id:this._random_string(),x1:`${r}px`,x2:`${a}px`,y1:`${n}px`,y2:`${o}px`,gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(l),new d(l,this)}createRadialGradient(t,e,i,s,r,n){if(!isFinite(t+e+i+s+r+n))throw new Error(\"The provided double value is non-finite\");const[a,o]=this._transform.apply(t,e),[l,h]=this._transform.apply(s,r),_=this.__createElement(\"radialGradient\",{id:this._random_string(),cx:`${l}px`,cy:`${h}px`,r:`${n}px`,r0:`${i}px`,fx:`${a}px`,fy:`${o}px`,gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(_),new d(_,this)}createConicGradient(t,e,i){throw Error(\"not implemented\")}__parseFont(){const[,t,e,i,s,,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);return{style:null!=t?t:\"normal\",size:null!=s?s:\"10px\",family:null!=r?r:\"sans-serif\",weight:null!=i?i:\"normal\",decoration:null!=e?e:\"normal\"}}__applyText(t,e,i,s){const r=this.__parseFont(),n=this.__createElement(\"text\",{\"font-family\":r.family,\"font-size\":r.size,\"font-style\":r.style,\"font-weight\":r.weight,\"text-decoration\":r.decoration,x:e,y:i,\"text-anchor\":_(this.textAlign),\"dominant-baseline\":c(this.textBaseline)},!0);n.appendChild(this.__document.createTextNode(t)),this._apply_transform(n),this.__currentElement=n,this.__applyStyleToCurrentElement(s);const a=(()=>{if(null!=this._clip_path){const t=this.__createElement(\"g\");return t.setAttribute(\"clip-path\",this._clip_path),t.appendChild(n),t}return n})();this.__root.appendChild(a)}fillText(t,e,i){isFinite(e+i)&&this.__applyText(t,e,i,\"fill\")}strokeText(t,e,i){isFinite(e+i)&&this.__applyText(t,e,i,\"stroke\")}measureText(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)}arc(t,e,i,s,r,n=!1){this.ellipse(t,e,i,i,0,s,r,n)}ellipse(t,e,i,s,r,a,o,h=!1){if(!isFinite(t+e+i+s+r+a+o))return;if(i<0||s<0)throw new DOMException(\"IndexSizeError, radius can't be negative\");const _=h?o-a:a-o;a%=2*Math.PI,o%=2*Math.PI;const c=(new n.AffineTransform).translate(t,e).rotate(r),p=i*Math.cos(a),u=s*Math.sin(a),[d,m]=c.apply(p,u);this.lineTo(d,m);const f=180*r/Math.PI,g=h?0:1;if(Math.abs(a-o)<2*l.float32_epsilon&&!(Math.abs(_)<2*l.float32_epsilon&&_<0)){const[t,e]=this._transform.apply(d,m),r=i*Math.cos(a+Math.PI),n=s*Math.sin(a+Math.PI),[o,l]=c.apply(r,n),[h,_]=this._transform.apply(o,l);this.__addPathCommand(t,e,`A ${i} ${s} ${f} 0 ${g} ${h} ${_} A ${i} ${s} ${f} 0 ${g} ${t} ${e}`)}else{const t=i*Math.cos(o),e=s*Math.sin(o),[r,n]=c.apply(t,e);let l=o-a;l<0&&(l+=2*Math.PI);const _=h!==l>Math.PI?1:0,[p,u]=this._transform.apply(r,n);this.__addPathCommand(p,u,`A ${i} ${s} ${f} ${_} ${g} ${p} ${u}`)}}clip(){const t=this.__createElement(\"clipPath\"),e=this._random_string();this.__applyCurrentDefaultPath(),t.setAttribute(\"id\",e),t.appendChild(this.__currentElement),this.__defs.appendChild(t),this._clip_path=`url(#${e})`}drawImage(t,...e){let i,s,r,n,a,o,l,h;if(2==e.length){if([i,s]=e,!isFinite(i+s))return;a=0,o=0,l=t.width,h=t.height,r=l,n=h}else if(4==e.length){if([i,s,r,n]=e,!isFinite(i+s+r+n))return;a=0,o=0,l=t.width,h=t.height}else{if(8!==e.length)throw new Error(`Inavlid number of arguments passed to drawImage: ${arguments.length}`);if([a,o,l,h,i,s,r,n]=e,!isFinite(a+o+l+h+i+s+r+n))return}const _=this.__root,c=this._transform.clone().translate(i,s);if(t instanceof f||t instanceof SVGSVGElement){const e=(t instanceof SVGSVGElement?t:t.get_svg()).cloneNode(!0);let i;c.is_identity&&1==this.globalAlpha&&null==this._clip_path?i=_:(i=this.__createElement(\"g\"),c.is_identity||this._apply_transform(i,c),1!=this.globalAlpha&&i.setAttribute(\"opacity\",`${this.globalAlpha}`),null!=this._clip_path&&i.setAttribute(\"clip-path\",this._clip_path),_.appendChild(i));for(const t of[...e.childNodes])if(t instanceof SVGDefsElement){for(const e of[...t.childNodes])if(e instanceof Element){const t=e.getAttribute(\"id\");this.__ids.add(t),this.__defs.appendChild(e.cloneNode(!0))}}else i.appendChild(t.cloneNode(!0))}else if(t instanceof HTMLImageElement||t instanceof SVGImageElement){const e=this.__createElement(\"image\");if(e.setAttribute(\"width\",`${r}`),e.setAttribute(\"height\",`${n}`),e.setAttribute(\"preserveAspectRatio\",\"none\"),1!=this.globalAlpha&&e.setAttribute(\"opacity\",`${this.globalAlpha}`),0!=a||0!=o||l!==t.width||h!==t.height){const e=this.__document.createElement(\"canvas\");e.width=r,e.height=n;e.getContext(\"2d\").drawImage(t,a,o,l,h,0,0,r,n),t=e}this._apply_transform(e,c);const i=t instanceof HTMLCanvasElement?t.toDataURL():t.getAttribute(\"src\");if(e.setAttribute(\"href\",i),null!=this._clip_path){const t=this.__createElement(\"g\");t.setAttribute(\"clip-path\",this._clip_path),t.appendChild(e),_.appendChild(t)}else _.appendChild(e)}else if(t instanceof HTMLCanvasElement){const e=this.__createElement(\"image\");e.setAttribute(\"width\",`${r}`),e.setAttribute(\"height\",`${n}`),e.setAttribute(\"preserveAspectRatio\",\"none\"),1!=this.globalAlpha&&e.setAttribute(\"opacity\",`${this.globalAlpha}`);const i=this.__document.createElement(\"canvas\");i.width=r,i.height=n;const s=i.getContext(\"2d\");if(s.imageSmoothingEnabled=!1,s.drawImage(t,a,o,l,h,0,0,r,n),t=i,this._apply_transform(e,c),e.setAttribute(\"href\",t.toDataURL()),null!=this._clip_path){const t=this.__createElement(\"g\");t.setAttribute(\"clip-path\",this._clip_path),t.appendChild(e),_.appendChild(t)}else _.appendChild(e)}}createPattern(t,e){const i=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"pattern\"),s=this._random_string();if(i.setAttribute(\"id\",s),i.setAttribute(\"width\",`${this._to_number(t.width)}`),i.setAttribute(\"height\",`${this._to_number(t.height)}`),i.setAttribute(\"patternUnits\",\"userSpaceOnUse\"),t instanceof HTMLCanvasElement||t instanceof HTMLImageElement||t instanceof SVGImageElement){const e=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"image\"),s=t instanceof HTMLCanvasElement?t.toDataURL():t.getAttribute(\"src\");e.setAttribute(\"href\",s),i.appendChild(e),this.__defs.appendChild(i)}else if(t instanceof f){for(const e of[...t.__root.childNodes])e instanceof SVGDefsElement||i.appendChild(e.cloneNode(!0));this.__defs.appendChild(i)}else{if(!(t instanceof SVGSVGElement))throw new Error(\"unsupported\");for(const e of[...t.childNodes])e instanceof SVGDefsElement||i.appendChild(e.cloneNode(!0));this.__defs.appendChild(i)}return new m(i,this)}getLineDash(){const{lineDash:t}=this;return(0,a.isString)(t)?t.split(\",\").map((t=>parseInt(t))):null==t?[]:t}setLineDash(t){t.length>0?this.lineDash=t.join(\",\"):this.lineDash=null}_to_number(t){return(0,a.isNumber)(t)?t:t.baseVal.value}getTransform(){return this._transform.to_DOMMatrix()}setTransform(...t){let e;e=(0,a.isNumber)(t[0])?new DOMMatrix(t):t[0]instanceof DOMMatrix?t[0]:new DOMMatrix(Object.values(null==t[0])),this._transform=n.AffineTransform.from_DOMMatrix(e)}resetTransform(){this._transform=new n.AffineTransform}isPointInPath(...t){throw new Error(\"not implemented\")}isPointInStroke(...t){throw new Error(\"not implemented\")}createImageData(...t){throw new Error(\"not implemented\")}getImageData(t,e,i,s){throw new Error(\"not implemented\")}putImageData(...t){throw new Error(\"not implemented\")}drawFocusIfNeeded(...t){throw new Error(\"not implemented\")}scrollPathIntoView(...t){throw new Error(\"not implemented\")}}i.SVGRenderingContext2D=f,f.__name__=\"SVGRenderingContext2D\",f.__random=o.random},\n", + " function _(t,e,n,s,r){s();const{PI:o,log:a,sin:_,cos:i,sqrt:m,floor:l}=Math;n.MAX_INT32=2147483647;class d{float(){return(this.integer()-1)/(n.MAX_INT32-1)}floats(t,e=0,n=1){const s=new Array(t);for(let r=0;rthis.uniform(t,e)))}normal(t,e){return this.normals(t,e,1)[0]}normals(t,e,n){const[s,r]=[t,e],l=new Float64Array(n);for(let t=0;t{this.model.active?this.activate():this.deactivate()}))}get overlays(){return[]}activate(){}deactivate(){}}n.ToolView=u,u.__name__=\"ToolView\";class d extends _.Model{constructor(t){super(t)}get event_role(){const{event_type:t}=this;return(0,c.isString)(t)?t:\"multi\"}get event_types(){const{event_type:t}=this;return null==t?[]:(0,c.isString)(t)?[t]:t}get tooltip(){var t;return null!==(t=this.description)&&void 0!==t?t:this.tool_name}get computed_icon(){const{icon:t,tool_icon:e}=this;return null!=t?t:null!=e?`.${e}`:void 0}get menu(){return null}_get_dim_limits([t,e],[n,o],i,s){const a=i.bbox.h_range;let r;\"width\"==s||\"both\"==s?(r=[(0,l.min)([t,n]),(0,l.max)([t,n])],r=[(0,l.max)([r[0],a.start]),(0,l.min)([r[1],a.end])]):r=[a.start,a.end];const c=i.bbox.v_range;let _;return\"height\"==s||\"both\"==s?(_=[(0,l.min)([e,o]),(0,l.max)([e,o])],_=[(0,l.max)([_[0],c.start]),(0,l.min)([_[1],c.end])]):_=[c.start,c.end],[r,_]}_get_dim_tooltip(t){const{description:e,tool_name:n}=this;return null!=e?e:\"both\"==t?n:\"auto\"==t?`${n} (either x, y or both dimensions)`:`${n} (${\"width\"==t?\"x\":\"y\"}-axis)`}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=d,s=d,d.__name__=\"Tool\",s.prototype._known_aliases=new Map,s.define((({String:t,Regex:e,Nullable:n,Or:o})=>({icon:[n(o(r.ToolIcon,e(/^--/),e(/^\\./),e(/^data:image/))),null],description:[n(t),null]}))),s.internal((({Boolean:t})=>({active:[t,!1],disabled:[t,!1]})))},\n", + " function _(t,o,e,s,n){var i;s();const l=t(15),r=t(50),c=t(264),a=t(32);class u extends r.Model{constructor(t){super(t)}get underlying(){return this.tools[0]}tool_button(){const t=this.tools[0].tool_button();return t.tool=this,t}get event_type(){return this.tools[0].event_type}get event_role(){return this.tools[0].event_role}get event_types(){return this.tools[0].event_types}get default_order(){return this.tools[0].default_order}get tooltip(){return this.tools[0].tooltip}get tool_name(){return this.tools[0].tool_name}get computed_icon(){return this.tools[0].computed_icon}get toggleable(){const t=this.tools[0];return\"toggleable\"in t&&t.toggleable}initialize(){super.initialize(),this.do=new l.Signal0(this,\"do\")}connect_signals(){super.connect_signals(),this.connect(this.do,(()=>this.doit())),this.connect(this.properties.active.change,(()=>this.set_active()));for(const t of this.tools)this.connect(t.properties.active.change,(()=>{this.active=t.active}))}doit(){for(const t of this.tools)t.do.emit()}set_active(){for(const t of this.tools)t.active=this.active}get menu(){const{menu:t}=this.tools[0];if(null==t)return null;const o=[];for(const[e,s]of(0,a.enumerate)(t))if(null==e)o.push(null);else{const t=()=>{var t,o,e;for(const n of this.tools)null===(e=null===(o=null===(t=n.menu)||void 0===t?void 0:t[s])||void 0===o?void 0:o.handler)||void 0===e||e.call(o)};o.push(Object.assign(Object.assign({},e),{handler:t}))}return o}}e.ToolProxy=u,i=u,u.__name__=\"ToolProxy\",i.define((({Boolean:t,Array:o,Ref:e})=>({tools:[o(e(c.Tool)),[]],active:[t,t=>(0,a.some)(t.tools,(t=>t.active))],disabled:[t,!1]})))},\n", + " function _(e,t,s,o,l){var i;o();const n=e(1),a=e(257),r=e(264),d=e(265),c=e(56),h=e(19),u=e(267),m=e(10),_=n.__importStar(e(270)),p=_,v=n.__importDefault(e(269));class f extends a.UIElementView{initialize(){var e;super.initialize();const{location:t}=this.parent.model,s=\"left\"==t||\"above\"==t,o=this.parent.model.horizontal?\"vertical\":\"horizontal\",l=null!==(e=this.model.tool.menu)&&void 0!==e?e:[];this._menu=new u.ContextMenu(s?(0,m.reversed)(l):l,{target:this.root.el,orientation:o,prevent_hide:e=>e.composedPath().includes(this.el)});let i=null,n=null;this.el.addEventListener(\"pointerdown\",(e=>{e.buttons==c.MouseButton.Left&&(i=e.timeStamp,n=setTimeout((()=>{i=null,n=null,this._pressed()}),250))})),this.el.addEventListener(\"pointerup\",(e=>{if(null!=n&&(clearTimeout(n),n=null),null!=i){if(e.timeStamp-i>=250)this._pressed();else{if(this._menu.is_open)return void this._menu.hide();e.composedPath().includes(this.el)&&this._clicked()}i=null}})),this.el.addEventListener(\"keydown\",(e=>{switch(e.key){case\"Enter\":this._clicked();break;case\" \":this._pressed()}}))}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.render())),this.connect(this.model.tool.change,(()=>this.render()))}remove(){this._menu.remove(),super.remove()}stylesheets(){return[...super.stylesheets(),_.default,v.default]}render(){var e,t;super.render(),this.class_list.add(p[this.parent.model.location]),this.model.tool.disabled&&this.class_list.add(p.disabled);const s=(0,c.div)({class:p.tool_icon});this.shadow_el.appendChild(s);const o=null!==(e=this.model.icon)&&void 0!==e?e:this.model.tool.computed_icon;if(null!=o)if(o.startsWith(\"data:image\")){const e=`url(\"${encodeURI(o)}\")`;s.style.backgroundImage=e}else if(o.startsWith(\"--\"))s.style.backgroundImage=`var(${o})`;else if(o.startsWith(\".\")){const e=o.substring(1);s.classList.add(e)}else if(h.ToolIcon.valid(o)){const e=`bk-tool-icon-${o.replace(/_/g,\"-\")}`;s.classList.add(e)}if(null!=this.model.tool.menu){const e=(0,c.div)({class:p.tool_chevron});this.shadow_el.appendChild(e)}const l=null!==(t=this.model.tooltip)&&void 0!==t?t:this.model.tool.tooltip;this.el.title=l,this.el.tabIndex=0}_pressed(){const e=(()=>{switch(this.parent.model.location){case\"right\":return{left_of:this.el};case\"left\":return{right_of:this.el};case\"above\":return{below:this.el};case\"below\":return{above:this.el}}})();this._menu.toggle(e)}}s.ToolButtonView=f,f.__name__=\"ToolButtonView\";class g extends a.UIElement{constructor(e){super(e)}}s.ToolButton=g,i=g,g.__name__=\"ToolButton\",i.define((({String:e,Regex:t,Ref:s,Nullable:o,Or:l})=>({tool:[l(s(r.Tool),s(d.ToolProxy))],icon:[o(l(h.ToolIcon,t(/^--/),t(/^\\./),t(/^data:image/))),null],tooltip:[o(e),null]})))},\n", + " function _(t,e,i,n,o){n();const s=t(1),l=t(56),h=t(10),r=t(8),d=s.__importStar(t(268)),a=d,u=s.__importDefault(t(269)),_=s.__importDefault(t(58));class c{get is_open(){return this._open}get can_open(){return 0!=this.items.length}constructor(t,e){var i,n,o;this.el=(0,l.div)(),this._open=!1,this._item_click=t=>{var e;null===(e=t.handler)||void 0===e||e.call(t),this.hide()},this._on_mousedown=t=>{var e,i;t.composedPath().includes(this.el)||null!==(i=null===(e=this.prevent_hide)||void 0===e?void 0:e.call(this,t))&&void 0!==i&&i||this.hide()},this._on_keydown=t=>{\"Escape\"==t.key&&this.hide()},this._on_blur=()=>{this.hide()},this.items=t,this.target=e.target,this.orientation=null!==(i=e.orientation)&&void 0!==i?i:\"vertical\",this.reversed=null!==(n=e.reversed)&&void 0!==n&&n,this.prevent_hide=e.prevent_hide,this.extra_styles=null!==(o=e.extra_styles)&&void 0!==o?o:[],this.shadow_el=this.el.attachShadow({mode:\"open\"}),this.class_list=new l.ClassList(this.el.classList)}remove(){this._unlisten(),(0,l.remove)(this.el)}_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){var e;const i=(()=>{if(\"left_of\"in t){const{left:e,top:i}=t.left_of.getBoundingClientRect();return{right:e,top:i}}if(\"right_of\"in t){const{top:e,right:i}=t.right_of.getBoundingClientRect();return{left:i,top:e}}if(\"below\"in t){const{left:e,bottom:i}=t.below.getBoundingClientRect();return{left:e,top:i}}if(\"above\"in t){const{left:e,top:i}=t.above.getBoundingClientRect();return{left:e,bottom:i}}return t})(),n=null!==(e=this.el.offsetParent)&&void 0!==e?e:document.body,o=(()=>{const t=n.getBoundingClientRect(),e=getComputedStyle(n);return{left:t.left-parseFloat(e.marginLeft),right:t.right+parseFloat(e.marginRight),top:t.top-parseFloat(e.marginTop),bottom:t.bottom+parseFloat(e.marginBottom)}})(),{style:s}=this.el;s.left=null!=i.left?i.left-o.left+\"px\":\"auto\",s.top=null!=i.top?i.top-o.top+\"px\":\"auto\",s.right=null!=i.right?o.right-i.right+\"px\":\"auto\",s.bottom=null!=i.bottom?o.bottom-i.bottom+\"px\":\"auto\"}stylesheets(){return[_.default,d.default,u.default,...this.extra_styles]}empty(){(0,l.empty)(this.shadow_el),this.class_list.clear()}render(){var t,e;this.empty();for(const t of this.stylesheets()){((0,r.isString)(t)?new l.InlineStyleSheet(t):t).install(this.shadow_el)}this.class_list.add(a[this.orientation]);const i=this.reversed?(0,h.reversed)(this.items):this.items;for(const n of i){let i;if(null==n)i=(0,l.div)({class:a.divider});else{if(null!=n.if&&!n.if())continue;if(null!=n.content)i=n.content;else{const o=null!=n.icon?(0,l.div)({class:[a.menu_icon,n.icon]}):null,s=[null!==(e=null===(t=n.active)||void 0===t?void 0:t.call(n))&&void 0!==e&&e?a.active:null,n.class];i=(0,l.div)({class:s,title:n.tooltip,tabIndex:0},o,n.label,n.content),i.addEventListener(\"click\",(()=>{this._item_click(n)})),i.addEventListener(\"keydown\",(t=>{\"Enter\"==t.key&&this._item_click(n)}))}}this.shadow_el.appendChild(i)}}show(t){var e;if(0!=this.items.length&&!this._open){if(this.render(),0==this.shadow_el.children.length)return;(null!==(e=this.target.shadowRoot)&&void 0!==e?e:this.target).appendChild(this.el),this._position(null!=t?t:{left:0,top:0}),this._listen(),this._open=!0}}hide(){this._open&&(this._open=!1,this._unlisten(),(0,l.remove)(this.el))}toggle(t){this._open?this.hide():this.show(t)}}i.ContextMenu=c,c.__name__=\"ContextMenu\"},\n", + " function _(r,o,i,e,t){e(),i.menu_icon=\"bk-menu-icon\",i.horizontal=\"bk-horizontal\",i.vertical=\"bk-vertical\",i.divider=\"bk-divider\",i.active=\"bk-active\",i.default=\".bk-menu-icon{width:28px;height:28px;mask-size:60% 60%;mask-position:center center;mask-repeat:no-repeat;-webkit-mask-size:60% 60%;-webkit-mask-position:center center;-webkit-mask-repeat:no-repeat;background-size:60%;background-color:transparent;background-repeat:no-repeat;background-position:center center;}:host{position:absolute;display:inline-flex;flex-wrap:nowrap;user-select:none;-webkit-user-select:none;width:auto;height:auto;z-index:100;cursor:pointer;font-size:var(--font-size);background-color:#fff;border:1px solid #ccc;border-radius:var(--border-radius);box-shadow:0 6px 12px rgba(0, 0, 0, 0.175);}:host(.bk-horizontal){flex-direction:row;}:host(.bk-vertical){flex-direction:column;}.bk-divider{cursor:default;overflow:hidden;background-color:#e5e5e5;}:host(.bk-horizontal) > .bk-divider{width:1px;margin:5px 0;}:host(.bk-vertical) > .bk-divider{height:1px;margin:0 5px;}:host > :not(.bk-divider){border:1px solid transparent;--active-tool-highlight:#26aae1;}:host > :not(.bk-divider).bk-active{border-color:var(--active-tool-highlight);}:host > :not(.bk-divider):hover{background-color:#f9f9f9;}:host > :not(.bk-divider):focus,:host > :not(.bk-divider):focus-visible{outline:1px dotted var(--active-tool-highlight);outline-offset:-1px;}:host > :not(.bk-divider)::-moz-focus-inner{border:0;}:host(.bk-horizontal) > :not(.bk-divider):first-child{border-top-left-radius:var(--border-radius);border-bottom-left-radius:var(--border-radius);}:host(.bk-horizontal) > :not(.bk-divider):last-child{border-top-right-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);}:host(.bk-vertical) > :not(.bk-divider):first-child{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);}:host(.bk-vertical) > :not(.bk-divider):last-child{border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);}\"},\n", + " function _(o,A,e,t,n){t(),e.tool_icon_copy=\"bk-tool-icon-copy\",e.tool_icon_replace_mode=\"bk-tool-icon-replace-mode\",e.tool_icon_append_mode=\"bk-tool-icon-append-mode\",e.tool_icon_intersect_mode=\"bk-tool-icon-intersect-mode\",e.tool_icon_subtract_mode=\"bk-tool-icon-subtract-mode\",e.tool_icon_clear_selection=\"bk-tool-icon-clear-selection\",e.tool_icon_box_select=\"bk-tool-icon-box-select\",e.tool_icon_x_box_select=\"bk-tool-icon-x-box-select\",e.tool_icon_y_box_select=\"bk-tool-icon-y-box-select\",e.tool_icon_box_zoom=\"bk-tool-icon-box-zoom\",e.tool_icon_x_box_zoom=\"bk-tool-icon-x-box-zoom\",e.tool_icon_y_box_zoom=\"bk-tool-icon-y-box-zoom\",e.tool_icon_auto_box_zoom=\"bk-tool-icon-auto-box-zoom\",e.tool_icon_zoom_in=\"bk-tool-icon-zoom-in\",e.tool_icon_zoom_out=\"bk-tool-icon-zoom-out\",e.tool_icon_help=\"bk-tool-icon-help\",e.tool_icon_hover=\"bk-tool-icon-hover\",e.tool_icon_crosshair=\"bk-tool-icon-crosshair\",e.tool_icon_lasso_select=\"bk-tool-icon-lasso-select\",e.tool_icon_pan=\"bk-tool-icon-pan\",e.tool_icon_x_pan=\"bk-tool-icon-x-pan\",e.tool_icon_y_pan=\"bk-tool-icon-y-pan\",e.tool_icon_range=\"bk-tool-icon-range\",e.tool_icon_polygon_select=\"bk-tool-icon-polygon-select\",e.tool_icon_redo=\"bk-tool-icon-redo\",e.tool_icon_reset=\"bk-tool-icon-reset\",e.tool_icon_save=\"bk-tool-icon-save\",e.tool_icon_tap_select=\"bk-tool-icon-tap-select\",e.tool_icon_undo=\"bk-tool-icon-undo\",e.tool_icon_wheel_pan=\"bk-tool-icon-wheel-pan\",e.tool_icon_wheel_zoom=\"bk-tool-icon-wheel-zoom\",e.tool_icon_box_edit=\"bk-tool-icon-box-edit\",e.tool_icon_freehand_draw=\"bk-tool-icon-freehand-draw\",e.tool_icon_poly_draw=\"bk-tool-icon-poly-draw\",e.tool_icon_point_draw=\"bk-tool-icon-point-draw\",e.tool_icon_poly_edit=\"bk-tool-icon-poly-edit\",e.tool_icon_line_edit=\"bk-tool-icon-line-edit\",e.tool_icon_settings=\"bk-tool-icon-settings\",e.tool_icon_unknown=\"bk-tool-icon-unknown\",e.tool_icon_fullscreen=\"bk-tool-icon-fullscreen\",e.tool_icon_chevron_up=\"bk-tool-icon-chevron-up\",e.tool_icon_chevron_down=\"bk-tool-icon-chevron-down\",e.tool_icon_chevron_left=\"bk-tool-icon-chevron-left\",e.tool_icon_chevron_right=\"bk-tool-icon-chevron-right\",e.tool_icon_caret_up=\"bk-tool-icon-caret-up\",e.tool_icon_caret_down=\"bk-tool-icon-caret-down\",e.tool_icon_caret_left=\"bk-tool-icon-caret-left\",e.tool_icon_caret_right=\"bk-tool-icon-caret-right\",e.tool_icon_see_on=\"bk-tool-icon-see-on\",e.tool_icon_see_off=\"bk-tool-icon-see-off\",e.default=':host{--bokeh-icon-color:#a1a6a9;--bokeh-icon-color-disabled:#d4d9db;}.bk-tool-icon-copy{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-copy);-webkit-mask-image:var(--bokeh-icon-copy);}.bk-tool-icon-replace-mode{background-image:var(--bokeh-icon-replace-mode, url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxokK3gniQAAAHpJREFUWMNjXLhsJcNAAiaGAQajDhhwB7DgEP+PxmeksvjgDwFcLmYkUh2hkBj8IcBIZXsYh1w2/I8v3sgAOM0bLYhGc8GgrwuICgldfQO88pcvXvg/aOuCUQeM5oLRuoCFCJcTbOMh5XOiW0JDNhdQS3y0IBp1ABwAAF8KGrhC1Eg6AAAAAElFTkSuQmCC\"));}.bk-tool-icon-append-mode{background-image:var(--bokeh-icon-append-mode, url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxkZWD04WwAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAoUlEQVRYw+1WQQ6AIAwrhO8Y/bIXEz9jIMSDr8ETCUEPQzA4pMeFLKNbu4l5WR0CDOMEALBGIzMuQIBEZQjPgP9JLjwTfBjY9sO9lZsFA9IafZng3BlIyVefgd8XQFZBAWe8jfNxwsDhir6rzoCiPiy1K+J8/FRQemv2XfAdFcQ9znU4Viqg9ta1qYJ+D1BnAIBrkgGVOrXNqUA9rbyZm/AEzFh4jEeY/soAAAAASUVORK5CYII=\"));}.bk-tool-icon-intersect-mode{background-image:var(--bokeh-icon-intersect-mode, url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxkrkOpp2wAAAPhJREFUWMPtV1EKwjAMTUavI3oawR/vtn5srJdREfzwMvHHQlcT2mpdMzFfWxiP5r2+JMN+mAiCOB72CABgR1cln4oOGocJnuMTSxWk8jMm7OggYkYXA9gPE3uyd8NXHONJ+eYMdE/NqCJmEZ5ZqlJJ4sUksKN7cYSaPoCZFWR1QI+Xm1fBACU63Cw22x0AAJxudwrffVwvZ+JmQdAHZkw0d4EpAMCw8k87pMdbnwtizQumJYv3nwV6XOA1qbUT/oQLUJgFRbsiNwFVucBIlyR3p0tdMp+XmFjfLKi1LatyAXtCRjPWBdL3Ke3VuACJKFfDr/xFN2fgAR/Go0qaLlmEAAAAAElFTkSuQmCC\"));}.bk-tool-icon-subtract-mode{background-image:var(--bokeh-icon-subtract-mode, url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AUFFxgsF5XNOQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAABFUlEQVRYw9VWUQqDMAxNpWfxQxD1MoP97G7zQ5mH2RTZYLtM9lWoMbXtxLXNX4OG9r28l4hrd0PQoqxqAACYpxH25C/nkwCHyCBwSPoS09k1T5Fo+4EiExcC4v584xGFmyIXHBLRISAVZyZufUPVa4rcrwmPDgr93ylo+2GliLRUYHK6th/o/6r7nfLpqaCsagEA8Hh9FmcNKeRmgeYDC+SCq0B6FFi8/BcV6BdR9cL3gCv3ijPKOacsn3rBEcjmaVxpfGcg4wHxzgJJnc6241Hn23DERFRAu1bNcWa3Q0uXi62XR6sCaWoSejbtdLYmU3kTEunNgj0bUbQqYG/IcMaqwPS9jftoVCAQ0ZVDJwf0zQdH4AsyW6fpQu4YegAAAABJRU5ErkJggg==\"));}.bk-tool-icon-clear-selection{background-image:var(--bokeh-icon-clear-selection, 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-tool-icon-box-select{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-box-select);-webkit-mask-image:var(--bokeh-icon-box-select);}.bk-tool-icon-x-box-select{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-x-box-select);-webkit-mask-image:var(--bokeh-icon-x-box-select);}.bk-tool-icon-y-box-select{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-y-box-select);-webkit-mask-image:var(--bokeh-icon-y-box-select);}.bk-tool-icon-box-zoom{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-box-zoom);-webkit-mask-image:var(--bokeh-icon-box-zoom);}.bk-tool-icon-x-box-zoom{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-x-box-zoom);-webkit-mask-image:var(--bokeh-icon-x-box-zoom);}.bk-tool-icon-y-box-zoom{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-y-box-zoom);-webkit-mask-image:var(--bokeh-icon-y-box-zoom);}.bk-tool-icon-auto-box-zoom{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-auto-box-zoom);-webkit-mask-image:var(--bokeh-icon-auto-box-zoom);}.bk-tool-icon-zoom-in{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-zoom-in);-webkit-mask-image:var(--bokeh-icon-zoom-in);}.bk-tool-icon-zoom-out{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-zoom-out);-webkit-mask-image:var(--bokeh-icon-zoom-out);}.bk-tool-icon-help{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-help);-webkit-mask-image:var(--bokeh-icon-help);}.bk-tool-icon-hover{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-hover);-webkit-mask-image:var(--bokeh-icon-hover);}.bk-tool-icon-crosshair{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-crosshair);-webkit-mask-image:var(--bokeh-icon-crosshair);}.bk-tool-icon-lasso-select{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-lasso-select);-webkit-mask-image:var(--bokeh-icon-lasso-select);}.bk-tool-icon-pan{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-pan);-webkit-mask-image:var(--bokeh-icon-pan);}.bk-tool-icon-x-pan{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-x-pan);-webkit-mask-image:var(--bokeh-icon-x-pan);}.bk-tool-icon-y-pan{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-y-pan);-webkit-mask-image:var(--bokeh-icon-y-pan);}.bk-tool-icon-range{background-image:var(--bokeh-icon-range, 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-tool-icon-polygon-select{background-image:var(--bokeh-icon-polygon-select, 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-tool-icon-redo{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-redo);-webkit-mask-image:var(--bokeh-icon-redo);}.bk-tool-icon-reset{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-reset);-webkit-mask-image:var(--bokeh-icon-reset);}.bk-tool-icon-save{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-save);-webkit-mask-image:var(--bokeh-icon-save);}.bk-tool-icon-tap-select{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-tap-select);-webkit-mask-image:var(--bokeh-icon-tap-select);}.bk-tool-icon-undo{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-undo);-webkit-mask-image:var(--bokeh-icon-undo);}.bk-tool-icon-wheel-pan{background-image:var(--bokeh-icon-wheel-pan, url(\"data:image/png;base64,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\"));}.bk-tool-icon-wheel-zoom{background-image:var(--bokeh-icon-wheel-zoom, 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-tool-icon-box-edit{background-image:var(--bokeh-icon-box-edit, url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEMEg4QfHjM1QAAAGRJREFUWMNjXLhsJcNAAiaGAQYsDAwM/+lsJ+OgCwGsLqMB+D8o08CoA0YdMOqAUQewDFQdMBoFIyoN/B/U7YFRB7DQIc7xyo9GwbBMA4xDqhxgISH1klXbDYk0QOseEeOgDgEAIS0JQleje6IAAAAASUVORK5CYII=\"));}.bk-tool-icon-freehand-draw{background-image:var(--bokeh-icon-freehand-draw, 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-tool-icon-poly-draw{background-image:var(--bokeh-icon-poly-draw, 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-tool-icon-point-draw{background-image:var(--bokeh-icon-point-draw, 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-tool-icon-poly-edit{background-image:var(--bokeh-icon-poly-edit, 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-tool-icon-line-edit{background-image:var(--bokeh-icon-line-edit, url(\"data:image/png;base64,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\"));}.bk-tool-icon-settings{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-settings);-webkit-mask-image:var(--bokeh-icon-settings);}.bk-tool-icon-unknown{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-unknown);-webkit-mask-image:var(--bokeh-icon-unknown);}.bk-tool-icon-fullscreen{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-fullscreen);-webkit-mask-image:var(--bokeh-icon-fullscreen);}.bk-tool-icon-chevron-up{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-chevron-up);-webkit-mask-image:var(--bokeh-icon-chevron-up);}.bk-tool-icon-chevron-down{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-chevron-down);-webkit-mask-image:var(--bokeh-icon-chevron-down);}.bk-tool-icon-chevron-left{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-chevron-left);-webkit-mask-image:var(--bokeh-icon-chevron-left);}.bk-tool-icon-chevron-right{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-chevron-right);-webkit-mask-image:var(--bokeh-icon-chevron-right);}.bk-tool-icon-caret-up{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-caret-up);-webkit-mask-image:var(--bokeh-icon-caret-up);}.bk-tool-icon-caret-down{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-caret-down);-webkit-mask-image:var(--bokeh-icon-caret-down);}.bk-tool-icon-caret-left{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-caret-left);-webkit-mask-image:var(--bokeh-icon-caret-left);}.bk-tool-icon-caret-right{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-caret-right);-webkit-mask-image:var(--bokeh-icon-caret-right);}.bk-tool-icon-see-on{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-see-on);-webkit-mask-image:var(--bokeh-icon-see-on);}.bk-tool-icon-see-off{background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-see-off);-webkit-mask-image:var(--bokeh-icon-see-off);}:host{--bokeh-icon-question-mark:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M8%208a3.5%203%200%200%201%203.5%20-3h1a3.5%203%200%200%201%203.5%203a3%203%200%200%201%20-2%203a3%204%200%200%200%20-2%204%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%2212%22%20y1%3D%2219%22%20x2%3D%2212%22%20y2%3D%2219.01%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-help:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%2212%22%20y1%3D%2217%22%20x2%3D%2212%22%20y2%3D%2217.01%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2013.5a1.5%201.5%200%200%201%201%20-1.5a2.6%202.6%200%201%200%20-3%20-4%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-x:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M18%206l-12%2012%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M6%206l12%2012%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-settings:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M10.325%204.317c.426%20-1.756%202.924%20-1.756%203.35%200a1.724%201.724%200%200%200%202.573%201.066c1.543%20-.94%203.31%20.826%202.37%202.37a1.724%201.724%200%200%200%201.065%202.572c1.756%20.426%201.756%202.924%200%203.35a1.724%201.724%200%200%200%20-1.066%202.573c.94%201.543%20-.826%203.31%20-2.37%202.37a1.724%201.724%200%200%200%20-2.572%201.065c-.426%201.756%20-2.924%201.756%20-3.35%200a1.724%201.724%200%200%200%20-2.573%20-1.066c-1.543%20.94%20-3.31%20-.826%20-2.37%20-2.37a1.724%201.724%200%200%200%20-1.065%20-2.572c-1.756%20-.426%20-1.756%20-2.924%200%20-3.35a1.724%201.724%200%200%200%201.066%20-2.573c-.94%20-1.543%20.826%20-3.31%202.37%20-2.37c1%20.608%202.296%20.07%202.572%20-1.065z%22%3E%3C%2Fpath%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%3E%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-unknown:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M14%203v4a1%201%200%200%200%201%201h4%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M17%2021h-10a2%202%200%200%201%20-2%20-2v-14a2%202%200%200%201%202%20-2h7l5%205v11a2%202%200%200%201%20-2%202z%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2017v.01%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2014a1.5%201.5%200%201%200%20-1.14%20-2.474%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-fullscreen:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Crect%20x%3D%223%22%20y%3D%2216%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M4%2012v-6a2%202%200%200%201%202%20-2h12a2%202%200%200%201%202%202v12a2%202%200%200%201%20-2%202h-6%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%208h4v4%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M16%208l-5%205%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-save:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M4%2017v2a2%202%200%200%200%202%202h12a2%202%200%200%200%202%20-2v-2%22%20%2F%3E%0A%20%20%3Cpolyline%20points%3D%227%2011%2012%2016%2017%2011%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%2212%22%20y1%3D%224%22%20x2%3D%2212%22%20y2%3D%2216%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-copy:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Crect%20x%3D%228%22%20y%3D%228%22%20width%3D%2212%22%20height%3D%2212%22%20rx%3D%222%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M16%208v-2a2%202%200%200%200%20-2%20-2h-8a2%202%200%200%200%20-2%202v8a2%202%200%200%200%202%202h2%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-tap-select:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cline%20x1%3D%223%22%20y1%3D%2212%22%20x2%3D%226%22%20y2%3D%2212%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%2212%22%20y1%3D%223%22%20x2%3D%2212%22%20y2%3D%226%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%227.8%22%20y1%3D%227.8%22%20x2%3D%225.6%22%20y2%3D%225.6%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%2216.2%22%20y1%3D%227.8%22%20x2%3D%2218.4%22%20y2%3D%225.6%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%227.8%22%20y1%3D%2216.2%22%20x2%3D%225.6%22%20y2%3D%2218.4%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2012l9%203l-4%202l-2%204l-3%20-9%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-lasso-select:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M4.028%2013.252c-.657%20-.972%20-1.028%20-2.078%20-1.028%20-3.252c0%20-3.866%204.03%20-7%209%20-7s9%203.134%209%207s-4.03%207%20-9%207c-1.913%200%20-3.686%20-.464%20-5.144%20-1.255%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%225%22%20cy%3D%2215%22%20r%3D%222%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M5%2017c0%201.42%20.316%202.805%201%204%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-pan:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M18%209l3%203l-3%203%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M6%209l-3%203l3%203%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M9%2018l3%203l3%20-3%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M15%206l-3%20-3l-3%203%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2012h9%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M3%2012h9%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2012v9%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%203v9%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-x-pan:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M18%209l3%203l-3%203%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M6%209l-3%203l3%203%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2012h9%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M3%2012h9%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-y-pan:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M9%2018l3%203l3%20-3%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M15%206l-3%20-3l-3%203%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2012v9%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%203v9%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-box-select:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M4%206v-1a1%201%200%200%201%201%20-1h1m5%200h2m5%200h1a1%201%200%200%201%201%201v1m0%205v2m0%205v1a1%201%200%200%201%20-1%201h-1m-5%200h-2m-5%200h-1a1%201%200%200%201%20-1%20-1v-1m0%20-5v-2%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-x-box-select:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M17%2013l-4%204%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M13%2013l4%204%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M4%206v-1a1%201%200%200%201%201%20-1h1m5%200h2m5%200h1a1%201%200%200%201%201%201v1m0%205v2m0%205v1a1%201%200%200%201%20-1%201h-1m-5%200h-2m-5%200h-1a1%201%200%200%201%20-1%20-1v-1m0%20-5v-2%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-y-box-select:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M13%2013l2%202l2%20-2%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M15%2015v2.5%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M4%206v-1a1%201%200%200%201%201%20-1h1m5%200h2m5%200h1a1%201%200%200%201%201%201v1m0%205v2m0%205v1a1%201%200%200%201%20-1%201h-1m-5%200h-2m-5%200h-1a1%201%200%200%201%20-1%20-1v-1m0%20-5v-2%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-box-zoom:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Ccircle%20cx%3D%2215%22%20cy%3D%2215%22%20r%3D%225%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M22%2022l-3%20-3%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M6%2018h-1a2%202%200%200%201%20-2%20-2v-1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M3%2011v-1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M3%206v-1a2%202%200%200%201%202%20-2h1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M10%203h1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M15%203h1a2%202%200%200%201%202%202v1%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-x-box-zoom:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M17%2013l-4%204%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M13%2013l4%204%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%2215%22%20cy%3D%2215%22%20r%3D%225%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M22%2022l-3%20-3%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M6%2018h-1a2%202%200%200%201%20-2%20-2v-1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M3%2011v-1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M3%206v-1a2%202%200%200%201%202%20-2h1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M10%203h1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M15%203h1a2%202%200%200%201%202%202v1%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-y-box-zoom:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M13%2013l2%202l2%20-2%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M15%2015v2.5%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%2215%22%20cy%3D%2215%22%20r%3D%225%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M22%2022l-3%20-3%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M6%2018h-1a2%202%200%200%201%20-2%20-2v-1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M3%2011v-1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M3%206v-1a2%202%200%200%201%202%20-2h1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M10%203h1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M15%203h1a2%202%200%200%201%202%202v1%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-auto-box-zoom:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Ccircle%20cx%3D%2215%22%20cy%3D%2215%22%20r%3D%225%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M22%2022l-3%20-3%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M6%2018h-1a2%202%200%200%201%20-2%20-2v-1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M3%2011v-1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M3%206v-1a2%202%200%200%201%202%20-2h1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M10%203h1%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M15%203h1a2%202%200%200%201%202%202v1%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-zoom-in:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%227%22%20y1%3D%2210%22%20x2%3D%2213%22%20y2%3D%2210%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%2210%22%20y1%3D%227%22%20x2%3D%2210%22%20y2%3D%2213%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%2221%22%20y1%3D%2221%22%20x2%3D%2215%22%20y2%3D%2215%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-zoom-out:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%227%22%20y1%3D%2210%22%20x2%3D%2213%22%20y2%3D%2210%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%2221%22%20y1%3D%2221%22%20x2%3D%2215%22%20y2%3D%2215%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-undo:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M9%2013l-4%20-4l4%20-4m-4%204h11a4%204%200%200%201%200%208h-1%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-redo:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M15%2013l4%20-4l-4%20-4m4%204h-11a4%204%200%200%200%200%208h1%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-reset:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M20%2011a8.1%208.1%200%200%200%20-15.5%20-2m-.5%20-4v4h4%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M4%2013a8.1%208.1%200%200%200%2015.5%202m.5%204v-4h-4%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-hover:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M12%2020l-3%20-3h-2a3%203%200%200%201%20-3%20-3v-6a3%203%200%200%201%203%20-3h10a3%203%200%200%201%203%203v6a3%203%200%200%201%20-3%203h-2l-3%203%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%228%22%20y1%3D%229%22%20x2%3D%2216%22%20y2%3D%229%22%20%2F%3E%0A%20%20%3Cline%20x1%3D%228%22%20y1%3D%2213%22%20x2%3D%2214%22%20y2%3D%2213%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-crosshair:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M20%2012h-4%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M4%2012h4%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2020v-4%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%204v4%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-chevron-up:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpolyline%20points%3D%226%2015%2012%209%2018%2015%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-chevron-down:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-chevron-left:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpolyline%20points%3D%2215%206%209%2012%2015%2018%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-chevron-right:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpolyline%20points%3D%229%206%2015%2012%209%2018%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-caret-up:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M18%2015l-6%20-6l-6%206h12%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-caret-down:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M18%2015l-6%20-6l-6%206h12%22%20transform%3D%22rotate(180%2012%2012)%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-caret-left:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M18%2015l-6%20-6l-6%206h12%22%20transform%3D%22rotate(270%2012%2012)%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-caret-right:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cpath%20d%3D%22M18%2015l-6%20-6l-6%206h12%22%20transform%3D%22rotate(90%2012%2012)%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-see-on:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M22%2012c-2.667%204.667%20-6%207%20-10%207s-7.333%20-2.333%20-10%20-7c2.667%20-4.667%206%20-7%2010%20-7s7.333%202.333%2010%207%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");--bokeh-icon-see-off:url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%222%22%20stroke%3D%22currentColor%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Cline%20x1%3D%223%22%20y1%3D%223%22%20x2%3D%2221%22%20y2%3D%2221%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M10.584%2010.587a2%202%200%200%200%202.828%202.83%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M9.363%205.365a9.466%209.466%200%200%201%202.637%20-.365c4%200%207.333%202.333%2010%207c-.778%201.361%20-1.612%202.524%20-2.503%203.488m-2.14%201.861c-1.631%201.1%20-3.415%201.651%20-5.357%201.651c-4%200%20-7.333%20-2.333%20-10%20-7c1.369%20-2.395%202.913%20-4.175%204.632%20-5.341%22%20%2F%3E%0A%3C%2Fsvg%3E%0A\");}'},\n", + " function _(o,t,e,r,i){r(),e.tool_icon=\"bk-tool-icon\",e.disabled=\"bk-disabled\",e.tool_chevron=\"bk-tool-chevron\",e.above=\"bk-above\",e.below=\"bk-below\",e.left=\"bk-left\",e.right=\"bk-right\",e.active=\"bk-active\",e.default=\":host{--button-width:30px;--button-height:30px;--button-color:lightgray;--button-border:2px;--active-tool-highlight:#26aae1;--active-tool-border:var(--button-border) solid transparent;}:host{position:relative;width:var(--button-width);height:var(--button-height);cursor:pointer;user-select:none;-webkit-user-select:none;}.bk-tool-icon{position:relative;top:calc(var(--button-border)/2);width:calc(var(--button-width) - var(--button-border));height:calc(var(--button-height) - var(--button-border));mask-size:60% 60%;mask-position:center center;mask-repeat:no-repeat;-webkit-mask-size:60% 60%;-webkit-mask-position:center center;-webkit-mask-repeat:no-repeat;background-size:60% 60%;background-origin:border-box;background-position:center center;background-repeat:no-repeat;}:host(.bk-disabled) .bk-tool-icon{background-color:var(--bokeh-icon-color-disabled);cursor:not-allowed;}.bk-tool-chevron{position:absolute;visibility:hidden;width:8px;height:8px;mask-size:100% 100%;mask-position:center center;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-position:center center;-webkit-mask-repeat:no-repeat;}:host(:hover) .bk-tool-chevron{visibility:visible;}:host(.bk-above) .bk-tool-chevron{right:0;bottom:0;background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-chevron-down);-webkit-mask-image:var(--bokeh-icon-chevron-down);}:host(.bk-below) .bk-tool-chevron{right:0;top:0;background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-chevron-up);-webkit-mask-image:var(--bokeh-icon-chevron-up);}:host(.bk-left) .bk-tool-chevron{right:0;bottom:0;background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-chevron-right);-webkit-mask-image:var(--bokeh-icon-chevron-right);}:host(.bk-right) .bk-tool-chevron{left:0;bottom:0;background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-chevron-left);-webkit-mask-image:var(--bokeh-icon-chevron-left);}:host(:hover){background-color:rgba(192, 192, 192, 0.15);}:host(:focus),:host(:focus-visible){outline:1px dotted var(--active-tool-highlight);outline-offset:-1px;}:host::-moz-focus-inner{border:0;}:host(.bk-above){border-bottom:var(--active-tool-border);}:host(.bk-above.bk-active){border-bottom-color:var(--active-tool-highlight);}:host(.bk-below){border-top:var(--active-tool-border);}:host(.bk-below.bk-active){border-top-color:var(--active-tool-highlight);}:host(.bk-right){border-left:var(--active-tool-border);}:host(.bk-right.bk-active){border-left-color:var(--active-tool-highlight);}:host(.bk-left){border-right:var(--active-tool-border);}:host(.bk-left.bk-active){border-right-color:var(--active-tool-highlight);}\"},\n", + " function _(e,o,t,n,s){n();const r=e(264),l=e(272);class u extends r.ToolView{get plot_view(){return this.parent}}t.GestureToolView=u,u.__name__=\"GestureToolView\";class _ extends r.Tool{constructor(e){super(e)}tool_button(){return new l.OnOffButton({tool:this})}}t.GestureTool=_,_.__name__=\"GestureTool\"},\n", + " function _(t,e,o,n,s){var i;n();const c=t(1),_=t(266),l=c.__importStar(t(270));class a extends _.ToolButtonView{_toggle_active(){this.class_list.toggle(l.active,this.model.tool.active)}connect_signals(){super.connect_signals();const{active:t}=this.model.tool.properties;this.on_change(t,(()=>{this._toggle_active()}))}render(){super.render(),this._toggle_active()}_clicked(){const{active:t}=this.model.tool;this.model.tool.active=!t}}o.OnOffButtonView=a,a.__name__=\"OnOffButtonView\";class r extends _.ToolButton{constructor(t){super(t)}}o.OnOffButton=r,i=r,r.__name__=\"OnOffButton\",i.prototype.default_view=a},\n", + " function _(e,o,t,n,s){var l;n();const _=e(264),c=e(272);class i extends _.ToolView{get plot_view(){return this.parent}}t.InspectToolView=i,i.__name__=\"InspectToolView\";class r extends _.Tool{constructor(e){super(e),this.event_type=\"move\"}tool_button(){return new c.OnOffButton({tool:this})}}t.InspectTool=r,l=r,r.__name__=\"InspectTool\",l.define((({Boolean:e})=>({toggleable:[e,!0]}))),l.override({active:!0})},\n", + " function _(o,t,n,s,i){s();const e=o(264),c=o(275),l=o(15);class _ extends e.ToolView{connect_signals(){super.connect_signals(),this.connect(this.model.do,(o=>this.doit(o)))}}n.ActionToolView=_,_.__name__=\"ActionToolView\";class a extends e.Tool{constructor(o){super(o),this.do=new l.Signal(this,\"do\")}tool_button(){return new c.ClickButton({tool:this})}}n.ActionTool=a,a.__name__=\"ActionTool\"},\n", + " function _(t,o,e,n,i){var c;n();const l=t(266);class _ extends l.ToolButtonView{_clicked(){this.model.tool.do.emit(void 0)}}e.ClickButtonView=_,_.__name__=\"ClickButtonView\";class s extends l.ToolButton{constructor(t){super(t)}}e.ClickButton=s,c=s,s.__name__=\"ClickButton\",c.prototype.default_view=_},\n", + " function _(o,e,t,i,l){var n;i();const s=o(274),r=o(269);class c extends s.ActionToolView{doit(){window.open(this.model.redirect)}}t.HelpToolView=c,c.__name__=\"HelpToolView\";class _ extends s.ActionTool{constructor(o){super(o),this.tool_name=\"Help\",this.tool_icon=r.tool_icon_help}}t.HelpTool=_,n=_,_.__name__=\"HelpTool\",n.prototype.default_view=c,n.define((({String:o})=>({redirect:[o,\"https://docs.bokeh.org/en/latest/docs/user_guide/interaction/tools.html\"]}))),n.override({description:\"Click the question mark to learn more about Bokeh plot tools.\"}),n.register_alias(\"help\",(()=>new _))},\n", + " function _(o,t,e,i,l){i(),e.inner=\"bk-inner\",e.hidden=\"bk-hidden\",e.logo=\"bk-logo\",e.above=\"bk-above\",e.below=\"bk-below\",e.left=\"bk-left\",e.right=\"bk-right\",e.divider=\"bk-divider\",e.tool_overflow=\"bk-tool-overflow\",e.horizontal=\"bk-horizontal\",e.vertical=\"bk-vertical\",e.default=':host{--button-width:30px;--button-height:30px;--button-color:lightgray;}:host{display:flex;flex-wrap:nowrap;align-items:center;user-select:none;-webkit-user-select:none;}:host(.bk-inner){background-color:white;opacity:0.8;}:host(.bk-hidden){visibility:hidden;opacity:0;transition:visibility 0.3s linear, opacity 0.3s linear;}.bk-logo{flex-shrink:0;}:host(.bk-above),:host(.bk-below){flex-direction:row;justify-content:flex-end;}:host(.bk-above) .bk-logo,:host(.bk-below) .bk-logo{order:1;margin-left:5px;margin-right:0px;}:host(.bk-left),:host(.bk-right){flex-direction:column;justify-content:flex-start;}:host(.bk-left) .bk-logo,:host(.bk-right) .bk-logo{order:0;margin-bottom:5px;margin-top:0px;}.bk-divider{content:\" \";display:inline-block;background-color:var(--button-color);}:host(.bk-above) .bk-divider,:host(.bk-below) .bk-divider{height:10px;width:1px;}:host(.bk-left) .bk-divider,:host(.bk-right) .bk-divider{height:1px;width:10px;}.bk-tool-overflow{color:gray;display:flex;align-items:center;}.bk-tool-overflow:hover{background-color:rgba(192, 192, 192, 0.15);}.bk-tool-overflow:focus,.bk-tool-overflow:focus-visible{outline:1px dotted var(--active-tool-highlight);outline-offset:-1px;}.bk-tool-overflow::-moz-focus-inner{border:0;}:host(.bk-above) .bk-tool-overflow,:host(.bk-below) .bk-tool-overflow,:host(.bk-horizontal) .bk-tool-overflow{width:calc(var(--button-width)/2);height:var(--button-height);flex-direction:row;}:host(.bk-left) .bk-tool-overflow,:host(.bk-right) .bk-tool-overflow,:host(.bk-vertical) .bk-tool-overflow{width:var(--button-width);height:calc(var(--button-height)/2);flex-direction:column;}'},\n", + " function _(A,l,g,o,d){o(),g.logo=\"bk-logo\",g.grey=\"bk-grey\",g.logo_small=\"bk-logo-small\",g.default=\".bk-logo{margin:5px;position:relative;display:block;background-repeat:no-repeat;}.bk-logo.bk-grey{filter:grayscale(100%);}.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==);}\"},\n", + " function _(e,i,t,s,r){var l;s();const a=e(231),h=e(139),_=e(23),n=e(59),o=e(78);class d extends a.UpperLowerView{*children(){yield*super.children();const{lower_head:e,upper_head:i}=this;null!=e&&(yield e),null!=i&&(yield i)}async lazy_initialize(){await super.lazy_initialize();const{lower_head:e,upper_head:i}=this.model;null!=e&&(this.lower_head=await(0,n.build_view)(e,{parent:this})),null!=i&&(this.upper_head=await(0,n.build_view)(i,{parent:this}))}set_data(e){var i,t;super.set_data(e);const s=_.Indices.all_set(this._lower.length);null===(i=this.lower_head)||void 0===i||i.set_data(e,s),null===(t=this.upper_head)||void 0===t||t.set_data(e,s)}paint(e){if(this.visuals.line.doit)for(let i=0,t=this._lower_sx.length;i({lower_head:[i(e(h.ArrowHead)),()=>new h.TeeHead({size:10})],upper_head:[i(e(h.ArrowHead)),()=>new h.TeeHead({size:10})]}))),l.override({level:\"underlay\"})},\n", + " function _(L,e,T,l,H){l(),H(\"HTMLLabel\",L(281).HTMLLabel),H(\"HTMLLabelSet\",L(283).HTMLLabelSet),H(\"HTMLTitle\",L(284).HTMLTitle)},\n", + " function _(e,t,s,i,n){var o;i();const a=e(1),l=e(282),r=e(11),u=e(19),_=e(151),d=e(144),c=a.__importStar(e(78));class h extends l.TextAnnotationView{update_layout(){const{panel:e}=this;this.layout=null!=e?new d.SideLayout(e,(()=>this.get_size()),!1):void 0}_get_size(){const{text:e}=this.model,t=new _.TextBox({text:e}),{angle:s,angle_units:i}=this.model;t.angle=(0,r.compute_angle)(s,i),t.visuals=this.visuals.text.values();const{width:n,height:o}=t.size();return{width:n,height:o}}_render(){const{angle:e,angle_units:t}=this.model,s=(0,r.compute_angle)(e,t),i=null!=this.layout?this.layout:this.plot_view.frame,n=this.coordinates.x_scale,o=this.coordinates.y_scale;let a=(()=>{switch(this.model.x_units){case\"canvas\":return this.model.x;case\"screen\":return i.bbox.xview.compute(this.model.x);case\"data\":return n.compute(this.model.x)}})(),l=(()=>{switch(this.model.y_units){case\"canvas\":return this.model.y;case\"screen\":return i.bbox.yview.compute(this.model.y);case\"data\":return o.compute(this.model.y)}})();a+=this.model.x_offset,l-=this.model.y_offset,this._paint(this.layer.ctx,this.model.text,a,l,s)}}s.HTMLLabelView=h,h.__name__=\"HTMLLabelView\";class m extends l.TextAnnotation{constructor(e){super(e)}}s.HTMLLabel=m,o=m,m.__name__=\"HTMLLabel\",o.prototype.default_view=h,o.mixins([c.Text,[\"border_\",c.Line],[\"background_\",c.Fill]]),o.define((({Number:e,String:t,Angle:s})=>({x:[e],x_units:[u.CoordinateUnits,\"data\"],y:[e],y_units:[u.CoordinateUnits,\"data\"],text:[t,\"\"],angle:[s,0],angle_units:[u.AngleUnits,\"rad\"],x_offset:[e,0],y_offset:[e,0]}))),o.override({background_fill_color:null,border_line_color:null})},\n", + " function _(t,e,s,i,l){i();const n=t(73),o=t(56),a=t(144);class r extends n.AnnotationView{update_layout(){const{panel:t}=this;this.layout=null!=t?new a.SideLayout(t,(()=>this.get_size()),!0):void 0}initialize(){super.initialize(),this.el=(0,o.div)(),this.plot_view.canvas_view.add_overlay(this.el)}remove(){(0,o.remove)(this.el),super.remove()}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.render()))}render(){this.model.visible||(0,o.undisplay)(this.el),super.render()}_paint(t,e,s,i,l){const{el:n}=this;(0,o.undisplay)(n),n.textContent=e,this.visuals.text.set_value(t),n.style.position=\"absolute\",n.style.left=`${s}px`,n.style.top=`${i}px`,n.style.color=t.fillStyle,n.style.webkitTextStroke=`1px ${t.strokeStyle}`,n.style.font=t.font,n.style.lineHeight=\"normal\",n.style.whiteSpace=\"pre\";const[a,r]=(()=>{switch(this.visuals.text.text_align.get_value()){case\"left\":return[\"left\",\"0%\"];case\"center\":return[\"center\",\"-50%\"];case\"right\":return[\"right\",\"-100%\"]}})(),[u,d]=(()=>{switch(this.visuals.text.text_baseline.get_value()){case\"top\":return[\"top\",\"0%\"];case\"middle\":default:return[\"center\",\"-50%\"];case\"bottom\":return[\"bottom\",\"-100%\"]}})();let c=`translate(${r}, ${d})`;0!=l&&(c+=`rotate(${l}rad)`),n.style.transformOrigin=`${a} ${u}`,n.style.transform=c,this.layout,this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(t),n.style.backgroundColor=t.fillStyle),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),n.style.borderStyle=t.getLineDash().length<2?\"solid\":\"dashed\",n.style.borderWidth=`${t.lineWidth}px`,n.style.borderColor=t.strokeStyle),(0,o.display)(n)}}s.TextAnnotationView=r,r.__name__=\"TextAnnotationView\";class u extends n.Annotation{constructor(t){super(t)}}s.TextAnnotation=u,u.__name__=\"TextAnnotation\"},\n", + " function _(t,e,s,i,r){var o;i();const l=t(1),a=t(98),n=l.__importStar(t(78)),c=t(19),h=t(56),_=l.__importStar(t(17)),u=t(23),d=t(12);class y extends a.DataAnnotationView{constructor(){super(...arguments),this.els=[]}set_data(t){super.set_data(t),this.els.forEach((t=>(0,h.remove)(t))),this.els=[];for(const t of this.text){const t=(0,h.div)({style:{display:\"none\"}});this.plot_view.canvas_view.add_overlay(t),this.els.push(t)}}remove(){this.els.forEach((t=>(0,h.remove)(t))),this.els=[],super.remove()}_rerender(){this.render()}map_data(){const{x_scale:t,y_scale:e}=this.coordinates,s=null!=this.layout?this.layout:this.plot_view.frame;this.sx=(()=>{switch(this.model.x_units){case\"canvas\":return new u.ScreenArray(this._x);case\"screen\":return s.bbox.xview.v_compute(this._x);case\"data\":return t.v_compute(this._x)}})(),this.sy=(()=>{switch(this.model.y_units){case\"canvas\":return new u.ScreenArray(this._y);case\"screen\":return s.bbox.yview.v_compute(this._y);case\"data\":return e.v_compute(this._y)}})()}paint(){const{ctx:t}=this.layer;for(let e=0,s=this.text.length;e{switch(this.visuals.text.text_align.get(e)){case\"left\":return[\"left\",\"0%\"];case\"center\":return[\"center\",\"-50%\"];case\"right\":return[\"right\",\"-100%\"]}})(),[c,_]=(()=>{switch(this.visuals.text.text_baseline.get(e)){case\"top\":return[\"top\",\"0%\"];case\"middle\":default:return[\"center\",\"-50%\"];case\"bottom\":return[\"bottom\",\"-100%\"]}})();let u=`translate(${n}, ${_})`;0!=o&&(u+=`rotate(${o}rad)`),l.style.transformOrigin=`${a} ${c}`,l.style.transform=u,this.layout,this.visuals.background_fill.doit&&(this.visuals.background_fill.set_vectorize(t,e),l.style.backgroundColor=t.fillStyle),this.visuals.border_line.doit&&(this.visuals.border_line.set_vectorize(t,e),l.style.borderStyle=t.getLineDash().length<2?\"solid\":\"dashed\",l.style.borderWidth=`${t.lineWidth}px`,l.style.borderColor=t.strokeStyle),(0,h.display)(l)}}s.HTMLLabelSetView=y,y.__name__=\"HTMLLabelSetView\";class p extends a.DataAnnotation{constructor(t){super(t)}}s.HTMLLabelSet=p,o=p,p.__name__=\"HTMLLabelSet\",o.prototype.default_view=y,o.mixins([n.TextVector,[\"border_\",n.LineVector],[\"background_\",n.FillVector]]),o.define((()=>({x:[_.XCoordinateSpec,{field:\"x\"}],y:[_.YCoordinateSpec,{field:\"y\"}],x_units:[c.CoordinateUnits,\"data\"],y_units:[c.CoordinateUnits,\"data\"],text:[_.NullStringSpec,{field:\"text\"}],angle:[_.AngleSpec,0],x_offset:[_.NumberSpec,{value:0}],y_offset:[_.NumberSpec,{value:0}]}))),o.override({background_fill_color:null,border_line_color:null})},\n", + " function _(e,t,i,l,s){var o;l();const a=e(1),n=e(282),r=e(19),c=e(151),h=a.__importStar(e(78));class _ extends n.TextAnnotationView{_get_location(){const e=this.model.offset,t=this.model.standoff/2;let i,l;const{bbox:s}=this.layout;switch(this.panel.side){case\"above\":case\"below\":switch(this.model.vertical_align){case\"top\":l=s.top+t;break;case\"middle\":l=s.vcenter;break;case\"bottom\":l=s.bottom-t}switch(this.model.align){case\"left\":i=s.left+e;break;case\"center\":i=s.hcenter;break;case\"right\":i=s.right-e}break;case\"left\":switch(this.model.vertical_align){case\"top\":i=s.left+t;break;case\"middle\":i=s.hcenter;break;case\"bottom\":i=s.right-t}switch(this.model.align){case\"left\":l=s.bottom-e;break;case\"center\":l=s.vcenter;break;case\"right\":l=s.top+e}break;case\"right\":switch(this.model.vertical_align){case\"top\":i=s.right-t;break;case\"middle\":i=s.hcenter;break;case\"bottom\":i=s.left+t}switch(this.model.align){case\"left\":l=s.top+e;break;case\"center\":l=s.vcenter;break;case\"right\":l=s.bottom-e}}return[i,l]}_render(){const{text:e}=this.model;if(0==e.length)return;this.model.text_baseline=this.model.vertical_align,this.model.text_align=this.model.align;const[t,i]=this._get_location(),l=this.panel.get_label_angle_heuristic(\"parallel\");this._paint(this.layer.ctx,e,t,i,l)}_get_size(){const{text:e}=this.model,t=new c.TextBox({text:e});t.visuals=this.visuals.text.values();const{width:i,height:l}=t.size();return{width:i,height:0==l?0:2+l+this.model.standoff}}}i.HTMLTitleView=_,_.__name__=\"HTMLTitleView\";class d extends n.TextAnnotation{constructor(e){super(e)}}i.HTMLTitle=d,o=d,d.__name__=\"HTMLTitle\",o.prototype.default_view=_,o.mixins([h.Text,[\"border_\",h.Line],[\"background_\",h.Fill]]),o.define((({Number:e,String:t})=>({text:[t,\"\"],vertical_align:[r.VerticalAlign,\"bottom\"],align:[r.TextAlign,\"left\"],offset:[e,0],standoff:[e,10]}))),o.prototype._props.text_align.options.internal=!0,o.prototype._props.text_baseline.options.internal=!0,o.override({text_font_size:\"13px\",text_font_style:\"bold\",text_line_height:1,background_fill_color:null,border_line_color:null})},\n", + " function _(e,t,u,n,S){n(),S(\"CustomJS\",e(286).CustomJS),S(\"OpenURL\",e(288).OpenURL),S(\"SetValue\",e(289).SetValue)},\n", + " function _(t,e,s,n,c){var a;n();const r=t(287),u=t(9),o=t(38);class i extends r.Callback{constructor(t){super(t)}get names(){return(0,u.keys)(this.args)}get values(){return(0,u.values)(this.args)}get func(){const t=(0,o.use_strict)(this.code);return new Function(...this.names,\"cb_obj\",\"cb_data\",t)}execute(t,e={}){return this.func.apply(t,this.values.concat(t,e))}}s.CustomJS=i,a=i,i.__name__=\"CustomJS\",a.define((({Unknown:t,String:e,Dict:s})=>({args:[s(t),{}],code:[e,\"\"]})))},\n", + " function _(c,a,l,n,s){n();const e=c(50);class o extends e.Model{constructor(c){super(c)}}l.Callback=o,o.__name__=\"Callback\"},\n", + " function _(e,t,n,o,i){var s;o();const c=e(287),r=e(170),a=e(8);class d extends c.Callback{constructor(e){super(e)}navigate(e){this.same_tab?window.location.href=e:window.open(e)}execute(e,{source:t}){const n=e=>{const n=(0,r.replace_placeholders)(this.url,t,e,void 0,void 0,encodeURI);if(!(0,a.isString)(n))throw new Error(\"HTML output is not supported in this context\");this.navigate(n)},{selected:o}=t;for(const e of o.indices)n(e);for(const e of o.line_indices)n(e)}}n.OpenURL=d,s=d,d.__name__=\"OpenURL\",s.define((({Boolean:e,String:t})=>({url:[t,\"http://\"],same_tab:[e,!1]})))},\n", + " function _(e,t,r,n,o){var a;n();const s=e(287),c=e(14),l=e(18);class u extends s.Callback{constructor(e){super(e)}execute(){const{obj:e,attr:t,value:r}=this;t in e.properties?e.setv({[t]:r}):l.logger.error(`${e.type}.${t} is not a property`)}}r.SetValue=u,a=u,u.__name__=\"SetValue\",a.define((({String:e,Unknown:t,Ref:r})=>({obj:[r(c.HasProps)],attr:[e],value:[t]})))},\n", + " function _(a,n,e,r,s){r(),s(\"Canvas\",a(291).Canvas),s(\"CartesianFrame\",a(157).CartesianFrame)},\n", + " function _(e,t,s,i,r){var a;i();const l=e(1),n=e(28),o=e(18),h=e(56),_=e(19),p=e(292),c=e(155),u=e(260),d=e(257),b=e(56),v=l.__importDefault(e(295));const w=(()=>{let t;return async()=>void 0!==t?t:t=await async function(){const t=document.createElement(\"canvas\"),s=t.getContext(\"webgl\",{premultipliedAlpha:!0});if(null!=s){const i=await(0,c.load_module)(Promise.resolve().then((()=>l.__importStar(e(504)))));if(null!=i){const e=i.get_regl(s);if(e.has_webgl)return{canvas:t,regl_wrapper:e};o.logger.trace(\"WebGL is supported, but not the required extensions\")}else o.logger.trace(\"WebGL is supported, but bokehjs(.min).js bundle is not available\")}else o.logger.trace(\"WebGL is not supported\");return null}()})();class g extends d.UIElementView{constructor(){super(...arguments),this.webgl=null,this._size=new b.InlineStyleSheet,this.plot_views=[]}initialize(){super.initialize(),this.underlays_el=(0,h.div)({class:\"bk-layer\"}),this.primary=this.create_layer(),this.overlays=this.create_layer(),this.overlays_el=(0,h.div)({class:\"bk-layer\"}),this.events_el=(0,h.div)({class:[\"bk-layer\",\"bk-events\"]}),this.ui_event_bus=new p.UIEventBus(this)}get layers(){return[this.underlays_el,this.primary,this.overlays,this.overlays_el,this.events_el]}async lazy_initialize(){if(await super.lazy_initialize(),\"webgl\"==this.model.output_backend&&(this.webgl=await w(),n.settings.force_webgl&&null==this.webgl))throw new Error(\"webgl is not available\")}remove(){this.ui_event_bus.destroy(),super.remove()}stylesheets(){return[...super.stylesheets(),v.default,this._size]}render(){super.render();const e=[this.underlays_el,this.primary.el,this.overlays.el,this.overlays_el,this.events_el];(0,h.append)(this.shadow_el,...e)}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}_update_bbox(){const e=super._update_bbox();if(e){const{width:e,height:t}=this.bbox;this._size.replace(`\\n .bk-layer {\\n width: ${e}px;\\n height: ${t}px;\\n }\\n `),this.primary.resize(e,t),this.overlays.resize(e,t)}return e}after_resize(){0==this.plot_views.length&&super.after_resize()}_after_resize(){super._after_resize();const{width:e,height:t}=this.bbox;this.primary.resize(e,t),this.overlays.resize(e,t)}resize(){this._update_bbox(),this._after_resize()}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[r,a,l,n]=e,{xview:o,yview:h}=this.bbox,_=o.compute(r),p=h.compute(a+n),c=this.pixel_ratio;t.regl_wrapper.set_scissor(c*_,c*p,c*l,c*n),this._clear_webgl()}}blit_webgl(e){const{webgl:t}=this;if(null!=t){if(o.logger.debug(\"Blitting WebGL canvas\"),e.restore(),e.drawImage(t.canvas,0,0),e.save(),this.model.hidpi){const t=this.pixel_ratio;e.scale(t,t),e.translate(.5,.5)}this._clear_webgl()}}_clear_webgl(){const{webgl:e}=this;if(null!=e){const{regl_wrapper:t,canvas:s}=e;t.clear(s.width,s.height)}}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 u.CanvasLayer(e,t)}to_blob(){return this.compose().to_blob()}}s.CanvasView=g,g.__name__=\"CanvasView\";class y extends d.UIElement{constructor(e){super(e)}}s.Canvas=y,a=y,y.__name__=\"Canvas\",a.prototype.default_view=g,a.define((({Boolean:e})=>({hidpi:[e,!0],output_backend:[_.OutputBackend,\"canvas\"]})))},\n", + " function _(t,e,n,s,i){s();const r=t(1),_=r.__importDefault(t(293)),a=t(15),h=t(18),o=t(56),l=r.__importStar(t(52)),c=t(294),p=t(10),u=t(8),v=t(26);function d(t){return(0,u.isObject)(t)&&\"_move_start\"in t&&\"_move\"in t&&\"_move_end\"in t}function y(t){return(0,u.isObject)(t)&&\"_pan_start\"in t&&\"_pan\"in t&&\"_pan_end\"in t}function m(t){return(0,u.isObject)(t)&&\"_pinch_start\"in t&&\"_pinch\"in t&&\"_pinch_end\"in t}function g(t){return(0,u.isObject)(t)&&\"_rotate_start\"in t&&\"_rotate\"in t&&\"_rotate_end\"in t}n.is_Moveable=d,n.is_Pannable=y,n.is_Pinchable=m,n.is_Rotatable=g,n.is_Scrollable=function(t){return(0,u.isObject)(t)&&\"_scroll\"in t},n.is_Keyable=function(t){return(0,u.isObject)(t)&&\"_keydown\"in t&&\"_keyup\"in t},n.is_Tapable=function(t){return(0,u.isObject)(t)&&\"_tap\"in t};class w{get hit_area(){return this.canvas_view.events_el}constructor(t){this.pan_start=new a.Signal(this,\"pan:start\"),this.pan=new a.Signal(this,\"pan\"),this.pan_end=new a.Signal(this,\"pan:end\"),this.pinch_start=new a.Signal(this,\"pinch:start\"),this.pinch=new a.Signal(this,\"pinch\"),this.pinch_end=new a.Signal(this,\"pinch:end\"),this.rotate_start=new a.Signal(this,\"rotate:start\"),this.rotate=new a.Signal(this,\"rotate\"),this.rotate_end=new a.Signal(this,\"rotate:end\"),this.tap=new a.Signal(this,\"tap\"),this.doubletap=new a.Signal(this,\"doubletap\"),this.press=new a.Signal(this,\"press\"),this.pressup=new a.Signal(this,\"pressup\"),this.move_enter=new a.Signal(this,\"move:enter\"),this.move=new a.Signal(this,\"move\"),this.move_exit=new a.Signal(this,\"move:exit\"),this.scroll=new a.Signal(this,\"scroll\"),this.keydown=new a.Signal(this,\"keydown\"),this.keyup=new a.Signal(this,\"keyup\"),this._prev_move=null,this._curr_pan=null,this._curr_pinch=null,this._curr_rotate=null,this._current_pan_view=null,this._current_pinch_view=null,this._current_rotate_view=null,this._current_move_view=null,this.canvas_view=t,this.hammer=new _.default(this.hit_area,{cssProps:{},touchAction:\"auto\",inputClass:v.is_mobile?_.default.TouchMouseInput:_.default.PointerEventInput}),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)}destroy(){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:_.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){let e=!0;for(const n of t.model.event_types)this._register_tool(t,n,e),e=!1}_register_tool(t,e,n=!0){const s=t,{id:i}=s.model,r=t=>e=>{e.id==i&&t(e.e)},_=t=>e=>{t(e.e)};switch(e){case\"pan\":null!=s._pan_start&&s.connect(this.pan_start,r(s._pan_start.bind(s))),null!=s._pan&&s.connect(this.pan,r(s._pan.bind(s))),null!=s._pan_end&&s.connect(this.pan_end,r(s._pan_end.bind(s)));break;case\"pinch\":null!=s._pinch_start&&s.connect(this.pinch_start,r(s._pinch_start.bind(s))),null!=s._pinch&&s.connect(this.pinch,r(s._pinch.bind(s))),null!=s._pinch_end&&s.connect(this.pinch_end,r(s._pinch_end.bind(s)));break;case\"rotate\":null!=s._rotate_start&&s.connect(this.rotate_start,r(s._rotate_start.bind(s))),null!=s._rotate&&s.connect(this.rotate,r(s._rotate.bind(s))),null!=s._rotate_end&&s.connect(this.rotate_end,r(s._rotate_end.bind(s)));break;case\"move\":null!=s._move_enter&&s.connect(this.move_enter,r(s._move_enter.bind(s))),null!=s._move&&s.connect(this.move,r(s._move.bind(s))),null!=s._move_exit&&s.connect(this.move_exit,r(s._move_exit.bind(s)));break;case\"tap\":null!=s._tap&&s.connect(this.tap,r(s._tap.bind(s)));case\"doubletap\":null!=s._doubletap&&s.connect(this.doubletap,r(s._doubletap.bind(s)));break;case\"press\":null!=s._press&&s.connect(this.press,r(s._press.bind(s)));break;case\"pressup\":null!=s._pressup&&s.connect(this.pressup,r(s._pressup.bind(s)));break;case\"scroll\":null!=s._scroll&&s.connect(this.scroll,r(s._scroll.bind(s)))}n&&(null!=s._keydown&&s.connect(this.keydown,_(s._keydown.bind(s))),null!=s._keyup&&s.connect(this.keyup,_(s._keyup.bind(s))),v.is_mobile&&null!=s._scroll&&\"pinch\"==e&&(h.logger.debug(\"Registering scroll on touch screen\"),s.connect(this.scroll,r(s._scroll.bind(s)))))}_hit_test_renderers(t,e,n){var s,i;const r=t.get_renderer_views();for(const t of(0,p.reversed)(r))if(null!==(i=null===(s=t.interactive_hit)||void 0===s?void 0:s.call(t,e,n))&&void 0!==i&&i)return t;return null}set_cursor(t=\"default\"){this.hit_area.style.cursor=t}_hit_test_frame(t,e,n){return t.frame.bbox.contains(e,n)}_hit_test_plot(t,e){for(const n of this.canvas_view.plot_views)if(n.bbox.relative().contains(t,e))return n;return null}_trigger(t,e,n){var s;if(!this.hit_area.isConnected)return;const{sx:i,sy:r}=e,_=this._hit_test_plot(i,r),a=t=>{const[n,s]=[i,r];return Object.assign(Object.assign({},e),{sx:n,sy:s})};if(\"panstart\"==e.type||\"pan\"==e.type||\"panend\"==e.type){let s;if(\"panstart\"==e.type&&null!=_?(this._curr_pan={plot_view:_},s=_):\"pan\"==e.type&&null!=this._curr_pan?s=this._curr_pan.plot_view:\"panend\"==e.type&&null!=this._curr_pan?(s=this._curr_pan.plot_view,this._curr_pan=null):s=null,null!=s){const e=a();this.__trigger(s,t,e,n)}}else if(\"pinchstart\"==e.type||\"pinch\"==e.type||\"pinchend\"==e.type){let s;if(\"pinchstart\"==e.type&&null!=_?(this._curr_pinch={plot_view:_},s=_):\"pinch\"==e.type&&null!=this._curr_pinch?s=this._curr_pinch.plot_view:\"pinchend\"==e.type&&null!=this._curr_pinch?(s=this._curr_pinch.plot_view,this._curr_pinch=null):s=null,null!=s){const e=a();this.__trigger(s,t,e,n)}}else if(\"rotatestart\"==e.type||\"rotate\"==e.type||\"rotateend\"==e.type){let s;if(\"rotatestart\"==e.type&&null!=_?(this._curr_rotate={plot_view:_},s=_):\"rotate\"==e.type&&null!=this._curr_rotate?s=this._curr_rotate.plot_view:\"rotateend\"==e.type&&null!=this._curr_rotate?(s=this._curr_rotate.plot_view,this._curr_rotate=null):s=null,null!=s){const e=a();this.__trigger(s,t,e,n)}}else if(\"mouseenter\"==e.type||\"mousemove\"==e.type||\"mouseleave\"==e.type){const h=null===(s=this._prev_move)||void 0===s?void 0:s.plot_view;if(null!=h&&(\"mouseleave\"==e.type||h!=_)){const{sx:t,sy:e}=a();this.__trigger(h,this.move_exit,{type:\"mouseleave\",sx:t,sy:e,shift_key:!1,ctrl_key:!1,alt_key:!1},n)}if(null!=_&&(\"mouseenter\"==e.type||h!=_)){const{sx:t,sy:e}=a();this.__trigger(_,this.move_enter,{type:\"mouseenter\",sx:t,sy:e,shift_key:!1,ctrl_key:!1,alt_key:!1},n)}if(null!=_&&\"mousemove\"==e.type){const e=a();this.__trigger(_,t,e,n)}this._prev_move={sx:i,sy:r,plot_view:_}}else if(null!=_){const e=a();this.__trigger(_,t,e,n)}}__trigger(t,e,n,s){var i,r,_,a,h,o;const l=t.model.toolbar.gestures,c=e.name,u=c.split(\":\")[0],w=this._hit_test_renderers(t,n.sx,n.sy);if(\"pan\"==u){if(null!=this._current_pan_view)return\"pan\"==c?this._current_pan_view._pan(n):\"pan:end\"==c&&(this._current_pan_view._pan_end(n),this._current_pan_view=null),void s.preventDefault();if(null!=w&&\"pan:start\"==c&&y(w)&&w._pan_start(n))return this._current_pan_view=w,void s.preventDefault()}else if(\"pinch\"==u){if(null!=this._current_pinch_view)return\"pinch\"==c?this._current_pinch_view._pinch(n):\"pinch:end\"==c&&(this._current_pinch_view._pinch_end(n),this._current_pinch_view=null),void s.preventDefault();if(null!=w&&\"pinch:start\"==c&&m(w)&&w._pinch_start(n))return this._current_pinch_view=w,void s.preventDefault()}else if(\"rotate\"==u){if(null!=this._current_rotate_view)return\"rotate\"==c?this._current_rotate_view._rotate(n):\"rotate:end\"==c&&(this._current_rotate_view._rotate_end(n),this._current_rotate_view=null),void s.preventDefault();if(null!=w&&\"rotate:start\"==c&&g(w)&&w._rotate_start(n))return this._current_rotate_view=w,void s.preventDefault()}else\"move\"==u&&(this._current_move_view==w?null===(i=this._current_move_view)||void 0===i||i._move(n):(null===(r=this._current_move_view)||void 0===r||r._move_end(n),this._current_move_view=null,null!=w&&d(w)&&w._move_start(n)&&(this._current_move_view=w)));switch(u){case\"move\":{const s=l.move.active;null!=s&&this.trigger(e,n,s.id);const i=t.model.toolbar.inspectors.filter((t=>t.active));let r=\"default\";null!=w?(r=null!==(_=w.cursor(n.sx,n.sy))&&void 0!==_?_:r,w.model.propagate_hover||(0,p.is_empty)(i)||(e=this.move_exit)):this._hit_test_frame(t,n.sx,n.sy)&&((0,p.is_empty)(i)||(r=\"crosshair\")),this.set_cursor(r),i.map((t=>this.trigger(e,n,t.id)));break}case\"tap\":{const i=null!==(a=s.path)&&void 0!==a?a:s.composedPath();if(0!=i.length&&i[0]!=this.hit_area)return;if(null===(h=null==w?void 0:w.on_hit)||void 0===h||h.call(w,n.sx,n.sy),this._hit_test_frame(t,n.sx,n.sy)){const t=l.tap.active;null!=t&&this.trigger(e,n,t.id)}break}case\"doubletap\":if(this._hit_test_frame(t,n.sx,n.sy)){const t=null!==(o=l.doubletap.active)&&void 0!==o?o:l.tap.active;null!=t&&this.trigger(e,n,t.id)}break;case\"scroll\":{const t=l[v.is_mobile?\"pinch\":\"scroll\"].active;null!=t&&(s.preventDefault(),s.stopPropagation(),this.trigger(e,n,t.id));break}case\"pan\":{const t=l.pan.active;null!=t&&(s.preventDefault(),this.trigger(e,n,t.id));break}default:{const t=l[u].active;null!=t&&this.trigger(e,n,t.id)}}this._trigger_bokeh_event(t,n)}trigger(t,e,n=null){t.emit({id:n,e})}_trigger_bokeh_event(t,e){const n=(()=>{const{sx:n,sy:s}=e,i=t.frame.x_scale.invert(n),r=t.frame.y_scale.invert(s);switch(e.type){case\"wheel\":return new l.MouseWheel(n,s,i,r,e.delta);case\"mousemove\":return new l.MouseMove(n,s,i,r);case\"mouseenter\":return new l.MouseEnter(n,s,i,r);case\"mouseleave\":return new l.MouseLeave(n,s,i,r);case\"tap\":return new l.Tap(n,s,i,r);case\"doubletap\":return new l.DoubleTap(n,s,i,r);case\"press\":return new l.Press(n,s,i,r);case\"pressup\":return new l.PressUp(n,s,i,r);case\"pan\":return new l.Pan(n,s,i,r,e.dx,e.dy);case\"panstart\":return new l.PanStart(n,s,i,r);case\"panend\":return new l.PanEnd(n,s,i,r);case\"pinch\":return new l.Pinch(n,s,i,r,e.scale);case\"pinchstart\":return new l.PinchStart(n,s,i,r);case\"pinchend\":return new l.PinchEnd(n,s,i,r);case\"rotate\":return new l.Rotate(n,s,i,r,e.rotation);case\"rotatestart\":return new l.RotateStart(n,s,i,r);case\"rotateend\":return new l.RotateEnd(n,s,i,r);default:return}})();null!=n&&t.model.trigger_event(n)}_get_sxy(t){const{pageX:e,pageY:n}=function(t){return\"undefined\"!=typeof TouchEvent&&t instanceof TouchEvent}(t)?(0!=t.touches.length?t.touches:t.changedTouches)[0]:t,{left:s,top:i}=(0,o.offset_bbox)(this.hit_area);return{sx:e-s,sy:n-i}}_pan_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{dx:t.deltaX,dy:t.deltaY,shift_key:t.srcEvent.shiftKey,ctrl_key:t.srcEvent.ctrlKey,alt_key:t.srcEvent.altKey})}_pinch_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{scale:t.scale,shift_key:t.srcEvent.shiftKey,ctrl_key:t.srcEvent.ctrlKey,alt_key:t.srcEvent.altKey})}_rotate_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{rotation:t.rotation,shift_key:t.srcEvent.shiftKey,ctrl_key:t.srcEvent.ctrlKey,alt_key:t.srcEvent.altKey})}_tap_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{shift_key:t.srcEvent.shiftKey,ctrl_key:t.srcEvent.ctrlKey,alt_key:t.srcEvent.altKey})}_move_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t)),{shift_key:t.shiftKey,ctrl_key:t.ctrlKey,alt_key:t.altKey})}_scroll_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t)),{delta:(0,c.getDeltaY)(t),shift_key:t.shiftKey,ctrl_key:t.ctrlKey,alt_key:t.altKey})}_key_event(t){return{type:t.type,key:t.key,shift_key:t.shiftKey,ctrl_key:t.ctrlKey,alt_key:t.altKey}}_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){}_key_down(t){this.trigger(this.keydown,this._key_event(t))}_key_up(t){this.trigger(this.keyup,this._key_event(t))}}n.UIEventBus=w,w.__name__=\"UIEventBus\"},\n", + " function _(t,e,i,n,r){\n", + " /*! Hammer.JS - v2.0.7 - 2016-04-22\n", + " * http://hammerjs.github.io/\n", + " *\n", + " * Copyright (c) 2016 Jorik Tangelder;\n", + " * Licensed under the MIT license */\n", + " !function(t,i,n,r){\"use strict\";var s,o=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],a=i.createElement(\"div\"),h=\"function\",u=Math.round,c=Math.abs,l=Date.now;function p(t,e,i){return setTimeout(y(t,i),e)}function f(t,e,i){return!!Array.isArray(t)&&(v(t,i[e],i),!0)}function v(t,e,i){var n;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==r)for(n=0;n\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",s=t.console&&(t.console.warn||t.console.log);return s&&s.call(t.console,r,n),e.apply(this,arguments)}}s=\"function\"!=typeof Object.assign?function(t){if(t===r||null===t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var e=Object(t),i=1;i-1}function b(t){return t.trim().split(/\\s+/g)}function P(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var n=0;ni[e]})):n.sort()),n}function w(t,e){for(var i,n,s=e[0].toUpperCase()+e.slice(1),a=0;a1&&!i.firstMultiple?i.firstMultiple=et(e):1===s&&(i.firstMultiple=!1);var o=i.firstInput,a=i.firstMultiple,h=a?a.center:o.center,u=e.center=it(n);e.timeStamp=l(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=ot(h,u),e.distance=st(h,u),function(t,e){var i=e.center,n=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};e.eventType!==W&&s.eventType!==k||(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=rt(e.deltaX,e.deltaY);var p=nt(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=p.x,e.overallVelocityY=p.y,e.overallVelocity=c(p.x)>c(p.y)?p.x:p.y,e.scale=a?(f=a.pointers,v=n,st(v[0],v[1],K)/st(f[0],f[1],K)):1,e.rotation=a?function(t,e){return ot(e[1],e[0],K)+ot(t[1],t[0],K)}(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(e.eventType!=H&&(h>F||a.velocity===r)){var u=e.deltaX-a.deltaX,l=e.deltaY-a.deltaY,p=nt(h,u,l);n=p.x,s=p.y,i=c(p.x)>c(p.y)?p.x:p.y,o=rt(u,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;C(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 et(t){for(var e=[],i=0;i=c(e)?t<0?U:V:e<0?j:G}function st(t,e,i){i||(i=J);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return Math.sqrt(n*n+r*r)}function ot(t,e,i){i||(i=J);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&&A(this.element,this.evEl,this.domHandler),this.evTarget&&A(this.target,this.evTarget,this.domHandler),this.evWin&&A(R(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&_(this.element,this.evEl,this.domHandler),this.evTarget&&_(this.target,this.evTarget,this.domHandler),this.evWin&&_(R(this.element),this.evWin,this.domHandler)}};var at={mousedown:W,mousemove:q,mouseup:k},ht=\"mousedown\",ut=\"mousemove mouseup\";function ct(){this.evEl=ht,this.evWin=ut,this.pressed=!1,Q.apply(this,arguments)}T(ct,Q,{handler:function(t){var e=at[t.type];e&W&&0===t.button&&(this.pressed=!0),e&q&&1!==t.which&&(e=k),this.pressed&&(e&k&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:Y,srcEvent:t}))}});var lt={pointerdown:W,pointermove:q,pointerup:k,pointercancel:H,pointerout:H},pt={2:X,3:\"pen\",4:Y,5:\"kinect\"},ft=\"pointerdown\",vt=\"pointermove pointerup pointercancel\";function dt(){this.evEl=ft,this.evWin=vt,Q.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}t.MSPointerEvent&&!t.PointerEvent&&(ft=\"MSPointerDown\",vt=\"MSPointerMove MSPointerUp MSPointerCancel\"),T(dt,Q,{handler:function(t){var e=this.store,i=!1,n=t.type.toLowerCase().replace(\"ms\",\"\"),r=lt[n],s=pt[t.pointerType]||t.pointerType,o=s==X,a=P(e,t.pointerId,\"pointerId\");r&W&&(0===t.button||o)?a<0&&(e.push(t),a=e.length-1):r&(k|H)&&(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 mt={touchstart:W,touchmove:q,touchend:k,touchcancel:H},gt=\"touchstart\",Tt=\"touchstart touchmove touchend touchcancel\";function yt(){this.evTarget=gt,this.evWin=Tt,this.started=!1,Q.apply(this,arguments)}function Et(t,e){var i=D(t.touches),n=D(t.changedTouches);return e&(k|H)&&(i=x(i.concat(n),\"identifier\",!0)),[i,n]}T(yt,Q,{handler:function(t){var e=mt[t.type];if(e===W&&(this.started=!0),this.started){var i=Et.call(this,t,e);e&(k|H)&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:X,srcEvent:t})}}});var It={touchstart:W,touchmove:q,touchend:k,touchcancel:H},At=\"touchstart touchmove touchend touchcancel\";function _t(){this.evTarget=At,this.targetIds={},Q.apply(this,arguments)}function Ct(t,e){var i=D(t.touches),n=this.targetIds;if(e&(W|q)&&1===i.length)return n[i[0].identifier]=!0,[i,i];var r,s,o=D(t.changedTouches),a=[],h=this.target;if(s=i.filter((function(t){return C(t.target,h)})),e===W)for(r=0;r-1&&n.splice(t,1)}),St)}}function wt(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,n=0;n-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,i=this.state;function n(i){e.manager.emit(i,t)}i=Ut&&n(e.options.event+Bt(i))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=Gt},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return Kt.prototype.attrTest.call(this,t)&&(this.state&Ht||!(this.state&Ht)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=$t(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),T(te,Kt,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[Xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&Ht)},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)}}),T(ee,Zt,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[zt]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distancee.time;if(this._input=t,!n||!i||t.eventType&(k|H)&&!r)this.reset();else if(t.eventType&W)this.reset(),this._timer=p((function(){this.state=Vt,this.tryEmit()}),e.time,this);else if(t.eventType&k)return Vt;return Gt},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===Vt&&(t&&t.eventType&k?this.manager.emit(this.options.event+\"up\",t):(this._input.timeStamp=l(),this.manager.emit(this.options.event,this._input)))}}),T(ie,Kt,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[Xt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&Ht)}}),T(ne,Kt,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:Z|B,pointers:1},getTouchAction:function(){return Qt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(Z|B)?e=t.overallVelocity:i&Z?e=t.overallVelocityX:i&B&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&c(e)>this.options.velocity&&t.eventType&k},emit:function(t){var e=$t(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),T(re,Zt,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Nt]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distance{this._result.clear(),this.change.emit()}))}get names(){return(0,l.keys)(this.args)}get values(){return(0,l.values)(this.args)}get func(){const e=(0,h.use_strict)(this.code);return new i.GeneratorFunction(...this.names,e)}_v_compute(e){var s,n;const t=this.func.apply(e,this.values);let r=t.next();if(null!==(s=r.done)&&void 0!==s&&s&&void 0!==r.value){const{value:s}=r;return(0,g.isArray)(s)||(0,g.isTypedArray)(s)?s:(0,g.isIterable)(s)?[...s]:(0,u.repeat)(s,e.length)}{const e=[];do{e.push(r.value),r=t.next()}while(null===(n=r.done)||void 0===n||!n);return e}}}n.CustomJSExpr=v,o=v,v.__name__=\"CustomJSExpr\",o.define((({Unknown:e,String:s,Dict:n})=>({args:[n(e),{}],code:[s,\"\"]})))},\n", + " function _(t,n,e,o,r){var s;o();const c=t(298),a=t(9);class i extends c.Expression{constructor(t){super(t)}_v_compute(t){var n;const e=null!==(n=t.get_length())&&void 0!==n?n:0,o=new Float64Array(e);for(const n of this.fields){const r=(0,a.dict)(t.data).get(n);if(null!=r){const t=Math.min(e,r.length);for(let n=0;n({fields:[n(t),[]]})))},\n", + " function _(e,n,t,o,r){var i;o();const l=e(298);class u extends l.Expression{constructor(e){super(e)}_v_compute(e){var n;const t=new Float64Array(null!==(n=e.get_length())&&void 0!==n?n:0),o=e.data[this.field],r=this.include_zero?1:0;t[0]=this.include_zero?0:o[0];for(let e=1;e({field:[n],include_zero:[e,!1]})))},\n", + " function _(i,n,t,e,a){var r;e();const s=i(298),c=i(9),m=i(10);class u extends s.ScalarExpression{constructor(i){super(i)}_compute(i){var n;const t=null!==(n=(0,c.dict)(i.data).get(this.field))&&void 0!==n?n:[];return Math.min(this.initial,(0,m.min)(t))}}t.Minimum=u,r=u,u.__name__=\"Minimum\",r.define((({Number:i,String:n})=>({field:[n],initial:[i,1/0]})))},\n", + " function _(i,t,a,n,e){var r;n();const s=i(298),c=i(9),m=i(10);class u extends s.ScalarExpression{constructor(i){super(i)}_compute(i){var t;const a=null!==(t=(0,c.dict)(i.data).get(this.field))&&void 0!==t?t:[];return Math.max(this.initial,(0,m.max)(a))}}a.Maximum=u,r=u,u.__name__=\"Maximum\",r.define((({Number:i,String:t})=>({field:[t],initial:[i,-1/0]})))},\n", + " function _(n,e,t,o,r){var s;o();const _=n(298);class m extends _.Expression{constructor(n){super(n)}get x(){return new c({transform:this})}get y(){return new u({transform:this})}}t.CoordinateTransform=m,m.__name__=\"CoordinateTransform\";class a extends _.Expression{constructor(n){super(n)}}t.XYComponent=a,s=a,a.__name__=\"XYComponent\",s.define((({Ref:n})=>({transform:[n(m)]})));class c extends a{constructor(n){super(n)}_v_compute(n){return this.transform.v_compute(n).x}}t.XComponent=c,c.__name__=\"XComponent\";class u extends a{constructor(n){super(n)}_v_compute(n){return this.transform.v_compute(n).y}}t.YComponent=u,u.__name__=\"YComponent\"},\n", + " function _(r,t,e,n,o){var i;n();const a=r(1),s=r(304),c=r(19),l=a.__importStar(r(17));class d extends s.CoordinateTransform{constructor(r){super(r)}_v_compute(r){const t=this.properties.radius.uniform(r),e=this.properties.angle.uniform(r),n=\"anticlock\"==this.direction?-1:1,o=Math.min(t.length,e.length),i=new Float64Array(o),a=new Float64Array(o);for(let r=0;r({radius:[l.DistanceSpec,{field:\"radius\"}],angle:[l.AngleSpec,{field:\"angle\"}],direction:[c.Direction,\"anticlock\"]})))},\n", + " function _(e,i,r,t,l){t(),l(\"BooleanFilter\",e(307).BooleanFilter),l(\"CustomJSFilter\",e(308).CustomJSFilter),l(\"Filter\",e(216).Filter),l(\"GroupFilter\",e(309).GroupFilter),l(\"IndexFilter\",e(310).IndexFilter),l(\"AllIndices\",e(217).AllIndices),l(\"InversionFilter\",e(311).InversionFilter),l(\"IntersectionFilter\",e(218).IntersectionFilter),l(\"UnionFilter\",e(312).UnionFilter),l(\"DifferenceFilter\",e(313).DifferenceFilter),l(\"SymmetricDifferenceFilter\",e(314).SymmetricDifferenceFilter)},\n", + " function _(e,l,n,o,s){var t;o();const a=e(216),r=e(23);class i extends a.Filter{constructor(e){super(e)}compute_indices(e){var l;const n=null!==(l=e.get_length())&&void 0!==l?l:1,{booleans:o}=this;return null==o?r.Indices.all_set(n):r.Indices.from_booleans(n,o)}}n.BooleanFilter=i,t=i,i.__name__=\"BooleanFilter\",t.define((({Boolean:e,Array:l,Nullable:n})=>({booleans:[n(l(e)),null]})))},\n", + " function _(e,n,r,s,t){var i;s();const o=e(216),u=e(23),c=e(9),a=e(8),l=e(38);class f extends o.Filter{constructor(e){super(e)}get names(){return(0,c.keys)(this.args)}get values(){return(0,c.values)(this.args)}get func(){const e=(0,l.use_strict)(this.code);return new Function(...this.names,\"source\",e)}compute_indices(e){var n;const r=null!==(n=e.get_length())&&void 0!==n?n:1,s=this.func(...this.values,e);if(null==s)return u.Indices.all_set(r);if((0,a.isArrayOf)(s,a.isInteger))return u.Indices.from_indices(r,s);if((0,a.isArrayOf)(s,a.isBoolean))return u.Indices.from_booleans(r,s);throw new Error(`expect an array of integers or booleans, or null, got ${s}`)}}r.CustomJSFilter=f,i=f,f.__name__=\"CustomJSFilter\",i.define((({Unknown:e,String:n,Dict:r})=>({args:[r(e),{}],code:[n,\"\"]})))},\n", + " function _(n,e,t,o,r){var u;o();const s=n(216),i=n(23),l=n(18);class c extends s.Filter{constructor(n){super(n)}compute_indices(n){var e;const t=n.get_column(this.column_name),o=null!==(e=n.get_length())&&void 0!==e?e:1;if(null==t)return l.logger.warn(`${this}: groupby column '${this.column_name}' not found in the data source`),i.Indices.all_set(o);{const n=new i.Indices(o,0);for(let e=0;e({column_name:[n],group:[n]})))},\n", + " function _(e,n,i,l,t){var s;l();const c=e(216),r=e(23);class d extends c.Filter{constructor(e){super(e)}compute_indices(e){var n;const i=null!==(n=e.get_length())&&void 0!==n?n:1,{indices:l}=this;return null==l?r.Indices.all_set(i):r.Indices.from_indices(i,l)}}i.IndexFilter=d,s=d,d.__name__=\"IndexFilter\",s.define((({Int:e,Array:n,Nullable:i})=>({indices:[i(n(e)),null]})))},\n", + " function _(e,n,r,t,i){var s;t();const o=e(216);class c extends o.Filter{constructor(e){super(e)}compute_indices(e){const n=this.operand.compute_indices(e);return n.invert(),n}}r.InversionFilter=c,s=c,c.__name__=\"InversionFilter\",s.define((({Ref:e})=>({operand:[e(o.Filter)]})))},\n", + " function _(n,e,t,r,o){var s;r();const i=n(216),c=n(23);class l extends i.Filter{constructor(n){super(n)}compute_indices(n){var e;const{operands:t}=this;if(0==t.length){const t=null!==(e=n.get_length())&&void 0!==e?e:1;return c.Indices.all_set(t)}{const[e,...r]=t.map((e=>e.compute_indices(n)));for(const n of r)e.add(n);return e}}}t.UnionFilter=l,s=l,l.__name__=\"UnionFilter\",s.define((({Array:n,Ref:e})=>({operands:[n(e(i.Filter))]})))},\n", + " function _(e,t,n,r,s){var c;r();const i=e(216),o=e(23);class l extends i.Filter{constructor(e){super(e)}compute_indices(e){var t;const{operands:n}=this;if(0==n.length){const n=null!==(t=e.get_length())&&void 0!==t?t:1;return o.Indices.all_set(n)}{const[t,...r]=n.map((t=>t.compute_indices(e)));for(const e of r)t.subtract(e);return t}}}n.DifferenceFilter=l,c=l,l.__name__=\"DifferenceFilter\",c.define((({Array:e,Ref:t})=>({operands:[e(t(i.Filter))]})))},\n", + " function _(e,t,r,n,c){var i;n();const s=e(216),o=e(23);class l extends s.Filter{constructor(e){super(e)}compute_indices(e){var t;const{operands:r}=this;if(0==r.length){const r=null!==(t=e.get_length())&&void 0!==t?t:1;return o.Indices.all_set(r)}{const[t,...n]=r.map((t=>t.compute_indices(e)));for(const e of n)t.symmetric_subtract(e);return t}}}r.SymmetricDifferenceFilter=l,i=l,l.__name__=\"SymmetricDifferenceFilter\",i.define((({Array:e,Ref:t})=>({operands:[e(t(s.Filter))]})))},\n", + " function _(e,a,t,l,i){l(),i(\"AnnularWedge\",e(316).AnnularWedge),i(\"Annulus\",e(317).Annulus),i(\"Arc\",e(318).Arc),i(\"Bezier\",e(319).Bezier),i(\"Block\",e(321).Block),i(\"Circle\",e(323).Circle),i(\"Ellipse\",e(324).Ellipse),i(\"Glyph\",e(203).Glyph),i(\"HArea\",e(212).HArea),i(\"HBar\",e(326).HBar),i(\"HexTile\",e(327).HexTile),i(\"Image\",e(328).Image),i(\"ImageRGBA\",e(330).ImageRGBA),i(\"ImageStack\",e(331).ImageStack),i(\"ImageURL\",e(332).ImageURL),i(\"Line\",e(201).Line),i(\"MultiLine\",e(333).MultiLine),i(\"MultiPolygons\",e(334).MultiPolygons),i(\"Patch\",e(211).Patch),i(\"Patches\",e(335).Patches),i(\"Quad\",e(336).Quad),i(\"Quadratic\",e(337).Quadratic),i(\"Ray\",e(338).Ray),i(\"Rect\",e(339).Rect),i(\"Scatter\",e(340).Scatter),i(\"Segment\",e(343).Segment),i(\"Spline\",e(344).Spline),i(\"Step\",e(346).Step),i(\"Text\",e(347).Text),i(\"VArea\",e(214).VArea),i(\"VBar\",e(348).VBar),i(\"Wedge\",e(349).Wedge)},\n", + " function _(e,s,t,i,r){var n;i();const a=e(1),_=e(202),o=e(209),d=e(78),h=e(23),l=e(19),u=a.__importStar(e(17)),c=e(11),g=e(101),p=e(13);class x extends _.XYGlyphView{_map_data(){\"data\"==this.model.properties.inner_radius.units?this.sinner_radius=this.sdist(this.renderer.xscale,this._x,this.inner_radius):this.sinner_radius=(0,h.to_screen)(this.inner_radius),\"data\"==this.model.properties.outer_radius.units?this.souter_radius=this.sdist(this.renderer.xscale,this._x,this.outer_radius):this.souter_radius=(0,h.to_screen)(this.outer_radius),this.max_souter_radius=(0,p.max)(this.souter_radius)}_render(e,s,t){const{sx:i,sy:r,start_angle:n,end_angle:a,sinner_radius:_,souter_radius:o}=null!=t?t:this,d=\"anticlock\"==this.model.direction;for(const t of s){const s=i[t],h=r[t],l=_[t],u=o[t],c=n.get(t),g=a.get(t);if(!isFinite(s+h+l+u+c+g))continue;const p=g-c;e.translate(s,h),e.rotate(c),e.beginPath(),e.moveTo(u,0),e.arc(0,0,u,0,p,d),e.rotate(p),e.lineTo(l,0),e.arc(0,0,l,0,-p,!d),e.closePath(),e.rotate(-p-c),e.translate(-s,-h),this.visuals.fill.apply(e,t),this.visuals.hatch.apply(e,t),this.visuals.line.apply(e,t)}}_hit_point(e){const{sx:s,sy:t}=e,i=this.renderer.xscale.invert(s),r=this.renderer.yscale.invert(t),n=s-this.max_souter_radius,a=s+this.max_souter_radius,[_,o]=this.renderer.xscale.r_invert(n,a),d=t-this.max_souter_radius,h=t+this.max_souter_radius,[l,u]=this.renderer.yscale.r_invert(d,h),p=[];for(const e of this.index.indices({x0:_,x1:o,y0:l,y1:u})){const s=this.souter_radius[e]**2,t=this.sinner_radius[e]**2,[n,a]=this.renderer.xscale.r_compute(i,this._x[e]),[_,o]=this.renderer.yscale.r_compute(r,this._y[e]),d=(n-a)**2+(_-o)**2;d<=s&&d>=t&&p.push(e)}const x=\"anticlock\"==this.model.direction,m=[];for(const e of p){const i=Math.atan2(t-this.sy[e],s-this.sx[e]);(Math.abs(this.start_angle.get(e)-this.end_angle.get(e))>=2*Math.PI||(0,c.angle_between)(-i,-this.start_angle.get(e),-this.end_angle.get(e),x))&&m.push(e)}return new g.Selection({indices:m})}draw_legend_for_index(e,s,t){(0,o.generic_area_vector_legend)(this.visuals,e,s,t)}scenterxy(e){const s=(this.sinner_radius[e]+this.souter_radius[e])/2,t=(this.start_angle.get(e)+this.end_angle.get(e))/2;return[this.sx[e]+s*Math.cos(t),this.sy[e]+s*Math.sin(t)]}}t.AnnularWedgeView=x,x.__name__=\"AnnularWedgeView\";class m extends _.XYGlyph{constructor(e){super(e)}}t.AnnularWedge=m,n=m,m.__name__=\"AnnularWedge\",n.prototype.default_view=x,n.mixins([d.LineVector,d.FillVector,d.HatchVector]),n.define((({})=>({direction:[l.Direction,\"anticlock\"],inner_radius:[u.DistanceSpec,{field:\"inner_radius\"}],outer_radius:[u.DistanceSpec,{field:\"outer_radius\"}],start_angle:[u.AngleSpec,{field:\"start_angle\"}],end_angle:[u.AngleSpec,{field:\"end_angle\"}]})))},\n", + " function _(s,e,r,i,t){var n;i();const a=s(1),u=s(202),_=s(23),o=s(78),d=a.__importStar(s(17)),h=s(101);class c extends u.XYGlyphView{_map_data(){\"data\"==this.model.properties.inner_radius.units?this.sinner_radius=this.sdist(this.renderer.xscale,this._x,this.inner_radius):this.sinner_radius=(0,_.to_screen)(this.inner_radius),\"data\"==this.model.properties.outer_radius.units?this.souter_radius=this.sdist(this.renderer.xscale,this._x,this.outer_radius):this.souter_radius=(0,_.to_screen)(this.outer_radius)}_render(s,e,r){const{sx:i,sy:t,sinner_radius:n,souter_radius:a}=null!=r?r:this;for(const r of e){const e=i[r],u=t[r],_=n[r],o=a[r];isFinite(e+u+_+o)&&(s.beginPath(),s.arc(e,u,_,0,2*Math.PI,!0),s.moveTo(e+o,u),s.arc(e,u,o,2*Math.PI,0,!1),this.visuals.fill.apply(s,r),this.visuals.hatch.apply(s,r),this.visuals.line.apply(s,r))}}_hit_point(s){const{sx:e,sy:r}=s,i=this.renderer.xscale.invert(e),t=this.renderer.yscale.invert(r);let n,a,u,_;if(\"data\"==this.model.properties.outer_radius.units)n=i-this.max_outer_radius,u=i+this.max_outer_radius,a=t-this.max_outer_radius,_=t+this.max_outer_radius;else{const s=e-this.max_outer_radius,i=e+this.max_outer_radius;[n,u]=this.renderer.xscale.r_invert(s,i);const t=r-this.max_outer_radius,o=r+this.max_outer_radius;[a,_]=this.renderer.yscale.r_invert(t,o)}const o=[];for(const s of this.index.indices({x0:n,x1:u,y0:a,y1:_})){const e=this.souter_radius[s]**2,r=this.sinner_radius[s]**2,[n,a]=this.renderer.xscale.r_compute(i,this._x[s]),[u,_]=this.renderer.yscale.r_compute(t,this._y[s]),d=(n-a)**2+(u-_)**2;d<=e&&d>=r&&o.push(s)}return new h.Selection({indices:o})}draw_legend_for_index(s,{x0:e,y0:r,x1:i,y1:t},n){const a=n+1,u=new Array(a);u[n]=(e+i)/2;const _=new Array(a);_[n]=(r+t)/2;const o=.5*Math.min(Math.abs(i-e),Math.abs(t-r)),d=new Array(a);d[n]=.4*o;const h=new Array(a);h[n]=.8*o,this._render(s,[n],{sx:u,sy:_,sinner_radius:d,souter_radius:h})}}r.AnnulusView=c,c.__name__=\"AnnulusView\";class l extends u.XYGlyph{constructor(s){super(s)}}r.Annulus=l,n=l,l.__name__=\"Annulus\",n.prototype.default_view=c,n.mixins([o.LineVector,o.FillVector,o.HatchVector]),n.define((({})=>({inner_radius:[d.DistanceSpec,{field:\"inner_radius\"}],outer_radius:[d.DistanceSpec,{field:\"outer_radius\"}]})))},\n", + " function _(e,s,t,i,n){var r;i();const a=e(1),o=e(202),d=e(209),c=e(78),l=e(23),_=e(19),h=a.__importStar(e(17));class u extends o.XYGlyphView{_map_data(){\"data\"==this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this.radius):this.sradius=(0,l.to_screen)(this.radius)}_render(e,s,t){if(!this.visuals.line.doit)return;const{sx:i,sy:n,sradius:r,start_angle:a,end_angle:o}=null!=t?t:this,d=\"anticlock\"==this.model.direction;for(const t of s){const s=i[t],c=n[t],l=r[t],_=a.get(t),h=o.get(t);isFinite(s+c+l+_+h)&&(this._render_decorations(e,t,s,c,l,_,h,d),e.beginPath(),e.arc(s,c,l,_,h,d),this.visuals.line.apply(e,t))}}_render_decorations(e,s,t,i,n,r,a,o){const{sin:d,cos:c,PI:l}=Math;for(const o of this.decorations.values()){if(e.save(),\"start\"==o.model.node){const s=n*c(r)+t,a=n*d(r)+i;e.translate(s,a),e.rotate(r+l)}else if(\"end\"==o.model.node){const s=n*Math.cos(a)+t,r=n*Math.sin(a)+i;e.translate(s,r),e.rotate(a)}o.marking.render(e,s),e.restore()}}draw_legend_for_index(e,s,t){(0,d.generic_line_vector_legend)(this.visuals,e,s,t)}}t.ArcView=u,u.__name__=\"ArcView\";class g extends o.XYGlyph{constructor(e){super(e)}}t.Arc=g,r=g,g.__name__=\"Arc\",r.prototype.default_view=u,r.mixins(c.LineVector),r.define((({})=>({direction:[_.Direction,\"anticlock\"],radius:[h.DistanceSpec,{field:\"radius\"}],start_angle:[h.AngleSpec,{field:\"start_angle\"}],end_angle:[h.AngleSpec,{field:\"end_angle\"}]})))},\n", + " function _(e,i,t,c,s){var n;c();const o=e(1),r=e(78),_=e(203),d=e(209),a=e(105),l=e(320),x=o.__importStar(e(17));class y extends _.GlyphView{_project_data(){a.inplace.project_xy(this._x0,this._y0),a.inplace.project_xy(this._x1,this._y1)}_index_data(e){const{data_size:i,_x0:t,_y0:c,_x1:s,_y1:n,_cx0:o,_cy0:r,_cx1:_,_cy1:d}=this;for(let a=0;a({x0:[x.XCoordinateSpec,{field:\"x0\"}],y0:[x.YCoordinateSpec,{field:\"y0\"}],x1:[x.XCoordinateSpec,{field:\"x1\"}],y1:[x.YCoordinateSpec,{field:\"y1\"}],cx0:[x.XCoordinateSpec,{field:\"cx0\"}],cy0:[x.YCoordinateSpec,{field:\"cy0\"}],cx1:[x.XCoordinateSpec,{field:\"cx1\"}],cy1:[x.YCoordinateSpec,{field:\"cy1\"}]}))),n.mixins(r.LineVector)},\n", + " function _(n,t,o,c,s){c();const r=n(13),{abs:i,sqrt:u,min:e,max:f}=Math;o.qbb=function(n,t,o,c,s,r){function i(n,t,o){if(t==(n+o)/2)return[n,o];{const c=(n-t)/(n-2*t+o),s=n*(1-c)**2+2*t*(1-c)*c+o*c**2;return[e(n,o,s),f(n,o,s)]}}const[u,a]=i(n,o,s),[x,m]=i(t,c,r);return{x0:u,x1:a,y0:x,y1:m}},o.cbb=function(n,t,o,c,s,e,f,a){const x=f,m=a;f=o,a=c;const y=s,b=e,h=[];for(let o=0;o<=2;o++){let c,s,r;if(0==o?(s=6*n-12*f+6*y,c=-3*n+9*f-9*y+3*x,r=3*f-3*n):(s=6*t-12*a+6*b,c=-3*t+9*a-9*b+3*m,r=3*a-3*t),i(c)<1e-12){if(i(s)<1e-12)continue;const n=-r/s;00;){const o=h[p],c=1-o,s=c**3*n+3*c**2*o*f+3*c*o**2*y+o**3*x,r=c**3*t+3*c**2*o*a+3*c*o**2*b+o**3*m;q[p]=s,A[p]=r}q[l]=n,A[l]=t,q[l+1]=x,A[l+1]=m;const[g,M]=(0,r.minmax)(q),[_,d]=(0,r.minmax)(A);return{x0:g,x1:M,y0:_,y1:d}}},\n", + " function _(t,e,i,s,r){var h;s();const a=t(1),n=t(322),l=t(23),o=a.__importStar(t(17));class _ extends n.LRTBView{async lazy_initialize(){await super.lazy_initialize();const{webgl:e}=this.renderer.plot_view.canvas_view;if(null!=e&&e.regl_wrapper.has_webgl){const{LRTBGL:i}=await Promise.resolve().then((()=>a.__importStar(t(522))));this.glglyph=new i(e.regl_wrapper,this)}}scenterxy(t){return[this.sleft[t]/2+this.sright[t]/2,this.stop[t]/2+this.sbottom[t]/2]}_lrtb(t){const e=this._x[t],i=this._y[t],s=this.width.get(t),r=this.height.get(t);return[Math.min(e,e+s),Math.max(e,e+s),Math.max(i,i+r),Math.min(i,i+r)]}_map_data(){const t=this.renderer.xscale.v_compute(this._x),e=this.renderer.yscale.v_compute(this._y),i=this.sdist(this.renderer.xscale,this._x,this.width,\"edge\"),s=this.sdist(this.renderer.yscale,this._y,this.height,\"edge\"),r=t.length;this.stop=new l.ScreenArray(r),this.sbottom=new l.ScreenArray(r),this.sleft=new l.ScreenArray(r),this.sright=new l.ScreenArray(r);for(let h=0;h({x:[o.XCoordinateSpec,{field:\"x\"}],y:[o.YCoordinateSpec,{field:\"y\"}],width:[o.NumberSpec,{value:1}],height:[o.NumberSpec,{value:1}]})))},\n", + " function _(t,e,r,s,i){var n;s();const a=t(1),o=t(78),h=t(203),c=t(209),_=t(101),d=t(57),l=t(233),x=a.__importStar(t(235)),m=t(234);class p extends h.GlyphView{get_anchor_point(t,e,r){const s=Math.min(this.sleft[e],this.sright[e]),i=Math.max(this.sright[e],this.sleft[e]),n=Math.min(this.stop[e],this.sbottom[e]),a=Math.max(this.sbottom[e],this.stop[e]);switch(t){case\"top_left\":return{x:s,y:n};case\"top\":case\"top_center\":return{x:(s+i)/2,y:n};case\"top_right\":return{x:i,y:n};case\"bottom_left\":return{x:s,y:a};case\"bottom\":case\"bottom_center\":return{x:(s+i)/2,y:a};case\"bottom_right\":return{x:i,y:a};case\"left\":case\"center_left\":return{x:s,y:(n+a)/2};case\"center\":case\"center_center\":return{x:(s+i)/2,y:(n+a)/2};case\"right\":case\"center_right\":return{x:i,y:(n+a)/2}}}_set_data(t){super._set_data(t),this.border_radius=x.border_radius(this.model.border_radius)}_index_data(t){const{min:e,max:r}=Math,{data_size:s}=this;for(let i=0;i({border_radius:[l.BorderRadius,0]})))},\n", + " function _(s,i,e,t,r){var a;t();const n=s(1),d=s(202),h=s(78),c=s(23),_=s(19),l=n.__importStar(s(210)),u=n.__importStar(s(17)),o=s(13),x=s(101);class y extends d.XYGlyphView{async lazy_initialize(){await super.lazy_initialize();const{webgl:i}=this.renderer.plot_view.canvas_view;if(null!=i&&i.regl_wrapper.has_webgl){const{CircleGL:e}=await Promise.resolve().then((()=>n.__importStar(s(518))));this.glglyph=new e(i.regl_wrapper,this)}}get use_radius(){return!(this.radius.is_Scalar()&&isNaN(this.radius.value))}_set_data(s){super._set_data(s);const i=(()=>{if(this.use_radius)return 2*this.max_radius;{const{size:s}=this;return s.is_Scalar()?s.value:(0,o.max)(s.array)}})();this._configure(\"max_size\",{value:i})}_index_data(s){if(this.use_radius){const{_x:i,_y:e,radius:t,data_size:r}=this;for(let a=0;aMath.max(s,i[e])));break}case\"min\":{const s=this.sdist(this.renderer.xscale,this._x,this.radius),i=this.sdist(this.renderer.yscale,this._y,this.radius);this.sradius=(0,o.map)(s,((s,e)=>Math.min(s,i[e])));break}}else this.sradius=(0,c.to_screen)(this.radius);else{const s=c.ScreenArray.from(this.size);this.sradius=(0,o.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],d=a[e];isFinite(i+n+d)&&(s.beginPath(),s.arc(i,n,d,0,2*Math.PI,!1),this.visuals.fill.apply(s,e),this.visuals.hatch.apply(s,e),this.visuals.line.apply(s,e))}}_hit_point(s){const{sx:i,sy:e}=s,t=this.renderer.xscale.invert(i),r=this.renderer.yscale.invert(e),{hit_dilation:a}=this.model,[n,d,h,c]=(()=>{if(this.use_radius&&\"data\"==this.model.properties.radius.units){const s=this.max_radius*a;return[t-s,t+s,r-s,r+s]}{const s=this.max_size*a,t=i-s,r=i+s,n=e-s,d=e+s,[h,c]=this.renderer.xscale.r_invert(t,r),[_,l]=this.renderer.yscale.r_invert(n,d);return[h,c,_,l]}})(),_=this.index.indices({x0:n,x1:d,y0:h,y1:c}),l=[];if(this.use_radius&&\"data\"==this.model.properties.radius.units)for(const s of _){const i=(this.sradius[s]*a)**2,[e,n]=this.renderer.xscale.r_compute(t,this._x[s]),[d,h]=this.renderer.yscale.r_compute(r,this._y[s]);(e-n)**2+(d-h)**2<=i&&l.push(s)}else for(const s of _){const t=(this.sradius[s]*a)**2;(this.sx[s]-i)**2+(this.sy[s]-e)**2<=t&&l.push(s)}return new x.Selection({indices:l})}_hit_span(s){const{sx:i,sy:e}=s,t=this.bounds(),[r,a,n,d]=(()=>{const r=this.use_radius&&\"data\"==this.model.properties.radius.units?this.max_radius:this.max_size/2;if(\"h\"==s.direction){const s=i-r,e=i+r,[a,n]=this.renderer.xscale.r_invert(s,e),{y0:d,y1:h}=t;return[a,n,d,h]}{const s=e-r,i=e+r,{x0:a,x1:n}=t,[d,h]=this.renderer.yscale.r_invert(s,i);return[a,n,d,h]}})(),h=[...this.index.indices({x0:r,x1:a,y0:n,y1:d})];return new x.Selection({indices:h})}_hit_rect(s){const{sx0:i,sx1:e,sy0:t,sy1:r}=s,[a,n]=this.renderer.xscale.r_invert(i,e),[d,h]=this.renderer.yscale.r_invert(t,r),c=this.index.indices({x0:a,x1:n,y0:d,y1:h}),_=[];for(const s of c){const a=this.sx[s],n=this.sy[s];i<=a&&a<=e&&t<=n&&n<=r&&_.push(s)}return new x.Selection({indices:_})}_hit_poly(s){const{sx:i,sy:e}=s,[t,r]=(0,o.minmax)(i),[a,n]=(0,o.minmax)(e),[d,h]=this.renderer.xscale.r_invert(t,r),[c,_]=this.renderer.yscale.r_invert(a,n),u=this.index.indices({x0:d,x1:h,y0:c,y1:_}),y=[];for(const s of u)l.point_in_poly(this.sx[s],this.sy[s],i,e)&&y.push(s);return new x.Selection({indices:y})}draw_legend_for_index(s,{x0:i,y0:e,x1:t,y1:r},a){const n=a+1,d=new Array(n);d[a]=(i+t)/2;const h=new Array(n);h[a]=(e+r)/2;const c=new Array(n);c[a]=.2*Math.min(Math.abs(t-i),Math.abs(r-e)),this._render(s,[a],{sx:d,sy:h,sradius:c})}}e.CircleView=y,y.__name__=\"CircleView\";class p extends d.XYGlyph{constructor(s){super(s)}}e.Circle=p,a=p,p.__name__=\"Circle\",a.prototype.default_view=y,a.mixins([h.LineVector,h.FillVector,h.HatchVector]),a.define((({Number:s})=>({angle:[u.AngleSpec,0],size:[u.ScreenSizeSpec,{value:4}],radius:[u.NullDistanceSpec,null],radius_dimension:[_.RadiusDimension,\"x\"],hit_dilation:[s,1]})))},\n", + " function _(t,s,e,i,h){var r;i();const n=t(1),a=t(325),l=n.__importStar(t(210)),o=t(23),_=t(101),d=n.__importStar(t(17));class c 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=(0,o.to_screen)(this.width),\"data\"==this.model.properties.height.units?this.sh=this.sdist(this.renderer.yscale,this._y,this.height,\"center\"):this.sh=(0,o.to_screen)(this.height)}_render(t,s,e){const{sx:i,sy:h,sw:r,sh:n,angle:a}=null!=e?e:this;for(const e of s){const s=i[e],l=h[e],o=r[e],_=n[e],d=a.get(e);isFinite(s+l+o+_+d)&&(t.beginPath(),t.ellipse(s,l,o/2,_/2,d,0,2*Math.PI),this.visuals.fill.apply(t,e),this.visuals.hatch.apply(t,e),this.visuals.line.apply(t,e))}}_hit_point(t){let s,e,i,h,r,n,a,o,d;const{sx:c,sy:p}=t,w=this.renderer.xscale.invert(c),x=this.renderer.yscale.invert(p);\"data\"==this.model.properties.width.units?(s=w-this.max_width,e=w+this.max_width):(n=c-this.max_width,a=c+this.max_width,[s,e]=this.renderer.xscale.r_invert(n,a)),\"data\"==this.model.properties.height.units?(i=x-this.max_height,h=x+this.max_height):(o=p-this.max_height,d=p+this.max_height,[i,h]=this.renderer.yscale.r_invert(o,d));const y=this.index.indices({x0:s,x1:e,y0:i,y1:h}),m=[];for(const t of y)r=l.point_in_ellipse(c,p,this.angle.get(t),this.sh[t]/2,this.sw[t]/2,this.sx[t],this.sy[t]),r&&m.push(t);return new _.Selection({indices:m})}draw_legend_for_index(t,{x0:s,y0:e,x1:i,y1:h},r){const n=r+1,a=new Array(n);a[r]=(s+i)/2;const l=new Array(n);l[r]=(e+h)/2;const o=this.sw[r]/this.sh[r],_=.8*Math.min(Math.abs(i-s),Math.abs(h-e)),c=new Array(n),p=new Array(n);o>1?(c[r]=_,p[r]=_/o):(c[r]=_*o,p[r]=_);const w=new d.UniformScalar(0,n);this._render(t,[r],{sx:a,sy:l,sw:c,sh:p,angle:w})}}e.EllipseView=c,c.__name__=\"EllipseView\";class p extends a.CenterRotatable{constructor(t){super(t)}}e.Ellipse=p,r=p,p.__name__=\"Ellipse\",r.prototype.default_view=c},\n", + " function _(e,t,i,a,n){var r;a();const s=e(1),h=e(202),o=e(78),_=s.__importStar(e(17));class c extends h.XYGlyphView{get max_w2(){return\"data\"==this.model.properties.width.units?this.max_width/2:0}get max_h2(){return\"data\"==this.model.properties.height.units?this.max_height/2:0}_bounds({x0:e,x1:t,y0:i,y1:a}){const{max_w2:n,max_h2:r}=this;return{x0:e-n,x1:t+n,y0:i-r,y1:a+r}}}i.CenterRotatableView=c,c.__name__=\"CenterRotatableView\";class l extends h.XYGlyph{constructor(e){super(e)}}i.CenterRotatable=l,r=l,l.__name__=\"CenterRotatable\",r.mixins([o.LineVector,o.FillVector,o.HatchVector]),r.define((({})=>({angle:[_.AngleSpec,0],width:[_.DistanceSpec,{field:\"width\"}],height:[_.DistanceSpec,{field:\"height\"}]})))},\n", + " function _(t,e,s,i,r){var h;i();const a=t(1),n=t(322),_=t(23),l=a.__importStar(t(17));class o extends n.LRTBView{async lazy_initialize(){await super.lazy_initialize();const{webgl:e}=this.renderer.plot_view.canvas_view;if(null!=e&&e.regl_wrapper.has_webgl){const{LRTBGL:s}=await Promise.resolve().then((()=>a.__importStar(t(522))));this.glglyph=new s(e.regl_wrapper,this)}}scenterxy(t){return[(this.sleft[t]+this.sright[t])/2,this.sy[t]]}_lrtb(t){const e=this._left[t],s=this._right[t],i=this._y[t],r=this.height.get(t)/2;return[Math.min(e,s),Math.max(e,s),i+r,i-r]}_map_data(){this.sy=this.renderer.yscale.v_compute(this._y),this.sh=this.sdist(this.renderer.yscale,this._y,this.height,\"center\"),this.sleft=this.renderer.xscale.v_compute(this._left),this.sright=this.renderer.xscale.v_compute(this._right);const t=this.sy.length;this.stop=new _.ScreenArray(t),this.sbottom=new _.ScreenArray(t);for(let e=0;e({left:[l.XCoordinateSpec,{value:0}],y:[l.YCoordinateSpec,{field:\"y\"}],height:[l.NumberSpec,{value:1}],right:[l.XCoordinateSpec,{field:\"right\"}]})))},\n", + " function _(e,t,s,i,r){var n;i();const a=e(1),l=e(203),o=a.__importStar(e(210)),c=a.__importStar(e(17)),h=e(78),_=e(19),d=e(105),p=e(209),x=e(101);class y extends l.GlyphView{async lazy_initialize(){await super.lazy_initialize();const{webgl:t}=this.renderer.plot_view.canvas_view;if(null!=t&&t.regl_wrapper.has_webgl){const{HexTileGL:s}=await Promise.resolve().then((()=>a.__importStar(e(520))));this.glglyph=new s(t.regl_wrapper,this)}}scenterxy(e){return[this.sx[e],this.sy[e]]}_set_data(){const{orientation:e,size:t,aspect_scale:s}=this.model,{q:i,r}=this,n=this.q.length;this._x=new Float64Array(n),this._y=new Float64Array(n);const{_x:a,_y:l}=this,o=Math.sqrt(3);if(\"pointytop\"==e)for(let e=0;e({r:[c.NumberSpec,{field:\"r\"}],q:[c.NumberSpec,{field:\"q\"}],scale:[c.NumberSpec,1],size:[e,1],aspect_scale:[e,1],orientation:[_.HexTileOrientation,\"pointytop\"]}))),n.override({line_color:null})},\n", + " function _(e,a,t,_,r){var n;_();const s=e(329),o=e(197),i=e(242);class p extends s.ImageBaseView{connect_signals(){super.connect_signals(),this.connect(this.model.color_mapper.change,(()=>this._update_image()))}_update_image(){null!=this.image_data&&(this._set_data(null),this.renderer.request_render())}_flat_img_to_buf8(e){return this.model.color_mapper.rgba_mapper.v_compute(e)}}t.ImageView=p,p.__name__=\"ImageView\";class m extends s.ImageBase{constructor(e){super(e)}}t.Image=m,n=m,m.__name__=\"Image\",n.prototype.default_view=p,n.define((({Ref:e})=>({color_mapper:[e(o.ColorMapper),()=>new i.LinearColorMapper({palette:[\"#000000\",\"#252525\",\"#525252\",\"#737373\",\"#969696\",\"#bdbdbd\",\"#d9d9d9\",\"#f0f0f0\",\"#ffffff\"]})]})))},\n", + " function _(e,t,i,s,a){var h;s();const r=e(1),n=e(202),_=e(23),o=e(19),d=r.__importStar(e(17)),g=r.__importStar(e(78)),c=e(101),l=e(12),m=e(233),x=e(235);class u extends n.XYGlyphView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.global_alpha.change,(()=>this.renderer.request_render()))}get image_dimension(){return 2}get xy_scale(){switch(this.model.origin){case\"bottom_left\":return{x:1,y:-1};case\"top_left\":return{x:1,y:1};case\"bottom_right\":return{x:-1,y:-1};case\"top_right\":return{x:-1,y:1}}}get xy_offset(){switch(this.model.origin){case\"bottom_left\":return{x:0,y:1};case\"top_left\":return{x:0,y:0};case\"bottom_right\":return{x:1,y:1};case\"top_right\":return{x:1,y:0}}}get xy_anchor(){return(0,x.anchor)(this.model.anchor)}get xy_sign(){const e=this.renderer.xscale.source_range,t=this.renderer.yscale.source_range;return{x:e.is_reversed?-1:1,y:t.is_reversed?-1:1}}_render(e,t,i){const{image_data:s,sx:a,sy:h,sw:r,sh:n}=null!=i?i:this,{xy_sign:_,xy_scale:o,xy_offset:d,xy_anchor:g}=this;if(e.save(),e.imageSmoothingEnabled=!1,this.visuals.image.doit)for(const i of t){const t=s[i],c=a[i],l=h[i],m=r[i],x=n[i];if(null==t||!isFinite(c+l+m+x))continue;const u=_.x*g.x*m,y=_.y*g.y*x;e.save(),e.translate(c-u,l-y),e.scale(_.x*o.x,_.y*o.y),this.visuals.image.set_vectorize(e,i),e.drawImage(t,-d.x*m,-d.y*x,m,x),e.restore()}e.restore()}_set_data(e){this._set_width_height_data();const{image_dimension:t}=this;for(let i=0,s=this.image.length;i({image:[d.NDArraySpec,{field:\"image\"}],dw:[d.DistanceSpec,{field:\"dw\"}],dh:[d.DistanceSpec,{field:\"dh\"}],dilate:[e,!1],origin:[o.ImageOrigin,\"bottom_left\"],anchor:[m.Anchor,\"bottom_left\"]})))},\n", + " function _(e,a,t,n,r){var _;n();const s=e(329),m=e(8);class i extends s.ImageBaseView{_flat_img_to_buf8(e){const a=(0,m.isTypedArray)(e)?e:new Uint32Array(e);return new Uint8ClampedArray(a.buffer)}}t.ImageRGBAView=i,i.__name__=\"ImageRGBAView\";class o extends s.ImageBase{constructor(e){super(e)}}t.ImageRGBA=o,_=o,o.__name__=\"ImageRGBA\",_.prototype.default_view=i},\n", + " function _(e,a,t,_,n){var r;_();const s=e(329),c=e(245);class i extends s.ImageBaseView{connect_signals(){super.connect_signals(),this.connect(this.model.color_mapper.change,(()=>this._update_image()))}get image_dimension(){return 3}_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.ImageStackView=i,i.__name__=\"ImageStackView\";class o extends s.ImageBase{constructor(e){super(e)}}t.ImageStack=o,r=o,o.__name__=\"ImageStack\",r.prototype.default_view=i,r.define((({Ref:e})=>({color_mapper:[e(c.StackColorMapper)]})))},\n", + " function _(e,t,s,i,r){var a;i();const n=e(1),h=e(202),o=e(23),d=e(19),_=n.__importStar(e(17)),l=e(13),c=e(150),m=n.__importStar(e(235));class g extends h.XYGlyphView{constructor(){super(...arguments),this._images_rendered=!1,this._set_data_iteration=0}connect_signals(){super.connect_signals(),this.connect(this.model.properties.global_alpha.change,(()=>this.renderer.request_render()))}_index_data(e){const{data_size:t}=this;for(let s=0;s{this._set_data_iteration!=i||this.rendered.get(r)||this.renderer.request_render()},failed:()=>{this._set_data_iteration==i&&(this.image[r]=void 0)},attempts:t+1,timeout:s});this.image[r]=a.image}const r=\"data\"==this.model.properties.w.units,a=\"data\"==this.model.properties.h.units,n=this.data_size,h=new o.ScreenArray(r?2*n:n),d=new o.ScreenArray(a?2*n:n);this.anchor=m.anchor(this.model.anchor);const{x:_,y:g}=this.anchor;function u(e,t){const s=e-_*t;return[s,s+t]}function p(e,t){const s=e+g*t;return[s,s-t]}if(r)for(let e=0;e({url:[_.StringSpec,{field:\"url\"}],anchor:[d.Anchor,\"top_left\"],global_alpha:[_.NumberSpec,{value:1}],angle:[_.AngleSpec,0],w:[_.NullDistanceSpec,null],h:[_.NullDistanceSpec,null],dilate:[e,!1],retry_attempts:[t,0],retry_timeout:[t,0]})))},\n", + " function _(e,t,s,i,n){var o;i();const r=e(1),l=e(105),_=e(78),c=r.__importStar(e(210)),h=r.__importStar(e(17)),a=e(13),d=e(9),x=e(203),y=e(209),g=e(101);class p extends x.GlyphView{_project_data(){l.inplace.project_xy(this._xs.array,this._ys.array)}_index_data(e){const{data_size:t}=this;for(let s=0;s0&&o.set(e,s)}return new g.Selection({indices:[...o.keys()],multiline_indices:(0,d.to_object)(o)})}get_interpolation_hit(e,t,s){const i=this._xs.get(e),n=this._ys.get(e),o=i[t],r=n[t],l=i[t+1],_=n[t+1];return(0,y.line_interpolation)(this.renderer,s,o,r,l,_)}draw_legend_for_index(e,t,s){(0,y.generic_line_vector_legend)(this.visuals,e,t,s)}scenterxy(){throw new Error(`${this}.scenterxy() is not implemented`)}}s.MultiLineView=p,p.__name__=\"MultiLineView\";class u extends x.Glyph{constructor(e){super(e)}}s.MultiLine=u,o=u,u.__name__=\"MultiLine\",o.prototype.default_view=p,o.define((({})=>({xs:[h.XCoordinateSeqSpec,{field:\"xs\"}],ys:[h.YCoordinateSeqSpec,{field:\"ys\"}]}))),o.mixins(_.LineVector)},\n", + " function _(t,e,s,n,i){var o;n();const r=t(1),l=t(205),h=t(203),a=t(209),_=t(13),c=t(13),d=t(78),x=r.__importStar(t(210)),y=r.__importStar(t(17)),f=t(101),g=t(12);class p extends h.GlyphView{_project_data(){}_index_data(t){const{min:e,max:s}=Math,{data_size:n}=this;for(let i=0;i1&&c.length>1)for(let s=1,n=i.length;s1){let r=!1;for(let t=1;t({xs:[y.XCoordinateSeqSeqSeqSpec,{field:\"xs\"}],ys:[y.YCoordinateSeqSeqSeqSpec,{field:\"ys\"}]}))),o.mixins([d.LineVector,d.FillVector,d.HatchVector])},\n", + " function _(e,t,s,i,n){var r;i();const a=e(1),o=e(203),_=e(209),c=e(13),h=e(78),l=a.__importStar(e(210)),d=a.__importStar(e(17)),y=e(101),p=e(12),x=e(105);class f extends o.GlyphView{_project_data(){x.inplace.project_xy(this._xs.array,this._ys.array)}_index_data(e){const{data_size:t}=this;for(let s=0;s({xs:[d.XCoordinateSeqSpec,{field:\"xs\"}],ys:[d.YCoordinateSeqSpec,{field:\"ys\"}]}))),r.mixins([h.LineVector,h.FillVector,h.HatchVector])},\n", + " function _(t,e,i,r,o){var s;r();const a=t(1),l=t(322),n=a.__importStar(t(17));class _ extends l.LRTBView{async lazy_initialize(){await super.lazy_initialize();const{webgl:e}=this.renderer.plot_view.canvas_view;if(null!=e&&e.regl_wrapper.has_webgl){const{LRTBGL:i}=await Promise.resolve().then((()=>a.__importStar(t(522))));this.glglyph=new i(e.regl_wrapper,this)}}scenterxy(t){return[this.sleft[t]/2+this.sright[t]/2,this.stop[t]/2+this.sbottom[t]/2]}_lrtb(t){return[this._left[t],this._right[t],this._top[t],this._bottom[t]]}}i.QuadView=_,_.__name__=\"QuadView\";class p extends l.LRTB{constructor(t){super(t)}}i.Quad=p,s=p,p.__name__=\"Quad\",s.prototype.default_view=_,s.define((({})=>({right:[n.XCoordinateSpec,{field:\"right\"}],bottom:[n.YCoordinateSpec,{field:\"bottom\"}],left:[n.XCoordinateSpec,{field:\"left\"}],top:[n.YCoordinateSpec,{field:\"top\"}]})))},\n", + " function _(e,i,t,s,n){var c;s();const o=e(1),r=e(78),a=e(105),_=e(203),d=e(209),l=e(320),x=o.__importStar(e(17));class y extends _.GlyphView{_project_data(){a.inplace.project_xy(this._x0,this._y0),a.inplace.project_xy(this._x1,this._y1)}_index_data(e){const{_x0:i,_x1:t,_y0:s,_y1:n,_cx:c,_cy:o,data_size:r}=this;for(let a=0;a({x0:[x.XCoordinateSpec,{field:\"x0\"}],y0:[x.YCoordinateSpec,{field:\"y0\"}],x1:[x.XCoordinateSpec,{field:\"x1\"}],y1:[x.YCoordinateSpec,{field:\"y1\"}],cx:[x.XCoordinateSpec,{field:\"cx\"}],cy:[x.YCoordinateSpec,{field:\"cy\"}]}))),c.mixins(r.LineVector)},\n", + " function _(e,t,s,n,i){var l;n();const a=e(1),r=e(202),h=e(209),o=e(78),_=e(23),c=a.__importStar(e(17));class g extends r.XYGlyphView{_map_data(){\"data\"==this.model.properties.length.units?this.slength=this.sdist(this.renderer.xscale,this._x,this.length):this.slength=(0,_.to_screen)(this.length);const{width:e,height:t}=this.renderer.plot_view.frame.bbox,s=2*(e+t),{slength:n}=this;for(let e=0,t=n.length;e({length:[c.DistanceSpec,0],angle:[c.AngleSpec,0]})))},\n", + " function _(t,e,s,i,r){var a;i();const n=t(1),h=t(325),_=t(209),d=t(23),o=t(13),l=t(101),c=t(57),y=t(153),x=t(233),w=n.__importStar(t(235)),g=t(234),{abs:p,sqrt:u}=Math;class f extends h.CenterRotatableView{async lazy_initialize(){await super.lazy_initialize();const{webgl:e}=this.renderer.plot_view.canvas_view;if(null!=e&&e.regl_wrapper.has_webgl){const{RectGL:s}=await Promise.resolve().then((()=>n.__importStar(t(524))));this.glglyph=new s(e.regl_wrapper,this)}}_set_data(t){super._set_data(t),this.border_radius=w.border_radius(this.model.border_radius)}_map_data(){const t=this.data_size;if(\"data\"==this.model.properties.width.units)[this.sw,this.sx0]=this._map_dist_corner_for_data_side_length(this._x,this.width,this.renderer.xscale);else{this.sw=(0,d.to_screen)(this.width),this.sx0=new d.ScreenArray(t);for(let e=0;e({border_radius:[x.BorderRadius,0],dilate:[t,!1]})))},\n", + " function _(e,t,r,a,i){var s;a();const n=e(1),l=e(341),_=e(342),c=n.__importStar(e(17));class o extends l.MarkerView{async lazy_initialize(){await super.lazy_initialize();const{webgl:t}=this.renderer.plot_view.canvas_view;if(null!=t&&t.regl_wrapper.has_webgl){const{MultiMarkerGL:r}=await Promise.resolve().then((()=>n.__importStar(e(523))));this.glglyph=new r(t.regl_wrapper,this)}}_render(e,t,r){const{sx:a,sy:i,size:s,angle:n,marker:l}=null!=r?r:this;for(const r of t){const t=a[r],c=i[r],o=s.get(r),g=n.get(r),w=l.get(r);if(!isFinite(t+c+o+g)||null==w)continue;const p=o/2;e.beginPath(),e.translate(t,c),0!=g&&e.rotate(g),_.marker_funcs[w](e,r,p,this.visuals),0!=g&&e.rotate(-g),e.translate(-t,-c)}}draw_legend_for_index(e,{x0:t,x1:r,y0:a,y1:i},s){const n=s+1,l=this.marker.get(s),_=Object.assign(Object.assign({},this._get_legend_args({x0:t,x1:r,y0:a,y1:i},s)),{marker:new c.UniformScalar(l,n)});this._render(e,[s],_)}}r.ScatterView=o,o.__name__=\"ScatterView\";class g extends l.Marker{constructor(e){super(e)}}r.Scatter=g,s=g,g.__name__=\"Scatter\",s.prototype.default_view=o,s.define((()=>({marker:[c.MarkerSpec,{value:\"circle\"}]})))},\n", + " function _(e,t,s,n,i){var r;n();const a=e(1),c=e(202),o=e(78),_=a.__importStar(e(210)),h=a.__importStar(e(17)),l=e(10),x=e(101);class d extends c.XYGlyphView{_render(e,t,s){const{sx:n,sy:i,size:r,angle:a}=null!=s?s:this;for(const s of t){const t=n[s],c=i[s],o=r.get(s),_=a.get(s);if(!isFinite(t+c+o+_))continue;const h=o/2;e.beginPath(),e.translate(t,c),0!=_&&e.rotate(_),this._render_one(e,s,h,this.visuals),0!=_&&e.rotate(-_),e.translate(-t,-c)}}_mask_data(){const{x_target:e,y_target:t}=this.renderer.plot_view.frame,s=e.widen(this.max_size).map((e=>this.renderer.xscale.invert(e))),n=t.widen(this.max_size).map((e=>this.renderer.yscale.invert(e)));return this.index.indices({x0:s.start,x1:s.end,y0:n.start,y1:n.end})}_hit_point(e){const{sx:t,sy:s}=e,{max_size:n}=this,{hit_dilation:i}=this.model,r=t-n*i,a=t+n*i,[c,o]=this.renderer.xscale.r_invert(r,a),_=s-n*i,h=s+n*i,[l,d]=this.renderer.yscale.r_invert(_,h),y=this.index.indices({x0:c,x1:o,y0:l,y1:d}),g=[];for(const e of y){const n=this.size.get(e)/2*i;Math.abs(this.sx[e]-t)<=n&&Math.abs(this.sy[e]-s)<=n&&g.push(e)}return new x.Selection({indices:g})}_hit_span(e){const{sx:t,sy:s}=e,n=this.bounds(),i=this.max_size/2;let r,a,c,o;if(\"h\"==e.direction){c=n.y0,o=n.y1;const e=t-i,s=t+i;[r,a]=this.renderer.xscale.r_invert(e,s)}else{r=n.x0,a=n.x1;const e=s-i,t=s+i;[c,o]=this.renderer.yscale.r_invert(e,t)}const _=[...this.index.indices({x0:r,x1:a,y0:c,y1:o})];return new x.Selection({indices:_})}_hit_rect(e){const{sx0:t,sx1:s,sy0:n,sy1:i}=e,[r,a]=this.renderer.xscale.r_invert(t,s),[c,o]=this.renderer.yscale.r_invert(n,i),_=[...this.index.indices({x0:r,x1:a,y0:c,y1:o})];return new x.Selection({indices:_})}_hit_poly(e){const{sx:t,sy:s}=e,n=(0,l.range)(0,this.sx.length),i=[];for(let e=0,r=n.length;e({size:[h.ScreenSizeSpec,{value:4}],angle:[h.AngleSpec,0],hit_dilation:[e,1]})))},\n", + " function _(l,n,o,i,a){i();const t=Math.sqrt(3),e=Math.sqrt(5),p=(e+1)/4,c=Math.sqrt((5-e)/8),h=(e-1)/4,u=Math.sqrt((5+e)/8);function f(l,n){l.rotate(Math.PI/4),y(l,n),l.rotate(-Math.PI/4)}function r(l,n){const o=n*t,i=o/3;l.moveTo(-o/2,-i),l.lineTo(0,0),l.lineTo(o/2,-i),l.lineTo(0,0),l.lineTo(0,n)}function y(l,n){l.moveTo(0,n),l.lineTo(0,-n),l.moveTo(-n,0),l.lineTo(n,0)}function T(l,n){l.moveTo(0,n),l.lineTo(n/1.5,0),l.lineTo(0,-n),l.lineTo(-n/1.5,0),l.closePath()}function s(l,n){const o=n*t,i=o/3;l.moveTo(-n,i),l.lineTo(n,i),l.lineTo(0,i-o),l.closePath()}function v(l,n,o,i){l.arc(0,0,o,0,2*Math.PI,!1),i.fill.apply(l,n),i.hatch.apply(l,n),i.line.apply(l,n)}function d(l,n,o,i){T(l,o),i.fill.apply(l,n),i.hatch.apply(l,n),i.line.apply(l,n)}function P(l,n,o,i){!function(l,n){l.beginPath(),l.arc(0,0,n/4,0,2*Math.PI,!1),l.closePath()}(l,o),i.line.set_vectorize(l,n),l.fillStyle=l.strokeStyle,l.fill()}function m(l,n,o,i){!function(l,n){const o=n/2,i=t*o;l.moveTo(n,0),l.lineTo(o,-i),l.lineTo(-o,-i),l.lineTo(-n,0),l.lineTo(-o,i),l.lineTo(o,i),l.closePath()}(l,o),i.fill.apply(l,n),i.hatch.apply(l,n),i.line.apply(l,n)}function _(l,n,o,i){const a=2*o;l.rect(-o,-o,a,a),i.fill.apply(l,n),i.hatch.apply(l,n),i.line.apply(l,n)}function q(l,n,o,i){!function(l,n){const o=Math.sqrt(5-2*e)*n;l.moveTo(0,-n),l.lineTo(o*h,o*u-n),l.lineTo(o*(1+h),o*u-n),l.lineTo(o*(1+h-p),o*(u+c)-n),l.lineTo(o*(1+2*h-p),o*(2*u+c)-n),l.lineTo(0,2*o*u-n),l.lineTo(-o*(1+2*h-p),o*(2*u+c)-n),l.lineTo(-o*(1+h-p),o*(u+c)-n),l.lineTo(-o*(1+h),o*u-n),l.lineTo(-o*h,o*u-n),l.closePath()}(l,o),i.fill.apply(l,n),i.hatch.apply(l,n),i.line.apply(l,n)}function M(l,n,o,i){s(l,o),i.fill.apply(l,n),i.hatch.apply(l,n),i.line.apply(l,n)}o.marker_funcs={asterisk:function(l,n,o,i){y(l,o),f(l,o),i.line.apply(l,n)},circle:v,circle_cross:function(l,n,o,i){l.arc(0,0,o,0,2*Math.PI,!1),i.fill.apply(l,n),i.hatch.apply(l,n),y(l,o),i.line.apply(l,n)},circle_dot:function(l,n,o,i){v(l,n,o,i),P(l,n,o,i)},circle_y:function(l,n,o,i){l.arc(0,0,o,0,2*Math.PI,!1),i.fill.apply(l,n),i.hatch.apply(l,n),r(l,o),i.line.apply(l,n)},circle_x:function(l,n,o,i){l.arc(0,0,o,0,2*Math.PI,!1),i.fill.apply(l,n),i.hatch.apply(l,n),f(l,o),i.line.apply(l,n)},cross:function(l,n,o,i){y(l,o),i.line.apply(l,n)},diamond:d,diamond_dot:function(l,n,o,i){d(l,n,o,i),P(l,n,o,i)},diamond_cross:function(l,n,o,i){T(l,o),i.fill.apply(l,n),i.hatch.apply(l,n),l.moveTo(0,o),l.lineTo(0,-o),l.moveTo(-o/1.5,0),l.lineTo(o/1.5,0),i.line.apply(l,n)},dot:P,hex:m,hex_dot:function(l,n,o,i){m(l,n,o,i),P(l,n,o,i)},inverted_triangle:function(l,n,o,i){l.rotate(Math.PI),s(l,o),l.rotate(-Math.PI),i.fill.apply(l,n),i.hatch.apply(l,n),i.line.apply(l,n)},plus:function(l,n,o,i){const a=3*o/8,t=[a,a,o,o,a,a,-a,-a,-o,-o,-a,-a],e=[o,a,a,-a,-a,-o,-o,-a,-a,a,a,o];l.beginPath();for(let n=0;n<12;n++)l.lineTo(t[n],e[n]);l.closePath(),i.fill.apply(l,n),i.hatch.apply(l,n),i.line.apply(l,n)},square:_,square_cross:function(l,n,o,i){const a=2*o;l.rect(-o,-o,a,a),i.fill.apply(l,n),i.hatch.apply(l,n),y(l,o),i.line.apply(l,n)},square_dot:function(l,n,o,i){_(l,n,o,i),P(l,n,o,i)},square_pin:function(l,n,o,i){const a=3*o/8;l.moveTo(-o,-o),l.quadraticCurveTo(0,-a,o,-o),l.quadraticCurveTo(a,0,o,o),l.quadraticCurveTo(0,a,-o,o),l.quadraticCurveTo(-a,0,-o,-o),l.closePath(),i.fill.apply(l,n),i.hatch.apply(l,n),i.line.apply(l,n)},square_x:function(l,n,o,i){const a=2*o;l.rect(-o,-o,a,a),i.fill.apply(l,n),i.hatch.apply(l,n),l.moveTo(-o,o),l.lineTo(o,-o),l.moveTo(-o,-o),l.lineTo(o,o),i.line.apply(l,n)},star:q,star_dot:function(l,n,o,i){q(l,n,o,i),P(l,n,o,i)},triangle:M,triangle_dot:function(l,n,o,i){M(l,n,o,i),P(l,n,o,i)},triangle_pin:function(l,n,o,i){const a=o*t,e=a/3,p=3*e/8;l.moveTo(-o,e),l.quadraticCurveTo(0,p,o,e),l.quadraticCurveTo(t*p/2,p/2,0,e-a),l.quadraticCurveTo(-t*p/2,p/2,-o,e),l.closePath(),i.fill.apply(l,n),i.hatch.apply(l,n),i.line.apply(l,n)},dash:function(l,n,o,i){!function(l,n){l.moveTo(-n,0),l.lineTo(n,0)}(l,o),i.line.apply(l,n)},x:function(l,n,o,i){f(l,o),i.line.apply(l,n)},y:function(l,n,o,i){r(l,o),i.line.apply(l,n)}}},\n", + " function _(e,t,s,i,n){var r;i();const o=e(1),a=o.__importStar(e(210)),_=o.__importStar(e(17)),d=e(78),h=e(105),c=e(11),x=e(203),l=e(209),y=e(101);class p extends x.GlyphView{_project_data(){h.inplace.project_xy(this._x0,this._y0),h.inplace.project_xy(this._x1,this._y1)}_index_data(e){const{min:t,max:s}=Math,{_x0:i,_x1:n,_y0:r,_y1:o,data_size:a}=this;for(let _=0;_({x0:[_.XCoordinateSpec,{field:\"x0\"}],y0:[_.YCoordinateSpec,{field:\"y0\"}],x1:[_.XCoordinateSpec,{field:\"x1\"}],y1:[_.YCoordinateSpec,{field:\"y1\"}]}))),r.mixins(d.LineVector)},\n", + " function _(t,e,s,i,n){var o;i();const _=t(1),l=t(202),a=_.__importStar(t(78)),c=t(345);class r extends l.XYGlyphView{_set_data(){const{tension:t,closed:e}=this.model;[this._xt,this._yt]=(0,c.catmullrom_spline)(this._x,this._y,20,t,e)}_map_data(){const{x_scale:t,y_scale:e}=this.renderer.coordinates;this.sxt=t.v_compute(this._xt),this.syt=e.v_compute(this._yt)}_render(t,e,s){const{sxt:i,syt:n}=null!=s?s:this;let o=!0;t.beginPath();const _=i.length;for(let e=0;e<_;e++){const s=i[e],_=n[e];isFinite(s+_)?o?(t.moveTo(s,_),o=!1):t.lineTo(s,_):o=!0}this.visuals.line.set_value(t),t.stroke()}}s.SplineView=r,r.__name__=\"SplineView\";class h extends l.XYGlyph{constructor(t){super(t)}}s.Spline=h,o=h,h.__name__=\"Spline\",o.prototype.default_view=r,o.mixins(a.LineScalar),o.define((({Boolean:t,Number:e})=>({tension:[e,.5],closed:[t,!1]})))},\n", + " function _(n,t,e,o,s){o();const c=n(23),l=n(12);e.catmullrom_spline=function(n,t,e=10,o=.5,s=!1){(0,l.assert)(n.length==t.length);const r=n.length,f=s?r+1:r,w=(0,c.infer_type)(n,t),i=new w(f+2),u=new w(f+2);i.set(n,1),u.set(t,1),s?(i[0]=n[r-1],u[0]=t[r-1],i[f]=n[0],u[f]=t[0],i[f+1]=n[1],u[f+1]=t[1]):(i[0]=n[0],u[0]=t[0],i[f+1]=n[r-1],u[f+1]=t[r-1]);const g=new w(4*(e+1));for(let n=0,t=0;n<=e;n++){const o=n/e,s=o**2,c=o*s;g[t++]=2*c-3*s+1,g[t++]=-2*c+3*s,g[t++]=c-2*s+o,g[t++]=c-s}const h=new w((f-1)*(e+1)),_=new w((f-1)*(e+1));for(let n=1,t=0;n_.__importStar(e(525))));this.glglyph=new r(t.regl_wrapper,this)}}_render(e,t,r){const i=t.length;if(i<2)return;const{sx:n,sy:s}=null!=r?r:this,_=this.model.mode;this.visuals.line.set_value(e);let a=!1,l=!1;const o=t[0];let h=isFinite(n[o]+s[o]);\"center\"==_&&(a=this._render_xy(e,a,h?n[o]:NaN,s[o]));for(const r of t){const t=isFinite(n[r+1]+s[r+1]);switch(_){case\"before\":a=this._render_xy(e,a,h?n[r]:NaN,s[r]),r({mode:[h.StepMode,\"before\"]})))},\n", + " function _(t,e,s,a,i){var r;a();const n=t(1),o=t(202),l=n.__importStar(t(78)),_=n.__importStar(t(17)),c=t(37),h=t(101),d=t(57),u=t(32),x=t(153),f=t(151),g=t(233),p=n.__importStar(t(235)),y=t(234);class b extends _.DataSpec{}b.__name__=\"TextAnchorSpec\";class w extends o.XYGlyphView{_set_data(t){super._set_data(t),this.labels=Array.from(this.text,(t=>{if(null==t)return null;{const e=`${t}`;return new f.TextBox({text:e})}}))}after_visuals(){super.after_visuals();const t=this.data_size,{anchor:e}=this,{padding:s,border_radius:a}=this.model,{text_align:i,text_baseline:r}=this.visuals.text;if(e.is_Scalar()&&\"auto\"!=e.value)this.anchor_=new c.UniformScalar(p.anchor(e.value),t);else if(e.is_Scalar()&&i.is_Scalar()&&r.is_Scalar())this.anchor_=new c.UniformScalar(p.text_anchor(e.value,i.value,r.value),t);else{const s=new Array(t);for(let a=0;a({text:[_.NullStringSpec,{field:\"text\"}],angle:[_.AngleSpec,0],x_offset:[_.NumberSpec,0],y_offset:[_.NumberSpec,0],anchor:[b,{value:\"auto\"}],padding:[g.Padding,0],border_radius:[g.BorderRadius,0]}))),r.override({border_line_color:null,background_fill_color:null,background_hatch_color:null})},\n", + " function _(t,e,s,i,r){var h;i();const a=t(1),o=t(322),n=t(23),_=a.__importStar(t(17));class l extends o.LRTBView{async lazy_initialize(){await super.lazy_initialize();const{webgl:e}=this.renderer.plot_view.canvas_view;if(null!=e&&e.regl_wrapper.has_webgl){const{LRTBGL:s}=await Promise.resolve().then((()=>a.__importStar(t(522))));this.glglyph=new s(e.regl_wrapper,this)}}scenterxy(t){return[this.sx[t],(this.stop[t]+this.sbottom[t])/2]}_lrtb(t){const e=this.width.get(t)/2,s=this._x[t],i=this._top[t],r=this._bottom[t];return[s-e,s+e,Math.max(i,r),Math.min(i,r)]}_map_data(){this.sx=this.renderer.xscale.v_compute(this._x),this.sw=this.sdist(this.renderer.xscale,this._x,this.width,\"center\"),this.stop=this.renderer.yscale.v_compute(this._top),this.sbottom=this.renderer.yscale.v_compute(this._bottom);const t=this.sx.length;this.sleft=new n.ScreenArray(t),this.sright=new n.ScreenArray(t);for(let e=0;e({x:[_.XCoordinateSpec,{field:\"x\"}],bottom:[_.YCoordinateSpec,{value:0}],width:[_.NumberSpec,{value:1}],top:[_.YCoordinateSpec,{field:\"top\"}]})))},\n", + " function _(e,s,t,i,a){var n;i();const r=e(1),d=e(202),h=e(209),c=e(78),l=e(23),o=e(19),_=r.__importStar(e(17)),u=e(11),g=e(101),x=e(13);class p extends d.XYGlyphView{_map_data(){\"data\"==this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this.radius):this.sradius=(0,l.to_screen)(this.radius),this.max_sradius=(0,x.max)(this.sradius)}_render(e,s,t){const{sx:i,sy:a,sradius:n,start_angle:r,end_angle:d}=null!=t?t:this,h=\"anticlock\"==this.model.direction;for(const t of s){const s=i[t],c=a[t],l=n[t],o=r.get(t),_=d.get(t);isFinite(s+c+l+o+_)&&(e.beginPath(),e.arc(s,c,l,o,_,h),e.lineTo(s,c),e.closePath(),this.visuals.fill.apply(e,t),this.visuals.hatch.apply(e,t),this.visuals.line.apply(e,t))}}_hit_point(e){let s,t,i,a,n;const{sx:r,sy:d}=e,h=this.renderer.xscale.invert(r),c=this.renderer.yscale.invert(d);t=r-this.max_sradius,i=r+this.max_sradius;const[l,o]=this.renderer.xscale.r_invert(t,i);a=d-this.max_sradius,n=d+this.max_sradius;const[_,x]=this.renderer.yscale.r_invert(a,n),p=[];for(const e of this.index.indices({x0:l,x1:o,y0:_,y1:x})){const r=this.sradius[e]**2;[t,i]=this.renderer.xscale.r_compute(h,this._x[e]),[a,n]=this.renderer.yscale.r_compute(c,this._y[e]),s=(t-i)**2+(a-n)**2,s<=r&&p.push(e)}const y=\"anticlock\"==this.model.direction,m=[];for(const e of p){const s=Math.atan2(d-this.sy[e],r-this.sx[e]);(Math.abs(this.start_angle.get(e)-this.end_angle.get(e))>=2*Math.PI||(0,u.angle_between)(-s,-this.start_angle.get(e),-this.end_angle.get(e),y))&&m.push(e)}return new g.Selection({indices:m})}draw_legend_for_index(e,s,t){(0,h.generic_area_vector_legend)(this.visuals,e,s,t)}scenterxy(e){const s=this.sradius[e]/2,t=(this.start_angle.get(e)+this.end_angle.get(e))/2;return[this.sx[e]+s*Math.cos(t),this.sy[e]+s*Math.sin(t)]}}t.WedgeView=p,p.__name__=\"WedgeView\";class y extends d.XYGlyph{constructor(e){super(e)}}t.Wedge=y,n=y,y.__name__=\"Wedge\",n.prototype.default_view=p,n.mixins([c.LineVector,c.FillVector,c.HatchVector]),n.define((({})=>({direction:[o.Direction,\"anticlock\"],radius:[_.DistanceSpec,{field:\"radius\"}],start_angle:[_.AngleSpec,{field:\"start_angle\"}],end_angle:[_.AngleSpec,{field:\"end_angle\"}]})))},\n", + " function _(n,i,o,a,r){a(),r(\"Decoration\",n(208).Decoration),r(\"Marking\",n(140).Marking)},\n", + " function _(t,_,r,o,a){o();const e=t(1);e.__exportStar(t(352),r),e.__exportStar(t(353),r),e.__exportStar(t(354),r)},\n", + " function _(e,t,d,n,s){n();const o=e(50),r=e(13),i=e(10),_=e(101);class a 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=a,a.__name__=\"GraphHitTestPolicy\";class c extends a{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=c,c.__name__=\"EdgesOnly\";class l extends a{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 a{constructor(e){super(e)}hit_test(e,t){return this._hit_test(e,t,t.node_view)}get_linked_edges(e,t,d){const n=(()=>{switch(d){case\"selection\":return(0,r.map)(e.selected.indices,(t=>e.data.index[t]));case\"inspection\":return(0,r.map)(e.inspected.indices,(t=>e.data.index[t]))}})(),s=[];for(let e=0;e{switch(d){case\"selection\":return t.selected.indices;case\"inspection\":return t.inspected.indices}})(),s=[];for(const e of n)s.push(t.data.start[e]),s.push(t.data.end[e]);const o=(0,i.uniq)(s).map((t=>(0,r.index_of)(e.data.index,t)));return new _.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),i=this.get_linked_nodes(d.node_view.model.data_source,d.edge_view.model.data_source,\"inspection\");return r.update(i,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\";class p extends a{constructor(e){super(e)}hit_test(e,t){return this._hit_test(e,t,t.node_view)}get_adjacent_nodes(e,t,d){const n=(()=>{switch(d){case\"selection\":return(0,r.map)(e.selected.indices,(t=>e.data.index[t]));case\"inspection\":return(0,r.map)(e.inspected.indices,(t=>e.data.index[t]))}})(),s=[],o=[];for(let e=0;e(0,r.index_of)(e.data.index,t)));return new _.Selection({indices:a})}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=this.get_adjacent_nodes(t.node_renderer.data_source,t.edge_renderer.data_source,\"selection\");return o.is_empty()||s.update(o,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=this.get_adjacent_nodes(d.node_view.model.data_source,d.edge_view.model.data_source,\"inspection\");return r.is_empty()||(o.update(r,n,s),d.node_view.model.data_source.setv({inspected:o},{silent:!0})),d.node_view.model.data_source.inspect.emit([d.node_view.model,{geometry:t}]),!o.is_empty()}}d.NodesAndAdjacentNodes=p,p.__name__=\"NodesAndAdjacentNodes\"},\n", + " function _(e,o,t,r,n){var s;r();const a=e(50),d=e(304);class _ extends a.Model{constructor(e){super(e)}get node_coordinates(){return new u({layout:this})}get edge_coordinates(){return new i({layout:this})}}t.LayoutProvider=_,_.__name__=\"LayoutProvider\";class c extends d.CoordinateTransform{constructor(e){super(e)}}t.GraphCoordinates=c,s=c,c.__name__=\"GraphCoordinates\",s.define((({Ref:e})=>({layout:[e(_)]})));class u extends c{constructor(e){super(e)}_v_compute(e){const[o,t]=this.layout.get_node_coordinates(e);return{x:o,y:t}}}t.NodeCoordinates=u,u.__name__=\"NodeCoordinates\";class i extends c{constructor(e){super(e)}_v_compute(e){const[o,t]=this.layout.get_edge_coordinates(e);return{x:o,y:t}}}t.EdgeCoordinates=i,i.__name__=\"EdgeCoordinates\"},\n", + " function _(t,e,a,n,o){var l;n();const r=t(353),s=t(9);class u extends r.LayoutProvider{constructor(t){super(t)}get_node_coordinates(t){var e,a;const n=null!==(e=new s.Dict(t.data).get(\"index\"))&&void 0!==e?e:[],o=n.length,l=new Float64Array(o),r=new Float64Array(o),{graph_layout:u}=this;for(let t=0;t({graph_layout:[n(e,a(t)),new globalThis.Map]})))},\n", + " function _(i,d,n,r,G){r(),G(\"Grid\",i(356).Grid)},\n", + " function _(i,e,s,n,t){var r;n();const o=i(1),d=i(158),_=i(160),a=i(161),l=o.__importStar(i(78)),h=i(8);class u extends _.GuideRendererView{_render(){const i=this.layer.ctx;i.save(),this._draw_regions(i),this._draw_minor_grids(i),this._draw_grids(i),i.restore()}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render()))}_draw_regions(i){if(!this.visuals.band_fill.doit&&!this.visuals.band_hatch.doit)return;const[e,s]=this.grid_coords(\"major\",!1);for(let n=0;ns[1]&&(t=s[1]);else{[n,t]=s;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&&([n,t]=i.computed_bounds)}return[n,t]}grid_coords(i,e=!0){const s=this.model.dimension,n=1-s,[t,r]=this.ranges(),[o,d]=(()=>{const[i,e]=this.computed_bounds();return[Math.min(i,e),Math.max(i,e)]})(),_=[[],[]],a=this.model.get_ticker();if(null==a)return _;const l=a.get_ticks(o,d,t,r.min)[i],h=t.min,u=t.max,[c,m]=(()=>{const{cross_bounds:i}=this.model;return\"auto\"==i?[r.min,r.max]:i})();e||(l[0]!=h&&l.splice(0,0,h),l[l.length-1]!=u&&l.push(u));for(let i=0;i({bounds:[r(t(i,i),e),\"auto\"],cross_bounds:[r(t(i,i),e),\"auto\"],dimension:[s(0,1),0],axis:[o(n(d.Axis)),null],ticker:[o(n(a.Ticker)),null]}))),r.override({level:\"underlay\",band_fill_color:null,band_fill_alpha:0,grid_line_color:\"#e5e5e5\",minor_grid_line_color:null})},\n", + " function _(o,x,B,a,l){a(),l(\"Column\",o(358).Column),l(\"FlexBox\",o(359).FlexBox),l(\"GridBox\",o(364).GridBox),l(\"GroupBox\",o(366).GroupBox),l(\"HBox\",o(368).HBox),l(\"LayoutDOM\",o(360).LayoutDOM),l(\"Row\",o(369).Row),l(\"ScrollBox\",o(370).ScrollBox),l(\"Spacer\",o(371).Spacer),l(\"TabPanel\",o(372).TabPanel),l(\"Tabs\",o(373).Tabs),l(\"VBox\",o(375).VBox)},\n", + " function _(e,o,n,t,s){var u;t();const _=e(359);class c extends _.FlexBoxView{constructor(){super(...arguments),this._direction=\"column\"}}n.ColumnView=c,c.__name__=\"ColumnView\";class l extends _.FlexBox{constructor(e){super(e)}}n.Column=l,u=l,l.__name__=\"Column\",u.prototype.default_view=c},\n", + " function _(e,t,i,n,o){var s;n();const a=e(360),c=e(363),r=e(228),l=e(257),h=e(56);class d extends a.LayoutDOMView{connect_signals(){super.connect_signals();const{children:e}=this.model.properties;this.on_change(e,(()=>this.update_children()))}get child_models(){return this.model.children}_intrinsic_display(){return{inner:this.model.flow_mode,outer:\"flex\"}}_update_layout(){super._update_layout(),this.style.append(\":host\",{flex_direction:this._direction,gap:(0,h.px)(this.model.spacing)});const e=new r.Container;let t=0,i=0;for(const n of this.child_views){if(!(n instanceof a.LayoutDOMView))continue;const o=n.box_sizing(),s=(()=>{const e=\"row\"==this._direction?o.width_policy:o.height_policy,t=\"row\"==this._direction?o.width:o.height,i=null!=t?(0,h.px)(t):\"auto\";switch(e){case\"auto\":case\"fixed\":return`0 0 ${i}`;case\"fit\":return\"1 1 auto\";case\"min\":return\"0 1 auto\";case\"max\":return\"1 0 0px\"}})(),c=(()=>{switch(\"row\"==this._direction?o.height_policy:o.width_policy){case\"auto\":case\"fixed\":case\"fit\":case\"min\":return\"row\"==this._direction?o.valign:o.halign;case\"max\":return\"stretch\"}})();n.style.append(\":host\",{flex:s,align_self:c}),\"row\"==this._direction?\"max\"==o.height_policy&&n.style.append(\":host\",{height:\"auto\"}):\"max\"==o.width_policy&&n.style.append(\":host\",{width:\"auto\"}),null!=n.layout&&(e.add({r0:t,c0:i,r1:t+1,c1:i+1},n),\"row\"==this._direction?i+=1:t+=1)}0!=e.size?(this.layout=new c.GridAlignmentLayout(e),this.layout.set_sizing()):delete this.layout}}i.FlexBoxView=d,d.__name__=\"FlexBoxView\";class _ extends a.LayoutDOM{constructor(e){super(e)}}i.FlexBox=_,s=_,_.__name__=\"FlexBox\",s.define((({Number:e,Array:t,Ref:i})=>({children:[t(i(l.UIElement)),[]],spacing:[e,0]})))},\n", + " function _(t,e,i,s,l){var n;s();const a=t(257),o=t(361),r=t(18),h=t(15),u=t(19),_=t(56),d=t(8),c=t(59),f=t(226),m=t(16),p=t(260),w=t(12);class y extends a.UIElementView{constructor(){super(...arguments),this._child_views=new Map,this.mouseenter=new h.Signal(this,\"mouseenter\"),this.mouseleave=new h.Signal(this,\"mouseleave\"),this.disabled=new h.Signal(this,\"disabled\"),this._resized=!1,this._auto_width=\"fit-content\",this._auto_height=\"fit-content\",this._layout_computed=!1,this._was_built=!1}get is_layout_root(){return this.is_root||!(this.parent instanceof y)}_after_resize(){this._resized=!0,super._after_resize(),this.is_layout_root&&!this._was_built?(r.logger.warn(`${this} wasn't built properly`),this.render_to(null)):this.compute_layout()}async lazy_initialize(){await super.lazy_initialize(),await this.build_child_views()}remove(){for(const t of this.child_views)t.remove();this._child_views.clear(),super.remove()}connect_signals(){super.connect_signals(),this.el.addEventListener(\"mouseenter\",(t=>{this.mouseenter.emit(t)})),this.el.addEventListener(\"mouseleave\",(t=>{this.mouseleave.emit(t)})),this.el.addEventListener(\"contextmenu\",(t=>{null!=this.model.context_menu&&(console.log(\"context menu\"),t.preventDefault())})),this.parent instanceof y&&this.connect(this.parent.disabled,(t=>{this.disabled.emit(t||this.model.disabled)}));const t=this.model.properties;this.on_change(t.disabled,(()=>{this.disabled.emit(this.model.disabled)})),this.on_change([t.css_classes,t.stylesheets,t.width,t.height,t.min_width,t.min_height,t.max_width,t.max_height,t.margin,t.width_policy,t.height_policy,t.flow_mode,t.sizing_mode,t.aspect_ratio,t.visible],(()=>this.invalidate_layout()))}*children(){yield*super.children(),yield*this.child_views}get child_views(){return this.child_models.map((t=>this._child_views.get(t))).filter(d.isNotNull)}get layoutable_views(){return this.child_views.filter((t=>t instanceof y))}async build_child_views(){const{created:t,removed:e}=await(0,c.build_views)(this._child_views,this.child_models,{parent:this});for(const t of e)this._resize_observer.unobserve(t.el);for(const e of t)this._resize_observer.observe(e.el,{box:\"border-box\"});return t}render(){super.render();for(const t of this.child_views)t.render(),this.shadow_el.appendChild(t.el)}_update_children(){}async update_children(){const t=new Set(await this.build_child_views());if(0!=t.size){for(const t of this.child_views)(0,_.remove)(t.el);for(const e of this.child_views)this.shadow_el.append(e.el),t.has(e)&&(e.render(),e.after_render())}this._update_children(),this.invalidate_layout()}_intrinsic_display(){return{inner:this.model.flow_mode,outer:\"flow\"}}_update_layout(){function t(t,e,i,s){switch(t){case\"auto\":return null!=e?(0,_.px)(e):i;case\"fixed\":return null!=e?(0,_.px)(e):\"fit-content\";case\"fit\":return\"fit-content\";case\"min\":return\"min-content\";case\"max\":return null==s?\"100%\":`calc(100% - ${s})`}}function e(t){return(0,d.isNumber)(t)?(0,_.px)(t):`${t.percent}%`}const i={},s=this._intrinsic_display();i.display=function(t){const{inner:e,outer:i}=t;switch(`${e} ${i}`){case\"block flow\":return\"block\";case\"inline flow\":return\"inline\";case\"block flow-root\":return\"flow-root\";case\"inline flow-root\":return\"inline-block\";case\"block flex\":return\"flex\";case\"inline flex\":return\"inline-flex\";case\"block grid\":return\"grid\";case\"inline grid\":return\"inline-grid\";case\"block table\":return\"table\";case\"inline table\":return\"inline-table\";default:(0,w.unreachable)()}}(s);const l=this.box_sizing(),{width_policy:n,height_policy:a,width:o,height:r,aspect_ratio:h}=l,u=(()=>{if(\"auto\"==h){if(null!=o&&null!=r)return o/r}else if((0,d.isNumber)(h))return h;return null})();\"auto\"==h?i.aspect_ratio=null!=o&&null!=r?`${o} / ${r}`:\"auto\":(0,d.isNumber)(h)&&(i.aspect_ratio=`${h}`);const{margin:c}=this.model,f=(()=>{if(null!=c){if((0,d.isNumber)(c))return i.margin=(0,_.px)(c),{width:(0,_.px)(2*c),height:(0,_.px)(2*c)};if(2==c.length){const[t,e]=c;return i.margin=`${(0,_.px)(t)} ${(0,_.px)(e)}`,{width:(0,_.px)(2*e),height:(0,_.px)(2*t)}}{const[t,e,s,l]=c;return i.margin=`${(0,_.px)(t)} ${(0,_.px)(e)} ${(0,_.px)(s)} ${(0,_.px)(l)}`,{width:(0,_.px)(l+e),height:(0,_.px)(t+s)}}}return{width:null,height:null}})(),[m,p]=(()=>{const e=t(n,o,this._auto_width,f.width),i=t(a,r,this._auto_height,f.height);if(null!=h){if(n!=a)return\"fixed\"==n?[e,\"auto\"]:\"fixed\"==a?[\"auto\",i]:\"max\"==n?[e,\"auto\"]:\"max\"==a?[\"auto\",i]:[\"auto\",\"auto\"];if(\"fixed\"!=n&&\"fixed\"!=a&&null!=u)return u>=1?[e,\"auto\"]:[\"auto\",i]}return[e,i]})();i.width=m,i.height=p;const{min_width:y,max_width:g}=this.model,{min_height:b,max_height:x}=this.model;i.min_width=null==y?\"0px\":e(y),i.min_height=null==b?\"0px\":e(b),this.is_layout_root?(null!=g&&(i.max_width=e(g)),null!=x&&(i.max_height=e(x))):(null!=g?i.max_width=`min(${e(g)}, 100%)`:\"fixed\"!=n&&(i.max_width=\"100%\"),null!=x?i.max_height=`min(${e(x)}, 100%)`:\"fixed\"!=a&&(i.max_height=\"100%\"));const{resizable:v}=this.model;if(!1!==v){const t=(()=>{switch(v){case\"width\":return\"horizontal\";case\"height\":return\"vertical\";case!0:case\"both\":return\"both\"}})();i.resize=t,i.overflow=\"auto\"}this.style.append(\":host\",i)}update_layout(){this.update_style();for(const t of this.layoutable_views)t.update_layout();this._update_layout()}get is_managed(){return this.parent instanceof y}_measure_layout(){}measure_layout(){for(const t of this.layoutable_views)t.measure_layout();this._measure_layout()}compute_layout(){this.parent instanceof y?this.parent.compute_layout():(this.measure_layout(),this.update_bbox(),this._compute_layout(),this.after_layout()),this._layout_computed=!0}_compute_layout(){if(null!=this.layout){this.layout.compute(this.bbox.size);for(const t of this.layoutable_views)null==t.layout?t._compute_layout():t._propagate_layout()}else for(const t of this.layoutable_views)t._compute_layout()}_propagate_layout(){for(const t of this.layoutable_views)null==t.layout&&t._compute_layout()}update_bbox(){for(const t of this.layoutable_views)t.update_bbox();const t=super.update_bbox();return null!=this.layout&&(this.layout.visible=this.is_displayed),t}_after_layout(){}after_layout(){for(const t of this.layoutable_views)t.after_layout();this._after_layout()}render_to(t){if(!this.is_layout_root)throw new Error(`${this.toString()} is not a root layout`);this.render(),null!=t&&t.appendChild(this.el),this.r_after_render(),this._was_built=!0,this.notify_finished()}r_after_render(){for(const t of this.child_views)t instanceof y?t.r_after_render():t.after_render();this.after_render()}after_render(){this._after_render(),this.is_managed||this.invalidate_layout(),this._has_finished||(this.is_displayed?(0,m.defer)().then((()=>{this._resized||this.finish()})):this.finish())}async rebuild(){await this.build_child_views(),this.invalidate_render()}invalidate_layout(){this.parent instanceof y?this.parent.invalidate_layout():(this.update_layout(),this.compute_layout())}invalidate_render(){this.render(),this.invalidate_layout()}has_finished(){if(!super.has_finished())return!1;if(this.is_layout_root&&!this._layout_computed)return!1;for(const t of this.child_views)if(!t.has_finished())return!1;return!0}box_sizing(){let{width_policy:t,height_policy:e,aspect_ratio:i}=this.model;const{sizing_mode:s}=this.model;if(null!=s)if(\"inherit\"==s){if(this.parent instanceof y){const s=this.parent.box_sizing();t=s.width_policy,e=s.height_policy,null==i&&(i=s.aspect_ratio)}}else if(\"fixed\"==s)t=e=\"fixed\";else if(\"stretch_both\"==s)t=e=\"max\";else if(\"stretch_width\"==s)t=\"max\";else if(\"stretch_height\"==s)e=\"max\";else switch(null==i&&(i=\"auto\"),s){case\"scale_width\":t=\"max\",e=\"min\";break;case\"scale_height\":t=\"min\",e=\"max\";break;case\"scale_both\":t=\"max\",e=\"max\"}const[l,n]=(()=>{const{align:t}=this.model;return\"auto\"==t?[void 0,void 0]:(0,d.isArray)(t)?t:[t,t]})(),{width:a,height:o}=this.model;return{width_policy:t,height_policy:e,width:a,height:o,aspect_ratio:i,halign:l,valign:n}}export(t=\"auto\",e=!0){const i=(()=>{switch(t){case\"auto\":case\"png\":return\"canvas\";case\"svg\":return\"svg\"}})(),s=new p.CanvasLayer(i,e),{x:l,y:n,width:a,height:o}=this.bbox;s.resize(a,o);const r=getComputedStyle(this.el).backgroundColor;s.ctx.fillStyle=r,s.ctx.fillRect(l,n,a,o);for(const i of this.child_views){const l=i.export(t,e),{x:n,y:a}=i.bbox;s.ctx.drawImage(l.canvas,n,a)}return s}serializable_state(){return Object.assign(Object.assign({},super.serializable_state()),{children:this.child_views.map((t=>t.serializable_state()))})}}i.LayoutDOMView=y,y.__name__=\"LayoutDOMView\";class g extends a.UIElement{constructor(t){super(t)}}i.LayoutDOM=g,n=g,g.__name__=\"LayoutDOM\",n.define((t=>{const{Boolean:e,Number:i,Auto:s,Tuple:l,Or:n,Null:a,Nullable:r,Ref:h}=t,_=l(i,i),d=l(i,i,i,i);return{width:[r(i),null],height:[r(i),null],min_width:[r(i),null],min_height:[r(i),null],max_width:[r(i),null],max_height:[r(i),null],margin:[r(n(i,_,d)),null],width_policy:[n(f.SizingPolicy,s),\"auto\"],height_policy:[n(f.SizingPolicy,s),\"auto\"],aspect_ratio:[n(i,s,a),null],flow_mode:[u.FlowMode,\"block\"],sizing_mode:[r(u.SizingMode),null],disabled:[e,!1],align:[n(u.Align,l(u.Align,u.Align),s),\"auto\"],context_menu:[r(h(o.Menu)),null],resizable:[n(e,u.Dimensions),!1]}}))},\n", + " function _(e,s,t,i,r){var n;i();const a=e(1),l=e(257),o=e(362),d=e(19),m=e(59),u=e(32),c=a.__importStar(e(268)),h=c;class _ extends l.UIElementView{constructor(){super(...arguments),this.items=new Map}stylesheets(){return[...super.stylesheets(),c.default]}*children(){yield*super.children(),yield*this.items.values()}async lazy_initialize(){await super.lazy_initialize(),await(0,m.build_views)(this.items,this.model.items)}remove(){(0,m.remove_views)(this.items),super.remove()}render(){super.render(),this.el.classList.add(h[this.model.orientation]);const e=(()=>{const{items:e,reversed:s}=this.model,t=s?(0,u.reverse)(e):e;return(0,u.map)(t,(e=>this.items.get(e)))})();for(const s of e)s.render(),this.shadow_el.appendChild(s.el)}}t.MenuView=_,_.__name__=\"MenuView\";class p extends l.UIElement{constructor(e){super(e)}}t.Menu=p,n=p,p.__name__=\"Menu\",n.define((({Boolean:e,Array:s,Ref:t})=>({items:[s(t(o.MenuItem)),[]],reversed:[e,!1],orientation:[d.Orientation,\"vertical\"]})))},\n", + " function _(e,t,s,n,u){n();const _=e(1),l=e(257),m=_.__importDefault(e(268)),a=_.__importDefault(e(269));class r extends l.UIElementView{stylesheets(){return[...super.stylesheets(),m.default,a.default]}}s.MenuItemView=r,r.__name__=\"MenuItemView\";class c extends l.UIElement{constructor(e){super(e)}}s.MenuItem=c,c.__name__=\"MenuItem\"},\n", + " function _(t,o,e,i,l){i();const n=t(146),r=t(57),h=t(12),{max:u}=Math;class s extends n.Layoutable{constructor(t){super(),this.children=t}_measure(t){return{width:0,height:0}}compute(t={}){const{width:o,height:e}=t;(0,h.assert)(null!=o&&null!=e);const i={width:o,height:e},l=new r.BBox({left:0,top:0,width:o,height:e});let n;if(null!=i.inner){const{left:t,top:l,right:h,bottom:u}=i.inner;n=new r.BBox({left:t,top:l,right:o-h,bottom:e-u})}this.set_geometry(l,n)}_set_geometry(t,o){super._set_geometry(t,o);const e=this.children.map(((t,o)=>{const{layout:e,bbox:i}=o;(0,h.assert)(null!=e);const l=e.measure(i);return{child:o,layout:e,bbox:i,size_hint:l}})),i=Array(e.nrows).fill(null).map((()=>({top:0,bottom:0}))),l=Array(e.ncols).fill(null).map((()=>({left:0,right:0})));e.foreach((({r0:t,c0:o,r1:e,c1:n},{size_hint:r})=>{const{inner:h}=r;null!=h&&(l[o].left=u(l[o].left,h.left),l[n].right=u(l[n].right,h.right),i[t].top=u(i[t].top,h.top),i[e].bottom=u(i[e].bottom,h.bottom))})),e.foreach((({r0:t,c0:o,r1:e,c1:n},{layout:h,size_hint:u,bbox:s})=>{const f=s,g=null==u.inner?void 0:(()=>{var h,s,g,m,c,d;const{inner:b,align:p}=u,a=null===(h=null==p?void 0:p.left)||void 0===h||h,_=null===(s=null==p?void 0:p.right)||void 0===s||s,v=null===(g=null==p?void 0:p.top)||void 0===g||g,w=null===(m=null==p?void 0:p.bottom)||void 0===m||m,y=null!==(c=null==p?void 0:p.fixed_width)&&void 0!==c&&c,x=null!==(d=null==p?void 0:p.fixed_height)&&void 0!==d&&d,{left:B,right:A}=(()=>{if(y){const t=f.width-b.right-b.left;if(a){const e=l[o].left;return{left:e,right:f.width-(e+t)}}if(_){const o=l[n].right;return{left:f.width-(o+t),right:o}}return{left:b.left,right:b.right}}return{left:a?l[o].left:b.left,right:_?l[n].right:b.right}})(),{top:z,bottom:L}=(()=>{if(x){const o=f.height-b.bottom-b.top;if(v){const e=i[t].top;return{top:e,bottom:f.height-(e+o)}}if(w){const t=i[e].bottom;return{top:f.height-(t+o),bottom:t}}return{top:b.top,bottom:b.bottom}}return{top:v?i[t].top:b.top,bottom:w?i[e].bottom:b.bottom}})(),{width:G,height:M}=f;return r.BBox.from_lrtb({left:B,top:z,right:G-A,bottom:M-L})})();h.set_geometry(f,g)}))}}e.GridAlignmentLayout=s,s.__name__=\"GridAlignmentLayout\"},\n", + " function _(e,i,n,r,s){var o;r();const t=e(365),l=e(233),c=e(257);class d extends t.CSSGridBoxView{connect_signals(){super.connect_signals();const{children:e,rows:i,cols:n}=this.model.properties;this.on_change(e,(()=>this.update_children())),this.on_change([i,n],(()=>this.invalidate_layout()))}get _children(){return this.model.children}get _rows(){return this.model.rows}get _cols(){return this.model.cols}}n.GridBoxView=d,d.__name__=\"GridBoxView\";class _ extends t.CSSGridBox{constructor(e){super(e)}}n.GridBox=_,o=_,_.__name__=\"GridBox\",o.prototype.default_view=d,o.define((({Array:e,Nullable:i})=>({children:[e((0,l.GridChild)(c.UIElement)),[]],rows:[i(l.TracksSizing),null],cols:[i(l.TracksSizing),null]})))},\n", + " function _(n,i,s,t,e){var o;t();const a=n(360),l=n(363),r=n(233),c=n(56),_=n(228),u=n(32),d=n(8),{max:p}=Math;class g extends a.LayoutDOMView{connect_signals(){super.connect_signals();const{spacing:n}=this.model.properties;this.on_change(n,(()=>this.invalidate_layout()))}get child_models(){return this._children.map((([n])=>n))}_intrinsic_display(){return{inner:this.model.flow_mode,outer:\"grid\"}}_update_layout(){super._update_layout();const n={},[i,s]=(()=>{const{spacing:n}=this.model;return(0,d.isNumber)(n)?[n,n]:n})();n.row_gap=(0,c.px)(i),n.column_gap=(0,c.px)(s);let t=0,e=0;const o=new _.Container;for(const[[,n,i,s=1,l=1],r]of(0,u.enumerate)(this._children)){const c=this.child_views[r];t=p(t,n+s),e=p(e,i+l);const _={};if(_.grid_row_start=`${n+1}`,_.grid_row_end=`span ${s}`,_.grid_column_start=`${i+1}`,_.grid_column_end=`span ${l}`,c.style.append(\":host\",_),c instanceof a.LayoutDOMView&&null!=c.layout){const t=n,e=i,a=n+s-1,r=i+l-1;o.add({r0:t,c0:e,r1:a,c1:r},c)}}const{_rows:r,_cols:g}=this;function h(n,i){if(n instanceof Map)for(const[s,t]of n.entries())(0,d.isString)(t)?i[s].size=t:i[s]=t;else if((0,d.isArray)(n))for(const[s,t]of(0,u.enumerate)(n))(0,d.isString)(s)?i[t].size=s:i[t]=s;else if(null!=n)for(const s of i)(0,d.isString)(n)?s.size=n:(s.size=n.size,s.align=n.align)}r instanceof Map?t=p(t,...r.keys()):(0,d.isArray)(r)&&(t=p(t,r.length)),g instanceof Map?e=p(e,...g.keys()):(0,d.isArray)(g)&&(e=p(e,g.length));const f=Array(t).fill(null).map((()=>({}))),m=Array(e).fill(null).map((()=>({})));h(r,f),h(g,m);for(const[[,n,i],s]of(0,u.enumerate)(this._children)){const t=this.child_views[s],{halign:e,valign:o}=t.box_sizing();t.style.append(\":host\",{justify_self:null!=e?e:m[i].align,align_self:null!=o?o:f[n].align})}const y=\"auto\";n.grid_template_rows=f.map((({size:n})=>null!=n?n:y)).join(\" \"),n.grid_template_columns=m.map((({size:n})=>null!=n?n:y)).join(\" \"),this.style.append(\":host\",n),0!=o.size?(this.layout=new l.GridAlignmentLayout(o),this.layout.set_sizing()):delete this.layout}}s.CSSGridBoxView=g,g.__name__=\"CSSGridBoxView\";class h extends a.LayoutDOM{constructor(n){super(n)}}s.CSSGridBox=h,o=h,h.__name__=\"CSSGridBox\",o.define((()=>({spacing:[r.GridSpacing,0]})))},\n", + " function _(e,t,s,l,i){var c;l();const h=e(1),d=e(360),o=e(257),n=e(56),a=h.__importDefault(e(367));class _ extends d.LayoutDOMView{stylesheets(){return[...super.stylesheets(),a.default]}connect_signals(){super.connect_signals();const{child:e}=this.model.properties;this.on_change(e,(()=>this.update_children()));const{checkable:t,disabled:s}=this.model.properties;this.on_change(t,(()=>{(0,n.display)(this.checkbox_el,this.model.checkable)})),this.on_change(s,(()=>{this.checkbox_el.checked=!this.model.disabled}))}get child_models(){return[this.model.child]}render(){super.render();const{checkable:e,disabled:t,title:s}=this.model;this.checkbox_el=(0,n.input)({type:\"checkbox\",checked:!t}),this.checkbox_el.addEventListener(\"change\",(()=>{this.model.disabled=!this.checkbox_el.checked})),(0,n.display)(this.checkbox_el,e);const l=(0,n.legend)({},this.checkbox_el,s),i=this.child_views.map((e=>e.el));this.fieldset_el=(0,n.fieldset)({},l,...i),this.shadow_el.appendChild(this.fieldset_el)}_update_children(){const e=this.child_views.map((e=>e.el));this.fieldset_el.append(...e)}}s.GroupBoxView=_,_.__name__=\"GroupBoxView\";class r extends d.LayoutDOM{constructor(e){super(e)}}s.GroupBox=r,c=r,r.__name__=\"GroupBox\",c.prototype.default_view=_,c.define((({Boolean:e,String:t,Nullable:s,Ref:l})=>({title:[s(t),null],child:[l(o.UIElement)],checkable:[e,!1]})))},\n", + " function _(d,a,e,l,i){l(),e.default=\"legend{display:flex;gap:0.5em;padding:0 calc(var(--padding-horizontal) / 2);}fieldset{border:1px solid #ccc;}\"},\n", + " function _(e,n,l,t,s){var i;t();const o=e(365),c=e(233),r=e(257),a=e(20),d=(0,a.Struct)({child:(0,a.Ref)(r.UIElement),col:(0,a.Opt)(c.Index),span:(0,a.Opt)(c.Span)});class _ extends o.CSSGridBoxView{connect_signals(){super.connect_signals();const{children:e,cols:n}=this.model.properties;this.on_change(e,(()=>this.update_children())),this.on_change(n,(()=>this.invalidate_layout()))}get _children(){return this.model.children.map((({child:e,col:n,span:l},t)=>[e,0,null!=n?n:t,1,null!=l?l:1]))}get _rows(){return null}get _cols(){return this.model.cols}}l.HBoxView=_,_.__name__=\"HBoxView\";class h extends o.CSSGridBox{constructor(e){super(e)}}l.HBox=h,i=h,h.__name__=\"HBox\",i.prototype.default_view=_,i.define((({Array:e,Nullable:n})=>({children:[e(d),[]],cols:[n(c.TracksSizing),null]})))},\n", + " function _(e,o,t,s,_){var n;s();const r=e(359);class c extends r.FlexBoxView{constructor(){super(...arguments),this._direction=\"row\"}}t.RowView=c,c.__name__=\"RowView\";class w extends r.FlexBox{constructor(e){super(e)}}t.Row=w,n=w,w.__name__=\"Row\",n.prototype.default_view=c},\n", + " function _(e,l,o,t,r){var s;t();const a=e(360),c=e(257),i=e(19);class n extends a.LayoutDOMView{stylesheets(){return[...super.stylesheets()]}connect_signals(){super.connect_signals();const{child:e,horizontal_scrollbar:l,vertical_scrollbar:o}=this.model.properties;this.on_change(e,(()=>this.update_children())),this.on_change([l,o],(()=>this.invalidate_layout()))}get child_models(){return[this.model.child]}_update_layout(){function e(e){switch(e){case\"auto\":return\"auto\";case\"visible\":return\"scroll\";case\"hidden\":return\"hidden\"}}super._update_layout();const{horizontal_scrollbar:l,vertical_scrollbar:o}=this.model;this.style.append(\":host\",{overflow_x:e(l),overflow_y:e(o)})}}o.ScrollBoxView=n,n.__name__=\"ScrollBoxView\";class _ extends a.LayoutDOM{constructor(e){super(e)}}o.ScrollBox=_,s=_,_.__name__=\"ScrollBox\",s.prototype.default_view=n,s.define((({Ref:e})=>({child:[e(c.UIElement)],horizontal_scrollbar:[i.ScrollbarPolicy,\"auto\"],vertical_scrollbar:[i.ScrollbarPolicy,\"auto\"]})))},\n", + " function _(t,e,a,o,_){var r;o();const s=t(360);class c extends s.LayoutDOMView{constructor(){super(...arguments),this._auto_width=\"auto\",this._auto_height=\"auto\"}get child_models(){return[]}}a.SpacerView=c,c.__name__=\"SpacerView\";class u extends s.LayoutDOM{constructor(t){super(t)}}a.Spacer=u,r=u,u.__name__=\"Spacer\",r.prototype.default_view=c},\n", + " function _(e,n,l,a,t){var o;a();const s=e(50),c=e(257);class d extends s.Model{constructor(e){super(e)}}l.TabPanel=d,o=d,d.__name__=\"TabPanel\",o.define((({Boolean:e,String:n,Ref:l})=>({title:[n,\"\"],child:[l(c.UIElement)],closable:[e,!1],disabled:[e,!1]})))},\n", + " function _(e,t,s,a,i){var o;a();const d=e(1),l=e(56),n=e(10),c=e(228),h=e(19),r=e(360),_=e(372),u=e(363),p=d.__importStar(e(374)),m=p,v=d.__importDefault(e(269));class b extends r.LayoutDOMView{connect_signals(){super.connect_signals();const{tabs:e,active:t}=this.model.properties;this.on_change(e,(()=>{this._update_headers(),this.update_children()})),this.on_change(t,(()=>{this.update_active()}))}stylesheets(){return[...super.stylesheets(),p.default,v.default]}get child_models(){return this.model.tabs.map((e=>e.child))}_intrinsic_display(){return{inner:this.model.flow_mode,outer:\"grid\"}}_update_layout(){super._update_layout();const e=this.model.tabs_location;this.class_list.remove([...h.Location].map((e=>m[e]))),this.class_list.add(m[e]);const t=new c.Container;for(const e of this.child_views)e.style.append(\":host\",{grid_area:\"stack\"}),e instanceof r.LayoutDOMView&&null!=e.layout&&t.add({r0:0,c0:0,r1:1,c1:1},e);0!=t.size?(this.layout=new u.GridAlignmentLayout(t),this.layout.set_sizing()):delete this.layout}_after_layout(){super._after_layout();const{child_views:e}=this;for(const t of e)(0,l.hide)(t.el);const{active:t}=this.model;if(t in e){const s=e[t];(0,l.show)(s.el)}}render(){super.render(),this.header_el=(0,l.div)({class:m.header}),this.shadow_el.append(this.header_el),this._update_headers()}_update_headers(){const{active:e}=this.model,t=this.model.tabs.map(((t,s)=>{const a=(0,l.div)({class:[m.tab,s==e?m.active:null],tabIndex:0},t.title);if(a.addEventListener(\"click\",(e=>{this.model.disabled||e.target==e.currentTarget&&this.change_active(s)})),t.closable){const e=(0,l.div)({class:m.close});e.addEventListener(\"click\",(e=>{if(e.target==e.currentTarget){this.model.tabs=(0,n.remove_at)(this.model.tabs,s);const e=this.model.tabs.length;this.model.active>e-1&&(this.model.active=e-1)}})),a.appendChild(e)}return(this.model.disabled||t.disabled)&&a.classList.add(m.disabled),a}));this.header_els=t,(0,l.empty)(this.header_el),this.header_el.append(...t)}change_active(e){e!=this.model.active&&(this.model.active=e)}update_active(){const e=this.model.active,{header_els:t}=this;for(const e of t)e.classList.remove(m.active);e in t&&t[e].classList.add(m.active);const{child_views:s}=this;for(const e of s)(0,l.hide)(e.el);e in s&&(0,l.show)(s[e].el)}}s.TabsView=b,b.__name__=\"TabsView\";class f extends r.LayoutDOM{constructor(e){super(e)}}s.Tabs=f,o=f,f.__name__=\"Tabs\",o.prototype.default_view=b,o.define((({Int:e,Array:t,Ref:s})=>({tabs:[t(s(_.TabPanel)),[]],tabs_location:[h.Location,\"above\"],active:[e,0]})))},\n", + " function _(e,r,o,t,a){t(),o.above=\"bk-above\",o.below=\"bk-below\",o.left=\"bk-left\",o.right=\"bk-right\",o.header=\"bk-header\",o.tab=\"bk-tab\",o.active=\"bk-active\",o.close=\"bk-close\",o.disabled=\"bk-disabled\",o.default=':host{display:grid;}:host(.bk-above){grid-template:\"header\" max-content \"stack\" 1fr / 1fr;}:host(.bk-below){grid-template:\"stack\" 1fr \"header\" max-content / 1fr;}:host(.bk-left){grid-template:\"header stack\" 1fr / max-content 1fr;}:host(.bk-right){grid-template:\"stack header\" 1fr / 1fr max-content;}.bk-header{grid-area:\"header\";display:flex;flex-wrap:nowrap;align-items:stretch;user-select:none;-webkit-user-select:none;}:host(.bk-above) .bk-header,:host(.bk-below) .bk-header{flex-direction:row;}:host(.bk-left) .bk-header,:host(.bk-right) .bk-header{flex-direction:column;}:host(.bk-above) .bk-header{border-bottom:1px solid #e6e6e6;}:host(.bk-right) .bk-header{border-left:1px solid #e6e6e6;}:host(.bk-below) .bk-header{border-top:1px solid #e6e6e6;}:host(.bk-left) .bk-header{border-right:1px solid #e6e6e6;}.bk-tab{padding:4px 8px;border:solid transparent;outline:0;outline-offset:-5px;white-space:nowrap;cursor:pointer;text-align:center;}.bk-tab:hover{background-color:#f2f2f2;}.bk-tab:focus,.bk-tab:active{outline:1px dotted #ccc;}.bk-tab.bk-active{color:#4d4d4d;background-color:white;border-color:#e6e6e6;}.bk-tab .bk-close{margin-left:10px;}.bk-tab.bk-disabled{cursor:not-allowed;pointer-events:none;opacity:0.65;}:host(.bk-above) .bk-tab{border-width:3px 1px 0px 1px;border-radius:var(--border-radius) var(--border-radius) 0 0;}:host(.bk-right) .bk-tab{border-width:1px 3px 1px 0px;border-radius:0 var(--border-radius) var(--border-radius) 0;}:host(.bk-below) .bk-tab{border-width:0px 1px 3px 1px;border-radius:0 0 var(--border-radius) var(--border-radius);}:host(.bk-left) .bk-tab{border-width:1px 0px 1px 3px;border-radius:var(--border-radius) 0 0 var(--border-radius);}.bk-close{display:inline-block;vertical-align:middle;width:14px;height:14px;cursor:pointer;background-color:gray;mask-image:var(--bokeh-icon-x);mask-size:contain;mask-repeat:no-repeat;-webkit-mask-image:var(--bokeh-icon-x);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;}.bk-close:hover{background-color:red;}'},\n", + " function _(e,n,t,r,s){var l;r();const i=e(365),o=e(233),c=e(257),a=e(20),d=(0,a.Struct)({child:(0,a.Ref)(c.UIElement),row:(0,a.Opt)(o.Index),span:(0,a.Opt)(o.Span)});class _ extends i.CSSGridBoxView{connect_signals(){super.connect_signals();const{children:e,rows:n}=this.model.properties;this.on_change(e,(()=>this.update_children())),this.on_change(n,(()=>this.invalidate_layout()))}get _children(){return this.model.children.map((({child:e,row:n,span:t},r)=>[e,null!=n?n:r,0,null!=t?t:1,1]))}get _rows(){return this.model.rows}get _cols(){return null}}t.VBoxView=_,_.__name__=\"VBoxView\";class h extends i.CSSGridBox{constructor(e){super(e)}}t.VBox=h,l=h,h.__name__=\"VBox\",l.prototype.default_view=_,l.define((({Array:e,Nullable:n})=>({children:[e(d),[]],rows:[n(o.TracksSizing),null]})))},\n", + " function _(i,n,c,e,o){e(),o(\"Menu\",i(361).Menu),o(\"Action\",i(377).Action),o(\"CheckAction\",i(379).CheckAction),o(\"Section\",i(380).Section),o(\"Divider\",i(381).Divider)},\n", + " function _(e,n,t,i,l){var s;i();const c=e(362),d=e(361),o=e(378),r=e(56);class a extends c.MenuItemView{_click(){}render(){super.render();const{label:e,description:n}=this.model;this.el.tabIndex=0,this.el.title=null!=n?n:\"\",this.el.appendChild((0,r.span)(e)),this.el.addEventListener(\"click\",(()=>{this._click()})),this.el.addEventListener(\"keydown\",(e=>{\"Enter\"==e.key&&this._click()}))}}t.ActionView=a,a.__name__=\"ActionView\";class u extends c.MenuItem{constructor(e){super(e)}}t.Action=u,s=u,u.__name__=\"Action\",s.prototype.default_view=a,s.define((({String:e,Nullable:n,Ref:t})=>({icon:[n(t(o.Icon)),null],label:[e],description:[n(e),null],menu:[n(t(d.Menu)),null]})))},\n", + " function _(e,n,o,c,s){var _;c();const t=e(50),i=e(55);class r extends i.DOMComponentView{}o.IconView=r,r.__name__=\"IconView\";class a extends t.Model{constructor(e){super(e)}}o.Icon=a,_=a,a.__name__=\"Icon\",_.define((({Number:e,Or:n,CSSLength:o})=>({size:[n(e,o),\"1em\"]})))},\n", + " function _(e,c,n,t,o){var i;t();const _=e(377);class s extends _.ActionView{}n.CheckActionView=s,s.__name__=\"CheckActionView\";class a extends _.Action{constructor(e){super(e)}}n.CheckAction=a,i=a,a.__name__=\"CheckAction\",i.prototype.default_view=s,i.define((({Boolean:e})=>({checked:[e,!1]})))},\n", + " function _(e,n,t,r,i){var s;r();const c=e(362);class o extends c.MenuItemView{render(){super.render()}}t.SectionView=o,o.__name__=\"SectionView\";class _ extends c.MenuItem{constructor(e){super(e)}}t.Section=_,s=_,_.__name__=\"Section\",s.prototype.default_view=o,s.define((({Array:e,Ref:n})=>({items:[e(n(c.MenuItem)),[]]})))},\n", + " function _(e,i,r,t,s){var d;t();const n=e(1),_=e(362),a=n.__importStar(e(268));class c extends _.MenuItemView{render(){super.render(),this.el.classList.add(a.divider)}}r.DividerView=c,c.__name__=\"DividerView\";class o extends _.MenuItem{constructor(e){super(e)}}r.Divider=o,d=o,o.__name__=\"Divider\",d.prototype.default_view=c},\n", + " function _(t,a,i,e,M){e();var T=t(149);M(\"MathText\",T.MathText),M(\"Ascii\",T.Ascii),M(\"MathML\",T.MathML),M(\"TeX\",T.TeX),M(\"PlainText\",t(156).PlainText)},\n", + " function _(r,o,t,e,n){e(),n(\"CustomJSTransform\",r(384).CustomJSTransform),n(\"Dodge\",r(385).Dodge),n(\"Interpolator\",r(387).Interpolator),n(\"Jitter\",r(388).Jitter),n(\"LinearInterpolator\",r(390).LinearInterpolator),n(\"StepInterpolator\",r(391).StepInterpolator),n(\"Transform\",r(86).Transform)},\n", + " function _(r,t,s,n,e){var a;n();const u=r(86),o=r(9),m=r(38);class _ extends u.Transform{constructor(r){super(r)}get names(){return(0,o.keys)(this.args)}get values(){return(0,o.values)(this.args)}_make_transform(r,t){return new Function(...this.names,r,(0,m.use_strict)(t))}get scalar_transform(){return this._make_transform(\"x\",this.func)}get vector_transform(){return this._make_transform(\"xs\",this.v_func)}compute(r){return this.scalar_transform(...this.values,r)}v_compute(r){return this.vector_transform(...this.values,r)}}s.CustomJSTransform=_,a=_,_.__name__=\"CustomJSTransform\",a.define((({Unknown:r,String:t,Dict:s})=>({args:[s(r),{}],func:[t,\"\"],v_func:[t,\"\"]})))},\n", + " function _(e,n,r,o,s){var t;o();const u=e(386);class a extends u.RangeTransform{constructor(e){super(e)}_compute(e){return e+this.value}}r.Dodge=a,t=a,a.__name__=\"Dodge\",t.define((({Number:e})=>({value:[e,0]})))},\n", + " function _(e,n,t,r,a){var s;r();const c=e(86),o=e(87),i=e(96),u=e(23),h=e(8),l=e(12);class g extends c.Transform{constructor(e){super(e)}v_compute(e){let n;this.range instanceof i.FactorRange?n=this.range.v_synthetic(e):(0,h.isArrayableOf)(e,h.isNumber)?n=e:(0,l.unreachable)();const t=new((0,u.infer_type)(n))(n.length);for(let e=0;e({range:[n(e(o.Range)),null]})))},\n", + " function _(t,e,r,n,s){var o;n();const i=t(86),a=t(99),h=t(23),l=t(10),d=t(8);class c extends i.Transform{constructor(t){super(t),this._sorted_dirty=!0}connect_signals(){super.connect_signals(),this.connect(this.change,(()=>this._sorted_dirty=!0))}v_compute(t){const e=new((0,h.infer_type)(t))(t.length);for(let r=0;ro*(e[t]-e[r]))),this._x_sorted=new((0,h.infer_type)(e))(n),this._y_sorted=new((0,h.infer_type)(r))(n);for(let t=0;t({x:[o(r,s(e))],y:[o(r,s(e))],data:[i(n(a.ColumnarDataSource)),null],clip:[t,!0]})))},\n", + " function _(t,e,n,r,i){var s;r();const o=t(386),a=t(96),u=t(389),_=t(19),h=t(13),m=t(262);class l extends o.RangeTransform{constructor(t){super(t),this._previous_offsets=null}initialize(){var t,e;super.initialize(),this._generator=null!==(e=null===(t=this.random_generator)||void 0===t?void 0:t.generator())&&void 0!==e?e:new m.SystemRandom}v_compute(t){const e=(()=>this.range instanceof a.FactorRange?this.range.v_synthetic(t):t)(),n=(()=>{var t;const n=e.length;return(null===(t=this._previous_offsets)||void 0===t?void 0:t.length)!=n&&(this._previous_offsets=this._v_compute(n)),this._previous_offsets})();return(0,h.map)(n,((t,n)=>t+e[n]))}_compute(){const{mean:t,width:e}=this;switch(this.distribution){case\"uniform\":return this._generator.uniform(t,e);case\"normal\":return this._generator.normal(t,e)}}_v_compute(t){const{mean:e,width:n}=this;switch(this.distribution){case\"uniform\":return this._generator.uniforms(e,n,t);case\"normal\":return this._generator.normals(e,n,t)}}}n.Jitter=l,s=l,l.__name__=\"Jitter\",s.define((({Number:t})=>({mean:[t,0],width:[t,1],distribution:[_.Distribution,\"uniform\"]}))),s.internal((({Nullable:t,Ref:e})=>({random_generator:[t(e(u.RandomGenerator)),null]})))},\n", + " function _(n,e,o,r,t){r();const a=n(50);class s extends a.Model{constructor(n){super(n)}}o.RandomGenerator=s,s.__name__=\"RandomGenerator\"},\n", + " function _(t,s,_,r,e){r();const i=t(10),o=t(387);class n extends o.Interpolator{constructor(t){super(t)}compute(t){if(this.sort(!1),this.clip){if(tthis._x_sorted[this._x_sorted.length-1])return NaN}else{if(tthis._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}if(t==this._x_sorted[0])return this._y_sorted[0];const s=(0,i.find_last_index)(this._x_sorted,(s=>sthis._x_sorted[this._x_sorted.length-1])return NaN}else{if(tthis._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}let e;switch(this.mode){case\"after\":e=(0,d.find_last_index)(this._x_sorted,(e=>t>=e));break;case\"before\":e=(0,d.find_index)(this._x_sorted,(e=>t<=e));break;case\"center\":{const s=(0,d.map)(this._x_sorted,(e=>Math.abs(e-t))),r=(0,d.min)(s);e=(0,d.find_index)(s,(t=>r===t));break}default:throw new Error(`unknown mode: ${this.mode}`)}return-1!=e?this._y_sorted[e]:NaN}}s.StepInterpolator=h,_=h,h.__name__=\"StepInterpolator\",_.define((()=>({mode:[n.StepMode,\"after\"]})))},\n", + " function _(p,o,t,i,a){i(),a(\"MapOptions\",p(393).MapOptions),a(\"GMapOptions\",p(393).GMapOptions),a(\"GMapPlot\",p(393).GMapPlot),a(\"GMap\",p(401).GMap),a(\"Plot\",p(394).Plot),a(\"GridPlot\",p(402).GridPlot),a(\"Figure\",p(403).Figure)},\n", + " function _(e,t,a,n,o){var p,s,l;n();const _=e(394),i=e(19),r=e(50),c=e(88),d=e(400);o(\"GMapPlotView\",d.GMapPlotView);class u extends r.Model{constructor(e){super(e)}}a.MapOptions=u,p=u,u.__name__=\"MapOptions\",p.define((({Int:e,Number:t})=>({lat:[t],lng:[t],zoom:[e,12]})));class M extends u{constructor(e){super(e)}}a.GMapOptions=M,s=M,M.__name__=\"GMapOptions\",s.define((({Boolean:e,Int:t,String:a,Nullable:n})=>({map_type:[i.MapType,\"roadmap\"],scale_control:[e,!1],styles:[n(a),null],tilt:[t,45]})));class m extends _.Plot{constructor(e){super(e),this.use_map=!0}}a.GMapPlot=m,l=m,m.__name__=\"GMapPlot\",l.prototype.default_view=d.GMapPlotView,l.define((({String:e,Bytes:t,Ref:a})=>({map_options:[a(M)],api_key:[t],api_version:[e,\"weekly\"]}))),l.override({x_range:()=>new c.Range1d,y_range:()=>new c.Range1d,background_fill_alpha:0})},\n", + " function _(e,t,o,r,n){var a;r();const l=e(1),i=l.__importStar(e(78)),s=l.__importStar(e(17)),_=e(15),d=e(19),c=e(10),h=e(43),u=e(8),g=e(360),b=e(159),f=e(356),m=e(73),p=e(142),w=e(89),y=e(256),v=e(87),x=e(85),S=e(104),R=e(74),A=e(200),D=e(199),L=e(264),O=e(93),P=e(395);n(\"PlotView\",P.PlotView);class T extends g.LayoutDOM{constructor(e){super(e),this.use_map=!1,this.reset=new _.Signal0(this,\"reset\")}add_layout(e,t=\"center\"){const o=this.properties[t].get_value();this.setv({[t]:[...o,e]})}remove_layout(e){const t=t=>{(0,c.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 A.DataRenderer))}add_renderers(...e){this.renderers=[...this.renderers,...e]}add_glyph(e,t=new S.ColumnDataSource,o={}){const r=new D.GlyphRenderer(Object.assign(Object.assign({},o),{data_source:t,glyph:e}));return this.add_renderers(r),r}add_tools(...e){const t=e.map((e=>e instanceof L.Tool?e:L.Tool.from_string(e)));this.toolbar.tools=[...this.toolbar.tools,...t]}remove_tools(...e){this.toolbar.tools=[...(0,h.difference)(new Set(this.toolbar.tools),new Set(e))]}get panels(){return[...this.side_panels,...this.center]}get side_panels(){const{above:e,below:t,left:o,right:r}=this;return(0,c.concat)([e,t,o,r])}}o.Plot=T,a=T,T.__name__=\"Plot\",a.prototype.default_view=P.PlotView,a.mixins([[\"outline_\",i.Line],[\"background_\",i.Fill],[\"border_\",i.Fill]]),a.define((({Boolean:e,Number:t,String:o,Array:r,Dict:n,Or:a,Ref:l,Null:i,Nullable:_,Struct:c,Opt:h})=>({toolbar:[l(y.Toolbar),()=>new y.Toolbar],toolbar_location:[_(d.Location),\"right\"],toolbar_sticky:[e,!0],toolbar_inner:[e,!1],frame_width:[_(t),null],frame_height:[_(t),null],frame_align:[a(e,c({left:h(e),right:h(e),top:h(e),bottom:h(e)})),!0],title:[a(l(p.Title),o,i),\"\",{convert:e=>(0,u.isString)(e)?new p.Title({text:e}):e}],title_location:[_(d.Location),\"above\"],above:[r(a(l(m.Annotation),l(b.Axis))),[]],below:[r(a(l(m.Annotation),l(b.Axis))),[]],left:[r(a(l(m.Annotation),l(b.Axis))),[]],right:[r(a(l(m.Annotation),l(b.Axis))),[]],center:[r(a(l(m.Annotation),l(f.Grid))),[]],renderers:[r(l(R.Renderer)),[]],x_range:[l(v.Range),()=>new O.DataRange1d],y_range:[l(v.Range),()=>new O.DataRange1d],x_scale:[l(x.Scale),()=>new w.LinearScale],y_scale:[l(x.Scale),()=>new w.LinearScale],extra_x_ranges:[n(l(v.Range)),{}],extra_y_ranges:[n(l(v.Range)),{}],extra_x_scales:[n(l(x.Scale)),{}],extra_y_scales:[n(l(x.Scale)),{}],lod_factor:[t,10],lod_interval:[t,300],lod_threshold:[_(t),2e3],lod_timeout:[t,500],hidpi:[e,!0],output_backend:[d.OutputBackend,\"canvas\"],min_border:[_(t),5],min_border_top:[_(t),null],min_border_left:[_(t),null],min_border_bottom:[_(t),null],min_border_right:[_(t),null],inner_width:[t,s.unset,{readonly:!0}],inner_height:[t,s.unset,{readonly:!0}],outer_width:[t,s.unset,{readonly:!0}],outer_height:[t,s.unset,{readonly:!0}],match_aspect:[e,!1],aspect_scale:[t,1],reset_policy:[d.ResetPolicy,\"standard\"],hold_render:[e,!1]}))),a.override({width:600,height:600,outline_line_color:\"#e5e5e5\",border_fill_color:\"#ffffff\",background_fill_color:\"#ffffff\"})},\n", + " function _(e,t,i,s,n){s();const a=e(1),r=e(157),o=e(291),l=e(265),_=e(360),h=e(73),d=e(142),c=e(159),u=e(255),p=e(93),g=e(52),m=e(59),b=e(75),v=e(18),f=e(52),w=e(396),y=e(8),x=e(10),z=e(32),k=e(260),S=e(227),M=e(229),$=e(228),q=e(144),V=e(57),O=e(152),R=e(397),j=e(398),P=e(28),T=e(56),C=a.__importDefault(e(399)),{max:B}=Math;class A extends _.LayoutDOMView{constructor(){super(...arguments),this._computed_style=new T.InlineStyleSheet,this._outer_bbox=new V.BBox,this._inner_bbox=new V.BBox,this._needs_paint=!0,this._invalidated_painters=new Set,this._invalidate_all=!0,this.renderer_views=new Map,this.tool_views=new Map,this._needs_notify=!1}get canvas(){return this.canvas_view}stylesheets(){return[...super.stylesheets(),C.default,this._computed_style]}get toolbar_panel(){return null!=this._toolbar?this.renderer_view(this._toolbar):void 0}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 auto_ranged_renderers(){return this.model.renderers.map((e=>this.renderer_view(e))).filter(p.is_auto_ranged)}get base_font_size(){const e=getComputedStyle(this.el).fontSize,t=(0,O.parse_css_font_size)(e);if(null!=t){const{value:e,unit:i}=t;if(\"px\"==i)return e}return null}*children(){yield*super.children(),yield*this.renderer_views.values(),yield*this.tool_views.values(),yield this.canvas}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=Math.max(this._is_paused-1,0),0!=this._is_paused||e||this.request_paint(\"everything\")}notify_finished_after_paint(){this._needs_notify=!0}request_render(){this.request_paint(\"everything\")}request_paint(e){this.invalidate_painters(e),this.schedule_paint()}invalidate_painters(e){if(\"everything\"==e)this._invalidate_all=!0;else if((0,y.isArray)(e))for(const t of e)this._invalidated_painters.add(t);else this._invalidated_painters.add(e)}schedule_paint(){if(!this.is_paused){const e=this.throttled_paint();this._ready=this._ready.then((()=>e))}}request_layout(){this.request_paint(\"everything\")}reset(){\"standard\"==this.model.reset_policy&&(this.state.clear(),this.reset_range(),this.reset_selection()),this.model.trigger_event(new g.Reset)}remove(){for(const e of this.frame.ranges.values())e.plots.delete(this);(0,m.remove_views)(this.renderer_views),(0,m.remove_views)(this.tool_views),this.canvas_view.remove(),super.remove()}render(){super.render(),this.shadow_el.appendChild(this.canvas_view.el),this.canvas_view.render()}initialize(){this.pause(),super.initialize(),this.lod_started=!1,this.visuals=new b.Visuals(this),this._initial_state={selection:new Map},this.frame=new r.CartesianFrame(this.model.x_scale,this.model.y_scale,this.model.x_range,this.model.y_range,this.model.extra_x_ranges,this.model.extra_y_ranges,this.model.extra_x_scales,this.model.extra_y_scales);for(const e of this.frame.ranges.values())e.plots.add(this);this._range_manager=new R.RangeManager(this),this._state_manager=new j.StateManager(this,this._initial_state),this.throttled_paint=(0,w.throttle)((()=>{this._removed||this.repaint()}),1e3/60);const{title_location:e,title:t}=this.model;null!=e&&null!=t&&(this._title=t instanceof d.Title?t:new d.Title({text:t}));const{toolbar_location:i,toolbar_inner:s,toolbar:n}=this.model;null!=i&&(this._toolbar=new u.ToolbarPanel({toolbar:n}),n.location=i,n.inner=s)}async lazy_initialize(){await super.lazy_initialize();const{hidpi:e,output_backend:t}=this.model,i=new o.Canvas({hidpi:e,output_backend:t});this.canvas_view=await(0,m.build_view)(i,{parent:this}),this.canvas_view.plot_views=[this],await this.build_tool_views(),await this.build_renderer_views(),this._range_manager.update_dataranges()}box_sizing(){const e=super.box_sizing(),{width_policy:t,height_policy:i}=e,s=a.__rest(e,[\"width_policy\",\"height_policy\"]),{frame_width:n,frame_height:r}=this.model;return Object.assign(Object.assign({},s),{width_policy:null!=n&&\"auto\"==t?\"fit\":t,height_policy:null!=r&&\"auto\"==i?\"fit\":i})}_intrinsic_display(){return{inner:this.model.flow_mode,outer:\"grid\"}}_update_layout(){var e,t,i,s,n;super._update_layout(),this._invalidate_all=!0,this._needs_paint=!0;const a=new M.BorderLayout,{frame_align:r}=this.model;if(a.aligns=(()=>{if((0,y.isBoolean)(r))return{left:r,right:r,top:r,bottom:r};{const{left:e=!0,right:t=!0,top:i=!0,bottom:s=!0}=r;return{left:e,right:t,top:i,bottom:s}}})(),a.set_sizing({width_policy:\"max\",height_policy:\"max\"}),this.visuals.outline_line.doit){const e=this.visuals.outline_line.line_width.get_value();a.center_border_width=e}const o=(0,x.copy)(this.model.above),l=(0,x.copy)(this.model.below),_=(0,x.copy)(this.model.left),c=(0,x.copy)(this.model.right),p=[],g=[],m=[],b=[],v=(e,t=!1)=>{switch(e){case\"above\":return t?p:o;case\"below\":return t?g:l;case\"left\":return t?m:_;case\"right\":return t?b:c}},{title_location:f}=this.model;if(null!=f&&null!=this._title&&v(f).push(this._title),null!=this._toolbar){const{location:e}=this._toolbar.toolbar;if(this.model.toolbar_inner){v(e,!0).push(this._toolbar)}else{const t=v(e);let i=!0;if(this.model.toolbar_sticky)for(let s=0;s{var i;const s=this.renderer_view(t);return s.panel=new q.Panel(e),null===(i=s.update_layout)||void 0===i||i.call(s),s.layout},z=(e,t)=>{const i=\"above\"==e||\"below\"==e,s=[];for(const n of t)if((0,y.isArray)(n)){const t=n.map((t=>{const s=w(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 a;i?(a=new $.Row(t),a.set_sizing({width_policy:\"max\",height_policy:\"min\"})):(a=new $.Column(t),a.set_sizing({width_policy:\"min\",height_policy:\"max\"})),a.absolute=!0,s.push(a)}else s.push(w(e,n));return s},k=null!==(e=this.model.min_border)&&void 0!==e?e:0;a.min_border={left:null!==(t=this.model.min_border_left)&&void 0!==t?t:k,top:null!==(i=this.model.min_border_top)&&void 0!==i?i:k,right:null!==(s=this.model.min_border_right)&&void 0!==s?s:k,bottom:null!==(n=this.model.min_border_bottom)&&void 0!==n?n:k};const V=new S.NodeLayout,O=new S.VStack,R=new S.VStack,j=new S.HStack,P=new S.HStack,T=new S.VStack,C=new S.VStack,B=new S.HStack,A=new S.HStack;V.absolute=!0,O.absolute=!0,R.absolute=!0,j.absolute=!0,P.absolute=!0,T.absolute=!0,C.absolute=!0,B.absolute=!0,A.absolute=!0,V.children=this.model.center.filter((e=>e instanceof h.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:H,frame_height:L}=this.model;V.set_sizing(Object.assign(Object.assign({},null!=H?{width_policy:\"fixed\",width:H}:{width_policy:\"fit\"}),null!=L?{height_policy:\"fixed\",height:L}:{height_policy:\"fit\"})),V.on_resize((e=>this.frame.set_geometry(e))),O.children=(0,x.reversed)(z(\"above\",o)),R.children=z(\"below\",l),j.children=(0,x.reversed)(z(\"left\",_)),P.children=z(\"right\",c),T.children=z(\"above\",p),C.children=z(\"below\",g),B.children=z(\"left\",m),A.children=z(\"right\",b),O.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),R.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),j.set_sizing({width_policy:\"min\",height_policy:\"fit\"}),P.set_sizing({width_policy:\"min\",height_policy:\"fit\"}),T.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),C.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),B.set_sizing({width_policy:\"min\",height_policy:\"fit\"}),A.set_sizing({width_policy:\"min\",height_policy:\"fit\"}),a.center_panel=V,a.top_panel=O,a.bottom_panel=R,a.left_panel=j,a.right_panel=P,0!=T.children.length&&(a.inner_top_panel=T),0!=C.children.length&&(a.inner_bottom_panel=C),0!=B.children.length&&(a.inner_left_panel=B),0!=A.children.length&&(a.inner_right_panel=A),this.layout=a}_measure_layout(){const{frame_width:e,frame_height:t}=this.model,i=null==e?\"1fr\":(0,T.px)(e),s=null==t?\"1fr\":(0,T.px)(t),{layout:n}=this,a=n.top_panel.measure({width:1/0,height:1/0}),r=n.bottom_panel.measure({width:1/0,height:1/0}),o=n.left_panel.measure({width:1/0,height:1/0}),l=n.right_panel.measure({width:1/0,height:1/0}),_=B(a.height,n.min_border.top),h=B(r.height,n.min_border.bottom),d=B(o.width,n.min_border.left),c=B(l.width,n.min_border.right);this._computed_style.replace(`\\n :host {\\n grid-template-rows: ${_}px ${s} ${h}px;\\n grid-template-columns: ${d}px ${i} ${c}px;\\n }\\n `)}get axis_views(){const e=[];for(const[,t]of this.renderer_views)t instanceof c.AxisView&&e.push(t);return e}update_range(e,t){this.pause(),this._range_manager.update(e,t),this.unpause()}reset_range(){this.update_range(null),this.trigger_ranges_update_event()}trigger_ranges_update_event(){const{x_range:e,y_range:t}=this.model,i=new Set([...e.plots,...t.plots]);for(const e of i){const{x_range:t,y_range:i}=e.model;e.model.trigger_event(new f.RangesUpdate(t.start,t.end,i.start,i.end))}}get_selection(){const e=new Map;for(const t of this.model.data_renderers){const{selected:i}=t.selection_manager.source;e.set(t,i)}return e}update_selection(e){for(const t of this.model.data_renderers){const i=t.selection_manager.source;if(null!=e){const s=e.get(t);null!=s&&i.selected.update(s,!0)}else i.selection_manager.clear()}}reset_selection(){this.update_selection(null)}_invalidate_layout_if_needed(){(()=>{var e,t;for(const i of this.model.side_panels){const s=this.renderer_views.get(i);if(null!==(t=null===(e=s.layout)||void 0===e?void 0:e.has_size_changed())&&void 0!==t&&t)return this.invalidate_painters(s),!0}return!1})()&&this.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:n,renderers:a}=this.model;yield*a,yield*e,yield*t,yield*i,yield*s,yield*n,null!=this._title&&(yield this._title),null!=this._toolbar&&(yield this._toolbar);for(const[,e]of this.tool_views)yield*e.overlays}async build_renderer_views(){this.computed_renderers=[...this._compute_renderers()],await(0,m.build_views)(this.renderer_views,this.computed_renderers,{parent:this})}async build_tool_views(){const e=(0,z.flat_map)(this.model.toolbar.tools,(e=>e instanceof l.ToolProxy?e.tools:[e])),{created:t}=await(0,m.build_views)(this.tool_views,[...e],{parent:this});t.map((e=>this.canvas_view.ui_event_bus.register_tool(e)))}connect_signals(){super.connect_signals();const{extra_x_ranges:e,extra_y_ranges:t,extra_x_scales:i,extra_y_scales:s}=this.model.properties;this.on_change([e,t,i,s],(()=>{this.frame.x_range=this.model.x_range,this.frame.y_range=this.model.y_range,this.frame.in_x_scale=this.model.x_scale,this.frame.in_y_scale=this.model.y_scale,this.frame.extra_x_ranges=this.model.extra_x_ranges,this.frame.extra_y_ranges=this.model.extra_y_ranges,this.frame.extra_x_scales=this.model.extra_x_scales,this.frame.extra_y_scales=this.model.extra_y_scales,this.frame.configure_scales()}));const{above:n,below:a,left:r,right:o,center:l,renderers:_}=this.model.properties,h=[n,a,r,o,l];this.on_change(_,(async()=>{await this.build_renderer_views()})),this.on_change(h,(async()=>{await this.build_renderer_views(),this.invalidate_layout()})),this.connect(this.model.toolbar.properties.tools.change,(async()=>{await this.build_tool_views(),await this.build_renderer_views()}));const{x_ranges:d,y_ranges:c}=this.frame;for(const[,e]of d)this.connect(e.change,(()=>{this.request_paint(\"everything\")}));for(const[,e]of c)this.connect(e.change,(()=>{this.request_paint(\"everything\")}));this.connect(this.model.change,(()=>this.request_paint(\"everything\"))),this.connect(this.model.reset,(()=>this.reset()));const{toolbar_location:p}=this.model.properties;this.on_change(p,(async()=>{const{toolbar_location:e}=this.model;if(null!=this._toolbar)null!=e?this._toolbar.toolbar.location=e:(this._toolbar=void 0,await this.build_renderer_views());else if(null!=e){const{toolbar:t,toolbar_inner:i}=this.model;this._toolbar=new u.ToolbarPanel({toolbar:t}),t.location=e,t.inner=i,await this.build_renderer_views()}this.invalidate_layout()}));const{hold_render:g}=this.model.properties;this.on_change(g,(()=>this._hold_render_changed()))}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(),this.unpause(!0);const t=this.layout.left_panel.bbox,i=this.layout.right_panel.bbox,s=this.layout.center_panel.bbox,n=this.layout.top_panel.bbox,a=this.layout.bottom_panel.bbox,{bbox:r}=this,o=n.bottom,l=r.height-a.top,_=t.right,d=r.width-i.left;this.canvas.style.replace(`\\n .bk-layer.bk-events {\\n display: grid;\\n grid-template-areas:\\n \". above . \"\\n \"left center right\"\\n \". below . \";\\n grid-template-rows: ${(0,T.px)(o)} ${(0,T.px)(s.height)} ${(0,T.px)(l)};\\n grid-template-columns: ${(0,T.px)(_)} ${(0,T.px)(s.width)} ${(0,T.px)(d)};\\n }\\n `);for(const[,t]of this.renderer_views)t instanceof h.AnnotationView&&(null===(e=t.after_layout)||void 0===e||e.call(t));this.model.setv({inner_width:Math.round(this.frame.bbox.width),inner_height:Math.round(this.frame.bbox.height),outer_width:Math.round(this.bbox.width),outer_height:Math.round(this.bbox.height)},{no_change:!0}),this.model.match_aspect&&(this.pause(),this._range_manager.update_dataranges(),this.unpause(!0)),this._outer_bbox.equals(this.bbox)||(this.canvas_view.resize(),this._outer_bbox=this.bbox,this._invalidate_all=!0,this._needs_paint=!0);const{inner_bbox:c}=this.layout;this._inner_bbox.equals(c)||(this._inner_bbox=c,this._needs_paint=!0),this._needs_paint&&this.paint()}repaint(){this._invalidate_layout_if_needed(),this.paint()}paint(){this.is_paused||(this.model.visible&&(v.logger.trace(`${this.toString()}.paint()`),this._actual_paint()),this._needs_notify&&(this._needs_notify=!1,this.notify_finished()))}_actual_paint(){var e;const{document:t}=this.model;if(null!=t){const e=t.interactive_duration();e>=0&&e{t.interactive_duration()>this.model.lod_timeout&&t.interactive_stop(),this.request_paint(\"everything\")}),this.model.lod_timeout):t.interactive_stop()}this._range_manager.invalidate_dataranges&&(this._range_manager.update_dataranges(),this._invalidate_layout_if_needed());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 n=[this.frame.bbox.left,this.frame.bbox.top,this.frame.bbox.width,this.frame.bbox.height],{primary:a,overlays:r}=this.canvas_view;i&&(a.prepare(),this.canvas_view.prepare_webgl(n),this._paint_empty(a.ctx,n),this._paint_outline(a.ctx,n),this._paint_levels(a.ctx,\"image\",n,!0),this._paint_levels(a.ctx,\"underlay\",n,!0),this._paint_levels(a.ctx,\"glyph\",n,!0),this._paint_levels(a.ctx,\"guide\",n,!1),this._paint_levels(a.ctx,\"annotation\",n,!1),a.finish()),(s||P.settings.wireframe)&&(r.prepare(),this._paint_levels(r.ctx,\"overlay\",n,!1),P.settings.wireframe&&this._paint_layout(r.ctx,this.layout),r.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 n of this.computed_renderers){if(n.level!=t)continue;const a=this.renderer_views.get(n);e.save(),(s||a.needs_clip)&&(e.beginPath(),e.rect(...i),e.clip()),a.render(),e.restore(),a.has_webgl&&a.needs_webgl_blit&&this.canvas_view.blit_webgl(e)}}_paint_layout(e,t){const{x:i,y:s,width:n,height:a}=t.bbox;e.strokeStyle=\"blue\",e.strokeRect(i,s,n,a);for(const n of t)e.save(),t.absolute||e.translate(i,s),this._paint_layout(e,n),e.restore()}_paint_empty(e,t){const[i,s,n,a]=[0,0,this.bbox.width,this.bbox.height],[r,o,l,_]=t;this.visuals.border_fill.doit&&(this.visuals.border_fill.set_value(e),e.fillRect(i,s,n,a),e.clearRect(r,o,l,_)),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(e),e.fillRect(r,o,l,_))}_paint_outline(e,t){if(this.visuals.outline_line.doit){e.save(),this.visuals.outline_line.set_value(e);let[i,s,n,a]=t;i+n==this.bbox.width&&(n-=1),s+a==this.bbox.height&&(a-=1),e.strokeRect(i,s,n,a),e.restore()}}export(e=\"auto\",t=!0){const i=(()=>{switch(e){case\"auto\":return this.canvas_view.model.output_backend;case\"png\":return\"canvas\";case\"svg\":return\"svg\"}})(),s=new k.CanvasLayer(i,t),{width:n,height:a}=this.bbox;if(s.resize(n,a),0!=n&&0!=a){const{canvas:e}=this.canvas_view.compose();s.ctx.drawImage(e,0,0)}return s}serializable_state(){const e=super.serializable_state(),{children:t}=e,i=a.__rest(e,[\"children\"]),s=this.get_renderer_views().filter((e=>e.model.syncable)).map((e=>e.serializable_state())).filter((e=>null!=e.bbox)),n={type:\"CartesianFrame\",bbox:this.frame.bbox};return Object.assign(Object.assign({},i),{children:[...null!=t?t:[],n,...s]})}_hold_render_changed(){this.model.hold_render?this.pause():this.unpause()}}i.PlotView=A,A.__name__=\"PlotView\"},\n", + " function _(n,t,e,l,u){l(),e.throttle=function(n,t){let e,l=null,u=null,o=0,i=!1;const r=function(){return new Promise(((r,c)=>{e=r;const a=function(){o=Date.now(),l=null,u=null,i=!1;try{n(),r()}catch(n){c(n)}},m=Date.now(),s=t-(m-o);s<=0&&!i?(null!=l&&clearTimeout(l),i=!0,u=requestAnimationFrame(a)):null!=l||i?r():l=setTimeout((()=>u=requestAnimationFrame(a)),s)}))};return r.stop=function(){null!=l&&clearTimeout(l),null!=u&&cancelAnimationFrame(u),e()},r}},\n", + " function _(t,n,a,e,s){e();const o=t(93),r=t(18);class l{constructor(t){this.invalidate_dataranges=!0,this.parent=t}get frame(){return this.parent.frame}update(t,n={}){var a;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 o=[];for(const[n,a]of e)o.push([a,t.xrs.get(n)]);for(const[n,a]of s)o.push([a,t.yrs.get(n)]);null!==(a=n.scrolling)&&void 0!==a&&a&&this._update_ranges_together(o),this._update_ranges_individually(o,n)}}reset(){this.update(null)}_update_dataranges(t){const n=new Map,a=new Map;let e=!1;for(const[,n]of t.x_ranges)n instanceof o.DataRange1d&&\"log\"==n.scale_hint&&(e=!0);for(const[,n]of t.y_ranges)n instanceof o.DataRange1d&&\"log\"==n.scale_hint&&(e=!0);for(const t of this.parent.auto_ranged_renderers){const s=t.bounds();if(n.set(t.model,s),e){const n=t.log_bounds();a.set(t.model,n)}}let s=!1,l=!1;const i=t.x_target.span,d=t.y_target.span;let u;!1!==this.parent.model.match_aspect&&0!=i&&0!=d&&(u=1/this.parent.model.aspect_scale*(i/d));for(const[,e]of t.x_ranges){if(e instanceof o.DataRange1d){const t=\"log\"==e.scale_hint?a:n;e.update(t,0,this.parent,u),null!=e.follow&&(s=!0)}null!=e.bounds&&(l=!0)}for(const[,e]of t.y_ranges){if(e instanceof o.DataRange1d){const t=\"log\"==e.scale_hint?a:n;e.update(t,1,this.parent,u),null!=e.follow&&(s=!0)}null!=e.bounds&&(l=!0)}if(s&&l){r.logger.warn(\"Follow enabled so bounds are unset.\");for(const[,n]of t.x_ranges)n.bounds=null;for(const[,n]of t.y_ranges)n.bounds=null}}update_dataranges(){this._update_dataranges(this.frame);for(const t of this.parent.auto_ranged_renderers){const{coordinates:n}=t.model;null!=n&&this._update_dataranges(n)}null!=this.compute_initial()&&(this.invalidate_dataranges=!1)}compute_initial(){let t=!0;const{x_ranges:n,y_ranges:a}=this.frame,e=new Map,s=new Map;for(const[a,s]of n){const{start:n,end:o}=s;if(isNaN(n+o)){t=!1;break}e.set(a,{start:n,end:o})}if(t)for(const[n,e]of a){const{start:a,end:o}=e;if(isNaN(a+o)){t=!1;break}s.set(n,{start:a,end:o})}return t?{xrs:e,yrs:s}:(r.logger.warn(\"could not set initial ranges\"),null)}_update_ranges_together(t){let n=1;for(const[a,e]of t)n=Math.min(n,this._get_weight_to_constrain_interval(a,e));if(n<1)for(const[a,e]of t)e.start=n*e.start+(1-n)*a.start,e.end=n*e.end+(1-n)*a.end}_update_ranges_individually(t,n={}){var a,e,s;const o=null!==(a=n.panning)&&void 0!==a&&a,r=null!==(e=n.scrolling)&&void 0!==e&&e,l=null!==(s=n.maintain_focus)&&void 0!==s&&s;let i=!1;for(const[n,a]of t){if(!r){const t=this._get_weight_to_constrain_interval(n,a);t<1&&(a.start=t*a.start+(1-t)*n.start,a.end=t*a.end+(1-t)*n.end)}if(null!=n.bounds&&\"auto\"!=n.bounds){const[t,e]=n.bounds,s=Math.abs(a.end-a.start);n.is_reversed?(null!=t&&t>a.end&&(i=!0,a.end=t,(o||r)&&(a.start=t+s)),null!=e&&ea.start&&(i=!0,a.start=t,(o||r)&&(a.end=t+s)),null!=e&&e0&&r0&&r>e&&(s=(e-o)/(r-o)),s=Math.max(0,Math.min(1,s))}return s}}a.RangeManager=l,l.__name__=\"RangeManager\"},\n", + " function _(t,i,s,e,n){e();const h=t(15);class a{constructor(t,i){this.history=[],this.index=-1,this.parent=t,this.initial_state=i,this.changed=new h.Signal0(this.parent,\"state_changed\")}_do_state_change(t){const i=t in this.history?this.history[t].state:this.initial_state;return null!=i.range&&this.parent.update_range(i.range),null!=i.selection&&this.parent.update_selection(i.selection),i}peek(){return this.can_undo?this.history[this.index]:null}push(t,i){const{history:s,index:e}=this,n=e in s?s[e].state:{},h=Object.assign(Object.assign(Object.assign({},this.initial_state),n),i);this.history=this.history.slice(0,this.index+1),this.history.push({type:t,state:h}),this.index=this.history.length-1,this.changed.emit()}clear(){this.history=[],this.index=-1,this.changed.emit()}undo(){if(this.can_undo){this.index-=1;const t=this._do_state_change(this.index);return this.changed.emit(),t}return null}redo(){if(this.can_redo){this.index+=1;const t=this._do_state_change(this.index);return this.changed.emit(),t}return null}get can_undo(){return this.index>=0}get can_redo(){return this.indexh.emit();const s=encodeURIComponent,i=document.createElement(\"script\");i.type=\"text/javascript\",i.src=`https://maps.googleapis.com/maps/api/js?v=${s(e)}&key=${s(t)}&callback=_bokeh_gmaps_callback`,document.body.appendChild(i)}(this._api_key,t)}h.connect((()=>{this._build_map(),this.request_paint(\"everything\")}))}else this._build_map()}remove(){(0,p.remove)(this.map_el),super.remove()}update_range(t,e){var s,i;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!==(i=t.sdy)&&void 0!==i?i: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,i=this.map.getZoom();if(null!=i){const t=i+s;if(t>=2){this.map.setZoom(t);const[e,s]=this._get_projected_bounds();s-e<0&&this.map.setZoom(i)}}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=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_styling())),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,i]=this._get_latlon_bounds(),[o,a]=_.wgs84_mercator.compute(t,s),[n,p]=_.wgs84_mercator.compute(e,i);return[o,n,a,p]}_set_bokeh_ranges(){const[t,e,s,i]=this._get_projected_bounds();this.frame.x_range.setv({start:t,end:e}),this.frame.y_range.setv({start:s,end:i})}_update_center(t){var e;const s=null===(e=this.map.getCenter())||void 0===e?void 0:e.toJSON();null!=s&&(s[t]=this.model.map_options[t],this.map.setCenter(s),this._set_bokeh_ranges())}_update_map_type(){this.map.setOptions({mapTypeId:this.map_types[this.model.map_options.map_type]})}_update_scale_control(){this.map.setOptions({scaleControl:this.model.map_options.scale_control})}_update_tilt(){this.map.setOptions({tilt:this.model.map_options.tilt})}_update_options(){this._update_styling(),this._update_center(\"lat\"),this._update_center(\"lng\"),this._update_zoom(),this._update_map_type()}_update_styling(){const{styles:t}=this.model.map_options;this.map.setOptions({styles:null!=t?JSON.parse(t):null})}_update_zoom(){this.map.setOptions({zoom:this.model.map_options.zoom}),this._set_bokeh_ranges()}_after_layout(){super._after_layout();const{left:t,top:e,width:s,height:i}=this.frame.bbox;this.map_el.style.top=`${e}px`,this.map_el.style.left=`${t}px`,this.map_el.style.width=`${s}px`,this.map_el.style.height=`${i}px`}}s.GMapPlotView=d,d.__name__=\"GMapPlotView\"},\n", + " function _(e,a,t,s,n){var p;s();const _=e(393);class i extends _.GMapPlotView{serializable_state(){const e=super.serializable_state();return Object.assign(Object.assign({},e),{type:\"GMapPlot\"})}}t.GMapView=i,i.__name__=\"GMapView\";class l extends _.GMapPlot{constructor(e){super(e)}}t.GMap=l,p=l,l.__name__=\"GMap\",p.prototype.default_view=i},\n", + " function _(i,t,e,o,s){var l;o();const r=i(360),n=i(364),a=i(233),c=i(256),_=i(274),d=i(260),h=i(59),u=i(19);class b extends r.LayoutDOMView{constructor(){super(...arguments),this._tool_views=new Map}get toolbar_view(){return this.child_views.find((i=>i.model==this.model.toolbar))}get grid_box_view(){return this.child_views.find((i=>i.model==this._grid_box))}_update_location(){const i=this.model.toolbar_location;null==i?this.model.toolbar.visible=!1:this.model.toolbar.setv({visible:!0,location:i})}initialize(){super.initialize(),this._update_location();const{children:i,rows:t,cols:e,spacing:o}=this.model;this._grid_box=new n.GridBox({children:i,rows:t,cols:e,spacing:o,sizing_mode:\"inherit\"})}async lazy_initialize(){await super.lazy_initialize(),await this.build_tool_views()}connect_signals(){super.connect_signals();const{toolbar:i,toolbar_location:t,children:e,rows:o,cols:s,spacing:l}=this.model.properties;this.on_change(t,(()=>{this._update_location(),this.rebuild()})),this.on_change([i,e,o,s,l],(()=>{this.rebuild()})),this.on_change(this.model.toolbar.properties.tools,(async()=>{await this.build_tool_views()})),this.mouseenter.connect((()=>{this.toolbar_view.set_visibility(!0)})),this.mouseleave.connect((()=>{this.toolbar_view.set_visibility(!1)}))}remove(){(0,h.remove_views)(this._tool_views),super.remove()}async build_tool_views(){const i=this.model.toolbar.tools.filter((i=>i instanceof _.ActionTool));await(0,h.build_views)(this._tool_views,i,{parent:this})}*children(){yield*super.children(),yield*this._tool_views.values()}get child_models(){return[this.model.toolbar,this._grid_box]}_intrinsic_display(){return{inner:this.model.flow_mode,outer:\"flex\"}}_update_layout(){super._update_layout();const{location:i}=this.model.toolbar,t=(()=>{switch(i){case\"above\":return\"column\";case\"below\":return\"column-reverse\";case\"left\":return\"row\";case\"right\":return\"row-reverse\"}})();this.style.append(\":host\",{flex_direction:t})}export(i=\"auto\",t=!0){const e=(()=>{switch(i){case\"auto\":case\"png\":return\"canvas\";case\"svg\":return\"svg\"}})(),o=new d.CanvasLayer(e,t),{x:s,y:l,width:r,height:n}=this.grid_box_view.bbox.relative();o.resize(r,n),o.ctx.save();const a=getComputedStyle(this.el).backgroundColor;o.ctx.fillStyle=a,o.ctx.fillRect(s,l,r,n);for(const e of this.child_views){const s=e.export(i,t),{x:l,y:r}=e.bbox;o.ctx.drawImage(s.canvas,l,r)}return o.ctx.restore(),o}}e.GridPlotView=b,b.__name__=\"GridPlotView\";class w extends r.LayoutDOM{constructor(i){super(i)}}e.GridPlot=w,l=w,w.__name__=\"GridPlot\",l.prototype.default_view=b,l.define((({Array:i,Ref:t,Nullable:e})=>({toolbar:[t(c.Toolbar),()=>new c.Toolbar],toolbar_location:[e(u.Location),\"above\"],children:[i((0,a.GridChild)(r.LayoutDOM)),[]],rows:[e(a.TracksSizing),null],cols:[e(a.TracksSizing),null],spacing:[a.GridSpacing,0]})))},\n", + " function _(e,t,s,i,a){var r;i();const n=e(394);class _ extends n.PlotView{serializable_state(){const e=super.serializable_state();return Object.assign(Object.assign({},e),{type:\"Plot\"})}}s.FigureView=_,_.__name__=\"FigureView\";class l extends n.Plot{constructor(e){super(e)}}s.Figure=l,r=l,l.__name__=\"Figure\",r.prototype.default_view=_},\n", + " function _(t,_,n,o,r){o();t(1).__exportStar(t(163),n)},\n", + " function _(l,r,i,a,e){a(),e(\"ParkMillerLCG\",l(406).ParkMillerLCG)},\n", + " function _(e,n,r,a,l){var t;a();const o=e(389),s=e(262);class d extends o.RandomGenerator{constructor(e){super(e)}generator(){var e;return new s.LCGRandom(null!==(e=this.seed)&&void 0!==e?e:Date.now())}}r.ParkMillerLCG=d,t=d,d.__name__=\"ParkMillerLCG\",t.define((({Int:e,Nullable:n})=>({seed:[n(e),null]})))},\n", + " function _(e,r,n,d,R){d(),R(\"ContourRenderer\",e(408).ContourRenderer),R(\"GlyphRenderer\",e(199).GlyphRenderer),R(\"GraphRenderer\",e(409).GraphRenderer),R(\"GuideRenderer\",e(160).GuideRenderer);var G=e(74);R(\"Renderer\",G.Renderer),R(\"RendererGroup\",G.RendererGroup)},\n", + " function _(e,i,r,n,l){var t;n();const _=e(200),s=e(199),d=e(59);class a extends _.DataRendererView{*children(){yield*super.children(),yield this.fill_view,yield this.line_view}get glyph_view(){return this.fill_view.glyph.data_size>0?this.fill_view.glyph:this.line_view.glyph}async lazy_initialize(){await super.lazy_initialize();const{parent:e}=this,{fill_renderer:i,line_renderer:r}=this.model;this.fill_view=await(0,d.build_view)(i,{parent:e}),this.line_view=await(0,d.build_view)(r,{parent:e})}remove(){this.fill_view.remove(),this.line_view.remove(),super.remove()}_render(){this.fill_view.render(),this.line_view.render()}renderer_view(e){if(e instanceof s.GlyphRenderer){if(e==this.fill_view.model)return this.fill_view;if(e==this.line_view.model)return this.line_view}return super.renderer_view(e)}}r.ContourRendererView=a,a.__name__=\"ContourRendererView\";class h extends _.DataRenderer{constructor(e){super(e)}get_selection_manager(){return this.fill_renderer.data_source.selection_manager}}r.ContourRenderer=h,t=h,h.__name__=\"ContourRenderer\",t.prototype.default_view=a,t.define((({Array:e,Number:i,Ref:r})=>({fill_renderer:[r(s.GlyphRenderer)],line_renderer:[r(s.GlyphRenderer)],levels:[e(i),[]]})))},\n", + " function _(e,r,i,n,t){var d;n();const s=e(200),o=e(199),a=e(353),l=e(352),p=e(59),h=e(202),_=e(333),y=e(335);class c extends s.DataRendererView{get glyph_view(){return this.node_view.glyph}*children(){yield*super.children(),yield this.edge_view,yield this.node_view}async lazy_initialize(){await super.lazy_initialize(),this.apply_coordinates();const{parent:e}=this,{edge_renderer:r,node_renderer:i}=this.model;this.edge_view=await(0,p.build_view)(r,{parent:e}),this.node_view=await(0,p.build_view)(i,{parent:e})}connect_signals(){super.connect_signals(),this.connect(this.model.layout_provider.change,(()=>{this.apply_coordinates(),this.edge_view.set_data(),this.node_view.set_data(),this.request_render()}))}apply_coordinates(){const{edge_renderer:e,node_renderer:r}=this.model;if(!(e.glyph instanceof _.MultiLine||e.glyph instanceof y.Patches))throw new Error(`${this}.edge_renderer.glyph must be a MultiLine glyph`);if(!(r.glyph instanceof h.XYGlyph))throw new Error(`${this}.node_renderer.glyph must be a XYGlyph glyph`);const i=this.model.layout_provider.edge_coordinates,n=this.model.layout_provider.node_coordinates;e.glyph.properties.xs.internal=!0,e.glyph.properties.ys.internal=!0,r.glyph.properties.x.internal=!0,r.glyph.properties.y.internal=!0,e.glyph.xs={expr:i.x},e.glyph.ys={expr:i.y},r.glyph.x={expr:n.x},r.glyph.y={expr:n.y}}remove(){this.edge_view.remove(),this.node_view.remove(),super.remove()}_render(){this.edge_view.render(),this.node_view.render()}renderer_view(e){if(e instanceof 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)}}i.GraphRendererView=c,c.__name__=\"GraphRendererView\";class g extends s.DataRenderer{constructor(e){super(e)}get_selection_manager(){return this.node_renderer.data_source.selection_manager}}i.GraphRenderer=g,d=g,g.__name__=\"GraphRenderer\",d.prototype.default_view=c,d.define((({Ref:e})=>({layout_provider:[e(a.LayoutProvider)],node_renderer:[e(o.GlyphRenderer)],edge_renderer:[e(o.GlyphRenderer)],selection_policy:[e(l.GraphHitTestPolicy),()=>new l.NodesOnly],inspection_policy:[e(l.GraphHitTestPolicy),()=>new l.NodesOnly]})))},\n", + " function _(e,t,n,o,c){o();e(1).__exportStar(e(102),n),c(\"Selection\",e(101).Selection)},\n", + " function _(y,B,a,s,C){s(),C(\"ByID\",y(412).ByID),C(\"ByClass\",y(414).ByClass),C(\"ByCSS\",y(415).ByCSS),C(\"ByXPath\",y(416).ByXPath)},\n", + " function _(e,n,r,t,c){t();const o=e(413);class s extends o.Selector{constructor(e){super(e)}find_one(e){return e.querySelector(`#${this.query}`)}}r.ByID=s,s.__name__=\"ByID\"},\n", + " function _(e,n,r,t,c){var o;t();const s=e(50);class _ extends s.Model{constructor(e){super(e)}}r.Selector=_,o=_,_.__name__=\"Selector\",o.define((({String:e})=>({query:[e]})))},\n", + " function _(e,s,n,r,t){r();const c=e(413);class o extends c.Selector{constructor(e){super(e)}find_one(e){return e.querySelector(`.${this.query}`)}}n.ByClass=o,o.__name__=\"ByClass\"},\n", + " function _(e,n,r,t,c){t();const o=e(413);class s extends o.Selector{constructor(e){super(e)}find_one(e){return e.querySelector(this.query)}}r.ByCSS=s,s.__name__=\"ByCSS\"},\n", + " function _(e,t,n,r,a){r();const c=e(413);class o extends c.Selector{constructor(e){super(e)}find_one(e){return document.evaluate(this.query,e).iterateNext()}}n.ByXPath=o,o.__name__=\"ByXPath\"},\n", + " function _(a,e,S,o,r){o(),r(\"ServerSentDataSource\",a(418).ServerSentDataSource),r(\"AjaxDataSource\",a(420).AjaxDataSource),r(\"ColumnDataSource\",a(104).ColumnDataSource),r(\"ColumnarDataSource\",a(99).ColumnarDataSource),r(\"CDSView\",a(215).CDSView),r(\"DataSource\",a(103).DataSource),r(\"GeoJSONDataSource\",a(421).GeoJSONDataSource),r(\"WebDataSource\",a(419).WebDataSource)},\n", + " function _(e,t,i,a,s){a();const n=e(419);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,r){var s;n();const l=t(104),i=t(19);class o extends l.ColumnDataSource{constructor(t){super(t)}get_column(t){return t in this.data?this.data[t]:[]}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 r;switch(r=null!=n?n.execute(this,{response:t}):t,e){case\"replace\":this.data=r;break;case\"append\":{const t=this.data;for(const e of this.columns()){const n=Array.from(t[e]),s=Array.from(r[e]),l=n.concat(s);r[e]=null!=a?l.slice(-a):l}this.data=r;break}}}}a.WebDataSource=o,s=o,o.__name__=\"WebDataSource\",s.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]})))},\n", + " function _(t,e,i,s,a){var n;s();const r=t(419),o=t(19),l=t(18),d=t(9);class h extends r.WebDataSource{constructor(t){super(t),this.interval=null,this.initialized=!1}destroy(){null!=this.interval&&clearInterval(this.interval),super.destroy()}setup(){if(!this.initialized&&(this.initialized=!0,this.get_data(this.mode),null!=this.polling_interval)){const t=()=>this.get_data(this.mode,this.max_size,this.if_modified);this.interval=setInterval(t,this.polling_interval)}}get_data(t,e=null,i=!1){const s=this.prepare_request();s.addEventListener(\"load\",(()=>this.do_load(s,t,null!=e?e:void 0))),s.addEventListener(\"error\",(()=>this.do_error(s))),s.send()}prepare_request(){const t=new XMLHttpRequest;t.open(this.method,this.data_url,!0),t.withCredentials=!1,t.setRequestHeader(\"Content-Type\",this.content_type);const e=this.http_headers;for(const[i,s]of(0,d.entries)(e))t.setRequestHeader(i,s);return t}do_load(t,e,i){if(200===t.status){const s=JSON.parse(t.responseText);this.load_data(s,e,i)}}do_error(t){l.logger.error(`Failed to fetch JSON from ${this.data_url} with code ${t.status}`)}}i.AjaxDataSource=h,n=h,h.__name__=\"AjaxDataSource\",n.define((({Boolean:t,Int:e,String:i,Dict:s,Nullable:a})=>({polling_interval:[a(e),null],content_type:[i,\"application/json\"],http_headers:[s(i),{}],method:[o.HTTPMethod,\"POST\"],if_modified:[t,!1]})))},\n", + " function _(e,t,o,r,n){var s;r();const a=e(99),i=e(18),l=e(8),c=e(10),_=e(9);function g(e){return null!=e?e:NaN}const{hasOwnProperty:u}=Object.prototype;class y extends a.ColumnarDataSource{constructor(e){super(e)}initialize(){super.initialize(),this._update_data()}connect_signals(){super.connect_signals(),this.connect(this.properties.geojson.change,(()=>this._update_data()))}_update_data(){this.data=this.geojson_to_column_data()}_get_new_list_array(e){return(0,c.range)(0,e).map((e=>[]))}_get_new_nan_array(e){return(0,c.range)(0,e).map((e=>NaN))}_add_properties(e,t,o,r){var n;const s=null!==(n=e.properties)&&void 0!==n?n:{};for(const[e,n]of(0,_.entries)(s))u.call(t,e)||(t[e]=this._get_new_nan_array(r)),t[e][o]=g(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]=g(s);break}case\"LineString\":{const{coordinates:r}=e;for(let e=0;e1&&i.logger.warn(\"Bokeh does not support Polygons with holes in, only exterior ring used.\");const r=e.coordinates[0];for(let e=0;e1&&i.logger.warn(\"Bokeh does not support Polygons with holes in, only exterior ring used.\"),n.push(t[0]);const s=n.reduce(r);for(let e=0;e({geojson:[e]}))),s.internal((({Any:e,Dict:t,Arrayable:o})=>({data:[t(o(e)),{}]})))},\n", + " function _(e,r,T,o,S){o(),S(\"BBoxTileSource\",e(423).BBoxTileSource),S(\"MercatorTileSource\",e(424).MercatorTileSource),S(\"QUADKEYTileSource\",e(427).QUADKEYTileSource),S(\"TileRenderer\",e(428).TileRenderer),S(\"TileSource\",e(425).TileSource),S(\"TMSTileSource\",e(431).TMSTileSource),S(\"WMTSTileSource\",e(429).WMTSTileSource)},\n", + " function _(e,t,r,o,l){var i;o();const n=e(424);class s extends n.MercatorTileSource{constructor(e){super(e)}get_image_url(e,t,r){const o=this.string_lookup_replace(this.url,this.extra_url_vars);let l,i,n,s;return this.use_latlon?[i,s,l,n]=this.get_tile_geographic_bounds(e,t,r):[i,s,l,n]=this.get_tile_meter_bounds(e,t,r),o.replace(\"{XMIN}\",i.toString()).replace(\"{YMIN}\",s.toString()).replace(\"{XMAX}\",l.toString()).replace(\"{YMAX}\",n.toString())}}r.BBoxTileSource=s,i=s,s.__name__=\"BBoxTileSource\",i.define((({Boolean:e})=>({use_latlon:[e,!1]})))},\n", + " function _(t,e,i,_,s){var r;_();const o=t(425),n=t(10),l=t(426);class u extends o.TileSource{constructor(t){super(t)}initialize(){super.initialize(),this._resolutions=(0,n.range)(this.min_zoom,this.max_zoom+1).map((t=>this.get_resolution(t)))}_computed_initial_resolution(){return null!=this.initial_resolution?this.initial_resolution:2*Math.PI*6378137/this.tile_size}is_valid_tile(t,e,i){return!(!this.wrap_around&&(t<0||t>=2**i))&&!(e<0||e>=2**i)}parent_by_tile_xyz(t,e,i){const _=this.tile_xyz_to_quadkey(t,e,i),s=_.substring(0,_.length-1);return this.quadkey_to_tile_xyz(s)}get_resolution(t){return this._computed_initial_resolution()/2**t}get_resolution_by_extent(t,e,i){return[(t[2]-t[0])/i,(t[3]-t[1])/e]}get_level_by_extent(t,e,i){const _=(t[2]-t[0])/i,s=(t[3]-t[1])/e,r=Math.max(_,s);let o=0;for(const t of this._resolutions){if(r>t){if(0==o)return 0;if(o>0)return o-1}o+=1}return o-1}get_closest_level_by_extent(t,e,i){const _=(t[2]-t[0])/i,s=(t[3]-t[1])/e,r=Math.max(_,s),o=this._resolutions.reduce((function(t,e){return Math.abs(e-r)e?(u=o-s,a*=t):(u*=e,a=n-r)}const h=(u-(o-s))/2,c=(a-(n-r))/2;return[s-h,r-c,o+h,n+c]}tms_to_wmts(t,e,i){return[t,2**i-1-e,i]}wmts_to_tms(t,e,i){return[t,2**i-1-e,i]}pixels_to_meters(t,e,i){const _=this.get_resolution(i);return[t*_-this.x_origin_offset,e*_-this.y_origin_offset]}meters_to_pixels(t,e,i){const _=this.get_resolution(i);return[(t+this.x_origin_offset)/_,(e+this.y_origin_offset)/_]}pixels_to_tile(t,e){let i=Math.ceil(t/this.tile_size);i=0===i?i:i-1;return[i,Math.max(Math.ceil(e/this.tile_size)-1,0)]}pixels_to_raster(t,e,i){return[t,(this.tile_size<=l;t--)for(let i=n;i<=u;i++)this.is_valid_tile(i,t,e)&&h.push([i,t,e,this.get_tile_meter_bounds(i,t,e)]);return this.sort_tiles_from_center(h,[n,l,u,a]),h}quadkey_to_tile_xyz(t){let e=0,i=0;const _=t.length;for(let s=_;s>0;s--){const r=1<0;s--){const i=1<0;)if(s=s.substring(0,s.length-1),[t,e,i]=this.quadkey_to_tile_xyz(s),[t,e,i]=this.denormalize_xyz(t,e,i,_),this.tiles.has(this.tile_xyz_to_key(t,e,i)))return[t,e,i];return[0,0,0]}normalize_xyz(t,e,i){if(this.wrap_around){const _=2**i;return[(t%_+_)%_,e,i]}return[t,e,i]}denormalize_xyz(t,e,i,_){return[t+_*2**i,e,i]}denormalize_meters(t,e,i,_){return[t+2*_*Math.PI*6378137,e]}calculate_world_x_by_tile_xyz(t,e,i){return Math.floor(t/2**i)}}i.MercatorTileSource=u,r=u,u.__name__=\"MercatorTileSource\",r.define((({Boolean:t})=>({snap_to_zoom:[t,!1],wrap_around:[t,!0]}))),r.override({x_origin_offset:20037508.34,y_origin_offset:20037508.34,initial_resolution:156543.03392804097})},\n", + " function _(e,t,r,i,n){var l;i();const a=e(50),s=e(9);class c extends a.Model{constructor(e){super(e)}initialize(){super.initialize(),this.tiles=new Map,this._normalize_case()}connect_signals(){super.connect_signals(),this.connect(this.change,(()=>this._clear_cache()))}string_lookup_replace(e,t){let r=e;for(const[e,i]of(0,s.entries)(t))r=r.replace(`{${e}}`,i);return r}_normalize_case(){const e=this.url.replace(\"{x}\",\"{X}\").replace(\"{y}\",\"{Y}\").replace(\"{z}\",\"{Z}\").replace(\"{q}\",\"{Q}\").replace(\"{xmin}\",\"{XMIN}\").replace(\"{ymin}\",\"{YMIN}\").replace(\"{xmax}\",\"{XMAX}\").replace(\"{ymax}\",\"{YMAX}\");this.url=e}_clear_cache(){this.tiles=new Map}tile_xyz_to_key(e,t,r){return`${e}:${t}:${r}`}key_to_tile_xyz(e){const[t,r,i]=e.split(\":\").map((e=>parseInt(e)));return[t,r,i]}sort_tiles_from_center(e,t){const[r,i,n,l]=t,a=(n-r)/2+r,s=(l-i)/2+i;e.sort((function(e,t){return Math.sqrt((a-e[0])**2+(s-e[1])**2)-Math.sqrt((a-t[0])**2+(s-t[1])**2)}))}get_image_url(e,t,r){return this.string_lookup_replace(this.url,this.extra_url_vars).replace(\"{X}\",e.toString()).replace(\"{Y}\",t.toString()).replace(\"{Z}\",r.toString())}}r.TileSource=c,l=c,c.__name__=\"TileSource\",l.define((({Number:e,String:t,Dict:r,Nullable:i})=>({url:[t,\"\"],tile_size:[e,256],max_zoom:[e,30],min_zoom:[e,0],extra_url_vars:[r(t),{}],attribution:[t,\"\"],x_origin_offset:[e],y_origin_offset:[e],initial_resolution:[i(e),null]})))},\n", + " function _(t,e,r,n,o){n();const c=t(105);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(424);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,_){var n;s();const a=t(1),h=t(425),o=t(429),r=t(74),l=t(88),d=t(56),m=t(150),c=t(10),u=t(8),p=a.__importDefault(t(430));class g 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()))}remove(){null!=this.attribution_el&&(0,d.remove)(this.attribution_el),super.remove()}get_extent(){return[this.x_range.start,this.y_range.start,this.x_range.end,this.y_range.end]}get map_plot(){return this.plot_model}get map_canvas(){return this.layer.ctx}get map_frame(){return this.plot_view.frame}get x_range(){return this.map_plot.x_range}get y_range(){return this.map_plot.y_range}_set_data(){this.extent=this.get_extent(),this._last_height=void 0,this._last_width=void 0}_update_attribution(){null!=this.attribution_el&&(0,d.remove)(this.attribution_el);const{attribution:t}=this.model.tile_source;if((0,u.isString)(t)&&t.length>0){const{layout:e,frame:i}=this.plot_view,s=e.bbox.width-i.bbox.right,_=e.bbox.height-i.bbox.bottom,n=i.bbox.width;this.attribution_el=(0,d.div)({style:{right:`${s}px`,bottom:`${_}px`,\"max-width\":`${n}px`}});const a=(0,d.div)();a.innerHTML=t;const h=this.attribution_el.attachShadow({mode:\"open\"});new d.InlineStyleSheet(p.default).install(h),h.appendChild(a),this.attribution_el.title=a.textContent.replace(/\\s*\\n\\s*/g,\" \"),this.plot_view.canvas_view.add_event(this.attribution_el)}}_map_data(){this.initial_extent=this.get_extent();const t=this.model.tile_source.get_level_by_extent(this.initial_extent,this.map_frame.bbox.height,this.map_frame.bbox.width),e=this.model.tile_source.snap_to_zoom_level(this.initial_extent,this.map_frame.bbox.height,this.map_frame.bbox.width,t);this.x_range.start=e[0],this.y_range.start=e[1],this.x_range.end=e[2],this.y_range.end=e[3],this.x_range instanceof l.Range1d&&(this.x_range.reset_start=e[0],this.x_range.reset_end=e[2]),this.y_range instanceof l.Range1d&&(this.y_range.reset_start=e[1],this.y_range.reset_end=e[3]),this._update_attribution()}_create_tile(t,e,i,s,_=!1){const n=this.model.tile_source.tile_xyz_to_quadkey(t,e,i),a=this.model.tile_source.tile_xyz_to_key(t,e,i);if(this.model.tile_source.tiles.has(a))return;const[h,o,r]=this.model.tile_source.normalize_xyz(t,e,i),l=this.model.tile_source.get_image_url(h,o,r),d={img:void 0,tile_coords:[t,e,i],normalized_coords:[h,o,r],quadkey:n,cache_key:a,bounds:s,loaded:!1,finished:!1,x_coord:s[0],y_coord:s[3]};this.model.tile_source.tiles.set(a,d),this._tiles.push(d),new m.ImageLoader(l,{loaded:t=>{Object.assign(d,{img:t,loaded:!0}),_?(d.finished=!0,this.notify_finished()):this.request_render()},failed(){d.finished=!0}})}_enforce_aspect_ratio(){if(this._last_height!==this.map_frame.bbox.height||this._last_width!==this.map_frame.bbox.width){const t=this.get_extent(),e=this.model.tile_source.get_level_by_extent(t,this.map_frame.bbox.height,this.map_frame.bbox.width),i=this.model.tile_source.snap_to_zoom_level(t,this.map_frame.bbox.height,this.map_frame.bbox.width,e);this.x_range.setv({start:i[0],end:i[2]}),this.y_range.setv({start:i[1],end:i[3]}),this.extent=i,this._last_height=this.map_frame.bbox.height,this._last_width=this.map_frame.bbox.width}}has_finished(){if(!super.has_finished())return!1;if(0==this._tiles.length)return!1;for(const t of this._tiles)if(!t.finished)return!1;return!0}_render(){null==this.map_initialized&&(this._set_data(),this._map_data(),this.map_initialized=!0),this._enforce_aspect_ratio(),this._update(),null!=this.prefetch_timer&&clearTimeout(this.prefetch_timer),this.prefetch_timer=setTimeout(this._prefetch_tiles.bind(this),500),this.has_finished()&&this.notify_finished()}_draw_tile(t){const e=this.model.tile_source.tiles.get(t);if(null!=e&&e.loaded){const[[t],[i]]=this.coordinates.map_to_screen([e.bounds[0]],[e.bounds[3]]),[[s],[_]]=this.coordinates.map_to_screen([e.bounds[2]],[e.bounds[1]]),n=s-t,a=_-i,h=t,o=i,r=this.map_canvas.imageSmoothingEnabled;this.map_canvas.imageSmoothingEnabled=this.model.smoothing,this.map_canvas.drawImage(e.img,h,o,n,a),this.map_canvas.imageSmoothingEnabled=r,e.finished=!0}}_set_rect(){const t=this.plot_model.outline_line_width,e=this.map_frame.bbox.left+t/2,i=this.map_frame.bbox.top+t/2,s=this.map_frame.bbox.width-t,_=this.map_frame.bbox.height-t;this.map_canvas.rect(e,i,s,_),this.map_canvas.clip()}_render_tiles(t){this.map_canvas.save(),this._set_rect(),this.map_canvas.globalAlpha=this.model.alpha;for(const e of t)this._draw_tile(e);this.map_canvas.restore()}_prefetch_tiles(){const{tile_source:t}=this.model,e=this.get_extent(),i=this.map_frame.bbox.height,s=this.map_frame.bbox.width,_=this.model.tile_source.get_level_by_extent(e,i,s),n=this.model.tile_source.get_tiles_by_extent(e,_);for(let e=0,i=Math.min(10,n.length);ei&&(s=this.extent,h=i,o=!0),o&&(this.x_range.setv({start:s[0],end:s[2]}),this.y_range.setv({start:s[1],end:s[3]})),this.extent=s;const r=t.get_tiles_by_extent(s,h),l=[],d=[],m=[],u=[];for(const e of r){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),o=t.tile_xyz_to_key(e,a,h),r=t.tiles.get(o);if(null!=r&&r.loaded&&!(0,c.includes)(m,o)&&m.push(o),_){const e=t.children_by_tile_xyz(i,s,n);for(const[i,s,_]of e){const e=t.tile_xyz_to_key(i,s,_);t.tiles.has(e)&&u.push(e)}}}null==h&&l.push(e)}this._render_tiles(m),this._render_tiles(u),this._render_tiles(d),null!=this.render_timer&&clearTimeout(this.render_timer),this.render_timer=setTimeout((()=>this._fetch_tiles(l)),65)}}i.TileRendererView=g,g.__name__=\"TileRendererView\";class b extends r.Renderer{constructor(t){super(t)}}i.TileRenderer=b,n=b,b.__name__=\"TileRenderer\",n.prototype.default_view=g,n.define((({Boolean:t,Number:e,Ref:i})=>({alpha:[e,1],smoothing:[t,!0],tile_source:[i(h.TileSource),()=>new o.WMTSTileSource],render_parents:[t,!0]}))),n.override({level:\"image\"})},\n", + " function _(t,e,r,o,s){o();const c=t(424);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 _(o,e,i,l,t){l(),i.default=\":host{position:absolute;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;}a{color:black;}\"},\n", + " function _(e,r,t,c,o){c();const i=e(424);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(433).CanvasTexture),r(\"ImageURLTexture\",e(435).ImageURLTexture),r(\"Texture\",e(434).Texture)},\n", + " function _(t,e,n,c,s){var r;c();const o=t(434),a=t(38);class u extends o.Texture{constructor(t){super(t)}get func(){const t=(0,a.use_strict)(this.code);return new Function(\"ctx\",\"color\",\"scale\",\"weight\",t)}get_pattern(t,e,n){const c=document.createElement(\"canvas\");c.width=e,c.height=e;const s=c.getContext(\"2d\");return this.func.call(this,s,t,e,n),c}}n.CanvasTexture=u,r=u,u.__name__=\"CanvasTexture\",r.define((({String:t})=>({code:[t]})))},\n", + " function _(e,t,n,r,o){var i;r();const s=e(50),u=e(19);class c extends s.Model{constructor(e){super(e)}}n.Texture=c,i=c,c.__name__=\"Texture\",i.define((()=>({repetition:[u.TextureRepetition,\"repeat\"]})))},\n", + " function _(e,t,i,r,n){var a;r();const s=e(434),o=e(150);class u extends s.Texture{constructor(e){super(e)}initialize(){super.initialize(),this._loader=new o.ImageLoader(this.url)}get_pattern(e,t,i){const{_loader:r}=this;return this._loader.finished?r.image:r.promise}}i.ImageURLTexture=u,a=u,u.__name__=\"ImageURLTexture\",a.define((({String:e})=>({url:[e]})))},\n", + " function _(e,n,o,a,i){a();e(1).__exportStar(e(437),o),i(\"Dialog\",e(441).Dialog),i(\"Examiner\",e(445).Examiner),i(\"Pane\",e(447).Pane),i(\"Tooltip\",e(448).Tooltip),i(\"UIElement\",e(257).UIElement)},\n", + " function _(n,c,o,I,i){I(),i(\"BuiltinIcon\",n(438).BuiltinIcon),i(\"SVGIcon\",n(439).SVGIcon),i(\"TablerIcon\",n(440).TablerIcon)},\n", + " function _(e,n,t,i,s){var o;i();const r=e(1),a=e(378),l=e(56),c=e(21),m=e(8),u=r.__importDefault(e(269));class _ extends a.IconView{constructor(){super(...arguments),this._style=new l.InlineStyleSheet}stylesheets(){return[...super.stylesheets(),u.default,this._style]}render(){super.render();const e=`var(--bokeh-icon-${this.model.icon_name})`,n=(0,c.color2css)(this.model.color),t=(()=>{const{size:e}=this.model;return(0,m.isNumber)(e)?`${e}px`:e})();this._style.replace(`\\n :host {\\n display: inline-block;\\n vertical-align: middle;\\n width: ${t};\\n height: ${t};\\n background-color: ${n};\\n mask-image: ${e};\\n mask-size: contain;\\n mask-repeat: no-repeat;\\n -webkit-mask-image: ${e};\\n -webkit-mask-size: contain;\\n -webkit-mask-repeat: no-repeat;\\n }\\n `)}}t.BuiltinIconView=_,_.__name__=\"BuiltinIconView\";class d extends a.Icon{constructor(e){super(e)}}t.BuiltinIcon=d,o=d,d.__name__=\"BuiltinIcon\",o.prototype.default_view=_,o.define((({String:e,Color:n})=>({icon_name:[e],color:[n,\"gray\"]})))},\n", + " function _(e,n,s,t,r){var i;t();const o=e(378),l=e(56),c=e(8);class a extends o.IconView{constructor(){super(...arguments),this._style=new l.InlineStyleSheet}stylesheets(){return[...super.stylesheets(),this._style]}render(){super.render();const e=(()=>{const{size:e}=this.model;return(0,c.isNumber)(e)?`${e}px`:e})();this._style.replace(`\\n :host {\\n display: inline-block;\\n vertical-align: middle;\\n }\\n :host svg {\\n width: ${e};\\n height: ${e};\\n }\\n `);const n=(new DOMParser).parseFromString(this.model.svg,\"image/svg+xml\");this.shadow_el.append(n.documentElement)}}s.SVGIconView=a,a.__name__=\"SVGIconView\";class d extends o.Icon{constructor(e){super(e)}}s.SVGIcon=d,i=d,d.__name__=\"SVGIcon\",i.prototype.default_view=a,i.define((({String:e})=>({svg:[e]})))},\n", + " function _(e,n,t,s,r){var o,l;s();const i=e(378),a=e(56),c=e(8);class f extends i.IconView{constructor(){super(...arguments),this._tabler=new a.ImportedStyleSheet(`${f._url}/tabler-icons.min.css`),this._style=new a.InlineStyleSheet}stylesheets(){return[...super.stylesheets(),f._fonts,this._tabler,this._style]}render(){super.render();const e=(()=>{const{size:e}=this.model;return(0,c.isNumber)(e)?`${e}px`:e})();this._style.replace(`\\n :host {\\n display: inline-block;\\n vertical-align: middle;\\n font-size: ${e};\\n }\\n `);const n=(0,a.span)({class:[\"ti\",`ti-${this.model.icon_name}`]});this.shadow_el.appendChild(n)}}t.TablerIconView=f,o=f,f.__name__=\"TablerIconView\",f._url=\"https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest\",f._fonts=new a.GlobalInlineStyleSheet(` /*!\\n * Tabler Icons 1.68.0 by tabler - https://tabler.io\\n * License - https://github.com/tabler/tabler-icons/blob/master/LICENSE\\n */\\n @font-face {\\n font-family: \"tabler-icons\";\\n font-style: normal;\\n font-weight: 400;\\n src: url(\"${o._url}/fonts/tabler-icons.eot\");\\n src: url(\"${o._url}/fonts/tabler-icons.eot?#iefix\") format(\"embedded-opentype\"),\\n url(\"${o._url}/fonts/tabler-icons.woff2\") format(\"woff2\"),\\n url(\"${o._url}/fonts/tabler-icons.woff\") format(\"woff\"),\\n url(\"${o._url}/fonts/tabler-icons.ttf\") format(\"truetype\"),\\n url(\"${o._url}/fonts/tabler-icons.svg#tabler-icons\") format(\"svg\");\\n }\\n\\n @media screen and (-webkit-min-device-pixel-ratio: 0) {\\n @font-face {\\n font-family: \"tabler-icons\";\\n src: url(\"${o._url}/fonts/tabler-icons.svg#tabler-icons\") format(\"svg\");\\n }\\n }\\n`);class b extends i.Icon{constructor(e){super(e)}}t.TablerIcon=b,l=b,b.__name__=\"TablerIcon\",l.prototype.default_view=f,l.define((({String:e})=>({icon_name:[e]})))},\n", + " function _(e,t,i,s,n){var l;s();const o=e(1),a=e(257),d=e(442),r=e(443),c=e(56),h=e(8),_=e(59),p=o.__importStar(e(444)),u=p,m=o.__importDefault(e(269)),v=a.UIElement;class w extends a.UIElementView{*children(){yield*super.children(),yield this._content}stylesheets(){return[...super.stylesheets(),p.default,m.default]}async lazy_initialize(){await super.lazy_initialize();const e=(()=>{const{content:e}=this.model;return(0,h.isString)(e)?new r.Text({content:e}):e})();this._content=await(0,_.build_view)(e,{parent:this})}connect_signals(){super.connect_signals();const{visible:e}=this.model.properties;this.on_change(e,(()=>this.render()))}remove(){this._content.remove(),super.remove()}render(){if(super.render(),!this.model.visible)return void this.el.remove();document.body.appendChild(this.el),this._content.render();const e=(0,c.div)({class:u.title}),t=(0,c.div)({class:u.content},this._content.el),i=(0,c.div)({class:u.buttons});if(this.shadow_el.appendChild(e),this.shadow_el.appendChild(t),this.shadow_el.appendChild(i),this.model.closable){const e=(0,c.div)({class:u.close});e.addEventListener(\"click\",(()=>this.model.visible=!1)),this.shadow_el.appendChild(e)}}}i.DialogView=w,w.__name__=\"DialogView\";class b extends a.UIElement{constructor(e){super(e)}}i.Dialog=b,l=b,b.__name__=\"Dialog\",l.prototype.default_view=w,l.define((({Boolean:e,String:t,Array:i,Ref:s,Or:n,Nullable:l})=>({title:[l(n(t,s(d.DOMNode))),null],content:[n(t,s(d.DOMNode),s(a.UIElement))],buttons:[i(s(v)),[]],modal:[e,!1],closable:[e,!0],draggable:[e,!0]})))},\n", + " function _(e,o,_,d,s){d();const n=e(55),c=e(50);class t extends n.DOMView{}_.DOMNodeView=t,t.__name__=\"DOMNodeView\";class M extends c.Model{constructor(e){super(e)}}_.DOMNode=M,M.__name__=\"DOMNode\",M.__module__=\"bokeh.models.dom\"},\n", + " function _(e,t,n,o,r){var c;o();const s=e(442);class _ extends s.DOMNodeView{render(){this.el.textContent=this.model.content}_createElement(){return document.createTextNode(\"\")}}n.TextView=_,_.__name__=\"TextView\";class d extends s.DOMNode{constructor(e){super(e)}}n.Text=d,c=d,d.__name__=\"Text\",c.prototype.default_view=_,c.define((({String:e})=>({content:[e,\"\"]})))},\n", + " function _(o,e,t,i,r){i(),t.title=\"bk-title\",t.content=\"bk-content\",t.buttons=\"bk-buttons\",t.close=\"bk-close\",t.default=\":host{--bokeh-bg-color:white;--bokeh-border-color:#e5e5e5;--bokeh-shadow-color:#e5e5e5;}:host{position:fixed;z-index:1000;left:0;right:0;top:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;width:80vw;height:60vh;overflow:hidden;display:flex;flex-direction:column;flex-wrap:nowrap;background-color:var(--bokeh-bg-color);border:1px solid var(--bokeh-border-color);box-shadow:5px 5px 10px var(--bokeh-shadow-color);}.bk-title{position:relative;flex:1;min-height:0;}.bk-content{position:relative;flex:1;min-height:100%;display:flex;}.bk-buttons{position:relative;flex:1;min-height:0;}.bk-close{position:absolute;top:0;right:0;width:18px;height:18px;cursor:pointer;background-color:gray;mask-image:var(--bokeh-icon-x);mask-size:contain;mask-repeat:no-repeat;-webkit-mask-image:var(--bokeh-icon-x);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;}.bk-close:hover{background-color:red;}\"},\n", + " function _(t,e,s,n,o){var i;n();const a=t(1),l=t(257),r=a.__importStar(t(17)),c=t(14),d=t(56),p=t(40),h=t(50),u=t(8),f=t(9),_=t(10),v=t(32),g=t(15),m=t(36),b=a.__importDefault(t(446));class y{constructor(t,e,s){this.visited=new WeakSet,this.depth=0,this.click=t,this.max_items=e,this.max_depth=s}to_html(t){if((0,u.isObject)(t)){if(this.visited.has(t))return(0,d.span)(\"\");this.visited.add(t)}return null==t?this.null():(0,u.isBoolean)(t)?this.boolean(t):(0,u.isNumber)(t)?this.number(t):(0,u.isString)(t)?this.string(t):(0,u.isSymbol)(t)?this.symbol(t):t instanceof h.Model?this.model(t):t instanceof r.Property?this.property(t):(0,u.isPlainObject)(t)?this.object(t):(0,u.isArray)(t)?this.array(t):(0,u.isIterable)(t)?this.iterable(t):(0,d.span)((0,p.to_string)(t))}null(){return(0,d.span)({class:\"null\"},\"null\")}token(t){return(0,d.span)({class:\"token\"},t)}boolean(t){return(0,d.span)({class:\"boolean\"},`${t}`)}number(t){return(0,d.span)({class:\"number\"},`${t}`)}string(t){const e=t.includes(\"'\"),s=t.includes('\"'),n=e&&s?`\\`${t.replace(/`/g,\"\\\\`\")}\\``:s?`'${t}'`:`\"${t}\"`;return(0,d.span)({class:\"string\"},n)}symbol(t){return(0,d.span)({class:\"symbol\"},t.toString())}array(t){const e=this.token,s=[];let n=0;for(const e of t)if(s.push(this.to_html(e)),n++>this.max_items){s.push((0,d.span)(\"\\u2026\"));break}return(0,d.span)({class:\"array\"},e(\"[\"),...(0,v.interleave)(s,(()=>e(\", \"))),e(\"]\"))}iterable(t){var e;const s=this.token,n=null!==(e=Object(t)[Symbol.toStringTag])&&void 0!==e?e:\"Object\",o=this.array([...t]);return(0,d.span)({class:\"iterable\"},`${n}`,s(\"(\"),o,s(\")\"))}object(t){const e=this.token,s=[];let n=0;for(const[o,i]of(0,f.entries)(t))if(s.push((0,d.span)(`${o}`,e(\": \"),this.to_html(i))),n++>this.max_items){s.push((0,d.span)(\"\\u2026\"));break}return(0,d.span)({class:\"object\"},e(\"{\"),...(0,v.interleave)(s,(()=>e(\", \"))),e(\"}\"))}model(t){const e=this.token,s=(0,d.span)({class:\"model\"},t.constructor.__qualified__,e(\"(\"),this.to_html(t.id),e(\")\"));return s.addEventListener(\"click\",(()=>this.click(t))),s}property(t){const e=this.model(t.obj),s=(0,d.span)({class:\"attr\"},t.attr);return(0,d.span)(e,this.token(\".\"),s)}}s.HTMLPrinter=y,y.__name__=\"HTMLPrinter\";class k extends l.UIElementView{constructor(){super(...arguments),this.prev_listener=null,this.watched_props=new Set}stylesheets(){return[...super.stylesheets(),b.default]}render(){super.render(),null!=this.prev_listener&&m.diagnostics.disconnect(this.prev_listener);const t=[],e=[],s=[],n=new WeakMap;m.diagnostics.connect((o=>{if(o instanceof r.Property){for(const[e,s]of t)e==o.obj&&i(s);for(const[t,s]of e)if(t==o){const[,,,e]=s.children;a(t,s,e);break}for(const[t,e]of s)if(t==o){const[,s]=e.children;a(t,e,s);break}}function i(t){const e=n.get(t);null!=e&&e.cancel();const s=t.animate([{backgroundColor:\"#def189\"},{backgroundColor:\"initial\"}],{duration:2e3});n.set(t,s)}function a(t,e,s){e.classList.toggle(\"dirty\",t.dirty),(0,d.empty)(s);const n=t.is_unset?(0,d.span)(\"unset\"):C(t.get_value());s.appendChild(n),i(s)}}));const o=(()=>{const e=(0,d.input)({class:\"filter\",type:\"text\",placeholder:\"Filter\"});return e.addEventListener(\"keyup\",(()=>{const s=e.value;for(const[e,n]of t){const t=e.constructor.__qualified__.includes(s);n.classList.toggle(\"hidden\",!t)}})),(0,d.div)({class:\"toolbar\"},e)})(),i=(0,d.input)({type:\"checkbox\",checked:!0}),a=(0,d.input)({type:\"checkbox\",checked:!0}),l=()=>{for(const[t,s]of e){const e=i.checked,n=a.checked,o=!t.dirty&&!e||t.internal&&!n;s.classList.toggle(\"hidden\",o)}};i.addEventListener(\"change\",(()=>l())),a.addEventListener(\"change\",(()=>l()));const p=(()=>{const t=(0,d.input)({class:\"filter\",type:\"text\",placeholder:\"Filter\"}),s=(0,d.span)({class:\"checkbox\"},(0,d.input)({type:\"checkbox\",checked:!0}),(0,d.span)(\"Group\")),n=(0,d.span)({class:\"checkbox\"},i,(0,d.span)(\"Initial?\")),o=(0,d.span)({class:\"checkbox\"},a,(0,d.span)(\"Internal?\"));return t.addEventListener(\"keyup\",(()=>{const s=t.value;for(const[t,n]of e){const e=t.attr.includes(s);n.classList.toggle(\"hidden\",!e)}})),(0,d.div)({class:\"toolbar\"},t,s,n,o)})(),u=(()=>{const t=(0,d.input)({class:\"filter\",type:\"text\",placeholder:\"Filter\"});return t.addEventListener(\"keyup\",(()=>{const e=t.value;for(const[t,n]of s){const s=t.attr.includes(e);n.classList.toggle(\"hidden\",!s)}})),(0,d.div)({class:\"toolbar\"},t)})(),v=(0,d.div)({class:\"models-list\"}),b=(0,d.div)({class:\"props-list\"}),k=(0,d.div)({class:\"watches-list\"}),x=(0,d.div)({class:\"models-panel\"},o,v),w=(0,d.div)({class:\"props-panel\"},p,b),L=(0,d.div)({class:\"watches-panel\"},u,k),E=(0,d.div)({class:\"col\",style:{width:\"100%\"}},L,w),j=(0,d.div)({class:\"examiner\"},x,E);function S(t){t instanceof h.Model&&O(t)}function C(t){return new y(S,5,3).to_html(t)}const P=(e,s)=>{(0,_.clear)(t),(0,d.empty)(v);const n=null!=s?new Set(s.roots()):new Set;for(const s of e){const e=n.has(s)?(0,d.span)({class:\"tag\"},\"root\"):null,o=(0,d.span)({class:\"model-ref\",tabIndex:0},C(s),e);o.addEventListener(\"keydown\",(t=>{\"Enter\"==t.key&&O(s)})),t.push([s,o]),v.appendChild(o)}},O=s=>{var n;(0,_.clear)(e),(0,d.empty)(b);for(const[e,n]of t)n.classList.toggle(\"active\",s==e);const o=(()=>{const t=[];let e=Object.getPrototypeOf(s);do{t.push([e.constructor,(0,f.keys)(e._props)]),e=Object.getPrototypeOf(e)}while(e.constructor!=c.HasProps);t.reverse();const n=[];for(const[,e]of t)e.splice(0,n.length),n.push(...e);return t})(),l=null!==(n=g.receivers_for_sender.get(s))&&void 0!==n?n:[];for(const[t,n]of o){if(0==n.length)continue;const o=(0,d.span)({class:[\"expander\"]}),r=(0,d.div)({class:\"base\"},o,\"inherited from\",\" \",(0,d.span)({class:\"monospace\"},t.__qualified__));b.appendChild(r);const c=[];for(const t of n){const n=s.property(t),o=n.kind.toString(),r=n.is_unset?(0,d.span)(\"unset\"):C(n.get_value()),p=n.internal?(0,d.span)({class:\"tag\"},\"internal\"):null,h=l.filter((t=>t.signal==n.change)).length,u=0!=h?(0,d.span)({class:\"tag\"},`${h}`):null,f=this.watched_props.has(n),_=(0,d.input)({type:\"checkbox\",checked:f}),v=(0,d.div)({class:\"prop-attr\",tabIndex:0},_,(0,d.span)({class:\"attr\"},t),p),g=(0,d.div)({class:\"prop-conns\"},u),m=(0,d.div)({class:\"prop-kind\"},o),y=(0,d.div)({class:\"prop-value\"},r),k=n.dirty?\"dirty\":null,x=n.internal?\"internal\":null,w=i.checked,L=a.checked,E=!n.dirty&&!w||n.internal&&!L?\"hidden\":null,j=(0,d.div)({class:[\"prop\",k,x,E]},v,g,m,y);c.push(j),e.push([n,j]),b.appendChild(j),_.addEventListener(\"change\",(()=>{this.watched_props[_.checked?\"add\":\"delete\"](n),$()}))}r.addEventListener(\"click\",(()=>{o.classList.toggle(\"closed\");for(const t of c)t.classList.toggle(\"closed\")}))}},$=()=>{if((0,_.clear)(s),(0,d.empty)(k),0==this.watched_props.size){const t=(0,d.div)({class:\"nothing\"},\"No watched properties\");k.appendChild(t)}else for(const t of this.watched_props){const e=(0,d.span)(C(t)),n=(0,d.span)(t.is_unset?(0,d.span)(\"unset\"):C(t.get_value())),o=(0,d.div)({class:[\"prop\",t.dirty?\"dirty\":null]},e,n);s.push([t,o]),k.appendChild(o)}};this.shadow_el.appendChild(j);const{target:I}=this.model;if(null!=I){const t=I.references(),{document:e}=I;P(t,e),O(I)}else{const{document:t}=this.model;if(null!=t){P(t._all_models.values(),t);const e=t.roots();if(0!=e.length){const[t]=e;O(t)}}}$()}}s.ExaminerView=k,k.__name__=\"ExaminerView\";class x extends l.UIElement{constructor(t){super(t)}}s.Examiner=x,i=x,x.__name__=\"Examiner\",i.prototype.default_view=k,i.define((({Ref:t,Nullable:e})=>({target:[e(t(c.HasProps)),null]})))},\n", + " function _(o,e,r,i,l){i(),r.default='.null{color:#7724c1;}.token{color:#881280;}.boolean{color:#007500;}.number{color:#1a1aa6;}.string{color:#994500;}.symbol{color:#c80000;}.model{cursor:pointer;}.attr{color:#c80000;}:root{--common-padding:3px;--common-outline:#1a73e8 solid 1px;--panel-bg-color:#f1f3f4;--panel-border-color:#cacdd1;}.monospace{font-family:var(--mono-font);}.hidden{display:none !important;}.col{display:flex;flex-direction:column;}.row{display:flex;flex-direction:row;}.toolbar{display:flex;flex-direction:row;gap:1em;background-color:var(--panel-bg-color);border-bottom:1px solid var(--panel-border-color);padding:var(--common-padding);}.checkbox{display:flex;flex-direction:row;align-items:center;gap:0.25em;}.filter:focus{outline:var(--common-outline);}.examiner{height:100%;display:flex;border:1px solid var(--panel-border-color);}.models-panel{display:flex;flex-direction:column;border-right:1px solid var(--panel-border-color);}.props-panel{display:flex;flex-direction:column;height:100%;overflow:auto;}.watches-panel{display:flex;flex-direction:column;border-bottom:1px solid var(--panel-border-color);}.models-list{display:flex;flex-direction:column;height:min-content;padding:var(--common-padding);overflow-x:hidden;overflow-y:auto;}.props-list{display:grid;grid-template-columns:min-content min-content 1fr 1fr;column-gap:1em;padding:var(--common-padding);}.watches-list{display:grid;grid-template-columns:1fr 1fr;column-gap:1em;padding:var(--common-padding);}.nothing{grid-column:1 / span 2;font-style:italic;text-align:center;}.prop{display:contents;}.prop.closed{display:none;}.prop > *{opacity:0.6;}.prop.dirty > *{opacity:1;}.model-ref{display:flex;align-items:center;flex-direction:row;font-family:var(--mono-font);}.model-ref:focus-visible{outline:var(--common-outline);}.model-ref:hover{background-color:#e2e2e2;}.model-ref.active{background-color:#c8e0ee;}.tag{margin-left:1em;padding:0 4px;font-size:60%;border-width:1px;border-style:solid;border-radius:4px;color:#202124;background-color:#f1f3f4;border-color:#cacdd1;}.expander{margin:0 2px;display:inline-block;vertical-align:middle;background-color:#5f6368;--open-image:url(\\'data:image/svg+xml;utf8, \\');--closed-image:url(\\'data:image/svg+xml;utf8, \\');}.expander{width:6px;height:6px;mask-image:var(--open-image);-webkit-mask-image:var(--open-image);}.expander.closed{width:6px;height:6px;mask-image:var(--closed-image);-webkit-mask-image:var(--closed-image);}.base{grid-column:1 / span 4;color:#5f6368;cursor:pointer;}.prop-attr,.prop-conns,.prop-kind,.prop-value{display:flex;flex-direction:row;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:var(--mono-font);}.prop-attr > input[type=\"checkbox\"]{visibility:hidden;margin-right:0.25em;}.prop-attr > input[type=\"checkbox\"]:checked,.prop-attr:hover > input{visibility:visible;}.prop-attr:focus-visible{outline:var(--common-outline);}'},\n", + " function _(e,i,s,t,n){var r;t();const l=e(257),_=e(59),a=e(8);class h extends l.UIElementView{constructor(){super(...arguments),this._child_views=new Map}get _ui_elements(){return this.model.children.filter((e=>e instanceof l.UIElement))}get child_views(){return this._ui_elements.map((e=>this._child_views.get(e)))}*children(){yield*super.children(),yield*this._child_views.values()}async lazy_initialize(){await super.lazy_initialize(),await this._rebuild_views()}async _rebuild_views(){await(0,_.build_views)(this._child_views,this._ui_elements,{parent:this})}remove(){(0,_.remove_views)(this._child_views),super.remove()}connect_signals(){super.connect_signals();const{children:e}=this.model.properties;this.on_change(e,(()=>{this._rebuild_views(),this.render()}))}render(){super.render();for(const e of this.model.children)if((0,a.isString)(e)){const i=document.createTextNode(e);this.shadow_el.append(i)}else{const i=this._child_views.get(e);i.render(),this.shadow_el.append(i.el),i.after_render()}}has_finished(){if(!super.has_finished())return!1;for(const e of this.child_views)if(!e.has_finished())return!1;return!0}serializable_state(){return Object.assign(Object.assign({},super.serializable_state()),{children:this.child_views.map((e=>e.serializable_state()))})}}s.PaneView=h,h.__name__=\"PaneView\";class d extends l.UIElement{constructor(e){super(e)}}s.Pane=d,r=d,d.__name__=\"Pane\",r.prototype.default_view=h,r.define((({String:e,Array:i,Ref:s,Or:t})=>({children:[i(t(e,s(l.UIElement))),[]]})))},\n", + " function _(t,e,i,s,r){var n;s();const o=t(1),l=t(257),a=t(413),c=t(449),h=t(19),u=t(56),_=t(55),d=t(8),g=t(12),m=t(18),p=t(59),v=o.__importStar(t(450)),b=v,f=o.__importDefault(t(269));class w extends l.UIElementView{constructor(){super(...arguments),this._html=null}get target(){return this._target}_init_target(){const{target:t}=this.model,e=(()=>{var e,i;if(t instanceof l.UIElement)return null!==(i=null===(e=this.owner.find_one(t))||void 0===e?void 0:e.el)&&void 0!==i?i:null;if(t instanceof a.Selector)return t.find_one(document);if(t instanceof Node)return t;{const{parent:t}=this;return t instanceof _.DOMElementView?t.el:null}})();e instanceof Element?this._target=e:(m.logger.warn(`unable to resolve target '${t}' for '${this}'`),this._target=document.body)}initialize(){super.initialize(),this._init_target()}*children(){yield*super.children(),null!=this._html&&(yield this._html)}async lazy_initialize(){await super.lazy_initialize();const{content:t}=this.model;t instanceof c.HTML&&(this._html=await(0,p.build_view)(t,{parent:this})),this.render()}connect_signals(){super.connect_signals(),this._observer=new ResizeObserver((()=>{this._reposition()})),this._observer.observe(this.target);const{target:t,content:e,closable:i,interactive:s,position:r,attachment:n,visible:o}=this.model.properties;this.on_change(t,(()=>{this._init_target(),this._observer.disconnect(),this._observer.observe(this.target),this.render()})),this.on_change([e,i,s],(()=>this.render())),this.on_change([r,n,o],(()=>this._reposition()))}remove(){var t;null===(t=this._html)||void 0===t||t.remove(),this._observer.disconnect(),super.remove()}stylesheets(){return[...super.stylesheets(),v.default,f.default]}get content(){const{content:t}=this.model;return(0,d.isString)(t)?document.createTextNode(t):t instanceof c.HTML?((0,g.assert)(null!=this._html),this._html.el):t}render(){var t;if(super.render(),null===(t=this._html)||void 0===t||t.render(),this.content_el=(0,u.div)({class:b.tooltip_content},this.content),this.shadow_el.appendChild(this.content_el),this.model.closable){const t=(0,u.div)({class:b.close});t.addEventListener(\"click\",(()=>{this.model.visible=!1})),this.shadow_el.appendChild(t)}this.el.classList.toggle(b.tooltip_arrow,this.model.show_arrow),this.el.classList.toggle(b.non_interactive,!this.model.interactive),this._reposition()}_anchor_to_align(t){switch(t){case\"top_left\":return[\"top\",\"left\"];case\"top\":case\"top_center\":return[\"top\",\"center\"];case\"top_right\":return[\"top\",\"right\"];case\"left\":case\"center_left\":return[\"center\",\"left\"];case\"center\":case\"center_center\":return[\"center\",\"center\"];case\"right\":case\"center_right\":return[\"center\",\"right\"];case\"bottom_left\":return[\"bottom\",\"left\"];case\"bottom\":case\"bottom_center\":return[\"bottom\",\"center\"];case\"bottom_right\":return[\"bottom\",\"right\"]}}_reposition(){var t;const{position:e,visible:i}=this.model;if(null==e||!i)return void this.el.remove();(null!==(t=this.target.shadowRoot)&&void 0!==t?t:this.target).appendChild(this.el);const s=(0,u.bounding_box)(this.target).relative(),[r,n]=(()=>{if((0,d.isString)(e)){const[t,i]=this._anchor_to_align(e);return[(()=>{switch(i){case\"left\":return s.left;case\"center\":return s.hcenter;case\"right\":return s.right}})(),(()=>{switch(t){case\"top\":return s.top;case\"center\":return s.vcenter;case\"bottom\":return s.bottom}})()]}return e})(),o=(()=>{const t=(()=>{const{attachment:t}=this.model;if(\"auto\"==t){if((0,d.isString)(e)){const[t,i]=this._anchor_to_align(e);if(\"center\"!=i)return\"left\"==i?\"left\":\"right\";if(\"center\"!=t)return\"top\"==t?\"above\":\"below\"}return\"horizontal\"}return t})();switch(t){case\"horizontal\":return r({target:[r(n(l.UIElement),n(a.Selector),n(Node),u),\"auto\"],position:[o(r(h.Anchor,s(e,e))),null],content:[r(i,n(c.HTML),n(Node))],attachment:[r(h.TooltipAttachment,u),\"auto\"],show_arrow:[t,!0],closable:[t,!1],interactive:[t,!0]}))),n.override({visible:!1})},\n", + " function _(e,t,r,s,i){var n;s();const o=e(442),l=e(257),d=e(59),a=e(56),c=e(12),_=e(8);class f extends o.DOMNodeView{constructor(){super(...arguments),this._refs=new Map}*children(){yield*super.children(),yield*this._refs.values()}async lazy_initialize(){await super.lazy_initialize(),await(0,d.build_views)(this._refs,this.model.refs)}remove(){(0,d.remove_views)(this._refs),super.remove()}render(){(0,a.empty)(this.el),this.el.style.display=\"contents\";const e=new DOMParser,t=(()=>{const{html:t}=this.model;if((0,_.isString)(t)){const r=e.parseFromString(t,\"text/html\"),s=r.createNodeIterator(r,NodeFilter.SHOW_ELEMENT,(e=>\"ref\"==e.nodeName.toLowerCase()?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT));let i;for(;null!=(i=s.nextNode());){(0,c.assert)(i instanceof Element);const e=i.getAttribute(\"id\");if(null!=e)for(const[t,r]of this._refs)if(t.id==e){r.render(),i.replaceWith(r.el);break}}return[...r.body.childNodes]}return[]})();for(const e of t)this.el.appendChild(e)}}r.HTMLView=f,f.__name__=\"HTMLView\";class h extends o.DOMNode{constructor(e){super(e)}}r.HTML=h,n=h,h.__name__=\"HTML\",n.prototype.default_view=f,n.define((({String:e,Array:t,Or:r,Ref:s})=>({html:[r(e,t(r(e,s(o.DOMNode),s(l.UIElement))))],refs:[t(r(s(o.DOMNode),s(l.UIElement))),[]]})))},\n", + " function _(o,t,r,i,l){i(),r.non_interactive=\"bk-non-interactive\",r.tooltip_content=\"bk-tooltip-content\",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.close=\"bk-close\",r.default=':host{--tooltip-border:#e5e5e5;--tooltip-color:white;--tooltip-text:#2f2f2f;--tooltip-arrow-color:#909599;--tooltip-arrow-width:10px;--tooltip-arrow-height:10px;--tooltip-arrow-half-width:7px;--tooltip-arrow-half-height:7px;}:host{width:max-content;font-weight:300;font-size:12px;position:absolute;padding:5px;border:1px solid var(--tooltip-border);color:var(--tooltip-text);background-color:var(--tooltip-color);opacity:0.95;z-index:100;}:host(.bk-non-interactive){pointer-events:none;}.bk-tooltip-content > div:not(:first-child){margin-top:5px;border-top:var(--tooltip-border) 1px dashed;}:host(.bk-left.bk-tooltip-arrow) .bk-tooltip-content::before{position:absolute;margin:calc(-1*var(--tooltip-arrow-half-height)) 0 0 0;top:50%;width:0;height:0;border-style:solid;border-width:var(--tooltip-arrow-half-height) 0 var(--tooltip-arrow-half-height) 0;border-color:transparent;content:\" \";display:block;left:calc(-1*var(--tooltip-arrow-width));border-right-width:var(--tooltip-arrow-width);border-right-color:var(--tooltip-arrow-color);}:host(.bk-left) .bk-tooltip-content::before{left:calc(-1*var(--tooltip-arrow-width));border-right-width:var(--tooltip-arrow-width);border-right-color:var(--tooltip-arrow-color);}:host(.bk-right.bk-tooltip-arrow) .bk-tooltip-content::after{position:absolute;margin:calc(-1*var(--tooltip-arrow-half-height)) 0 0 0;top:50%;width:0;height:0;border-style:solid;border-width:var(--tooltip-arrow-half-height) 0 var(--tooltip-arrow-half-height) 0;border-color:transparent;content:\" \";display:block;right:calc(-1*var(--tooltip-arrow-width));border-left-width:var(--tooltip-arrow-width);border-left-color:var(--tooltip-arrow-color);}:host(.bk-right) .bk-tooltip-content::after{right:calc(-1*var(--tooltip-arrow-width));border-left-width:var(--tooltip-arrow-width);border-left-color:var(--tooltip-arrow-color);}:host(.bk-above) .bk-tooltip-content::before{position:absolute;margin:0 0 0 calc(-1*var(--tooltip-arrow-half-width));left:50%;width:0;height:0;border-style:solid;border-width:0 var(--tooltip-arrow-half-width) 0 var(--tooltip-arrow-half-width);border-color:transparent;content:\" \";display:block;top:calc(-1*var(--tooltip-arrow-height));border-bottom-width:var(--tooltip-arrow-height);border-bottom-color:var(--tooltip-arrow-color);}:host(.bk-below) .bk-tooltip-content::after{position:absolute;margin:0 0 0 calc(-1*var(--tooltip-arrow-half-width));left:50%;width:0;height:0;border-style:solid;border-width:0 var(--tooltip-arrow-half-width) 0 var(--tooltip-arrow-half-width);border-color:transparent;content:\" \";display:block;bottom:calc(-1*var(--tooltip-arrow-height));border-top-width:var(--tooltip-arrow-height);border-top-color:var(--tooltip-arrow-color);}.bk-tooltip-row-label{text-align:right;color:#26aae1;}.bk-tooltip-row-value{color:none;}.bk-tooltip-color-block{width:12px;height:12px;margin-left:5px;margin-right:5px;outline:#dddddd solid 1px;display:inline-block;}.bk-close{position:absolute;top:2px;right:2px;width:12px;height:12px;cursor:pointer;background-color:gray;mask-image:var(--bokeh-icon-x);mask-size:contain;mask-repeat:no-repeat;-webkit-mask-image:var(--bokeh-icon-x);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;}.bk-close:hover{background-color:red;}'},\n", + " function _(o,t,r,n,l){n();const _=o(1);_.__exportStar(o(452),r),_.__exportStar(o(466),r),_.__exportStar(o(476),r),_.__exportStar(o(488),r),l(\"Tool\",o(264).Tool),l(\"ToolProxy\",o(265).ToolProxy),l(\"Toolbar\",o(256).Toolbar),l(\"ToolButton\",o(266).ToolButton),l(\"OnOffButton\",o(272).OnOffButton),l(\"ClickButton\",o(275).ClickButton)},\n", + " function _(o,l,T,e,n){e(),n(\"ActionTool\",o(274).ActionTool),n(\"CopyTool\",o(453).CopyTool),n(\"CustomAction\",o(454).CustomAction),n(\"FullscreenTool\",o(455).FullscreenTool),n(\"HelpTool\",o(276).HelpTool),n(\"ExamineTool\",o(456).ExamineTool),n(\"RedoTool\",o(457).RedoTool),n(\"ResetTool\",o(459).ResetTool),n(\"SaveTool\",o(460).SaveTool),n(\"UndoTool\",o(461).UndoTool),n(\"ZoomInTool\",o(462).ZoomInTool),n(\"ZoomOutTool\",o(465).ZoomOutTool)},\n", + " function _(o,t,e,i,a){var n;i();const c=o(274),p=o(269);class s extends c.ActionToolView{async copy(){const o=await this.parent.export().to_blob(),t=new ClipboardItem({[o.type]:o});await navigator.clipboard.write([t])}doit(){this.copy()}}e.CopyToolView=s,s.__name__=\"CopyToolView\";class l extends c.ActionTool{constructor(o){super(o),this.tool_name=\"Copy\",this.tool_icon=p.tool_icon_copy}}e.CopyTool=l,n=l,l.__name__=\"CopyTool\",n.prototype.default_view=s,n.register_alias(\"copy\",(()=>new l))},\n", + " function _(o,t,n,e,i){var c;e();const l=o(1),s=o(274),_=l.__importStar(o(269));class a extends s.ActionToolView{doit(){var o;null===(o=this.model.callback)||void 0===o||o.execute(this.model)}}n.CustomActionView=a,a.__name__=\"CustomActionView\";class u extends s.ActionTool{constructor(o){super(o),this.tool_name=\"Custom Action\",this.tool_icon=_.tool_icon_unknown}}n.CustomAction=u,c=u,u.__name__=\"CustomAction\",c.prototype.default_view=a,c.define((({Any:o,Nullable:t})=>({callback:[t(o),null]}))),c.override({description:\"Perform a Custom Action\"})},\n", + " function _(e,l,o,t,n){var s;t();const c=e(1),r=e(274),u=c.__importStar(e(269)),i=void 0!==Element.prototype.webkitRequestFullscreen?(e,l)=>e.webkitRequestFullscreen(l):(e,l)=>e.requestFullscreen(l);class _ extends r.ActionToolView{doit(){null!=document.fullscreenElement?document.exitFullscreen():(async()=>{await i(this.parent.el)})()}}o.FullscreenToolView=_,_.__name__=\"FullscreenToolView\";class a extends r.ActionTool{constructor(e){super(e),this.tool_name=\"Fullscreen\",this.tool_icon=u.tool_icon_fullscreen}}o.FullscreenTool=a,s=a,a.__name__=\"FullscreenTool\",s.prototype.default_view=_,s.register_alias(\"fullscreen\",(()=>new a))},\n", + " function _(i,e,o,t,a){var n;t();const l=i(1),s=i(274),_=l.__importStar(i(269)),r=i(441),c=i(445),d=i(59);class m extends s.ActionToolView{*children(){yield*super.children(),yield this._dialog}async lazy_initialize(){await super.lazy_initialize();const i=new r.Dialog({content:new c.Examiner({target:this.parent.model}),closable:!0,visible:!1});this._dialog=await(0,d.build_view)(i,{parent:this.parent})}doit(){this._dialog.model.visible=!0}}o.ExamineToolView=m,m.__name__=\"ExamineToolView\";class w extends s.ActionTool{constructor(i){super(i),this.tool_name=\"Examine\",this.tool_icon=_.tool_icon_settings}}o.ExamineTool=w,n=w,w.__name__=\"ExamineTool\",n.prototype.default_view=m,n.register_alias(\"examine\",(()=>new w))},\n", + " function _(o,e,t,i,s){var n;i();const l=o(458),_=o(269);class d extends l.PlotActionToolView{connect_signals(){super.connect_signals(),this.connect(this.plot_view.state.changed,(()=>this.model.disabled=!this.plot_view.state.can_redo))}doit(){const o=this.plot_view.state.redo();null!=(null==o?void 0:o.range)&&this.plot_view.trigger_ranges_update_event()}}t.RedoToolView=d,d.__name__=\"RedoToolView\";class a extends l.PlotActionTool{constructor(o){super(o),this.tool_name=\"Redo\",this.tool_icon=_.tool_icon_redo}}t.RedoTool=a,n=a,a.__name__=\"RedoTool\",n.prototype.default_view=d,n.override({disabled:!0}),n.register_alias(\"redo\",(()=>new a))},\n", + " function _(o,t,n,e,l){e();const c=o(274);class i extends c.ActionToolView{get plot_view(){return this.parent}}n.PlotActionToolView=i,i.__name__=\"PlotActionToolView\";class s extends c.ActionTool{constructor(o){super(o)}}n.PlotActionTool=s,s.__name__=\"PlotActionTool\"},\n", + " function _(e,o,t,s,i){var l;s();const _=e(458),n=e(269);class c extends _.PlotActionToolView{doit(){this.plot_view.reset()}}t.ResetToolView=c,c.__name__=\"ResetToolView\";class r extends _.PlotActionTool{constructor(e){super(e),this.tool_name=\"Reset\",this.tool_icon=n.tool_icon_reset}}t.ResetTool=r,l=r,r.__name__=\"ResetTool\",l.prototype.default_view=c,l.register_alias(\"reset\",(()=>new r))},\n", + " function _(e,o,t,a,n){var i;a();const l=e(274),s=e(269);class c extends l.ActionToolView{async copy(){const e=await this.parent.export().to_blob(),o=new ClipboardItem({[e.type]:e});await navigator.clipboard.write([o])}async save(e){const o=await this.parent.export().to_blob(),t=document.createElement(\"a\");t.href=URL.createObjectURL(o),t.download=e,t.target=\"_blank\",t.dispatchEvent(new MouseEvent(\"click\"))}doit(e=\"save\"){var o;switch(e){case\"save\":{const e=null!==(o=this.model.filename)&&void 0!==o?o:prompt(\"Enter filename\",\"bokeh_plot\");null!=e&&this.save(e);break}case\"copy\":this.copy()}}}t.SaveToolView=c,c.__name__=\"SaveToolView\";class r extends l.ActionTool{constructor(e){super(e),this.tool_name=\"Save\",this.tool_icon=s.tool_icon_save}get menu(){return[{icon:\"bk-tool-icon-copy\",tooltip:\"Copy image to clipboard\",if:()=>\"undefined\"!=typeof ClipboardItem,handler:()=>{this.do.emit(\"copy\")}}]}}t.SaveTool=r,i=r,r.__name__=\"SaveTool\",i.prototype.default_view=c,i.define((({String:e,Nullable:o})=>({filename:[o(e),null]}))),i.register_alias(\"save\",(()=>new r))},\n", + " function _(o,t,e,n,i){var s;n();const l=o(458),_=o(269);class d extends l.PlotActionToolView{connect_signals(){super.connect_signals(),this.connect(this.plot_view.state.changed,(()=>this.model.disabled=!this.plot_view.state.can_undo))}doit(){const o=this.plot_view.state.undo();null!=(null==o?void 0:o.range)&&this.plot_view.trigger_ranges_update_event()}}e.UndoToolView=d,d.__name__=\"UndoToolView\";class a extends l.PlotActionTool{constructor(o){super(o),this.tool_name=\"Undo\",this.tool_icon=_.tool_icon_undo}}e.UndoTool=a,s=a,a.__name__=\"UndoTool\",s.prototype.default_view=d,s.override({disabled:!0}),s.register_alias(\"undo\",(()=>new a))},\n", + " function _(o,n,e,i,s){var t;i();const _=o(463),a=o(269);class m extends _.ZoomBaseToolView{}e.ZoomInToolView=m,m.__name__=\"ZoomInToolView\";class l extends _.ZoomBaseTool{constructor(o){super(o),this.maintain_focus=!0,this.tool_name=\"Zoom In\",this.tool_icon=a.tool_icon_zoom_in}get_factor(){return this.factor}}e.ZoomInTool=l,t=l,l.__name__=\"ZoomInTool\",t.prototype.default_view=m,t.register_alias(\"zoom_in\",(()=>new l({dimensions:\"both\"}))),t.register_alias(\"xzoom_in\",(()=>new l({dimensions:\"width\"}))),t.register_alias(\"yzoom_in\",(()=>new l({dimensions:\"height\"})))},\n", + " function _(o,t,e,i,s){var n;i();const a=o(458),l=o(19),_=o(464);class m extends a.PlotActionToolView{doit(){var o;const t=this.plot_view.frame,e=this.model.dimensions,i=\"width\"==e||\"both\"==e,s=\"height\"==e||\"both\"==e,n=this.model.get_factor(),a=(0,_.scale_range)(t,n,i,s);this.plot_view.state.push(\"zoom_out\",{range:a}),this.plot_view.update_range(a,{scrolling:!0,maintain_focus:this.model.maintain_focus}),null===(o=this.model.document)||void 0===o||o.interactive_start(this.plot_view.model),this.plot_view.trigger_ranges_update_event()}}e.ZoomBaseToolView=m,m.__name__=\"ZoomBaseToolView\";class r extends a.PlotActionTool{constructor(o){super(o)}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}e.ZoomBaseTool=r,n=r,r.__name__=\"ZoomBaseTool\",n.define((({Percent:o})=>({factor:[o,.1],dimensions:[l.Dimensions,\"both\"]})))},\n", + " function _(n,t,o,r,e){function s(n,t,o){const[r,e]=[n.start,n.end],s=null!=o?o:(e+r)/2;return[r-(r-s)*t,e-(e-s)*t]}function c(n,[t,o]){const r=new Map;for(const[e,s]of n){const[n,c]=s.r_invert(t,o);r.set(e,{start:n,end:c})}return r}r(),o.scale_highlow=s,o.get_info=c,o.scale_range=function(n,t,o=!0,r=!0,e){const a=o?t:0,[l,u]=s(n.bbox.h_range,a,null!=e?e.x:void 0),i=c(n.x_scales,[l,u]),_=r?t:0,[f,g]=s(n.bbox.v_range,_,null!=e?e.y:void 0);return{xrs:i,yrs:c(n.y_scales,[f,g]),factor:t}}},\n", + " function _(o,t,e,i,s){var n;i();const _=o(463),a=o(269);class m extends _.ZoomBaseToolView{}e.ZoomOutToolView=m,m.__name__=\"ZoomOutToolView\";class l extends _.ZoomBaseTool{constructor(o){super(o),this.tool_name=\"Zoom Out\",this.tool_icon=a.tool_icon_zoom_out}get_factor(){return-this.factor/(1-this.factor)}}e.ZoomOutTool=l,n=l,l.__name__=\"ZoomOutTool\",n.prototype.default_view=m,n.define((({Boolean:o})=>({maintain_focus:[o,!0]}))),n.register_alias(\"zoom_out\",(()=>new l({dimensions:\"both\"}))),n.register_alias(\"xzoom_out\",(()=>new l({dimensions:\"width\"}))),n.register_alias(\"yzoom_out\",(()=>new l({dimensions:\"height\"})))},\n", + " function _(o,l,T,i,t){i(),t(\"EditTool\",o(467).EditTool),t(\"BoxEditTool\",o(468).BoxEditTool),t(\"FreehandDrawTool\",o(469).FreehandDrawTool),t(\"LineEditTool\",o(470).LineEditTool),t(\"PointDrawTool\",o(472).PointDrawTool),t(\"PolyDrawTool\",o(473).PolyDrawTool),t(\"PolyTool\",o(474).PolyTool),t(\"PolyEditTool\",o(475).PolyEditTool)},\n", + " function _(e,t,s,o,n){var r;o();const i=e(10),_=e(8),c=e(12),a=e(199),l=e(271);class d extends l.GestureToolView{constructor(){super(...arguments),this._mouse_in_frame=!0}_select_mode(e){const{shift_key:t,ctrl_key:s}=e;return t||s?t&&!s?\"append\":!t&&s?\"intersect\":t&&s?\"subtract\":void(0,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({empty_value:[e,0],renderers:[t(s(a.GlyphRenderer)),[]]})))},\n", + " function _(e,t,s,i,_){var o;i();const n=e(19),a=e(467),d=e(269);class r 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(\"Backspace\"==e.key)this._delete_selected(t);else if(\"Escape\"==e.key){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,r=n.data_source,[l,h]=a.coordinates.x_scale.r_invert(e,t),[p,u]=a.coordinates.y_scale.r_invert(s,i),[c,m]=[(l+h)/2,(p+u)/2],[f,b]=[h-l,u-p],[x,y]=[d.x.field,d.y.field],[w,v]=[d.width.field,d.height.field];if(_)this._pop_glyphs(r,this.model.num_objects),x&&r.get_array(x).push(c),y&&r.get_array(y).push(m),w&&r.get_array(w).push(f),v&&r.get_array(v).push(b),this._pad_empty_columns(r,[x,y,w,v]);else{const e=r.data[x].length-1;x&&(r.data[x][e]=c),y&&(r.data[y][e]=m),w&&(r.data[w][e]=f),v&&(r.data[v][e]=b)}this._emit_cds_changes(r,!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,a]=this.model._get_dim_limits(this._draw_basepoint,i,_,o);this._set_extent(n,a,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.shift_key){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.shift_key){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.shift_key)this._draw_basepoint=null;else{this._basepoint=null;for(const e of this.model.renderers)this._emit_cds_changes(e.data_source,!1,!0,!0)}}}s.BoxEditToolView=r,r.__name__=\"BoxEditToolView\";class l extends a.EditTool{constructor(e){super(e),this.tool_name=\"Box Edit Tool\",this.tool_icon=d.tool_icon_box_edit,this.event_type=[\"tap\",\"pan\",\"move\"],this.default_order=1}}s.BoxEditTool=l,o=l,l.__name__=\"BoxEditTool\",o.prototype.default_view=r,o.define((({Int:e})=>({dimensions:[n.Dimensions,\"both\"],num_objects:[e,0]})))},\n", + " function _(e,t,a,s,r){var _;s();const o=e(8),d=e(467),n=e(269);class i extends d.EditToolView{_draw(e,t,a=!1){if(!this.model.active)return;const s=this.model.renderers[0],r=this._map_drag(e.sx,e.sy,s);if(null==r)return;const[_,d]=r,n=s.data_source,i=s.glyph,[l,h]=[i.xs.field,i.ys.field];if(\"new\"==t)this._pop_glyphs(n,this.model.num_objects),l&&n.get_array(l).push([_]),h&&n.get_array(h).push([d]),this._pad_empty_columns(n,[l,h]);else if(\"add\"==t){if(l){const e=n.data[l].length-1;let t=n.get_array(l)[e];(0,o.isArray)(t)||(t=Array.from(t),n.data[l][e]=t),t.push(_)}if(h){const e=n.data[h].length-1;let t=n.get_array(h)[e];(0,o.isArray)(t)||(t=Array.from(t),n.data[h][e]=t),t.push(d)}}this._emit_cds_changes(n,!0,!0,a)}_pan_start(e){this._draw(e,\"new\")}_pan(e){this._draw(e,\"add\")}_pan_end(e){this._draw(e,\"add\",!0)}_tap(e){this._select_event(e,this._select_mode(e),this.model.renderers)}_keyup(e){if(this.model.active&&this._mouse_in_frame)for(const t of this.model.renderers)\"Escape\"==e.key?t.data_source.selection_manager.clear():\"Backspace\"==e.key&&this._delete_selected(t)}}a.FreehandDrawToolView=i,i.__name__=\"FreehandDrawToolView\";class l extends d.EditTool{constructor(e){super(e),this.tool_name=\"Freehand Draw Tool\",this.tool_icon=n.tool_icon_freehand_draw,this.event_type=[\"pan\",\"tap\"],this.default_order=3}}a.FreehandDrawTool=l,_=l,l.__name__=\"FreehandDrawTool\",_.prototype.default_view=i,_.define((({Int:e})=>({num_objects:[e,0]}))),_.register_alias(\"freehand_draw\",(()=>new l))},\n", + " function _(e,t,s,i,n){var r;i();const _=e(19),d=e(471),o=e(269);class l extends d.LineToolView{constructor(){super(...arguments),this._drawing=!1}_doubletap(e){if(!this.model.active)return;const t=this.model.renderers;for(const s of t){1==this._select_event(e,\"replace\",[s]).length&&(this._selected_renderer=s)}this._show_intersections(),this._update_line_cds()}_show_intersections(){if(!this.model.active)return;if(null==this._selected_renderer)return;if(0==this.model.renderers.length)return this._set_intersection([],[]),this._selected_renderer=null,void(this._drawing=!1);const e=this._selected_renderer.data_source,t=this._selected_renderer.glyph,[s,i]=[t.x.field,t.y.field],n=e.get_array(s),r=e.get_array(i);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&&null!=this._selected_renderer){const s=this._select_mode(e);if(0==this._select_event(e,s,[t]).length)return}const s=this._select_mode(e);this._select_event(e,s,[t]),this._select_event(e,s,this.model.renderers)}_update_line_cds(){if(null==this._selected_renderer)return;const e=this.model.intersection_renderer.glyph,t=this.model.intersection_renderer.data_source,[s,i]=[e.x.field,e.y.field];if(s&&i){const e=t.data[s],n=t.data[i];this._selected_renderer.data_source.data[s]=e,this._selected_renderer.data_source.data[i]=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),null!=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),null!=this._selected_renderer&&this._emit_cds_changes(this._selected_renderer.data_source),this._basepoint=null)}activate(){this._drawing=!0}deactivate(){null!=this._selected_renderer&&(this._drawing&&(this._drawing=!1),this._hide_intersections())}}s.LineEditToolView=l,l.__name__=\"LineEditToolView\";class h extends d.LineTool{constructor(e){super(e),this.tool_name=\"Line Edit Tool\",this.tool_icon=o.tool_icon_line_edit,this.event_type=[\"tap\",\"pan\",\"move\"],this.default_order=4}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}s.LineEditTool=h,r=h,h.__name__=\"LineEditTool\",r.prototype.default_view=l,r.define((()=>({dimensions:[_.Dimensions,\"both\"]})))},\n", + " function _(e,i,n,t,s){var o;t();const r=e(8),_=e(467);class d extends _.EditToolView{_set_intersection(e,i){const n=this.model.intersection_renderer.glyph,t=this.model.intersection_renderer.data_source,[s,o]=[n.x.field,n.y.field];s&&((0,r.isArray)(e)?t.data[s]=e:n.x={value:e}),o&&((0,r.isArray)(i)?t.data[o]=i:n.y={value:i}),this._emit_cds_changes(t,!0,!0,!1)}_hide_intersections(){this._set_intersection([],[])}}n.LineToolView=d,d.__name__=\"LineToolView\";class a extends _.EditTool{constructor(e){super(e)}}n.LineTool=a,o=a,a.__name__=\"LineTool\",o.define((({AnyRef:e})=>({intersection_renderer:[e()]})))},\n", + " function _(e,t,s,o,a){var i;o();const _=e(467),n=e(269);class r extends _.EditToolView{_tap(e){if(0!=this._select_event(e,this._select_mode(e),this.model.renderers).length||!this.model.add)return;const t=this.model.renderers[0],s=this._map_drag(e.sx,e.sy,t);if(null==s)return;const o=t.glyph,a=t.data_source,[i,_]=[o.x.field,o.y.field],[n,r]=s;this._pop_glyphs(a,this.model.num_objects),i&&a.get_array(i).push(n),_&&a.get_array(_).push(r),this._pad_empty_columns(a,[i,_]);const{data:d}=a;a.setv({data:d},{check_eq:!1})}_keyup(e){if(this.model.active&&this._mouse_in_frame)for(const t of this.model.renderers)\"Backspace\"==e.key?this._delete_selected(t):\"Escape\"==e.key&&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 _.EditTool{constructor(e){super(e),this.tool_name=\"Point Draw Tool\",this.tool_icon=n.tool_icon_point_draw,this.event_type=[\"tap\",\"pan\",\"move\"],this.default_order=2}}s.PointDrawTool=d,i=d,d.__name__=\"PointDrawTool\",i.prototype.default_view=r,i.define((({Boolean:e,Int:t})=>({add:[e,!0],drag:[e,!0],num_objects:[t,0]})))},\n", + " function _(e,t,s,i,a){var r;i();const o=e(8),n=e(474),_=e(269);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[r,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([r,r]),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]=r}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]=r,(0,o.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,(0,o.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;sthis._show_vertices()))}this._initialized=!0}}deactivate(){this._drawing&&(this._remove(),this._drawing=!1),null!=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.tool_icon=_.tool_icon_poly_draw,this.event_type=[\"pan\",\"tap\",\"move\"],this.default_order=3}}s.PolyDrawTool=l,r=l,l.__name__=\"PolyDrawTool\",r.prototype.default_view=d,r.define((({Boolean:e,Int:t})=>({drag:[e,!0],num_objects:[t,0]})))},\n", + " function _(e,t,r,l,s){var o;l();const _=e(8),i=e(12),n=e(467);class d extends n.EditToolView{_set_vertices(e,t){const{vertex_renderer:r}=this.model;(0,i.assert)(null!=r);const l=r.glyph,s=r.data_source,[o,n]=[l.x.field,l.y.field];o&&((0,_.isArray)(e)?s.data[o]=e:l.x={value:e}),n&&((0,_.isArray)(t)?s.data[n]=t:l.y={value:t}),this._emit_cds_changes(s,!0,!0,!1)}_hide_vertices(){this._set_vertices([],[])}_snap_to_vertex(e,t,r){if(null!=this.model.vertex_renderer){const l=this._select_event(e,\"replace\",[this.model.vertex_renderer]),s=this.model.vertex_renderer.data_source,o=this.model.vertex_renderer.glyph,[_,i]=[o.x.field,o.y.field];if(0!=l.length){const e=s.selected.indices[0];_&&(t=s.data[_][e]),i&&(r=s.data[i][e]),s.selection_manager.clear()}}return[t,r]}}r.PolyToolView=d,d.__name__=\"PolyToolView\";class a extends n.EditTool{constructor(e){super(e)}}r.PolyTool=a,o=a,a.__name__=\"PolyTool\",o.define((({AnyRef:e,Nullable:t})=>({vertex_renderer:[t(e()),null]})))},\n", + " function _(e,t,r,s,i){var _;s();const n=e(8),d=e(474),l=e(269);class a extends d.PolyToolView{constructor(){super(...arguments),this._drawing=!1,this._cur_index=null}_doubletap(e){if(null==this.model.vertex_renderer||!this.model.active)return;const t=this._map_drag(e.sx,e.sy,this.model.vertex_renderer);if(null==t)return;const[r,s]=t,i=this._select_event(e,\"replace\",[this.model.vertex_renderer]),_=this.model.vertex_renderer.data_source,n=this.model.vertex_renderer.glyph,[d,l]=[n.x.field,n.y.field];if(0!=i.length&&null!=this._selected_renderer){const e=_.selected.indices[0];this._drawing?(this._drawing=!1,_.selection_manager.clear()):(_.selected.indices=[e+1],d&&_.get_array(d).splice(e+1,0,r),l&&_.get_array(l).splice(e+1,0,s),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;if(0==this.model.renderers.length)return;const t=this.model.renderers[0],r=()=>this._update_vertices(t),s=t.data_source,i=this._select_event(e,\"replace\",this.model.renderers);if(0==i.length)return this._set_vertices([],[]),this._selected_renderer=null,this._drawing=!1,this._cur_index=null,void s.disconnect(s.properties.data.change,r);s.connect(s.properties.data.change,r),this._cur_index=i[0].data_source.selected.indices[0],this._update_vertices(i[0])}_update_vertices(e){const t=e.glyph,r=e.data_source,s=this._cur_index,[i,_]=[t.xs.field,t.ys.field];if(this._drawing)return;if(null==s&&(i||_))return;let d,l;i&&null!=s?(d=r.data[i][s],(0,n.isArray)(d)||(r.data[i][s]=d=Array.from(d))):d=t.xs.value,_&&null!=s?(l=r.data[_][s],(0,n.isArray)(l)||(r.data[_][s]=l=Array.from(l))):l=t.ys.value,this._selected_renderer=e,this._set_vertices(d,l)}_move(e){if(this._drawing&&null!=this._selected_renderer){const t=this.model.vertex_renderer;if(null==t)return;const r=t.data_source,s=t.glyph,i=this._map_drag(e.sx,e.sy,t);if(null==i)return;let[_,n]=i;const d=r.selected.indices;[_,n]=this._snap_to_vertex(e,_,n),r.selected.indices=d;const[l,a]=[s.x.field,s.y.field],c=d[0];l&&(r.data[l][c]=_),a&&(r.data[a][c]=n),r.change.emit(),this._selected_renderer.data_source.change.emit()}}_tap(e){const t=this.model.vertex_renderer;if(null==t)return;const r=this._map_drag(e.sx,e.sy,t);if(null==r)return;if(this._drawing&&null!=this._selected_renderer){let[s,i]=r;const _=t.data_source,n=t.glyph,[d,l]=[n.x.field,n.y.field],a=_.selected.indices;[s,i]=this._snap_to_vertex(e,s,i);const c=a[0];if(_.selected.indices=[c+1],d){const e=_.get_array(d),t=e[c];e[c]=s,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 s=this._select_mode(e);this._select_event(e,s,[t]),this._select_event(e,s,this.model.renderers)}_remove_vertex(){if(!this._drawing||null==this._selected_renderer)return;const e=this.model.vertex_renderer;if(null==e)return;const t=e.data_source,r=e.glyph,s=t.selected.indices[0],[i,_]=[r.x.field,r.y.field];i&&t.get_array(i).splice(s,1),_&&t.get_array(_).splice(s,1),t.change.emit(),this._emit_cds_changes(this._selected_renderer.data_source)}_pan_start(e){null!=this.model.vertex_renderer&&(this._select_event(e,\"append\",[this.model.vertex_renderer]),this._basepoint=[e.sx,e.sy])}_pan(e){null!=this._basepoint&&null!=this.model.vertex_renderer&&(this._drag_points(e,[this.model.vertex_renderer]),null!=this._selected_renderer&&this._selected_renderer.data_source.change.emit())}_pan_end(e){null!=this._basepoint&&null!=this.model.vertex_renderer&&(this._drag_points(e,[this.model.vertex_renderer]),this._emit_cds_changes(this.model.vertex_renderer.data_source,!1,!0,!0),null!=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;if(null!=this._selected_renderer){const{vertex_renderer:e}=this.model;t=null!=e?[e]:[]}else t=this.model.renderers;for(const r of t)\"Backspace\"==e.key?(this._delete_selected(r),null!=this._selected_renderer&&this._emit_cds_changes(this._selected_renderer.data_source)):\"Escape\"==e.key&&(this._drawing?(this._remove_vertex(),this._drawing=!1):null!=this._selected_renderer&&this._hide_vertices(),r.data_source.selection_manager.clear())}deactivate(){null!=this._selected_renderer&&(this._drawing&&(this._remove_vertex(),this._drawing=!1),this._hide_vertices())}}r.PolyEditToolView=a,a.__name__=\"PolyEditToolView\";class c extends d.PolyTool{constructor(e){super(e),this.tool_name=\"Poly Edit Tool\",this.tool_icon=l.tool_icon_poly_edit,this.event_type=[\"tap\",\"pan\",\"move\"],this.default_order=4}}r.PolyEditTool=c,_=c,c.__name__=\"PolyEditTool\",_.prototype.default_view=a},\n", + " function _(o,l,e,T,t){T(),t(\"BoxSelectTool\",o(477).BoxSelectTool),t(\"BoxZoomTool\",o(480).BoxZoomTool),t(\"GestureTool\",o(271).GestureTool),t(\"LassoSelectTool\",o(481).LassoSelectTool),t(\"PanTool\",o(483).PanTool),t(\"PolySelectTool\",o(482).PolySelectTool),t(\"RangeTool\",o(484).RangeTool),t(\"SelectTool\",o(479).SelectTool),t(\"TapTool\",o(485).TapTool),t(\"WheelPanTool\",o(486).WheelPanTool),t(\"WheelZoomTool\",o(487).WheelZoomTool)},\n", + " function _(t,e,i,o,s){var l;o();const n=t(1),_=t(478),r=t(232),c=t(19),a=n.__importStar(t(269));class h extends _.RegionSelectToolView{connect_signals(){super.connect_signals();const{pan:t}=this.model.overlay;this.connect(t,(([t,e])=>{if(\"pan\"==t&&this._is_continuous(e)||\"pan:end\"==t){const{left:t,top:i,right:o,bottom:s}=this.model.overlay;if(null!=t&&null!=i&&null!=o&&null!=s){const l=this._compute_lrtb({left:t,right:o,top:i,bottom:s});this._do_select([l.left,l.right],[l.top,l.bottom],!1,this._select_mode(e))}}}));const{active:e}=this.model.properties;this.on_change(e,(()=>{this.model.active||this.model.persistent||this._clear_overlay()}))}_compute_limits(t){const e=this.plot_view.frame,i=this.model.dimensions;let o=this._base_point;if(\"center\"==this.model.origin){const[e,i]=o,[s,l]=t;o=[e-(s-e),i-(l-i)]}return this.model._get_dim_limits(o,t,e,i)}_mappers(){const t=(t,e,i,o)=>{switch(t){case\"canvas\":return o;case\"screen\":return i;case\"data\":return e}},{overlay:e}=this.model,{frame:i,canvas:o}=this.plot_view,{x_scale:s,y_scale:l}=i,{x_view:n,y_view:_}=i.bbox,{x_screen:r,y_screen:c}=o.bbox;return{left:t(e.left_units,s,n,r),right:t(e.right_units,s,n,r),top:t(e.top_units,l,_,c),bottom:t(e.bottom_units,l,_,c)}}_compute_lrtb({left:t,right:e,top:i,bottom:o}){const s=this._mappers();return{left:s.left.compute(t),right:s.right.compute(e),top:s.top.compute(i),bottom:s.bottom.compute(o)}}_invert_lrtb({left:t,right:e,top:i,bottom:o}){const s=this._mappers();return{left:s.left.invert(t),right:s.right.invert(e),top:s.top.invert(i),bottom:s.bottom.invert(o)}}_pan_start(t){const{sx:e,sy:i}=t,{frame:o}=this.plot_view;o.bbox.contains(e,i)&&(this._clear_other_overlays(),this._base_point=[e,i])}_pan(t){if(null==this._base_point)return;const{sx:e,sy:i}=t,[o,s]=this._compute_limits([e,i]),[[l,n],[_,r]]=[o,s];this.model.overlay.update(this._invert_lrtb({left:l,right:n,top:_,bottom:r})),this._is_continuous(t)&&this._do_select(o,s,!1,this._select_mode(t))}_pan_end(t){if(null==this._base_point)return;const{sx:e,sy:i}=t,[o,s]=this._compute_limits([e,i]);this._do_select(o,s,!0,this._select_mode(t)),this.model.persistent||this._clear_overlay(),this._base_point=null,this.plot_view.state.push(\"box_select\",{selection:this.plot_view.get_selection()})}get _is_selecting(){return null!=this._base_point}_stop(){this._clear_overlay(),this._base_point=null}_keyup(t){if(this.model.active){if(\"Escape\"==t.key){if(this._is_selecting)return void this._stop();if(this.model.overlay.visible)return void this._clear_overlay()}super._keyup(t)}}_clear_selection(){this.model.overlay.visible?this._clear_overlay():super._clear_selection()}_do_select([t,e],[i,o],s,l=\"replace\"){const n={type:\"rect\",sx0:t,sx1:e,sy0:i,sy1:o};this._select(n,s,l)}}i.BoxSelectToolView=h,h.__name__=\"BoxSelectToolView\";const p=()=>new r.BoxAnnotation({syncable:!1,level:\"overlay\",visible:!1,editable:!0,top_units:\"data\",left_units:\"data\",bottom_units:\"data\",right_units:\"data\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:2,line_dash:[4,4]});class m extends _.RegionSelectTool{constructor(t){super(t),this.tool_name=\"Box Select\",this.event_type=\"pan\",this.default_order=30}initialize(){super.initialize();const[t,e]=(()=>{switch(this.dimensions){case\"width\":return[\"x\",\"x\"];case\"height\":return[\"y\",\"y\"];case\"both\":return[\"all\",\"both\"]}})(),i=\"center\"==this.origin;this.overlay.setv({resizable:t,movable:e,symmetric:i})}get computed_icon(){const t=super.computed_icon;if(null!=t)return t;switch(this.dimensions){case\"both\":return`.${a.tool_icon_box_select}`;case\"width\":return`.${a.tool_icon_x_box_select}`;case\"height\":return`.${a.tool_icon_y_box_select}`}}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}i.BoxSelectTool=m,l=m,m.__name__=\"BoxSelectTool\",l.prototype.default_view=h,l.define((({Ref:t})=>({dimensions:[c.Dimensions,\"both\"],overlay:[t(r.BoxAnnotation),p],origin:[c.BoxOrigin,\"corner\"]}))),l.register_alias(\"box_select\",(()=>new m)),l.register_alias(\"xbox_select\",(()=>new m({dimensions:\"width\"}))),l.register_alias(\"ybox_select\",(()=>new m({dimensions:\"height\"})))},\n", + " function _(e,o,t,s,l){var n;s();const r=e(479);class c extends r.SelectToolView{get overlays(){return[...super.overlays,this.model.overlay]}_is_continuous(e){return this.model.continuous!=e.alt_key}_select(e,o,t){const s=this._computed_renderers_by_data_source();for(const[,l]of s){const s=l[0].get_selection_manager(),n=[];for(const e of l){const o=this.plot_view.renderer_view(e);null!=o&&n.push(o)}s.select(n,e,o,t)}this._emit_selection_event(e,o)}_clear_overlay(){super._clear_overlay(),this.model.overlay.clear()}}t.RegionSelectToolView=c,c.__name__=\"RegionSelectToolView\";class _ extends r.SelectTool{constructor(e){super(e)}}t.RegionSelectTool=_,n=_,_.__name__=\"RegionSelectTool\",n.define((({Boolean:e})=>({continuous:[e,!1],persistent:[e,!1]})))},\n", + " function _(e,t,r,s,o){var n;s();const i=e(271),c=e(199),a=e(409),l=e(200),_=e(95),d=e(19),h=e(52),p=e(15),u=e(12);class v extends i.GestureToolView{connect_signals(){super.connect_signals(),this.model.clear.connect((()=>this._clear_selection()))}get computed_renderers(){const{renderers:e}=this.model,t=this.plot_view.model.data_renderers;return(0,_.compute_renderers)(e,t)}_computed_renderers_by_data_source(){var e;const t=new Map;for(const r of this.computed_renderers){let s;if(r instanceof c.GlyphRenderer)s=r.data_source;else{if(!(r instanceof a.GraphRenderer))continue;s=r.node_renderer.data_source}const o=null!==(e=t.get(s))&&void 0!==e?e:[];t.set(s,[...o,r])}return t}_clear_overlay(){}_clear_other_overlays(){for(const e of this.plot_view.tool_views.values())e instanceof v&&e!=this&&e._clear_overlay()}_clear_selection(){this._clear()}_select_mode(e){const{shift_key:t,ctrl_key:r}=e;return t||r?t&&!r?\"append\":!t&&r?\"intersect\":t&&r?\"subtract\":void(0,u.unreachable)():this.model.mode}_keyup(e){this.model.active&&\"Escape\"==e.key&&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)}_emit_selection_event(e,t=!0){const{x_scale:r,y_scale:s}=this.plot_view.frame,o=(()=>{switch(e.type){case\"point\":{const{sx:t,sy:o}=e,n=r.invert(t),i=s.invert(o);return Object.assign(Object.assign({},e),{x:n,y:i})}case\"span\":{const{sx:t,sy:o}=e,n=r.invert(t),i=s.invert(o);return Object.assign(Object.assign({},e),{x:n,y:i})}case\"rect\":{const{sx0:t,sx1:o,sy0:n,sy1:i}=e,[c,a]=r.r_invert(t,o),[l,_]=s.r_invert(n,i);return Object.assign(Object.assign({},e),{x0:c,y0:l,x1:a,y1:_})}case\"poly\":{const{sx:t,sy:o}=e,n=r.v_invert(t),i=s.v_invert(o);return Object.assign(Object.assign({},e),{x:n,y:i})}}})();this.plot_view.model.trigger_event(new h.SelectionGeometry(o,t))}}r.SelectToolView=v,v.__name__=\"SelectToolView\";class m extends i.GestureTool{constructor(e){super(e)}initialize(){super.initialize(),this.clear=new p.Signal0(this,\"clear\")}get menu(){return[{icon:\"bk-tool-icon-replace-mode\",tooltip:\"Replace the current selection\",active:()=>\"replace\"==this.mode,handler:()=>{this.mode=\"replace\",this.active=!0}},{icon:\"bk-tool-icon-append-mode\",tooltip:\"Append to the current selection (Shift)\",active:()=>\"append\"==this.mode,handler:()=>{this.mode=\"append\",this.active=!0}},{icon:\"bk-tool-icon-intersect-mode\",tooltip:\"Intersect with the current selection (Ctrl)\",active:()=>\"intersect\"==this.mode,handler:()=>{this.mode=\"intersect\",this.active=!0}},{icon:\"bk-tool-icon-subtract-mode\",tooltip:\"Subtract from the current selection (Shift+Ctrl)\",active:()=>\"subtract\"==this.mode,handler:()=>{this.mode=\"subtract\",this.active=!0}},null,{icon:\"bk-tool-icon-clear-selection\",tooltip:\"Clear the current selection and/or selection overlay (Esc)\",handler:()=>{this.clear.emit()}}]}}r.SelectTool=m,n=m,m.__name__=\"SelectTool\",n.define((({Array:e,Ref:t,Or:r,Auto:s})=>({renderers:[r(e(t(l.DataRenderer)),s),\"auto\"],mode:[d.SelectionMode,\"replace\"]})))},\n", + " function _(o,t,e,i,s){var n;i();const a=o(1),_=o(271),r=o(232),l=o(19),h=a.__importStar(o(269));class c extends _.GestureToolView{constructor(){super(...arguments),this._base_point=null}get overlays(){return[...super.overlays,this.model.overlay]}_match_aspect([o,t],[e,i],s){const n=s.bbox.aspect,a=s.bbox.h_range.end,_=s.bbox.h_range.start,r=s.bbox.v_range.end,l=s.bbox.v_range.start;let h=Math.abs(o-e),c=Math.abs(t-i);const m=0==c?0:h/c,[d]=m>=n?[1,m/n]:[n/m,1];let p,u,b,x;return o<=e?(p=o,u=o+h*d,u>a&&(u=a)):(u=o,p=o-h*d,p<_&&(p=_)),h=Math.abs(u-p),t<=i?(x=t,b=t+h/n,b>r&&(b=r)):(b=t,x=t-h/n,x{const{dimensions:e}=this.model;if(\"auto\"==e){const[e,i]=o,[s,n]=t,a=Math.abs(e-s),_=Math.abs(i-n),r=5;return ar?\"height\":a>r&&_new r.BoxAnnotation({syncable:!1,level:\"overlay\",visible:!1,editable:!1,top_units:\"canvas\",left_units:\"canvas\",bottom_units:\"canvas\",right_units:\"canvas\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:2,line_dash:[4,4]});class d extends _.GestureTool{constructor(o){super(o),this.tool_name=\"Box Zoom\",this.event_type=[\"pan\",\"doubletap\"],this.default_order=20}get event_role(){return\"pan\"}get computed_icon(){const o=super.computed_icon;if(null!=o)return o;switch(this.dimensions){case\"both\":return`.${h.tool_icon_box_zoom}`;case\"width\":return`.${h.tool_icon_x_box_zoom}`;case\"height\":return`.${h.tool_icon_y_box_zoom}`;case\"auto\":return`.${h.tool_icon_auto_box_zoom}`}}get tooltip(){return this._get_dim_tooltip(this.dimensions)}get menu(){return[{icon:h.tool_icon_box_zoom,tooltip:\"Box zoom in both dimensions\",active:()=>\"both\"==this.dimensions,handler:()=>{this.dimensions=\"both\",this.active=!0}},{icon:h.tool_icon_x_box_zoom,tooltip:\"Box zoom in x-dimension\",active:()=>\"width\"==this.dimensions,handler:()=>{this.dimensions=\"width\",this.active=!0}},{icon:h.tool_icon_y_box_zoom,tooltip:\"Box zoom in y-dimension\",active:()=>\"height\"==this.dimensions,handler:()=>{this.dimensions=\"height\",this.active=!0}},{icon:h.tool_icon_auto_box_zoom,tooltip:\"Automatic mode (box zoom in x, y or both dimensions, depending on the mouse gesture)\",active:()=>\"auto\"==this.dimensions,handler:()=>{this.dimensions=\"auto\",this.active=!0}}]}}e.BoxZoomTool=d,n=d,d.__name__=\"BoxZoomTool\",n.prototype.default_view=c,n.define((({Boolean:o,Ref:t,Or:e,Auto:i})=>({dimensions:[e(l.Dimensions,i),\"both\"],overlay:[t(r.BoxAnnotation),m],match_aspect:[o,!1],origin:[l.BoxOrigin,\"corner\"]}))),n.register_alias(\"box_zoom\",(()=>new d({dimensions:\"both\"}))),n.register_alias(\"xbox_zoom\",(()=>new d({dimensions:\"width\"}))),n.register_alias(\"ybox_zoom\",(()=>new d({dimensions:\"height\"}))),n.register_alias(\"auto_box_zoom\",(()=>new d({dimensions:\"auto\"})))},\n", + " function _(e,s,t,o,i){var _;o();const l=e(478),n=e(252),c=e(482),a=e(12),r=e(269);class h extends l.RegionSelectToolView{constructor(){super(...arguments),this._is_selecting=!1}_mappers(){const e=(e,s,t,o)=>{switch(e){case\"canvas\":return o;case\"screen\":return t;case\"data\":return s}},{overlay:s}=this.model,{frame:t,canvas:o}=this.plot_view,{x_scale:i,y_scale:_}=t,{x_view:l,y_view:n}=t.bbox,{x_screen:c,y_screen:a}=o.bbox;return{x:e(s.xs_units,i,l,c),y:e(s.ys_units,_,n,a)}}_v_compute(e,s){const{x:t,y:o}=this._mappers();return[t.v_compute(e),o.v_compute(s)]}_v_invert(e,s){const{x:t,y:o}=this._mappers();return[t.v_invert(e),o.v_invert(s)]}connect_signals(){super.connect_signals();const{pan:e}=this.model.overlay;this.connect(e,(([e,s])=>{if(\"pan\"==e&&this._is_continuous(s)||\"pan:end\"==e){const{xs:e,ys:t}=this.model.overlay,[o,i]=this._v_compute(e,t);this._do_select(o,i,!1,this._select_mode(s))}}));const{active:s}=this.model.properties;this.on_change(s,(()=>{this.model.active||this.model.persistent||this._clear_overlay()}))}_pan_start(e){const{sx:s,sy:t}=e,{frame:o}=this.plot_view;if(!o.bbox.contains(s,t))return;this._clear_other_overlays(),this._is_selecting=!0;const[i,_]=this._v_invert([s],[t]);this.model.overlay.update({xs:i,ys:_})}_pan(e){(0,a.assert)(this._is_selecting);const[s,t]=(()=>{const{xs:e,ys:s}=this.model.overlay,[t,o]=this._v_compute(e,s);return[[...t],[...o]]})(),[o,i]=this.plot_view.frame.bbox.clip(e.sx,e.sy);s.push(o),t.push(i);const[_,l]=this._v_invert(s,t);this.model.overlay.update({xs:_,ys:l}),this._is_continuous(e)&&this._do_select(s,t,!1,this._select_mode(e))}_pan_end(e){(0,a.assert)(this._is_selecting),this._is_selecting=!1;const{xs:s,ys:t}=this.model.overlay,[o,i]=this._v_compute(s,t);this._do_select(o,i,!0,this._select_mode(e)),this.plot_view.state.push(\"lasso_select\",{selection:this.plot_view.get_selection()}),this.model.persistent||this._clear_overlay()}_keyup(e){this.model.active&&(\"Escape\"==e.key&&this.model.overlay.visible?this._clear_overlay():super._keyup(e))}_clear_selection(){this.model.overlay.visible?this._clear_overlay():super._clear_selection()}_do_select(e,s,t,o){const i={type:\"poly\",sx:e,sy:s};this._select(i,t,o)}}t.LassoSelectToolView=h,h.__name__=\"LassoSelectToolView\";class v extends l.RegionSelectTool{constructor(e){super(e),this.tool_name=\"Lasso Select\",this.tool_icon=r.tool_icon_lasso_select,this.event_type=\"pan\",this.default_order=12}}t.LassoSelectTool=v,_=v,v.__name__=\"LassoSelectTool\",_.prototype.default_view=h,_.define((({Ref:e})=>({overlay:[e(n.PolyAnnotation),c.DEFAULT_POLY_OVERLAY]}))),_.override({continuous:!0}),_.register_alias(\"lasso_select\",(()=>new v))},\n", + " function _(e,t,s,i,o){var _;i();const l=e(478),n=e(252),c=e(269);class a extends l.RegionSelectToolView{constructor(){super(...arguments),this._is_selecting=!1}_mappers(){const e=(e,t,s,i)=>{switch(e){case\"canvas\":return i;case\"screen\":return s;case\"data\":return t}},{overlay:t}=this.model,{frame:s,canvas:i}=this.plot_view,{x_scale:o,y_scale:_}=s,{x_view:l,y_view:n}=s.bbox,{x_screen:c,y_screen:a}=i.bbox;return{x:e(t.xs_units,o,l,c),y:e(t.ys_units,_,n,a)}}_v_compute(e,t){const{x:s,y:i}=this._mappers();return[s.v_compute(e),i.v_compute(t)]}_v_invert(e,t){const{x:s,y:i}=this._mappers();return[s.v_invert(e),i.v_invert(t)]}connect_signals(){super.connect_signals();const{pan:e}=this.model.overlay;this.connect(e,(([e,t])=>{if(\"pan\"==e&&this._is_continuous(t)||\"pan:end\"==e&&!this._is_selecting){const{xs:e,ys:s}=this.model.overlay,[i,o]=this._v_compute(e,s);this._do_select(i,o,!1,this._select_mode(t))}}));const{active:t}=this.model.properties;this.on_change(t,(()=>{this.model.active||this.model.persistent||this._clear_overlay()}))}_tap(e){const{sx:t,sy:s}=e,{frame:i}=this.plot_view;if(!i.bbox.contains(t,s))return;this._clear_other_overlays();const[o,_]=(()=>{if(this._is_selecting){const{xs:e,ys:t}=this.model.overlay,[s,i]=this._v_compute(e,t);return[[...s],[...i]]}return this._is_selecting=!0,[[],[]]})();o.push(t),_.push(s);const[l,n]=this._v_invert(o,_);this.model.overlay.update({xs:l,ys:n}),this._is_continuous(e)&&this._do_select(o,_,!0,this._select_mode(e))}_finish_selection(e){this._is_selecting=!1;const{xs:t,ys:s}=this.model.overlay,[i,o]=this._v_compute(t,s);this._do_select(i,o,!0,this._select_mode(e)),this.plot_view.state.push(\"poly_select\",{selection:this.plot_view.get_selection()}),this.model.persistent||this._clear_overlay()}_doubletap(e){this._finish_selection(e)}_keyup(e){this.model.active&&(\"Enter\"!=e.key?\"Escape\"==e.key&&this.model.overlay.visible?this._clear_overlay():super._keyup(e):this._finish_selection(e))}_clear_selection(){this.model.overlay.visible?this._clear_overlay():(this._is_selecting=!1,super._clear_selection())}_clear_overlay(){this._is_selecting=!1,super._clear_overlay()}_do_select(e,t,s,i){const o={type:\"poly\",sx:e,sy:t};this._select(o,s,i)}}s.PolySelectToolView=a,a.__name__=\"PolySelectToolView\";s.DEFAULT_POLY_OVERLAY=()=>new n.PolyAnnotation({syncable:!1,level:\"overlay\",visible:!1,editable:!0,xs_units:\"data\",ys_units:\"data\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:2,line_dash:[4,4]});class r extends l.RegionSelectTool{constructor(e){super(e),this.tool_name=\"Poly Select\",this.tool_icon=c.tool_icon_polygon_select,this.event_type=\"tap\",this.default_order=11}}s.PolySelectTool=r,_=r,r.__name__=\"PolySelectTool\",_.prototype.default_view=a,_.define((({Ref:e})=>({overlay:[e(n.PolyAnnotation),s.DEFAULT_POLY_OVERLAY]}))),_.register_alias(\"poly_select\",(()=>new r))},\n", + " function _(t,i,n,s,e){var o;s();const a=t(1),_=t(271),h=t(19),r=a.__importStar(t(269));function d(t,i,n){const s=new Map;for(const[e,o]of t){const[t,a]=o.r_invert(i,n);s.set(e,{start:t,end:a})}return s}n.update_ranges=d;class l extends _.GestureToolView{_pan_start(t){var i;this.last_dx=0,this.last_dy=0;const{sx:n,sy:s}=t,e=this.plot_view.frame.bbox;if(!e.contains(n,s)){const t=e.h_range,i=e.v_range;(nt.end)&&(this.v_axis_only=!0),(si.end)&&(this.h_axis_only=!0)}null===(i=this.model.document)||void 0===i||i.interactive_start(this.plot_view.model)}_pan(t){var i;this._update(t.dx,t.dy),null===(i=this.model.document)||void 0===i||i.interactive_start(this.plot_view.model)}_pan_end(t){this.h_axis_only=!1,this.v_axis_only=!1,null!=this.pan_info&&this.plot_view.state.push(\"pan\",{range:this.pan_info}),this.plot_view.trigger_ranges_update_event()}_update(t,i){const n=this.plot_view.frame,s=t-this.last_dx,e=i-this.last_dy,o=n.bbox.h_range,a=o.start-s,_=o.end-s,h=n.bbox.v_range,r=h.start-e,l=h.end-e,p=this.model.dimensions;let c,m,u,v,g,x;\"width\"!=p&&\"both\"!=p||this.v_axis_only?(c=o.start,m=o.end,u=0):(c=a,m=_,u=-s),\"height\"!=p&&\"both\"!=p||this.h_axis_only?(v=h.start,g=h.end,x=0):(v=r,g=l,x=-e),this.last_dx=t,this.last_dy=i;const{x_scales:w,y_scales:y}=n,f=d(w,c,m),b=d(y,v,g);this.pan_info={xrs:f,yrs:b,sdx:u,sdy:x},this.plot_view.update_range(this.pan_info,{panning:!0})}}n.PanToolView=l,l.__name__=\"PanToolView\";class p extends _.GestureTool{constructor(t){super(t),this.tool_name=\"Pan\",this.event_type=\"pan\",this.default_order=10}get tooltip(){return this._get_dim_tooltip(this.dimensions)}get computed_icon(){const t=super.computed_icon;if(null!=t)return t;switch(this.dimensions){case\"both\":return`.${r.tool_icon_pan}`;case\"width\":return`.${r.tool_icon_x_pan}`;case\"height\":return`.${r.tool_icon_y_pan}`}}get menu(){return[{icon:r.tool_icon_pan,tooltip:\"Pan in both dimensions\",active:()=>\"both\"==this.dimensions,handler:()=>{this.dimensions=\"both\",this.active=!0}},{icon:r.tool_icon_x_pan,tooltip:\"Pan in x-dimension\",active:()=>\"width\"==this.dimensions,handler:()=>{this.dimensions=\"width\",this.active=!0}},{icon:r.tool_icon_y_pan,tooltip:\"Pan in y-dimension\",active:()=>\"height\"==this.dimensions,handler:()=>{this.dimensions=\"height\",this.active=!0}}]}}n.PanTool=p,o=p,p.__name__=\"PanTool\",o.prototype.default_view=l,o.define((()=>({dimensions:[h.Dimensions,\"both\"]}))),o.register_alias(\"pan\",(()=>new p({dimensions:\"both\"}))),o.register_alias(\"xpan\",(()=>new p({dimensions:\"width\"}))),o.register_alias(\"ypan\",(()=>new p({dimensions:\"height\"})))},\n", + " function _(e,t,n,o,l){var a;o();const i=e(264),r=e(272),s=e(232),_=e(88),h=e(18),g=e(269);class c extends i.ToolView{get overlays(){return[...super.overlays,this.model.overlay]}initialize(){super.initialize(),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())),this.model.overlay.pan.connect((([e,t])=>{\"pan\"==e?this.model.update_ranges_from_overlay():\"pan:end\"==e&&this.parent.trigger_ranges_update_event()}));const{active:e}=this.model.properties;this.on_change(e,(()=>{this.model.overlay.editable=this.model.active}))}}n.RangeToolView=c,c.__name__=\"RangeToolView\";const v=()=>new s.BoxAnnotation({syncable:!1,level:\"overlay\",visible:!0,editable:!0,propagate_hover:!0,fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:.5,line_dash:[2,2]});class y extends i.Tool{constructor(e){super(e),this.tool_name=\"Range Tool\",this.tool_icon=g.tool_icon_range}initialize(){super.initialize(),this.overlay.editable=this.active;const e=null!=this.x_range&&this.x_interaction,t=null!=this.y_range&&this.y_interaction;e&&t?(this.overlay.movable=\"both\",this.overlay.resizable=\"all\"):e?(this.overlay.movable=\"x\",this.overlay.resizable=\"x\"):t?(this.overlay.movable=\"y\",this.overlay.resizable=\"y\"):(this.overlay.movable=\"none\",this.overlay.resizable=\"none\")}update_ranges_from_overlay(){const{left:e,right:t,top:n,bottom:o}=this.overlay;null!=this.x_range&&this.x_interaction&&this.x_range.setv({start:e,end:t}),null!=this.y_range&&this.y_interaction&&this.y_range.setv({start:o,end:n})}update_overlay_from_ranges(){const{x_range:e,y_range:t}=this,n=null!=e,o=null!=t;n||o?this.overlay.update({left:n?e.start:null,right:n?e.end:null,bottom:o?t.start:null,top:o?t.end:null}):(this.overlay.clear(),h.logger.warn(\"RangeTool not configured with any Ranges.\"))}tool_button(){return new r.OnOffButton({tool:this})}}n.RangeTool=y,a=y,y.__name__=\"RangeTool\",a.prototype.default_view=c,a.define((({Boolean:e,Ref:t,Nullable:n})=>({x_range:[n(t(_.Range1d)),null],y_range:[n(t(_.Range1d)),null],x_interaction:[e,!0],y_interaction:[e,!0],overlay:[t(s.BoxAnnotation),v]}))),a.override({active:!0})},\n", + " function _(e,t,s,o,i){var l;o();const a=e(479),n=e(19),c=e(269);class r extends a.SelectToolView{_tap(e){\"tap\"==this.model.gesture&&this._handle_tap(e)}_doubletap(e){\"doubletap\"==this.model.gesture&&this._handle_tap(e)}_handle_tap(e){const{sx:t,sy:s}=e,{frame:o}=this.plot_view;if(!o.bbox.contains(t,s))return;this._clear_other_overlays();const i={type:\"point\",sx:t,sy:s};this._select(i,!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=r,r.__name__=\"TapToolView\";class _ extends a.SelectTool{constructor(e){super(e),this.tool_name=\"Tap\",this.tool_icon=c.tool_icon_tap_select,this.event_type=\"tap\",this.default_order=10}}s.TapTool=_,l=_,_.__name__=\"TapTool\",l.prototype.default_view=r,l.define((({Any:e,Nullable:t})=>({behavior:[n.TapBehavior,\"select\"],gesture:[n.TapGesture,\"tap\"],callback:[t(e),null]}))),l.register_alias(\"click\",(()=>new _({behavior:\"inspect\"}))),l.register_alias(\"tap\",(()=>new _)),l.register_alias(\"doubletap\",(()=>new _({gesture:\"doubletap\"})))},\n", + " function _(e,t,s,i,n){var o;i();const a=e(271),l=e(19),_=e(269),r=e(483);class h extends a.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,_]=[n.start,n.end];let h,d,p,c;switch(this.model.dimension){case\"height\":{const t=Math.abs(_-l);h=o,d=a,p=l-t*e,c=_-t*e;break}case\"width\":{const t=Math.abs(a-o);h=o-t*e,d=a-t*e,p=l,c=_;break}}const{x_scales:w,y_scales:g}=s,u={xrs:(0,r.update_ranges)(w,h,d),yrs:(0,r.update_ranges)(g,p,c),factor:e};this.plot_view.state.push(\"wheel_pan\",{range:u}),this.plot_view.update_range(u,{scrolling:!0}),null===(t=this.model.document)||void 0===t||t.interactive_start(this.plot_view.model,(()=>this.plot_view.trigger_ranges_update_event()))}}s.WheelPanToolView=h,h.__name__=\"WheelPanToolView\";class d extends a.GestureTool{constructor(e){super(e),this.tool_name=\"Wheel Pan\",this.tool_icon=_.tool_icon_wheel_pan,this.event_type=\"scroll\",this.default_order=12}get tooltip(){return this._get_dim_tooltip(this.dimension)}}s.WheelPanTool=d,o=d,d.__name__=\"WheelPanTool\",o.prototype.default_view=h,o.define((()=>({dimension:[l.Dimension,\"width\"]}))),o.internal((({Number:e})=>({speed:[e,.001]}))),o.register_alias(\"xwheel_pan\",(()=>new d({dimension:\"width\"}))),o.register_alias(\"ywheel_pan\",(()=>new d({dimension:\"height\"})))},\n", + " function _(e,o,t,s,i){var l;s();const n=e(271),_=e(464),a=e(19),h=e(26),r=e(269);class m extends n.GestureToolView{_pinch(e){const{sx:o,sy:t,scale:s,shift_key:i,ctrl_key:l,alt_key:n}=e;let _;_=s>=1?20*(s-1):-20/s,this._scroll({type:\"wheel\",sx:o,sy:t,delta:_,shift_key:i,ctrl_key:l,alt_key:n})}_scroll(e){var o;const{frame:t}=this.plot_view,s=t.bbox.h_range,i=t.bbox.v_range,{sx:l,sy:n}=e,a=this.model.dimensions,h=(\"width\"==a||\"both\"==a)&&s.startthis.plot_view.trigger_ranges_update_event()))}}t.WheelZoomToolView=m,m.__name__=\"WheelZoomToolView\";class d extends n.GestureTool{constructor(e){super(e),this.tool_name=\"Wheel Zoom\",this.tool_icon=r.tool_icon_wheel_zoom,this.event_type=h.is_mobile?\"pinch\":\"scroll\",this.default_order=10}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}t.WheelZoomTool=d,l=d,d.__name__=\"WheelZoomTool\",l.prototype.default_view=m,l.define((({Boolean:e,Number:o})=>({dimensions:[a.Dimensions,\"both\"],maintain_focus:[e,!0],zoom_on_axis:[e,!0],speed:[o,1/600]}))),l.register_alias(\"wheel_zoom\",(()=>new d({dimensions:\"both\"}))),l.register_alias(\"xwheel_zoom\",(()=>new d({dimensions:\"width\"}))),l.register_alias(\"ywheel_zoom\",(()=>new d({dimensions:\"height\"})))},\n", + " function _(o,r,s,e,l){e(),l(\"CrosshairTool\",o(489).CrosshairTool),l(\"CustomJSHover\",o(490).CustomJSHover),l(\"HoverTool\",o(491).HoverTool),l(\"InspectTool\",o(273).InspectTool)},\n", + " function _(s,e,i,t,o){var n;t();const a=s(273),r=s(254),l=s(19),_=s(8),h=s(269);class c extends a.InspectToolView{get overlays(){return[...super.overlays,...this._spans]}initialize(){super.initialize(),this._update_overlays()}connect_signals(){super.connect_signals();const{overlay:s,dimensions:e,line_color:i,line_width:t,line_alpha:o}=this.model.properties;this.on_change([s,e,i,t,o],(()=>{this._update_overlays()}))}_update_overlays(){const{overlay:s}=this.model;if(\"auto\"==s){const{dimensions:e,line_color:i,line_alpha:t,line_width:o}=this.model;function n(s){return new r.Span({dimension:s,location_units:\"canvas\",level:\"overlay\",line_color:i,line_width:o,line_alpha:t})}switch(e){case\"width\":this._spans=[n(\"width\")];break;case\"height\":this._spans=[n(\"height\")];break;case\"both\":this._spans=[n(\"width\"),n(\"height\")]}}else(0,_.isArray)(s)?this._spans=[...s]:this._spans=[s]}_move(s){if(!this.model.active)return;const{sx:e,sy:i}=s;this.plot_view.frame.bbox.contains(e,i)?this._update_spans(e,i):this._update_spans(NaN,NaN)}_move_exit(s){this._update_spans(NaN,NaN)}_update_spans(s,e){const{frame:i}=this.plot_view;function t(s,e,t){const{dimension:o}=s;switch(s.location_units){case\"canvas\":return\"width\"==o?t:e;case\"screen\":{const{xview:s,yview:n}=i.bbox;return\"width\"==o?n.invert(t):s.invert(e)}case\"data\":{const{x_scale:s,y_scale:n}=i;return\"width\"==o?n.invert(t):s.invert(e)}}}for(const i of this._spans)i.location=t(i,s,e)}}i.CrosshairToolView=c,c.__name__=\"CrosshairToolView\";class p extends a.InspectTool{constructor(s){super(s),this.tool_name=\"Crosshair\",this.tool_icon=h.tool_icon_crosshair}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}i.CrosshairTool=p,n=p,p.__name__=\"CrosshairTool\",n.prototype.default_view=c,n.define((({Alpha:s,Number:e,Color:i,Auto:t,Tuple:o,Ref:n,Or:a})=>({overlay:[a(t,n(r.Span),o(n(r.Span),n(r.Span))),\"auto\"],dimensions:[l.Dimensions,\"both\"],line_color:[i,\"black\"],line_width:[e,1],line_alpha:[s,1]}))),n.register_alias(\"crosshair\",(()=>new p))},\n", + " function _(e,s,t,r,n){var o;r();const a=e(50),u=e(9),c=e(38);class i extends a.Model{constructor(e){super(e)}get values(){return(0,u.values)(this.args)}_make_code(e,s,t,r){return new Function(...(0,u.keys)(this.args),e,s,t,(0,c.use_strict)(r))}format(e,s,t){return this._make_code(\"value\",\"format\",\"special_vars\",this.code)(...this.values,e,s,t)}}t.CustomJSHover=i,o=i,i.__name__=\"CustomJSHover\",o.define((({Unknown:e,String:s,Dict:t})=>({args:[t(e),{}],code:[s,\"\"]})))},\n", + " function _(e,t,n,s,i){var o;s();const r=e(1),l=e(59),a=e(56),c=e(19),_=r.__importStar(e(210)),d=e(15),p=e(12),u=e(21),h=e(32),m=e(9),y=e(170),f=e(8),v=e(269),x=r.__importStar(e(450)),w=e(448),g=e(492),b=e(212),C=e(329),T=e(201),S=e(333),$=e(211),k=e(214),V=e(200),A=e(199),M=e(409),H=e(95),R=e(490),z=e(273);function G(e,t,n,s){const i={x:n[e],y:s[e]},o={x:n[e+1],y:s[e+1]},{sx:r,sy:l}=t,[a,c]=function(){if(\"span\"==t.type)return\"h\"==t.direction?[Math.abs(i.x-r),Math.abs(o.x-r)]:[Math.abs(i.y-l),Math.abs(o.y-l)];const e={x:r,y:l};return[_.dist_2_pts(i,e),_.dist_2_pts(o,e)]}();return adelete this._template_el)),this.on_change([e,t,n],(async()=>await this._update_ttmodels()))}async _update_ttmodels(){const{ttmodels:e}=this;e.clear();const{tooltips:t}=this.model;if(null==t)return;const{computed_renderers:n}=this;for(const t of n){const n=new w.Tooltip({content:document.createElement(\"div\"),attachment:this.model.attachment,show_arrow:this.model.show_arrow,interactive:!1,visible:!0,position:null,target:this.parent.canvas.overlays_el});t instanceof A.GlyphRenderer?e.set(t,n):t instanceof M.GraphRenderer&&(e.set(t.node_renderer,n),e.set(t.edge_renderer,n))}await(0,l.build_views)(this._ttviews,[...e.values()],{parent:this.plot_view});const s=[...function*(){for(const e of n)e instanceof A.GlyphRenderer?yield e:e instanceof M.GraphRenderer&&(yield e.node_renderer,yield e.edge_renderer)}()],i=this._slots.get(this.update);if(null!=i){const e=new Set(s.map((e=>e.data_source)));d.Signal.disconnect_receiver(this,i,e)}for(const e of s)this.connect(e.data_source.inspect,this.update)}get computed_renderers(){const{renderers:e}=this.model,t=this.plot_view.model.data_renderers;return(0,H.compute_renderers)(e,t)}_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,t,n){var s,i;const o=e.get_selection_manager(),r=o.inspectors.get(e),l=e.view.convert_selection_to_subset(r);if(r.is_empty()&&null==r.view)return void n.clear();const c=o.source,_=this.plot_view.renderer_view(e);if(null==_)return;const{sx:d,sy:u}=t,h=_.coordinates.x_scale,y=_.coordinates.y_scale,f=h.invert(d),v=y.invert(u),{glyph:x}=_,w=[];if(x instanceof $.PatchView){const[t,n]=[d,u],[s,i]=[f,v],o={index:null,glyph_view:x,x:f,y:v,sx:d,sy:u,snap_x:s,snap_y:i,snap_sx:t,snap_sy:n,name:e.name},r=this._render_tooltips(c,o);w.push([t,n,r])}else if(x instanceof k.VAreaView||x instanceof b.HAreaView)for(const t of l.line_indices){const[n,s]=[f,v],[i,o]=[d,u],r={index:t,glyph_view:x,x:f,y:v,sx:d,sy:u,snap_x:n,snap_y:s,snap_sx:i,snap_sy:o,name:e.name,indices:l.line_indices},a=this._render_tooltips(c,r);w.push([i,o,a])}else if(x instanceof T.LineView){const{line_policy:n}=this.model;for(const s of l.line_indices){const[[i,o],[r,a],p]=(()=>{const[e,i]=[x._x,x._y];switch(n){case\"interp\":{const[e,n]=x.get_interpolation_hit(s,t);return[[e,n],[h.compute(e),y.compute(n)],s]}case\"prev\":{const[t,n]=P(x.sx,x.sy,s);return[[e[s+1],i[s+1]],t,n]}case\"next\":{const[t,n]=P(x.sx,x.sy,s+1);return[[e[s+1],i[s+1]],t,n]}case\"nearest\":{const[n,o]=G(s,t,x.sx,x.sy);return[[e[o],i[o]],n,o]}case\"none\":{const e=_.coordinates.x_scale,t=_.coordinates.y_scale;return[[e.invert(d),t.invert(u)],[d,u],s]}}})(),m={index:p,glyph_view:x,x:f,y:v,sx:d,sy:u,snap_x:i,snap_y:o,snap_sx:r,snap_sy:a,name:e.name,indices:l.line_indices},g=this._render_tooltips(c,m);w.push([r,a,g])}}else if(x instanceof C.ImageBaseView)for(const t of r.image_indices){const[n,s]=[d,u],[i,o]=[f,v],r={index:t.index,glyph_view:x,x:f,y:v,sx:d,sy:u,snap_x:i,snap_y:o,snap_sx:n,snap_sy:s,name:e.name,image_index:t},l=this._render_tooltips(c,r);w.push([n,s,l])}else for(const n of l.indices)if(x instanceof S.MultiLineView&&!(0,m.is_empty)(l.multiline_indices)){const{line_policy:s}=this.model;for(const i of l.multiline_indices[n.toString()]){const[[o,r],[a,_],p]=function(){if(\"interp\"==s){const[e,s]=x.get_interpolation_hit(n,i,t);return[[e,s],[h.compute(e),y.compute(s)],i]}const[e,o]=[x._xs.get(n),x._ys.get(n)];if(\"prev\"==s){const[t,s]=P(x.sxs.get(n),x.sys.get(n),i);return[[e[i],o[i]],t,s]}if(\"next\"==s){const[t,s]=P(x.sxs.get(n),x.sys.get(n),i+1);return[[e[i],o[i]],t,s]}if(\"nearest\"==s){const[s,r]=G(i,t,x.sxs.get(n),x.sys.get(n));return[[e[r],o[r]],s,r]}throw new Error(\"shouldn't have happened\")}(),m={index:e.view.convert_indices_from_subset([n])[0],glyph_view:x,x:f,y:v,sx:d,sy:u,snap_x:o,snap_y:r,snap_sx:a,snap_sy:_,name:e.name,indices:l.multiline_indices,segment_index:p},g=this._render_tooltips(c,m);w.push([a,_,g])}}else{const t=null===(s=x._x)||void 0===s?void 0:s[n],o=null===(i=x._y)||void 0===i?void 0:i[n],{point_policy:r,anchor:a}=this.model,[_,p]=function(){if(\"snap_to_data\"==r){const e=x.get_anchor_point(a,n,[d,u]);if(null!=e)return[e.x,e.y];const t=x.get_anchor_point(\"center\",n,[d,u]);return null!=t?[t.x,t.y]:[d,u]}return[d,u]}(),h={index:e.view.convert_indices_from_subset([n])[0],glyph_view:x,x:f,y:v,sx:d,sy:u,snap_x:t,snap_y:o,snap_sx:_,snap_sy:p,name:e.name,indices:l.indices},m=this._render_tooltips(c,h);w.push([_,p,m])}const{bbox:g}=this.plot_view.frame,V=w.filter((([e,t])=>g.contains(e,t)));if(0==V.length)n.clear();else{const{content:e}=n;(0,p.assert)(e instanceof Element),(0,a.empty)(e);for(const[,,t]of V)null!=t&&e.appendChild(t);const[t,s]=V[V.length-1];n.setv({position:[t,s]},{check_eq:!1})}}update([e,{geometry:t}]){if(!this.model.active)return;if(\"point\"!=t.type&&\"span\"!=t.type)return;if(\"ignore\"==this.model.muted_policy&&e.muted)return;const n=this.ttmodels.get(e);(0,f.is_undefined)(n)||this._update(e,t,n)}_emit_callback(e){const{callback:t}=this.model;if(null!=t)for(const n of this.computed_renderers){if(!(n instanceof A.GlyphRenderer))continue;const s=this.plot_view.renderer_view(n);if(null==s)continue;const{x_scale:i,y_scale:o}=s.coordinates,r=i.invert(e.sx),l=o.invert(e.sy),a=n.data_source.inspected;t.execute(this.model,{geometry:Object.assign({x:r,y:l},e),renderer:n,index:a})}}_create_template(e){const t=(0,a.div)({style:{display:\"table\",borderSpacing:\"2px\"}});for(const[n]of e){const e=(0,a.div)({style:{display:\"table-row\"}});t.appendChild(e);const s=(0,a.div)({style:{display:\"table-cell\"},class:x.tooltip_row_label},0!=n.length?`${n}: `:\"\");e.appendChild(s);const i=(0,a.span)();i.dataset.value=\"\";const o=(0,a.span)({class:x.tooltip_color_block},\" \");o.dataset.swatch=\"\",(0,a.undisplay)(o);const r=(0,a.div)({style:{display:\"table-cell\"},class:x.tooltip_row_value},i,o);e.appendChild(r)}return t}_render_template(e,t,n,s){const i=e.cloneNode(!0),o=(0,f.is_undefined)(s.image_index)?s.index:s.image_index,r=i.querySelectorAll(\"[data-value]\"),l=i.querySelectorAll(\"[data-swatch]\"),c=/\\$color(\\[.*\\])?:(\\w*)/,_=/\\$swatch:(\\w*)/;for(const[[,e],i]of(0,h.enumerate)(t)){const t=e.match(_),d=e.match(c);if(null!=t||null!=d){if(null!=t){const[,e]=t,s=n.get_column(e);if(null==s)r[i].textContent=`${e} unknown`;else{const e=(0,f.isNumber)(o)?s[o]:null;null!=e&&(l[i].style.backgroundColor=(0,u.color2css)(e),(0,a.display)(l[i]))}}if(null!=d){const[,e=\"\",t]=d,s=n.get_column(t);if(null==s){r[i].textContent=`${t} unknown`;continue}const c=e.indexOf(\"hex\")>=0,_=e.indexOf(\"swatch\")>=0,p=(0,f.isNumber)(o)?s[o]:null;if(null==p){r[i].textContent=\"(null)\";continue}r[i].textContent=c?(0,u.color2hex)(p):(0,u.color2css)(p),_&&(l[i].style.backgroundColor=(0,u.color2css)(p),(0,a.display)(l[i]))}}else{const t=(0,y.replace_placeholders)(e.replace(\"$~\",\"$data_\"),n,o,this.model.formatters,s);if((0,f.isString)(t))r[i].textContent=t;else for(const e of t)r[i].appendChild(e)}}return i}_render_tooltips(e,t){var n;const{tooltips:s}=this.model,i=t.index;if((0,f.isString)(s)){const n=(0,y.replace_placeholders)({html:s},e,i,this.model.formatters,t);return(0,a.div)(n)}if((0,f.isFunction)(s))return s(e,t);if(s instanceof g.Template)return this._template_view.update(e,i,t),this._template_view.el;if(null!=s){const i=null!==(n=this._template_el)&&void 0!==n?n:this._template_el=this._create_template(s);return this._render_template(i,s,e,t)}return null}}n.HoverToolView=N,N.__name__=\"HoverToolView\";class O extends z.InspectTool{constructor(e){super(e),this.tool_name=\"Hover\",this.tool_icon=v.tool_icon_hover}}n.HoverTool=O,o=O,O.__name__=\"HoverTool\",o.prototype.default_view=N,o.define((({Any:e,Boolean:t,String:n,Array:s,Tuple:i,Dict:o,Or:r,Ref:l,Function:a,Auto:_,Nullable:d})=>({tooltips:[d(r(l(g.Template),n,s(i(n,n)),a())),[[\"index\",\"$index\"],[\"data (x, y)\",\"($x, $y)\"],[\"screen (x, y)\",\"($sx, $sy)\"]]],formatters:[o(r(l(R.CustomJSHover),y.FormatterType)),{}],renderers:[r(s(l(V.DataRenderer)),_),\"auto\"],mode:[c.HoverMode,\"mouse\"],muted_policy:[c.MutedPolicy,\"show\"],point_policy:[c.PointPolicy,\"snap_to_data\"],line_policy:[c.LinePolicy,\"nearest\"],show_arrow:[t,!0],anchor:[c.Anchor,\"center\"],attachment:[c.TooltipAttachment,\"horizontal\"],callback:[d(e),null]}))),o.register_alias(\"hover\",(()=>new O))},\n", + " function _(e,i,t,a,s){var n;a();const o=e(493),l=e(494),c=e(495),_=e(59);class r extends o.DOMElementView{constructor(){super(...arguments),this.action_views=new Map}*children(){yield*super.children(),yield*this.action_views.values()}async lazy_initialize(){await super.lazy_initialize(),await(0,_.build_views)(this.action_views,this.model.actions,{parent:this})}remove(){(0,_.remove_views)(this.action_views),super.remove()}update(e,i,t={}){!function a(s){for(const n of s.child_views.values())n instanceof c.PlaceholderView?n.update(e,i,t):n instanceof o.DOMElementView&&a(n)}(this);for(const a of this.action_views.values())a.update(e,i,t)}}t.TemplateView=r,r.__name__=\"TemplateView\",r.tag_name=\"div\";class v extends o.DOMElement{}t.Template=v,n=v,v.__name__=\"Template\",n.prototype.default_view=r,n.define((({Array:e,Ref:i})=>({actions:[e(i(l.Action)),[]]})))},\n", + " function _(e,t,i,s,l){var n;s();const r=e(442),o=e(258),c=e(257),h=e(59),a=e(9),d=e(8);class _ extends r.DOMNodeView{constructor(){super(...arguments),this.child_views=new Map}*children(){yield*super.children(),yield*this.child_views.values()}async lazy_initialize(){await super.lazy_initialize();const e=this.model.children.filter((e=>!(0,d.isString)(e)));await(0,h.build_views)(this.child_views,e,{parent:this})}remove(){(0,h.remove_views)(this.child_views),super.remove()}render(){const{style:e}=this.model;if(null!=e)if(e instanceof o.Styles)for(const t of e){const e=t.get_value();if((0,d.isString)(e)){const i=t.attr.replace(/_/g,\"-\");this.el.style.hasOwnProperty(i)&&this.el.style.setProperty(i,e)}}else for(const[t,i]of(0,a.entries)(e)){const e=t.replace(/_/g,\"-\");this.el.style.hasOwnProperty(e)&&this.el.style.setProperty(e,i)}for(const e of this.model.children)if((0,d.isString)(e)){const t=document.createTextNode(e);this.el.appendChild(t)}else{this.child_views.get(e).render_to(this.el)}this.finish()}}i.DOMElementView=_,_.__name__=\"DOMElementView\";class y extends r.DOMNode{constructor(e){super(e)}}i.DOMElement=y,n=y,y.__name__=\"DOMElement\",n.define((({String:e,Array:t,Dict:i,Or:s,Nullable:l,Ref:n})=>({style:[l(s(n(o.Styles),i(e))),null],children:[t(s(e,n(r.DOMNode),n(c.UIElement))),[]]})))},\n", + " function _(e,o,_,n,c){n();const s=e(50),t=e(54);class i extends t.View{}_.ActionView=i,i.__name__=\"ActionView\";class d extends s.Model{constructor(e){super(e)}}_.Action=d,d.__name__=\"Action\",d.__module__=\"bokeh.models.dom\"},\n", + " function _(e,a,n,c,l){c();const o=e(442);class s extends o.DOMNodeView{render(){}}n.PlaceholderView=s,s.__name__=\"PlaceholderView\",s.tag_name=\"span\";class _ extends o.DOMNode{constructor(e){super(e)}}n.Placeholder=_,_.__name__=\"Placeholder\"},\n", + " function _(e,l,t,o,a){o(),a(\"Action\",e(494).Action),a(\"ColorRef\",e(497).ColorRef),a(\"DOMElement\",e(493).DOMElement),a(\"DOMNode\",e(442).DOMNode);var S=e(499);a(\"Span\",S.Span),a(\"Div\",S.Div),a(\"Table\",S.Table),a(\"TableRow\",S.TableRow),a(\"HTML\",e(449).HTML),a(\"Index\",e(500).Index),a(\"Placeholder\",e(495).Placeholder),a(\"Styles\",e(258).Styles);var n=e(259);a(\"InlineStyleSheet\",n.InlineStyleSheet),a(\"GlobalInlineStyleSheet\",n.GlobalInlineStyleSheet),a(\"ImportedStyleSheet\",n.ImportedStyleSheet),a(\"GlobalImportedStyleSheet\",n.GlobalImportedStyleSheet),a(\"Template\",e(492).Template),a(\"Text\",e(443).Text),a(\"ToggleGroup\",e(501).ToggleGroup),a(\"ValueOf\",e(502).ValueOf),a(\"ValueRef\",e(498).ValueRef)},\n", + " function _(e,l,t,o,s){var a;o();const n=e(1),_=e(498),i=e(170),r=e(56),c=n.__importStar(e(450));class h extends _.ValueRefView{render(){super.render(),this.value_el=(0,r.span)(),this.swatch_el=(0,r.span)({class:c.tooltip_color_block},\" \"),this.el.appendChild(this.value_el),this.el.appendChild(this.swatch_el)}update(e,l,t){const o=(0,i._get_column_value)(this.model.field,e,l),s=null==o?\"???\":`${o}`;this.el.textContent=s}}t.ColorRefView=h,h.__name__=\"ColorRefView\";class d extends _.ValueRef{constructor(e){super(e)}}t.ColorRef=d,a=d,d.__name__=\"ColorRef\",a.prototype.default_view=h,a.define((({Boolean:e})=>({hex:[e,!0],swatch:[e,!0]})))},\n", + " function _(e,l,t,n,a){var _;n();const o=e(495),s=e(170);class u extends o.PlaceholderView{update(e,l,t){const n=(0,s._get_column_value)(this.model.field,e,l),a=null==n?\"???\":`${n}`;this.el.textContent=a}}t.ValueRefView=u,u.__name__=\"ValueRefView\";class i extends o.Placeholder{constructor(e){super(e)}}t.ValueRef=i,_=i,i.__name__=\"ValueRef\",_.prototype.default_view=u,_.define((({String:e})=>({field:[e]})))},\n", + " function _(e,a,_,n,t){var l,s,i,m;n();const w=e(493);class o extends w.DOMElementView{}_.SpanView=o,o.__name__=\"SpanView\",o.tag_name=\"span\";class d extends w.DOMElement{}_.Span=d,l=d,d.__name__=\"Span\",l.prototype.default_view=o;class p extends w.DOMElementView{}_.DivView=p,p.__name__=\"DivView\",p.tag_name=\"div\";class D extends w.DOMElement{}_.Div=D,s=D,D.__name__=\"Div\",s.prototype.default_view=p;class V extends w.DOMElementView{}_.TableView=V,V.__name__=\"TableView\",V.tag_name=\"table\";class c extends w.DOMElement{}_.Table=c,i=c,c.__name__=\"Table\",i.prototype.default_view=V;class v extends w.DOMElementView{}_.TableRowView=v,v.__name__=\"TableRowView\",v.tag_name=\"tr\";class b extends w.DOMElement{}_.TableRow=b,m=b,b.__name__=\"TableRow\",m.prototype.default_view=v},\n", + " function _(e,n,t,l,d){var o;l();const s=e(495);class _ extends s.PlaceholderView{update(e,n,t){this.el.textContent=null==n?\"(null)\":n.toString()}}t.IndexView=_,_.__name__=\"IndexView\";class a extends s.Placeholder{constructor(e){super(e)}}t.Index=a,o=a,a.__name__=\"Index\",o.prototype.default_view=_},\n", + " function _(e,o,r,t,n){var s;t();const u=e(494),i=e(74),p=e(32);class g extends u.ActionView{update(e,o,r){for(const[e,r]of(0,p.enumerate)(this.model.groups))e.visible=o==r}}r.ToggleGroupView=g,g.__name__=\"ToggleGroupView\";class _ extends u.Action{constructor(e){super(e)}}r.ToggleGroup=_,s=_,_.__name__=\"ToggleGroup\",s.prototype.default_view=g,s.define((({Array:e,Ref:o})=>({groups:[e(o(i.RendererGroup)),[]]})))},\n", + " function _(e,t,n,s,o){var r;s();const i=e(442),a=e(14),l=e(56),c=e(40);class p extends i.DOMNodeView{connect_signals(){super.connect_signals();const{obj:e,attr:t}=this.model;t in e.properties&&this.on_change(e.properties[t],(()=>this.render()))}render(){(0,l.empty)(this.el),this.el.style.display=\"contents\";const e=(()=>{const{obj:e,attr:t}=this.model;if(t in e.properties){const n=e.properties[t].get_value();return(0,c.to_string)(n)}return``})();this.el.textContent=e}}n.ValueOfView=p,p.__name__=\"ValueOfView\";class _ extends i.DOMNode{constructor(e){super(e)}}n.ValueOf=_,r=_,_.__name__=\"ValueOf\",r.prototype.default_view=p,r.define((({String:e,Ref:t})=>({obj:[t(a.HasProps)],attr:[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/object\":9,\"core/util/array\":10,\"core/util/math\":11,\"core/util/assert\":12,\"core/util/arrayable\":13,\"core/has_props\":14,\"core/signaling\":15,\"core/util/defer\":16,\"core/properties\":17,\"core/logging\":18,\"core/enums\":19,\"core/kinds\":20,\"core/util/color\":21,\"core/util/svg_colors\":22,\"core/types\":23,\"core/util/bitset\":24,\"core/util/eq\":25,\"core/util/platform\":26,\"core/vectorization\":27,\"core/settings\":28,\"core/util/ndarray\":29,\"core/serialization/index\":30,\"core/serialization/serializer\":31,\"core/util/iterator\":32,\"core/serialization/buffer\":33,\"core/util/buffer\":34,\"core/serialization/reps\":35,\"core/diagnostics\":36,\"core/uniforms\":37,\"core/util/string\":38,\"document/events\":39,\"core/util/pretty\":40,\"core/util/cloneable\":41,\"core/patching\":42,\"core/util/set\":43,\"core/util/typed_array\":44,\"core/resolvers\":45,\"core/serialization/deserializer\":46,\"core/util/refs\":47,\"core/util/slice\":48,\"core/util/version\":49,\"model\":50,\"document/defs\":51,\"core/bokeh_events\":52,\"embed/standalone\":53,\"core/view\":54,\"core/dom_view\":55,\"core/dom\":56,\"core/util/bbox\":57,\"styles/base.css\":58,\"core/build_views\":59,\"embed/server\":60,\"client/connection\":61,\"protocol/message\":62,\"protocol/receiver\":63,\"client/session\":64,\"embed/dom\":65,\"embed/notebook\":66,\"protocol/index\":67,\"testing\":68,\"safely\":69,\"models/main\":70,\"models/index\":71,\"models/annotations/index\":72,\"models/annotations/annotation\":73,\"models/renderers/renderer\":74,\"core/visuals/index\":75,\"core/visuals/line\":76,\"core/visuals/visual\":77,\"core/property_mixins\":78,\"core/visuals/fill\":79,\"core/visuals/text\":80,\"core/visuals/hatch\":81,\"core/visuals/patterns\":82,\"core/visuals/image\":83,\"models/coordinates/coordinate_mapping\":84,\"models/scales/scale\":85,\"models/transforms/transform\":86,\"models/ranges/range\":87,\"models/ranges/range1d\":88,\"models/scales/linear_scale\":89,\"models/scales/continuous_scale\":90,\"models/scales/log_scale\":91,\"models/scales/categorical_scale\":92,\"models/ranges/data_range1d\":93,\"models/ranges/data_range\":94,\"models/util\":95,\"models/ranges/factor_range\":96,\"models/annotations/arrow\":97,\"models/annotations/data_annotation\":98,\"models/sources/columnar_data_source\":99,\"core/selection_manager\":100,\"models/selections/selection\":101,\"models/selections/interaction_policy\":102,\"models/sources/data_source\":103,\"models/sources/column_data_source\":104,\"core/util/projections\":105,\"models/annotations/arrow_head\":139,\"models/graphics/marking\":140,\"models/annotations/base_color_bar\":141,\"models/annotations/title\":142,\"models/annotations/text_annotation\":143,\"core/layout/side_panel\":144,\"core/layout/types\":145,\"core/layout/layoutable\":146,\"models/text/base_text\":147,\"models/text/utils\":148,\"models/text/math_text\":149,\"core/util/image\":150,\"core/graphics\":151,\"core/util/text\":152,\"core/util/affine\":153,\"models/text/providers\":154,\"core/util/modules\":155,\"models/text/plain_text\":156,\"models/canvas/cartesian_frame\":157,\"models/axes/index\":158,\"models/axes/axis\":159,\"models/renderers/guide_renderer\":160,\"models/tickers/ticker\":161,\"models/formatters/tick_formatter\":162,\"models/policies/labeling\":163,\"models/axes/categorical_axis\":164,\"models/tickers/categorical_ticker\":165,\"models/formatters/categorical_tick_formatter\":166,\"models/axes/continuous_axis\":167,\"models/axes/datetime_axis\":168,\"models/formatters/datetime_tick_formatter\":169,\"core/util/templating\":170,\"models/tickers/util\":174,\"models/tickers/datetime_ticker\":175,\"models/tickers/adaptive_ticker\":176,\"models/tickers/continuous_ticker\":177,\"models/tickers/composite_ticker\":178,\"models/tickers/days_ticker\":179,\"models/tickers/single_interval_ticker\":180,\"models/tickers/months_ticker\":181,\"models/tickers/years_ticker\":182,\"models/tickers/basic_ticker\":183,\"models/axes/linear_axis\":184,\"models/formatters/basic_tick_formatter\":185,\"models/axes/log_axis\":186,\"models/formatters/log_tick_formatter\":187,\"models/tickers/log_ticker\":188,\"models/axes/mercator_axis\":189,\"models/formatters/mercator_tick_formatter\":190,\"models/tickers/mercator_ticker\":191,\"models/tickers/index\":192,\"models/tickers/fixed_ticker\":193,\"models/tickers/binned_ticker\":194,\"models/mappers/scanning_color_mapper\":195,\"models/mappers/continuous_color_mapper\":196,\"models/mappers/color_mapper\":197,\"models/mappers/mapper\":198,\"models/renderers/glyph_renderer\":199,\"models/renderers/data_renderer\":200,\"models/glyphs/line\":201,\"models/glyphs/xy_glyph\":202,\"models/glyphs/glyph\":203,\"core/util/ragged_array\":204,\"core/util/spatial\":205,\"models/graphics/decoration\":208,\"models/glyphs/utils\":209,\"core/hittest\":210,\"models/glyphs/patch\":211,\"models/glyphs/harea\":212,\"models/glyphs/area\":213,\"models/glyphs/varea\":214,\"models/sources/cds_view\":215,\"models/filters/filter\":216,\"models/filters/all_indices\":217,\"models/filters/intersection_filter\":218,\"models/formatters/index\":219,\"models/formatters/customjs_tick_formatter\":220,\"models/formatters/numeral_tick_formatter\":221,\"models/formatters/printf_tick_formatter\":222,\"models/scales/index\":223,\"models/scales/linear_interpolation_scale\":224,\"models/ranges/index\":225,\"core/layout/index\":226,\"core/layout/alignments\":227,\"core/layout/grid\":228,\"core/layout/border\":229,\"models/annotations/band\":230,\"models/annotations/upper_lower\":231,\"models/annotations/box_annotation\":232,\"models/common/kinds\":233,\"models/common/painting\":234,\"models/common/resolve\":235,\"models/annotations/color_bar\":236,\"models/mappers/index\":237,\"models/mappers/categorical_color_mapper\":238,\"models/mappers/categorical_mapper\":239,\"models/mappers/categorical_marker_mapper\":240,\"models/mappers/categorical_pattern_mapper\":241,\"models/mappers/linear_color_mapper\":242,\"models/mappers/log_color_mapper\":243,\"models/mappers/eqhist_color_mapper\":244,\"models/mappers/stack_color_mapper\":245,\"models/mappers/weighted_stack_color_mapper\":246,\"models/annotations/contour_color_bar\":247,\"models/annotations/label\":248,\"models/annotations/label_set\":249,\"models/annotations/legend\":250,\"models/annotations/legend_item\":251,\"models/annotations/poly_annotation\":252,\"models/annotations/slope\":253,\"models/annotations/span\":254,\"models/annotations/toolbar_panel\":255,\"models/tools/toolbar\":256,\"models/ui/ui_element\":257,\"models/dom/styles\":258,\"models/dom/stylesheets\":259,\"core/util/canvas\":260,\"core/util/svg\":261,\"core/util/random\":262,\"styles/ui.css\":263,\"models/tools/tool\":264,\"models/tools/tool_proxy\":265,\"models/tools/tool_button\":266,\"core/util/menus\":267,\"styles/menus.css\":268,\"styles/icons.css\":269,\"styles/tool_button.css\":270,\"models/tools/gestures/gesture_tool\":271,\"models/tools/on_off_button\":272,\"models/tools/inspectors/inspect_tool\":273,\"models/tools/actions/action_tool\":274,\"models/tools/click_button\":275,\"models/tools/actions/help_tool\":276,\"styles/toolbar.css\":277,\"styles/logo.css\":278,\"models/annotations/whisker\":279,\"models/annotations/html/index\":280,\"models/annotations/html/label\":281,\"models/annotations/html/text_annotation\":282,\"models/annotations/html/label_set\":283,\"models/annotations/html/title\":284,\"models/callbacks/index\":285,\"models/callbacks/customjs\":286,\"models/callbacks/callback\":287,\"models/callbacks/open_url\":288,\"models/callbacks/set_value\":289,\"models/canvas/index\":290,\"models/canvas/canvas\":291,\"core/ui_events\":292,\"core/util/wheel\":294,\"styles/canvas.css\":295,\"models/coordinates/index\":296,\"models/expressions/index\":297,\"models/expressions/expression\":298,\"models/expressions/customjs_expr\":299,\"models/expressions/stack\":300,\"models/expressions/cumsum\":301,\"models/expressions/minimum\":302,\"models/expressions/maximum\":303,\"models/expressions/coordinate_transform\":304,\"models/expressions/polar\":305,\"models/filters/index\":306,\"models/filters/boolean_filter\":307,\"models/filters/customjs_filter\":308,\"models/filters/group_filter\":309,\"models/filters/index_filter\":310,\"models/filters/inversion_filter\":311,\"models/filters/union_filter\":312,\"models/filters/difference_filter\":313,\"models/filters/symmetric_difference_filter\":314,\"models/glyphs/index\":315,\"models/glyphs/annular_wedge\":316,\"models/glyphs/annulus\":317,\"models/glyphs/arc\":318,\"models/glyphs/bezier\":319,\"core/util/algorithms\":320,\"models/glyphs/block\":321,\"models/glyphs/lrtb\":322,\"models/glyphs/circle\":323,\"models/glyphs/ellipse\":324,\"models/glyphs/center_rotatable\":325,\"models/glyphs/hbar\":326,\"models/glyphs/hex_tile\":327,\"models/glyphs/image\":328,\"models/glyphs/image_base\":329,\"models/glyphs/image_rgba\":330,\"models/glyphs/image_stack\":331,\"models/glyphs/image_url\":332,\"models/glyphs/multi_line\":333,\"models/glyphs/multi_polygons\":334,\"models/glyphs/patches\":335,\"models/glyphs/quad\":336,\"models/glyphs/quadratic\":337,\"models/glyphs/ray\":338,\"models/glyphs/rect\":339,\"models/glyphs/scatter\":340,\"models/glyphs/marker\":341,\"models/glyphs/defs\":342,\"models/glyphs/segment\":343,\"models/glyphs/spline\":344,\"core/util/interpolation\":345,\"models/glyphs/step\":346,\"models/glyphs/text\":347,\"models/glyphs/vbar\":348,\"models/glyphs/wedge\":349,\"models/graphics/index\":350,\"models/graphs/index\":351,\"models/graphs/graph_hit_test_policy\":352,\"models/graphs/layout_provider\":353,\"models/graphs/static_layout_provider\":354,\"models/grids/index\":355,\"models/grids/grid\":356,\"models/layouts/index\":357,\"models/layouts/column\":358,\"models/layouts/flex_box\":359,\"models/layouts/layout_dom\":360,\"models/menus/menu\":361,\"models/menus/menu_item\":362,\"models/layouts/alignments\":363,\"models/layouts/grid_box\":364,\"models/layouts/css_grid_box\":365,\"models/layouts/group_box\":366,\"styles/group_box.css\":367,\"models/layouts/hbox\":368,\"models/layouts/row\":369,\"models/layouts/scroll_box\":370,\"models/layouts/spacer\":371,\"models/layouts/tab_panel\":372,\"models/layouts/tabs\":373,\"styles/tabs.css\":374,\"models/layouts/vbox\":375,\"models/menus/index\":376,\"models/menus/action\":377,\"models/ui/icons/icon\":378,\"models/menus/check_action\":379,\"models/menus/section\":380,\"models/menus/divider\":381,\"models/text/index\":382,\"models/transforms/index\":383,\"models/transforms/customjs_transform\":384,\"models/transforms/dodge\":385,\"models/transforms/range_transform\":386,\"models/transforms/interpolator\":387,\"models/transforms/jitter\":388,\"models/random/random_generator\":389,\"models/transforms/linear_interpolator\":390,\"models/transforms/step_interpolator\":391,\"models/plots/index\":392,\"models/plots/gmap_plot\":393,\"models/plots/plot\":394,\"models/plots/plot_canvas\":395,\"core/util/throttle\":396,\"models/plots/range_manager\":397,\"models/plots/state_manager\":398,\"styles/plots.css\":399,\"models/plots/gmap_plot_canvas\":400,\"models/plots/gmap\":401,\"models/plots/grid_plot\":402,\"models/plots/figure\":403,\"models/policies/index\":404,\"models/random/index\":405,\"models/random/park_miller_lcg\":406,\"models/renderers/index\":407,\"models/renderers/contour_renderer\":408,\"models/renderers/graph_renderer\":409,\"models/selections/index\":410,\"models/selectors/index\":411,\"models/selectors/by_id\":412,\"models/selectors/selector\":413,\"models/selectors/by_class\":414,\"models/selectors/by_css\":415,\"models/selectors/by_xpath\":416,\"models/sources/index\":417,\"models/sources/server_sent_data_source\":418,\"models/sources/web_data_source\":419,\"models/sources/ajax_data_source\":420,\"models/sources/geojson_data_source\":421,\"models/tiles/index\":422,\"models/tiles/bbox_tile_source\":423,\"models/tiles/mercator_tile_source\":424,\"models/tiles/tile_source\":425,\"models/tiles/tile_utils\":426,\"models/tiles/quadkey_tile_source\":427,\"models/tiles/tile_renderer\":428,\"models/tiles/wmts_tile_source\":429,\"styles/attribution.css\":430,\"models/tiles/tms_tile_source\":431,\"models/textures/index\":432,\"models/textures/canvas_texture\":433,\"models/textures/texture\":434,\"models/textures/image_url_texture\":435,\"models/ui/index\":436,\"models/ui/icons/index\":437,\"models/ui/icons/builtin_icon\":438,\"models/ui/icons/svg_icon\":439,\"models/ui/icons/tabler_icon\":440,\"models/ui/dialog\":441,\"models/dom/dom_node\":442,\"models/dom/text\":443,\"styles/dialogs.css\":444,\"models/ui/examiner\":445,\"styles/examiner.css\":446,\"models/ui/pane\":447,\"models/ui/tooltip\":448,\"models/dom/html\":449,\"styles/tooltips.css\":450,\"models/tools/index\":451,\"models/tools/actions/index\":452,\"models/tools/actions/copy_tool\":453,\"models/tools/actions/custom_action\":454,\"models/tools/actions/fullscreen_tool\":455,\"models/tools/actions/examine_tool\":456,\"models/tools/actions/redo_tool\":457,\"models/tools/actions/plot_action_tool\":458,\"models/tools/actions/reset_tool\":459,\"models/tools/actions/save_tool\":460,\"models/tools/actions/undo_tool\":461,\"models/tools/actions/zoom_in_tool\":462,\"models/tools/actions/zoom_base_tool\":463,\"core/util/zoom\":464,\"models/tools/actions/zoom_out_tool\":465,\"models/tools/edit/index\":466,\"models/tools/edit/edit_tool\":467,\"models/tools/edit/box_edit_tool\":468,\"models/tools/edit/freehand_draw_tool\":469,\"models/tools/edit/line_edit_tool\":470,\"models/tools/edit/line_tool\":471,\"models/tools/edit/point_draw_tool\":472,\"models/tools/edit/poly_draw_tool\":473,\"models/tools/edit/poly_tool\":474,\"models/tools/edit/poly_edit_tool\":475,\"models/tools/gestures/index\":476,\"models/tools/gestures/box_select_tool\":477,\"models/tools/gestures/region_select_tool\":478,\"models/tools/gestures/select_tool\":479,\"models/tools/gestures/box_zoom_tool\":480,\"models/tools/gestures/lasso_select_tool\":481,\"models/tools/gestures/poly_select_tool\":482,\"models/tools/gestures/pan_tool\":483,\"models/tools/gestures/range_tool\":484,\"models/tools/gestures/tap_tool\":485,\"models/tools/gestures/wheel_pan_tool\":486,\"models/tools/gestures/wheel_zoom_tool\":487,\"models/tools/inspectors/index\":488,\"models/tools/inspectors/crosshair_tool\":489,\"models/tools/inspectors/customjs_hover\":490,\"models/tools/inspectors/hover_tool\":491,\"models/dom/template\":492,\"models/dom/dom_element\":493,\"models/dom/action\":494,\"models/dom/placeholder\":495,\"models/dom/index\":496,\"models/dom/color_ref\":497,\"models/dom/value_ref\":498,\"models/dom/elements\":499,\"models/dom/index_\":500,\"models/dom/toggle_group\":501,\"models/dom/value_of\":502}, {});});\n", + "\n", + " /* END bokeh.min.js */\n", + " },\n", + " function(Bokeh) {\n", + " /* BEGIN bokeh-gl.min.js */\n", + " /*!\n", + " * Copyright (c) 2012 - 2023, Anaconda, Inc., and Bokeh Contributors\n", + " * All rights reserved.\n", + " * \n", + " * Redistribution and use in source and binary forms, with or without modification,\n", + " * are permitted provided that the following conditions are met:\n", + " * \n", + " * Redistributions of source code must retain the above copyright notice,\n", + " * this list of conditions and the following disclaimer.\n", + " * \n", + " * Redistributions in binary form must reproduce the above copyright notice,\n", + " * this list of conditions and the following disclaimer in the documentation\n", + " * and/or other materials provided with the distribution.\n", + " * \n", + " * Neither the name of Anaconda nor the names of any contributors\n", + " * may be used to endorse or promote products derived from this software\n", + " * without specific prior written permission.\n", + " * \n", + " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n", + " * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n", + " * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n", + " * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n", + " * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n", + " * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n", + " * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n", + " * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n", + " * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n", + " * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n", + " * THE POSSIBILITY OF SUCH DAMAGE.\n", + " */\n", + " (function(root, factory) {\n", + " factory(root[\"Bokeh\"], \"3.1.1\");\n", + " })(this, function(Bokeh, version) {\n", + " let define;\n", + " return (function(modules, entry, aliases, externals) {\n", + " const bokeh = typeof Bokeh !== \"undefined\" && (version != null ? Bokeh[version] : Bokeh);\n", + " if (bokeh != null) {\n", + " return bokeh.register_plugin(modules, entry, aliases);\n", + " } else {\n", + " throw new Error(\"Cannot find Bokeh \" + version + \". You have to load it prior to loading plugins.\");\n", + " }\n", + " })\n", + " ({\n", + " 503: function _(n,c,f,i,o){i(),n(504)},\n", + " 504: function _(t,_,r,e,o){e();const a=t(1);o(\"get_regl\",t(505).get_regl),a.__exportStar(t(513),r),a.__exportStar(t(517),r),a.__exportStar(t(518),r),a.__exportStar(t(520),r),a.__exportStar(t(521),r),a.__exportStar(t(522),r),a.__exportStar(t(523),r),a.__exportStar(t(524),r),a.__exportStar(t(519),r),a.__exportStar(t(525),r)},\n", + " 505: function _(t,i,e,_,a){_();const r=t(1),o=r.__importDefault(t(506)),n=t(507),s=r.__importDefault(t(509)),l=r.__importDefault(t(510)),p=r.__importDefault(t(511)),h=r.__importDefault(t(512));let c=null;e.get_regl=function(t){return null==c&&(c=new u(t)),c};class u{constructor(t){try{this._regl=(0,o.default)({gl:t,extensions:[\"ANGLE_instanced_arrays\",\"EXT_blend_minmax\"]}),this._regl_available=!0,this._line_geometry=this._regl.buffer({usage:\"static\",type:\"float\",data:[[-2,0],[-1,-1],[1,-1],[1,1],[-1,1]]}),this._line_triangles=this._regl.elements({usage:\"static\",primitive:\"triangle fan\",data:[0,1,2,3,4]})}catch(t){this._regl_available=!1}}buffer(t){return this._regl.buffer(t)}clear(t,i){this._viewport={x:0,y:0,width:t,height:i},this._regl.clear({color:[0,0,0,0]})}get has_webgl(){return this._regl_available}get scissor(){return this._scissor}set_scissor(t,i,e,_){this._scissor={x:t,y:i,width:e,height:_}}get viewport(){return this._viewport}dashed_line(){return null==this._dashed_line&&(this._dashed_line=function(t,i,e){const _={vert:`#define DASHED\\n\\n${s.default}`,frag:`#define DASHED\\n\\n${l.default}`,attributes:{a_position:{buffer:i,divisor:0},a_point_prev:(t,i)=>i.points.to_attribute_config(),a_point_start:(t,i)=>i.points.to_attribute_config(2*Float32Array.BYTES_PER_ELEMENT),a_point_end:(t,i)=>i.points.to_attribute_config(4*Float32Array.BYTES_PER_ELEMENT),a_point_next:(t,i)=>i.points.to_attribute_config(6*Float32Array.BYTES_PER_ELEMENT),a_show_prev:(t,i)=>i.show.to_attribute_config(),a_show_curr:(t,i)=>i.show.to_attribute_config(Uint8Array.BYTES_PER_ELEMENT),a_show_next:(t,i)=>i.show.to_attribute_config(2*Uint8Array.BYTES_PER_ELEMENT),a_length_so_far:(t,i)=>i.length_so_far.to_attribute_config()},uniforms:{u_canvas_size:t.prop(\"canvas_size\"),u_pixel_ratio:t.prop(\"pixel_ratio\"),u_antialias:t.prop(\"antialias\"),u_line_color:t.prop(\"line_color\"),u_linewidth:t.prop(\"linewidth\"),u_miter_limit:t.prop(\"miter_limit\"),u_line_join:t.prop(\"line_join\"),u_line_cap:t.prop(\"line_cap\"),u_dash_tex:t.prop(\"dash_tex\"),u_dash_tex_info:t.prop(\"dash_tex_info\"),u_dash_scale:t.prop(\"dash_scale\"),u_dash_offset:t.prop(\"dash_offset\")},elements:e,instances:t.prop(\"nsegments\"),blend:{enable:!0,equation:\"max\",func:{srcRGB:1,srcAlpha:1,dstRGB:1,dstAlpha:1}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"scissor\")},viewport:t.prop(\"viewport\")};return t(_)}(this._regl,this._line_geometry,this._line_triangles)),this._dashed_line}get_dash(t){return null==this._dash_cache&&(this._dash_cache=new n.DashCache(this._regl)),this._dash_cache.get(t)}marker_no_hatch(t){null==this._marker_no_hatch_map&&(this._marker_no_hatch_map=new Map);let i=this._marker_no_hatch_map.get(t);return null==i&&(i=function(t,i){const e={vert:p.default,frag:` #define USE_${i.toUpperCase()}\\n ${h.default}\\n `,attributes:{a_position:{buffer:t.buffer([[-.5,-.5],[-.5,.5],[.5,.5],[.5,-.5]]),divisor:0},a_center:(t,i)=>i.center.to_attribute_config(),a_width:(t,i)=>i.width.to_attribute_config(),a_height:(t,i)=>i.height.to_attribute_config(),a_angle:(t,i)=>i.angle.to_attribute_config(),a_linewidth:(t,i)=>i.linewidth.to_attribute_config(),a_line_color:(t,i)=>i.line_color.to_attribute_config(),a_fill_color:(t,i)=>i.fill_color.to_attribute_config(),a_line_cap:(t,i)=>i.line_cap.to_attribute_config(),a_line_join:(t,i)=>i.line_join.to_attribute_config(),a_show:(t,i)=>i.show.to_attribute_config()},uniforms:{u_canvas_size:t.prop(\"canvas_size\"),u_pixel_ratio:t.prop(\"pixel_ratio\"),u_antialias:t.prop(\"antialias\"),u_border_radius:t.prop(\"border_radius\"),u_size_hint:t.prop(\"size_hint\")},count:4,primitive:\"triangle fan\",instances:t.prop(\"nmarkers\"),blend:{enable:!0,func:{srcRGB:\"one\",srcAlpha:\"one\",dstRGB:\"one minus src alpha\",dstAlpha:\"one minus src alpha\"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"scissor\")},viewport:t.prop(\"viewport\")};return t(e)}(this._regl,t),this._marker_no_hatch_map.set(t,i)),i}marker_hatch(t){null==this._marker_hatch_map&&(this._marker_hatch_map=new Map);let i=this._marker_hatch_map.get(t);return null==i&&(i=function(t,i){const e={vert:`#define HATCH\\n${p.default}`,frag:`#define USE_${i.toUpperCase()}\\n#define HATCH\\n${h.default}`,attributes:{a_position:{buffer:t.buffer([[-.5,-.5],[-.5,.5],[.5,.5],[.5,-.5]]),divisor:0},a_center:(t,i)=>i.center.to_attribute_config(),a_width:(t,i)=>i.width.to_attribute_config(),a_height:(t,i)=>i.height.to_attribute_config(),a_angle:(t,i)=>i.angle.to_attribute_config(),a_linewidth:(t,i)=>i.linewidth.to_attribute_config(),a_line_color:(t,i)=>i.line_color.to_attribute_config(),a_fill_color:(t,i)=>i.fill_color.to_attribute_config(),a_line_cap:(t,i)=>i.line_cap.to_attribute_config(),a_line_join:(t,i)=>i.line_join.to_attribute_config(),a_show:(t,i)=>i.show.to_attribute_config(),a_hatch_pattern:(t,i)=>i.hatch_pattern.to_attribute_config(),a_hatch_scale:(t,i)=>i.hatch_scale.to_attribute_config(),a_hatch_weight:(t,i)=>i.hatch_weight.to_attribute_config(),a_hatch_color:(t,i)=>i.hatch_color.to_attribute_config()},uniforms:{u_canvas_size:t.prop(\"canvas_size\"),u_pixel_ratio:t.prop(\"pixel_ratio\"),u_antialias:t.prop(\"antialias\"),u_border_radius:t.prop(\"border_radius\"),u_size_hint:t.prop(\"size_hint\")},count:4,primitive:\"triangle fan\",instances:t.prop(\"nmarkers\"),blend:{enable:!0,func:{srcRGB:\"one\",srcAlpha:\"one\",dstRGB:\"one minus src alpha\",dstAlpha:\"one minus src alpha\"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"scissor\")},viewport:t.prop(\"viewport\")};return t(e)}(this._regl,t),this._marker_hatch_map.set(t,i)),i}solid_line(){return null==this._solid_line&&(this._solid_line=function(t,i,e){const _={vert:s.default,frag:l.default,attributes:{a_position:{buffer:i,divisor:0},a_point_prev:(t,i)=>i.points.to_attribute_config(),a_point_start:(t,i)=>i.points.to_attribute_config(2*Float32Array.BYTES_PER_ELEMENT),a_point_end:(t,i)=>i.points.to_attribute_config(4*Float32Array.BYTES_PER_ELEMENT),a_point_next:(t,i)=>i.points.to_attribute_config(6*Float32Array.BYTES_PER_ELEMENT),a_show_prev:(t,i)=>i.show.to_attribute_config(),a_show_curr:(t,i)=>i.show.to_attribute_config(Uint8Array.BYTES_PER_ELEMENT),a_show_next:(t,i)=>i.show.to_attribute_config(2*Uint8Array.BYTES_PER_ELEMENT)},uniforms:{u_canvas_size:t.prop(\"canvas_size\"),u_pixel_ratio:t.prop(\"pixel_ratio\"),u_antialias:t.prop(\"antialias\"),u_line_color:t.prop(\"line_color\"),u_linewidth:t.prop(\"linewidth\"),u_miter_limit:t.prop(\"miter_limit\"),u_line_join:t.prop(\"line_join\"),u_line_cap:t.prop(\"line_cap\")},elements:e,instances:t.prop(\"nsegments\"),blend:{enable:!0,equation:\"max\",func:{srcRGB:1,srcAlpha:1,dstRGB:1,dstAlpha:1}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"scissor\")},viewport:t.prop(\"viewport\")};return t(_)}(this._regl,this._line_geometry,this._line_triangles)),this._solid_line}}e.ReglWrapper=u,u.__name__=\"ReglWrapper\"},\n", + " 506: function _(e,t,r,n,a){var i,o;i=this,o=function(){\"use strict\";var e=function(e){return e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array||e instanceof Uint8ClampedArray},t=function(e,t){for(var r=Object.keys(t),n=0;n=0&&(0|e)===e||n(\"invalid parameter type, (\"+e+\")\"+i(t)+\". must be a nonnegative integer\")},oneOf:f,shaderError:function(e,t,n,i,o){if(!e.getShaderParameter(t,e.COMPILE_STATUS)){var f=e.getShaderInfoLog(t),u=i===e.FRAGMENT_SHADER?\"fragment\":\"vertex\";g(n,\"string\",u+\" shader source must be a string\",o);var c=h(n,o),l=function(e){var t=[];return e.split(\"\\n\").forEach((function(e){if(!(e.length<5)){var r=/^ERROR:\\s+(\\d+):(\\d+):\\s*(.*)$/.exec(e);r?t.push(new d(0|r[1],0|r[2],r[3].trim())):e.length>0&&t.push(new d(\"unknown\",0,e))}})),t}(f);!function(e,t){t.forEach((function(t){var r=e[t.file];if(r){var n=r.index[t.line];if(n)return n.errors.push(t),void(r.hasErrors=!0)}e.unknown.hasErrors=!0,e.unknown.lines[0].errors.push(t)}))}(c,l),Object.keys(c).forEach((function(e){var t=c[e];if(t.hasErrors){var n=[\"\"],a=[\"\"];i(\"file number \"+e+\": \"+t.name+\"\\n\",\"color:red;text-decoration:underline;font-weight:bold\"),t.lines.forEach((function(e){if(e.errors.length>0){i(s(e.number,4)+\"| \",\"background-color:yellow; font-weight:bold\"),i(e.line+r,\"color:red; background-color:yellow; font-weight:bold\");var t=0;e.errors.forEach((function(n){var a=n.message,o=/^\\s*'(.*)'\\s*:\\s*(.*)$/.exec(a);if(o){var f=o[1];a=o[2],\"assign\"===f&&(f=\"=\"),t=Math.max(e.line.indexOf(f,t),0)}else t=0;i(s(\"| \",6)),i(s(\"^^^\",t+3)+r,\"font-weight:bold\"),i(s(\"| \",6)),i(a+r,\"font-weight:bold\")})),i(s(\"| \",6)+r)}else i(s(e.number,4)+\"| \"),i(e.line+r,\"color:red\")})),\"undefined\"==typeof document||window.chrome?console.log(n.join(\"\")):(a[0]=n.join(\"%c\"),console.log.apply(console,a))}function i(e,t){n.push(e),a.push(t||\"\")}})),a.raise(\"Error compiling \"+u+\" shader, \"+c[0].name)}},linkError:function(e,t,n,i,o){if(!e.getProgramParameter(t,e.LINK_STATUS)){var f=e.getProgramInfoLog(t),u=h(n,o),s='Error linking program with vertex shader, \"'+h(i,o)[0].name+'\", and fragment shader \"'+u[0].name+'\"';\"undefined\"!=typeof document?console.log(\"%c\"+s+r+\"%c\"+f,\"color:red;text-decoration:underline;font-weight:bold\",\"color:red\"):console.log(s+r+f),a.raise(s)}},callSite:p,saveCommandRef:b,saveDrawInfo:function(e,t,r,n){function a(e){return e?n.id(e):0}function i(e,t){Object.keys(t).forEach((function(t){e[n.id(t)]=!0}))}b(e),e._fragId=a(e.static.frag),e._vertId=a(e.static.vert);var o=e._uniformSet={};i(o,t.static),i(o,t.dynamic);var f=e._attributeSet={};i(f,r.static),i(f,r.dynamic),e._hasCount=\"count\"in e.static||\"count\"in e.dynamic||\"elements\"in e.static||\"elements\"in e.dynamic},framebufferFormat:function(e,t,r){e.texture?f(e.texture._texture.internalformat,t,\"unsupported texture format for attachment\"):f(e.renderbuffer._renderbuffer.format,r,\"unsupported renderbuffer format for attachment\")},guessCommand:m,texture2D:function(e,t,r){var n,i=t.width,o=t.height,f=t.channels;a(i>0&&i<=r.maxTextureSize&&o>0&&o<=r.maxTextureSize,\"invalid texture shape\"),e.wrapS===y&&e.wrapT===y||a(z(i)&&z(o),\"incompatible wrap mode for texture, both width and height must be power of 2\"),1===t.mipmask?1!==i&&1!==o&&a(e.minFilter!==w&&e.minFilter!==_&&e.minFilter!==A&&e.minFilter!==k,\"min filter requires mipmap\"):(a(z(i)&&z(o),\"texture must be a square power of 2 to support mipmapping\"),a(t.mipmask===(i<<1)-1,\"missing or incomplete mipmap data\")),t.type===S&&(r.extensions.indexOf(\"oes_texture_float_linear\")<0&&a(e.minFilter===x&&e.magFilter===x,\"filter not supported, must enable oes_texture_float_linear\"),a(!e.genMipmaps,\"mipmap generation not supported with float textures\"));var u=t.images;for(n=0;n<16;++n)if(u[n]){var s=i>>n,c=o>>n;a(t.mipmask&1<0&&i<=n.maxTextureSize&&o>0&&o<=n.maxTextureSize,\"invalid texture shape\"),a(i===o,\"cube map must be square\"),a(t.wrapS===y&&t.wrapT===y,\"wrap mode not supported by cube map\");for(var u=0;u>l,p=o>>l;a(s.mipmask&1<1&&t===r&&('\"'===t||\"'\"===t))return['\"'+R(e.substr(1,e.length-2))+'\"'];var n=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(e);if(n)return M(e.substr(0,n.index)).concat(M(n[1])).concat(M(e.substr(n.index+n[0].length)));var a=e.split(\".\");if(1===a.length)return['\"'+R(e)+'\"'];for(var i=[],o=0;o0,\"invalid pixel ratio\"))):F.raise(\"invalid arguments to regl\"),r&&(\"canvas\"===r.nodeName.toLowerCase()?a=r:n=r),!i){if(!a){F(\"undefined\"!=typeof document,\"must manually specify webgl context outside of DOM environments\");var h=function(e,r,n){var a,i=document.createElement(\"canvas\");function o(){var t=window.innerWidth,r=window.innerHeight;if(e!==document.body){var a=i.getBoundingClientRect();t=a.right-a.left,r=a.bottom-a.top}i.width=n*t,i.height=n*r}return t(i.style,{border:0,margin:0,padding:0,top:0,left:0,width:\"100%\",height:\"100%\"}),e.appendChild(i),e===document.body&&(i.style.position=\"absolute\",t(e.style,{margin:0,padding:0})),e!==document.body&&\"function\"==typeof ResizeObserver?(a=new ResizeObserver((function(){setTimeout(o)}))).observe(e):window.addEventListener(\"resize\",o,!1),o(),{canvas:i,onDestroy:function(){a?a.disconnect():window.removeEventListener(\"resize\",o),e.removeChild(i)}}}(n||document.body,0,l);if(!h)return null;a=h.canvas,p=h.onDestroy}void 0===u.premultipliedAlpha&&(u.premultipliedAlpha=!0),i=function(e,t){function r(r){try{return e.getContext(r,t)}catch(e){return null}}return r(\"webgl\")||r(\"experimental-webgl\")||r(\"webgl-experimental\")}(a,u)}return i?{gl:i,canvas:a,container:n,extensions:s,optionalExtensions:c,pixelRatio:l,profile:d,onDone:m,onDestroy:p}:(p(),m(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function Y(e,t){for(var r=Array(e),n=0;n65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1}function ne(){var e=Y(8,(function(){return[]}));function t(t){var r=function(e){for(var t=16;t<=1<<28;t*=16)if(e<=t)return t;return 0}(t),n=e[re(r)>>2];return n.length>0?n.pop():new ArrayBuffer(r)}function r(t){e[re(t.byteLength)>>2].push(t)}return{alloc:t,free:r,allocType:function(e,r){var n=null;switch(e){case X:n=new Int8Array(t(r),0,r);break;case $:n=new Uint8Array(t(r),0,r);break;case K:n=new Int16Array(t(2*r),0,r);break;case J:n=new Uint16Array(t(2*r),0,r);break;case Z:n=new Int32Array(t(4*r),0,r);break;case ee:n=new Uint32Array(t(4*r),0,r);break;case te:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(e){r(e.buffer)}}}var ae=ne();ae.zero=ne();var ie=3553,oe=6408,fe=5126,ue=36160,se=function(e,t){var r=1;t.ext_texture_filter_anisotropic&&(r=e.getParameter(34047));var n=1,a=1;t.webgl_draw_buffers&&(n=e.getParameter(34852),a=e.getParameter(36063));var i=!!t.oes_texture_float;if(i){var o=e.createTexture();e.bindTexture(ie,o),e.texImage2D(ie,0,oe,1,1,0,oe,fe,null);var f=e.createFramebuffer();if(e.bindFramebuffer(ue,f),e.framebufferTexture2D(ue,36064,ie,o,0),e.bindTexture(ie,null),36053!==e.checkFramebufferStatus(ue))i=!1;else{e.viewport(0,0,1,1),e.clearColor(1,0,0,1),e.clear(16384);var u=ae.allocType(fe,4);e.readPixels(0,0,1,1,oe,fe,u),e.getError()?i=!1:(e.deleteFramebuffer(f),e.deleteTexture(o),i=1===u[0]),ae.freeType(u)}}var s=!0;if(\"undefined\"==typeof navigator||!(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent))){var c=e.createTexture(),l=ae.allocType(5121,36);e.activeTexture(33984),e.bindTexture(34067,c),e.texImage2D(34069,0,oe,3,3,0,oe,5121,l),ae.freeType(l),e.bindTexture(34067,null),e.deleteTexture(c),s=!e.getError()}return{colorBits:[e.getParameter(3410),e.getParameter(3411),e.getParameter(3412),e.getParameter(3413)],depthBits:e.getParameter(3414),stencilBits:e.getParameter(3415),subpixelBits:e.getParameter(3408),extensions:Object.keys(t).filter((function(e){return!!t[e]})),maxAnisotropic:r,maxDrawbuffers:n,maxColorAttachments:a,pointSizeDims:e.getParameter(33901),lineWidthDims:e.getParameter(33902),maxViewportDims:e.getParameter(3386),maxCombinedTextureUnits:e.getParameter(35661),maxCubeMapSize:e.getParameter(34076),maxRenderbufferSize:e.getParameter(34024),maxTextureUnits:e.getParameter(34930),maxTextureSize:e.getParameter(3379),maxAttributes:e.getParameter(34921),maxVertexUniforms:e.getParameter(36347),maxVertexTextureUnits:e.getParameter(35660),maxVaryingVectors:e.getParameter(36348),maxFragmentUniforms:e.getParameter(36349),glsl:e.getParameter(35724),renderer:e.getParameter(7937),vendor:e.getParameter(7936),version:e.getParameter(7938),readFloat:i,npotTextureCube:s}};function ce(t){return!!t&&\"object\"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&\"number\"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||e(t.data))}var le=function(e){return Object.keys(e).map((function(t){return e[t]}))},de={shape:function(e){for(var t=[],r=e;r.length;r=r[0])t.push(r.length);return t},flatten:function(e,t,r,n){var a=1;if(t.length)for(var i=0;i>>31<<15,i=(n<<1>>>24)-127,o=n>>13&1023;if(i<-24)t[r]=a;else if(i<-14){var f=-14-i;t[r]=a+(o+1024>>f)}else t[r]=i>15?a+31744:a+(i+15<<10)+o}return t}function Ne(t){return Array.isArray(t)||e(t)}var qe=function(e){return!(e&e-1||!e)},Qe=34467,Ye=3553,Xe=34067,$e=34069,Ke=6408,Je=6406,Ze=6407,et=6409,tt=6410,rt=32854,nt=32855,at=36194,it=32819,ot=32820,ft=33635,ut=34042,st=6402,ct=34041,lt=35904,dt=35906,mt=36193,pt=33776,ht=33777,bt=33778,vt=33779,gt=35986,yt=35987,xt=34798,wt=35840,At=35841,_t=35842,kt=35843,St=36196,Ot=5121,Et=5123,Tt=5125,Dt=5126,jt=10242,Ct=10243,zt=10497,Ft=33071,Vt=33648,Bt=10240,It=10241,Pt=9728,Lt=9729,Rt=9984,Mt=9985,Ut=9986,Wt=9987,Gt=33170,Ht=4352,Nt=4353,qt=4354,Qt=34046,Yt=3317,Xt=37440,$t=37441,Kt=37443,Jt=37444,Zt=33984,er=[Rt,Ut,Mt,Wt],tr=[0,et,tt,Ze,Ke],rr={};function nr(e){return\"[object \"+e+\"]\"}rr[et]=rr[Je]=rr[st]=1,rr[ct]=rr[tt]=2,rr[Ze]=rr[lt]=3,rr[Ke]=rr[dt]=4;var ar=nr(\"HTMLCanvasElement\"),ir=nr(\"OffscreenCanvas\"),or=nr(\"CanvasRenderingContext2D\"),fr=nr(\"ImageBitmap\"),ur=nr(\"HTMLImageElement\"),sr=nr(\"HTMLVideoElement\"),cr=Object.keys(he).concat([ar,ir,or,fr,ur,sr]),lr=[];lr[Ot]=1,lr[Dt]=4,lr[mt]=2,lr[Et]=2,lr[Tt]=4;var dr=[];function mr(e){return Array.isArray(e)&&(0===e.length||\"number\"==typeof e[0])}function pr(e){return!!Array.isArray(e)&&!(0===e.length||!Ne(e[0]))}function hr(e){return Object.prototype.toString.call(e)}function br(e){return hr(e)===ar}function vr(e){return hr(e)===ir}function gr(e){if(!e)return!1;var t=hr(e);return cr.indexOf(t)>=0||mr(e)||pr(e)||ce(e)}function yr(e){return 0|he[Object.prototype.toString.call(e)]}function xr(e,t){return ae.allocType(e.type===mt?Dt:e.type,t)}function wr(e,t){e.type===mt?(e.data=He(t),ae.freeType(t)):e.data=t}function Ar(e,t,r,n,a,i){var o;if(o=void 0!==dr[e]?dr[e]:rr[e]*lr[t],i&&(o*=6),a){for(var f=0,u=r;u>=1;)f+=o*u*u,u/=2;return f}return o*r*n}function _r(r,n,a,i,o,f,u){var s={\"don't care\":Ht,\"dont care\":Ht,nice:qt,fast:Nt},c={repeat:zt,clamp:Ft,mirror:Vt},l={nearest:Pt,linear:Lt},d=t({mipmap:Wt,\"nearest mipmap nearest\":Rt,\"linear mipmap nearest\":Mt,\"nearest mipmap linear\":Ut,\"linear mipmap linear\":Wt},l),m={none:0,browser:Jt},p={uint8:Ot,rgba4:it,rgb565:ft,\"rgb5 a1\":ot},h={alpha:Je,luminance:et,\"luminance alpha\":tt,rgb:Ze,rgba:Ke,rgba4:rt,\"rgb5 a1\":nt,rgb565:at},b={};n.ext_srgb&&(h.srgb=lt,h.srgba=dt),n.oes_texture_float&&(p.float32=p.float=Dt),n.oes_texture_half_float&&(p.float16=p[\"half float\"]=mt),n.webgl_depth_texture&&(t(h,{depth:st,\"depth stencil\":ct}),t(p,{uint16:Et,uint32:Tt,\"depth stencil\":ut})),n.webgl_compressed_texture_s3tc&&t(b,{\"rgb s3tc dxt1\":pt,\"rgba s3tc dxt1\":ht,\"rgba s3tc dxt3\":bt,\"rgba s3tc dxt5\":vt}),n.webgl_compressed_texture_atc&&t(b,{\"rgb atc\":gt,\"rgba atc explicit alpha\":yt,\"rgba atc interpolated alpha\":xt}),n.webgl_compressed_texture_pvrtc&&t(b,{\"rgb pvrtc 4bppv1\":wt,\"rgb pvrtc 2bppv1\":At,\"rgba pvrtc 4bppv1\":_t,\"rgba pvrtc 2bppv1\":kt}),n.webgl_compressed_texture_etc1&&(b[\"rgb etc1\"]=St);var v=Array.prototype.slice.call(r.getParameter(Qe));Object.keys(b).forEach((function(e){var t=b[e];v.indexOf(t)>=0&&(h[e]=t)}));var g=Object.keys(h);a.textureFormats=g;var y=[];Object.keys(h).forEach((function(e){var t=h[e];y[t]=e}));var x=[];Object.keys(p).forEach((function(e){var t=p[e];x[t]=e}));var w=[];Object.keys(l).forEach((function(e){var t=l[e];w[t]=e}));var A=[];Object.keys(d).forEach((function(e){var t=d[e];A[t]=e}));var _=[];Object.keys(c).forEach((function(e){var t=c[e];_[t]=e}));var k=g.reduce((function(e,t){var r=h[t];return r===et||r===Je||r===et||r===tt||r===st||r===ct||n.ext_srgb&&(r===lt||r===dt)?e[r]=r:r===nt||t.indexOf(\"rgba\")>=0?e[r]=Ke:e[r]=Ze,e}),{});function S(){this.internalformat=Ke,this.format=Ke,this.type=Ot,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=Jt,this.width=0,this.height=0,this.channels=0}function O(e,t){e.internalformat=t.internalformat,e.format=t.format,e.type=t.type,e.compressed=t.compressed,e.premultiplyAlpha=t.premultiplyAlpha,e.flipY=t.flipY,e.unpackAlignment=t.unpackAlignment,e.colorSpace=t.colorSpace,e.width=t.width,e.height=t.height,e.channels=t.channels}function E(e,t){if(\"object\"==typeof t&&t){if(\"premultiplyAlpha\"in t&&(F.type(t.premultiplyAlpha,\"boolean\",\"invalid premultiplyAlpha\"),e.premultiplyAlpha=t.premultiplyAlpha),\"flipY\"in t&&(F.type(t.flipY,\"boolean\",\"invalid texture flip\"),e.flipY=t.flipY),\"alignment\"in t&&(F.oneOf(t.alignment,[1,2,4,8],\"invalid texture unpack alignment\"),e.unpackAlignment=t.alignment),\"colorSpace\"in t&&(F.parameter(t.colorSpace,m,\"invalid colorSpace\"),e.colorSpace=m[t.colorSpace]),\"type\"in t){var r=t.type;F(n.oes_texture_float||!(\"float\"===r||\"float32\"===r),\"you must enable the OES_texture_float extension in order to use floating point textures.\"),F(n.oes_texture_half_float||!(\"half float\"===r||\"float16\"===r),\"you must enable the OES_texture_half_float extension in order to use 16-bit floating point textures.\"),F(n.webgl_depth_texture||!(\"uint16\"===r||\"uint32\"===r||\"depth stencil\"===r),\"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures.\"),F.parameter(r,p,\"invalid texture type\"),e.type=p[r]}var i=e.width,o=e.height,f=e.channels,u=!1;\"shape\"in t?(F(Array.isArray(t.shape)&&t.shape.length>=2,\"shape must be an array\"),i=t.shape[0],o=t.shape[1],3===t.shape.length&&(f=t.shape[2],F(f>0&&f<=4,\"invalid number of channels\"),u=!0),F(i>=0&&i<=a.maxTextureSize,\"invalid width\"),F(o>=0&&o<=a.maxTextureSize,\"invalid height\")):(\"radius\"in t&&(i=o=t.radius,F(i>=0&&i<=a.maxTextureSize,\"invalid radius\")),\"width\"in t&&(i=t.width,F(i>=0&&i<=a.maxTextureSize,\"invalid width\")),\"height\"in t&&(o=t.height,F(o>=0&&o<=a.maxTextureSize,\"invalid height\")),\"channels\"in t&&(f=t.channels,F(f>0&&f<=4,\"invalid number of channels\"),u=!0)),e.width=0|i,e.height=0|o,e.channels=0|f;var s=!1;if(\"format\"in t){var c=t.format;F(n.webgl_depth_texture||!(\"depth\"===c||\"depth stencil\"===c),\"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures.\"),F.parameter(c,h,\"invalid texture format\");var l=e.internalformat=h[c];e.format=k[l],c in p&&(\"type\"in t||(e.type=p[c])),c in b&&(e.compressed=!0),s=!0}!u&&s?e.channels=rr[e.format]:u&&!s?e.channels!==tr[e.format]&&(e.format=e.internalformat=tr[e.channels]):s&&u&&F(e.channels===rr[e.format],\"number of channels inconsistent with specified format\")}}function T(e){r.pixelStorei(Xt,e.flipY),r.pixelStorei($t,e.premultiplyAlpha),r.pixelStorei(Kt,e.colorSpace),r.pixelStorei(Yt,e.unpackAlignment)}function D(){S.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function j(t,r){var n=null;if(gr(r)?n=r:r&&(F.type(r,\"object\",\"invalid pixel data type\"),E(t,r),\"x\"in r&&(t.xOffset=0|r.x),\"y\"in r&&(t.yOffset=0|r.y),gr(r.data)&&(n=r.data)),F(!t.compressed||n instanceof Uint8Array,\"compressed texture data must be stored in a uint8array\"),r.copy){F(!n,\"can not specify copy and data field for the same texture\");var i=o.viewportWidth,f=o.viewportHeight;t.width=t.width||i-t.xOffset,t.height=t.height||f-t.yOffset,t.needsCopy=!0,F(t.xOffset>=0&&t.xOffset=0&&t.yOffset0&&t.width<=i&&t.height>0&&t.height<=f,\"copy texture read out of bounds\")}else if(n){if(e(n))t.channels=t.channels||4,t.data=n,\"type\"in r||t.type!==Ot||(t.type=yr(n));else if(mr(n))t.channels=t.channels||4,function(e,t){var r=t.length;switch(e.type){case Ot:case Et:case Tt:case Dt:var n=ae.allocType(e.type,r);n.set(t),e.data=n;break;case mt:e.data=He(t);break;default:F.raise(\"unsupported texture type, must specify a typed array\")}}(t,n),t.alignment=1,t.needsFree=!0;else if(ce(n)){var u=n.data;Array.isArray(u)||t.type!==Ot||(t.type=yr(u));var s,c,l,d,m,p,h=n.shape,b=n.stride;3===h.length?(l=h[2],p=b[2]):(F(2===h.length,\"invalid ndarray pixel data, must be 2 or 3D\"),l=1,p=1),s=h[0],c=h[1],d=b[0],m=b[1],t.alignment=1,t.width=s,t.height=c,t.channels=l,t.format=t.internalformat=tr[l],t.needsFree=!0,function(e,t,r,n,a,i){for(var o=e.width,f=e.height,u=e.channels,s=xr(e,o*f*u),c=0,l=0;l=0,\"oes_texture_float extension not enabled\"):t.type===mt&&F(a.extensions.indexOf(\"oes_texture_half_float\")>=0,\"oes_texture_half_float extension not enabled\")}function C(e,t,n){var a=e.element,o=e.data,f=e.internalformat,u=e.format,s=e.type,c=e.width,l=e.height;T(e),a?r.texImage2D(t,n,u,u,s,a):e.compressed?r.compressedTexImage2D(t,n,f,c,l,0,o):e.needsCopy?(i(),r.copyTexImage2D(t,n,u,e.xOffset,e.yOffset,c,l,0)):r.texImage2D(t,n,u,c,l,0,u,s,o||null)}function z(e,t,n,a,o){var f=e.element,u=e.data,s=e.internalformat,c=e.format,l=e.type,d=e.width,m=e.height;T(e),f?r.texSubImage2D(t,o,n,a,c,l,f):e.compressed?r.compressedTexSubImage2D(t,o,n,a,s,d,m,u):e.needsCopy?(i(),r.copyTexSubImage2D(t,o,n,a,e.xOffset,e.yOffset,d,m)):r.texSubImage2D(t,o,n,a,d,m,c,l,u)}var V=[];function B(){return V.pop()||new D}function I(e){e.needsFree&&ae.freeType(e.data),D.call(e),V.push(e)}function P(){S.call(this),this.genMipmaps=!1,this.mipmapHint=Ht,this.mipmask=0,this.images=Array(16)}function L(e,t,r){var n=e.images[0]=B();e.mipmask=1,n.width=e.width=t,n.height=e.height=r,n.channels=e.channels=4}function R(e,t){var r=null;if(gr(t))O(r=e.images[0]=B(),e),j(r,t),e.mipmask=1;else if(E(e,t),Array.isArray(t.mipmap))for(var n=t.mipmap,a=0;a>=a,r.height>>=a,j(r,n[a]),e.mipmask|=1<=0&&!(\"faces\"in t)&&(e.genMipmaps=!0)}if(\"mag\"in t){var n=t.mag;F.parameter(n,l),e.magFilter=l[n]}var i=e.wrapS,o=e.wrapT;if(\"wrap\"in t){var f=t.wrap;\"string\"==typeof f?(F.parameter(f,c),i=o=c[f]):Array.isArray(f)&&(F.parameter(f[0],c),F.parameter(f[1],c),i=c[f[0]],o=c[f[1]])}else{if(\"wrapS\"in t){var u=t.wrapS;F.parameter(u,c),i=c[u]}if(\"wrapT\"in t){var m=t.wrapT;F.parameter(m,c),o=c[m]}}if(e.wrapS=i,e.wrapT=o,\"anisotropic\"in t){var p=t.anisotropic;F(\"number\"==typeof p&&p>=1&&p<=a.maxAnisotropic,\"aniso samples must be between 1 and \"),e.anisotropic=t.anisotropic}if(\"mipmap\"in t){var h=!1;switch(typeof t.mipmap){case\"string\":F.parameter(t.mipmap,s,\"invalid mipmap hint\"),e.mipmapHint=s[t.mipmap],e.genMipmaps=!0,h=!0;break;case\"boolean\":h=e.genMipmaps=t.mipmap;break;case\"object\":F(Array.isArray(t.mipmap),\"invalid mipmap type\"),e.genMipmaps=!1,h=!0;break;default:F.raise(\"invalid mipmap type\")}h&&!(\"min\"in t)&&(e.minFilter=Rt)}}function q(e,t){r.texParameteri(t,It,e.minFilter),r.texParameteri(t,Bt,e.magFilter),r.texParameteri(t,jt,e.wrapS),r.texParameteri(t,Ct,e.wrapT),n.ext_texture_filter_anisotropic&&r.texParameteri(t,Qt,e.anisotropic),e.genMipmaps&&(r.hint(Gt,e.mipmapHint),r.generateMipmap(t))}var Q=0,Y={},X=a.maxTextureUnits,$=Array(X).map((function(){return null}));function K(e){S.call(this),this.mipmask=0,this.internalformat=Ke,this.id=Q++,this.refCount=1,this.target=e,this.texture=r.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new H,u.profile&&(this.stats={size:0})}function J(e){r.activeTexture(Zt),r.bindTexture(e.target,e.texture)}function Z(){var e=$[0];e?r.bindTexture(e.target,e.texture):r.bindTexture(Ye,null)}function ee(e){var t=e.texture;F(t,\"must not double destroy texture\");var n=e.unit,a=e.target;n>=0&&(r.activeTexture(Zt+n),r.bindTexture(a,null),$[n]=null),r.deleteTexture(t),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete Y[e.id],f.textureCount--}return t(K.prototype,{bind:function(){var e=this;e.bindCount+=1;var t=e.unit;if(t<0){for(var n=0;n0)continue;a.unit=-1}$[n]=e,t=n;break}t>=X&&F.raise(\"insufficient number of texture units\"),u.profile&&f.maxTextureUnits>u)-o,s.height=s.height||(n.height>>u)-f,F(n.type===s.type&&n.format===s.format&&n.internalformat===s.internalformat,\"incompatible format for texture.subimage\"),F(o>=0&&f>=0&&o+s.width<=n.width&&f+s.height<=n.height,\"texture.subimage write out of bounds\"),F(n.mipmask&1<>f;++f){var s=a>>f,c=o>>f;if(!s||!c)break;r.texImage2D(Ye,f,n.format,s,c,0,n.format,n.type,null)}return Z(),u.profile&&(n.stats.size=Ar(n.internalformat,n.type,a,o,!1,!1)),i},i._reglType=\"texture2d\",i._texture=n,u.profile&&(i.stats=n.stats),i.destroy=function(){n.decRef()},i},createCube:function(e,t,n,i,o,s){var c=new K(Xe);Y[c.id]=c,f.cubeCount++;var l=new Array(6);function d(e,t,r,n,i,o){var f,s=c.texInfo;for(H.call(s),f=0;f<6;++f)l[f]=W();if(\"number\"!=typeof e&&e)if(\"object\"==typeof e)if(t)R(l[0],e),R(l[1],t),R(l[2],r),R(l[3],n),R(l[4],i),R(l[5],o);else if(N(s,e),E(c,e),\"faces\"in e){var m=e.faces;for(F(Array.isArray(m)&&6===m.length,\"cube faces must be a length 6 array\"),f=0;f<6;++f)F(\"object\"==typeof m[f]&&!!m[f],\"invalid input for cube map face\"),O(l[f],c),R(l[f],m[f])}else for(f=0;f<6;++f)R(l[f],e);else F.raise(\"invalid arguments to cube map\");else{var p=0|e||1;for(f=0;f<6;++f)L(l[f],p,p)}for(O(c,l[0]),F.optional((function(){a.npotTextureCube||F(qe(c.width)&&qe(c.height),\"your browser does not support non power or two texture dimensions\")})),s.genMipmaps?c.mipmask=(l[0].width<<1)-1:c.mipmask=l[0].mipmask,F.textureCube(c,s,l,a),c.internalformat=l[0].internalformat,d.width=l[0].width,d.height=l[0].height,J(c),f=0;f<6;++f)M(l[f],$e+f);for(q(s,Xe),Z(),u.profile&&(c.stats.size=Ar(c.internalformat,c.type,d.width,d.height,s.genMipmaps,!0)),d.format=y[c.internalformat],d.type=x[c.type],d.mag=w[s.magFilter],d.min=A[s.minFilter],d.wrapS=_[s.wrapS],d.wrapT=_[s.wrapT],f=0;f<6;++f)G(l[f]);return d}return d(e,t,n,i,o,s),d.subimage=function(e,t,r,n,a){F(!!t,\"must specify image data\"),F(\"number\"==typeof e&&e===(0|e)&&e>=0&&e<6,\"invalid face\");var i=0|r,o=0|n,f=0|a,u=B();return O(u,c),u.width=0,u.height=0,j(u,t),u.width=u.width||(c.width>>f)-i,u.height=u.height||(c.height>>f)-o,F(c.type===u.type&&c.format===u.format&&c.internalformat===u.internalformat,\"incompatible format for texture.subimage\"),F(i>=0&&o>=0&&i+u.width<=c.width&&o+u.height<=c.height,\"texture.subimage write out of bounds\"),F(c.mipmask&1<>a;++a)r.texImage2D($e+n,a,c.format,t>>a,t>>a,0,c.format,c.type,null);return Z(),u.profile&&(c.stats.size=Ar(c.internalformat,c.type,d.width,d.height,!1,!0)),d}},d._reglType=\"textureCube\",d._texture=c,u.profile&&(d.stats=c.stats),d.destroy=function(){c.decRef()},d},clear:function(){for(var e=0;e>t,e.height>>t,0,e.internalformat,e.type,null);else for(var n=0;n<6;++n)r.texImage2D($e+n,t,e.internalformat,e.width>>t,e.height>>t,0,e.internalformat,e.type,null);q(e.texInfo,e.target)}))},refresh:function(){for(var e=0;e=2,\"invalid renderbuffer shape\"),f=0|m[0],u=0|m[1]}else\"radius\"in d&&(f=u=0|d.radius),\"width\"in d&&(f=0|d.width),\"height\"in d&&(u=0|d.height);\"format\"in d&&(F.parameter(d.format,i,\"invalid renderbuffer format\"),s=i[d.format])}else\"number\"==typeof t?(f=0|t,u=\"number\"==typeof n?0|n:f):t?F.raise(\"invalid arguments to renderbuffer constructor\"):f=u=1;if(F(f>0&&u>0&&f<=r.maxRenderbufferSize&&u<=r.maxRenderbufferSize,\"invalid renderbuffer size\"),f!==c.width||u!==c.height||s!==c.format)return l.width=c.width=f,l.height=c.height=u,c.format=s,e.bindRenderbuffer(kr,c.renderbuffer),e.renderbufferStorage(kr,s,f,u),F(0===e.getError(),\"invalid render buffer format\"),a.profile&&(c.stats.size=Er(c.format,c.width,c.height)),l.format=o[c.format],l}return u[c.id]=c,n.renderbufferCount++,l(t,f),l.resize=function(t,n){var i=0|t,o=0|n||i;return i===c.width&&o===c.height||(F(i>0&&o>0&&i<=r.maxRenderbufferSize&&o<=r.maxRenderbufferSize,\"invalid renderbuffer size\"),l.width=c.width=i,l.height=c.height=o,e.bindRenderbuffer(kr,c.renderbuffer),e.renderbufferStorage(kr,c.format,i,o),F(0===e.getError(),\"invalid render buffer format\"),a.profile&&(c.stats.size=Er(c.format,c.width,c.height))),l},l._reglType=\"renderbuffer\",l._renderbuffer=c,a.profile&&(l.stats=c.stats),l.destroy=function(){c.decRef()},l},clear:function(){le(u).forEach(c)},restore:function(){le(u).forEach((function(t){t.renderbuffer=e.createRenderbuffer(),e.bindRenderbuffer(kr,t.renderbuffer),e.renderbufferStorage(kr,t.format,t.width,t.height)})),e.bindRenderbuffer(kr,null)}}},Dr=36160,jr=36161,Cr=3553,zr=34069,Fr=36064,Vr=36096,Br=36128,Ir=33306,Pr=36053,Lr=6402,Rr=[6407,6408],Mr=[];Mr[6408]=4,Mr[6407]=3;var Ur=[];Ur[5121]=1,Ur[5126]=4,Ur[36193]=2;var Wr=33189,Gr=36168,Hr=34041,Nr=[32854,32855,36194,35907,34842,34843,34836],qr={};qr[Pr]=\"complete\",qr[36054]=\"incomplete attachment\",qr[36057]=\"incomplete dimensions\",qr[36055]=\"incomplete, missing attachment\",qr[36061]=\"unsupported\";var Qr=5126,Yr=34962,Xr=34963,$r=[\"attributes\",\"elements\",\"offset\",\"count\",\"primitive\",\"instances\"];function Kr(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=Qr,this.offset=0,this.stride=0,this.divisor=0}var Jr=35632,Zr=35633,en=35718,tn=35721,rn=6408,nn=5121,an=3333,on=5126;function fn(t,r,n,a,i,o,f){function u(u){var s;null===r.next?(F(i.preserveDrawingBuffer,'you must create a webgl context with \"preserveDrawingBuffer\":true in order to read pixels from the drawing buffer'),s=nn):(F(null!==r.next.colorAttachments[0].texture,\"You cannot read from a renderbuffer\"),s=r.next.colorAttachments[0].texture._texture.type,F.optional((function(){o.oes_texture_float?(F(s===nn||s===on,\"Reading from a framebuffer is only allowed for the types 'uint8' and 'float'\"),s===on&&F(f.readFloat,\"Reading 'float' values is not permitted in your browser. For a fallback, please see: https://www.npmjs.com/package/glsl-read-float\")):F(s===nn,\"Reading from a framebuffer is only allowed for the type 'uint8'\")})));var c=0,l=0,d=a.framebufferWidth,m=a.framebufferHeight,p=null;e(u)?p=u:u&&(F.type(u,\"object\",\"invalid arguments to regl.read()\"),c=0|u.x,l=0|u.y,F(c>=0&&c=0&&l0&&d+c<=a.framebufferWidth,\"invalid width for read pixels\"),F(m>0&&m+l<=a.framebufferHeight,\"invalid height for read pixels\"),n();var h=d*m*4;return p||(s===nn?p=new Uint8Array(h):s===on&&(p=p||new Float32Array(h))),F.isTypedArray(p,\"data buffer for regl.read() must be a typedarray\"),F(p.byteLength>=h,\"data buffer for regl.read() too small\"),t.pixelStorei(an,4),t.readPixels(c,l,d,m,rn,s,p),p}return function(e){return e&&\"framebuffer\"in e?function(e){var t;return r.setFBO({framebuffer:e.framebuffer},(function(){t=u(e)})),t}(e):u(e)}}function un(e){return Array.prototype.slice.call(e)}function sn(e){return un(e).join(\"\")}var cn=\"xyzw\".split(\"\"),ln=5121,dn=1,mn=2,pn=0,hn=1,bn=2,vn=3,gn=4,yn=5,xn=6,wn=\"dither\",An=\"blend.enable\",_n=\"blend.color\",kn=\"blend.equation\",Sn=\"blend.func\",On=\"depth.enable\",En=\"depth.func\",Tn=\"depth.range\",Dn=\"depth.mask\",jn=\"colorMask\",Cn=\"cull.enable\",zn=\"cull.face\",Fn=\"frontFace\",Vn=\"lineWidth\",Bn=\"polygonOffset.enable\",In=\"polygonOffset.offset\",Pn=\"sample.alpha\",Ln=\"sample.enable\",Rn=\"sample.coverage\",Mn=\"stencil.enable\",Un=\"stencil.mask\",Wn=\"stencil.func\",Gn=\"stencil.opFront\",Hn=\"stencil.opBack\",Nn=\"scissor.enable\",qn=\"scissor.box\",Qn=\"viewport\",Yn=\"profile\",Xn=\"framebuffer\",$n=\"vert\",Kn=\"frag\",Jn=\"elements\",Zn=\"primitive\",ea=\"count\",ta=\"offset\",ra=\"instances\",na=\"vao\",aa=\"Width\",ia=\"Height\",oa=Xn+aa,fa=Xn+ia,ua=Qn+aa,sa=Qn+ia,ca=\"drawingBuffer\",la=ca+aa,da=ca+ia,ma=[Sn,kn,Wn,Gn,Hn,Rn,Qn,qn,In],pa=34962,ha=34963,ba=3553,va=34067,ga=2884,ya=3042,xa=3024,wa=2960,Aa=2929,_a=3089,ka=32823,Sa=32926,Oa=32928,Ea=5126,Ta=35664,Da=35665,ja=35666,Ca=5124,za=35667,Fa=35668,Va=35669,Ba=35670,Ia=35671,Pa=35672,La=35673,Ra=35674,Ma=35675,Ua=35676,Wa=35678,Ga=35680,Ha=4,Na=1028,qa=1029,Qa=2304,Ya=2305,Xa=32775,$a=32776,Ka=519,Ja=7680,Za=0,ei=1,ti=32774,ri=513,ni=36160,ai=36064,ii={0:0,1:1,zero:0,one:1,\"src color\":768,\"one minus src color\":769,\"src alpha\":770,\"one minus src alpha\":771,\"dst color\":774,\"one minus dst color\":775,\"dst alpha\":772,\"one minus dst alpha\":773,\"constant color\":32769,\"one minus constant color\":32770,\"constant alpha\":32771,\"one minus constant alpha\":32772,\"src alpha saturate\":776},oi=[\"constant color, constant alpha\",\"one minus constant color, constant alpha\",\"constant color, one minus constant alpha\",\"one minus constant color, one minus constant alpha\",\"constant alpha, constant color\",\"constant alpha, one minus constant color\",\"one minus constant alpha, constant color\",\"one minus constant alpha, one minus constant color\"],fi={never:512,less:513,\"<\":513,equal:514,\"=\":514,\"==\":514,\"===\":514,lequal:515,\"<=\":515,greater:516,\">\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},ui={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},si={frag:35632,vert:35633},ci={cw:Qa,ccw:Ya};function li(t){return Array.isArray(t)||e(t)||ce(t)}function di(e){return e.sort((function(e,t){return e===Qn?-1:t===Qn?1:e=1,n>=2,t)}if(r===gn){var a=e.data;return new mi(a.thisDep,a.contextDep,a.propDep,t)}if(r===yn)return new mi(!1,!1,!1,t);if(r===xn){for(var i=!1,o=!1,f=!1,u=0;u=1&&(o=!0),c>=2&&(f=!0)}else s.type===gn&&(i=i||s.data.thisDep,o=o||s.data.contextDep,f=f||s.data.propDep)}return new mi(i,o,f,t)}return new mi(r===vn,r===bn,r===hn,t)}var vi=new mi(!1,!1,!1,(function(){}));function gi(e,r,n,a,i,o,f,u,s,c,l,d,m,p,h){var b=c.Record,v={add:32774,subtract:32778,\"reverse subtract\":32779};n.ext_blend_minmax&&(v.min=Xa,v.max=$a);var g=n.angle_instanced_arrays,y=n.webgl_draw_buffers,x=n.oes_vertex_array_object,w={dirty:!0,profile:h.profile},A={},_=[],k={},S={};function O(e){return e.replace(\".\",\"_\")}function E(e,t,r){var n=O(e);_.push(e),A[n]=w[n]=!!r,k[n]=t}function T(e,t,r){var n=O(e);_.push(e),Array.isArray(r)?(w[n]=r.slice(),A[n]=r.slice()):w[n]=A[n]=r,S[n]=t}E(wn,xa),E(An,ya),T(_n,\"blendColor\",[0,0,0,0]),T(kn,\"blendEquationSeparate\",[ti,ti]),T(Sn,\"blendFuncSeparate\",[ei,Za,ei,Za]),E(On,Aa,!0),T(En,\"depthFunc\",ri),T(Tn,\"depthRange\",[0,1]),T(Dn,\"depthMask\",!0),T(jn,jn,[!0,!0,!0,!0]),E(Cn,ga),T(zn,\"cullFace\",qa),T(Fn,Fn,Ya),T(Vn,Vn,1),E(Bn,ka),T(In,\"polygonOffset\",[0,0]),E(Pn,Sa),E(Ln,Oa),T(Rn,\"sampleCoverage\",[1,!1]),E(Mn,wa),T(Un,\"stencilMask\",-1),T(Wn,\"stencilFunc\",[Ka,0,-1]),T(Gn,\"stencilOpSeparate\",[Na,Ja,Ja,Ja]),T(Hn,\"stencilOpSeparate\",[qa,Ja,Ja,Ja]),E(Nn,_a),T(qn,\"scissor\",[0,0,e.drawingBufferWidth,e.drawingBufferHeight]),T(Qn,Qn,[0,0,e.drawingBufferWidth,e.drawingBufferHeight]);var D={gl:e,context:m,strings:r,next:A,current:w,draw:d,elements:o,buffer:i,shader:l,attributes:c.state,vao:c,uniforms:s,framebuffer:u,extensions:n,timer:p,isBufferArgs:li},j={primTypes:Te,compareFuncs:fi,blendFuncs:ii,blendEquations:v,stencilOps:ui,glTypes:be,orientationType:ci};F.optional((function(){D.isArrayLike=Ne})),y&&(j.backBuffer=[qa],j.drawBuffer=Y(a.maxDrawbuffers,(function(e){return 0===e?[0]:Y(e,(function(e){return ai+e}))})));var C=0;function z(){var e=function(){var e=0,r=[],n=[];function a(){var r=[],n=[];return t((function(){r.push.apply(r,un(arguments))}),{def:function(){var t=\"v\"+e++;return n.push(t),arguments.length>0&&(r.push(t,\"=\"),r.push.apply(r,un(arguments)),r.push(\";\")),t},toString:function(){return sn([n.length>0?\"var \"+n.join(\",\")+\";\":\"\",sn(r)])}})}function i(){var e=a(),r=a(),n=e.toString,i=r.toString;function o(t,n){r(t,n,\"=\",e.def(t,n),\";\")}return t((function(){e.apply(e,un(arguments))}),{def:e.def,entry:e,exit:r,save:o,set:function(t,r,n){o(t,r),e(t,r,\"=\",n,\";\")},toString:function(){return n()+i()}})}var o=a(),f={};return{global:o,link:function(t){for(var a=0;a=0,'unknown parameter \"'+t+'\"',d.commandStr)}))}t(m),t(p)}));var h=function(e,t){var r=e.static;if(\"string\"==typeof r[Kn]&&\"string\"==typeof r[$n]){if(Object.keys(t.dynamic).length>0)return null;var n=t.static,a=Object.keys(n);if(a.length>0&&\"number\"==typeof n[a[0]]){for(var i=[],o=0;o=0,\"invalid \"+e,r.commandStr)):u=!1,\"height\"in i?(f=0|i.height,F.command(f>=0,\"invalid \"+e,r.commandStr)):u=!1,new mi(!u&&t&&t.thisDep,!u&&t&&t.contextDep,!u&&t&&t.propDep,(function(e,t){var r=e.shared.context,n=o;\"width\"in i||(n=t.def(r,\".\",oa,\"-\",s));var a=f;return\"height\"in i||(a=t.def(r,\".\",fa,\"-\",c)),[s,c,n,a]}))}if(e in a){var l=a[e],d=bi(l,(function(t,r){var n=t.invoke(r,l);F.optional((function(){t.assert(r,n+\"&&typeof \"+n+'===\"object\"',\"invalid \"+e)}));var a=t.shared.context,i=r.def(n,\".x|0\"),o=r.def(n,\".y|0\"),f=r.def('\"width\" in ',n,\"?\",n,\".width|0:\",\"(\",a,\".\",oa,\"-\",i,\")\"),u=r.def('\"height\" in ',n,\"?\",n,\".height|0:\",\"(\",a,\".\",fa,\"-\",o,\")\");return F.optional((function(){t.assert(r,f+\">=0&&\"+u+\">=0\",\"invalid \"+e)})),[i,o,f,u]}));return t&&(d.thisDep=d.thisDep||t.thisDep,d.contextDep=d.contextDep||t.contextDep,d.propDep=d.propDep||t.propDep),d}return t?new mi(t.thisDep,t.contextDep,t.propDep,(function(e,t){var r=e.shared.context;return[0,0,t.def(r,\".\",oa),t.def(r,\".\",fa)]})):null}var o=i(Qn);if(o){var f=o;o=new mi(o.thisDep,o.contextDep,o.propDep,(function(e,t){var r=f.append(e,t),n=e.shared.context;return t.set(n,\".\"+ua,r[2]),t.set(n,\".\"+sa,r[3]),r}))}return{viewport:o,scissor_box:i(qn)}}(e,y,d),w=function(e,t){var r=e.static,n=e.dynamic,a={},i=!1,f=function(){if(na in r){var e=r[na];return null!==e&&null===c.getVAO(e)&&(e=c.createVAO(e)),i=!0,a.vao=e,hi((function(t){var r=c.getVAO(e);return r?t.link(r):\"null\"}))}if(na in n){i=!0;var t=n[na];return bi(t,(function(e,r){var n=e.invoke(r,t);return r.def(e.shared.vao+\".getVAO(\"+n+\")\")}))}return null}(),u=!1,s=function(){if(Jn in r){var e=r[Jn];if(a.elements=e,li(e)){var s=a.elements=o.create(e,!0);e=o.getElements(s),u=!0}else e&&(e=o.getElements(e),u=!0,F.command(e,\"invalid elements\",t.commandStr));var c=hi((function(t,r){if(e){var n=t.link(e);return t.ELEMENTS=n,n}return t.ELEMENTS=null,null}));return c.value=e,c}if(Jn in n){u=!0;var l=n[Jn];return bi(l,(function(e,t){var r=e.shared,n=r.isBufferArgs,a=r.elements,i=e.invoke(t,l),o=t.def(\"null\"),f=t.def(n,\"(\",i,\")\"),u=e.cond(f).then(o,\"=\",a,\".createStream(\",i,\");\").else(o,\"=\",a,\".getElements(\",i,\");\");return F.optional((function(){e.assert(u.else,\"!\"+i+\"||\"+o,\"invalid elements\")})),t.entry(u),t.exit(e.cond(f).then(a,\".destroyStream(\",o,\");\")),e.ELEMENTS=o,o}))}return i?new mi(f.thisDep,f.contextDep,f.propDep,(function(e,t){return t.def(e.shared.vao+\".currentVAO?\"+e.shared.elements+\".getElements(\"+e.shared.vao+\".currentVAO.elements):null\")})):null}();function l(e,o){if(e in r){var s=0|r[e];return o?a.offset=s:a.instances=s,F.command(!o||s>=0,\"invalid \"+e,t.commandStr),hi((function(e,t){return o&&(e.OFFSET=s),s}))}if(e in n){var c=n[e];return bi(c,(function(t,r){var n=t.invoke(r,c);return o&&(t.OFFSET=n,F.optional((function(){t.assert(r,n+\">=0\",\"invalid \"+e)}))),n}))}if(o){if(u)return hi((function(e,t){return e.OFFSET=0,0}));if(i)return new mi(f.thisDep,f.contextDep,f.propDep,(function(e,t){return t.def(e.shared.vao+\".currentVAO?\"+e.shared.vao+\".currentVAO.offset:0\")}))}else if(i)return new mi(f.thisDep,f.contextDep,f.propDep,(function(e,t){return t.def(e.shared.vao+\".currentVAO?\"+e.shared.vao+\".currentVAO.instances:-1\")}));return null}var d=l(ta,!0),m=function(){if(Zn in r){var e=r[Zn];return a.primitive=e,F.commandParameter(e,Te,\"invalid primitve\",t.commandStr),hi((function(t,r){return Te[e]}))}if(Zn in n){var o=n[Zn];return bi(o,(function(e,t){var r=e.constants.primTypes,n=e.invoke(t,o);return F.optional((function(){e.assert(t,n+\" in \"+r,\"invalid primitive, must be one of \"+Object.keys(Te))})),t.def(r,\"[\",n,\"]\")}))}return u?pi(s)?s.value?hi((function(e,t){return t.def(e.ELEMENTS,\".primType\")})):hi((function(){return Ha})):new mi(s.thisDep,s.contextDep,s.propDep,(function(e,t){var r=e.ELEMENTS;return t.def(r,\"?\",r,\".primType:\",Ha)})):i?new mi(f.thisDep,f.contextDep,f.propDep,(function(e,t){return t.def(e.shared.vao+\".currentVAO?\"+e.shared.vao+\".currentVAO.primitive:\"+Ha)})):null}(),p=function(){if(ea in r){var e=0|r[ea];return a.count=e,F.command(\"number\"==typeof e&&e>=0,\"invalid vertex count\",t.commandStr),hi((function(){return e}))}if(ea in n){var o=n[ea];return bi(o,(function(e,t){var r=e.invoke(t,o);return F.optional((function(){e.assert(t,\"typeof \"+r+'===\"number\"&&'+r+\">=0&&\"+r+\"===(\"+r+\"|0)\",\"invalid vertex count\")})),r}))}if(u){if(pi(s)){if(s)return d?new mi(d.thisDep,d.contextDep,d.propDep,(function(e,t){var r=t.def(e.ELEMENTS,\".vertCount-\",e.OFFSET);return F.optional((function(){e.assert(t,r+\">=0\",\"invalid vertex offset/element buffer too small\")})),r})):hi((function(e,t){return t.def(e.ELEMENTS,\".vertCount\")}));var c=hi((function(){return-1}));return F.optional((function(){c.MISSING=!0})),c}var l=new mi(s.thisDep||d.thisDep,s.contextDep||d.contextDep,s.propDep||d.propDep,(function(e,t){var r=e.ELEMENTS;return e.OFFSET?t.def(r,\"?\",r,\".vertCount-\",e.OFFSET,\":-1\"):t.def(r,\"?\",r,\".vertCount:-1\")}));return F.optional((function(){l.DYNAMIC=!0})),l}if(i){var m=new mi(f.thisDep,f.contextDep,f.propDep,(function(e,t){return t.def(e.shared.vao,\".currentVAO?\",e.shared.vao,\".currentVAO.count:-1\")}));return m}return null}(),h=l(ra,!1);return{elements:s,primitive:m,count:p,instances:h,offset:d,vao:f,vaoActive:i,elementsActive:u,static:a}}(e,d),A=function(e,t){var r=e.static,n=e.dynamic,i={};return _.forEach((function(e){var o=O(e);function f(t,a){if(e in r){var f=t(r[e]);i[o]=hi((function(){return f}))}else if(e in n){var u=n[e];i[o]=bi(u,(function(e,t){return a(e,t,e.invoke(t,u))}))}}switch(e){case Cn:case An:case wn:case Mn:case On:case Nn:case Bn:case Pn:case Ln:case Dn:return f((function(r){return F.commandType(r,\"boolean\",e,t.commandStr),r}),(function(t,r,n){return F.optional((function(){t.assert(r,\"typeof \"+n+'===\"boolean\"',\"invalid flag \"+e,t.commandStr)})),n}));case En:return f((function(r){return F.commandParameter(r,fi,\"invalid \"+e,t.commandStr),fi[r]}),(function(t,r,n){var a=t.constants.compareFuncs;return F.optional((function(){t.assert(r,n+\" in \"+a,\"invalid \"+e+\", must be one of \"+Object.keys(fi))})),r.def(a,\"[\",n,\"]\")}));case Tn:return f((function(e){return F.command(Ne(e)&&2===e.length&&\"number\"==typeof e[0]&&\"number\"==typeof e[1]&&e[0]<=e[1],\"depth range is 2d array\",t.commandStr),e}),(function(e,t,r){return F.optional((function(){e.assert(t,e.shared.isArrayLike+\"(\"+r+\")&&\"+r+\".length===2&&typeof \"+r+'[0]===\"number\"&&typeof '+r+'[1]===\"number\"&&'+r+\"[0]<=\"+r+\"[1]\",\"depth range must be a 2d array\")})),[t.def(\"+\",r,\"[0]\"),t.def(\"+\",r,\"[1]\")]}));case Sn:return f((function(e){F.commandType(e,\"object\",\"blend.func\",t.commandStr);var r=\"srcRGB\"in e?e.srcRGB:e.src,n=\"srcAlpha\"in e?e.srcAlpha:e.src,a=\"dstRGB\"in e?e.dstRGB:e.dst,i=\"dstAlpha\"in e?e.dstAlpha:e.dst;return F.commandParameter(r,ii,o+\".srcRGB\",t.commandStr),F.commandParameter(n,ii,o+\".srcAlpha\",t.commandStr),F.commandParameter(a,ii,o+\".dstRGB\",t.commandStr),F.commandParameter(i,ii,o+\".dstAlpha\",t.commandStr),F.command(-1===oi.indexOf(r+\", \"+a),\"unallowed blending combination (srcRGB, dstRGB) = (\"+r+\", \"+a+\")\",t.commandStr),[ii[r],ii[a],ii[n],ii[i]]}),(function(t,r,n){var a=t.constants.blendFuncs;function i(i,o){var f=r.def('\"',i,o,'\" in ',n,\"?\",n,\".\",i,o,\":\",n,\".\",i);return F.optional((function(){t.assert(r,f+\" in \"+a,\"invalid \"+e+\".\"+i+o+\", must be one of \"+Object.keys(ii))})),f}F.optional((function(){t.assert(r,n+\"&&typeof \"+n+'===\"object\"',\"invalid blend func, must be an object\")}));var o=i(\"src\",\"RGB\"),f=i(\"dst\",\"RGB\");F.optional((function(){var e=t.constants.invalidBlendCombinations;t.assert(r,e+\".indexOf(\"+o+'+\", \"+'+f+\") === -1 \",\"unallowed blending combination for (srcRGB, dstRGB)\")}));var u=r.def(a,\"[\",o,\"]\"),s=r.def(a,\"[\",i(\"src\",\"Alpha\"),\"]\");return[u,r.def(a,\"[\",f,\"]\"),s,r.def(a,\"[\",i(\"dst\",\"Alpha\"),\"]\")]}));case kn:return f((function(r){return\"string\"==typeof r?(F.commandParameter(r,v,\"invalid \"+e,t.commandStr),[v[r],v[r]]):\"object\"==typeof r?(F.commandParameter(r.rgb,v,e+\".rgb\",t.commandStr),F.commandParameter(r.alpha,v,e+\".alpha\",t.commandStr),[v[r.rgb],v[r.alpha]]):void F.commandRaise(\"invalid blend.equation\",t.commandStr)}),(function(t,r,n){var a=t.constants.blendEquations,i=r.def(),o=r.def(),f=t.cond(\"typeof \",n,'===\"string\"');return F.optional((function(){function r(e,r,n){t.assert(e,n+\" in \"+a,\"invalid \"+r+\", must be one of \"+Object.keys(v))}r(f.then,e,n),t.assert(f.else,n+\"&&typeof \"+n+'===\"object\"',\"invalid \"+e),r(f.else,e+\".rgb\",n+\".rgb\"),r(f.else,e+\".alpha\",n+\".alpha\")})),f.then(i,\"=\",o,\"=\",a,\"[\",n,\"];\"),f.else(i,\"=\",a,\"[\",n,\".rgb];\",o,\"=\",a,\"[\",n,\".alpha];\"),r(f),[i,o]}));case _n:return f((function(e){return F.command(Ne(e)&&4===e.length,\"blend.color must be a 4d array\",t.commandStr),Y(4,(function(t){return+e[t]}))}),(function(e,t,r){return F.optional((function(){e.assert(t,e.shared.isArrayLike+\"(\"+r+\")&&\"+r+\".length===4\",\"blend.color must be a 4d array\")})),Y(4,(function(e){return t.def(\"+\",r,\"[\",e,\"]\")}))}));case Un:return f((function(e){return F.commandType(e,\"number\",o,t.commandStr),0|e}),(function(e,t,r){return F.optional((function(){e.assert(t,\"typeof \"+r+'===\"number\"',\"invalid stencil.mask\")})),t.def(r,\"|0\")}));case Wn:return f((function(r){F.commandType(r,\"object\",o,t.commandStr);var n=r.cmp||\"keep\",a=r.ref||0,i=\"mask\"in r?r.mask:-1;return F.commandParameter(n,fi,e+\".cmp\",t.commandStr),F.commandType(a,\"number\",e+\".ref\",t.commandStr),F.commandType(i,\"number\",e+\".mask\",t.commandStr),[fi[n],a,i]}),(function(e,t,r){var n=e.constants.compareFuncs;return F.optional((function(){function a(){e.assert(t,Array.prototype.join.call(arguments,\"\"),\"invalid stencil.func\")}a(r+\"&&typeof \",r,'===\"object\"'),a('!(\"cmp\" in ',r,\")||(\",r,\".cmp in \",n,\")\")})),[t.def('\"cmp\" in ',r,\"?\",n,\"[\",r,\".cmp]\",\":\",Ja),t.def(r,\".ref|0\"),t.def('\"mask\" in ',r,\"?\",r,\".mask|0:-1\")]}));case Gn:case Hn:return f((function(r){F.commandType(r,\"object\",o,t.commandStr);var n=r.fail||\"keep\",a=r.zfail||\"keep\",i=r.zpass||\"keep\";return F.commandParameter(n,ui,e+\".fail\",t.commandStr),F.commandParameter(a,ui,e+\".zfail\",t.commandStr),F.commandParameter(i,ui,e+\".zpass\",t.commandStr),[e===Hn?qa:Na,ui[n],ui[a],ui[i]]}),(function(t,r,n){var a=t.constants.stencilOps;function i(i){return F.optional((function(){t.assert(r,'!(\"'+i+'\" in '+n+\")||(\"+n+\".\"+i+\" in \"+a+\")\",\"invalid \"+e+\".\"+i+\", must be one of \"+Object.keys(ui))})),r.def('\"',i,'\" in ',n,\"?\",a,\"[\",n,\".\",i,\"]:\",Ja)}return F.optional((function(){t.assert(r,n+\"&&typeof \"+n+'===\"object\"',\"invalid \"+e)})),[e===Hn?qa:Na,i(\"fail\"),i(\"zfail\"),i(\"zpass\")]}));case In:return f((function(e){F.commandType(e,\"object\",o,t.commandStr);var r=0|e.factor,n=0|e.units;return F.commandType(r,\"number\",o+\".factor\",t.commandStr),F.commandType(n,\"number\",o+\".units\",t.commandStr),[r,n]}),(function(t,r,n){return F.optional((function(){t.assert(r,n+\"&&typeof \"+n+'===\"object\"',\"invalid \"+e)})),[r.def(n,\".factor|0\"),r.def(n,\".units|0\")]}));case zn:return f((function(e){var r=0;return\"front\"===e?r=Na:\"back\"===e&&(r=qa),F.command(!!r,o,t.commandStr),r}),(function(e,t,r){return F.optional((function(){e.assert(t,r+'===\"front\"||'+r+'===\"back\"',\"invalid cull.face\")})),t.def(r,'===\"front\"?',Na,\":\",qa)}));case Vn:return f((function(e){return F.command(\"number\"==typeof e&&e>=a.lineWidthDims[0]&&e<=a.lineWidthDims[1],\"invalid line width, must be a positive number between \"+a.lineWidthDims[0]+\" and \"+a.lineWidthDims[1],t.commandStr),e}),(function(e,t,r){return F.optional((function(){e.assert(t,\"typeof \"+r+'===\"number\"&&'+r+\">=\"+a.lineWidthDims[0]+\"&&\"+r+\"<=\"+a.lineWidthDims[1],\"invalid line width\")})),r}));case Fn:return f((function(e){return F.commandParameter(e,ci,o,t.commandStr),ci[e]}),(function(e,t,r){return F.optional((function(){e.assert(t,r+'===\"cw\"||'+r+'===\"ccw\"',\"invalid frontFace, must be one of cw,ccw\")})),t.def(r+'===\"cw\"?'+Qa+\":\"+Ya)}));case jn:return f((function(e){return F.command(Ne(e)&&4===e.length,\"color.mask must be length 4 array\",t.commandStr),e.map((function(e){return!!e}))}),(function(e,t,r){return F.optional((function(){e.assert(t,e.shared.isArrayLike+\"(\"+r+\")&&\"+r+\".length===4\",\"invalid color.mask\")})),Y(4,(function(e){return\"!!\"+r+\"[\"+e+\"]\"}))}));case Rn:return f((function(e){F.command(\"object\"==typeof e&&e,o,t.commandStr);var r=\"value\"in e?e.value:1,n=!!e.invert;return F.command(\"number\"==typeof r&&r>=0&&r<=1,\"sample.coverage.value must be a number between 0 and 1\",t.commandStr),[r,n]}),(function(e,t,r){return F.optional((function(){e.assert(t,r+\"&&typeof \"+r+'===\"object\"',\"invalid sample.coverage\")})),[t.def('\"value\" in ',r,\"?+\",r,\".value:1\"),t.def(\"!!\",r,\".invert\")]}))}})),i}(e,d),k=function(e,t,n){var a=e.static,i=e.dynamic;function o(e){if(e in a){var t=r.id(a[e]);F.optional((function(){l.shader(si[e],t,F.guessCommand())}));var n=hi((function(){return t}));return n.id=t,n}if(e in i){var o=i[e];return bi(o,(function(t,r){var n=t.invoke(r,o),a=r.def(t.shared.strings,\".id(\",n,\")\");return F.optional((function(){r(t.shared.shader,\".shader(\",si[e],\",\",a,\",\",t.command,\");\")})),a}))}return null}var f,u=o(Kn),s=o($n),c=null;return pi(u)&&pi(s)?(c=l.program(s.id,u.id,null,n),f=hi((function(e,t){return e.link(c)}))):f=new mi(u&&u.thisDep||s&&s.thisDep,u&&u.contextDep||s&&s.contextDep,u&&u.propDep||s&&s.propDep,(function(e,t){var r,n=e.shared.shader;r=u?u.append(e,t):t.def(n,\".\",Kn);var a=n+\".program(\"+(s?s.append(e,t):t.def(n,\".\",$n))+\",\"+r;return F.optional((function(){a+=\",\"+e.command})),t.def(a+\")\")})),{frag:u,vert:s,progVar:f,program:c}}(e,0,h);function S(e){var t=x[e];t&&(A[e]=t)}S(Qn),S(O(qn));var E=Object.keys(A).length>0,T={framebuffer:y,draw:w,shader:k,state:A,dirty:E,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(T.profile=function(e){var t,r=e.static,n=e.dynamic;if(Yn in r){var a=!!r[Yn];(t=hi((function(e,t){return a}))).enable=a}else if(Yn in n){var i=n[Yn];t=bi(i,(function(e,t){return e.invoke(t,i)}))}return t}(e),T.uniforms=function(e,t){var r=e.static,n=e.dynamic,a={};return Object.keys(r).forEach((function(e){var n,i=r[e];if(\"number\"==typeof i||\"boolean\"==typeof i)n=hi((function(){return i}));else if(\"function\"==typeof i){var o=i._reglType;\"texture2d\"===o||\"textureCube\"===o?n=hi((function(e){return e.link(i)})):\"framebuffer\"===o||\"framebufferCube\"===o?(F.command(i.color.length>0,'missing color attachment for framebuffer sent to uniform \"'+e+'\"',t.commandStr),n=hi((function(e){return e.link(i.color[0])}))):F.commandRaise('invalid data for uniform \"'+e+'\"',t.commandStr)}else Ne(i)?n=hi((function(t){return t.global.def(\"[\",Y(i.length,(function(r){return F.command(\"number\"==typeof i[r]||\"boolean\"==typeof i[r],\"invalid uniform \"+e,t.commandStr),i[r]})),\"]\")})):F.commandRaise('invalid or missing data for uniform \"'+e+'\"',t.commandStr);n.value=i,a[e]=n})),Object.keys(n).forEach((function(e){var t=n[e];a[e]=bi(t,(function(e,r){return e.invoke(r,t)}))})),a}(f,d),T.drawVAO=T.scopeVAO=w.vao,!T.drawVAO&&k.program&&!h&&n.angle_instanced_arrays&&w.static.elements){var D=!0,j=k.program.attributes.map((function(e){var r=t.static[e];return D=D&&!!r,r}));if(D&&j.length>0){var C=c.getVAO(c.createVAO({attributes:j,elements:w.static.elements}));T.drawVAO=new mi(null,null,null,(function(e,t){return e.link(C)})),T.useVAO=!0}}return h?T.useVAO=!0:T.attributes=function(e,t){var n=e.static,a=e.dynamic,o={};return Object.keys(n).forEach((function(e){var a=n[e],f=r.id(e),u=new b;if(li(a))u.state=dn,u.buffer=i.getBuffer(i.create(a,pa,!1,!0)),u.type=0;else{var s=i.getBuffer(a);if(s)u.state=dn,u.buffer=s,u.type=0;else if(F.command(\"object\"==typeof a&&a,\"invalid data for attribute \"+e,t.commandStr),\"constant\"in a){var c=a.constant;u.buffer=\"null\",u.state=mn,\"number\"==typeof c?u.x=c:(F.command(Ne(c)&&c.length>0&&c.length<=4,\"invalid constant for attribute \"+e,t.commandStr),cn.forEach((function(e,t){t=0,'invalid offset for attribute \"'+e+'\"',t.commandStr);var d=0|a.stride;F.command(d>=0&&d<256,'invalid stride for attribute \"'+e+'\", must be integer betweeen [0, 255]',t.commandStr);var m=0|a.size;F.command(!(\"size\"in a)||m>0&&m<=4,'invalid size for attribute \"'+e+'\", must be 1,2,3,4',t.commandStr);var p=!!a.normalized,h=0;\"type\"in a&&(F.commandParameter(a.type,be,\"invalid type for attribute \"+e,t.commandStr),h=be[a.type]);var v=0|a.divisor;F.optional((function(){\"divisor\"in a&&(F.command(0===v||g,'cannot specify divisor for attribute \"'+e+'\", instancing not supported',t.commandStr),F.command(v>=0,'invalid divisor for attribute \"'+e+'\"',t.commandStr));var r=t.commandStr,n=[\"buffer\",\"offset\",\"divisor\",\"normalized\",\"type\",\"size\",\"stride\"];Object.keys(a).forEach((function(t){F.command(n.indexOf(t)>=0,'unknown parameter \"'+t+'\" for attribute pointer \"'+e+'\" (valid parameters are '+n+\")\",r)}))})),u.buffer=s,u.state=dn,u.size=m,u.normalized=p,u.type=h||s.dtype,u.offset=l,u.stride=d,u.divisor=v}}o[e]=hi((function(e,t){var r=e.attribCache;if(f in r)return r[f];var n={isStream:!1};return Object.keys(u).forEach((function(e){n[e]=u[e]})),u.buffer&&(n.buffer=e.link(u.buffer),n.type=n.type||n.buffer+\".dtype\"),r[f]=n,n}))})),Object.keys(a).forEach((function(e){var t=a[e];o[e]=bi(t,(function(r,n){var a=r.invoke(n,t),i=r.shared,o=r.constants,f=i.isBufferArgs,u=i.buffer;F.optional((function(){r.assert(n,a+\"&&(typeof \"+a+'===\"object\"||typeof '+a+'===\"function\")&&('+f+\"(\"+a+\")||\"+u+\".getBuffer(\"+a+\")||\"+u+\".getBuffer(\"+a+\".buffer)||\"+f+\"(\"+a+'.buffer)||(\"constant\" in '+a+\"&&(typeof \"+a+'.constant===\"number\"||'+i.isArrayLike+\"(\"+a+\".constant))))\",'invalid dynamic attribute \"'+e+'\"')}));var s={isStream:n.def(!1)},c=new b;c.state=dn,Object.keys(c).forEach((function(e){s[e]=n.def(\"\"+c[e])}));var l=s.buffer,d=s.type;function m(e){n(s[e],\"=\",a,\".\",e,\"|0;\")}return n(\"if(\",f,\"(\",a,\")){\",s.isStream,\"=true;\",l,\"=\",u,\".createStream(\",pa,\",\",a,\");\",d,\"=\",l,\".dtype;\",\"}else{\",l,\"=\",u,\".getBuffer(\",a,\");\",\"if(\",l,\"){\",d,\"=\",l,\".dtype;\",'}else if(\"constant\" in ',a,\"){\",s.state,\"=\",mn,\";\",\"if(typeof \"+a+'.constant === \"number\"){',s[cn[0]],\"=\",a,\".constant;\",cn.slice(1).map((function(e){return s[e]})).join(\"=\"),\"=0;\",\"}else{\",cn.map((function(e,t){return s[e]+\"=\"+a+\".constant.length>\"+t+\"?\"+a+\".constant[\"+t+\"]:0;\"})).join(\"\"),\"}}else{\",\"if(\",f,\"(\",a,\".buffer)){\",l,\"=\",u,\".createStream(\",pa,\",\",a,\".buffer);\",\"}else{\",l,\"=\",u,\".getBuffer(\",a,\".buffer);\",\"}\",d,'=\"type\" in ',a,\"?\",o.glTypes,\"[\",a,\".type]:\",l,\".dtype;\",s.normalized,\"=!!\",a,\".normalized;\"),m(\"size\"),m(\"offset\"),m(\"stride\"),m(\"divisor\"),n(\"}}\"),n.exit(\"if(\",s.isStream,\"){\",u,\".destroyStream(\",l,\");\",\"}\"),s}))})),o}(t,d),T.context=function(e){var t=e.static,r=e.dynamic,n={};return Object.keys(t).forEach((function(e){var r=t[e];n[e]=hi((function(e,t){return\"number\"==typeof r||\"boolean\"==typeof r?\"\"+r:e.link(r)}))})),Object.keys(r).forEach((function(e){var t=r[e];n[e]=bi(t,(function(e,r){return e.invoke(r,t)}))})),n}(s),T}function B(e,t,r){var n=e.shared.context,a=e.scope();Object.keys(r).forEach((function(i){t.save(n,\".\"+i);var o=r[i].append(e,t);Array.isArray(o)?a(n,\".\",i,\"=[\",o.join(),\"];\"):a(n,\".\",i,\"=\",o,\";\")})),t(a)}function I(e,t,r,n){var a,i=e.shared,o=i.gl,f=i.framebuffer;y&&(a=t.def(i.extensions,\".webgl_draw_buffers\"));var u,s=e.constants,c=s.drawBuffer,l=s.backBuffer;u=r?r.append(e,t):t.def(f,\".next\"),n||t(\"if(\",u,\"!==\",f,\".cur){\"),t(\"if(\",u,\"){\",o,\".bindFramebuffer(\",ni,\",\",u,\".framebuffer);\"),y&&t(a,\".drawBuffersWEBGL(\",c,\"[\",u,\".colorAttachments.length]);\"),t(\"}else{\",o,\".bindFramebuffer(\",ni,\",null);\"),y&&t(a,\".drawBuffersWEBGL(\",l,\");\"),t(\"}\",f,\".cur=\",u,\";\"),n||t(\"}\")}function P(e,t,r){var n=e.shared,a=n.gl,i=e.current,o=e.next,f=n.current,u=n.next,s=e.cond(f,\".dirty\");_.forEach((function(t){var n,c,l=O(t);if(!(l in r.state))if(l in o){n=o[l],c=i[l];var d=Y(w[l].length,(function(e){return s.def(n,\"[\",e,\"]\")}));s(e.cond(d.map((function(e,t){return e+\"!==\"+c+\"[\"+t+\"]\"})).join(\"||\")).then(a,\".\",S[l],\"(\",d,\");\",d.map((function(e,t){return c+\"[\"+t+\"]=\"+e})).join(\";\"),\";\"))}else{n=s.def(u,\".\",l);var m=e.cond(n,\"!==\",f,\".\",l);s(m),l in k?m(e.cond(n).then(a,\".enable(\",k[l],\");\").else(a,\".disable(\",k[l],\");\"),f,\".\",l,\"=\",n,\";\"):m(a,\".\",S[l],\"(\",n,\");\",f,\".\",l,\"=\",n,\";\")}})),0===Object.keys(r.state).length&&s(f,\".dirty=false;\"),t(s)}function L(e,t,r,n){var a=e.shared,i=e.current,o=a.current,f=a.gl;di(Object.keys(r)).forEach((function(a){var u=r[a];if(!n||n(u)){var s=u.append(e,t);if(k[a]){var c=k[a];pi(u)?t(f,s?\".enable(\":\".disable(\",c,\");\"):t(e.cond(s).then(f,\".enable(\",c,\");\").else(f,\".disable(\",c,\");\")),t(o,\".\",a,\"=\",s,\";\")}else if(Ne(s)){var l=i[a];t(f,\".\",S[a],\"(\",s,\");\",s.map((function(e,t){return l+\"[\"+t+\"]=\"+e})).join(\";\"),\";\")}else t(f,\".\",S[a],\"(\",s,\");\",o,\".\",a,\"=\",s,\";\")}}))}function R(e,t){g&&(e.instancing=t.def(e.shared.extensions,\".angle_instanced_arrays\"))}function M(e,t,r,n,a){var i,o,f,u=e.shared,s=e.stats,c=u.current,l=u.timer,d=r.profile;function m(){return\"undefined\"==typeof performance?\"Date.now()\":\"performance.now()\"}function h(e){e(i=t.def(),\"=\",m(),\";\"),\"string\"==typeof a?e(s,\".count+=\",a,\";\"):e(s,\".count++;\"),p&&(n?e(o=t.def(),\"=\",l,\".getNumPendingQueries();\"):e(l,\".beginQuery(\",s,\");\"))}function b(e){e(s,\".cpuTime+=\",m(),\"-\",i,\";\"),p&&(n?e(l,\".pushScopeStats(\",o,\",\",l,\".getNumPendingQueries(),\",s,\");\"):e(l,\".endQuery();\"))}function v(e){var r=t.def(c,\".profile\");t(c,\".profile=\",e,\";\"),t.exit(c,\".profile=\",r,\";\")}if(d){if(pi(d))return void(d.enable?(h(t),b(t.exit),v(\"true\")):v(\"false\"));v(f=d.append(e,t))}else f=t.def(c,\".profile\");var g=e.block();h(g),t(\"if(\",f,\"){\",g,\"}\");var y=e.block();b(y),t.exit(\"if(\",f,\"){\",y,\"}\")}function U(e,t,r,n,a){var i=e.shared;n.forEach((function(n){var o,f=n.name,u=r.attributes[f];if(u){if(!a(u))return;o=u.append(e,t)}else{if(!a(vi))return;var s=e.scopeAttrib(f);F.optional((function(){e.assert(t,s+\".state\",\"missing attribute \"+f)})),o={},Object.keys(new b).forEach((function(e){o[e]=t.def(s,\".\",e)}))}!function(r,n,a){var o=i.gl,f=t.def(r,\".location\"),u=t.def(i.attributes,\"[\",f,\"]\"),s=a.state,c=a.buffer,l=[a.x,a.y,a.z,a.w],d=[\"buffer\",\"normalized\",\"offset\",\"stride\"];function m(){t(\"if(!\",u,\".buffer){\",o,\".enableVertexAttribArray(\",f,\");}\");var r,i=a.type;if(r=a.size?t.def(a.size,\"||\",n):n,t(\"if(\",u,\".type!==\",i,\"||\",u,\".size!==\",r,\"||\",d.map((function(e){return u+\".\"+e+\"!==\"+a[e]})).join(\"||\"),\"){\",o,\".bindBuffer(\",pa,\",\",c,\".buffer);\",o,\".vertexAttribPointer(\",[f,r,i,a.normalized,a.stride,a.offset],\");\",u,\".type=\",i,\";\",u,\".size=\",r,\";\",d.map((function(e){return u+\".\"+e+\"=\"+a[e]+\";\"})).join(\"\"),\"}\"),g){var s=a.divisor;t(\"if(\",u,\".divisor!==\",s,\"){\",e.instancing,\".vertexAttribDivisorANGLE(\",[f,s],\");\",u,\".divisor=\",s,\";}\")}}function p(){t(\"if(\",u,\".buffer){\",o,\".disableVertexAttribArray(\",f,\");\",u,\".buffer=null;\",\"}if(\",cn.map((function(e,t){return u+\".\"+e+\"!==\"+l[t]})).join(\"||\"),\"){\",o,\".vertexAttrib4f(\",f,\",\",l,\");\",cn.map((function(e,t){return u+\".\"+e+\"=\"+l[t]+\";\"})).join(\"\"),\"}\")}s===dn?m():s===mn?p():(t(\"if(\",s,\"===\",dn,\"){\"),m(),t(\"}else{\"),p(),t(\"}\"))}(e.link(n),function(e){switch(e){case Ta:case za:case Ia:return 2;case Da:case Fa:case Pa:return 3;case ja:case Va:case La:return 4;default:return 1}}(n.info.type),o)}))}function G(e,t,n,a,i,o){for(var f,u=e.shared,s=u.gl,c={},l=0;l1){if(!b)continue;var v=m.replace(\"[0]\",\"\");if(c[v])continue;c[v]=1}var g,y=e.link(d)+\".location\";if(b){if(!i(b))continue;if(pi(b)){var x=b.value;if(F.command(null!=x,'missing uniform \"'+m+'\"',e.commandStr),p===Wa||p===Ga){F.command(\"function\"==typeof x&&(p===Wa&&(\"texture2d\"===x._reglType||\"framebuffer\"===x._reglType)||p===Ga&&(\"textureCube\"===x._reglType||\"framebufferCube\"===x._reglType)),\"invalid texture for uniform \"+m,e.commandStr);var w=e.link(x._texture||x.color[0]._texture);t(s,\".uniform1i(\",y,\",\",w+\".bind());\"),t.exit(w,\".unbind();\")}else if(p===Ra||p===Ma||p===Ua){F.optional((function(){F.command(Ne(x),\"invalid matrix for uniform \"+m,e.commandStr),F.command(p===Ra&&4===x.length||p===Ma&&9===x.length||p===Ua&&16===x.length,\"invalid length for matrix uniform \"+m,e.commandStr)}));var A=e.global.def(\"new Float32Array([\"+Array.prototype.slice.call(x)+\"])\"),_=2;p===Ma?_=3:p===Ua&&(_=4),t(s,\".uniformMatrix\",_,\"fv(\",y,\",false,\",A,\");\")}else{switch(p){case Ea:1===h?F.commandType(x,\"number\",\"uniform \"+m,e.commandStr):F.command(Ne(x)&&x.length===h,\"uniform \"+m,e.commandStr),f=\"1f\";break;case Ta:F.command(Ne(x)&&x.length&&x.length%2==0&&x.length<=2*h,\"uniform \"+m,e.commandStr),f=\"2f\";break;case Da:F.command(Ne(x)&&x.length&&x.length%3==0&&x.length<=3*h,\"uniform \"+m,e.commandStr),f=\"3f\";break;case ja:F.command(Ne(x)&&x.length&&x.length%4==0&&x.length<=4*h,\"uniform \"+m,e.commandStr),f=\"4f\";break;case Ba:1===h?F.commandType(x,\"boolean\",\"uniform \"+m,e.commandStr):F.command(Ne(x)&&x.length===h,\"uniform \"+m,e.commandStr),f=\"1i\";break;case Ca:1===h?F.commandType(x,\"number\",\"uniform \"+m,e.commandStr):F.command(Ne(x)&&x.length===h,\"uniform \"+m,e.commandStr),f=\"1i\";break;case Ia:case za:F.command(Ne(x)&&x.length&&x.length%2==0&&x.length<=2*h,\"uniform \"+m,e.commandStr),f=\"2i\";break;case Pa:case Fa:F.command(Ne(x)&&x.length&&x.length%3==0&&x.length<=3*h,\"uniform \"+m,e.commandStr),f=\"3i\";break;case La:case Va:F.command(Ne(x)&&x.length&&x.length%4==0&&x.length<=4*h,\"uniform \"+m,e.commandStr),f=\"4i\"}h>1?(f+=\"v\",x=e.global.def(\"[\"+Array.prototype.slice.call(x)+\"]\")):x=Ne(x)?Array.prototype.slice.call(x):x,t(s,\".uniform\",f,\"(\",y,\",\",x,\");\")}continue}g=b.append(e,t)}else{if(!i(vi))continue;g=t.def(u.uniforms,\"[\",r.id(m),\"]\")}p===Wa?(F(!Array.isArray(g),\"must specify a scalar prop for textures\"),t(\"if(\",g,\"&&\",g,'._reglType===\"framebuffer\"){',g,\"=\",g,\".color[0];\",\"}\")):p===Ga&&(F(!Array.isArray(g),\"must specify a scalar prop for cube maps\"),t(\"if(\",g,\"&&\",g,'._reglType===\"framebufferCube\"){',g,\"=\",g,\".color[0];\",\"}\")),F.optional((function(){function r(r,n){e.assert(t,r,'bad data or missing for uniform \"'+m+'\". '+n)}function n(e,t){1===t&&F(!Array.isArray(g),\"must not specify an array type for uniform\"),r(\"Array.isArray(\"+g+\") && typeof \"+g+'[0]===\" '+e+'\" || typeof '+g+'===\"'+e+'\"',\"invalid type, expected \"+e)}function a(t,n,a){Array.isArray(g)?F(g.length&&g.length%t==0&&g.length<=t*a,\"must have length of \"+(1===a?\"\":\"n * \")+t):r(u.isArrayLike+\"(\"+g+\")&&\"+g+\".length && \"+g+\".length % \"+t+\" === 0 && \"+g+\".length<=\"+t*a,\"invalid vector, should have length of \"+(1===a?\"\":\"n * \")+t,e.commandStr)}function i(t){F(!Array.isArray(g),\"must not specify a value type\"),r(\"typeof \"+g+'===\"function\"&&'+g+'._reglType===\"texture'+(t===ba?\"2d\":\"Cube\")+'\"',\"invalid texture type\",e.commandStr)}switch(p){case Ca:n(\"number\",h);break;case za:a(2,0,h);break;case Fa:a(3,0,h);break;case Va:a(4,0,h);break;case Ea:n(\"number\",h);break;case Ta:a(2,0,h);break;case Da:a(3,0,h);break;case ja:a(4,0,h);break;case Ba:n(\"boolean\",h);break;case Ia:a(2,0,h);break;case Pa:a(3,0,h);break;case La:case Ra:a(4,0,h);break;case Ma:a(9,0,h);break;case Ua:a(16,0,h);break;case Wa:i(ba);break;case Ga:i(va)}}));var k=1;switch(p){case Wa:case Ga:var S=t.def(g,\"._texture\");t(s,\".uniform1i(\",y,\",\",S,\".bind());\"),t.exit(S,\".unbind();\");continue;case Ca:case Ba:f=\"1i\";break;case za:case Ia:f=\"2i\",k=2;break;case Fa:case Pa:f=\"3i\",k=3;break;case Va:case La:f=\"4i\",k=4;break;case Ea:f=\"1f\";break;case Ta:f=\"2f\",k=2;break;case Da:f=\"3f\",k=3;break;case ja:f=\"4f\",k=4;break;case Ra:f=\"Matrix2fv\";break;case Ma:f=\"Matrix3fv\";break;case Ua:f=\"Matrix4fv\"}if(-1===f.indexOf(\"Matrix\")&&h>1&&(f+=\"v\",k=1),\"M\"===f.charAt(0)){t(s,\".uniform\",f,\"(\",y,\",\");var O=Math.pow(p-Ra+2,2),E=e.global.def(\"new Float32Array(\",O,\")\");Array.isArray(g)?t(\"false,(\",Y(O,(function(e){return E+\"[\"+e+\"]=\"+g[e]})),\",\",E,\")\"):t(\"false,(Array.isArray(\",g,\")||\",g,\" instanceof Float32Array)?\",g,\":(\",Y(O,(function(e){return E+\"[\"+e+\"]=\"+g+\"[\"+e+\"]\"})),\",\",E,\")\"),t(\");\")}else if(k>1){for(var T=[],D=[],j=0;j=0\",\"missing vertex count\")}))):(a=u.def(o,\".\",ea),F.optional((function(){e.assert(u,a+\">=0\",\"missing vertex count\")}))),a}();if(\"number\"==typeof p){if(0===p)return}else r(\"if(\",p,\"){\"),r.exit(\"}\");g&&(c=s(ra),l=e.instancing);var h=u+\".type\",b=f.elements&&pi(f.elements)&&!f.vaoActive;function v(){function e(){r(l,\".drawElementsInstancedANGLE(\",[d,p,h,m+\"<<((\"+h+\"-\"+ln+\")>>1)\",c],\");\")}function t(){r(l,\".drawArraysInstancedANGLE(\",[d,m,p,c],\");\")}u&&\"null\"!==u?b?e():(r(\"if(\",u,\"){\"),e(),r(\"}else{\"),t(),r(\"}\")):t()}function y(){function e(){r(i+\".drawElements(\"+[d,p,h,m+\"<<((\"+h+\"-\"+ln+\")>>1)\"]+\");\")}function t(){r(i+\".drawArrays(\"+[d,m,p]+\");\")}u&&\"null\"!==u?b?e():(r(\"if(\",u,\"){\"),e(),r(\"}else{\"),t(),r(\"}\")):t()}g&&(\"number\"!=typeof c||c>=0)?\"string\"==typeof c?(r(\"if(\",c,\">0){\"),v(),r(\"}else if(\",c,\"<0){\"),y(),r(\"}\")):v():y()}function N(e,t,r,n,a){var i=z(),o=i.proc(\"body\",a);return F.optional((function(){i.commandStr=t.commandStr,i.command=i.link(t.commandStr)})),g&&(i.instancing=o.def(i.shared.extensions,\".angle_instanced_arrays\")),e(i,o,r,n),i.compile().body}function q(e,t,r,n){R(e,t),r.useVAO?r.drawVAO?t(e.shared.vao,\".setVAO(\",r.drawVAO.append(e,t),\");\"):t(e.shared.vao,\".setVAO(\",e.shared.vao,\".targetVAO);\"):(t(e.shared.vao,\".setVAO(null);\"),U(e,t,r,n.attributes,(function(){return!0}))),G(e,t,r,n.uniforms,(function(){return!0}),!1),H(e,t,t,r)}function Q(e,t,r,n){function a(){return!0}e.batchId=\"a1\",R(e,t),U(e,t,r,n.attributes,a),G(e,t,r,n.uniforms,a,!1),H(e,t,t,r)}function X(e,t,r,n){R(e,t);var a=r.contextDep,i=t.def(),o=t.def();e.shared.props=o,e.batchId=i;var f=e.scope(),u=e.scope();function s(e){return e.contextDep&&a||e.propDep}function c(e){return!s(e)}if(t(f.entry,\"for(\",i,\"=0;\",i,\"<\",\"a1\",\";++\",i,\"){\",o,\"=\",\"a0\",\"[\",i,\"];\",u,\"}\",f.exit),r.needsContext&&B(e,u,r.context),r.needsFramebuffer&&I(e,u,r.framebuffer),L(e,u,r.state,s),r.profile&&s(r.profile)&&M(e,u,r,!1,!0),n)r.useVAO?r.drawVAO?s(r.drawVAO)?u(e.shared.vao,\".setVAO(\",r.drawVAO.append(e,u),\");\"):f(e.shared.vao,\".setVAO(\",r.drawVAO.append(e,f),\");\"):f(e.shared.vao,\".setVAO(\",e.shared.vao,\".targetVAO);\"):(f(e.shared.vao,\".setVAO(null);\"),U(e,f,r,n.attributes,c),U(e,u,r,n.attributes,s)),G(e,f,r,n.uniforms,c,!1),G(e,u,r,n.uniforms,s,!0),H(e,f,u,r);else{var l=e.global.def(\"{}\"),d=r.shader.progVar.append(e,u),m=u.def(d,\".id\"),p=u.def(l,\"[\",m,\"]\");u(e.shared.gl,\".useProgram(\",d,\".program);\",\"if(!\",p,\"){\",p,\"=\",l,\"[\",m,\"]=\",e.link((function(t){return N(Q,e,r,t,2)})),\"(\",d,\");}\",p,\".call(this,a0[\",i,\"],\",i,\");\")}}function $(e,t,r){var n=t.static[r];if(n&&function(e){if(\"object\"==typeof e&&!Ne(e)){for(var t=Object.keys(e),r=0;r0&&r(e.shared.current,\".dirty=true;\"),e.shared.vao&&r(e.shared.vao,\".setVAO(null);\")}(f,u),function(e,t){var n=e.proc(\"scope\",3);e.batchId=\"a2\";var a=e.shared,i=a.current;function o(r){var i=t.shader[r];i&&n.set(a.shader,\".\"+r,i.append(e,n))}B(e,n,t.context),t.framebuffer&&t.framebuffer.append(e,n),di(Object.keys(t.state)).forEach((function(r){var i=t.state[r].append(e,n);Ne(i)?i.forEach((function(t,a){n.set(e.next[r],\"[\"+a+\"]\",t)})):n.set(a.next,\".\"+r,i)})),M(e,n,t,!0,!0),[Jn,ta,ea,ra,Zn].forEach((function(r){var i=t.draw[r];i&&n.set(a.draw,\".\"+r,\"\"+i.append(e,n))})),Object.keys(t.uniforms).forEach((function(i){var o=t.uniforms[i].append(e,n);Array.isArray(o)&&(o=\"[\"+o.join()+\"]\"),n.set(a.uniforms,\"[\"+r.id(i)+\"]\",o)})),Object.keys(t.attributes).forEach((function(r){var a=t.attributes[r].append(e,n),i=e.scopeAttrib(r);Object.keys(new b).forEach((function(e){n.set(i,\".\"+e,a[e])}))})),t.scopeVAO&&n.set(a.vao,\".targetVAO\",t.scopeVAO.append(e,n)),o($n),o(Kn),Object.keys(t.state).length>0&&(n(i,\".dirty=true;\"),n.exit(i,\".dirty=true;\")),n(\"a1(\",e.shared.context,\",a0,\",e.batchId,\");\")}(f,u),function(e,t){var r=e.proc(\"batch\",2);e.batchId=\"0\",R(e,r);var n=!1,a=!0;Object.keys(t.context).forEach((function(e){n=n||t.context[e].propDep})),n||(B(e,r,t.context),a=!1);var i=t.framebuffer,o=!1;function f(e){return e.contextDep&&n||e.propDep}i?(i.propDep?n=o=!0:i.contextDep&&n&&(o=!0),o||I(e,r,i)):I(e,r,null),t.state.viewport&&t.state.viewport.propDep&&(n=!0),P(e,r,t),L(e,r,t.state,(function(e){return!f(e)})),t.profile&&f(t.profile)||M(e,r,t,!1,\"a1\"),t.contextDep=n,t.needsContext=a,t.needsFramebuffer=o;var u=t.shader.progVar;if(u.contextDep&&n||u.propDep)X(e,r,t,null);else{var s=u.append(e,r);if(r(e.shared.gl,\".useProgram(\",s,\".program);\"),t.shader.program)X(e,r,t,t.shader.program);else{r(e.shared.vao,\".setVAO(null);\");var c=e.global.def(\"{}\"),l=r.def(s,\".id\"),d=r.def(c,\"[\",l,\"]\");r(e.cond(d).then(d,\".call(this,a0,a1);\").else(d,\"=\",c,\"[\",l,\"]=\",e.link((function(r){return N(X,e,t,r,2)})),\"(\",s,\");\",d,\".call(this,a0,a1);\"))}}Object.keys(t.state).length>0&&r(e.shared.current,\".dirty=true;\"),e.shared.vao&&r(e.shared.vao,\".setVAO(null);\")}(f,u),t(f.compile(),{destroy:function(){u.shader.program.destroy()}})}}}var yi=34918,xi=34919,wi=35007,Ai=function(e,t){if(!t.ext_disjoint_timer_query)return null;var r=[];function n(e){r.push(e)}var a=[];function i(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var o=[];function f(e){o.push(e)}var u=[];function s(e,t,r){var n=o.pop()||new i;n.startQueryIndex=e,n.endQueryIndex=t,n.sum=0,n.stats=r,u.push(n)}var c=[],l=[];return{beginQuery:function(e){var n=r.pop()||t.ext_disjoint_timer_query.createQueryEXT();t.ext_disjoint_timer_query.beginQueryEXT(wi,n),a.push(n),s(a.length-1,a.length,e)},endQuery:function(){t.ext_disjoint_timer_query.endQueryEXT(wi)},pushScopeStats:s,update:function(){var e,r,i=a.length;if(0!==i){l.length=Math.max(l.length,i+1),c.length=Math.max(c.length,i+1),c[0]=0,l[0]=0;var o=0;for(e=0,r=0;r0)if(Array.isArray(r[0])){f=ye(r);for(var c=1,l=1;l0)if(\"number\"==typeof t[0]){var i=ae.allocType(d.dtype,t.length);Oe(i,t),p(i,a),ae.freeType(i)}else if(Array.isArray(t[0])||e(t[0])){n=ye(t);var o=ge(t,n,d.dtype);p(o,a),ae.freeType(o)}else F.raise(\"invalid buffer data\")}else if(ce(t)){n=t.shape;var f=t.stride,u=0,s=0,c=0,l=0;1===n.length?(u=n[0],s=1,c=f[0],l=0):2===n.length?(u=n[0],s=n[1],c=f[0],l=f[1]):F.raise(\"invalid shape\");var h=Array.isArray(t.data)?d.dtype:Se(t.data),b=ae.allocType(h,u*s);Ee(b,t.data,u,s,c,l,t.offset),p(b,a),ae.freeType(b)}else F.raise(\"invalid data for buffer subdata\");return m},n.profile&&(m.stats=d.stats),m.destroy=function(){l(d)},m},createStream:function(e,t){var r=u.pop();return r||(r=new f(e)),r.bind(),c(r,t,we,0,1,!1),r},destroyStream:function(e){u.push(e)},clear:function(){le(o).forEach(l),u.forEach(l)},getBuffer:function(e){return e&&e._buffer instanceof f?e._buffer:null},restore:function(){le(o).forEach((function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)}))},_initBuffer:c}}(a,l,n,(function(e){return A.destroyBuffer(e)})),w=function(t,r,n,a){var i={},o=0,f={uint8:Fe,uint16:Be};function u(e){this.id=o++,i[this.id]=this,this.buffer=e,this.primType=Ce,this.vertCount=0,this.type=0}r.oes_element_index_uint&&(f.uint32=Pe),u.prototype.bind=function(){this.buffer.bind()};var s=[];function c(a,i,o,f,u,s,c){var l;if(a.buffer.bind(),i){var d=c;c||e(i)&&(!ce(i)||e(i.data))||(d=r.oes_element_index_uint?Pe:Be),n._initBuffer(a.buffer,i,o,d,3)}else t.bufferData(Le,s,o),a.buffer.dtype=l||Fe,a.buffer.usage=o,a.buffer.dimension=3,a.buffer.byteLength=s;if(l=c,!c){switch(a.buffer.dtype){case Fe:case ze:l=Fe;break;case Be:case Ve:l=Be;break;case Pe:case Ie:l=Pe;break;default:F.raise(\"unsupported type for element array\")}a.buffer.dtype=l}a.type=l,F(l!==Pe||!!r.oes_element_index_uint,\"32 bit element buffers not supported, enable oes_element_index_uint first\");var m=u;m<0&&(m=a.buffer.byteLength,l===Be?m>>=1:l===Pe&&(m>>=2)),a.vertCount=m;var p=f;if(f<0){p=Ce;var h=a.buffer.dimension;1===h&&(p=De),2===h&&(p=je),3===h&&(p=Ce)}a.primType=p}function l(e){a.elementsCount--,F(null!==e.buffer,\"must not double destroy elements\"),delete i[e.id],e.buffer.destroy(),e.buffer=null}return{create:function(t,r){var i=n.create(null,Le,!0),o=new u(i._buffer);function s(t){if(t)if(\"number\"==typeof t)i(t),o.primType=Ce,o.vertCount=0|t,o.type=Fe;else{var r=null,n=Me,a=-1,u=-1,l=0,d=0;Array.isArray(t)||e(t)||ce(t)?r=t:(F.type(t,\"object\",\"invalid arguments for elements\"),\"data\"in t&&(r=t.data,F(Array.isArray(r)||e(r)||ce(r),\"invalid data for element buffer\")),\"usage\"in t&&(F.parameter(t.usage,ve,\"invalid element buffer usage\"),n=ve[t.usage]),\"primitive\"in t&&(F.parameter(t.primitive,Te,\"invalid element buffer primitive\"),a=Te[t.primitive]),\"count\"in t&&(F(\"number\"==typeof t.count&&t.count>=0,\"invalid vertex count for elements\"),u=0|t.count),\"type\"in t&&(F.parameter(t.type,f,\"invalid buffer type\"),d=f[t.type]),\"length\"in t?l=0|t.length:(l=u,d===Be||d===Ve?l*=2:d!==Pe&&d!==Ie||(l*=4))),c(o,r,n,a,u,l,d)}else i(),o.primType=Ce,o.vertCount=0,o.type=Fe;return s}return a.elementsCount++,s(t),s._reglType=\"elements\",s._elements=o,s.subdata=function(e,t){return i.subdata(e,t),s},s.destroy=function(){l(o)},s},createStream:function(e){var t=s.pop();return t||(t=new u(n.create(null,Le,!0,!1)._buffer)),c(t,e,Re,-1,-1,0,0),t},destroyStream:function(e){s.push(e)},getElements:function(e){return\"function\"==typeof e&&e._elements instanceof u?e._elements:null},clear:function(){le(i).forEach(l)}}}(a,d,x,l),A=function(t,r,n,a,i,o,f){for(var u=n.maxAttributes,s=new Array(u),c=0;c{for(var e=Object.keys(t),r=0;r=0,'invalid option for vao: \"'+e[r]+'\" valid options are '+$r)})),F(Array.isArray(a),\"attributes must be an array\")}F(a.length0,\"must specify at least one attribute\");var c={},l=n.attributes;l.length=a.length;for(var d=0;d=b.byteLength?m.subdata(b):(m.destroy(),n.buffers[d]=null)),n.buffers[d]||(m=n.buffers[d]=i.create(p,Yr,!1,!0)),h.buffer=i.getBuffer(m),h.size=0|h.buffer.dimension,h.normalized=!1,h.type=h.buffer.dtype,h.offset=0,h.stride=0,h.divisor=0,h.state=1,c[d]=1):i.getBuffer(p)?(h.buffer=i.getBuffer(p),h.size=0|h.buffer.dimension,h.normalized=!1,h.type=h.buffer.dtype,h.offset=0,h.stride=0,h.divisor=0,h.state=1):i.getBuffer(p.buffer)?(h.buffer=i.getBuffer(p.buffer),h.size=0|(+p.size||h.buffer.dimension),h.normalized=!!p.normalized||!1,\"type\"in p?(F.parameter(p.type,be,\"invalid buffer type\"),h.type=be[p.type]):h.type=h.buffer.dtype,h.offset=0|(p.offset||0),h.stride=0|(p.stride||0),h.divisor=0|(p.divisor||0),h.state=1,F(h.size>=1&&h.size<=4,\"size must be between 1 and 4\"),F(h.offset>=0,\"invalid offset\"),F(h.stride>=0&&h.stride<=255,\"stride must be between 0 and 255\"),F(h.divisor>=0,\"divisor must be positive\"),F(!h.divisor||!!r.angle_instanced_arrays,\"ANGLE_instanced_arrays must be enabled to use divisor\")):\"x\"in p?(F(d>0,\"first attribute must not be a constant\"),h.x=+p.x||0,h.y=+p.y||0,h.z=+p.z||0,h.w=+p.w||0,h.state=2):F(!1,\"invalid attribute spec for location \"+d)}for(var v=0;v1)for(var v=0;v1&&(y=y.replace(\"[0]\",\"\")),u(b,new f(y,r.id(y),e.getUniformLocation(m,y),c))}var x=e.getProgramParameter(m,tn);a.profile&&(t.stats.attributesCount=x);var w=t.attributes;for(o=0;oe&&(e=t.stats.uniformsCount)})),e},n.getMaxAttributesCount=function(){var e=0;return l.forEach((function(t){t.stats.attributesCount>e&&(e=t.stats.attributesCount)})),e}),{clear:function(){var t=e.deleteShader.bind(e);le(i).forEach(t),i={},le(o).forEach(t),o={},l.forEach((function(t){e.deleteProgram(t.program)})),l.length=0,c={},n.shaderCount=0},program:function(r,a,f,u){F.command(r>=0,\"missing vertex shader\",f),F.command(a>=0,\"missing fragment shader\",f);var s=c[a];s||(s=c[a]={});var d=s[r];if(d&&(d.refCount++,!u))return d;var h=new m(a,r);return n.shaderCount++,p(h,f,u),d||(s[r]=h),l.push(h),t(h,{destroy:function(){if(h.refCount--,h.refCount<=0){e.deleteProgram(h.program);var t=l.indexOf(h);l.splice(t,1),n.shaderCount--}s[h.vertId].refCount<=0&&(e.deleteShader(o[h.vertId]),delete o[h.vertId],delete c[h.fragId][h.vertId]),Object.keys(c[h.fragId]).length||(e.deleteShader(i[h.fragId]),delete i[h.fragId],delete c[h.fragId])}})},restore:function(){i={},o={};for(var e=0;e=zr&&t=2,\"invalid shape for framebuffer\"),o=C[0],d=C[1]}else\"radius\"in j&&(o=d=j.radius),\"width\"in j&&(o=j.width),\"height\"in j&&(d=j.height);(\"color\"in j||\"colors\"in j)&&(y=j.color||j.colors,Array.isArray(y)&&F(1===y.length||r.webgl_draw_buffers,\"multiple render targets not supported\")),y||(\"colorCount\"in j&&(S=0|j.colorCount,F(S>0,\"invalid color buffer count\")),\"colorTexture\"in j&&(x=!!j.colorTexture,w=\"rgba4\"),\"colorType\"in j&&(_=j.colorType,x?(F(r.oes_texture_float||!(\"float\"===_||\"float32\"===_),\"you must enable OES_texture_float in order to use floating point framebuffer objects\"),F(r.oes_texture_half_float||!(\"half float\"===_||\"float16\"===_),\"you must enable OES_texture_half_float in order to use 16-bit floating point framebuffer objects\")):\"half float\"===_||\"float16\"===_?(F(r.ext_color_buffer_half_float,\"you must enable EXT_color_buffer_half_float to use 16-bit render buffers\"),w=\"rgba16f\"):\"float\"!==_&&\"float32\"!==_||(F(r.webgl_color_buffer_float,\"you must enable WEBGL_color_buffer_float in order to use 32-bit floating point renderbuffers\"),w=\"rgba32f\"),F.oneOf(_,c,\"invalid color type\")),\"colorFormat\"in j&&(w=j.colorFormat,u.indexOf(w)>=0?x=!0:s.indexOf(w)>=0?x=!1:F.optional((function(){x?F.oneOf(j.colorFormat,u,\"invalid color format for texture\"):F.oneOf(j.colorFormat,s,\"invalid color format for renderbuffer\")})))),(\"depthTexture\"in j||\"depthStencilTexture\"in j)&&(D=!(!j.depthTexture&&!j.depthStencilTexture),F(!D||r.webgl_depth_texture,\"webgl_depth_texture extension not supported\")),\"depth\"in j&&(\"boolean\"==typeof j.depth?p=j.depth:(O=j.depth,g=!1)),\"stencil\"in j&&(\"boolean\"==typeof j.stencil?g=j.stencil:(E=j.stencil,p=!1)),\"depthStencil\"in j&&(\"boolean\"==typeof j.depthStencil?p=g=j.depthStencil:(T=j.depthStencil,p=!1,g=!1))}else o=d=1;var z=null,V=null,B=null,I=null;if(Array.isArray(y))z=y.map(h);else if(y)z=[h(y)];else for(z=new Array(S),a=0;a=0||z[a].renderbuffer&&Nr.indexOf(z[a].renderbuffer._renderbuffer.format)>=0,\"framebuffer color attachment \"+a+\" is invalid\"),z[a]&&z[a].texture){var L=Mr[z[a].texture._texture.format]*Ur[z[a].texture._texture.type];null===P?P=L:F(P===L,\"all color attachments much have the same number of bits per pixel.\")}return m(V,o,d),F(!V||V.texture&&V.texture._texture.format===Lr||V.renderbuffer&&V.renderbuffer._renderbuffer.format===Wr,\"invalid depth attachment for framebuffer object\"),m(B,o,d),F(!B||B.renderbuffer&&B.renderbuffer._renderbuffer.format===Gr,\"invalid stencil attachment for framebuffer object\"),m(I,o,d),F(!I||I.texture&&I.texture._texture.format===Hr||I.renderbuffer&&I.renderbuffer._renderbuffer.format===Hr,\"invalid depth-stencil attachment for framebuffer object\"),A(i),i.width=o,i.height=d,i.colorAttachments=z,i.depthAttachment=V,i.stencilAttachment=B,i.depthStencilAttachment=I,l.color=z.map(v),l.depth=v(V),l.stencil=v(B),l.depthStencil=v(I),l.width=i.width,l.height=i.height,k(i),l}return o.framebufferCount++,l(e,a),t(l,{resize:function(e,t){F(f.next!==i,\"can not resize a framebuffer which is currently in use\");var r=Math.max(0|e,1),n=Math.max(0|t||r,1);if(r===i.width&&n===i.height)return l;for(var a=i.colorAttachments,o=0;o=2,\"invalid shape for framebuffer\"),F(g[0]===g[1],\"cube framebuffer must be square\"),d=g[0]}else\"radius\"in v&&(d=0|v.radius),\"width\"in v?(d=0|v.width,\"height\"in v&&F(v.height===d,\"must be square\")):\"height\"in v&&(d=0|v.height);(\"color\"in v||\"colors\"in v)&&(m=v.color||v.colors,Array.isArray(m)&&F(1===m.length||r.webgl_draw_buffers,\"multiple render targets not supported\")),m||(\"colorCount\"in v&&(b=0|v.colorCount,F(b>0,\"invalid color buffer count\")),\"colorType\"in v&&(F.oneOf(v.colorType,c,\"invalid color type\"),h=v.colorType),\"colorFormat\"in v&&(p=v.colorFormat,F.oneOf(v.colorFormat,u,\"invalid color format for texture\"))),\"depth\"in v&&(l.depth=v.depth),\"stencil\"in v&&(l.stencil=v.stencil),\"depthStencil\"in v&&(l.depthStencil=v.depthStencil)}else d=1;if(m)if(Array.isArray(m))for(s=[],n=0;n0&&(l.depth=i[0].depth,l.stencil=i[0].stencil,l.depthStencil=i[0].depthStencil),i[n]?i[n](l):i[n]=S(l)}return t(o,{width:d,height:d,color:s})}return o(e),t(o,{faces:i,resize:function(e){var t,r=0|e;if(F(r>0&&r<=n.maxCubeMapSize,\"invalid radius for cube fbo\"),r===o.width)return o;var a=o.color;for(t=0;t=0;--e){var t=C[e];t&&t(v,null,0)}a.flush(),m&&m.update()}function L(){!I&&C.length>0&&(I=G.next(P))}function R(){I&&(G.cancel(P),I=null)}function M(e){e.preventDefault(),o=!0,R(),z.forEach((function(e){e()}))}function U(e){a.getError(),o=!1,f.restore(),_.restore(),x.restore(),k.restore(),S.restore(),O.restore(),A.restore(),m&&m.restore(),E.procs.refresh(),L(),V.forEach((function(e){e()}))}function N(e){function r(e,t){var r={},n={};return Object.keys(e).forEach((function(a){var i=e[a];if(W.isDynamic(i))n[a]=W.unbox(i,a);else{if(t&&Array.isArray(i))for(var o=0;o0)return l.call(this,function(e){for(;m.length=0,\"cannot cancel a frame twice\"),C[t]=function e(){var t=zi(C,e);C[t]=C[C.length-1],C.length-=1,C.length<=0&&R()}}}}function $(){var e=D.viewport,t=D.scissor_box;e[0]=e[1]=t[0]=t[1]=0,v.viewportWidth=v.framebufferWidth=v.drawingBufferWidth=e[2]=t[2]=a.drawingBufferWidth,v.viewportHeight=v.framebufferHeight=v.drawingBufferHeight=e[3]=t[3]=a.drawingBufferHeight}function K(){v.tick+=1,v.time=Z(),$(),E.procs.poll()}function J(){k.refresh(),$(),E.procs.refresh(),m&&m.update()}function Z(){return(H()-p)/1e3}J();var ee=t(N,{clear:function(e){if(F(\"object\"==typeof e&&e,\"regl.clear() takes an object as input\"),\"framebuffer\"in e)if(e.framebuffer&&\"framebufferCube\"===e.framebuffer_reglType)for(var r=0;r<6;++r)q(t({framebuffer:e.framebuffer.faces[r]},e),Y);else q(e,Y);else Y(0,e)},prop:W.define.bind(null,Di),context:W.define.bind(null,ji),this:W.define.bind(null,Ci),draw:N({}),buffer:function(e){return x.create(e,Oi,!1,!1)},elements:function(e){return w.create(e,!1)},texture:k.create2D,cube:k.createCube,renderbuffer:S.create,framebuffer:O.create,framebufferCube:O.createCube,vao:A.createVAO,attributes:i,frame:X,on:function(e,t){var r;switch(F.type(t,\"function\",\"listener callback must be a function\"),e){case\"frame\":return X(t);case\"lost\":r=z;break;case\"restore\":r=V;break;case\"destroy\":r=B;break;default:F.raise(\"invalid event, must be one of frame,lost,restore,destroy\")}return r.push(t),{cancel:function(){for(var e=0;e=0},read:T,destroy:function(){C.length=0,R(),j&&(j.removeEventListener(Ei,M),j.removeEventListener(Ti,U)),_.clear(),O.clear(),S.clear(),A.clear(),k.clear(),w.clear(),x.clear(),m&&m.clear(),B.forEach((function(e){e()}))},_gl:a,_refresh:J,poll:function(){K(),m&&m.update()},now:Z,stats:l});return n.onDone(null,ee),ee}},\"object\"==typeof r&&void 0!==t?t.exports=o():\"function\"==typeof define&&define.amd?define(o):i.createREGL=o()},\n", + " 507: function _(t,e,a,s,r){s();const n=t(508),_=t(10),o=t(13);class c{constructor(t){this._regl=t,this._map=new Map}_create_texture(t){const e=t.length;let a=0;const s=[];let r=0,_=0;for(let n=0;nc[f+1]&&f++;const s=t[f],n=c[f]+.5*s;let o=.5*s-Math.abs(a-n);f%2==1&&(o=-o),m[e]=Math.round(255*(o-r)/(_-r))}return[[a,u,r,_],this._regl.texture({shape:[l,1,1],data:m,wrapS:\"repeat\",format:\"alpha\",type:\"uint8\",mag:\"linear\",min:\"linear\"})]}_get_key(t){return t.join(\",\")}_get_or_create(t){const e=this._get_key(t);let a=this._map.get(e);if(null==a){const s=(0,n.gcd)(t);if(s>1){t=(0,o.map)(t,(t=>t/s)),a=this._get_or_create(t);const[r,n,_]=a;a=[r,n,s],this._map.set(e,a)}else{const[r,n]=this._create_texture(t);a=[r,n,s],this._map.set(e,a)}}return a}get(t){return t.length%2==1&&(t=(0,_.concat)([t,t])),this._get_or_create(t)}}a.DashCache=c,c.__name__=\"DashCache\"},\n", + " 508: function _(n,t,e,r,o){function u(n,t){let e,r;n>t?(e=n,r=t):(e=t,r=n);let o=e%r;for(;0!=o;)e=r,r=o,o=e%r;return r}r(),e.gcd=function(n){let t=n[0];for(let e=1;e= 0.0 ? 1.0 : -1.0;\\n\\n bool miter_too_large_start = !has_start_cap && miter_too_large(join_type, v_cos_turn_angle_start);\\n bool miter_too_large_end = !has_end_cap && miter_too_large(join_type, v_cos_turn_angle_end);\\n\\n float sign_at_start = -sign(a_position.x); // +ve at segment start, -ve end.\\n vec2 point = sign_at_start > 0.0 ? a_point_start : a_point_end;\\n\\n if ( (has_start_cap && sign_at_start > 0.0) ||\\n (has_end_cap && sign_at_start < 0.0) ) {\\n // Cap.\\n xy = point - segment_right*(halfwidth*a_position.y);\\n if (cap_type == butt_cap)\\n xy -= sign_at_start*0.5*u_antialias*segment_along;\\n else\\n xy -= sign_at_start*halfwidth*segment_along;\\n }\\n else if (sign_at_start > 0.0) {\\n vec2 inside_point = a_point_start + segment_right*(sign_turn_right_start*halfwidth);\\n vec2 prev_outside_point = a_point_start - prev_right*(sign_turn_right_start*halfwidth);\\n\\n // join at start.\\n if (join_type == round_join || join_type == bevel_join || miter_too_large_start) {\\n if (v_cos_turn_angle_start <= 0.0) { // |turn_angle| > 90 degrees\\n xy = a_point_start - segment_right*(halfwidth*a_position.y) - halfwidth*segment_along;\\n }\\n else {\\n if (a_position.x < -1.5) {\\n xy = prev_outside_point;\\n v_coords.y = -dot(xy - a_point_start, segment_right);\\n }\\n else if (a_position.y*sign_turn_right_start > 0.0) { // outside corner of turn\\n float d = halfwidth*abs(sin_turn_angle_start);\\n xy = a_point_start - segment_right*(halfwidth*a_position.y) - d*segment_along;\\n }\\n else { // inside corner of turn\\n xy = inside_point;\\n }\\n }\\n }\\n else { // miter join\\n if (a_position.x < -1.5) {\\n xy = prev_outside_point;\\n v_coords.y = -dot(xy - a_point_start, segment_right);\\n }\\n else if (a_position.y*sign_turn_right_start > 0.0) { // outside corner of turn\\n float tan_half_turn_angle = (1.0-v_cos_turn_angle_start) / sin_turn_angle_start; // Trig identity\\n float d = sign_turn_right_start*halfwidth*tan_half_turn_angle;\\n xy = a_point_start - segment_right*(halfwidth*a_position.y) - d*segment_along;\\n }\\n else { // inside corner if turn\\n xy = inside_point;\\n }\\n }\\n }\\n else {\\n xy = point - segment_right*(halfwidth*a_position.y);\\n }\\n\\n vec2 pos = xy + 0.5; // Bokeh's offset.\\n pos /= u_canvas_size / u_pixel_ratio; // in 0..1\\n gl_Position = vec4(2.0*pos.x - 1.0, 1.0 - 2.0*pos.y, 0.0, 1.0);\\n\\n bool turn_right_start = sin_turn_angle_start >= 0.0;\\n bool turn_right_end = sin_turn_angle_end >= 0.0;\\n\\n v_coords.x = dot(xy - a_point_start, segment_along);\\n v_flags = float(int(has_start_cap) +\\n 2*int(has_end_cap) +\\n 4*int(miter_too_large_start) +\\n 8*int(miter_too_large_end) +\\n 16*int(turn_right_start) +\\n 32*int(turn_right_end));\\n\\n#ifdef DASHED\\n v_length_so_far = a_length_so_far;\\n#endif\\n}\\n\"},\n", + " 510: function _(n,t,a,i,e){i();a.default=\"\\nprecision mediump float;\\n\\nconst int butt_cap = 0;\\nconst int round_cap = 1;\\nconst int square_cap = 2;\\n\\nconst int miter_join = 0;\\nconst int round_join = 1;\\nconst int bevel_join = 2;\\n\\nuniform float u_linewidth;\\nuniform float u_antialias;\\nuniform float u_line_join;\\nuniform float u_line_cap;\\nuniform vec4 u_line_color;\\n#ifdef DASHED\\nuniform sampler2D u_dash_tex;\\nuniform vec4 u_dash_tex_info;\\nuniform float u_dash_scale;\\nuniform float u_dash_offset;\\n#endif\\n\\nvarying float v_segment_length;\\nvarying vec2 v_coords;\\nvarying float v_flags;\\nvarying float v_cos_turn_angle_start;\\nvarying float v_cos_turn_angle_end;\\n#ifdef DASHED\\nvarying float v_length_so_far;\\n#endif\\n\\n#define ONE_MINUS_SMALL (1.0 - 1e-6)\\n\\nfloat cross_z(in vec2 v0, in vec2 v1)\\n{\\n return v0.x*v1.y - v0.y*v1.x;\\n}\\n\\nvec2 right_vector(in vec2 v)\\n{\\n return vec2(v.y, -v.x);\\n}\\n\\nfloat bevel_join_distance(in vec2 coords, in vec2 other_right, in float sign_turn_right)\\n{\\n // other_right is unit vector facing right of the other (previous or next) segment, in coord reference frame\\n float hw = 0.5*u_linewidth; // Not including antialiasing\\n if (other_right.y >= ONE_MINUS_SMALL) { // other_right.y is -cos(turn_angle)\\n // 180 degree turn.\\n return abs(hw - v_coords.x);\\n }\\n else {\\n const vec2 segment_right = vec2(0.0, -1.0);\\n // corner_right is unit vector bisecting corner facing right, in coord reference frame\\n vec2 corner_right = normalize(other_right + segment_right);\\n vec2 outside_point = (-hw*sign_turn_right)*segment_right;\\n return hw + sign_turn_right*dot(outside_point - coords, corner_right);\\n }\\n}\\n\\nfloat cap(in int cap_type, in float x, in float y)\\n{\\n // x is distance along segment in direction away from end of segment,\\n // y is distance across segment.\\n if (cap_type == butt_cap)\\n return max(0.5*u_linewidth - x, abs(y));\\n else if (cap_type == square_cap)\\n return max(-x, abs(y));\\n else // cap_type == round_cap\\n return distance(vec2(min(x, 0.0), y), vec2(0.0, 0.0));\\n}\\n\\nfloat distance_to_alpha(in float dist)\\n{\\n return 1.0 - smoothstep(0.5*(u_linewidth - u_antialias),\\n 0.5*(u_linewidth + u_antialias), dist);\\n}\\n\\nvec2 turn_angle_to_right_vector(in float cos_turn_angle, in float sign_turn_right)\\n{\\n float sin_turn_angle = sign_turn_right*sqrt(1.0 - cos_turn_angle*cos_turn_angle);\\n return vec2(sin_turn_angle, -cos_turn_angle);\\n}\\n\\n#ifdef DASHED\\nfloat dash_distance(in float x)\\n{\\n // x is in direction of v_coords.x, i.e. along segment.\\n float tex_length = u_dash_tex_info.x;\\n float tex_offset = u_dash_tex_info.y;\\n float tex_dist_min = u_dash_tex_info.z;\\n float tex_dist_max = u_dash_tex_info.w;\\n\\n // Apply offset.\\n x += v_length_so_far - u_dash_scale*tex_offset + u_dash_offset;\\n\\n // Interpolate within texture to obtain distance to dash.\\n float dist = texture2D(u_dash_tex,\\n vec2(x / (tex_length*u_dash_scale), 0.0)).a;\\n\\n // Scale distance within min and max limits.\\n dist = tex_dist_min + dist*(tex_dist_max - tex_dist_min);\\n\\n return u_dash_scale*dist;\\n}\\n\\nmat2 rotation_matrix(in vec2 other_right)\\n{\\n float sin_angle = other_right.x;\\n float cos_angle = -other_right.y;\\n return mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\\n}\\n#endif\\n\\nvoid main()\\n{\\n int join_type = int(u_line_join + 0.5);\\n int cap_type = int(u_line_cap + 0.5);\\n float halfwidth = 0.5*(u_linewidth + u_antialias);\\n float half_antialias = 0.5*u_antialias;\\n\\n // Extract flags.\\n int flags = int(v_flags + 0.5);\\n bool turn_right_end = (flags / 32 > 0);\\n float sign_turn_right_end = turn_right_end ? 1.0 : -1.0;\\n flags -= 32*int(turn_right_end);\\n bool turn_right_start = (flags / 16 > 0);\\n float sign_turn_right_start = turn_right_start ? 1.0 : -1.0;\\n flags -= 16*int(turn_right_start);\\n bool miter_too_large_end = (flags / 8 > 0);\\n flags -= 8*int(miter_too_large_end);\\n bool miter_too_large_start = (flags / 4 > 0);\\n flags -= 4*int(miter_too_large_start);\\n bool has_end_cap = (flags / 2 > 0);\\n flags -= 2*int(has_end_cap);\\n bool has_start_cap = flags > 0;\\n\\n // Unit vectors to right of previous and next segments in coord reference frame\\n vec2 prev_right = turn_angle_to_right_vector(v_cos_turn_angle_start, sign_turn_right_start);\\n vec2 next_right = turn_angle_to_right_vector(v_cos_turn_angle_end, sign_turn_right_end);\\n\\n float dist = v_coords.y; // For straight segment, and miter join.\\n\\n // Along-segment coords with respect to end of segment, facing inwards\\n vec2 end_coords = vec2(v_segment_length, 0.0) - v_coords;\\n\\n if (v_coords.x <= half_antialias) {\\n // At start of segment, either cap or join.\\n if (has_start_cap)\\n dist = cap(cap_type, v_coords.x, v_coords.y);\\n else if (join_type == round_join) {\\n if (v_coords.x <= 0.0)\\n dist = distance(v_coords, vec2(0.0, 0.0));\\n }\\n else { // bevel or miter join\\n if (join_type == bevel_join || miter_too_large_start)\\n dist = max(abs(dist), bevel_join_distance(v_coords, prev_right, sign_turn_right_start));\\n float prev_sideways_dist = -sign_turn_right_start*dot(v_coords, prev_right);\\n dist = max(abs(dist), prev_sideways_dist);\\n }\\n }\\n\\n if (end_coords.x <= half_antialias) {\\n if (has_end_cap) {\\n dist = max(abs(dist), cap(cap_type, end_coords.x, v_coords.y));\\n }\\n else if (join_type == bevel_join || miter_too_large_end) {\\n // Bevel join at end impacts half antialias distance\\n dist = max(abs(dist), bevel_join_distance(end_coords, next_right, sign_turn_right_end));\\n }\\n }\\n\\n float alpha = distance_to_alpha(abs(dist));\\n\\n#ifdef DASHED\\n if (u_dash_tex_info.x >= 0.0) {\\n // Dashes in straight segments (outside of joins) are easily calculated.\\n dist = dash_distance(v_coords.x);\\n\\n vec2 prev_coords = rotation_matrix(prev_right)*v_coords;\\n float start_dash_distance = dash_distance(0.0);\\n\\n if (!has_start_cap && cap_type == butt_cap) {\\n // Outer of start join rendered solid color or not at all depending on whether corner\\n // point is in dash or gap, with antialiased ends.\\n bool outer_solid = start_dash_distance >= 0.0 && v_coords.x < half_antialias && prev_coords.x > -half_antialias;\\n if (outer_solid) {\\n // Within solid outer region, antialiased at ends\\n float half_aa_dist = dash_distance(half_antialias);\\n if (half_aa_dist > 0.0) // Next dash near, do not want antialiased gap\\n dist = half_aa_dist - v_coords.x + half_antialias;\\n else\\n dist = start_dash_distance - v_coords.x;\\n\\n half_aa_dist = dash_distance(-half_antialias);\\n if (half_aa_dist > 0.0) // Prev dash nearm do not want antialiased gap\\n dist = min(dist, half_aa_dist + prev_coords.x + half_antialias);\\n else\\n dist = min(dist, start_dash_distance + prev_coords.x);\\n }\\n else {\\n // Outer not rendered, antialias ends.\\n if (v_coords.x < half_antialias)\\n dist = min(0.0, dash_distance(half_antialias) - half_antialias) + v_coords.x;\\n\\n if (prev_coords.x > -half_antialias && prev_coords.x <= half_antialias) {\\n // Antialias from end of previous segment into join\\n float prev_dist = min(0.0, dash_distance(-half_antialias) - half_antialias) - prev_coords.x;\\n // Consider width of previous segment\\n prev_dist = min(prev_dist, 0.5*u_linewidth - abs(prev_coords.y));\\n dist = max(dist, prev_dist);\\n }\\n }\\n }\\n\\n if (!has_end_cap && cap_type == butt_cap && end_coords.x < half_antialias) {\\n float end_dash_distance = dash_distance(v_segment_length);\\n bool increasing = end_dash_distance >= 0.0 && sign_turn_right_end*v_coords.y < 0.0;\\n if (!increasing) {\\n float half_aa_dist = dash_distance(v_segment_length - half_antialias);\\n dist = min(0.0, half_aa_dist - half_antialias) + end_coords.x;\\n }\\n }\\n\\n dist = cap(cap_type, dist, v_coords.y);\\n\\n float dash_alpha = distance_to_alpha(dist);\\n alpha = min(alpha, dash_alpha);\\n }\\n#endif\\n\\n alpha = u_line_color.a*alpha;\\n gl_FragColor = vec4(u_line_color.rgb*alpha, alpha); // Premultiplied alpha.\\n}\\n\"},\n", + " 511: function _(n,i,e,a,t){a();e.default=\"\\nprecision mediump float;\\n\\nattribute vec2 a_position;\\nattribute vec2 a_center;\\nattribute float a_width;\\nattribute float a_height;\\nattribute float a_angle; // In radians\\nuniform vec4 u_border_radius;\\nattribute float a_linewidth;\\nattribute vec4 a_line_color;\\nattribute vec4 a_fill_color;\\nattribute float a_line_cap;\\nattribute float a_line_join;\\nattribute float a_show;\\n#ifdef HATCH\\nattribute float a_hatch_pattern;\\nattribute float a_hatch_scale;\\nattribute float a_hatch_weight;\\nattribute vec4 a_hatch_color;\\n#endif\\n\\nuniform float u_pixel_ratio;\\nuniform vec2 u_canvas_size;\\nuniform float u_antialias;\\nuniform float u_size_hint;\\n\\nvarying float v_linewidth;\\nvarying vec2 v_size; // 2D size for rects compared to 1D for markers.\\nvarying vec4 v_border_radius;\\nvarying vec4 v_line_color;\\nvarying vec4 v_fill_color;\\nvarying float v_line_cap;\\nvarying float v_line_join;\\nvarying vec2 v_coords;\\n#ifdef HATCH\\nvarying float v_hatch_pattern;\\nvarying float v_hatch_scale;\\nvarying float v_hatch_weight;\\nvarying vec4 v_hatch_color;\\nvarying vec2 v_hatch_coords;\\n#endif\\n\\nvoid main()\\n{\\n if (a_show < 0.5 || a_width <= 0.0 || a_height <= 0.0) {\\n // Do not show this rect.\\n gl_Position = vec4(-2.0, -2.0, 0.0, 1.0);\\n return;\\n }\\n\\n v_size = vec2(a_width, a_height);\\n v_border_radius = u_border_radius;\\n v_linewidth = a_linewidth;\\n v_line_color = a_line_color;\\n v_fill_color = a_fill_color;\\n v_line_cap = a_line_cap;\\n v_line_join = a_line_join;\\n\\n if (v_linewidth < 1.0) {\\n // Linewidth less than 1 is implemented as 1 but with reduced alpha.\\n v_line_color.a *= v_linewidth;\\n v_linewidth = 1.0;\\n }\\n\\n#ifdef HATCH\\n v_hatch_pattern = a_hatch_pattern;\\n v_hatch_scale = a_hatch_scale;\\n v_hatch_weight = a_hatch_weight;\\n v_hatch_color = a_hatch_color;\\n#endif\\n\\n vec2 enclosing_size;\\n // Need extra size of (v_linewidth+u_antialias) if edge of marker parallel to\\n // edge of bounding box. If symmetric spike towards edge then multiply by\\n // 1/cos(theta) where theta is angle between spike and bbox edges.\\n int size_hint = int(u_size_hint + 0.5);\\n if (size_hint == 1) // Dash\\n enclosing_size = vec2(v_size.x + v_linewidth + u_antialias,\\n v_linewidth + u_antialias);\\n else if (size_hint == 2) // Dot\\n enclosing_size = 0.25*v_size + u_antialias;\\n else if (size_hint == 3) // Diamond\\n enclosing_size = vec2(v_size.x*(2.0/3.0) + (v_linewidth + u_antialias)*1.20185,\\n v_size.y + (v_linewidth + u_antialias)*1.80278);\\n else if (size_hint == 4) // Hex\\n enclosing_size = v_size + (v_linewidth + u_antialias)*vec2(2.0/sqrt(3.0), 1.0);\\n else if (size_hint == 5) // Square pin\\n enclosing_size = v_size + (v_linewidth + u_antialias)*3.1;\\n else if (size_hint == 6) // Triangle\\n enclosing_size = vec2(v_size.x + (v_linewidth + u_antialias)*sqrt(3.0),\\n v_size.y*(2.0/sqrt(3.0)) + (v_linewidth + u_antialias)*2.0);\\n else if (size_hint == 7) // Triangle pin\\n enclosing_size = v_size + (v_linewidth + u_antialias)*vec2(4.8, 6.0);\\n else if (size_hint == 8) // Star\\n enclosing_size = vec2(v_size.x*0.95106 + (v_linewidth + u_antialias)*3.0,\\n v_size.y + (v_linewidth + u_antialias)*3.2);\\n else\\n enclosing_size = v_size + v_linewidth + u_antialias;\\n\\n // Coordinates in rotated frame with respect to center of marker, used for\\n // distance functions in fragment shader.\\n v_coords = a_position*enclosing_size;\\n\\n float c = cos(-a_angle);\\n float s = sin(-a_angle);\\n mat2 rotation = mat2(c, -s, s, c);\\n\\n vec2 pos = a_center + rotation*v_coords;\\n#ifdef HATCH\\n // Coordinates for hatching in unrotated frame of reference.\\n v_hatch_coords = pos - 0.5;\\n#endif\\n pos += 0.5; // Make up for Bokeh's offset.\\n pos /= u_canvas_size / u_pixel_ratio; // 0 to 1.\\n gl_Position = vec4(2.0*pos.x - 1.0, 1.0 - 2.0*pos.y, 0.0, 1.0);\\n}\\n\"},\n", + " 512: function _(n,i,e,t,a){t();e.default=\"\\nprecision mediump float;\\n\\nconst float SQRT2 = sqrt(2.0);\\nconst float SQRT3 = sqrt(3.0);\\nconst float PI = 3.14159265358979323846;\\n\\nconst int butt_cap = 0;\\nconst int round_cap = 1;\\nconst int square_cap = 2;\\n\\nconst int miter_join = 0;\\nconst int round_join = 1;\\nconst int bevel_join = 2;\\n\\n#ifdef HATCH\\nconst int hatch_dot = 1;\\nconst int hatch_ring = 2;\\nconst int hatch_horizontal_line = 3;\\nconst int hatch_vertical_line = 4;\\nconst int hatch_cross = 5;\\nconst int hatch_horizontal_dash = 6;\\nconst int hatch_vertical_dash = 7;\\nconst int hatch_spiral = 8;\\nconst int hatch_right_diagonal_line = 9;\\nconst int hatch_left_diagonal_line = 10;\\nconst int hatch_diagonal_cross = 11;\\nconst int hatch_right_diagonal_dash = 12;\\nconst int hatch_left_diagonal_dash = 13;\\nconst int hatch_horizontal_wave = 14;\\nconst int hatch_vertical_wave = 15;\\nconst int hatch_criss_cross = 16;\\n#endif\\n\\nuniform float u_antialias;\\n\\nvarying float v_linewidth;\\nvarying vec2 v_size;\\nvarying vec4 v_border_radius;\\nvarying vec4 v_line_color;\\nvarying vec4 v_fill_color;\\nvarying float v_line_cap;\\nvarying float v_line_join;\\nvarying vec2 v_coords;\\n#ifdef HATCH\\nvarying float v_hatch_pattern;\\nvarying float v_hatch_scale;\\nvarying float v_hatch_weight;\\nvarying vec4 v_hatch_color;\\nvarying vec2 v_hatch_coords;\\n#endif\\n\\n// Lines within the marker (dot, cross, x and y) are added at the end as they are\\n// on top of the fill rather than astride it.\\n#if defined(USE_CIRCLE_DOT) || defined(USE_DIAMOND_DOT) || defined(USE_DOT) || defined(USE_HEX_DOT) || defined(USE_SQUARE_DOT) || defined(USE_STAR_DOT) || defined(USE_TRIANGLE_DOT)\\n #define APPEND_DOT\\n#endif\\n\\n#if defined(USE_CIRCLE_CROSS) || defined(USE_SQUARE_CROSS)\\n #define APPEND_CROSS\\n#endif\\n\\n#ifdef USE_DIAMOND_CROSS\\n #define APPEND_CROSS_2\\n#endif\\n\\n#ifdef USE_CIRCLE_X\\n #define APPEND_X\\n #define APPEND_X_LEN (0.5*v_size.x)\\n#endif\\n\\n#ifdef USE_SQUARE_X\\n #define APPEND_X\\n #define APPEND_X_LEN (v_size.x/SQRT2)\\n#endif\\n\\n#ifdef USE_CIRCLE_Y\\n #define APPEND_Y\\n#endif\\n\\n#if defined(USE_ASTERISK) || defined(USE_CROSS) || defined(USE_DASH) || defined(USE_DOT) || defined(USE_X) || defined(USE_Y)\\n // No fill.\\n #define LINE_ONLY\\n#endif\\n\\n#if defined(LINE_ONLY) || defined(APPEND_CROSS) || defined(APPEND_CROSS_2) || defined(APPEND_X) || defined(APPEND_Y)\\nfloat end_cap_distance(in vec2 p, in vec2 end_point, in vec2 unit_direction, in int line_cap)\\n{\\n vec2 offset = p - end_point;\\n if (line_cap == butt_cap)\\n return dot(offset, unit_direction) + 0.5*v_linewidth;\\n else if (line_cap == square_cap)\\n return dot(offset, unit_direction);\\n else if (line_cap == round_cap && dot(offset, unit_direction) > 0.0)\\n return length(offset);\\n else\\n // Default is outside of line and should be -0.5*(v_linewidth+u_antialias) or less,\\n // so here avoid the multiplication.\\n return -v_linewidth-u_antialias;\\n}\\n#endif\\n\\n#if !(defined(LINE_ONLY) || defined(USE_SQUARE_PIN) || defined(USE_TRIANGLE_PIN))\\n// For line join at a vec2 corner where 2 line segments meet, consider bevel points which are the 2\\n// points obtained by moving half a linewidth away from the corner point in the directions normal to\\n// the line segments. The line through these points is the bevel line, characterised by a vec2\\n// unit_normal and offset distance from the corner point. Edge of bevel join straddles this line,\\n// round join occurs outside of this line centred on the corner point. In general\\n// offset = (linewidth/2)*sin(alpha/2)\\n// where alpha is the angle between the 2 line segments at the corner.\\nfloat line_join_distance_no_miter(\\n in vec2 p, in vec2 corner, in vec2 unit_normal, in float offset, in int line_join)\\n{\\n // Simplified version of line_join_distance ignoring miter which most markers do implicitly\\n // as they are composed of straight line segments.\\n float dist_outside = dot((p - corner), unit_normal) - offset;\\n\\n if (line_join == bevel_join && dist_outside > -0.5*u_antialias)\\n return dist_outside + 0.5*v_linewidth;\\n else if (dist_outside > 0.0) // round_join\\n return distance(p, corner);\\n else\\n // Default is outside of line and should be -0.5*(v_linewidth+u_antialias) or less,\\n // so here avoid the multiplication.\\n return -v_linewidth-u_antialias;\\n}\\n#endif\\n\\n#if defined(USE_SQUARE_PIN) || defined(USE_TRIANGLE_PIN)\\n// Line join distance including miter but only one-sided check as assuming use of symmetry in\\n// calling function.\\nfloat line_join_distance_incl_miter(\\n in vec2 p, in vec2 corner, in vec2 unit_normal, in float offset, in int line_join,\\n vec2 miter_unit_normal)\\n{\\n float dist_outside = dot((p - corner), unit_normal) - offset;\\n\\n if (line_join == miter_join && dist_outside > 0.0)\\n return dot((p - corner), miter_unit_normal);\\n else if (line_join == bevel_join && dist_outside > -0.5*u_antialias)\\n return dist_outside + 0.5*v_linewidth;\\n else if (dist_outside > 0.0) // round_join\\n return distance(p, corner);\\n else\\n return -v_linewidth-u_antialias;\\n}\\n#endif\\n\\n#if defined(APPEND_CROSS) || defined(APPEND_X) || defined(USE_ASTERISK) || defined(USE_CROSS) || defined(USE_X)\\nfloat one_cross(in vec2 p, in int line_cap, in float len)\\n{\\n p = abs(p);\\n p = (p.y > p.x) ? p.yx : p.xy;\\n float dist = p.y;\\n float end_dist = end_cap_distance(p, vec2(len, 0.0), vec2(1.0, 0.0), line_cap);\\n return max(dist, end_dist);\\n}\\n#endif\\n\\n#ifdef APPEND_CROSS_2\\nfloat one_cross_2(in vec2 p, in int line_cap, in vec2 lengths)\\n{\\n // Cross with different length in x and y directions.\\n p = abs(p);\\n bool switch_xy = (p.y > p.x);\\n p = switch_xy ? p.yx : p.xy;\\n float len = switch_xy ? lengths.y : lengths.x;\\n float dist = p.y;\\n float end_dist = end_cap_distance(p, vec2(len, 0.0), vec2(1.0, 0.0), line_cap);\\n return max(dist, end_dist);\\n}\\n#endif\\n\\n#if defined(APPEND_Y) || defined(USE_Y)\\nfloat one_y(in vec2 p, in int line_cap, in float len)\\n{\\n p = vec2(abs(p.x), -p.y);\\n\\n // End point of line to right is (1/2, 1/3)*len*SQRT3.\\n // Unit vector along line is (1/2, 1/3)*k where k = 6/SQRT13.\\n const float k = 6.0/sqrt(13.0);\\n vec2 unit_along = vec2(0.5*k, k/3.0);\\n vec2 end_point = vec2(0.5*len*SQRT3, len*SQRT3/3.0);\\n float dist = max(abs(dot(p, vec2(-unit_along.y, unit_along.x))),\\n end_cap_distance(p, end_point, unit_along, line_cap));\\n\\n if (p.y < 0.0) {\\n // Vertical line.\\n float vert_dist = max(p.x,\\n end_cap_distance(p, vec2(0.0, -len), vec2(0.0, -1.0), line_cap));\\n dist = min(dist, vert_dist);\\n }\\n return dist;\\n}\\n#endif\\n\\n// One marker_distance function per marker type.\\n// Distance is zero on edge of marker, +ve outside and -ve inside.\\n\\n#ifdef USE_ASTERISK\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n vec2 p_diag = vec2((p.x + p.y)/SQRT2, (p.x - p.y)/SQRT2);\\n float len = 0.5*v_size.x;\\n return min(one_cross(p, line_cap, len), // cross\\n one_cross(p_diag, line_cap, len)); // x\\n}\\n#endif\\n\\n#if defined(USE_CIRCLE) || defined(USE_CIRCLE_CROSS) || defined(USE_CIRCLE_DOT) || defined(USE_CIRCLE_X) || defined(USE_CIRCLE_Y)\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n return length(p) - 0.5*v_size.x;\\n}\\n#endif\\n\\n#ifdef USE_CROSS\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n return one_cross(p, line_cap, 0.5*v_size.x);\\n}\\n#endif\\n\\n#ifdef USE_DASH\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n p = abs(p);\\n float dist = p.y;\\n float end_dist = end_cap_distance(p, vec2(0.5*v_size.x, 0.0), vec2(1.0, 0.0), line_cap);\\n return max(dist, end_dist);\\n}\\n#endif\\n\\n#if defined(USE_DIAMOND) || defined(USE_DIAMOND_CROSS) || defined(USE_DIAMOND_DOT)\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n // Only need to consider +ve quadrant, the 2 end points are (2r/3, 0) and (0, r)\\n // where r = radius = v_size.x/2.\\n // Line has outward-facing unit normal vec2(1, 2/3)/k where k = SQRT13/3\\n // hence vec2(3, 2)/SQRT13, and distance from origin of 2r/(3k) = 2r/SQRT13.\\n p = abs(p);\\n float r = 0.5*v_size.x;\\n const float SQRT13 = sqrt(13.0);\\n float dist = dot(p, vec2(3.0, 2.0))/SQRT13 - 2.0*r/SQRT13;\\n\\n if (line_join != miter_join) {\\n dist = max(dist, line_join_distance_no_miter(\\n p, vec2(0.0, r), vec2(0.0, 1.0), v_linewidth/SQRT13, line_join));\\n\\n dist = max(dist, line_join_distance_no_miter(\\n p, vec2(r*2.0/3.0, 0.0), vec2(1.0, 0.0), v_linewidth*(1.5/SQRT13), line_join));\\n }\\n\\n return dist;\\n}\\n#endif\\n\\n#ifdef USE_DOT\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Dot is always appended.\\n return v_linewidth+u_antialias;\\n}\\n#endif\\n\\n#if defined(USE_HEX) || defined(USE_HEX_DOT)\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // A regular hexagon has v_size.x == v.size_y = r where r is the length of\\n // each of the 3 sides of the 6 equilateral triangles that comprise the hex.\\n // Only consider +ve quadrant, the 3 corners are at (0, h), (rx/2, h), (rx, 0)\\n // where rx = 0.5*v_size.x, ry = 0.5*v_size.y and h = ry*SQRT3/2.\\n // Sloping line has outward normal vec2(h, rx/2). Length of this is\\n // len = sqrt(h**2 + rx**2/4) to give unit normal (h, rx/2)/len and distance\\n // from origin of this line is rx*h/len.\\n p = abs(p);\\n float rx = v_size.x/2.0;\\n float h = v_size.y*(SQRT3/4.0);\\n float len_normal = sqrt(h*h + 0.25*rx*rx);\\n vec2 unit_normal = vec2(h, 0.5*rx) / len_normal;\\n float dist = max(dot(p, unit_normal) - rx*h/len_normal, // Distance from sloping line.\\n p.y - h); // Distance from horizontal line.\\n\\n if (line_join != miter_join) {\\n dist = max(dist, line_join_distance_no_miter(\\n p, vec2(rx, 0.0), vec2(1.0, 0.0), 0.5*v_linewidth*unit_normal.x, line_join));\\n\\n unit_normal = normalize(unit_normal + vec2(0.0, 1.0)); // At (rx/2, h) corner.\\n dist = max(dist, line_join_distance_no_miter(\\n p, vec2(0.5*rx, h), unit_normal, 0.5*v_linewidth*unit_normal.y, line_join));\\n }\\n return dist;\\n}\\n#endif\\n\\n#ifdef USE_PLUS\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n // Only need to consider one octant, the +ve quadrant with x >= y.\\n p = abs(p);\\n p = (p.y > p.x) ? p.yx : p.xy;\\n\\n // 3 corners are (r, 0), (r, 3r/8) and (3r/8, 3r/8).\\n float r = 0.5*v_size.x;\\n p = p - vec2(r, 0.375*r); // Distance with respect to outside corner\\n float dist = max(p.x, p.y);\\n\\n if (line_join != miter_join) {\\n // Outside corner\\n dist = max(dist, line_join_distance_no_miter(\\n p, vec2(0.0, 0.0), vec2(1.0/SQRT2, 1.0/SQRT2), v_linewidth/(2.0*SQRT2), line_join));\\n\\n // Inside corner\\n dist = min(dist, -line_join_distance_no_miter(\\n p, vec2(-5.0*r/8.0, 0.0), vec2(-1.0/SQRT2, -1.0/SQRT2), v_linewidth/(2.0*SQRT2), line_join));\\n }\\n\\n return dist;\\n}\\n#endif\\n\\n#if defined(USE_RECT)\\n// From https://www.shadertoy.com/view/4llXD7 (MIT licensed)\\nfloat rounded_box(in vec2 p, in vec2 size, in vec4 r)\\n{\\n float width = size.x;\\n float height = size.y;\\n\\n float top_left = r.x;\\n float top_right = r.y;\\n float bottom_right = r.z;\\n float bottom_left = r.w;\\n\\n float top = top_left + top_right;\\n float right = top_right + bottom_right;\\n float bottom = bottom_right + bottom_left;\\n float left = top_left + bottom_left;\\n\\n float top_scale = top == 0.0 ? 1.0 : width / top;\\n float right_scale = right == 0.0 ? 1.0 : height / right;\\n float bottom_scale = bottom == 0.0 ? 1.0 : width / bottom;\\n float left_scale = left == 0.0 ? 1.0 : height / left;\\n\\n float scale = min(min(min(top_scale, right_scale), bottom_scale), left_scale);\\n if (scale < 1.0) {\\n r *= scale;\\n }\\n\\n // tl r.x x=-1 y=-1\\n // tr r.y x=+1 y=-1\\n // br r.z x=+1 y=+1\\n // bl r.w x=-1 y=+1\\n vec2 rh = p.x > 0.0 ? r.yz : r.xw;\\n float rq = p.y > 0.0 ? rh.y : rh.x;\\n\\n // special case for corner miter joins\\n vec2 half_size = size/2.0;\\n if (rq == 0.0) {\\n vec2 q = abs(p) - half_size;\\n return max(q.x, q.y);\\n } else {\\n vec2 q = abs(p) - half_size + rq;\\n return min(max(q.x, q.y), 0.0) + length(max(q, 0.0)) - rq;\\n }\\n}\\n\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n float dist = rounded_box(p, v_size, v_border_radius);\\n\\n if (line_join != miter_join) {\\n vec2 p2 = abs(p) - v_size/2.0; // Offset from corner\\n dist = max(dist, line_join_distance_no_miter(\\n p2, vec2(0.0, 0.0), vec2(1.0/SQRT2, 1.0/SQRT2), v_linewidth/(2.0*SQRT2), line_join));\\n }\\n\\n return dist;\\n}\\n#endif\\n\\n#if defined(USE_SQUARE) || defined(USE_SQUARE_CROSS) || defined(USE_SQUARE_DOT) || defined(USE_SQUARE_X)\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n vec2 p2 = abs(p) - v_size/2.0; // Offset from corner\\n float dist = max(p2.x, p2.y);\\n\\n if (line_join != miter_join) {\\n dist = max(dist, line_join_distance_no_miter(\\n p2, vec2(0.0, 0.0), vec2(1.0/SQRT2, 1.0/SQRT2), v_linewidth/(2.0*SQRT2), line_join));\\n }\\n\\n return dist;\\n}\\n#endif\\n\\n#ifdef USE_SQUARE_PIN\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n p = abs(p);\\n p = (p.y > p.x) ? p.yx : p.xy;\\n // p is in octant between y=0 and y=x.\\n // Quadratic bezier curve passes through (r, r), (11r/16, 0) and (r, -r).\\n // Circular arc that passes through the same points has center at\\n // x = r + 231r/160 = 2.44275r and y = 0 and hence radius is\\n // x - 11r/16 = 1.75626 precisely.\\n float r = 0.5*v_size.x;\\n float center_x = r*2.44375;\\n float radius = r*1.75626;\\n float dist = radius - distance(p, vec2(center_x, 0.0));\\n\\n // Magic number is 0.5*sin(atan(8/5) - pi/4)\\n dist = max(dist, line_join_distance_incl_miter(\\n p, vec2(r, r), vec2(1.0/SQRT2, 1.0/SQRT2), v_linewidth*0.1124297533493792, line_join,\\n vec2(8.0/sqrt(89.0), -5.0/sqrt(89.0))));\\n\\n return dist;\\n}\\n#endif\\n\\n#if defined(USE_STAR) || defined(USE_STAR_DOT)\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n const float SQRT5 = sqrt(5.0);\\n const float COS72 = 0.25*(SQRT5 - 1.0);\\n const float SIN72 = sqrt((5.0+SQRT5) / 8.0);\\n\\n float angle = atan(p.x, p.y); // In range -pi to +pi clockwise from +y direction.\\n angle = mod(angle, 0.4*PI) - 0.2*PI; // In range -pi/5 to +pi/5 clockwise from +y direction.\\n p = length(p)*vec2(cos(angle), abs(sin(angle))); // (x,y) in pi/10 (36 degree) sector.\\n\\n // 2 corners are at (r, 0) and (r-a*SIN72, a*COS72) where a = r sqrt(5-2*sqrt(5)).\\n // Line has outward-facing unit normal vec2(COS72, SIN72) and distance from\\n // origin of dot(vec2(r, 0), vec2(COS72, SIN72)) = r*COS72\\n float r = 0.5*v_size.x;\\n float a = r*sqrt(5.0 - 2.0*SQRT5);\\n float dist = dot(p, vec2(COS72, SIN72)) - r*COS72;\\n\\n if (line_join != miter_join) {\\n // Outside corner\\n dist = max(dist, line_join_distance_no_miter(\\n p, vec2(r, 0.0), vec2(1.0, 0.0), v_linewidth*(0.5*COS72), line_join));\\n\\n // Inside corner\\n const float COS36 = sqrt(0.5 + COS72/2.0);\\n const float SIN36 = sqrt(0.5 - COS72/2.0);\\n dist = min(dist, -line_join_distance_no_miter(\\n p, vec2(r-a*SIN72, a*COS72), vec2(-COS36, -SIN36), v_linewidth*(0.5*COS36), line_join));\\n }\\n\\n return dist;\\n}\\n#endif\\n\\n#if defined(USE_TRIANGLE) || defined(USE_TRIANGLE_DOT) || defined(USE_INVERTED_TRIANGLE)\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n // For normal triangle 3 corners are at (-r, a), (r, a), (0, a-h)=(0, -2h/3)\\n // given r = radius = v_size.x/2, h = SQRT3*r, a = h/3.\\n // Sloping line has outward-facing unit normal vec2(h, -r)/2r = vec2(SQRT3, -1)/2\\n // and distance from origin of a. Horizontal line has outward-facing unit normal\\n // vec2(0, 1) and distance from origin of a.\\n float r = 0.5*v_size.x;\\n float a = r*SQRT3/3.0;\\n\\n // Only need to consider +ve x.\\n#ifdef USE_INVERTED_TRIANGLE\\n p = vec2(abs(p.x), -p.y);\\n#else\\n p = vec2(abs(p.x), p.y);\\n#endif\\n\\n float dist = max(0.5*dot(p, vec2(SQRT3, -1.0)) - a, // Distance from sloping line.\\n p.y - a); // Distance from horizontal line.\\n\\n if (line_join != miter_join) {\\n dist = max(dist, line_join_distance_no_miter(\\n p, vec2(0.0, -(2.0/SQRT3)*r), vec2(0.0, -1.0), v_linewidth*0.25, line_join));\\n\\n dist = max(dist, line_join_distance_no_miter(\\n p, vec2(r, a), vec2(SQRT3/2.0, 0.5), v_linewidth*0.25, line_join));\\n }\\n\\n return dist;\\n}\\n#endif\\n\\n#ifdef USE_TRIANGLE_PIN\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n float angle = atan(p.x, -p.y); // In range -pi to +pi.\\n angle = mod(angle, PI*2.0/3.0) - PI/3.0; // In range -pi/3 to pi/3.\\n p = length(p)*vec2(cos(angle), abs(sin(angle))); // (x,y) in range 0 to pi/3.\\n // Quadratic bezier curve passes through (a, r), ((a+b)/2, 0) and (a, -r) where\\n // a = r/SQRT3, b = 3a/8 = r SQRT3/8. Circular arc that passes through the same points has\\n // center at (a+x, 0) and radius x+c where c = (a-b)/2 and x = (r**2 - c**2) / (2c).\\n // Ignore r factor until the end so can use const.\\n const float a = 1.0/SQRT3;\\n const float b = SQRT3/8.0;\\n const float c = (a-b)/2.0;\\n const float x = (1.0 - c*c) / (2.0*c);\\n const float center_x = x + a;\\n const float radius = x + c;\\n float r = 0.5*v_size.x;\\n float dist = r*radius - distance(p, vec2(r*center_x, 0.0));\\n\\n // Magic number is 0.5*sin(atan(8*sqrt(3)/5) - pi/3)\\n dist = max(dist, line_join_distance_incl_miter(\\n p, vec2(a*r, r), vec2(0.5, 0.5*SQRT3), v_linewidth*0.0881844526878324, line_join,\\n vec2(8.0*SQRT3, -5.0)/sqrt(217.0)));\\n\\n return dist;\\n}\\n#endif\\n\\n#ifdef USE_X\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n p = vec2((p.x + p.y)/SQRT2, (p.x - p.y)/SQRT2);\\n return one_cross(p, line_cap, 0.5*v_size.x);\\n}\\n#endif\\n\\n#ifdef USE_Y\\nfloat marker_distance(in vec2 p, in int line_cap, in int line_join)\\n{\\n // Assuming v_size.x == v.size_y\\n return one_y(p, line_cap, 0.5*v_size.x);\\n}\\n#endif\\n\\n// Convert distance from edge of marker to fraction in range 0 to 1, depending\\n// on antialiasing width.\\nfloat distance_to_fraction(in float dist)\\n{\\n return 1.0 - smoothstep(-0.5*u_antialias, 0.5*u_antialias, dist);\\n}\\n\\n// Return fraction from 0 (no fill color) to 1 (full fill color).\\nfloat fill_fraction(in float dist)\\n{\\n return distance_to_fraction(dist);\\n}\\n\\n// Return fraction in range 0 (no line color) to 1 (full line color).\\nfloat line_fraction(in float dist)\\n{\\n return distance_to_fraction(abs(dist) - 0.5*v_linewidth);\\n}\\n\\n// Return fraction (in range 0 to 1) of a color, with premultiplied alpha.\\nvec4 fractional_color(in vec4 color, in float fraction)\\n{\\n color.a *= fraction;\\n color.rgb *= color.a;\\n return color;\\n}\\n\\n// Blend colors that have premultiplied alpha.\\nvec4 blend_colors(in vec4 src, in vec4 dest)\\n{\\n return (1.0 - src.a)*dest + src;\\n}\\n\\n#ifdef APPEND_DOT\\nfloat dot_fraction(in vec2 p)\\n{\\n // Assuming v_size.x == v_size.y\\n float radius = 0.125*v_size.x;\\n float dot_distance = max(length(p) - radius, -0.5*u_antialias);\\n return fill_fraction(dot_distance);\\n}\\n#endif\\n\\n#ifdef HATCH\\n// Wrap coordinate(s) by removing integer part to give distance from center of\\n// repeat, in the range -0.5 to +0.5.\\nfloat wrap(in float x)\\n{\\n return fract(x) - 0.5;\\n}\\n\\nvec2 wrap(in vec2 xy)\\n{\\n return fract(xy) - 0.5;\\n}\\n\\n// Return fraction from 0 (no hatch color) to 1 (full hatch color).\\nfloat hatch_fraction(in vec2 coords, in int hatch_pattern)\\n{\\n float scale = v_hatch_scale; // Hatch repeat distance.\\n\\n // Coordinates and linewidth/halfwidth are scaled to hatch repeat distance.\\n coords = coords / scale;\\n float halfwidth = 0.5*v_hatch_weight / scale; // Half the hatch linewidth.\\n\\n // Default is to return fraction of zero, i.e. no pattern.\\n float dist = u_antialias;\\n\\n if (hatch_pattern == hatch_dot) {\\n const float dot_radius = 0.25;\\n dist = length(wrap(coords)) - dot_radius;\\n }\\n else if (hatch_pattern == hatch_ring) {\\n const float ring_radius = 0.25;\\n dist = abs(length(wrap(coords)) - ring_radius) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_horizontal_line) {\\n dist = abs(wrap(coords.y)) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_vertical_line) {\\n dist = abs(wrap(coords.x)) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_cross) {\\n dist = min(abs(wrap(coords.x)), abs(wrap(coords.y))) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_horizontal_dash) {\\n // Dashes have square caps.\\n const float halflength = 0.25;\\n dist = max(abs(wrap(coords.y)),\\n abs(wrap(coords.x) + 0.25) - halflength) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_vertical_dash) {\\n const float halflength = 0.25;\\n dist = max(abs(wrap(coords.x)),\\n abs(wrap(coords.y) + 0.25) - halflength) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_spiral) {\\n vec2 wrap2 = wrap(coords);\\n float angle = wrap(atan(wrap2.y, wrap2.x) / (2.0*PI));\\n // Canvas spiral radius increases by scale*pi/15 each rotation.\\n const float dr = PI/15.0;\\n float radius = length(wrap2);\\n // At any angle, spiral lines are equally spaced dr apart.\\n // Find distance to nearest of these lines.\\n float frac = fract((radius - dr*angle) / dr); // 0 to 1.\\n dist = dr*(abs(frac - 0.5));\\n dist = min(dist, radius) - halfwidth; // Consider center point also.\\n }\\n else if (hatch_pattern == hatch_right_diagonal_line) {\\n dist = abs(wrap(2.0*coords.x + coords.y))/sqrt(5.0) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_left_diagonal_line) {\\n dist = abs(wrap(2.0*coords.x - coords.y))/sqrt(5.0) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_diagonal_cross) {\\n coords = vec2(coords.x + coords.y + 0.5, coords.x - coords.y + 0.5);\\n dist = min(abs(wrap(coords.x)), abs(wrap(coords.y))) / SQRT2 - halfwidth;\\n }\\n else if (hatch_pattern == hatch_right_diagonal_dash) {\\n float across = coords.x + coords.y + 0.5;\\n dist = abs(wrap(across)) / SQRT2; // Distance to nearest solid line.\\n\\n across = floor(across); // Offset for dash.\\n float along = wrap(0.5*(coords.x - coords.y + across));\\n const float halflength = 0.25;\\n along = abs(along) - halflength; // Distance along line.\\n\\n dist = max(dist, along) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_left_diagonal_dash) {\\n float across = coords.x - coords.y + 0.5;\\n dist = abs(wrap(across)) / SQRT2; // Distance to nearest solid line.\\n\\n across = floor(across); // Offset for dash.\\n float along = wrap(0.5*(coords.x + coords.y + across));\\n const float halflength = 0.25;\\n along = abs(along) - halflength; // Distance along line.\\n\\n dist = max(dist, along) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_horizontal_wave) {\\n float wrapx = wrap(coords.x);\\n float wrapy = wrap(coords.y - 0.25 + abs(wrapx));\\n dist = abs(wrapy) / SQRT2 - halfwidth;\\n }\\n else if (hatch_pattern == hatch_vertical_wave) {\\n float wrapy = wrap(coords.y);\\n float wrapx = wrap(coords.x - 0.25 + abs(wrapy));\\n dist = abs(wrapx) / SQRT2 - halfwidth;\\n }\\n else if (hatch_pattern == hatch_criss_cross) {\\n float plus = min(abs(wrap(coords.x)), abs(wrap(coords.y)));\\n\\n coords = vec2(coords.x + coords.y + 0.5, coords.x - coords.y + 0.5);\\n float X = min(abs(wrap(coords.x)), abs(wrap(coords.y))) / SQRT2;\\n\\n dist = min(plus, X) - halfwidth;\\n }\\n\\n return distance_to_fraction(dist*scale);\\n}\\n#endif\\n\\nvoid main()\\n{\\n int line_cap = int(v_line_cap + 0.5);\\n int line_join = int(v_line_join + 0.5);\\n#ifdef HATCH\\n int hatch_pattern = int(v_hatch_pattern + 0.5);\\n#endif\\n\\n float dist = marker_distance(v_coords, line_cap, line_join);\\n\\n#ifdef LINE_ONLY\\n vec4 color = vec4(0.0, 0.0, 0.0, 0.0);\\n#else\\n float fill_frac = fill_fraction(dist);\\n vec4 color = fractional_color(v_fill_color, fill_frac);\\n#endif\\n\\n#if defined(HATCH) && !defined(LINE_ONLY)\\n if (hatch_pattern > 0 && fill_frac > 0.0) {\\n float hatch_frac = hatch_fraction(v_hatch_coords, hatch_pattern);\\n vec4 hatch_color = fractional_color(v_hatch_color, hatch_frac*fill_frac);\\n color = blend_colors(hatch_color, color);\\n }\\n#endif\\n\\n float line_frac = line_fraction(dist);\\n\\n#ifdef APPEND_DOT\\n line_frac = max(line_frac, dot_fraction(v_coords));\\n#endif\\n#ifdef APPEND_CROSS\\n line_frac = max(line_frac, line_fraction(one_cross(v_coords, line_cap, 0.5*v_size.x)));\\n#endif\\n#ifdef APPEND_CROSS_2\\n vec2 lengths = vec2(v_size.x/3.0, v_size.x/2.0);\\n line_frac = max(line_frac, line_fraction(one_cross_2(v_coords, line_cap, lengths)));\\n#endif\\n#ifdef APPEND_X\\n vec2 p = vec2((v_coords.x + v_coords.y)/SQRT2, (v_coords.x - v_coords.y)/SQRT2);\\n line_frac = max(line_frac, line_fraction(one_cross(p, line_cap, APPEND_X_LEN)));\\n#endif\\n#ifdef APPEND_Y\\n line_frac = max(line_frac, line_fraction(one_y(v_coords, line_cap, 0.5*v_size.x)));\\n#endif\\n\\n if (line_frac > 0.0) {\\n vec4 line_color = fractional_color(v_line_color, line_frac);\\n color = blend_colors(line_color, color);\\n }\\n\\n gl_FragColor = color;\\n}\\n\"},\n", + " 513: function _(s,i,t,_,e){_();const h=s(514),a=s(515),l=s(516),n=s(21),o=s(76);class r extends h.BaseGLGlyph{constructor(s,i){super(s,i),this.glyph=i,this._antialias=1.5,this._miter_limit=10}_draw_impl(s,i,t){this.visuals_changed&&(this._set_visuals(),this.visuals_changed=!1),t.data_changed&&(t._set_data(),t.data_changed=!1);const _=this._get_visuals().line,e=l.cap_lookup[_.line_cap.value],h=l.join_lookup[_.line_join.value],a=t._points,n=a.length/2-3,o=this._get_show_buffer(s,t),r={scissor:this.regl_wrapper.scissor,viewport:this.regl_wrapper.viewport,canvas_size:[i.width,i.height],pixel_ratio:i.pixel_ratio,line_color:this._color,linewidth:this._linewidth,antialias:this._antialias,miter_limit:this._miter_limit,points:a,show:o,nsegments:n,line_join:h,line_cap:e};if(this._is_dashed()){const s=Object.assign(Object.assign({},r),{length_so_far:this._length_so_far,dash_tex:this._dash_tex,dash_tex_info:this._dash_tex_info,dash_scale:this._dash_scale,dash_offset:this._dash_offset});this.regl_wrapper.dashed_line()(s)}else this.regl_wrapper.solid_line()(r)}_is_dashed(){return null!=this._line_dash&&this._line_dash.length>0}_set_data(){const s=this._set_data_points(),i=s.length/2-2;null==this._show&&(this._show=new a.Uint8Buffer(this.regl_wrapper));const t=this._show.get_sized_array(i+1);let _=isFinite(s[2])&&isFinite(s[3]);for(let e=1;es/255)),this._linewidth=s.line_width.value,this._linewidth<1&&(this._color[3]*=this._linewidth,this._linewidth=1),this._line_dash=(0,o.resolve_line_dash)(s.line_dash.value),this._is_dashed()&&([this._dash_tex_info,this._dash_tex,this._dash_scale]=this.regl_wrapper.get_dash(this._line_dash),this._dash_offset=s.line_dash_offset.value)}}t.BaseLineGL=r,r.__name__=\"BaseLineGL\"},\n", + " 514: function _(e,t,s,i,h){i();class a{constructor(e,t){this.nvertices=0,this.size_changed=!1,this.data_changed=!1,this.visuals_changed=!1,this.glyph=t,this.regl_wrapper=e}set_data_changed(){const{data_size:e}=this.glyph;e!=this.nvertices&&(this.nvertices=e,this.size_changed=!0),this.data_changed=!0}set_visuals_changed(){this.visuals_changed=!0}render(e,t,s){if(0==t.length)return!0;const{width:i,height:h}=this.glyph.renderer.plot_view.canvas_view.webgl.canvas,a={pixel_ratio:this.glyph.renderer.plot_view.canvas_view.pixel_ratio,width:i,height:h};return this.draw(t,s,a),!0}}s.BaseGLGlyph=a,a.__name__=\"BaseGLGlyph\"},\n", + " 515: function _(r,t,a,e,s){e();const i=r(516),_=r(21);class n{constructor(r){this.regl_wrapper=r,this.is_scalar=!0}get_sized_array(r){return null!=this.array&&this.array.length==r||(this.array=this.new_array(r)),this.array}is_normalized(){return!1}get length(){return null!=this.array?this.array.length:0}set_from_array(r){const t=r.length,a=this.get_sized_array(t);for(let e=0;e0&&(l[o]=n[o]);for(let e=1;e2&&t[0]==t[e-1]&&s[0]==s[e-1]&&isFinite(t[0])&&isFinite(s[0]),null==this._points&&(this._points=new _.Float32Buffer(this.regl_wrapper));const i=this._points.get_sized_array(2*(e+2));for(let h=1;h1||s.length<_){this._show_all=!1,n.fill(0),r=0;for(const e of s)1!=h&&i._marker_types.get(e)!=t||(n[e]=255,r++)}else this._show_all&&a==_||(this._show_all=!0,n.fill(255));this._show.update(),0!=r&&this._draw_one_marker_type(t,e,i)}}_get_visuals(){return this.glyph.visuals}_set_data(){const s=this.nvertices;null==this._centers&&(this._centers=new r.Float32Buffer(this.regl_wrapper),this._widths=new r.Float32Buffer(this.regl_wrapper),this._heights=this._widths,this._angles=new r.Float32Buffer(this.regl_wrapper));const t=this._centers.get_sized_array(2*s);for(let e=0;e2&&e[0]==e[i-1]&&s[0]==s[i-1]&&isFinite(e[0])&&isFinite(s[0]);const a=\"center\"==t?2*i:2*i-1;null==this._points&&(this._points=new r.Float32Buffer(this.regl_wrapper));const n=this._points.get_sized_array(2*(a+2));let l=isFinite(e[0]+s[0]),h=2;\"center\"==t&&(n[h++]=l?e[0]:NaN,n[h++]=s[0]);for(let a=0;athis.render()))}remove(){null!=this.icon_view&&this.icon_view.remove(),super.remove()}stylesheets(){return[...super.stylesheets(),d.default]}_render_button(...t){return(0,c.button)({type:\"button\",disabled:this.model.disabled,class:[h.btn,h[`btn_${this.model.button_type}`]]},...t)}render(){if(super.render(),this.button_el=this._render_button(this.model.label),this.button_el.addEventListener(\"click\",(()=>this.click())),null!=this.icon_view){const t=\"\"!=this.model.label?(0,c.nbsp)():(0,c.text)(\"\");(0,c.prepend)(this.button_el,this.icon_view.el,t),this.icon_view.render()}this.group_el=(0,c.div)({class:h.btn_group},this.button_el),this.shadow_el.appendChild(this.group_el)}click(){}}i.AbstractButtonView=b,b.__name__=\"AbstractButtonView\";class p extends _.Control{constructor(t){super(t)}}i.AbstractButton=p,l=p,p.__name__=\"AbstractButton\",l.define((({String:t,Ref:e,Nullable:i})=>({label:[t,\"Button\"],icon:[i(e(a.Icon)),null],button_type:[r.ButtonType,\"default\"]})))},\n", + " 545: function _(t,n,o,s,e){s();const c=t(640),i=t(56);class l extends c.WidgetView{connect_signals(){super.connect_signals(),this.connect(this.disabled,(t=>{for(const n of this.controls())(0,i.toggle_attribute)(n,\"disabled\",t)}))}}o.ControlView=l,l.__name__=\"ControlView\";class _ extends c.Widget{constructor(t){super(t)}}o.Control=_,_.__name__=\"Control\"},\n", + " 640: function _(t,e,i,s,r){s();const a=t(360),n=t(154);class d extends a.LayoutDOMView{update_style(){super.update_style(),this.style.append(\":host\",{margin:\"5px\"})}get child_models(){return[]}get provider(){return n.default_provider}async lazy_initialize(){await super.lazy_initialize(),\"not_started\"==this.provider.status&&await this.provider.fetch()}_after_layout(){super._after_layout(),\"loading\"==this.provider.status&&(this._has_finished=!1)}process_tex(t){if(null==this.provider.MathJax)return t;const e=this.provider.MathJax.find_tex(t),i=[];let s=0;for(const r of e)i.push(t.slice(s,r.start.n)),i.push(this.provider.MathJax.tex2svg(r.math,{display:r.display}).outerHTML),s=r.end.n;return s0}}i.WidgetView=d,d.__name__=\"WidgetView\";class o extends a.LayoutDOM{constructor(t){super(t)}}i.Widget=o,o.__name__=\"Widget\"},\n", + " 547: function _(b,o,r,e,t){e(),r.btn=\"bk-btn\",r.active=\"bk-active\",r.btn_default=\"bk-btn-default\",r.btn_primary=\"bk-btn-primary\",r.btn_success=\"bk-btn-success\",r.btn_warning=\"bk-btn-warning\",r.btn_danger=\"bk-btn-danger\",r.btn_light=\"bk-btn-light\",r.btn_group=\"bk-btn-group\",r.vertical=\"bk-vertical\",r.horizontal=\"bk-horizontal\",r.dropdown_toggle=\"bk-dropdown-toggle\",r.default=\".bk-btn,::file-selector-button{height:100%;display:inline-block;text-align:center;vertical-align:middle;white-space:nowrap;cursor:pointer;padding:var(--padding-vertical) var(--padding-horizontal);font-size:var(--font-size);border:1px solid transparent;border-radius:var(--border-radius);outline:0;outline-offset:-5px;user-select:none;-webkit-user-select:none;}.bk-btn:hover,::file-selector-button:hover,.bk-btn:focus,::file-selector-button:focus{text-decoration:none;}.bk-btn:active,::file-selector-button:active,.bk-active.bk-btn,.bk-active::file-selector-button{background-image:none;box-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);}.bk-btn[disabled]{cursor:not-allowed;pointer-events:none;opacity:0.65;box-shadow:none;}::file-selector-button{color:#333;background-color:#fff;border-color:#ccc;}::file-selector-button:hover{background-color:#f5f5f5;border-color:#b8b8b8;}.bk-active::file-selector-button{background-color:#ebebeb;border-color:#adadad;}::file-selector-button[disabled],::file-selector-button[disabled]:hover,::file-selector-button[disabled]:focus,::file-selector-button[disabled]:active,.bk-active::file-selector-button[disabled]{background-color:#e6e6e6;border-color:#ccc;}::file-selector-button:focus,::file-selector-button:active{outline:1px dotted #ccc;}.bk-btn-default{color:#333;background-color:#fff;border-color:#ccc;}.bk-btn-default:hover{background-color:#f5f5f5;border-color:#b8b8b8;}.bk-active.bk-btn-default{background-color:#ebebeb;border-color:#adadad;}.bk-btn-default[disabled],.bk-btn-default[disabled]:hover,.bk-btn-default[disabled]:focus,.bk-btn-default[disabled]:active,.bk-active.bk-btn-default[disabled]{background-color:#e6e6e6;border-color:#ccc;}.bk-btn-default:focus,.bk-btn-default:active{outline:1px dotted #ccc;}.bk-btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd;}.bk-btn-primary:hover{background-color:#3681c1;border-color:#2c699e;}.bk-active.bk-btn-primary{background-color:#3276b1;border-color:#285e8e;}.bk-btn-primary[disabled],.bk-btn-primary[disabled]:hover,.bk-btn-primary[disabled]:focus,.bk-btn-primary[disabled]:active,.bk-active.bk-btn-primary[disabled]{background-color:#506f89;border-color:#357ebd;}.bk-btn-primary:focus,.bk-btn-primary:active{outline:1px dotted #ccc;}.bk-btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c;}.bk-btn-success:hover{background-color:#4eb24e;border-color:#409240;}.bk-active.bk-btn-success{background-color:#47a447;border-color:#398439;}.bk-btn-success[disabled],.bk-btn-success[disabled]:hover,.bk-btn-success[disabled]:focus,.bk-btn-success[disabled]:active,.bk-active.bk-btn-success[disabled]{background-color:#667b66;border-color:#4cae4c;}.bk-btn-success:focus,.bk-btn-success:active{outline:1px dotted #ccc;}.bk-btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236;}.bk-btn-warning:hover{background-color:#eea43b;border-color:#e89014;}.bk-active.bk-btn-warning{background-color:#ed9c28;border-color:#d58512;}.bk-btn-warning[disabled],.bk-btn-warning[disabled]:hover,.bk-btn-warning[disabled]:focus,.bk-btn-warning[disabled]:active,.bk-active.bk-btn-warning[disabled]{background-color:#c89143;border-color:#eea236;}.bk-btn-warning:focus,.bk-btn-warning:active{outline:1px dotted #ccc;}.bk-btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a;}.bk-btn-danger:hover{background-color:#d5433e;border-color:#bd2d29;}.bk-active.bk-btn-danger{background-color:#d2322d;border-color:#ac2925;}.bk-btn-danger[disabled],.bk-btn-danger[disabled]:hover,.bk-btn-danger[disabled]:focus,.bk-btn-danger[disabled]:active,.bk-active.bk-btn-danger[disabled]{background-color:#a55350;border-color:#d43f3a;}.bk-btn-danger:focus,.bk-btn-danger:active{outline:1px dotted #ccc;}.bk-btn-light{color:#333;background-color:#fff;border-color:#ccc;border-color:transparent;}.bk-btn-light:hover{background-color:#f5f5f5;border-color:#b8b8b8;}.bk-active.bk-btn-light{background-color:#ebebeb;border-color:#adadad;}.bk-btn-light[disabled],.bk-btn-light[disabled]:hover,.bk-btn-light[disabled]:focus,.bk-btn-light[disabled]:active,.bk-active.bk-btn-light[disabled]{background-color:#e6e6e6;border-color:#ccc;}.bk-btn-light:focus,.bk-btn-light:active{outline:1px dotted #ccc;}.bk-btn-group{height:100%;display:flex;flex-wrap:nowrap;align-items:center;}.bk-btn-group:not(.bk-vertical),.bk-btn-group.bk-horizontal{flex-direction:row;}.bk-btn-group.bk-vertical{flex-direction:column;}.bk-btn-group > .bk-btn{flex-grow:1;}.bk-btn-group:not(.bk-vertical) > .bk-btn + .bk-btn{margin-left:-1px;}.bk-btn-group.bk-vertical > .bk-btn + .bk-btn{margin-top:-1px;}.bk-btn-group:not(.bk-vertical) > .bk-btn:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;}.bk-btn-group.bk-vertical > .bk-btn:first-child:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0;}.bk-btn-group:not(.bk-vertical) > .bk-btn:not(:first-child):last-child{border-bottom-left-radius:0;border-top-left-radius:0;}.bk-btn-group.bk-vertical > .bk-btn:not(:first-child):last-child{border-top-left-radius:0;border-top-right-radius:0;}.bk-btn-group > .bk-btn:not(:first-child):not(:last-child){border-radius:0;}.bk-btn-group.bk-vertical > .bk-btn{width:100%;}.bk-btn-group .bk-dropdown-toggle{flex:0 0 0;padding:var(--padding-vertical) calc(var(--padding-horizontal)/2);}\"},\n", + " 548: function _(e,t,n,i,s){var h;i();const o=e(1),_=e(549),u=e(56),r=e(32),l=e(11),a=o.__importStar(e(553)),c=a;class d extends _.TextInputView{constructor(){super(...arguments),this._open=!1,this._last_value=\"\",this._hover_index=0}stylesheets(){return[...super.stylesheets(),a.default]}render(){super.render(),this.input_el.addEventListener(\"keydown\",(e=>this._keydown(e))),this.input_el.addEventListener(\"keyup\",(e=>this._keyup(e))),this.input_el.addEventListener(\"focusin\",(()=>this._toggle_menu())),this.menu=(0,u.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.shadow_el.appendChild(this.menu),(0,u.undisplay)(this.menu)}change_input(){this._open&&this.menu.children.length>0?(this.model.value=this.menu.children[this._hover_index].textContent,this.input_el.focus(),this._hide_menu()):this.model.restrict||super.change_input()}_update_completions(e){var t;(0,u.empty)(this.menu);const{max_completions:n}=this.model,i=null!=n?(0,r.take)(e,n):e;for(const e of i){const t=(0,u.div)(e);this.menu.append(t)}null===(t=this.menu.firstElementChild)||void 0===t||t.classList.add(c.active)}_toggle_menu(){const{value:e}=this.input_el;if(e.length{const{case_sensitive:e}=this.model;return e?e=>e:e=>e.toLowerCase()})(),n=[];for(const i of this.model.completions)t(i).startsWith(t(e))&&n.push(i);this._update_completions(n),0==n.length?this._hide_menu():this._show_menu()}_show_menu(){if(!this._open){this._open=!0,this._hover_index=0,this._last_value=this.model.value,(0,u.display)(this.menu);const e=t=>{t.composedPath().includes(this.el)||(document.removeEventListener(\"click\",e),this._hide_menu())};document.addEventListener(\"click\",e)}}_hide_menu(){this._open&&(this._open=!1,(0,u.undisplay)(this.menu))}_menu_click(e){e.target!=e.currentTarget&&e.target instanceof Element&&(this.model.value=e.target.textContent,this.input_el.focus(),this._hide_menu())}_menu_hover(e){if(e.target!=e.currentTarget&&e.target instanceof Element)for(let t=0;t0&&(this.menu.children[this._hover_index].classList.remove(c.active),this._hover_index=(0,l.clamp)(e,0,t-1),this.menu.children[this._hover_index].classList.add(c.active))}_keydown(e){}_keyup(e){switch(super._keyup(e),e.key){case\"Enter\":this.change_input();break;case\"Escape\":this._hide_menu();break;case\"ArrowUp\":this._bump_hover(this._hover_index-1);break;case\"ArrowDown\":this._bump_hover(this._hover_index+1);break;default:this._toggle_menu()}}}n.AutocompleteInputView=d,d.__name__=\"AutocompleteInputView\";class m extends _.TextInput{constructor(e){super(e)}}n.AutocompleteInput=m,h=m,m.__name__=\"AutocompleteInput\",h.prototype.default_view=d,h.define((({Boolean:e,Int:t,String:n,Array:i,NonNegative:s,Positive:h,Nullable:o})=>({completions:[i(n),[]],min_characters:[s(t),2],max_completions:[o(h(t)),null],case_sensitive:[e,!0],restrict:[e,!0]})))},\n", + " 549: function _(e,t,n,i,s){var u;i();const l=e(1),p=e(550),r=e(56),_=e(52),a=l.__importStar(e(552));class c extends p.TextLikeInputView{connect_signals(){super.connect_signals();const{prefix:e,suffix:t}=this.model.properties;this.on_change([e,t],(()=>this.render()))}_render_input(){this.input_el=(0,r.input)({type:\"text\",class:a.input});const{prefix:e,suffix:t}=this.model,n=null!=e?(0,r.div)({class:\"bk-input-prefix\"},e):null,i=null!=t?(0,r.div)({class:\"bk-input-suffix\"},t):null;return(0,r.div)({class:\"bk-input-container\"},n,this.input_el,i)}render(){super.render(),this.input_el.addEventListener(\"keyup\",(e=>this._keyup(e)))}_keyup(e){\"Enter\"!=e.key||e.shiftKey||e.ctrlKey||e.altKey||this.model.trigger_event(new _.ValueSubmit(this.input_el.value))}}n.TextInputView=c,c.__name__=\"TextInputView\";class o extends p.TextLikeInput{constructor(e){super(e)}}n.TextInput=o,u=o,o.__name__=\"TextInput\",u.prototype.default_view=c,u.define((({String:e,Nullable:t})=>({prefix:[t(e),null],suffix:[t(e),null]})))},\n", + " 550: function _(e,t,n,i,l){var s;i();const h=e(551);class a extends h.InputWidgetView{connect_signals(){super.connect_signals(),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(){super.render();const e=this._render_input();this.group_el.appendChild(e);const{input_el:t}=this;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()))}change_input(){this.model.value=this.input_el.value,super.change_input()}change_input_value(){this.model.value_input=this.input_el.value,super.change_input()}}n.TextLikeInputView=a,a.__name__=\"TextLikeInputView\";class u extends h.InputWidget{constructor(e){super(e)}}n.TextLikeInput=u,s=u,u.__name__=\"TextLikeInput\",s.define((({Int:e,String:t,Nullable:n})=>({value:[t,\"\"],value_input:[t,\"\"],placeholder:[t,\"\"],max_length:[n(e),null]})))},\n", + " 551: function _(e,t,i,s,l){var n;s();const o=e(1),d=e(545),r=e(448),c=e(12),a=e(8),u=e(59),p=e(56),h=o.__importStar(e(552)),_=h,m=o.__importDefault(e(269));class v extends d.ControlView{constructor(){super(...arguments),this.description=null,this.desc_el=null}*controls(){yield this.input_el}*children(){yield*super.children(),null!=this.description&&(yield this.description)}async lazy_initialize(){await super.lazy_initialize();const{description:e}=this.model;e instanceof r.Tooltip&&(this.description=await(0,u.build_view)(e,{parent:this}))}remove(){var e;null===(e=this.description)||void 0===e||e.remove(),super.remove()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.title.change,(()=>{this.label_el.textContent=this.model.title}))}stylesheets(){return[...super.stylesheets(),h.default,m.default]}render(){super.render();const{title:e,description:t}=this.model;if(null==t)this.desc_el=null;else{const e=(0,p.div)({class:_.icon});if(this.desc_el=(0,p.div)({class:_.description},e),(0,a.isString)(t))this.desc_el.title=t;else{const{description:t}=this;(0,c.assert)(null!=t);const{desc_el:i}=this;t.model.target=i;let s=!1;const l=i=>{t.model.setv({visible:i,closable:s}),e.classList.toggle(_.opaque,i&&s)};this.on_change(t.model.properties.visible,(()=>{const{visible:e}=t.model;e||(s=!1),l(e)})),i.addEventListener(\"mouseenter\",(()=>{l(!0)})),i.addEventListener(\"mouseleave\",(()=>{s||l(!1)})),document.addEventListener(\"mousedown\",(e=>{const n=e.composedPath();n.includes(t.el)||(n.includes(i)?(s=!s,l(s)):(s=!1,l(!1)))})),window.addEventListener(\"blur\",(()=>{s=!1,l(!1)}))}}this.label_el=(0,p.label)({style:{display:0==e.length?\"none\":\"\"}},e,this.desc_el),this.group_el=(0,p.div)({class:_.input_group},this.label_el),this.shadow_el.appendChild(this.group_el)}change_input(){}}i.InputWidgetView=v,v.__name__=\"InputWidgetView\";class g extends d.Control{constructor(e){super(e)}}i.InputWidget=g,n=g,g.__name__=\"InputWidget\",n.define((({String:e,Nullable:t,Or:i,Ref:s})=>({title:[e,\"\"],description:[t(i(e,s(r.Tooltip))),null]})))},\n", + " 552: function _(i,n,t,e,p){e(),t.input=\"bk-input\",t.input_container=\"bk-input-container\",t.input_prefix=\"bk-input-prefix\",t.input_suffix=\"bk-input-suffix\",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.description=\"bk-description\",t.icon=\"bk-icon\",t.opaque=\"bk-opaque\",t.default=':host{--input-min-height:calc(var(--line-height-computed) + 2*var(--padding-vertical) + 2px);}.bk-input{display:inline-block;width:100%;flex-grow:1;min-height:var(--input-min-height);padding:0 var(--padding-horizontal);background-color:#fff;border:1px solid #ccc;border-radius:var(--border-radius);}.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-input::placeholder,.bk-input:-ms-input-placeholder,.bk-input::-moz-placeholder,.bk-input::-webkit-input-placeholder{color:#999;opacity:1;}.bk-input[disabled]{cursor:not-allowed;background-color:#eee;opacity:1;}.bk-input-container{width:100%;height:100%;display:flex;flex-direction:row;flex-wrap:nowrap;}.bk-input-container .bk-input-prefix,.bk-input-container .bk-input-suffix{display:flex;align-items:center;flex:0 1 0;border:1px solid #ccc;border-radius:var(--border-radius);padding:0 var(--padding-horizontal);background-color:#e6e6e6;}.bk-input-container .bk-input-prefix{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;}.bk-input-container .bk-input-suffix{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;}.bk-input-container .bk-input{flex:1 0 0;}.bk-input-container .bk-input:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;}.bk-input-container .bk-input:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0;}input[type=file].bk-input{padding-left:0;}input[type=file]::file-selector-button{box-sizing:inherit;font-family:inherit;font-size:inherit;line-height:inherit;}select:not([multiple]).bk-input,select:not([size]).bk-input{height:auto;appearance:none;-webkit-appearance:none;background-image:url(\\'data:image/svg+xml;utf8,\\');background-position:right 0.5em center;background-size:8px 6px;background-repeat:no-repeat;padding-right:calc(var(--padding-horizontal) + 8px);}option{padding:0;}select[multiple].bk-input,select[size].bk-input,textarea.bk-input{height:auto;}.bk-input-group{width:100%;height:100%;display:inline-flex;flex-wrap:nowrap;align-items:start;flex-direction:column;white-space:nowrap;}.bk-input-group.bk-inline{flex-direction:row;}.bk-input-group.bk-inline > *:not(:first-child){margin-left:5px;}.bk-input-group > .bk-spin-wrapper{display:inherit;width:inherit;height:inherit;position:relative;overflow:hidden;padding:0;vertical-align:middle;}.bk-input-group > .bk-spin-wrapper input{padding-right:20px;}.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-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-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up{top:0;}.bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up:before{border-bottom:5px solid black;}.bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up:disabled:before{border-bottom-color:grey;}.bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down{bottom:0;}.bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down:before{border-top:5px solid black;}.bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down:disabled:before{border-top-color:grey;}.bk-description{position:relative;display:inline-block;margin-left:0.25em;vertical-align:middle;margin-top:-2px;cursor:pointer;}.bk-description > .bk-icon{opacity:0.5;width:18px;height:18px;background-color:gray;mask-image:var(--bokeh-icon-help);mask-size:contain;mask-repeat:no-repeat;-webkit-mask-image:var(--bokeh-icon-help);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;}label:hover > .bk-description > .bk-icon,.bk-icon.bk-opaque{opacity:1;}'},\n", + " 553: function _(e,o,i,b,r){b(),i.menu=\"bk-menu\",i.above=\"bk-above\",i.below=\"bk-below\",i.divider=\"bk-divider\",i.active=\"bk-active\",i.default=\":host{position:relative;}.bk-menu{position:absolute;left:0;width:100%;z-index:100;cursor:pointer;font-size:var(--font-size);background-color:#fff;border:1px solid #ccc;border-radius:var(--border-radius);box-shadow:0 6px 12px rgba(0, 0, 0, 0.175);}.bk-menu.bk-above{bottom:100%;}.bk-menu.bk-below{top:100%;}.bk-menu > .bk-divider{height:1px;margin:calc(var(--line-height-computed)/2 - 1px) 0;overflow:hidden;background-color:#e5e5e5;}.bk-menu > :not(.bk-divider){padding:var(--padding-vertical) var(--padding-horizontal);}.bk-menu > :not(.bk-divider):hover,.bk-menu > :not(.bk-divider).bk-active{background-color:#e6e6e6;}\"},\n", + " 554: function _(t,e,n,o,c){var i;o();const s=t(544),u=t(52);class _ extends s.AbstractButtonView{click(){this.model.trigger_event(new u.ButtonClick),super.click()}}n.ButtonView=_,_.__name__=\"ButtonView\";class r extends s.AbstractButton{constructor(t){super(t)}on_click(t){this.on_event(u.ButtonClick,t)}}n.Button=r,i=r,r.__name__=\"Button\",i.prototype.default_view=_,i.override({label:\"Button\"})},\n", + " 555: function _(t,e,o,a,c){var s;a();const i=t(1),n=t(556),r=i.__importStar(t(547));class u extends n.ToggleButtonGroupView{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)=>{e.classList.toggle(r.active,t.has(o))}))}}o.CheckboxButtonGroupView=u,u.__name__=\"CheckboxButtonGroupView\";class _ extends n.ToggleButtonGroup{constructor(t){super(t)}}o.CheckboxButtonGroup=_,s=_,_.__name__=\"CheckboxButtonGroup\",s.prototype.default_view=u,s.define((({Int:t,Array:e})=>({active:[e(t),[]]})))},\n", + " 556: function _(t,e,n,s,o){var i;s();const r=t(1),l=t(557),a=t(52),_=t(19),d=t(56),u=r.__importStar(t(547)),c=u;class h extends l.OrientedControlView{*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()))}stylesheets(){return[...super.stylesheets(),u.default]}render(){super.render(),this._buttons=this.model.labels.map(((t,e)=>{const n=(0,d.button)({class:[c.btn,c[`btn_${this.model.button_type}`]],disabled:this.model.disabled},t);return n.addEventListener(\"click\",(()=>{this.change_active(e),this.model.trigger_event(new a.ButtonClick)})),n})),this._update_active();const t=\"horizontal\"==this.model.orientation?c.horizontal:c.vertical,e=(0,d.div)({class:[c.btn_group,t]},this._buttons);this.shadow_el.appendChild(e)}}n.ToggleButtonGroupView=h,h.__name__=\"ToggleButtonGroupView\";class p extends l.OrientedControl{constructor(t){super(t)}}n.ToggleButtonGroup=p,i=p,p.__name__=\"ToggleButtonGroup\",i.define((({String:t,Array:e})=>({labels:[e(t),[]],button_type:[_.ButtonType,\"default\"]})))},\n", + " 557: function _(n,e,o,t,r){var i;t();const l=n(545),s=n(19);class _ extends l.ControlView{}o.OrientedControlView=_,_.__name__=\"OrientedControlView\";class a extends l.Control{constructor(n){super(n)}}o.OrientedControl=a,i=a,a.__name__=\"OrientedControl\",i.define((()=>({orientation:[s.Orientation,\"horizontal\"]})))},\n", + " 558: function _(e,t,s,n,i){var c;n();const o=e(1),a=e(559),h=e(56),l=e(10),r=e(32),d=o.__importStar(e(552));class p extends a.ToggleInputGroupView{get active(){return new Set(this.model.active)}connect_signals(){super.connect_signals();const{active:e}=this.model.properties;this.on_change(e,(()=>{const{active:e}=this;for(const[t,s]of(0,r.enumerate)(this._inputs))t.checked=e.has(s)}))}render(){super.render();const e=(0,h.div)({class:[d.input_group,this.model.inline?d.inline:null]});this.shadow_el.appendChild(e);const{active:t,labels:s}=this.model;this._inputs=[];for(let n=0;nthis.change_active(n))),this._inputs.push(i),this.model.disabled&&(i.disabled=!0),(0,l.includes)(t,n)&&(i.checked=!0);const c=(0,h.label)(i,(0,h.span)(s[n]));e.appendChild(c)}}change_active(e){const{active:t}=this;t.has(e)?t.delete(e):t.add(e),this.model.active=[...t].sort()}}s.CheckboxGroupView=p,p.__name__=\"CheckboxGroupView\";class u extends a.ToggleInputGroup{constructor(e){super(e)}}s.CheckboxGroup=u,c=u,u.__name__=\"CheckboxGroup\",c.prototype.default_view=p,c.define((({Int:e,Array:t})=>({active:[t(e),[]]})))},\n", + " 559: function _(e,n,t,s,o){var l;s();const r=e(1),i=e(545),u=r.__importDefault(e(552)),_=r.__importDefault(e(560));class a extends i.ControlView{*controls(){yield*this._inputs}connect_signals(){super.connect_signals();const{labels:e,inline:n}=this.model.properties;this.on_change([e,n],(()=>this.render()))}stylesheets(){return[...super.stylesheets(),u.default,_.default]}}t.ToggleInputGroupView=a,a.__name__=\"ToggleInputGroupView\";class p extends i.Control{constructor(e){super(e)}}t.ToggleInputGroup=p,l=p,p.__name__=\"ToggleInputGroup\",l.define((({Boolean:e,String:n,Array:t})=>({labels:[t(n),[]],inline:[e,!1]})))},\n", + " 560: function _(t,i,p,e,n){e(),p.default='input[type=\"checkbox\"],input[type=\"radio\"]{margin:0;}input[type=\"checkbox\"] + *,input[type=\"radio\"] + *{position:relative;top:-2px;margin-left:3px;}'},\n", + " 561: function _(e,t,s,l,i){var a;l();const _=e(1),c=e(562),h=e(56),o=_.__importDefault(e(560));class n extends c.ToggleInputView{stylesheets(){return[...super.stylesheets(),o.default]}connect_signals(){super.connect_signals();const{label:e}=this.model.properties;this.on_change(e,(()=>this._update_label()))}render(){super.render(),this.checkbox_el=(0,h.input)({type:\"checkbox\"}),this.label_el=(0,h.span)(this.model.label),this.checkbox_el.addEventListener(\"change\",(()=>this._toggle_active())),this._update_active(),this._update_disabled(),this.shadow_el.append(this.checkbox_el,this.label_el)}_update_active(){this.checkbox_el.checked=this.model.active}_update_disabled(){this.checkbox_el.toggleAttribute(\"disabled\",this.model.disabled)}_update_label(){this.label_el.textContent=this.model.label}}s.CheckboxView=n,n.__name__=\"CheckboxView\";class d extends c.ToggleInput{constructor(e){super(e)}}s.Checkbox=d,a=d,d.__name__=\"Checkbox\",a.prototype.default_view=n,a.define((({String:e})=>({label:[e,\"\"]})))},\n", + " 562: function _(e,t,i,s,n){var a;s();const o=e(640);class c extends o.WidgetView{connect_signals(){super.connect_signals();const{active:e,disabled:t}=this.model.properties;this.on_change(e,(()=>this._update_active())),this.on_change(t,(()=>this._update_disabled()))}_toggle_active(){this.model.disabled||(this.model.active=!this.model.active)}}i.ToggleInputView=c,c.__name__=\"ToggleInputView\";class _ extends o.Widget{constructor(e){super(e)}}i.ToggleInput=_,a=_,_.__name__=\"ToggleInput\",a.define((({Boolean:e})=>({active:[e,!1]})))},\n", + " 563: function _(e,t,i,n,o){var s;n();const l=e(1),r=e(551),c=e(56),a=e(21),d=l.__importStar(e(552));class h extends r.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.name.change,(()=>{var e;return this.input_el.name=null!==(e=this.model.name)&&void 0!==e?e:\"\"})),this.connect(this.model.properties.color.change,(()=>this.input_el.value=(0,a.color2hexrgb)(this.model.color))),this.connect(this.model.properties.disabled.change,(()=>this.input_el.disabled=this.model.disabled))}render(){super.render(),this.input_el=(0,c.input)({type:\"color\",class:d.input,name:this.model.name,value:this.model.color,disabled:this.model.disabled}),this.input_el.addEventListener(\"change\",(()=>this.change_input())),this.group_el.appendChild(this.input_el)}change_input(){this.model.color=this.input_el.value,super.change_input()}}i.ColorPickerView=h,h.__name__=\"ColorPickerView\";class p extends r.InputWidget{constructor(e){super(e)}}i.ColorPicker=p,s=p,p.__name__=\"ColorPicker\",s.prototype.default_view=h,s.define((({Color:e})=>({color:[e,\"#000000\"]})))},\n", + " 564: function _(e,t,a,s,i){var n;s();const l=e(565),c=e(12);class r extends l.BaseDatePickerView{get flatpickr_options(){return Object.assign(Object.assign({},super.flatpickr_options),{mode:\"single\"})}_on_change(e){switch(e.length){case 0:this.model.value=null;break;case 1:{const[t]=e,a=this._format_date(t);this.model.value=a;break}default:(0,c.assert)(!1,\"invalid length\")}}}a.DatePickerView=r,r.__name__=\"DatePickerView\";class o extends l.BaseDatePicker{constructor(e){super(e)}}a.DatePicker=o,n=o,o.__name__=\"DatePicker\",n.prototype.default_view=r,n.define((({Nullable:e})=>({value:[e(l.DateLike),null]})))},\n", + " 565: function _(e,t,a,s,i){var n;s();const l=e(566),c=e(8),r=e(20);a.DateLike=(0,r.Or)((0,r.Ref)(Date),r.String,r.Number),a.DateLikeList=(0,r.Array)((0,r.Or)(a.DateLike,(0,r.Tuple)(a.DateLike,a.DateLike),(0,r.Struct)({from:a.DateLike,to:a.DateLike})));class d extends l.PickerBaseView{_format_date(e){const{picker:t}=this;return t.formatDate(e,t.config.dateFormat)}connect_signals(){super.connect_signals();const{value:e,min_date:t,max_date:a,disabled_dates:s,enabled_dates:i,date_format:n}=this.model.properties;this.connect(e.change,(()=>{const{value:e}=this.model;null!=e?this.picker.setDate(e):this.picker.clear()})),this.connect(t.change,(()=>this.picker.set(\"minDate\",this.model.min_date))),this.connect(a.change,(()=>this.picker.set(\"maxDate\",this.model.max_date))),this.connect(s.change,(()=>{const{disabled_dates:e}=this.model;this.picker.set(\"disable\",null!=e?this._convert_date_list(e):void 0)})),this.connect(i.change,(()=>{const{enabled_dates:e}=this.model;this.picker.set(\"enable\",null!=e?this._convert_date_list(e):void 0)})),this.connect(n.change,(()=>this.picker.set(\"altFormat\",this.model.date_format)))}get flatpickr_options(){const{value:e,min_date:t,max_date:a,disabled_dates:s,enabled_dates:i,date_format:n}=this.model,l=super.flatpickr_options;return l.altInput=!0,l.altFormat=n,l.dateFormat=\"Y-m-d\",null!=e&&(l.defaultDate=e),null!=t&&(l.minDate=t),null!=a&&(l.maxDate=a),null!=s&&(l.disable=this._convert_date_list(s)),null!=i&&(l.enable=this._convert_date_list(i)),l}_convert_date_list(e){const t=[];for(const a of e)if((0,c.isArray)(a)){const[e,s]=a;t.push({from:e,to:s})}else t.push(a);return t}}a.BaseDatePickerView=d,d.__name__=\"BaseDatePickerView\";class o extends l.PickerBase{constructor(e){super(e)}}a.BaseDatePicker=o,n=o,o.__name__=\"BaseDatePicker\",n.define((({Nullable:e})=>({min_date:[e(a.DateLike),null],max_date:[e(a.DateLike),null],disabled_dates:[e(a.DateLikeList),null],enabled_dates:[e(a.DateLikeList),null],date_format:[r.String,\"Y-m-d\"]})))},\n", + " 566: function _(e,t,i,n,o){var s;n();const r=e(1),a=r.__importDefault(e(567)),l=e(551),c=e(56),d=e(19),h=e(56),p=e(12),f=r.__importDefault(e(575)),g=r.__importStar(e(552));class u extends l.InputWidgetView{get picker(){return(0,p.assert)(null!=this._picker),this._picker}remove(){var e;null===(e=this._picker)||void 0===e||e.destroy(),super.remove()}stylesheets(){return[...super.stylesheets(),f.default]}connect_signals(){super.connect_signals();const{inline:e}=this.model.properties;this.connect(e.change,(()=>this.picker.set(\"inline\",this.model.inline)))}get flatpickr_options(){return{appendTo:this.group_el,inline:this.model.inline,position:this._position.bind(this),onChange:e=>{this._on_change(e),this.change_input()}}}render(){var e;super.render(),null===(e=this._picker)||void 0===e||e.destroy(),this.input_el=(0,c.input)({type:\"text\",class:g.input,disabled:this.model.disabled}),this.group_el.appendChild(this.input_el);const t=this.flatpickr_options;this._picker=(0,a.default)(this.input_el,t)}_position(e,t){const i=null!=t?t:e._positionElement,n=[...e.calendarContainer.children].reduce(((e,t)=>e+(0,h.bounding_box)(t).height),0),o=e.calendarContainer.offsetWidth,s=this.model.position.split(\" \"),r=s[0],a=s.length>1?s[1]:null,l=i.offsetTop,c=i.offsetTop+i.offsetHeight,d=i.offsetLeft,p=i.offsetLeft+i.offsetWidth,f=i.offsetWidth,g=window.innerHeight-c,u=\"above\"===r||\"below\"!==r&&gn,_=null!=e.config.appendTo?l+(u?-n-2:i.offsetHeight+2):window.scrollY+l+(u?-n-2:i.offsetHeight+2);if(e.calendarContainer.classList.toggle(\"arrowTop\",!u),e.calendarContainer.classList.toggle(\"arrowBottom\",u),e.config.inline)return;let w=window.scrollX+d,C=!1,m=!1;\"center\"===a?(w-=(o-f)/2,C=!0):\"right\"===a&&(w-=o-f,m=!0),e.calendarContainer.classList.toggle(\"arrowLeft\",!C&&!m),e.calendarContainer.classList.toggle(\"arrowCenter\",C),e.calendarContainer.classList.toggle(\"arrowRight\",m);const y=window.document.body.offsetWidth-(window.scrollX+p),k=w+o>window.document.body.offsetWidth,b=y+o>window.document.body.offsetWidth;if(e.calendarContainer.classList.toggle(\"rightMost\",k),!e.config.static)if(e.calendarContainer.style.top=`${_}px`,k)if(b){const t=this.shadow_el.styleSheets[0],i=window.document.body.offsetWidth,n=Math.max(0,i/2-o/2),s=\".flatpickr-calendar.centerMost:before\",r=\".flatpickr-calendar.centerMost:after\",a=t.cssRules.length,l=`{left:${d}px;right:auto;}`;e.calendarContainer.classList.toggle(\"rightMost\",!1),e.calendarContainer.classList.toggle(\"centerMost\",!0),t.insertRule(`${s},${r}${l}`,a),e.calendarContainer.style.left=`${n}px`,e.calendarContainer.style.right=\"auto\"}else e.calendarContainer.style.left=\"auto\",e.calendarContainer.style.right=`${y}px`;else e.calendarContainer.style.left=`${w}px`,e.calendarContainer.style.right=\"auto\"}}i.PickerBaseView=u,u.__name__=\"PickerBaseView\";class _ extends l.InputWidget{constructor(e){super(e)}}i.PickerBase=_,s=_,_.__name__=\"PickerBase\",s.define((({Boolean:e})=>({position:[d.CalendarPosition,\"auto\"],inline:[e,!1]})))},\n", + " 567: function _(e,t,n,a,i){a();const o=e(1);var r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,a=arguments.length;n=0?new Date:new Date(n.config.minDate.getTime()),a=(0,f.getDefaultHours)(n.config);t.setHours(a.hours,a.minutes,a.seconds,t.getMilliseconds()),n.selectedDates=[t],n.latestSelectedDateObj=t}void 0!==e&&\"blur\"!==e.type&&function(e){e.preventDefault();var t=\"keydown\"===e.type,a=(0,u.getEventTarget)(e),i=a;void 0!==n.amPM&&a===n.amPM&&(n.amPM.textContent=n.l10n.amPM[(0,d.int)(n.amPM.textContent===n.l10n.amPM[0])]);var o=parseFloat(i.getAttribute(\"min\")),r=parseFloat(i.getAttribute(\"max\")),l=parseFloat(i.getAttribute(\"step\")),c=parseInt(i.value,10),s=e.delta||(t?38===e.which?1:-1:0),f=c+l*s;if(void 0!==i.value&&2===i.value.length){var m=i===n.hourElement,g=i===n.minuteElement;fr&&(f=i===n.hourElement?f-r-(0,d.int)(!n.amPM):o,g&&x(void 0,1,n.hourElement)),n.amPM&&m&&(1===l?f+c===23:Math.abs(f-c)>l)&&(n.amPM.textContent=n.l10n.amPM[(0,d.int)(n.amPM.textContent===n.l10n.amPM[0])]),i.value=(0,d.pad)(f)}}(e);var i=n._input.value;h(),se(),n._input.value!==i&&n._debouncedChange()}function h(){if(void 0!==n.hourElement&&void 0!==n.minuteElement){var e,t,a=(parseInt(n.hourElement.value.slice(-2),10)||0)%24,i=(parseInt(n.minuteElement.value,10)||0)%60,o=void 0!==n.secondElement?(parseInt(n.secondElement.value,10)||0)%60:0;void 0!==n.amPM&&(e=a,t=n.amPM.textContent,a=e%12+12*(0,d.int)(t===n.l10n.amPM[1]));var r=void 0!==n.config.minTime||n.config.minDate&&n.minDateHasTime&&n.latestSelectedDateObj&&0===(0,f.compareDates)(n.latestSelectedDateObj,n.config.minDate,!0),l=void 0!==n.config.maxTime||n.config.maxDate&&n.maxDateHasTime&&n.latestSelectedDateObj&&0===(0,f.compareDates)(n.latestSelectedDateObj,n.config.maxDate,!0);if(void 0!==n.config.maxTime&&void 0!==n.config.minTime&&n.config.minTime>n.config.maxTime){var c=(0,f.calculateSecondsSinceMidnight)(n.config.minTime.getHours(),n.config.minTime.getMinutes(),n.config.minTime.getSeconds()),s=(0,f.calculateSecondsSinceMidnight)(n.config.maxTime.getHours(),n.config.maxTime.getMinutes(),n.config.maxTime.getSeconds()),u=(0,f.calculateSecondsSinceMidnight)(a,i,o);if(u>s&&u=12)]),void 0!==n.secondElement&&(n.secondElement.value=(0,d.pad)(a)))}function b(e){var t=(0,u.getEventTarget)(e),n=parseInt(t.value)+(e.delta||0);(n/1e3>1||\"Enter\"===e.key&&!/[^\\d]/.test(n.toString()))&&R(n)}function M(e,t,a,i){return t instanceof Array?t.forEach((function(t){return M(e,t,a,i)})):e instanceof Array?e.forEach((function(e){return M(e,t,a,i)})):(e.addEventListener(t,a,i),void n._handlers.push({remove:function(){return e.removeEventListener(t,a,i)}}))}function y(){ie(\"onChange\")}function w(e,t){var a=void 0!==e?n.parseDate(e):n.latestSelectedDateObj||(n.config.minDate&&n.config.minDate>n.now?n.config.minDate:n.config.maxDate&&n.config.maxDate=0&&(0,f.compareDates)(e,n.selectedDates[1])<=0)}(t)&&!re(t)&&r.classList.add(\"inRange\"),n.weekNumbers&&1===n.config.showMonths&&\"prevMonthDay\"!==e&&i%7==6&&n.weekNumbers.insertAdjacentHTML(\"beforeend\",\"\"+n.config.getWeek(t)+\"\"),ie(\"onDayCreate\",r),r}function T(e){e.focus(),\"range\"===n.config.mode&&J(e)}function _(e){for(var t=e>0?0:n.config.showMonths-1,a=e>0?n.config.showMonths:-1,i=t;i!=a;i+=e)for(var o=n.daysContainer.children[i],r=e>0?0:o.children.length-1,l=e>0?o.children.length:-1,c=r;c!=l;c+=e){var s=o.children[c];if(-1===s.className.indexOf(\"hidden\")&&W(s.dateObj))return s}}function I(e,t){var i=a(),o=B(i||document.body),r=void 0!==e?e:o?i:void 0!==n.selectedDateElem&&B(n.selectedDateElem)?n.selectedDateElem:void 0!==n.todayDateElem&&B(n.todayDateElem)?n.todayDateElem:_(t>0?1:-1);void 0===r?n._input.focus():o?function(e,t){for(var a=-1===e.className.indexOf(\"Month\")?e.dateObj.getMonth():n.currentMonth,i=t>0?n.config.showMonths:-1,o=t>0?1:-1,r=a-n.currentMonth;r!=i;r+=o)for(var l=n.daysContainer.children[r],c=a-n.currentMonth===r?e.$i+t:t<0?l.children.length-1:0,s=l.children.length,d=c;d>=0&&d0?s:-1);d+=o){var u=l.children[d];if(-1===u.className.indexOf(\"hidden\")&&W(u.dateObj)&&Math.abs(e.$i-d)>=Math.abs(t))return T(u)}n.changeMonth(o),I(_(o),0)}(r,t):T(r)}function S(e,t){for(var a=(new Date(e,t,1).getDay()-n.l10n.firstDayOfWeek+7)%7,i=n.utils.getDaysInMonth((t-1+12)%12,e),o=n.utils.getDaysInMonth(t,e),r=window.document.createDocumentFragment(),l=n.config.showMonths>1,c=l?\"prevMonthDay hidden\":\"prevMonthDay\",s=l?\"nextMonthDay hidden\":\"nextMonthDay\",d=i+1-a,f=0;d<=i;d++,f++)r.appendChild(k(\"flatpickr-day \"+c,new Date(e,t-1,d),0,f));for(d=1;d<=o;d++,f++)r.appendChild(k(\"flatpickr-day\",new Date(e,t,d),0,f));for(var m=o+1;m<=42-a&&(1===n.config.showMonths||f%7!=0);m++,f++)r.appendChild(k(\"flatpickr-day \"+s,new Date(e,t+1,m%o),0,f));var g=(0,u.createElement)(\"div\",\"dayContainer\");return g.appendChild(r),g}function O(){if(void 0!==n.daysContainer){(0,u.clearNode)(n.daysContainer),n.weekNumbers&&(0,u.clearNode)(n.weekNumbers);for(var e=document.createDocumentFragment(),t=0;t1||\"dropdown\"!==n.config.monthSelectorType)){var e=function(e){return!(void 0!==n.config.minDate&&n.currentYear===n.config.minDate.getFullYear()&&en.config.maxDate.getMonth())};n.monthsDropdownContainer.tabIndex=-1,n.monthsDropdownContainer.innerHTML=\"\";for(var t=0;t<12;t++)if(e(t)){var a=(0,u.createElement)(\"option\",\"flatpickr-monthDropdown-month\");a.value=new Date(n.currentYear,t).getMonth().toString(),a.textContent=(0,m.monthToStr)(t,n.config.shorthandCurrentMonth,n.l10n),a.tabIndex=-1,n.currentMonth===t&&(a.selected=!0),n.monthsDropdownContainer.appendChild(a)}}}function A(){var e,t=(0,u.createElement)(\"div\",\"flatpickr-month\"),a=window.document.createDocumentFragment();n.config.showMonths>1||\"static\"===n.config.monthSelectorType?e=(0,u.createElement)(\"span\",\"cur-month\"):(n.monthsDropdownContainer=(0,u.createElement)(\"select\",\"flatpickr-monthDropdown-months\"),n.monthsDropdownContainer.setAttribute(\"aria-label\",n.l10n.monthAriaLabel),M(n.monthsDropdownContainer,\"change\",(function(e){var t=(0,u.getEventTarget)(e),a=parseInt(t.value,10);n.changeMonth(a-n.currentMonth),ie(\"onMonthChange\")})),N(),e=n.monthsDropdownContainer);var i=(0,u.createNumberInput)(\"cur-year\",{tabindex:\"-1\"}),o=i.getElementsByTagName(\"input\")[0];o.setAttribute(\"aria-label\",n.l10n.yearAriaLabel),n.config.minDate&&o.setAttribute(\"min\",n.config.minDate.getFullYear().toString()),n.config.maxDate&&(o.setAttribute(\"max\",n.config.maxDate.getFullYear().toString()),o.disabled=!!n.config.minDate&&n.config.minDate.getFullYear()===n.config.maxDate.getFullYear());var r=(0,u.createElement)(\"div\",\"flatpickr-current-month\");return r.appendChild(e),r.appendChild(i),a.appendChild(r),t.appendChild(a),{container:t,yearElement:o,monthElement:e}}function P(){(0,u.clearNode)(n.monthNav),n.monthNav.appendChild(n.prevMonthNav),n.config.showMonths&&(n.yearElements=[],n.monthElements=[]);for(var e=n.config.showMonths;e--;){var t=A();n.yearElements.push(t.yearElement),n.monthElements.push(t.monthElement),n.monthNav.appendChild(t.container)}n.monthNav.appendChild(n.nextMonthNav)}function Y(){n.weekdayContainer?(0,u.clearNode)(n.weekdayContainer):n.weekdayContainer=(0,u.createElement)(\"div\",\"flatpickr-weekdays\");for(var e=n.config.showMonths;e--;){var t=(0,u.createElement)(\"div\",\"flatpickr-weekdaycontainer\");n.weekdayContainer.appendChild(t)}return F(),n.weekdayContainer}function F(){if(n.weekdayContainer){var e=n.l10n.firstDayOfWeek,t=l(n.l10n.weekdays.shorthand);e>0&&e\\n \"+t.join(\"\")+\"\\n \\n \"}}function j(e,t){void 0===t&&(t=!0);var a=t?e:e-n.currentMonth;a<0&&!0===n._hidePrevMonthArrow||a>0&&!0===n._hideNextMonthArrow||(n.currentMonth+=a,(n.currentMonth<0||n.currentMonth>11)&&(n.currentYear+=n.currentMonth>11?1:-1,n.currentMonth=(n.currentMonth+12)%12,ie(\"onYearChange\"),N()),O(),ie(\"onMonthChange\"),le())}function L(e){return n.calendarContainer.contains(e)}function H(e){if(n.isOpen&&!n.config.inline){var t=(0,u.getEventTarget)(e),a=L(t),i=!(t===n.input||t===n.altInput||n.element.contains(t)||e.path&&e.path.indexOf&&(~e.path.indexOf(n.input)||~e.path.indexOf(n.altInput)))&&!a&&!L(e.relatedTarget),o=!n.config.ignoredFocusElements.some((function(e){return e.contains(t)}));i&&o&&(n.config.allowInput&&n.setDate(n._input.value,!1,n.config.altInput?n.config.altFormat:n.config.dateFormat),void 0!==n.timeContainer&&void 0!==n.minuteElement&&void 0!==n.hourElement&&\"\"!==n.input.value&&void 0!==n.input.value&&p(),n.close(),n.config&&\"range\"===n.config.mode&&1===n.selectedDates.length&&n.clear(!1))}}function R(e){if(!(!e||n.config.minDate&&en.config.maxDate.getFullYear())){var t=e,a=n.currentYear!==t;n.currentYear=t||n.currentYear,n.config.maxDate&&n.currentYear===n.config.maxDate.getFullYear()?n.currentMonth=Math.min(n.config.maxDate.getMonth(),n.currentMonth):n.config.minDate&&n.currentYear===n.config.minDate.getFullYear()&&(n.currentMonth=Math.max(n.config.minDate.getMonth(),n.currentMonth)),a&&(n.redraw(),ie(\"onYearChange\"),N())}}function W(e,t){var a;void 0===t&&(t=!0);var i=n.parseDate(e,void 0,t);if(n.config.minDate&&i&&(0,f.compareDates)(i,n.config.minDate,void 0!==t?t:!n.minDateHasTime)<0||n.config.maxDate&&i&&(0,f.compareDates)(i,n.config.maxDate,void 0!==t?t:!n.maxDateHasTime)>0)return!1;if(!n.config.enable&&0===n.config.disable.length)return!0;if(void 0===i)return!1;for(var o=!!n.config.enable,r=null!==(a=n.config.enable)&&void 0!==a?a:n.config.disable,l=0,c=void 0;l=c.from.getTime()&&i.getTime()<=c.to.getTime())return o}return!o}function B(e){return void 0!==n.daysContainer&&(-1===e.className.indexOf(\"hidden\")&&-1===e.className.indexOf(\"flatpickr-disabled\")&&n.daysContainer.contains(e))}function K(e){var t=e.target===n._input,a=n._input.value.trimEnd()!==ce();!t||!a||e.relatedTarget&&L(e.relatedTarget)||n.setDate(n._input.value,!0,e.target===n.altInput?n.config.altFormat:n.config.dateFormat)}function q(t){var i=(0,u.getEventTarget)(t),o=n.config.wrap?e.contains(i):i===n._input,r=n.config.allowInput,l=n.isOpen&&(!r||!o),c=n.config.inline&&o&&!r;if(13===t.keyCode&&o){if(r)return n.setDate(n._input.value,!0,i===n.altInput?n.config.altFormat:n.config.dateFormat),n.close(),i.blur();n.open()}else if(L(i)||l||c){var s=!!n.timeContainer&&n.timeContainer.contains(i);switch(t.keyCode){case 13:s?(t.preventDefault(),p(),G()):Z(t);break;case 27:t.preventDefault(),G();break;case 8:case 46:o&&!n.config.allowInput&&(t.preventDefault(),n.clear());break;case 37:case 39:if(s||o)n.hourElement&&n.hourElement.focus();else{t.preventDefault();var d=a();if(void 0!==n.daysContainer&&(!1===r||d&&B(d))){var f=39===t.keyCode?1:-1;t.ctrlKey?(t.stopPropagation(),j(f),I(_(1),0)):I(void 0,f)}}break;case 38:case 40:t.preventDefault();var m=40===t.keyCode?1:-1;n.daysContainer&&void 0!==i.$i||i===n.input||i===n.altInput?t.ctrlKey?(t.stopPropagation(),R(n.currentYear-m),I(_(1),0)):s||I(void 0,7*m):i===n.currentYearElement?R(n.currentYear-m):n.config.enableTime&&(!s&&n.hourElement&&n.hourElement.focus(),p(t),n._debouncedChange());break;case 9:if(s){var g=[n.hourElement,n.minuteElement,n.secondElement,n.amPM].concat(n.pluginElements).filter((function(e){return e})),v=g.indexOf(i);if(-1!==v){var D=g[v+(t.shiftKey?-1:1)];t.preventDefault(),(D||n._input).focus()}}else!n.config.noCalendar&&n.daysContainer&&n.daysContainer.contains(i)&&t.shiftKey&&(t.preventDefault(),n._input.focus())}}if(void 0!==n.amPM&&i===n.amPM)switch(t.key){case n.l10n.amPM[0].charAt(0):case n.l10n.amPM[0].charAt(0).toLowerCase():n.amPM.textContent=n.l10n.amPM[0],h(),se();break;case n.l10n.amPM[1].charAt(0):case n.l10n.amPM[1].charAt(0).toLowerCase():n.amPM.textContent=n.l10n.amPM[1],h(),se()}(o||L(i))&&ie(\"onKeyDown\",t)}function J(e,t){if(void 0===t&&(t=\"flatpickr-day\"),1===n.selectedDates.length&&(!e||e.classList.contains(t)&&!e.classList.contains(\"flatpickr-disabled\"))){for(var a=e?e.dateObj.getTime():n.days.firstElementChild.dateObj.getTime(),i=n.parseDate(n.selectedDates[0],void 0,!0).getTime(),o=Math.min(a,n.selectedDates[0].getTime()),r=Math.max(a,n.selectedDates[0].getTime()),l=!1,c=0,s=0,d=o;do&&dc)?c=d:d>i&&(!s||d .\"+t)).forEach((function(t){var o=t.dateObj.getTime(),r=c>0&&o0&&o>s;if(r)return t.classList.add(\"notAllowed\"),void[\"inRange\",\"startRange\",\"endRange\"].forEach((function(e){t.classList.remove(e)}));l&&!r||([\"startRange\",\"inRange\",\"endRange\",\"notAllowed\"].forEach((function(e){t.classList.remove(e)})),void 0!==e&&(e.classList.add(a<=n.selectedDates[0].getTime()?\"startRange\":\"endRange\"),ia&&o===i&&t.classList.add(\"endRange\"),o>=c&&(0===s||o<=s)&&(0,f.isBetween)(o,i,a)&&t.classList.add(\"inRange\")))}))}}function U(){!n.isOpen||n.config.static||n.config.inline||X()}function $(e){return function(t){var a=n.config[\"_\"+e+\"Date\"]=n.parseDate(t,n.config.dateFormat),i=n.config[\"_\"+(\"min\"===e?\"max\":\"min\")+\"Date\"];void 0!==a&&(n[\"min\"===e?\"minDateHasTime\":\"maxDateHasTime\"]=a.getHours()>0||a.getMinutes()>0||a.getSeconds()>0),n.selectedDates&&(n.selectedDates=n.selectedDates.filter((function(e){return W(e)})),n.selectedDates.length||\"min\"!==e||D(a),se()),n.daysContainer&&(z(),void 0!==a?n.currentYearElement[e]=a.getFullYear().toString():n.currentYearElement.removeAttribute(e),n.currentYearElement.disabled=!!i&&void 0!==a&&i.getFullYear()===a.getFullYear())}}function Q(){return n.config.wrap?e.querySelector(\"[data-input]\"):e}function V(){\"object\"!=typeof n.config.locale&&void 0===v.l10ns[n.config.locale]&&n.config.errorHandler(new Error(\"flatpickr: invalid locale \"+n.config.locale)),n.l10n=r(r({},v.l10ns.default),\"object\"==typeof n.config.locale?n.config.locale:\"default\"!==n.config.locale?v.l10ns[n.config.locale]:void 0),m.tokenRegex.D=\"(\"+n.l10n.weekdays.shorthand.join(\"|\")+\")\",m.tokenRegex.l=\"(\"+n.l10n.weekdays.longhand.join(\"|\")+\")\",m.tokenRegex.M=\"(\"+n.l10n.months.shorthand.join(\"|\")+\")\",m.tokenRegex.F=\"(\"+n.l10n.months.longhand.join(\"|\")+\")\",m.tokenRegex.K=\"(\"+n.l10n.amPM[0]+\"|\"+n.l10n.amPM[1]+\"|\"+n.l10n.amPM[0].toLowerCase()+\"|\"+n.l10n.amPM[1].toLowerCase()+\")\",void 0===r(r({},t),JSON.parse(JSON.stringify(e.dataset||{}))).time_24hr&&void 0===v.defaultConfig.time_24hr&&(n.config.time_24hr=n.l10n.time_24hr),n.formatDate=(0,f.createDateFormatter)(n),n.parseDate=(0,f.createDateParser)({config:n.config,l10n:n.l10n})}function X(e){if(\"function\"!=typeof n.config.position){if(void 0!==n.calendarContainer){ie(\"onPreCalendarPosition\");var t=e||n._positionElement,a=Array.prototype.reduce.call(n.calendarContainer.children,(function(e,t){return e+t.offsetHeight}),0),i=n.calendarContainer.offsetWidth,o=n.config.position.split(\" \"),r=o[0],l=o.length>1?o[1]:null,c=t.getBoundingClientRect(),s=window.innerHeight-c.bottom,d=\"above\"===r||\"below\"!==r&&sa,f=window.pageYOffset+c.top+(d?-a-2:t.offsetHeight+2);if((0,u.toggleClass)(n.calendarContainer,\"arrowTop\",!d),(0,u.toggleClass)(n.calendarContainer,\"arrowBottom\",d),!n.config.inline){var m=window.pageXOffset+c.left,g=!1,p=!1;\"center\"===l?(m-=(i-c.width)/2,g=!0):\"right\"===l&&(m-=i-c.width,p=!0),(0,u.toggleClass)(n.calendarContainer,\"arrowLeft\",!g&&!p),(0,u.toggleClass)(n.calendarContainer,\"arrowCenter\",g),(0,u.toggleClass)(n.calendarContainer,\"arrowRight\",p);var h=window.document.body.offsetWidth-(window.pageXOffset+c.right),v=m+i>window.document.body.offsetWidth,D=h+i>window.document.body.offsetWidth;if((0,u.toggleClass)(n.calendarContainer,\"rightMost\",v),!n.config.static)if(n.calendarContainer.style.top=f+\"px\",v)if(D){var C=function(){for(var e=null,t=0;tn.currentMonth+n.config.showMonths-1)&&\"range\"!==n.config.mode;if(n.selectedDateElem=a,\"single\"===n.config.mode)n.selectedDates=[i];else if(\"multiple\"===n.config.mode){var r=re(i);r?n.selectedDates.splice(parseInt(r),1):n.selectedDates.push(i)}else\"range\"===n.config.mode&&(2===n.selectedDates.length&&n.clear(!1,!1),n.latestSelectedDateObj=i,n.selectedDates.push(i),0!==(0,f.compareDates)(i,n.selectedDates[0],!0)&&n.selectedDates.sort((function(e,t){return e.getTime()-t.getTime()})));if(h(),o){var l=n.currentYear!==i.getFullYear();n.currentYear=i.getFullYear(),n.currentMonth=i.getMonth(),l&&(ie(\"onYearChange\"),N()),ie(\"onMonthChange\")}if(le(),O(),se(),o||\"range\"===n.config.mode||1!==n.config.showMonths?void 0!==n.selectedDateElem&&void 0===n.hourElement&&n.selectedDateElem&&n.selectedDateElem.focus():T(a),void 0!==n.hourElement&&void 0!==n.hourElement&&n.hourElement.focus(),n.config.closeOnSelect){var c=\"single\"===n.config.mode&&!n.config.enableTime,s=\"range\"===n.config.mode&&2===n.selectedDates.length&&!n.config.enableTime;(c||s)&&G()}y()}}n.parseDate=(0,f.createDateParser)({config:n.config,l10n:n.l10n}),n._handlers=[],n.pluginElements=[],n.loadedPlugins=[],n._bind=M,n._setHoursFromDate=D,n._positionCalendar=X,n.changeMonth=j,n.changeYear=R,n.clear=function(e,t){void 0===e&&(e=!0);void 0===t&&(t=!0);n.input.value=\"\",void 0!==n.altInput&&(n.altInput.value=\"\");void 0!==n.mobileInput&&(n.mobileInput.value=\"\");n.selectedDates=[],n.latestSelectedDateObj=void 0,!0===t&&(n.currentYear=n._initialDate.getFullYear(),n.currentMonth=n._initialDate.getMonth());if(!0===n.config.enableTime){var a=(0,f.getDefaultHours)(n.config);C(a.hours,a.minutes,a.seconds)}n.redraw(),e&&ie(\"onChange\")},n.close=function(){n.isOpen=!1,n.isMobile||(void 0!==n.calendarContainer&&n.calendarContainer.classList.remove(\"open\"),void 0!==n._input&&n._input.classList.remove(\"active\"));ie(\"onClose\")},n.onMouseOver=J,n._createElement=u.createElement,n.createDay=k,n.destroy=function(){void 0!==n.config&&ie(\"onDestroy\");for(var e=n._handlers.length;e--;)n._handlers[e].remove();if(n._handlers=[],n.mobileInput)n.mobileInput.parentNode&&n.mobileInput.parentNode.removeChild(n.mobileInput),n.mobileInput=void 0;else if(n.calendarContainer&&n.calendarContainer.parentNode)if(n.config.static&&n.calendarContainer.parentNode){var t=n.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 n.calendarContainer.parentNode.removeChild(n.calendarContainer);n.altInput&&(n.input.type=\"text\",n.altInput.parentNode&&n.altInput.parentNode.removeChild(n.altInput),delete n.altInput);n.input&&(n.input.type=n.input._type,n.input.classList.remove(\"flatpickr-input\"),n.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 n[e]}catch(e){}}))},n.isEnabled=W,n.jumpToDate=w,n.updateValue=se,n.open=function(e,t){void 0===t&&(t=n._positionElement);if(!0===n.isMobile){if(e){e.preventDefault();var a=(0,u.getEventTarget)(e);a&&a.blur()}return void 0!==n.mobileInput&&(n.mobileInput.focus(),n.mobileInput.click()),void ie(\"onOpen\")}if(n._input.disabled||n.config.inline)return;var i=n.isOpen;n.isOpen=!0,i||(n.calendarContainer.classList.add(\"open\"),n._input.classList.add(\"active\"),ie(\"onOpen\"),X(t));!0===n.config.enableTime&&!0===n.config.noCalendar&&(!1!==n.config.allowInput||void 0!==e&&n.timeContainer.contains(e.relatedTarget)||setTimeout((function(){return n.hourElement.select()}),50))},n.redraw=z,n.set=function(e,t){if(null!==e&&\"object\"==typeof e)for(var a in Object.assign(n.config,e),e)void 0!==ee[a]&&ee[a].forEach((function(e){return e()}));else n.config[e]=t,void 0!==ee[e]?ee[e].forEach((function(e){return e()})):c.HOOKS.indexOf(e)>-1&&(n.config[e]=(0,d.arrayify)(t));n.redraw(),se(!0)},n.setDate=function(e,t,a){void 0===t&&(t=!1);void 0===a&&(a=n.config.dateFormat);if(0!==e&&!e||e instanceof Array&&0===e.length)return n.clear(t);te(e,a),n.latestSelectedDateObj=n.selectedDates[n.selectedDates.length-1],n.redraw(),w(void 0,t),D(),0===n.selectedDates.length&&n.clear(!1);se(t),t&&ie(\"onChange\")},n.toggle=function(e){if(!0===n.isOpen)return n.close();n.open(e)};var ee={locale:[V,F],showMonths:[P,o,Y],minDate:[w],maxDate:[w],positionElement:[ae],clickOpens:[function(){!0===n.config.clickOpens?(M(n._input,\"focus\",n.open),M(n._input,\"click\",n.open)):(n._input.removeEventListener(\"focus\",n.open),n._input.removeEventListener(\"click\",n.open))}]};function te(e,t){var a=[];if(e instanceof Array)a=e.map((function(e){return n.parseDate(e,t)}));else if(e instanceof Date||\"number\"==typeof e)a=[n.parseDate(e,t)];else if(\"string\"==typeof e)switch(n.config.mode){case\"single\":case\"time\":a=[n.parseDate(e,t)];break;case\"multiple\":a=e.split(n.config.conjunction).map((function(e){return n.parseDate(e,t)}));break;case\"range\":a=e.split(n.l10n.rangeSeparator).map((function(e){return n.parseDate(e,t)}))}else n.config.errorHandler(new Error(\"Invalid date supplied: \"+JSON.stringify(e)));n.selectedDates=n.config.allowInvalidPreload?a:a.filter((function(e){return e instanceof Date&&W(e,!1)})),\"range\"===n.config.mode&&n.selectedDates.sort((function(e,t){return e.getTime()-t.getTime()}))}function ne(e){return e.slice().map((function(e){return\"string\"==typeof e||\"number\"==typeof e||e instanceof Date?n.parseDate(e,void 0,!0):e&&\"object\"==typeof e&&e.from&&e.to?{from:n.parseDate(e.from,void 0),to:n.parseDate(e.to,void 0)}:e})).filter((function(e){return e}))}function ae(){n._positionElement=n.config.positionElement||n._input}function ie(e,t){if(void 0!==n.config){var a=n.config[e];if(void 0!==a&&a.length>0)for(var i=0;a[i]&&i1||\"static\"===n.config.monthSelectorType?n.monthElements[t].textContent=(0,m.monthToStr)(a.getMonth(),n.config.shorthandCurrentMonth,n.l10n)+\" \":n.monthsDropdownContainer.value=a.getMonth().toString(),e.value=a.getFullYear().toString()})),n._hidePrevMonthArrow=void 0!==n.config.minDate&&(n.currentYear===n.config.minDate.getFullYear()?n.currentMonth<=n.config.minDate.getMonth():n.currentYearn.config.maxDate.getMonth():n.currentYear>n.config.maxDate.getFullYear()))}function ce(e){var t=e||(n.config.altInput?n.config.altFormat:n.config.dateFormat);return n.selectedDates.map((function(e){return n.formatDate(e,t)})).filter((function(e,t,a){return\"range\"!==n.config.mode||n.config.enableTime||a.indexOf(e)===t})).join(\"range\"!==n.config.mode?n.config.conjunction:n.l10n.rangeSeparator)}function se(e){void 0===e&&(e=!0),void 0!==n.mobileInput&&n.mobileFormatStr&&(n.mobileInput.value=void 0!==n.latestSelectedDateObj?n.formatDate(n.latestSelectedDateObj,n.mobileFormatStr):\"\"),n.input.value=ce(n.config.dateFormat),void 0!==n.altInput&&(n.altInput.value=ce(n.config.altFormat)),!1!==e&&ie(\"onValueUpdate\")}function de(e){var t=(0,u.getEventTarget)(e),a=n.prevMonthNav.contains(t),i=n.nextMonthNav.contains(t);a||i?j(a?-1:1):n.yearElements.indexOf(t)>=0?t.select():t.classList.contains(\"arrowUp\")?n.changeYear(n.currentYear+1):t.classList.contains(\"arrowDown\")&&n.changeYear(n.currentYear-1)}return function(){n.element=n.input=e,n.isOpen=!1,function(){var a=[\"wrap\",\"weekNumbers\",\"allowInput\",\"allowInvalidPreload\",\"clickOpens\",\"time_24hr\",\"enableTime\",\"noCalendar\",\"altInput\",\"shorthandCurrentMonth\",\"inline\",\"static\",\"enableSeconds\",\"disableMobile\"],o=r(r({},JSON.parse(JSON.stringify(e.dataset||{}))),t),l={};n.config.parseDate=o.parseDate,n.config.formatDate=o.formatDate,Object.defineProperty(n.config,\"enable\",{get:function(){return n.config._enable},set:function(e){n.config._enable=ne(e)}}),Object.defineProperty(n.config,\"disable\",{get:function(){return n.config._disable},set:function(e){n.config._disable=ne(e)}});var s=\"time\"===o.mode;if(!o.dateFormat&&(o.enableTime||s)){var u=v.defaultConfig.dateFormat||c.defaults.dateFormat;l.dateFormat=o.noCalendar||s?\"H:i\"+(o.enableSeconds?\":S\":\"\"):u+\" H:i\"+(o.enableSeconds?\":S\":\"\")}if(o.altInput&&(o.enableTime||s)&&!o.altFormat){var f=v.defaultConfig.altFormat||c.defaults.altFormat;l.altFormat=o.noCalendar||s?\"h:i\"+(o.enableSeconds?\":S K\":\" K\"):f+\" h:i\"+(o.enableSeconds?\":S\":\"\")+\" K\"}Object.defineProperty(n.config,\"minDate\",{get:function(){return n.config._minDate},set:$(\"min\")}),Object.defineProperty(n.config,\"maxDate\",{get:function(){return n.config._maxDate},set:$(\"max\")});var m=function(e){return function(t){n.config[\"min\"===e?\"_minTime\":\"_maxTime\"]=n.parseDate(t,\"H:i:S\")}};Object.defineProperty(n.config,\"minTime\",{get:function(){return n.config._minTime},set:m(\"min\")}),Object.defineProperty(n.config,\"maxTime\",{get:function(){return n.config._maxTime},set:m(\"max\")}),\"time\"===o.mode&&(n.config.noCalendar=!0,n.config.enableTime=!0);Object.assign(n.config,l,o);for(var g=0;g-1?n.config[h]=(0,d.arrayify)(p[h]).map(i).concat(n.config[h]):void 0===o[h]&&(n.config[h]=p[h])}o.altInputClass||(n.config.altInputClass=Q().className+\" \"+n.config.altInputClass);ie(\"onParseConfig\")}(),V(),function(){if(n.input=Q(),!n.input)return void n.config.errorHandler(new Error(\"Invalid input element specified\"));n.input._type=n.input.type,n.input.type=\"text\",n.input.classList.add(\"flatpickr-input\"),n._input=n.input,n.config.altInput&&(n.altInput=(0,u.createElement)(n.input.nodeName,n.config.altInputClass),n._input=n.altInput,n.altInput.placeholder=n.input.placeholder,n.altInput.disabled=n.input.disabled,n.altInput.required=n.input.required,n.altInput.tabIndex=n.input.tabIndex,n.altInput.type=\"text\",n.input.setAttribute(\"type\",\"hidden\"),!n.config.static&&n.input.parentNode&&n.input.parentNode.insertBefore(n.altInput,n.input.nextSibling));n.config.allowInput||n._input.setAttribute(\"readonly\",\"readonly\");ae()}(),function(){n.selectedDates=[],n.now=n.parseDate(n.config.now)||new Date;var e=n.config.defaultDate||(\"INPUT\"!==n.input.nodeName&&\"TEXTAREA\"!==n.input.nodeName||!n.input.placeholder||n.input.value!==n.input.placeholder?n.input.value:null);e&&te(e,n.config.dateFormat);n._initialDate=n.selectedDates.length>0?n.selectedDates[0]:n.config.minDate&&n.config.minDate.getTime()>n.now.getTime()?n.config.minDate:n.config.maxDate&&n.config.maxDate.getTime()0&&(n.latestSelectedDateObj=n.selectedDates[0]);void 0!==n.config.minTime&&(n.config.minTime=n.parseDate(n.config.minTime,\"H:i\"));void 0!==n.config.maxTime&&(n.config.maxTime=n.parseDate(n.config.maxTime,\"H:i\"));n.minDateHasTime=!!n.config.minDate&&(n.config.minDate.getHours()>0||n.config.minDate.getMinutes()>0||n.config.minDate.getSeconds()>0),n.maxDateHasTime=!!n.config.maxDate&&(n.config.maxDate.getHours()>0||n.config.maxDate.getMinutes()>0||n.config.maxDate.getSeconds()>0)}(),n.utils={getDaysInMonth:function(e,t){return void 0===e&&(e=n.currentMonth),void 0===t&&(t=n.currentYear),1===e&&(t%4==0&&t%100!=0||t%400==0)?29:n.l10n.daysInMonth[e]}},n.isMobile||function(){var e=window.document.createDocumentFragment();if(n.calendarContainer=(0,u.createElement)(\"div\",\"flatpickr-calendar\"),n.calendarContainer.tabIndex=-1,!n.config.noCalendar){if(e.appendChild((n.monthNav=(0,u.createElement)(\"div\",\"flatpickr-months\"),n.yearElements=[],n.monthElements=[],n.prevMonthNav=(0,u.createElement)(\"span\",\"flatpickr-prev-month\"),n.prevMonthNav.innerHTML=n.config.prevArrow,n.nextMonthNav=(0,u.createElement)(\"span\",\"flatpickr-next-month\"),n.nextMonthNav.innerHTML=n.config.nextArrow,P(),Object.defineProperty(n,\"_hidePrevMonthArrow\",{get:function(){return n.__hidePrevMonthArrow},set:function(e){n.__hidePrevMonthArrow!==e&&((0,u.toggleClass)(n.prevMonthNav,\"flatpickr-disabled\",e),n.__hidePrevMonthArrow=e)}}),Object.defineProperty(n,\"_hideNextMonthArrow\",{get:function(){return n.__hideNextMonthArrow},set:function(e){n.__hideNextMonthArrow!==e&&((0,u.toggleClass)(n.nextMonthNav,\"flatpickr-disabled\",e),n.__hideNextMonthArrow=e)}}),n.currentYearElement=n.yearElements[0],le(),n.monthNav)),n.innerContainer=(0,u.createElement)(\"div\",\"flatpickr-innerContainer\"),n.config.weekNumbers){var t=function(){n.calendarContainer.classList.add(\"hasWeeks\");var e=(0,u.createElement)(\"div\",\"flatpickr-weekwrapper\");e.appendChild((0,u.createElement)(\"span\",\"flatpickr-weekday\",n.l10n.weekAbbreviation));var t=(0,u.createElement)(\"div\",\"flatpickr-weeks\");return e.appendChild(t),{weekWrapper:e,weekNumbers:t}}(),a=t.weekWrapper,i=t.weekNumbers;n.innerContainer.appendChild(a),n.weekNumbers=i,n.weekWrapper=a}n.rContainer=(0,u.createElement)(\"div\",\"flatpickr-rContainer\"),n.rContainer.appendChild(Y()),n.daysContainer||(n.daysContainer=(0,u.createElement)(\"div\",\"flatpickr-days\"),n.daysContainer.tabIndex=-1),O(),n.rContainer.appendChild(n.daysContainer),n.innerContainer.appendChild(n.rContainer),e.appendChild(n.innerContainer)}n.config.enableTime&&e.appendChild(function(){n.calendarContainer.classList.add(\"hasTime\"),n.config.noCalendar&&n.calendarContainer.classList.add(\"noCalendar\");var e=(0,f.getDefaultHours)(n.config);n.timeContainer=(0,u.createElement)(\"div\",\"flatpickr-time\"),n.timeContainer.tabIndex=-1;var t=(0,u.createElement)(\"span\",\"flatpickr-time-separator\",\":\"),a=(0,u.createNumberInput)(\"flatpickr-hour\",{\"aria-label\":n.l10n.hourAriaLabel});n.hourElement=a.getElementsByTagName(\"input\")[0];var i=(0,u.createNumberInput)(\"flatpickr-minute\",{\"aria-label\":n.l10n.minuteAriaLabel});n.minuteElement=i.getElementsByTagName(\"input\")[0],n.hourElement.tabIndex=n.minuteElement.tabIndex=-1,n.hourElement.value=(0,d.pad)(n.latestSelectedDateObj?n.latestSelectedDateObj.getHours():n.config.time_24hr?e.hours:function(e){switch(e%24){case 0:case 12:return 12;default:return e%12}}(e.hours)),n.minuteElement.value=(0,d.pad)(n.latestSelectedDateObj?n.latestSelectedDateObj.getMinutes():e.minutes),n.hourElement.setAttribute(\"step\",n.config.hourIncrement.toString()),n.minuteElement.setAttribute(\"step\",n.config.minuteIncrement.toString()),n.hourElement.setAttribute(\"min\",n.config.time_24hr?\"0\":\"1\"),n.hourElement.setAttribute(\"max\",n.config.time_24hr?\"23\":\"12\"),n.hourElement.setAttribute(\"maxlength\",\"2\"),n.minuteElement.setAttribute(\"min\",\"0\"),n.minuteElement.setAttribute(\"max\",\"59\"),n.minuteElement.setAttribute(\"maxlength\",\"2\"),n.timeContainer.appendChild(a),n.timeContainer.appendChild(t),n.timeContainer.appendChild(i),n.config.time_24hr&&n.timeContainer.classList.add(\"time24hr\");if(n.config.enableSeconds){n.timeContainer.classList.add(\"hasSeconds\");var o=(0,u.createNumberInput)(\"flatpickr-second\");n.secondElement=o.getElementsByTagName(\"input\")[0],n.secondElement.value=(0,d.pad)(n.latestSelectedDateObj?n.latestSelectedDateObj.getSeconds():e.seconds),n.secondElement.setAttribute(\"step\",n.minuteElement.getAttribute(\"step\")),n.secondElement.setAttribute(\"min\",\"0\"),n.secondElement.setAttribute(\"max\",\"59\"),n.secondElement.setAttribute(\"maxlength\",\"2\"),n.timeContainer.appendChild((0,u.createElement)(\"span\",\"flatpickr-time-separator\",\":\")),n.timeContainer.appendChild(o)}n.config.time_24hr||(n.amPM=(0,u.createElement)(\"span\",\"flatpickr-am-pm\",n.l10n.amPM[(0,d.int)((n.latestSelectedDateObj?n.hourElement.value:n.config.defaultHour)>11)]),n.amPM.title=n.l10n.toggleTitle,n.amPM.tabIndex=-1,n.timeContainer.appendChild(n.amPM));return n.timeContainer}());(0,u.toggleClass)(n.calendarContainer,\"rangeMode\",\"range\"===n.config.mode),(0,u.toggleClass)(n.calendarContainer,\"animate\",!0===n.config.animate),(0,u.toggleClass)(n.calendarContainer,\"multiMonth\",n.config.showMonths>1),n.calendarContainer.appendChild(e);var o=void 0!==n.config.appendTo&&void 0!==n.config.appendTo.nodeType;if((n.config.inline||n.config.static)&&(n.calendarContainer.classList.add(n.config.inline?\"inline\":\"static\"),n.config.inline&&(!o&&n.element.parentNode?n.element.parentNode.insertBefore(n.calendarContainer,n._input.nextSibling):void 0!==n.config.appendTo&&n.config.appendTo.appendChild(n.calendarContainer)),n.config.static)){var r=(0,u.createElement)(\"div\",\"flatpickr-wrapper\");n.element.parentNode&&n.element.parentNode.insertBefore(r,n.element),r.appendChild(n.element),n.altInput&&r.appendChild(n.altInput),r.appendChild(n.calendarContainer)}n.config.static||n.config.inline||(void 0!==n.config.appendTo?n.config.appendTo:window.document.body).appendChild(n.calendarContainer)}(),function(){n.config.wrap&&[\"open\",\"close\",\"toggle\",\"clear\"].forEach((function(e){Array.prototype.forEach.call(n.element.querySelectorAll(\"[data-\"+e+\"]\"),(function(t){return M(t,\"click\",n[e])}))}));if(n.isMobile)return void function(){var e=n.config.enableTime?n.config.noCalendar?\"time\":\"datetime-local\":\"date\";n.mobileInput=(0,u.createElement)(\"input\",n.input.className+\" flatpickr-mobile\"),n.mobileInput.tabIndex=1,n.mobileInput.type=e,n.mobileInput.disabled=n.input.disabled,n.mobileInput.required=n.input.required,n.mobileInput.placeholder=n.input.placeholder,n.mobileFormatStr=\"datetime-local\"===e?\"Y-m-d\\\\TH:i:S\":\"date\"===e?\"Y-m-d\":\"H:i:S\",n.selectedDates.length>0&&(n.mobileInput.defaultValue=n.mobileInput.value=n.formatDate(n.selectedDates[0],n.mobileFormatStr));n.config.minDate&&(n.mobileInput.min=n.formatDate(n.config.minDate,\"Y-m-d\"));n.config.maxDate&&(n.mobileInput.max=n.formatDate(n.config.maxDate,\"Y-m-d\"));n.input.getAttribute(\"step\")&&(n.mobileInput.step=String(n.input.getAttribute(\"step\")));n.input.type=\"hidden\",void 0!==n.altInput&&(n.altInput.type=\"hidden\");try{n.input.parentNode&&n.input.parentNode.insertBefore(n.mobileInput,n.input.nextSibling)}catch(e){}M(n.mobileInput,\"change\",(function(e){n.setDate((0,u.getEventTarget)(e).value,!1,n.mobileFormatStr),ie(\"onChange\"),ie(\"onClose\")}))}();var e=(0,d.debounce)(U,50);n._debouncedChange=(0,d.debounce)(y,g),n.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&M(n.daysContainer,\"mouseover\",(function(e){\"range\"===n.config.mode&&J((0,u.getEventTarget)(e))}));M(n._input,\"keydown\",q),void 0!==n.calendarContainer&&M(n.calendarContainer,\"keydown\",q);n.config.inline||n.config.static||M(window,\"resize\",e);void 0!==window.ontouchstart?M(window.document,\"touchstart\",H):M(window.document,\"mousedown\",H);M(window.document,\"focus\",H,{capture:!0}),!0===n.config.clickOpens&&(M(n._input,\"focus\",n.open),M(n._input,\"click\",n.open));void 0!==n.daysContainer&&(M(n.monthNav,\"click\",de),M(n.monthNav,[\"keyup\",\"increment\"],b),M(n.daysContainer,\"click\",Z));if(void 0!==n.timeContainer&&void 0!==n.minuteElement&&void 0!==n.hourElement){var t=function(e){return(0,u.getEventTarget)(e).select()};M(n.timeContainer,[\"increment\"],p),M(n.timeContainer,\"blur\",p,{capture:!0}),M(n.timeContainer,\"click\",E),M([n.hourElement,n.minuteElement],[\"focus\",\"click\"],t),void 0!==n.secondElement&&M(n.secondElement,\"focus\",(function(){return n.secondElement&&n.secondElement.select()})),void 0!==n.amPM&&M(n.amPM,\"click\",(function(e){p(e)}))}n.config.allowInput&&M(n._input,\"blur\",K)}(),(n.selectedDates.length||n.config.noCalendar)&&(n.config.enableTime&&D(n.config.noCalendar?n.latestSelectedDateObj:void 0),se(!1)),o();var a=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!n.isMobile&&a&&X(),ie(\"onReady\")}(),n}function h(e,t){for(var n=Array.prototype.slice.call(e).filter((function(e){return e instanceof HTMLElement})),a=[],i=0;i\",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:\"auto\",positionElement:void 0,prevArrow:\"\",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1}},\n", + " 569: function _(e,r,a,n,t){n(),a.english={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 r=e%100;if(r>3&&r<21)return\"th\";switch(r%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},a.default=a.english},\n", + " 570: function _(n,t,r,i,u){i();r.pad=function(n,t){return void 0===t&&(t=2),(\"000\"+n).slice(-1*t)};r.int=function(n){return!0===n?1:0},r.debounce=function(n,t){var r;return function(){var i=this,u=arguments;clearTimeout(r),r=setTimeout((function(){return n.apply(i,u)}),t)}};r.arrayify=function(n){return n instanceof Array?n:[n]}},\n", + " 571: function _(t,e,n,r,a){function i(t,e,n){var r=window.document.createElement(t);return e=e||\"\",n=n||\"\",r.className=e,void 0!==n&&(r.textContent=n),r}r(),n.toggleClass=function(t,e,n){if(!0===n)return t.classList.add(e);t.classList.remove(e)},n.createElement=i,n.clearNode=function(t){for(;t.firstChild;)t.removeChild(t.firstChild)},n.findParent=function t(e,n){return n(e)?e:e.parentNode?t(e.parentNode,n):void 0},n.createNumberInput=function(t,e){var n=i(\"div\",\"numInputWrapper\"),r=i(\"input\",\"numInput \"+t),a=i(\"span\",\"arrowUp\"),o=i(\"span\",\"arrowDown\");if(-1===navigator.userAgent.indexOf(\"MSIE 9.0\")?r.type=\"number\":(r.type=\"text\",r.pattern=\"\\\\d*\"),void 0!==e)for(var d in e)r.setAttribute(d,e[d]);return n.appendChild(r),n.appendChild(a),n.appendChild(o),n},n.getEventTarget=function(t){try{return\"function\"==typeof t.composedPath?t.composedPath()[0]:t.target}catch(e){return t.target}}},\n", + " 572: function _(e,t,n,a,r){a();const i=e(573),o=e(568),s=e(569);n.createDateFormatter=function(e){var t=e.config,n=void 0===t?o.defaults:t,a=e.l10n,r=void 0===a?s.english:a,u=e.isMobile,f=void 0!==u&&u;return function(e,t,a){var o=a||r;return void 0===n.formatDate||f?t.split(\"\").map((function(t,a,r){return i.formats[t]&&\"\\\\\"!==r[a-1]?i.formats[t](e,o,n):\"\\\\\"!==t?t:\"\"})).join(\"\"):n.formatDate(e,t,o)}};n.createDateParser=function(e){var t=e.config,n=void 0===t?o.defaults:t,a=e.l10n,r=void 0===a?s.english:a;return function(e,t,a,s){if(0===e||e){var u,f=s||r,d=e;if(e instanceof Date)u=new Date(e.getTime());else if(\"string\"!=typeof e&&void 0!==e.toFixed)u=new Date(e);else if(\"string\"==typeof e){var c=t||(n||o.defaults).dateFormat,g=String(e).trim();if(\"today\"===g)u=new Date,a=!0;else if(n&&n.parseDate)u=n.parseDate(e,c);else if(/Z$/.test(g)||/GMT$/.test(g))u=new Date(e);else{for(var m=void 0,l=[],v=0,D=0,h=\"\";vMath.min(t,n)&&e=12?12:0)+parseFloat(n))},H:function(t,n){t.setHours(parseFloat(n))},J:function(t,n){t.setDate(parseFloat(n))},K:function(t,n,e){t.setHours(t.getHours()%12+12*(0,u.int)(new RegExp(e.amPM[1],\"i\").test(n)))},M:function(t,n,e){t.setMonth(e.months.shorthand.indexOf(n))},S:function(t,n){t.setSeconds(parseFloat(n))},U:function(t,n){return new Date(1e3*parseFloat(n))},W:function(t,n,e){var o=parseInt(n),r=new Date(t.getFullYear(),0,2+7*(o-1),0,0,0,0);return r.setDate(r.getDate()-r.getDay()+e.firstDayOfWeek),r},Y:function(t,n){t.setFullYear(parseFloat(n))},Z:function(t,n){return new Date(n)},d:function(t,n){t.setDate(parseFloat(n))},h:function(t,n){t.setHours((t.getHours()>=12?12:0)+parseFloat(n))},i:function(t,n){t.setMinutes(parseFloat(n))},j:function(t,n){t.setDate(parseFloat(n))},l:a,m:function(t,n){t.setMonth(parseFloat(n)-1)},n:function(t,n){t.setMonth(parseFloat(n)-1)},s:function(t,n){t.setSeconds(parseFloat(n))},u:function(t,n){return new Date(parseFloat(n))},w:a,y:function(t,n){t.setFullYear(2e3+parseFloat(n))}},e.tokenRegex={D:\"\",F:\"\",G:\"(\\\\d\\\\d|\\\\d)\",H:\"(\\\\d\\\\d|\\\\d)\",J:\"(\\\\d\\\\d|\\\\d)\\\\w+\",K:\"\",M:\"\",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:\"\",m:\"(\\\\d\\\\d|\\\\d)\",n:\"(\\\\d\\\\d|\\\\d)\",s:\"(\\\\d\\\\d|\\\\d)\",u:\"(.+)\",w:\"(\\\\d\\\\d|\\\\d)\",y:\"(\\\\d{2})\"},e.formats={Z:function(t){return t.toISOString()},D:function(t,n,o){return n.weekdays.shorthand[e.formats.w(t,n,o)]},F:function(t,n,o){return(0,e.monthToStr)(e.formats.n(t,n,o)-1,!1,n)},G:function(t,n,o){return(0,u.pad)(e.formats.h(t,n,o))},H:function(t){return(0,u.pad)(t.getHours())},J:function(t,n){return void 0!==n.ordinal?t.getDate()+n.ordinal(t.getDate()):t.getDate()},K:function(t,n){return n.amPM[(0,u.int)(t.getHours()>11)]},M:function(t,n){return(0,e.monthToStr)(t.getMonth(),!0,n)},S:function(t){return(0,u.pad)(t.getSeconds())},U:function(t){return t.getTime()/1e3},W:function(t,n,e){return e.getWeek(t)},Y:function(t){return(0,u.pad)(t.getFullYear(),4)},d:function(t){return(0,u.pad)(t.getDate())},h:function(t){return t.getHours()%12?t.getHours()%12:12},i:function(t){return(0,u.pad)(t.getMinutes())},j:function(t){return t.getDate()},l:function(t,n){return n.weekdays.longhand[t.getDay()]},m:function(t){return(0,u.pad)(t.getMonth()+1)},n:function(t){return t.getMonth()+1},s:function(t){return t.getSeconds()},u:function(t){return t.getTime()},w:function(t){return t.getDay()},y:function(t){return String(t.getFullYear()).substring(2)}}},\n", + " 574: function _(n,t,o,r,e){\"function\"!=typeof Object.assign&&(Object.assign=function(n){for(var t=[],o=1;o({value:[a(e(l.DateLike,l.DateLike)),null]})))},\n", + " 577: function _(e,t,a,i,r){var s;i();const n=e(565);class c extends n.BaseDatePickerView{get flatpickr_options(){return Object.assign(Object.assign({},super.flatpickr_options),{mode:\"multiple\",conjunction:this.model.separator})}_on_change(e){this.model.value=e.map((e=>this._format_date(e)))}}a.MultipleDatePickerView=c,c.__name__=\"MultipleDatePickerView\";class l extends n.BaseDatePicker{constructor(e){super(e)}}a.MultipleDatePicker=l,s=l,l.__name__=\"MultipleDatePicker\",s.prototype.default_view=c,s.define((({String:e,Array:t})=>({value:[t(n.DateLike),[]],separator:[e,\", \"]})))},\n", + " 578: function _(e,t,a,i,s){var n;i();const l=e(579),c=e(565),r=e(12);class o extends l.BaseDatetimePickerView{get flatpickr_options(){return Object.assign(Object.assign({},super.flatpickr_options),{mode:\"single\"})}_on_change(e){switch(e.length){case 0:this.model.value=null;break;case 1:{const[t]=e,a=this._format_date(t);this.model.value=a;break}default:(0,r.assert)(!1,\"invalid length\")}}}a.DatetimePickerView=o,o.__name__=\"DatetimePickerView\";class _ extends l.BaseDatetimePicker{constructor(e){super(e)}}a.DatetimePicker=_,n=_,_.__name__=\"DatetimePicker\",n.prototype.default_view=o,n.define((({Nullable:e})=>({value:[e(c.DateLike),null]})))},\n", + " 579: function _(e,t,n,c,i){var s;c();const r=e(565),o=e(19);class m extends r.BaseDatePickerView{connect_signals(){super.connect_signals();const{value:e,hour_increment:t,minute_increment:n,second_increment:c,seconds:i,clock:s}=this.model.properties;this.connect(e.change,(()=>{const{value:e}=this.model;null!=e?this.picker.setDate(e):this.picker.clear()})),this.connect(t.change,(()=>this.picker.set(\"hourIncrement\",this.model.hour_increment))),this.connect(n.change,(()=>this.picker.set(\"minuteIncrement\",this.model.minute_increment))),this.connect(c.change,(()=>this._update_second_increment())),this.connect(i.change,(()=>this.picker.set(\"enableSeconds\",this.model.seconds))),this.connect(s.change,(()=>this.picker.set(\"time_24hr\",\"24h\"==this.model.clock)))}get flatpickr_options(){const{hour_increment:e,minute_increment:t,seconds:n,clock:c}=this.model,i=super.flatpickr_options;return i.enableTime=!0,i.dateFormat=\"Y-m-dTH:i:S\",i.hourIncrement=e,i.minuteIncrement=t,i.enableSeconds=n,i.time_24hr=\"24h\"==c,i}render(){super.render(),this._update_second_increment()}_update_second_increment(){var e;const{second_increment:t}=this.model;null===(e=this.picker.secondElement)||void 0===e||e.setAttribute(\"step\",t.toString())}}n.BaseDatetimePickerView=m,m.__name__=\"BaseDatetimePickerView\";class a extends r.BaseDatePicker{constructor(e){super(e)}}n.BaseDatetimePicker=a,s=a,a.__name__=\"BaseDatetimePicker\",s.define((({Boolean:e,Positive:t,Int:n})=>({hour_increment:[t(n),1],minute_increment:[t(n),1],second_increment:[t(n),1],seconds:[e,!1],clock:[o.Clock,\"24h\"]}))),s.override({date_format:\"Y-m-d H:i\"})},\n", + " 580: function _(e,t,a,i,s){var n;i();const l=e(579),r=e(565),c=e(12);class o extends l.BaseDatetimePickerView{get flatpickr_options(){return Object.assign(Object.assign({},super.flatpickr_options),{mode:\"range\"})}_on_change(e){switch(e.length){case 0:this.model.value=null;break;case 1:{const[t]=e,a=this._format_date(t);this.model.value=[a,a];break}case 2:{const[t,a]=e,i=this._format_date(t),s=this._format_date(a);this.model.value=[i,s];break}default:(0,c.assert)(!1,\"invalid length\")}}}a.DatetimeRangePickerView=o,o.__name__=\"DatetimeRangePickerView\";class _ extends l.BaseDatetimePicker{constructor(e){super(e)}}a.DatetimeRangePicker=_,n=_,_.__name__=\"DatetimeRangePicker\",n.prototype.default_view=o,n.define((({Nullable:e,Tuple:t})=>({value:[e(t(r.DateLike,r.DateLike)),null]})))},\n", + " 581: function _(e,t,i,a,r){var s;a();const n=e(579),c=e(565);class l extends n.BaseDatetimePickerView{get flatpickr_options(){return Object.assign(Object.assign({},super.flatpickr_options),{mode:\"multiple\",conjunction:this.model.separator})}_on_change(e){this.model.value=e.map((e=>this._format_date(e)))}}i.MultipleDatetimePickerView=l,l.__name__=\"MultipleDatetimePickerView\";class o extends n.BaseDatetimePicker{constructor(e){super(e)}}i.MultipleDatetimePicker=o,s=o,o.__name__=\"MultipleDatetimePicker\",s.prototype.default_view=l,s.define((({String:e,Array:t})=>({value:[t(c.DateLike),[]],separator:[e,\", \"]})))},\n", + " 582: function _(e,t,n,i,c){var s;i();const m=e(566),r=e(20),o=e(19),a=e(12);n.TimeLike=(0,r.Or)(r.String,r.Number);class l extends m.PickerBaseView{_format_time(e){const{picker:t}=this;return t.formatDate(e,t.config.dateFormat)}connect_signals(){super.connect_signals();const{value:e,min_time:t,max_time:n,time_format:i,hour_increment:c,minute_increment:s,second_increment:m,seconds:r,clock:o}=this.model.properties;this.connect(e.change,(()=>{const{value:e}=this.model;null!=e?this.picker.setDate(e):this.picker.clear()})),this.connect(t.change,(()=>this.picker.set(\"minTime\",this.model.min_time))),this.connect(n.change,(()=>this.picker.set(\"maxTime\",this.model.max_time))),this.connect(i.change,(()=>this.picker.set(\"altFormat\",this.model.time_format))),this.connect(c.change,(()=>this.picker.set(\"hourIncrement\",this.model.hour_increment))),this.connect(s.change,(()=>this.picker.set(\"minuteIncrement\",this.model.minute_increment))),this.connect(m.change,(()=>this._update_second_increment())),this.connect(r.change,(()=>this.picker.set(\"enableSeconds\",this.model.seconds))),this.connect(o.change,(()=>this.picker.set(\"time_24hr\",\"24h\"==this.model.clock)))}get flatpickr_options(){const{value:e,min_time:t,max_time:n,time_format:i,hour_increment:c,minute_increment:s,seconds:m,clock:r}=this.model,o=super.flatpickr_options;return o.enableTime=!0,o.noCalendar=!0,o.altInput=!0,o.altFormat=i,o.dateFormat=\"H:i:S\",o.hourIncrement=c,o.minuteIncrement=s,o.enableSeconds=m,o.time_24hr=\"24h\"==r,null!=e&&(o.defaultDate=e),null!=t&&(o.minTime=t),null!=n&&(o.maxTime=n),o}render(){super.render(),this._update_second_increment()}_update_second_increment(){var e;const{second_increment:t}=this.model;null===(e=this.picker.secondElement)||void 0===e||e.setAttribute(\"step\",t.toString())}_on_change(e){switch(e.length){case 0:this.model.value=null;break;case 1:{const[t]=e,n=this._format_time(t);this.model.value=n;break}default:(0,a.assert)(!1,\"invalid length\")}}}n.TimePickerView=l,l.__name__=\"TimePickerView\";class h extends m.PickerBase{constructor(e){super(e)}}n.TimePicker=h,s=h,h.__name__=\"TimePicker\",s.prototype.default_view=l,s.define((({Boolean:e,String:t,Nullable:i,Positive:c,Int:s})=>({value:[i(n.TimeLike),null],min_time:[i(n.TimeLike),null],max_time:[i(n.TimeLike),null],time_format:[t,\"H:i\"],hour_increment:[c(s),1],minute_increment:[c(s),1],second_increment:[c(s),1],seconds:[e,!1],clock:[o.Clock,\"24h\"]})))},\n", + " 583: function _(e,t,a,r,n){var s;r();const i=e(1).__importDefault(e(173)),d=e(584),o=e(8);class l extends d.AbstractRangeSliderView{_calc_to(){const{start:e,end:t,value:a,step:r}=this.model;return{start:e,end:t,value:a,step:864e5*r}}}a.DateRangeSliderView=l,l.__name__=\"DateRangeSliderView\";class _ extends d.AbstractSlider{constructor(e){super(e),this.behaviour=\"drag\",this.connected=[!1,!0,!1]}_formatter(e,t){return(0,o.isString)(t)?(0,i.default)(e,t):t.compute(e)}}a.DateRangeSlider=_,s=_,_.__name__=\"DateRangeSlider\",s.prototype.default_view=l,s.override({format:\"%d %b %Y\"})},\n", + " 584: function _(t,e,s,i,l){var o;i();const r=t(1),n=r.__importDefault(t(585)),_=r.__importStar(t(17)),a=t(56),d=t(10),h=t(21),c=t(557),u=t(162),m=r.__importStar(t(586)),p=m,g=r.__importDefault(t(587)),b=r.__importStar(t(552));class v extends c.OrientedControlView{constructor(){super(...arguments),this._auto_width=\"auto\",this._auto_height=\"auto\"}*controls(){yield this.slider_el}get _steps(){return this._noUiSlider.steps}connect_signals(){super.connect_signals();const{direction:t,orientation:e,tooltips:s}=this.model.properties;this.on_change([t,e,s],(()=>this.render()));const{start:i,end:l,value:o,step:r,title:n}=this.model.properties;this.on_change([i,l,o,r],(()=>{const{start:t,end:e,value:s,step:i}=this._calc_to();this._noUiSlider.updateOptions({range:{min:t,max:e},start:s,step:i},!0)}));const{bar_color:_}=this.model.properties;this.on_change(_,(()=>{this._set_bar_color()}));const{show_value:a}=this.model.properties;this.on_change([o,n,a],(()=>this._update_title()))}stylesheets(){return[...super.stylesheets(),g.default,m.default]}_update_title(){(0,a.empty)(this.title_el);const t=null==this.model.title||0==this.model.title.length&&!this.model.show_value;if(this.title_el.style.display=t?\"none\":\"\",!t){const{title:t}=this.model;if(null!=t&&t.length>0&&(this.contains_tex_string(t)?this.title_el.innerHTML=`${this.process_tex(t)}: `:this.title_el.textContent=`${t}: `),this.model.show_value){const{value:t}=this._calc_to(),e=t.map((t=>this.model.pretty(t))).join(\" .. \");this.title_el.appendChild((0,a.span)({class:p.slider_value},e))}}}_set_bar_color(){if(!this.model.disabled&&null!=this.slider_el){this.slider_el.querySelector(\".noUi-connect\").style.backgroundColor=(0,h.color2css)(this.model.bar_color)}}render(){super.render();const{start:t,end:e,value:s,step:i}=this._calc_to();let l;if(this.model.tooltips){const t={to:t=>this.model.pretty(t)};l=(0,d.repeat)(t,s.length)}else l=null;if(null==this.slider_el){this.slider_el=(0,a.div)(),this._noUiSlider=n.default.create(this.slider_el,{range:{min:t,max:e},start:s,step:i,behaviour:this.model.behaviour,connect:this.model.connected,tooltips:null!=l&&l,orientation:this.model.orientation,direction:this.model.direction}),this._noUiSlider.on(\"slide\",((t,e,s)=>this._slide(s))),this._noUiSlider.on(\"change\",((t,e,s)=>this._change(s)));const o=(t,e)=>{if(null==l||null==this.slider_el)return;this.slider_el.querySelectorAll(\".noUi-handle\")[t].querySelector(\".noUi-tooltip\").style.display=e?\"block\":\"\"};this._noUiSlider.on(\"start\",(()=>this._toggle_user_select(!1))),this._noUiSlider.on(\"end\",(()=>this._toggle_user_select(!0))),this._noUiSlider.on(\"start\",((t,e)=>o(e,!0))),this._noUiSlider.on(\"end\",((t,e)=>o(e,!1)))}else this._noUiSlider.updateOptions({range:{min:t,max:e},start:s,step:i},!0);this._set_bar_color(),this.model.disabled?this.slider_el.setAttribute(\"disabled\",\"true\"):this.slider_el.removeAttribute(\"disabled\"),this.title_el=(0,a.div)({class:p.slider_title}),this._update_title(),this.group_el=(0,a.div)({class:b.input_group},this.title_el,this.slider_el),this.shadow_el.appendChild(this.group_el),this._has_finished=!0}_toggle_user_select(t){const{style:e}=document.body,s=t?\"\":\"none\";e.userSelect=s,e.webkitUserSelect=s}_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})}}v.__name__=\"AbstractBaseSliderView\";class S extends v{_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}}s.AbstractSliderView=S,S.__name__=\"AbstractSliderView\";class f extends v{_calc_to(){return{start:this.model.start,end:this.model.end,value:this.model.value,step:this.model.step}}_calc_from(t){return t}}s.AbstractRangeSliderView=f,f.__name__=\"AbstractRangeSliderView\";class y extends c.OrientedControl{constructor(t){super(t),this.connected=!1}pretty(t){return this._formatter(t,this.format)}}s.AbstractSlider=y,o=y,y.__name__=\"AbstractSlider\",o.define((({Any:t,Boolean:e,Number:s,String:i,Color:l,Or:o,Enum:r,Ref:n,Nullable:a})=>({title:[a(i),\"\"],show_value:[e,!0],start:[t],end:[t],value:[t],value_throttled:[t,_.unset,{readonly:!0}],step:[s,1],format:[o(i,n(u.TickFormatter))],direction:[r(\"ltr\",\"rtl\"),\"ltr\"],tooltips:[e,!0],bar_color:[l,\"#e6e6e6\"]}))),o.override({width:300})},\n", + " 585: function _(t,e,r,n,i){var o,s;o=this,s=function(t){\"use strict\";var e,r;function n(t){return\"object\"==typeof t&&\"function\"==typeof t.to}function i(t){t.parentElement.removeChild(t)}function o(t){return null!=t}function s(t){t.preventDefault()}function a(t){return\"number\"==typeof t&&!isNaN(t)&&isFinite(t)}function l(t,e,r){r>0&&(f(t,e),setTimeout((function(){d(t,e)}),r))}function u(t){return Math.max(Math.min(t,100),0)}function c(t){return Array.isArray(t)?t:[t]}function p(t){var e=(t=String(t)).split(\".\");return e.length>1?e[1].length:0}function f(t,e){t.classList&&!/\\s/.test(e)?t.classList.add(e):t.className+=\" \"+e}function d(t,e){t.classList&&!/\\s/.test(e)?t.classList.remove(e):t.className=t.className.replace(new RegExp(\"(^|\\\\b)\"+e.split(\" \").join(\"|\")+\"(\\\\b|$)\",\"gi\"),\" \")}function h(t){var e=void 0!==window.pageXOffset,r=\"CSS1Compat\"===(t.compatMode||\"\");return{x:e?window.pageXOffset:r?t.documentElement.scrollLeft:t.body.scrollLeft,y:e?window.pageYOffset:r?t.documentElement.scrollTop:t.body.scrollTop}}function m(t,e){return 100/(e-t)}function g(t,e,r){return 100*e/(t[r+1]-t[r])}function v(t,e){for(var r=1;t>=e[r];)r+=1;return r}function b(t,e,r){if(r>=t.slice(-1)[0])return 100;var n=v(r,t),i=t[n-1],o=t[n],s=e[n-1],a=e[n];return s+function(t,e){return g(t,t[0]<0?e+Math.abs(t[0]):e-t[0],0)}([i,o],r)/m(s,a)}function S(t,e,r,n){if(100===n)return n;var i=v(n,t),o=t[i-1],s=t[i];return r?n-o>(s-o)/2?s:o:e[i-1]?t[i-1]+function(t,e){return Math.round(t/e)*e}(n-t[i-1],e[i-1]):n}t.PipsMode=void 0,(e=t.PipsMode||(t.PipsMode={})).Range=\"range\",e.Steps=\"steps\",e.Positions=\"positions\",e.Count=\"count\",e.Values=\"values\",t.PipsType=void 0,(r=t.PipsType||(t.PipsType={}))[r.None=-1]=\"None\",r[r.NoValue=0]=\"NoValue\",r[r.LargeValue=1]=\"LargeValue\",r[r.SmallValue=2]=\"SmallValue\";var x=function(){function t(t,e,r){var n;this.xPct=[],this.xVal=[],this.xSteps=[],this.xNumSteps=[],this.xHighestCompleteStep=[],this.xSteps=[r||!1],this.xNumSteps=[!1],this.snap=e;var i=[];for(Object.keys(t).forEach((function(e){i.push([c(t[e]),e])})),i.sort((function(t,e){return t[0][0]-e[0][0]})),n=0;nthis.xPct[i+1];)i++;else t===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);r||t!==this.xPct[i+1]||i++,null===e&&(e=[]);var o=1,s=e[i],a=0,l=0,u=0,c=0;for(n=r?(t-this.xPct[i])/(this.xPct[i+1]-this.xPct[i]):(this.xPct[i+1]-t)/(this.xPct[i+1]-this.xPct[i]);s>0;)a=this.xPct[i+1+c]-this.xPct[i+c],e[i+c]*o+100-100*n>100?(l=a*n,o=(s-100*n)/e[i+c],n=1):(l=e[i+c]*a/100*o,o=0),r?(u-=l,this.xPct.length+c>=1&&c--):(u+=l,this.xPct.length-c>=1&&c++),s=e[i+c]*o;return t+u},t.prototype.toStepping=function(t){return t=b(this.xVal,this.xPct,t)},t.prototype.fromStepping=function(t){return function(t,e,r){if(r>=100)return t.slice(-1)[0];var n=v(r,e),i=t[n-1],o=t[n],s=e[n-1];return function(t,e){return e*(t[1]-t[0])/100+t[0]}([i,o],(r-s)*m(s,e[n]))}(this.xVal,this.xPct,t)},t.prototype.getStep=function(t){return t=S(this.xPct,this.xSteps,this.snap,t)},t.prototype.getDefaultStep=function(t,e,r){var n=v(t,this.xPct);return(100===t||e&&t===this.xPct[n-1])&&(n=Math.max(n-1,1)),(this.xVal[n]-this.xVal[n-1])/r},t.prototype.getNearbySteps=function(t){var e=v(t,this.xPct);return{stepBefore:{startValue:this.xVal[e-2],step:this.xNumSteps[e-2],highestStep:this.xHighestCompleteStep[e-2]},thisStep:{startValue:this.xVal[e-1],step:this.xNumSteps[e-1],highestStep:this.xHighestCompleteStep[e-1]},stepAfter:{startValue:this.xVal[e],step:this.xNumSteps[e],highestStep:this.xHighestCompleteStep[e]}}},t.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(p);return Math.max.apply(null,t)},t.prototype.hasNoSize=function(){return this.xVal[0]===this.xVal[this.xVal.length-1]},t.prototype.convert=function(t){return this.getStep(this.toStepping(t))},t.prototype.handleEntryPoint=function(t,e){var r;if(!a(r=\"min\"===t?0:\"max\"===t?100:parseFloat(t))||!a(e[0]))throw new Error(\"noUiSlider: 'range' value isn't numeric.\");this.xPct.push(r),this.xVal.push(e[0]);var n=Number(e[1]);r?this.xSteps.push(!isNaN(n)&&n):isNaN(n)||(this.xSteps[0]=n),this.xHighestCompleteStep.push(0)},t.prototype.handleStepPoint=function(t,e){if(e)if(this.xVal[t]!==this.xVal[t+1]){this.xSteps[t]=g([this.xVal[t],this.xVal[t+1]],e,0)/m(this.xPct[t],this.xPct[t+1]);var r=(this.xVal[t+1]-this.xVal[t])/this.xNumSteps[t],n=Math.ceil(Number(r.toFixed(3))-1),i=this.xVal[t]+this.xNumSteps[t]*n;this.xHighestCompleteStep[t]=i}else this.xSteps[t]=this.xHighestCompleteStep[t]=this.xVal[t]},t}(),y={to:function(t){return void 0===t?\"\":t.toFixed(2)},from:Number},w={target:\"target\",base:\"base\",origin:\"origin\",handle:\"handle\",handleLower:\"handle-lower\",handleUpper:\"handle-upper\",touchArea:\"touch-area\",horizontal:\"horizontal\",vertical:\"vertical\",background:\"background\",connect:\"connect\",connects:\"connects\",ltr:\"ltr\",rtl:\"rtl\",textDirectionLtr:\"txt-dir-ltr\",textDirectionRtl:\"txt-dir-rtl\",draggable:\"draggable\",drag:\"state-drag\",tap:\"state-tap\",active:\"active\",tooltip:\"tooltip\",pips:\"pips\",pipsHorizontal:\"pips-horizontal\",pipsVertical:\"pips-vertical\",marker:\"marker\",markerHorizontal:\"marker-horizontal\",markerVertical:\"marker-vertical\",markerNormal:\"marker-normal\",markerLarge:\"marker-large\",markerSub:\"marker-sub\",value:\"value\",valueHorizontal:\"value-horizontal\",valueVertical:\"value-vertical\",valueNormal:\"value-normal\",valueLarge:\"value-large\",valueSub:\"value-sub\"},E={tooltips:\".__tooltips\",aria:\".__aria\"};function P(t,e){if(!a(e))throw new Error(\"noUiSlider: 'step' is not numeric.\");t.singleStep=e}function C(t,e){if(!a(e))throw new Error(\"noUiSlider: 'keyboardPageMultiplier' is not numeric.\");t.keyboardPageMultiplier=e}function N(t,e){if(!a(e))throw new Error(\"noUiSlider: 'keyboardMultiplier' is not numeric.\");t.keyboardMultiplier=e}function V(t,e){if(!a(e))throw new Error(\"noUiSlider: 'keyboardDefaultStep' is not numeric.\");t.keyboardDefaultStep=e}function A(t,e){if(\"object\"!=typeof e||Array.isArray(e))throw new Error(\"noUiSlider: 'range' is not an object.\");if(void 0===e.min||void 0===e.max)throw new Error(\"noUiSlider: Missing 'min' or 'max' in 'range'.\");t.spectrum=new x(e,t.snap||!1,t.singleStep)}function k(t,e){if(e=c(e),!Array.isArray(e)||!e.length)throw new Error(\"noUiSlider: 'start' option is incorrect.\");t.handles=e.length,t.start=e}function M(t,e){if(\"boolean\"!=typeof e)throw new Error(\"noUiSlider: 'snap' option must be a boolean.\");t.snap=e}function U(t,e){if(\"boolean\"!=typeof e)throw new Error(\"noUiSlider: 'animate' option must be a boolean.\");t.animate=e}function D(t,e){if(\"number\"!=typeof e)throw new Error(\"noUiSlider: 'animationDuration' option must be a number.\");t.animationDuration=e}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;r1)throw new Error(\"noUiSlider: 'padding' option must not exceed 100% of the range.\")}}function H(t,e){switch(e){case\"ltr\":t.dir=0;break;case\"rtl\":t.dir=1;break;default:throw new Error(\"noUiSlider: 'direction' option was not recognized.\")}}function F(t,e){if(\"string\"!=typeof e)throw new Error(\"noUiSlider: 'behaviour' must be a string containing options.\");var r=e.indexOf(\"tap\")>=0,n=e.indexOf(\"drag\")>=0,i=e.indexOf(\"fixed\")>=0,o=e.indexOf(\"snap\")>=0,s=e.indexOf(\"hover\")>=0,a=e.indexOf(\"unconstrained\")>=0,l=e.indexOf(\"drag-all\")>=0,u=e.indexOf(\"smooth-steps\")>=0;if(i){if(2!==t.handles)throw new Error(\"noUiSlider: 'fixed' behaviour must be used with 2 handles\");T(t,t.start[1]-t.start[0])}if(a&&(t.margin||t.limit))throw new Error(\"noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit\");t.events={tap:r||o,drag:n,dragAll:l,smoothSteps:u,fixed:i,snap:o,hover:s,unconstrained:a}}function R(t,e){if(!1!==e)if(!0===e||n(e)){t.tooltips=[];for(var r=0;r= 2) required for mode 'count'.\");for(var r=e.values-1,n=100/r,i=[];r--;)i[r]=r*n;return i.push(100),B(i,e.stepped)}return e.mode===t.PipsMode.Positions?B(e.values,e.stepped):e.mode===t.PipsMode.Values?e.stepped?e.values.map((function(t){return P.fromStepping(P.getStep(P.toStepping(t)))})):e.values:[]}(e),i={},o=P.xVal[0],s=P.xVal[P.xVal.length-1],a=!1,l=!1,u=0;return r=n.slice().sort((function(t,e){return t-e})),(n=r.filter((function(t){return!this[t]&&(this[t]=!0)}),{}))[0]!==o&&(n.unshift(o),a=!0),n[n.length-1]!==s&&(n.push(s),l=!0),n.forEach((function(r,o){var s,c,p,f,d,h,m,g,v,b,S=r,x=n[o+1],y=e.mode===t.PipsMode.Steps;for(y&&(s=P.xNumSteps[o]),s||(s=x-S),void 0===x&&(x=S),s=Math.max(s,1e-7),c=S;c<=x;c=Number((c+s).toFixed(7))){for(g=(d=(f=P.toStepping(c))-u)/(e.density||1),b=d/(v=Math.round(g)),p=1;p<=v;p+=1)i[(h=u+p*b).toFixed(5)]=[P.fromStepping(h),0];m=n.indexOf(c)>-1?t.PipsType.LargeValue:y?t.PipsType.SmallValue:t.PipsType.NoValue,!o&&a&&c!==x&&(m=0),c===x&&l||(i[f.toFixed(5)]=[c,m]),u=f}})),i}function X(e,n,i){var o,s,a=M.createElement(\"div\"),l=((o={})[t.PipsType.None]=\"\",o[t.PipsType.NoValue]=r.cssClasses.valueNormal,o[t.PipsType.LargeValue]=r.cssClasses.valueLarge,o[t.PipsType.SmallValue]=r.cssClasses.valueSub,o),u=((s={})[t.PipsType.None]=\"\",s[t.PipsType.NoValue]=r.cssClasses.markerNormal,s[t.PipsType.LargeValue]=r.cssClasses.markerLarge,s[t.PipsType.SmallValue]=r.cssClasses.markerSub,s),c=[r.cssClasses.valueHorizontal,r.cssClasses.valueVertical],p=[r.cssClasses.markerHorizontal,r.cssClasses.markerVertical];function d(t,e){var n=e===r.cssClasses.value,i=n?l:u;return e+\" \"+(n?c:p)[r.ort]+\" \"+i[t]}return f(a,r.cssClasses.pips),f(a,0===r.ort?r.cssClasses.pipsHorizontal:r.cssClasses.pipsVertical),Object.keys(e).forEach((function(o){!function(e,o,s){if((s=n?n(o,s):s)!==t.PipsType.None){var l=L(a,!1);l.className=d(s,r.cssClasses.marker),l.style[r.style]=e+\"%\",s>t.PipsType.NoValue&&((l=L(a,!1)).className=d(s,r.cssClasses.value),l.setAttribute(\"data-value\",String(o)),l.style[r.style]=e+\"%\",l.innerHTML=String(i.to(o)))}}(o,e[o][0],e[o][1])})),a}function Y(){g&&(i(g),g=null)}function I(t){Y();var e=q(t),r=t.filter,n=t.format||{to:function(t){return String(Math.round(t))}};return g=w.appendChild(X(e,r,n))}function W(){var t=a.getBoundingClientRect(),e=\"offset\"+[\"Width\",\"Height\"][r.ort];return 0===r.ort?t.width||a[e]:t.height||a[e]}function G(t,e,n,i){var o=function(o){var s,a,l=function(t,e,r){var n=0===t.type.indexOf(\"touch\"),i=0===t.type.indexOf(\"mouse\"),o=0===t.type.indexOf(\"pointer\"),s=0,a=0;if(0===t.type.indexOf(\"MSPointer\")&&(o=!0),\"mousedown\"===t.type&&!t.buttons&&!t.touches)return!1;if(n){var l=function(e){var n=e.target;return n===r||r.contains(n)||t.composed&&t.composedPath().shift()===r};if(\"touchstart\"===t.type){var u=Array.prototype.filter.call(t.touches,l);if(u.length>1)return!1;s=u[0].pageX,a=u[0].pageY}else{var c=Array.prototype.find.call(t.changedTouches,l);if(!c)return!1;s=c.pageX,a=c.pageY}}return e=e||h(M),(i||o)&&(s=t.clientX+e.x,a=t.clientY+e.y),t.pageOffset=e,t.points=[s,a],t.cursor=i||o,t}(o,i.pageOffset,i.target||e);return!!l&&!(H()&&!i.doNotReject)&&(s=w,a=r.cssClasses.tap,!((s.classList?s.classList.contains(a):new RegExp(\"\\\\b\"+a+\"\\\\b\").test(s.className))&&!i.doNotReject)&&!(t===x.start&&void 0!==l.buttons&&l.buttons>1)&&(!i.hover||!l.buttons)&&(y||l.preventDefault(),l.calcPoint=l.points[r.ort],void n(l,i)))},s=[];return t.split(\" \").forEach((function(t){e.addEventListener(t,o,!!y&&{passive:!0}),s.push([t,o])})),s}function J(t){var e,n,i,o,s,l,c=100*(t-(e=a,n=r.ort,i=e.getBoundingClientRect(),o=e.ownerDocument,s=o.documentElement,l=h(o),/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(l.x=0),n?i.top+l.y-s.clientTop:i.left+l.x-s.clientLeft))/W();return c=u(c),r.dir?100-c:c}function K(t,e){\"mouseout\"===t.type&&\"HTML\"===t.target.nodeName&&null===t.relatedTarget&&Z(t,e)}function Q(t,e){if(-1===navigator.appVersion.indexOf(\"MSIE 9\")&&0===t.buttons&&0!==e.buttonsProperty)return Z(t,e);var n=(r.dir?-1:1)*(t.calcPoint-e.startCalcPoint);lt(n>0,100*n/e.baseSize,e.locations,e.handleNumbers,e.connect)}function Z(t,e){e.handle&&(d(e.handle,r.cssClasses.active),A-=1),e.listeners.forEach((function(t){U.removeEventListener(t[0],t[1])})),0===A&&(d(w,r.cssClasses.drag),ct(),t.cursor&&(D.style.cursor=\"\",D.removeEventListener(\"selectstart\",s))),r.events.smoothSteps&&(e.handleNumbers.forEach((function(t){pt(t,N[t],!0,!0,!1,!1)})),e.handleNumbers.forEach((function(t){ot(\"update\",t)}))),e.handleNumbers.forEach((function(t){ot(\"change\",t),ot(\"set\",t),ot(\"end\",t)}))}function tt(t,e){if(!e.handleNumbers.some(F)){var n;1===e.handleNumbers.length&&(n=p[e.handleNumbers[0]].children[0],A+=1,f(n,r.cssClasses.active)),t.stopPropagation();var i=[],o=G(x.move,U,Q,{target:t.target,handle:n,connect:e.connect,listeners:i,startCalcPoint:t.calcPoint,baseSize:W(),pageOffset:t.pageOffset,handleNumbers:e.handleNumbers,buttonsProperty:t.buttons,locations:N.slice()}),a=G(x.end,U,Z,{target:t.target,handle:n,listeners:i,doNotReject:!0,handleNumbers:e.handleNumbers}),l=G(\"mouseout\",U,K,{target:t.target,handle:n,listeners:i,doNotReject:!0,handleNumbers:e.handleNumbers});i.push.apply(i,o.concat(a,l)),t.cursor&&(D.style.cursor=getComputedStyle(t.target).cursor,p.length>1&&f(w,r.cssClasses.drag),D.addEventListener(\"selectstart\",s,!1)),e.handleNumbers.forEach((function(t){ot(\"start\",t)}))}}function et(t){t.stopPropagation();var e=J(t.calcPoint),n=function(t){var e=100,r=!1;return p.forEach((function(n,i){if(!F(i)){var o=N[i],s=Math.abs(o-t);(so||100===s&&100===e)&&(r=i,e=s)}})),r}(e);!1!==n&&(r.events.snap||l(w,r.cssClasses.tap,r.animationDuration),pt(n,e,!0,!0),ct(),ot(\"slide\",n,!0),ot(\"update\",n,!0),r.events.snap?tt(t,{handleNumbers:[n]}):(ot(\"change\",n,!0),ot(\"set\",n,!0)))}function rt(t){var e=J(t.calcPoint),r=P.getStep(e),n=P.fromStepping(r);Object.keys(k).forEach((function(t){\"hover\"===t.split(\".\")[0]&&k[t].forEach((function(t){t.call(vt,n)}))}))}function nt(t,e){k[t]=k[t]||[],k[t].push(e),\"update\"===t.split(\".\")[0]&&p.forEach((function(t,e){ot(\"update\",e)}))}function it(t){var e=t&&t.split(\".\")[0],r=e?t.substring(e.length):t;Object.keys(k).forEach((function(t){var n=t.split(\".\")[0],i=t.substring(n.length);e&&e!==n||r&&r!==i||function(t){return t===E.aria||t===E.tooltips}(i)&&r!==i||delete k[t]}))}function ot(t,e,n){Object.keys(k).forEach((function(i){var o=i.split(\".\")[0];t===o&&k[i].forEach((function(t){t.call(vt,C.map(r.format.to),e,C.slice(),n||!1,N.slice(),vt)}))}))}function st(t,e,n,i,o,s,a){var l;return p.length>1&&!r.events.unconstrained&&(i&&e>0&&(l=P.getAbsoluteDistance(t[e-1],r.margin,!1),n=Math.max(n,l)),o&&e1&&r.limit&&(i&&e>0&&(l=P.getAbsoluteDistance(t[e-1],r.limit,!1),n=Math.min(n,l)),o&&e1?i.forEach((function(t,r){var n=st(s,t,s[t]+e,u[r],c[r],!1,l);!1===n?e=0:(e=n-s[t],s[t]=n)})):u=c=[!0];var p=!1;i.forEach((function(t,r){p=pt(t,n[t]+e,u[r],c[r],!1,l)||p})),p&&(i.forEach((function(t){ot(\"update\",t),ot(\"slide\",t)})),null!=o&&ot(\"drag\",a))}function ut(t,e){return r.dir?100-t-e:t}function ct(){V.forEach((function(t){var e=N[t]>50?-1:1,r=3+(p.length+e*t);p[t].style.zIndex=String(r)}))}function pt(t,e,n,i,o,s){return o||(e=st(N,t,e,n,i,!1,s)),!1!==e&&(function(t,e){N[t]=e,C[t]=P.fromStepping(e);var n=\"translate(\"+at(ut(e,0)-O+\"%\",\"0\")+\")\";p[t].style[r.transformRule]=n,ft(t),ft(t+1)}(t,e),!0)}function ft(t){if(m[t]){var e=0,n=100;0!==t&&(e=N[t-1]),t!==m.length-1&&(n=N[t]);var i=n-e,o=\"translate(\"+at(ut(e,i)+\"%\",\"0\")+\")\",s=\"scale(\"+at(i/100,\"1\")+\")\";m[t].style[r.transformRule]=o+\" \"+s}}function dt(t,e){return null===t||!1===t||void 0===t?N[e]:(\"number\"==typeof t&&(t=String(t)),!1!==(t=r.format.from(t))&&(t=P.toStepping(t)),!1===t||isNaN(t)?N[e]:t)}function ht(t,e,n){var i=c(t),o=void 0===N[0];e=void 0===e||e,r.animate&&!o&&l(w,r.cssClasses.tap,r.animationDuration),V.forEach((function(t){pt(t,dt(i[t],t),!0,!1,n)}));var s=1===V.length?0:1;if(o&&P.hasNoSize()&&(n=!0,N[0]=0,V.length>1)){var a=100/(V.length-1);V.forEach((function(t){N[t]=t*a}))}for(;sn.stepAfter.startValue&&(o=n.stepAfter.startValue-i),s=i>n.thisStep.startValue?n.thisStep.step:!1!==n.stepBefore.step&&i-n.stepBefore.highestStep,100===e?o=null:0===e&&(s=null);var a=P.countStepDecimals();return null!==o&&!1!==o&&(o=Number(o.toFixed(a))),null!==s&&!1!==s&&(s=Number(s.toFixed(a))),[s,o]}f(b=w,r.cssClasses.target),0===r.dir?f(b,r.cssClasses.ltr):f(b,r.cssClasses.rtl),0===r.ort?f(b,r.cssClasses.horizontal):f(b,r.cssClasses.vertical),f(b,\"rtl\"===getComputedStyle(b).direction?r.cssClasses.textDirectionRtl:r.cssClasses.textDirectionLtr),a=L(b,r.cssClasses.base),function(t,e){var n=L(e,r.cssClasses.connects);p=[],(m=[]).push(j(n,t[0]));for(var i=0;i=0&&t({render_as_text:[e,!1]})))},\n", + " 591: function _(t,e,s,i,r){var a;i();const n=t(1),d=t(56),h=t(640),o=n.__importStar(t(592));class _ extends h.WidgetView{constructor(){super(...arguments),this._auto_width=\"fit-content\",this._auto_height=\"auto\"}async lazy_initialize(){await super.lazy_initialize(),\"not_started\"!=this.provider.status&&\"loading\"!=this.provider.status||this.provider.ready.connect((()=>{this.contains_tex_string(this.model.text)&&this.rerender()}))}has_math_disabled(){return this.model.disable_math||!this.contains_tex_string(this.model.text)}rerender(){this.render()}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>{this.rerender()}))}stylesheets(){return[...super.stylesheets(),o.default,\"p { margin: 0; }\"]}render(){super.render(),this.markup_el=(0,d.div)({class:o.clearfix,style:{display:\"inline-block\"}}),this.shadow_el.appendChild(this.markup_el),\"failed\"!=this.provider.status&&\"loaded\"!=this.provider.status||(this._has_finished=!0)}}s.MarkupView=_,_.__name__=\"MarkupView\";class l extends h.Widget{constructor(t){super(t)}}s.Markup=l,a=l,l.__name__=\"Markup\",a.define((({Boolean:t,String:e})=>({text:[e,\"\"],disable_math:[t,!1]})))},\n", + " 592: function _(e,a,f,l,r){l(),f.clearfix=\"bk-clearfix\",f.default='.bk-clearfix:before,.bk-clearfix:after{content:\"\";display:table;}.bk-clearfix:after{clear:both;}'},\n", + " 593: function _(e,t,i,s,n){var o;s();const l=e(1),r=e(544),d=e(52),_=e(56),u=e(8),h=l.__importStar(e(547)),c=l.__importStar(e(553)),p=c,m=l.__importStar(e(594)),a=m;class g extends r.AbstractButtonView{constructor(){super(...arguments),this._open=!1}stylesheets(){return[...super.stylesheets(),c.default,m.default]}render(){super.render();const e=(0,_.div)({class:[a.caret,a.down]});if(this.model.is_split){const t=this._render_button(e);t.classList.add(h.dropdown_toggle),t.addEventListener(\"click\",(()=>this._toggle_menu())),this.group_el.appendChild(t)}else this.button_el.appendChild(e);const t=this.model.menu.map(((e,t)=>{if(null==e)return(0,_.div)({class:p.divider});{const i=(0,u.isString)(e)?e:e[0],s=(0,_.div)(i);return s.addEventListener(\"click\",(()=>this._item_click(t))),s}}));this.menu=(0,_.div)({class:[p.menu,p.below]},t),this.shadow_el.appendChild(this.menu),(0,_.undisplay)(this.menu)}_show_menu(){if(!this._open){this._open=!0,(0,_.display)(this.menu);const e=t=>{t.composedPath().includes(this.el)||(document.removeEventListener(\"click\",e),this._hide_menu())};document.addEventListener(\"click\",e)}}_hide_menu(){this._open&&(this._open=!1,(0,_.undisplay)(this.menu))}_toggle_menu(){this._open?this._hide_menu():this._show_menu()}click(){this.model.is_split?(this._hide_menu(),this.model.trigger_event(new d.ButtonClick),super.click()):this._toggle_menu()}_item_click(e){this._hide_menu();const t=this.model.menu[e];if(null!=t){const i=(0,u.isString)(t)?t:t[1];(0,u.isString)(i)?this.model.trigger_event(new d.MenuItemClick(i)):i.execute(this.model,{index:e})}}}i.DropdownView=g,g.__name__=\"DropdownView\";class w extends r.AbstractButton{constructor(e){super(e)}get is_split(){return this.split}}i.Dropdown=w,o=w,w.__name__=\"Dropdown\",o.prototype.default_view=g,o.define((({Null:e,Boolean:t,String:i,Array:s,Tuple:n,Or:o})=>({split:[t,!1],menu:[s(o(i,n(i,o(i)),e)),[]]}))),o.override({label:\"Dropdown\"})},\n", + " 594: function _(t,r,e,a,d){a(),e.caret=\"bk-caret\",e.down=\"bk-down\",e.up=\"bk-up\",e.left=\"bk-left\",e.right=\"bk-right\",e.default=\":host{--caret-width:4px;}.bk-caret{display:inline-block;vertical-align:middle;width:0;height:0;margin:0 5px;}.bk-caret.bk-down{border-top:var(--caret-width) solid;}.bk-caret.bk-up{border-bottom:var(--caret-width) solid;}.bk-caret.bk-down,.bk-caret.bk-up{border-right:var(--caret-width) solid transparent;border-left:var(--caret-width) solid transparent;}.bk-caret.bk-left{border-right:var(--caret-width) solid;}.bk-caret.bk-right{border-left:var(--caret-width) solid;}.bk-caret.bk-left,.bk-caret.bk-right{border-top:var(--caret-width) solid transparent;border-bottom:var(--caret-width) solid transparent;}\"},\n", + " 595: function _(e,t,n,l,i){var s;l();const r=e(1),a=e(551),u=e(56),o=e(8),p=r.__importStar(e(17)),d=r.__importStar(e(552)),_=r.__importDefault(e(547));class c extends a.InputWidgetView{stylesheets(){return[...super.stylesheets(),_.default]}render(){super.render();const{multiple:e,disabled:t}=this.model,n=(()=>{const{accept:e}=this.model;return(0,o.isString)(e)?e:e.join(\",\")})();this.input_el=(0,u.input)({type:\"file\",class:d.input,multiple:e,accept:n,disabled:t}),this.group_el.appendChild(this.input_el),this.input_el.addEventListener(\"change\",(()=>{const{files:e}=this.input_el;null!=e&&this.load_files(e)}))}async load_files(e){const t=[],n=[],l=[];for(const i of e){const e=await this._read_file(i),[,s=\"\",,r=\"\"]=e.split(/[:;,]/,4);t.push(r),n.push(i.name),l.push(s)}const[i,s,r]=(()=>this.model.multiple?[t,n,l]:0!=e.length?[t[0],n[0],l[0]]:[\"\",\"\",\"\"])();this.model.setv({value:i,filename:s,mime_type:r})}_read_file(e){return new Promise(((t,n)=>{const l=new FileReader;l.onload=()=>{var i;const{result:s}=l;null!=s?t(s):n(null!==(i=l.error)&&void 0!==i?i:new Error(`unable to read '${e.name}'`))},l.readAsDataURL(e)}))}}n.FileInputView=c,c.__name__=\"FileInputView\";class m extends a.InputWidget{constructor(e){super(e)}}n.FileInput=m,s=m,m.__name__=\"FileInput\",s.prototype.default_view=c,s.define((({Boolean:e,String:t,Array:n,Or:l})=>({value:[l(t,n(t)),p.unset,{readonly:!0}],mime_type:[l(t,n(t)),p.unset,{readonly:!0}],filename:[l(t,n(t)),p.unset,{readonly:!0}],accept:[l(t,n(t)),\"\"],multiple:[e,!1]})))},\n", + " 596: function _(e,t,i,o,n){var s;o();const l=e(544),d=e(448),r=e(438),a=e(59);class p extends l.AbstractButtonView{*children(){yield*super.children(),yield this.tooltip}async lazy_initialize(){await super.lazy_initialize();const{tooltip:e}=this.model;this.tooltip=await(0,a.build_view)(e,{parent:this})}remove(){this.tooltip.remove(),super.remove()}render(){super.render();let e=!1;const t=t=>{this.tooltip.model.setv({visible:t,closable:e})};this.on_change(this.tooltip.model.properties.visible,(()=>{const{visible:i}=this.tooltip.model;i||(e=!1),t(i)})),this.el.addEventListener(\"mouseenter\",(()=>{t(!0)})),this.el.addEventListener(\"mouseleave\",(()=>{e||t(!1)})),document.addEventListener(\"mousedown\",(i=>{const o=i.composedPath();o.includes(this.tooltip.el)||(o.includes(this.el)?(e=!e,t(e)):(e=!1,t(!1)))})),window.addEventListener(\"blur\",(()=>{e=!1,t(!1)}))}}i.HelpButtonView=p,p.__name__=\"HelpButtonView\";class u extends l.AbstractButton{constructor(e){super(e)}}i.HelpButton=u,s=u,u.__name__=\"HelpButton\",s.prototype.default_view=p,s.define((({Ref:e})=>({tooltip:[e(d.Tooltip)]}))),s.override({label:\"\",icon:new r.BuiltinIcon({icon_name:\"help\",size:18}),button_type:\"default\"})},\n", + " 597: function _(e,t,s,i,n){var l;i();const o=e(1),r=e(56),c=e(8),h=e(551),d=o.__importStar(e(552));class p extends h.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.value.change,(()=>this.render_selection())),this.connect(this.model.properties.options.change,(()=>this.render())),this.connect(this.model.properties.name.change,(()=>this.render())),this.connect(this.model.properties.title.change,(()=>this.render())),this.connect(this.model.properties.size.change,(()=>this.render())),this.connect(this.model.properties.disabled.change,(()=>this.render()))}render(){super.render();const e=this.model.options.map((e=>{let t,s;return(0,c.isString)(e)?t=s=e:[t,s]=e,(0,r.option)({value:t},s)}));this.input_el=(0,r.select)({multiple:!0,class:d.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.shadow_el.querySelectorAll(\"option\"))t.selected=e.has(t.value);this.input_el.size=this.model.size}change_input(){const e=null!=this.shadow_el.querySelector(\"select:focus\"),t=[];for(const e of this.shadow_el.querySelectorAll(\"option\"))e.selected&&t.push(e.value);this.model.value=t,super.change_input(),e&&this.input_el.focus()}}s.MultiSelectView=p,p.__name__=\"MultiSelectView\";class a extends h.InputWidget{constructor(e){super(e)}}s.MultiSelect=a,l=a,a.__name__=\"MultiSelect\",l.prototype.default_view=p,l.define((({Int:e,String:t,Array:s,Tuple:i,Or:n})=>({value:[s(t),[]],options:[s(n(t,i(t,t))),[]],size:[e,4]})))},\n", + " 598: function _(e,a,t,r,s){var n;r();const p=e(591),i=e(56);class _ extends p.MarkupView{render(){super.render();const e=(0,i.p)({style:{margin:0}});this.has_math_disabled()?e.textContent=this.model.text:e.innerHTML=this.process_tex(this.model.text),this.markup_el.appendChild(e)}}t.ParagraphView=_,_.__name__=\"ParagraphView\";class h extends p.Markup{constructor(e){super(e)}}t.Paragraph=h,n=h,h.__name__=\"Paragraph\",n.prototype.default_view=_},\n", + " 599: function _(e,t,s,l,n){var o;l();const p=e(1),r=e(549),a=e(56),i=p.__importDefault(e(600)),_=p.__importDefault(e(269));class u extends r.TextInputView{stylesheets(){return[...super.stylesheets(),i.default,_.default]}render(){super.render(),this.input_el.type=\"password\",this.toggle_el=(0,a.div)({class:\"bk-toggle\"}),this.toggle_el.addEventListener(\"click\",(()=>{const{input_el:e,toggle_el:t}=this,s=\"text\"==e.type;t.classList.toggle(\"bk-visible\",!s),e.type=s?\"password\":\"text\"})),this.shadow_el.append(this.toggle_el)}}s.PasswordInputView=u,u.__name__=\"PasswordInputView\";class d extends r.TextInput{constructor(e){super(e)}}s.PasswordInput=d,o=d,d.__name__=\"PasswordInput\",o.prototype.default_view=u},\n", + " 600: function _(e,i,o,t,g){t(),o.input=\"bk-input\",o.toggle=\"bk-toggle\",o.visible=\"bk-visible\",o.default=\":host{--toggle-size:14px;--toggle-padding:4px;--toggle-width:calc(var(--toggle-size) + 2*var(--toggle-padding));}.bk-input{padding-right:max(var(--padding-horizontal), var(--toggle-width));}.bk-toggle{position:absolute;right:0;top:0;width:var(--toggle-width);height:100%;padding:0 var(--toggle-padding);background-color:var(--bokeh-icon-color);mask-image:var(--bokeh-icon-see-off);-webkit-mask-image:var(--bokeh-icon-see-off);mask-size:var(--toggle-size) var(--toggle-size);-webkit-mask-size:var(--toggle-size) var(--toggle-size);mask-position:center center;-webkit-mask-position:center center;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;cursor:pointer;}.bk-toggle.bk-visible{mask-image:var(--bokeh-icon-see-on);-webkit-mask-image:var(--bokeh-icon-see-on);}\"},\n", + " 601: function _(e,t,i,l,o){var s;l();const n=e(1),u=n.__importDefault(e(602)),_=e(56),r=e(8),a=e(25),h=n.__importStar(e(552)),c=n.__importDefault(e(603)),d=e(551);function p(e){return Object.defineProperty(e,\"target\",{get:()=>{var t;return null!==(t=e.composedPath()[0])&&void 0!==t?t:null},configurable:!0}),e}class m extends u.default{_onFocus(e){super._onFocus(p(e))}_onBlur(e){super._onBlur(p(e))}_onKeyUp(e){super._onKeyUp(p(e))}_onKeyDown(e){super._onKeyDown(p(e))}_onClick(e){super._onClick(p(e))}_onTouchEnd(e){super._onTouchEnd(p(e))}_onMouseDown(e){super._onMouseDown(p(e))}_onMouseOver(e){super._onMouseOver(p(e))}}m.__name__=\"OurChoices\";class v extends d.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.disabled.change,(()=>this.set_disabled()));const{value:e,max_items:t,option_limit:i,search_option_limit:l,delete_button:o,placeholder:s,options:n,name:u,title:_}=this.model.properties;this.on_change([t,i,l,o,s,n,u,_],(()=>this.render())),this.on_change(e,(()=>{(0,a.is_equal)(this.model.value,this._current_values)||this.render()}))}stylesheets(){return[...super.stylesheets(),c.default]}render(){var e,t,i;super.render(),this.input_el=(0,_.select)({multiple:!0,class:h.input,name:this.model.name,disabled:this.model.disabled}),this.group_el.appendChild(this.input_el);const l=new Set(this.model.value),o=this.model.options.map((e=>{let t,i;return(0,r.isString)(e)?t=i=e:[t,i]=e,{value:t,label:i,selected:l.has(t)}})),s=this.model.solid?\"solid\":\"light\",n=`choices__item ${s}`,u=`choices__button ${s}`,a={choices:o,itemSelectText:\"\",duplicateItemsAllowed:!1,shouldSort:!1,removeItemButton:this.model.delete_button,classNames:{item:n,button:u},placeholderValue:this.model.placeholder,maxItemCount:null!==(e=this.model.max_items)&&void 0!==e?e:-1,renderChoiceLimit:null!==(t=this.model.option_limit)&&void 0!==t?t:-1,searchResultLimit:null!==(i=this.model.search_option_limit)&&void 0!==i?i:4};this.choice_el=new m(this.input_el,a),this.input_el.addEventListener(\"change\",(()=>this.change_input()))}set_disabled(){this.model.disabled?this.choice_el.disable():this.choice_el.enable()}get _current_values(){return this.choice_el.getValue().map((e=>e.value))}change_input(){this.model.value=this._current_values,super.change_input()}}i.MultiChoiceView=v,v.__name__=\"MultiChoiceView\";class g extends d.InputWidget{constructor(e){super(e)}}i.MultiChoice=g,s=g,g.__name__=\"MultiChoice\",s.prototype.default_view=v,s.define((({Boolean:e,Int:t,String:i,Array:l,Tuple:o,Or:s,Nullable:n})=>({value:[l(i),[]],options:[l(s(i,o(i,i))),[]],max_items:[n(t),null],delete_button:[e,!0],placeholder:[n(i),null],option_limit:[n(t),null],search_option_limit:[n(t),null],solid:[e,!0]})))},\n", + " 602: function _(e,t,i,n,r){\n", + " /*! choices.js v10.2.0 | © 2022 Josh Johnson | https://github.com/jshjohnson/Choices#readme */\n", + " var s,o;s=window,o=function(){return function(){\"use strict\";var e={282:function(e,t,i){Object.defineProperty(t,\"__esModule\",{value:!0}),t.clearChoices=t.activateChoices=t.filterChoices=t.addChoice=void 0;var n=i(883);t.addChoice=function(e){var t=e.value,i=e.label,r=e.id,s=e.groupId,o=e.disabled,a=e.elementId,c=e.customProperties,l=e.placeholder,h=e.keyCode;return{type:n.ACTION_TYPES.ADD_CHOICE,value:t,label:i,id:r,groupId:s,disabled:o,elementId:a,customProperties:c,placeholder:l,keyCode:h}},t.filterChoices=function(e){return{type:n.ACTION_TYPES.FILTER_CHOICES,results:e}},t.activateChoices=function(e){return void 0===e&&(e=!0),{type:n.ACTION_TYPES.ACTIVATE_CHOICES,active:e}},t.clearChoices=function(){return{type:n.ACTION_TYPES.CLEAR_CHOICES}}},783:function(e,t,i){Object.defineProperty(t,\"__esModule\",{value:!0}),t.addGroup=void 0;var n=i(883);t.addGroup=function(e){var t=e.value,i=e.id,r=e.active,s=e.disabled;return{type:n.ACTION_TYPES.ADD_GROUP,value:t,id:i,active:r,disabled:s}}},464:function(e,t,i){Object.defineProperty(t,\"__esModule\",{value:!0}),t.highlightItem=t.removeItem=t.addItem=void 0;var n=i(883);t.addItem=function(e){var t=e.value,i=e.label,r=e.id,s=e.choiceId,o=e.groupId,a=e.customProperties,c=e.placeholder,l=e.keyCode;return{type:n.ACTION_TYPES.ADD_ITEM,value:t,label:i,id:r,choiceId:s,groupId:o,customProperties:a,placeholder:c,keyCode:l}},t.removeItem=function(e,t){return{type:n.ACTION_TYPES.REMOVE_ITEM,id:e,choiceId:t}},t.highlightItem=function(e,t){return{type:n.ACTION_TYPES.HIGHLIGHT_ITEM,id:e,highlighted:t}}},137:function(e,t,i){Object.defineProperty(t,\"__esModule\",{value:!0}),t.setIsLoading=t.resetTo=t.clearAll=void 0;var n=i(883);t.clearAll=function(){return{type:n.ACTION_TYPES.CLEAR_ALL}},t.resetTo=function(e){return{type:n.ACTION_TYPES.RESET_TO,state:e}},t.setIsLoading=function(e){return{type:n.ACTION_TYPES.SET_IS_LOADING,isLoading:e}}},373:function(e,t,i){var n=this&&this.__spreadArray||function(e,t,i){if(i||2===arguments.length)for(var n,r=0,s=t.length;r=0?this._store.getGroupById(r):null;return this._store.dispatch((0,l.highlightItem)(i,!0)),t&&this.passedElement.triggerEvent(d.EVENTS.highlightItem,{id:i,value:o,label:c,groupValue:h&&h.value?h.value:null}),this},e.prototype.unhighlightItem=function(e){if(!e||!e.id)return this;var t=e.id,i=e.groupId,n=void 0===i?-1:i,r=e.value,s=void 0===r?\"\":r,o=e.label,a=void 0===o?\"\":o,c=n>=0?this._store.getGroupById(n):null;return this._store.dispatch((0,l.highlightItem)(t,!1)),this.passedElement.triggerEvent(d.EVENTS.highlightItem,{id:t,value:s,label:a,groupValue:c&&c.value?c.value:null}),this},e.prototype.highlightAll=function(){var e=this;return this._store.items.forEach((function(t){return e.highlightItem(t)})),this},e.prototype.unhighlightAll=function(){var e=this;return this._store.items.forEach((function(t){return e.unhighlightItem(t)})),this},e.prototype.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},e.prototype.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},e.prototype.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},e.prototype.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.EVENTS.showDropdown,{})})),this},e.prototype.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(d.EVENTS.hideDropdown,{})})),this):this},e.prototype.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},e.prototype.setValue=function(e){var t=this;return this.initialised?(e.forEach((function(e){return t._setChoiceOrItem(e)})),this):this},e.prototype.setChoiceByValue=function(e){var t=this;return!this.initialised||this._isTextElement||(Array.isArray(e)?e:[e]).forEach((function(e){return t._findAndSelectChoiceByValue(e)})),this},e.prototype.setChoices=function(e,t,i,n){var r=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 s=e(this);if(\"function\"==typeof Promise&&s instanceof Promise)return new Promise((function(e){return requestAnimationFrame(e)})).then((function(){return r._handleLoadingState(!0)})).then((function(){return s})).then((function(e){return r.setChoices(e,t,i,n)})).catch((function(e){r.config.silent||console.error(e)})).then((function(){return r._handleLoadingState(!1)})).then((function(){return r}));if(!Array.isArray(s))throw new TypeError(\".setChoices first argument function must return either array of choices or Promise, got: \".concat(typeof s));return this.setChoices(s,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){if(e.choices)r._addGroup({id:e.id?parseInt(\"\".concat(e.id),10):null,group:e,valueKey:t,labelKey:i});else{var n=e;r._addChoice({value:n[t],label:n[i],isSelected:!!n.selected,isDisabled:!!n.disabled,placeholder:!!n.placeholder,customProperties:n.customProperties})}})),this._stopLoading(),this},e.prototype.clearChoices=function(){return this._store.dispatch((0,a.clearChoices)()),this},e.prototype.clearStore=function(){return this._store.dispatch((0,h.clearAll)()),this},e.prototype.clearInput=function(){var e=!this._isSelectOneElement;return this.input.clear(e),!this._isTextElement&&this._canSearch&&(this._isSearching=!1,this._store.dispatch((0,a.activateChoices)(!0))),this},e.prototype._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)}},e.prototype._renderChoices=function(){var e=this,t=this._store,i=t.activeGroups,n=t.activeChoices,r=document.createDocumentFragment();if(this.choiceList.clear(),this.config.resetScrollPosition&&requestAnimationFrame((function(){return e.choiceList.scrollToTop()})),i.length>=1&&!this._isSearching){var s=n.filter((function(e){return!0===e.placeholder&&-1===e.groupId}));s.length>=1&&(r=this._createChoicesFragment(s,r)),r=this._createGroupsFragment(i,n,r)}else n.length>=1&&(r=this._createChoicesFragment(n,r));if(r.childNodes&&r.childNodes.length>0){var o=this._store.activeItems,a=this._canAddItem(o,this.input.value);if(a.response)this.choiceList.append(r),this._highlightChoice();else{var c=this._getTemplate(\"notice\",a.notice);this.choiceList.append(c)}}else{var l=void 0;c=void 0,this._isSearching?(c=\"function\"==typeof this.config.noResultsText?this.config.noResultsText():this.config.noResultsText,l=this._getTemplate(\"notice\",c,\"no-results\")):(c=\"function\"==typeof this.config.noChoicesText?this.config.noChoicesText():this.config.noChoicesText,l=this._getTemplate(\"notice\",c,\"no-choices\")),this.choiceList.append(l)}},e.prototype._renderItems=function(){var e=this._store.activeItems||[];this.itemList.clear();var t=this._createItemsFragment(e);t.childNodes&&this.itemList.append(t)},e.prototype._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 r=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(r.length>=1){var s=n._getTemplate(\"choiceGroup\",e);i.appendChild(s),n._createChoicesFragment(r,i,!0)}})),i},e.prototype._createChoicesFragment=function(e,t,i){var r=this;void 0===t&&(t=document.createDocumentFragment()),void 0===i&&(i=!1);var s=this.config,o=s.renderSelectedChoices,a=s.searchResultLimit,c=s.renderChoiceLimit,l=this._isSearching?f.sortByScore:this.config.sorter,h=function(e){if(\"auto\"!==o||r._isSelectOneElement||!e.selected){var i=r._getTemplate(\"choice\",e,r.config.itemSelectText);t.appendChild(i)}},u=e;\"auto\"!==o||this._isSelectOneElement||(u=e.filter((function(e){return!e.selected})));var d=u.reduce((function(e,t){return t.placeholder?e.placeholderChoices.push(t):e.normalChoices.push(t),e}),{placeholderChoices:[],normalChoices:[]}),p=d.placeholderChoices,m=d.normalChoices;(this.config.shouldSort||this._isSearching)&&m.sort(l);var v=u.length,g=this._isSelectOneElement?n(n([],p,!0),m,!0):m;this._isSearching?v=a:c&&c>0&&!i&&(v=c);for(var _=0;_=n){var o=r?this._searchChoices(e):0;this.passedElement.triggerEvent(d.EVENTS.search,{value:e,resultCount:o})}else s&&(this._isSearching=!1,this._store.dispatch((0,a.activateChoices)(!0)))}},e.prototype._canAddItem=function(e,t){var i=!0,n=\"function\"==typeof this.config.addItemText?this.config.addItemText(t):this.config.addItemText;if(!this._isSelectOneElement){var r=(0,f.existsInArray)(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&&r&&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}},e.prototype._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===\"\".concat(i,\" \"))return 0;var r=this._store.searchableChoices,s=t,c=Object.assign(this.config.fuseOptions,{keys:n([],this.config.searchFields,!0),includeMatches:!0}),l=new o.default(r,c).search(s);return this._currentValue=t,this._highlightPosition=0,this._isSearching=!0,this._store.dispatch((0,a.filterChoices)(l)),l.length},e.prototype._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()},e.prototype._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()},e.prototype._onKeyDown=function(e){var t=e.keyCode,i=this._store.activeItems,n=this.input.isFocussed,r=this.dropdown.isActive,s=this.itemList.hasChildren(),o=String.fromCharCode(t),a=/[^\\x00-\\x1F]/.test(o),c=d.KEY_CODES.BACK_KEY,l=d.KEY_CODES.DELETE_KEY,h=d.KEY_CODES.ENTER_KEY,u=d.KEY_CODES.A_KEY,p=d.KEY_CODES.ESC_KEY,f=d.KEY_CODES.UP_KEY,m=d.KEY_CODES.DOWN_KEY,v=d.KEY_CODES.PAGE_UP_KEY,g=d.KEY_CODES.PAGE_DOWN_KEY;switch(this._isTextElement||r||!a||(this.showDropdown(),this.input.isFocussed||(this.input.value+=e.key.toLowerCase())),t){case u:return this._onSelectKey(e,s);case h:return this._onEnterKey(e,i,r);case p:return this._onEscapeKey(r);case f:case v:case m:case g:return this._onDirectionKey(e,r);case l:case c:return this._onDeleteKey(e,i,n)}},e.prototype._onKeyUp=function(e){var t=e.target,i=e.keyCode,n=this.input.value,r=this._store.activeItems,s=this._canAddItem(r,n),o=d.KEY_CODES.BACK_KEY,c=d.KEY_CODES.DELETE_KEY;if(this._isTextElement)if(s.notice&&n){var l=this._getTemplate(\"notice\",s.notice);this.dropdown.element.innerHTML=l.outerHTML,this.showDropdown(!0)}else this.hideDropdown(!0);else{var h=(i===o||i===c)&&t&&!t.value,u=!this._isTextElement&&this._isSearching,p=this._canSearch&&s.response;h&&u?(this._isSearching=!1,this._store.dispatch((0,a.activateChoices)(!0))):p&&this._handleSearch(this.input.rawValue)}this._canSearch=this.config.searchEnabled},e.prototype._onSelectKey=function(e,t){var i=e.ctrlKey,n=e.metaKey;(i||n)&&t&&(this._canSearch=!1,this.config.removeItems&&!this.input.value&&this.input.element===document.activeElement&&this.highlightAll())},e.prototype._onEnterKey=function(e,t,i){var n=e.target,r=d.KEY_CODES.ENTER_KEY,s=n&&n.hasAttribute(\"data-button\");if(this._isTextElement&&n&&n.value){var o=this.input.value;this._canAddItem(t,o).response&&(this.hideDropdown(!0),this._addItem({value:o}),this._triggerChange(o),this.clearInput())}if(s&&(this._handleButtonAction(t,n),e.preventDefault()),i){var a=this.dropdown.getChild(\".\".concat(this.config.classNames.highlightedState));a&&(t[0]&&(t[0].keyCode=r),this._handleChoiceAction(t,a)),e.preventDefault()}else this._isSelectOneElement&&(this.showDropdown(),e.preventDefault())},e.prototype._onEscapeKey=function(e){e&&(this.hideDropdown(!0),this.containerOuter.focus())},e.prototype._onDirectionKey=function(e,t){var i=e.keyCode,n=e.metaKey,r=d.KEY_CODES.DOWN_KEY,s=d.KEY_CODES.PAGE_UP_KEY,o=d.KEY_CODES.PAGE_DOWN_KEY;if(t||this._isSelectOneElement){this.showDropdown(),this._canSearch=!1;var a=i===r||i===o?1:-1,c=\"[data-choice-selectable]\",l=void 0;if(n||i===o||i===s)l=a>0?this.dropdown.element.querySelector(\"\".concat(c,\":last-of-type\")):this.dropdown.element.querySelector(c);else{var h=this.dropdown.element.querySelector(\".\".concat(this.config.classNames.highlightedState));l=h?(0,f.getAdjacentEl)(h,c,a):this.dropdown.element.querySelector(c)}l&&((0,f.isScrolledIntoView)(l,this.choiceList.element,a)||this.choiceList.scrollToChildElement(l,a),this._highlightChoice(l)),e.preventDefault()}},e.prototype._onDeleteKey=function(e,t,i){var n=e.target;this._isSelectOneElement||n.value||!i||(this._handleBackspace(t),e.preventDefault())},e.prototype._onTouchMove=function(){this._wasTap&&(this._wasTap=!1)},e.prototype._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},e.prototype._onMouseDown=function(e){var t=e.target;if(t instanceof HTMLElement){if(_&&this.choiceList.element.contains(t)){var i=this.choiceList.element.firstElementChild,n=\"ltr\"===this._direction?e.offsetX>=i.offsetWidth:e.offsetX0&&this.unhighlightAll(),this.containerOuter.removeFocusState(),this.hideDropdown(!0))},e.prototype._onFocus=function(e){var t,i=this,n=e.target;n&&this.containerOuter.element.contains(n)&&((t={})[d.TEXT_TYPE]=function(){n===i.input.element&&i.containerOuter.addFocusState()},t[d.SELECT_ONE_TYPE]=function(){i.containerOuter.addFocusState(),n===i.input.element&&i.showDropdown(!0)},t[d.SELECT_MULTIPLE_TYPE]=function(){n===i.input.element&&(i.showDropdown(!0),i.containerOuter.addFocusState())},t)[this.passedElement.element.type]()},e.prototype._onBlur=function(e){var t,i=this,n=e.target;if(n&&this.containerOuter.element.contains(n)&&!this._isScrollingOnIe){var r=this._store.activeItems.some((function(e){return e.highlighted}));((t={})[d.TEXT_TYPE]=function(){n===i.input.element&&(i.containerOuter.removeFocusState(),r&&i.unhighlightAll(),i.hideDropdown(!0))},t[d.SELECT_ONE_TYPE]=function(){i.containerOuter.removeFocusState(),(n===i.input.element||n===i.containerOuter.element&&!i._canSearch)&&i.hideDropdown(!0)},t[d.SELECT_MULTIPLE_TYPE]=function(){n===i.input.element&&(i.containerOuter.removeFocusState(),i.hideDropdown(!0),r&&i.unhighlightAll())},t)[this.passedElement.element.type]()}else this._isScrollingOnIe=!1,this.input.element.focus()},e.prototype._onFormReset=function(){this._store.dispatch((0,h.resetTo)(this._initialState))},e.prototype._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(\".\".concat(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(d.EVENTS.highlightChoice,{el:n}),this.dropdown.isActive&&(this.input.setActiveDescendant(n.id),this.containerOuter.setActiveDescendant(n.id))}},e.prototype._addItem=function(e){var t=e.value,i=e.label,n=void 0===i?null:i,r=e.choiceId,s=void 0===r?-1:r,o=e.groupId,a=void 0===o?-1:o,c=e.customProperties,h=void 0===c?{}:c,u=e.placeholder,p=void 0!==u&&u,f=e.keyCode,m=void 0===f?-1:f,v=\"string\"==typeof t?t.trim():t,g=this._store.items,_=n||v,y=s||-1,E=a>=0?this._store.getGroupById(a):null,b=g?g.length+1:1;this.config.prependValue&&(v=this.config.prependValue+v.toString()),this.config.appendValue&&(v+=this.config.appendValue.toString()),this._store.dispatch((0,l.addItem)({value:v,label:_,id:b,choiceId:y,groupId:a,customProperties:h,placeholder:p,keyCode:m})),this._isSelectOneElement&&this.removeActiveItems(b),this.passedElement.triggerEvent(d.EVENTS.addItem,{id:b,value:v,label:_,customProperties:h,groupValue:E&&E.value?E.value:null,keyCode:m})},e.prototype._removeItem=function(e){var t=e.id,i=e.value,n=e.label,r=e.customProperties,s=e.choiceId,o=e.groupId,a=o&&o>=0?this._store.getGroupById(o):null;t&&s&&(this._store.dispatch((0,l.removeItem)(t,s)),this.passedElement.triggerEvent(d.EVENTS.removeItem,{id:t,value:i,label:n,customProperties:r,groupValue:a&&a.value?a.value:null}))},e.prototype._addChoice=function(e){var t=e.value,i=e.label,n=void 0===i?null:i,r=e.isSelected,s=void 0!==r&&r,o=e.isDisabled,c=void 0!==o&&o,l=e.groupId,h=void 0===l?-1:l,u=e.customProperties,d=void 0===u?{}:u,p=e.placeholder,f=void 0!==p&&p,m=e.keyCode,v=void 0===m?-1:m;if(null!=t){var g=this._store.choices,_=n||t,y=g?g.length+1:1,E=\"\".concat(this._baseId,\"-\").concat(this._idNames.itemChoice,\"-\").concat(y);this._store.dispatch((0,a.addChoice)({id:y,groupId:h,elementId:E,value:t,label:_,disabled:c,customProperties:d,placeholder:f,keyCode:v})),s&&this._addItem({value:t,label:_,choiceId:y,customProperties:d,placeholder:f,keyCode:v})}},e.prototype._addGroup=function(e){var t=this,i=e.group,n=e.id,r=e.valueKey,s=void 0===r?\"value\":r,o=e.labelKey,a=void 0===o?\"label\":o,l=(0,f.isType)(\"Object\",i)?i.choices:Array.from(i.getElementsByTagName(\"OPTION\")),h=n||Math.floor((new Date).valueOf()*Math.random()),u=!!i.disabled&&i.disabled;l?(this._store.dispatch((0,c.addGroup)({value:i.label,id:h,active:!0,disabled:u})),l.forEach((function(e){var i=e.disabled||e.parentNode&&e.parentNode.disabled;t._addChoice({value:e[s],label:(0,f.isType)(\"Object\",e)?e[a]:e.innerHTML,isSelected:e.selected,isDisabled:i,groupId:h,customProperties:e.customProperties,placeholder:e.placeholder})}))):this._store.dispatch((0,c.addGroup)({value:i.label,id:i.id,active:!1,disabled:i.disabled}))},e.prototype._getTemplate=function(e){for(var t,i=[],r=1;r0?this.element.scrollTop+o-r:e.offsetTop;requestAnimationFrame((function(){i._animateScroll(a,t)}))}},e.prototype._scrollDown=function(e,t,i){var n=(i-e)/t,r=n>1?n:1;this.element.scrollTop=e+r},e.prototype._scrollUp=function(e,t,i){var n=(e-i)/t,r=n>1?n:1;this.element.scrollTop=e-r},e.prototype._animateScroll=function(e,t){var i=this,r=n.SCROLLING_SPEED,s=this.element.scrollTop,o=!1;t>0?(this._scrollDown(s,r,e),se&&(o=!0)),o&&requestAnimationFrame((function(){i._animateScroll(e,t)}))},e}();t.default=r},730:function(e,t,i){Object.defineProperty(t,\"__esModule\",{value:!0});var n=i(799),r=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}return Object.defineProperty(e.prototype,\"isActive\",{get:function(){return\"active\"===this.element.dataset.choice},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dir\",{get:function(){return this.element.dir},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"value\",{get:function(){return this.element.value},set:function(e){this.element.value=e},enumerable:!1,configurable:!0}),e.prototype.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\")},e.prototype.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},e.prototype.enable=function(){this.element.removeAttribute(\"disabled\"),this.element.disabled=!1,this.isDisabled=!1},e.prototype.disable=function(){this.element.setAttribute(\"disabled\",\"\"),this.element.disabled=!0,this.isDisabled=!0},e.prototype.triggerEvent=function(e,t){(0,n.dispatchEvent)(this.element,e,t)},e}();t.default=r},541:function(e,t,i){var n,r=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)},function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0});var o=function(e){function t(t){var i=t.element,n=t.classNames,r=t.delimiter,s=e.call(this,{element:i,classNames:n})||this;return s.delimiter=r,s}return r(t,e),Object.defineProperty(t.prototype,\"value\",{get:function(){return this.element.value},set:function(e){this.element.setAttribute(\"value\",e),this.element.value=e},enumerable:!1,configurable:!0}),t}(s(i(730)).default);t.default=o},982:function(e,t,i){var n,r=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},n(e,t)},function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0});var o=function(e){function t(t){var i=t.element,n=t.classNames,r=t.template,s=e.call(this,{element:i,classNames:n})||this;return s.template=r,s}return r(t,e),Object.defineProperty(t.prototype,\"placeholderOption\",{get:function(){return this.element.querySelector('option[value=\"\"]')||this.element.querySelector(\"option[placeholder]\")},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"optionGroups\",{get:function(){return Array.from(this.element.getElementsByTagName(\"OPTGROUP\"))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"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,r=t.template(n),void i.appendChild(r);var n,r})),this.appendDocFragment(i)},enumerable:!1,configurable:!0}),t.prototype.appendDocFragment=function(e){this.element.innerHTML=\"\",this.element.appendChild(e)},t}(s(i(730)).default);t.default=o},883:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.SCROLLING_SPEED=t.SELECT_MULTIPLE_TYPE=t.SELECT_ONE_TYPE=t.TEXT_TYPE=t.KEY_CODES=t.ACTION_TYPES=t.EVENTS=void 0,t.EVENTS={showDropdown:\"showDropdown\",hideDropdown:\"hideDropdown\",change:\"change\",choice:\"choice\",search:\"search\",addItem:\"addItem\",removeItem:\"removeItem\",highlightItem:\"highlightItem\",highlightChoice:\"highlightChoice\",unhighlightItem:\"unhighlightItem\"},t.ACTION_TYPES={ADD_CHOICE:\"ADD_CHOICE\",FILTER_CHOICES:\"FILTER_CHOICES\",ACTIVATE_CHOICES:\"ACTIVATE_CHOICES\",CLEAR_CHOICES:\"CLEAR_CHOICES\",ADD_GROUP:\"ADD_GROUP\",ADD_ITEM:\"ADD_ITEM\",REMOVE_ITEM:\"REMOVE_ITEM\",HIGHLIGHT_ITEM:\"HIGHLIGHT_ITEM\",CLEAR_ALL:\"CLEAR_ALL\",RESET_TO:\"RESET_TO\",SET_IS_LOADING:\"SET_IS_LOADING\"},t.KEY_CODES={BACK_KEY:46,DELETE_KEY:8,ENTER_KEY:13,A_KEY:65,ESC_KEY:27,UP_KEY:38,DOWN_KEY:40,PAGE_UP_KEY:33,PAGE_DOWN_KEY:34},t.TEXT_TYPE=\"text\",t.SELECT_ONE_TYPE=\"select-one\",t.SELECT_MULTIPLE_TYPE=\"select-multiple\",t.SCROLLING_SPEED=4},789:function(e,t,i){Object.defineProperty(t,\"__esModule\",{value:!0}),t.DEFAULT_CONFIG=t.DEFAULT_CLASSNAMES=void 0;var n=i(799);t.DEFAULT_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\"},t.DEFAULT_CONFIG={items:[],choices:[],silent:!1,renderChoiceLimit:-1,maxItemCount:-1,addItems:!0,addItemFilter:null,removeItems:!0,removeItemButton:!1,editItems:!1,allowHTML:!0,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:n.sortByAlpha,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 \"'.concat((0,n.sanitise)(e),'\"')},maxItemText:function(e){return\"Only \".concat(e,\" values can be added\")},valueComparer:function(e,t){return e===t},fuseOptions:{includeScore:!0},labelId:\"\",callbackOnInit:null,callbackOnCreateTemplates:null,classNames:t.DEFAULT_CLASSNAMES}},18:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},978:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},948:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},359:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},285:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},533:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},187:function(e,t,i){var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&!(\"get\"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,r)}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),r=this&&this.__exportStar||function(e,t){for(var i in e)\"default\"===i||Object.prototype.hasOwnProperty.call(t,i)||n(t,e,i)};Object.defineProperty(t,\"__esModule\",{value:!0}),r(i(18),t),r(i(978),t),r(i(948),t),r(i(359),t),r(i(285),t),r(i(533),t),r(i(287),t),r(i(132),t),r(i(837),t),r(i(598),t),r(i(369),t),r(i(37),t),r(i(47),t),r(i(923),t),r(i(876),t)},287:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},132:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},837:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},598:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},37:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},369:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},47:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},923:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},876:function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0})},799:function(e,t){var i;Object.defineProperty(t,\"__esModule\",{value:!0}),t.parseCustomProperties=t.diff=t.cloneObject=t.existsInArray=t.dispatchEvent=t.sortByScore=t.sortByAlpha=t.strToEl=t.sanitise=t.isScrolledIntoView=t.getAdjacentEl=t.wrap=t.isType=t.getType=t.generateId=t.generateChars=t.getRandomNumber=void 0,t.getRandomNumber=function(e,t){return Math.floor(Math.random()*(t-e)+e)},t.generateChars=function(e){return Array.from({length:e},(function(){return(0,t.getRandomNumber)(0,36).toString(36)})).join(\"\")},t.generateId=function(e,i){var n=e.id||e.name&&\"\".concat(e.name,\"-\").concat((0,t.generateChars)(2))||(0,t.generateChars)(4);return n=n.replace(/(:|\\.|\\[|\\]|,)/g,\"\"),n=\"\".concat(i,\"-\").concat(n)},t.getType=function(e){return Object.prototype.toString.call(e).slice(8,-1)},t.isType=function(e,i){return null!=i&&(0,t.getType)(i)===e},t.wrap=function(e,t){return void 0===t&&(t=document.createElement(\"div\")),e.parentNode&&(e.nextSibling?e.parentNode.insertBefore(t,e.nextSibling):e.parentNode.appendChild(t)),t.appendChild(e)},t.getAdjacentEl=function(e,t,i){void 0===i&&(i=1);for(var n=\"\".concat(i>0?\"next\":\"previous\",\"ElementSibling\"),r=e[n];r;){if(r.matches(t))return r;r=r[n]}return r},t.isScrolledIntoView=function(e,t,i){return void 0===i&&(i=1),!!e&&(i>0?t.scrollTop+t.offsetHeight>=e.offsetTop+e.offsetHeight:e.offsetTop>=t.scrollTop)},t.sanitise=function(e){return\"string\"!=typeof e?e:e.replace(/&/g,\"&\").replace(/>/g,\">\").replace(/-1?e.map((function(e){var t=e;return t.id===parseInt(\"\".concat(o.choiceId),10)&&(t.selected=!0),t})):e;case\"REMOVE_ITEM\":var a=n;return a.choiceId&&a.choiceId>-1?e.map((function(e){var t=e;return t.id===parseInt(\"\".concat(a.choiceId),10)&&(t.selected=!1),t})):e;case\"FILTER_CHOICES\":var c=n;return e.map((function(e){var t=e;return t.active=c.results.some((function(e){var i=e.item,n=e.score;return i.id===t.id&&(t.score=n,!0)})),t}));case\"ACTIVATE_CHOICES\":var l=n;return e.map((function(e){var t=e;return t.active=l.active,t}));case\"CLEAR_CHOICES\":return t.defaultState;default:return e}}},871:function(e,t){var i=this&&this.__spreadArray||function(e,t,i){if(i||2===arguments.length)for(var n,r=0,s=t.length;r0?\"treeitem\":\"option\"),Object.assign(E.dataset,{choice:\"\",id:d,value:p,selectText:i}),g?(E.classList.add(h),E.dataset.choiceDisabled=\"\",E.setAttribute(\"aria-disabled\",\"true\")):(E.classList.add(c),E.dataset.choiceSelectable=\"\"),E},input:function(e,t){var i=e.classNames,n=i.input,r=i.inputCloned,s=Object.assign(document.createElement(\"input\"),{type:\"search\",name:\"search_terms\",className:\"\".concat(n,\" \").concat(r),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.classNames,i=t.list,n=t.listDropdown,r=document.createElement(\"div\");return r.classList.add(i,n),r.setAttribute(\"aria-expanded\",\"false\"),r},notice:function(e,t,i){var n,r=e.allowHTML,s=e.classNames,o=s.item,a=s.itemChoice,c=s.noResults,l=s.noChoices;void 0===i&&(i=\"\");var h=[o,a];return\"no-choices\"===i?h.push(l):\"no-results\"===i&&h.push(c),Object.assign(document.createElement(\"div\"),((n={})[r?\"innerHTML\":\"innerText\"]=t,n.className=h.join(\" \"),n))},option:function(e){var t=e.label,i=e.value,n=e.customProperties,r=e.active,s=e.disabled,o=new Option(t,i,!1,r);return n&&(o.dataset.customProperties=\"\".concat(n)),o.disabled=!!s,o}};t.default=i},996:function(e){var t=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===i}(e)}(e)},i=\"function\"==typeof Symbol&&Symbol.for?Symbol.for(\"react.element\"):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?c((i=e,Array.isArray(i)?[]:{}),e,t):e;var i}function r(e,t,i){return e.concat(t).map((function(e){return n(e,i)}))}function s(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return e.propertyIsEnumerable(t)})):[]}(e))}function o(e,t){try{return t in e}catch(e){return!1}}function a(e,t,i){var r={};return i.isMergeableObject(e)&&s(e).forEach((function(t){r[t]=n(e[t],i)})),s(t).forEach((function(s){(function(e,t){return o(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,s)||(o(e,s)&&i.isMergeableObject(t[s])?r[s]=function(e,t){if(!t.customMerge)return c;var i=t.customMerge(e);return\"function\"==typeof i?i:c}(s,i)(e[s],t[s],i):r[s]=n(t[s],i))})),r}function c(e,i,s){(s=s||{}).arrayMerge=s.arrayMerge||r,s.isMergeableObject=s.isMergeableObject||t,s.cloneUnlessOtherwiseSpecified=n;var o=Array.isArray(i);return o===Array.isArray(e)?o?s.arrayMerge(e,i,s):a(e,i,s):n(i,s)}c.all=function(e,t){if(!Array.isArray(e))throw new Error(\"first argument should be an array\");return e.reduce((function(e,i){return c(e,i,t)}),{})};var l=c;e.exports=l},221:function(e,t,i){\n", + " /**\n", + " * Fuse.js v6.6.2 - Lightweight fuzzy-search (http://fusejs.io)\n", + " *\n", + " * Copyright (c) 2022 Kiro Risk (http://kiro.me)\n", + " * All Rights Reserved. Apache Software License 2.0\n", + " *\n", + " * http://www.apache.org/licenses/LICENSE-2.0\n", + " */\n", + " function n(e){return Array.isArray?Array.isArray(e):\"[object Array]\"===d(e)}i.r(t),i.d(t,{default:function(){return Z}});const r=1/0;function s(e){return null==e?\"\":function(e){if(\"string\"==typeof e)return e;let t=e+\"\";return\"0\"==t&&1/e==-r?\"-0\":t}(e)}function o(e){return\"string\"==typeof e}function a(e){return\"number\"==typeof e}function c(e){return!0===e||!1===e||function(e){return l(e)&&null!==e}(e)&&\"[object Boolean]\"==d(e)}function l(e){return\"object\"==typeof e}function h(e){return null!=e}function u(e){return!e.trim().length}function d(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":Object.prototype.toString.call(e)}const p=e=>`Invalid value for key ${e}`,f=e=>`Pattern length exceeds max of ${e}.`,m=e=>`Missing ${e} property in key`,v=e=>`Property 'weight' in key '${e}' must be a positive integer`,g=Object.prototype.hasOwnProperty;class _{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach((e=>{let i=y(e);t+=i.weight,this._keys.push(i),this._keyMap[i.id]=i,t+=i.weight})),this._keys.forEach((e=>{e.weight/=t}))}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function y(e){let t=null,i=null,r=null,s=1,a=null;if(o(e)||n(e))r=e,t=E(e),i=b(e);else{if(!g.call(e,\"name\"))throw new Error(m(\"name\"));const n=e.name;if(r=n,g.call(e,\"weight\")&&(s=e.weight,s<=0))throw new Error(v(n));t=E(n),i=b(n),a=e.getFn}return{path:t,id:i,weight:s,src:r,getFn:a}}function E(e){return n(e)?e:e.split(\".\")}function b(e){return n(e)?e.join(\".\"):e}var S={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx{if(h(e))if(t[u]){const d=e[t[u]];if(!h(d))return;if(u===t.length-1&&(o(d)||a(d)||c(d)))i.push(s(d));else if(n(d)){r=!0;for(let e=0,i=d.length;e{this._keysMap[e.id]=t}))}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,o(this.docs[0])?this.docs.forEach(((e,t)=>{this._addString(e,t)})):this.docs.forEach(((e,t)=>{this._addObject(e,t)})),this.norm.clear())}add(e){const t=this.size();o(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,i=this.size();t{let s=t.getFn?t.getFn(e):this.getFn(e,t.path);if(h(s))if(n(s)){let e=[];const t=[{nestedArrIndex:-1,value:s}];for(;t.length;){const{nestedArrIndex:i,value:r}=t.pop();if(h(r))if(o(r)&&!u(r)){let t={v:r,i,n:this.norm.get(r)};e.push(t)}else n(r)&&r.forEach(((e,i)=>{t.push({nestedArrIndex:i,value:e})}))}i.$[r]=e}else if(o(s)&&!u(s)){let e={v:s,n:this.norm.get(s)};i.$[r]=e}})),this.records.push(i)}toJSON(){return{keys:this.keys,records:this.records}}}function C(e,t,{getFn:i=S.getFn,fieldNormWeight:n=S.fieldNormWeight}={}){const r=new I({getFn:i,fieldNormWeight:n});return r.setKeys(e.map(y)),r.setSources(t),r.create(),r}function T(e,{errors:t=0,currentLocation:i=0,expectedLocation:n=0,distance:r=S.distance,ignoreLocation:s=S.ignoreLocation}={}){const o=t/e.length;if(s)return o;const a=Math.abs(n-i);return r?o+a/r:a?1:o}const L=32;function w(e,t,i,{location:n=S.location,distance:r=S.distance,threshold:s=S.threshold,findAllMatches:o=S.findAllMatches,minMatchCharLength:a=S.minMatchCharLength,includeMatches:c=S.includeMatches,ignoreLocation:l=S.ignoreLocation}={}){if(t.length>L)throw new Error(f(L));const h=t.length,u=e.length,d=Math.max(0,Math.min(n,u));let p=s,m=d;const v=a>1||c,g=v?Array(u):[];let _;for(;(_=e.indexOf(t,m))>-1;){let e=T(t,{currentLocation:_,expectedLocation:d,distance:r,ignoreLocation:l});if(p=Math.min(e,p),m=_+h,v){let e=0;for(;e=c;s-=1){let o=s-1,a=i[e.charAt(o)];if(v&&(g[o]=+!!a),_[s]=(_[s+1]<<1|1)&a,n&&(_[s]|=(y[s+1]|y[s])<<1|1|y[s+1]),_[s]&O&&(E=T(t,{errors:n,currentLocation:o,expectedLocation:d,distance:r,ignoreLocation:l}),E<=p)){if(p=E,m=o,m<=d)break;c=Math.max(1,2*d-m)}}if(T(t,{errors:n+1,currentLocation:d,expectedLocation:d,distance:r,ignoreLocation:l})>p)break;y=_}const I={isMatch:m>=0,score:Math.max(.001,E)};if(v){const e=function(e=[],t=S.minMatchCharLength){let i=[],n=-1,r=-1,s=0;for(let o=e.length;s=t&&i.push([n,r]),n=-1)}return e[s-1]&&s-n>=t&&i.push([n,s-1]),i}(g,a);e.length?c&&(I.indices=e):I.isMatch=!1}return I}function A(e){let t={};for(let i=0,n=e.length;i{this.chunks.push({pattern:e,alphabet:A(e),startIndex:t})},h=this.pattern.length;if(h>L){let e=0;const t=h%L,i=h-t;for(;e{const{isMatch:f,score:m,indices:v}=w(e,t,d,{location:n+p,distance:r,threshold:s,findAllMatches:o,minMatchCharLength:a,includeMatches:i,ignoreLocation:c});f&&(u=!0),h+=m,f&&v&&(l=[...l,...v])}));let d={isMatch:u,score:u?h/this.chunks.length:1};return u&&i&&(d.indices=l),d}}class P{constructor(e){this.pattern=e}static isMultiMatch(e){return x(e,this.multiRegex)}static isSingleMatch(e){return x(e,this.singleRegex)}search(){}}function x(e,t){const i=e.match(t);return i?i[1]:null}class N extends P{constructor(e,{location:t=S.location,threshold:i=S.threshold,distance:n=S.distance,includeMatches:r=S.includeMatches,findAllMatches:s=S.findAllMatches,minMatchCharLength:o=S.minMatchCharLength,isCaseSensitive:a=S.isCaseSensitive,ignoreLocation:c=S.ignoreLocation}={}){super(e),this._bitapSearch=new M(e,{location:t,threshold:i,distance:n,includeMatches:r,findAllMatches:s,minMatchCharLength:o,isCaseSensitive:a,ignoreLocation:c})}static get type(){return\"fuzzy\"}static get multiRegex(){return/^\"(.*)\"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class D extends P{constructor(e){super(e)}static get type(){return\"include\"}static get multiRegex(){return/^'\"(.*)\"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t,i=0;const n=[],r=this.pattern.length;for(;(t=e.indexOf(this.pattern,i))>-1;)i=t+r,n.push([t,i-1]);const s=!!n.length;return{isMatch:s,score:s?0:1,indices:n}}}const j=[class extends P{constructor(e){super(e)}static get type(){return\"exact\"}static get multiRegex(){return/^=\"(.*)\"$/}static get singleRegex(){return/^=(.*)$/}search(e){const t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},D,class extends P{constructor(e){super(e)}static get type(){return\"prefix-exact\"}static get multiRegex(){return/^\\^\"(.*)\"$/}static get singleRegex(){return/^\\^(.*)$/}search(e){const t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},class extends P{constructor(e){super(e)}static get type(){return\"inverse-prefix-exact\"}static get multiRegex(){return/^!\\^\"(.*)\"$/}static get singleRegex(){return/^!\\^(.*)$/}search(e){const t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends P{constructor(e){super(e)}static get type(){return\"inverse-suffix-exact\"}static get multiRegex(){return/^!\"(.*)\"\\$$/}static get singleRegex(){return/^!(.*)\\$$/}search(e){const t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends P{constructor(e){super(e)}static get type(){return\"suffix-exact\"}static get multiRegex(){return/^\"(.*)\"\\$$/}static get singleRegex(){return/^(.*)\\$$/}search(e){const t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}},class extends P{constructor(e){super(e)}static get type(){return\"inverse-exact\"}static get multiRegex(){return/^!\"(.*)\"$/}static get singleRegex(){return/^!(.*)$/}search(e){const t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},N],F=j.length,k=/ +(?=(?:[^\\\"]*\\\"[^\\\"]*\\\")*[^\\\"]*$)/,K=\"|\",R=new Set([N.type,D.type]);class H{constructor(e,{isCaseSensitive:t=S.isCaseSensitive,includeMatches:i=S.includeMatches,minMatchCharLength:n=S.minMatchCharLength,ignoreLocation:r=S.ignoreLocation,findAllMatches:s=S.findAllMatches,location:o=S.location,threshold:a=S.threshold,distance:c=S.distance}={}){this.query=null,this.options={isCaseSensitive:t,includeMatches:i,minMatchCharLength:n,findAllMatches:s,ignoreLocation:r,location:o,threshold:a,distance:c},this.pattern=t?e:e.toLowerCase(),this.query=function(e,t={}){return e.split(K).map((e=>{let i=e.trim().split(k).filter((e=>e&&!!e.trim())),n=[];for(let e=0,r=i.length;e!(!e[B]&&!e[G]),$=e=>!!e[U.PATH],q=e=>!n(e)&&l(e)&&!W(e),X=e=>({[B]:Object.keys(e).map((t=>({[t]:e[t]})))});function z(e,t,{auto:i=!0}={}){const r=e=>{let s=Object.keys(e);const a=$(e);if(!a&&s.length>1&&!W(e))return r(X(e));if(q(e)){const n=a?e[U.PATH]:s[0],r=a?e[U.PATTERN]:e[n];if(!o(r))throw new Error(p(n));const c={keyId:b(n),pattern:r};return i&&(c.searcher=V(r,t)),c}let c={children:[],operator:s[0]};return s.forEach((t=>{const i=e[t];n(i)&&i.forEach((e=>{c.children.push(r(e))}))})),c};return W(e)||(e=X(e)),r(e)}function J(e,t){const i=e.matches;t.matches=[],h(i)&&i.forEach((e=>{if(!h(e.indices)||!e.indices.length)return;const{indices:i,value:n}=e;let r={indices:i,value:n};e.key&&(r.key=e.key.src),e.idx>-1&&(r.refIndex=e.idx),t.matches.push(r)}))}function Q(e,t){t.score=e.score}class Z{constructor(e,t={},i){this.options={...S,...t},this.options.useExtendedSearch,this._keyStore=new _(this.options.keys),this.setCollection(e,i)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof I))throw new Error(\"Incorrect 'index' type\");this._myIndex=t||C(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){h(e)&&(this._docs.push(e),this._myIndex.add(e))}remove(e=(()=>!1)){const t=[];for(let i=0,n=this._docs.length;i{let i=1;e.matches.forEach((({key:e,norm:n,score:r})=>{const s=e?e.weight:null;i*=Math.pow(0===r&&s?Number.EPSILON:r,(s||1)*(t?1:n))})),e.score=i}))}(l,{ignoreFieldNorm:c}),r&&l.sort(s),a(t)&&t>-1&&(l=l.slice(0,t)),function(e,t,{includeMatches:i=S.includeMatches,includeScore:n=S.includeScore}={}){const r=[];return i&&r.push(J),n&&r.push(Q),e.map((e=>{const{idx:i}=e,n={item:t[i],refIndex:i};return r.length&&r.forEach((t=>{t(e,n)})),n}))}(l,this._docs,{includeMatches:i,includeScore:n})}_searchStringList(e){const t=V(e,this.options),{records:i}=this._myIndex,n=[];return i.forEach((({v:e,i,n:r})=>{if(!h(e))return;const{isMatch:s,score:o,indices:a}=t.searchIn(e);s&&n.push({item:e,idx:i,matches:[{score:o,value:e,norm:r,indices:a}]})})),n}_searchLogical(e){const t=z(e,this.options),i=(e,t,n)=>{if(!e.children){const{keyId:i,searcher:r}=e,s=this._findMatches({key:this._keyStore.get(i),value:this._myIndex.getValueForItemAtKeyId(t,i),searcher:r});return s&&s.length?[{idx:n,item:t,matches:s}]:[]}const r=[];for(let s=0,o=e.children.length;s{if(h(e)){let o=i(t,e,n);o.length&&(r[n]||(r[n]={idx:n,item:e,matches:[]},s.push(r[n])),o.forEach((({matches:e})=>{r[n].matches.push(...e)})))}})),s}_searchObjectList(e){const t=V(e,this.options),{keys:i,records:n}=this._myIndex,r=[];return n.forEach((({$:e,i:n})=>{if(!h(e))return;let s=[];i.forEach(((i,n)=>{s.push(...this._findMatches({key:i,value:e[n],searcher:t}))})),s.length&&r.push({idx:n,item:e,matches:s})})),r}_findMatches({key:e,value:t,searcher:i}){if(!h(t))return[];let r=[];if(n(t))t.forEach((({v:t,i:n,n:s})=>{if(!h(t))return;const{isMatch:o,score:a,indices:c}=i.searchIn(t);o&&r.push({score:a,key:e,value:t,idx:n,norm:s,indices:c})}));else{const{v:n,n:s}=t,{isMatch:o,score:a,indices:c}=i.searchIn(n);o&&r.push({score:a,key:e,value:n,norm:s,indices:c})}return r}}Z.version=\"6.6.2\",Z.createIndex=C,Z.parseIndex=function(e,{getFn:t=S.getFn,fieldNormWeight:i=S.fieldNormWeight}={}){const{keys:n,records:r}=e,s=new I({getFn:t,fieldNormWeight:i});return s.setKeys(n),s.setIndexRecords(r),s},Z.config=S,Z.parseQuery=z,function(...e){Y.push(...e)}(H)},791: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},n(e)}function r(e){var t=function(e,t){if(\"object\"!==n(e)||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t||\"default\");if(\"object\"!==n(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"===n(t)?t:String(t)}function s(e,t,i){return(t=r(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function a(e){for(var t=1;t{var e;return this.input_el.name=null!==(e=this.model.name)&&void 0!==e?e:\"\"})),this.connect(this.model.properties.value.change,(()=>{this.input_el.value=this.format_value,this.old_value=this.input_el.value})),this.connect(this.model.properties.low.change,(()=>{const{value:e,low:t,high:l}=this.model;null!=t&&null!=l&&(0,p.assert)(t<=l,\"Invalid bounds, low must be inferior to high\"),null!=e&&null!=t&&e{const{value:e,low:t,high:l}=this.model;null!=t&&null!=l&&(0,p.assert)(l>=t,\"Invalid bounds, high must be superior to low\"),null!=e&&null!=l&&e>l&&(this.model.value=l)})),this.connect(this.model.properties.high.change,(()=>this.input_el.placeholder=this.model.placeholder)),this.connect(this.model.properties.disabled.change,(()=>this.input_el.disabled=this.model.disabled)),this.connect(this.model.properties.placeholder.change,(()=>this.input_el.placeholder=this.model.placeholder))}get format_value(){return null!=this.model.value?this.model.pretty(this.model.value):\"\"}_set_input_filter(e){this.input_el.addEventListener(\"input\",(()=>{const{selectionStart:t,selectionEnd:l}=this.input_el;if(e(this.input_el.value))this.old_value=this.input_el.value;else{const e=this.old_value.length-this.input_el.value.length;this.input_el.value=this.old_value,null!=t&&null!=l&&this.input_el.setSelectionRange(t-1,l+e)}}))}render(){super.render(),this.input_el=(0,r.input)({type:\"text\",class:_.input,name:this.model.name,value:this.format_value,disabled:this.model.disabled,placeholder:this.model.placeholder}),this.old_value=this.format_value,this.set_input_filter(),this.input_el.addEventListener(\"change\",(()=>this.change_input())),this.input_el.addEventListener(\"focusout\",(()=>this.input_el.value=this.format_value)),this.group_el.appendChild(this.input_el)}set_input_filter(){const e=\"int\"==this.model.mode?m:c;this._set_input_filter((t=>e.test(t)))}bound_value(e){let t=e;const{low:l,high:i}=this.model;return t=null!=l?Math.max(l,t):t,t=null!=i?Math.min(i,t):t,t}get value(){let e=\"\"!=this.input_el.value?Number(this.input_el.value):null;return null!=e&&(e=this.bound_value(e)),e}change_input(){null==this.value?this.model.value=null:Number.isNaN(this.value)||(this.model.value=this.value)}}l.NumericInputView=v,v.__name__=\"NumericInputView\";class g extends o.InputWidget{constructor(e){super(e)}_formatter(e,t){return(0,d.isString)(t)?h.format(e,t):t.doFormat([e],{loc:0})[0]}pretty(e){return null!=this.format?this._formatter(e,this.format):`${e}`}}l.NumericInput=g,s=g,g.__name__=\"NumericInput\",s.prototype.default_view=v,s.define((({Number:e,String:t,Enum:l,Ref:i,Or:n,Nullable:s})=>({value:[s(e),null],placeholder:[t,\"\"],mode:[l(\"int\",\"float\"),\"int\"],format:[s(n(t,i(a.TickFormatter))),null],low:[s(e),null],high:[s(e),null]})))},\n", + " 605: function _(e,t,r,s,n){var a;s();const o=e(591),_=e(56);class p extends o.MarkupView{render(){super.render();const e=(0,_.pre)({style:{overflow:\"auto\"}},this.model.text);this.markup_el.appendChild(e)}}r.PreTextView=p,p.__name__=\"PreTextView\";class u extends o.Markup{constructor(e){super(e)}}r.PreText=u,a=u,u.__name__=\"PreText\",a.prototype.default_view=p},\n", + " 606: function _(t,o,e,a,i){var n;a();const u=t(1),s=t(556),c=u.__importStar(t(547));class _ extends s.ToggleButtonGroupView{change_active(t){this.model.active!==t&&(this.model.active=t)}_update_active(){const{active:t}=this.model;this._buttons.forEach(((o,e)=>{o.classList.toggle(c.active,t===e)}))}}e.RadioButtonGroupView=_,_.__name__=\"RadioButtonGroupView\";class l extends s.ToggleButtonGroup{constructor(t){super(t)}}e.RadioButtonGroup=l,n=l,l.__name__=\"RadioButtonGroup\",n.prototype.default_view=_,n.define((({Int:t,Nullable:o})=>({active:[o(t),null]})))},\n", + " 607: function _(e,t,n,i,s){var o;i();const a=e(1),l=e(559),c=e(56),d=e(38),p=e(32),u=a.__importStar(e(552));class r extends l.ToggleInputGroupView{connect_signals(){super.connect_signals();const{active:e}=this.model.properties;this.on_change(e,(()=>{const{active:e}=this.model;for(const[t,n]of(0,p.enumerate)(this._inputs))t.checked=e==n}))}render(){super.render();const e=(0,c.div)({class:[u.input_group,this.model.inline?u.inline:null]});this.shadow_el.appendChild(e);const t=(0,d.unique_id)(),{active:n,labels:i}=this.model;this._inputs=[];for(let s=0;sthis.change_active(s))),this._inputs.push(o),this.model.disabled&&(o.disabled=!0),s==n&&(o.checked=!0);const a=(0,c.label)(o,(0,c.span)(i[s]));e.appendChild(a)}}change_active(e){this.model.active=e}}n.RadioGroupView=r,r.__name__=\"RadioGroupView\";class h extends l.ToggleInputGroup{constructor(e){super(e)}}n.RadioGroup=h,o=h,h.__name__=\"RadioGroup\",o.prototype.default_view=r,o.define((({Int:e,Nullable:t})=>({active:[t(e),null]})))},\n", + " 608: function _(e,r,t,a,i){var n;a();const o=e(1).__importStar(e(171)),s=e(584),_=e(8);class d extends s.AbstractRangeSliderView{}t.RangeSliderView=d,d.__name__=\"RangeSliderView\";class c extends s.AbstractSlider{constructor(e){super(e),this.behaviour=\"drag\",this.connected=[!1,!0,!1]}_formatter(e,r){return(0,_.isString)(r)?o.format(e,r):r.compute(e)}}t.RangeSlider=c,n=c,c.__name__=\"RangeSlider\",n.prototype.default_view=d,n.override({format:\"0[.]00\"})},\n", + " 609: function _(e,t,n,s,i){var l;s();const u=e(1),a=e(56),o=e(8),p=e(9),_=e(551),r=u.__importStar(e(552));class h extends _.InputWidgetView{constructor(){super(...arguments),this._known_values=new Set}connect_signals(){super.connect_signals();const{value:e,options:t}=this.model.properties;this.on_change(e,(()=>{this._update_value()})),this.on_change(t,(()=>{(0,a.empty)(this.input_el),(0,a.append)(this.input_el,...this.options_el()),this._update_value()}))}options_el(){const{_known_values:e}=this;function t(t){return t.map((t=>{let n,s;return(0,o.isString)(t)?n=s=t:[n,s]=t,e.add(n),(0,a.option)({value:n},s)}))}e.clear();const{options:n}=this.model;return(0,o.isArray)(n)?t(n):(0,p.entries)(n).map((([e,n])=>(0,a.optgroup)({label:e},t(n))))}render(){super.render(),this.input_el=(0,a.select)({class:r.input,name:this.model.name,disabled:this.model.disabled},this.options_el()),this._update_value(),this.input_el.addEventListener(\"change\",(()=>this.change_input())),this.group_el.appendChild(this.input_el)}change_input(){const e=this.input_el.value;this.model.value=e,super.change_input()}_update_value(){const{value:e}=this.model;this._known_values.has(e)?this.input_el.value=e:this.input_el.removeAttribute(\"value\")}}n.SelectView=h,h.__name__=\"SelectView\";class c extends _.InputWidget{constructor(e){super(e)}}n.Select=c,l=c,c.__name__=\"Select\",l.prototype.default_view=h,l.define((({String:e,Array:t,Tuple:n,Dict:s,Or:i})=>{const l=t(i(e,n(e,e)));return{value:[e,\"\"],options:[i(l,s(l)),[]]}}))},\n", + " 610: function _(e,t,r,i,a){var o;i();const s=e(1).__importStar(e(171)),_=e(584),n=e(8);class c extends _.AbstractSliderView{}r.SliderView=c,c.__name__=\"SliderView\";class d extends _.AbstractSlider{constructor(e){super(e),this.behaviour=\"tap\",this.connected=[!0,!1]}_formatter(e,t){return(0,n.isString)(t)?s.format(e,t):t.compute(e)}}r.Slider=d,o=d,d.__name__=\"Slider\",o.prototype.default_view=c,o.override({format:\"0[.]00\"})},\n", + " 611: function _(e,t,i,n,s){var l;n();const o=e(1),r=e(604),a=o.__importStar(e(17)),h=e(56),{min:_,max:u,floor:d,abs:p}=Math;function m(e){return d(e)!==e?e.toFixed(16).replace(/0+$/,\"\").split(\".\")[1].length:0}class c extends r.NumericInputView{*buttons(){yield this.btn_up_el,yield this.btn_down_el}initialize(){super.initialize(),this._handles={interval:void 0,timeout:void 0},this._interval=200}connect_signals(){super.connect_signals();const e=this.model.properties;this.on_change(e.disabled,(()=>{for(const e of this.buttons())(0,h.toggle_attribute)(e,\"disabled\",this.model.disabled)}))}render(){super.render(),this.wrapper_el=(0,h.div)({class:\"bk-spin-wrapper\"}),this.group_el.replaceChild(this.wrapper_el,this.input_el),this.btn_up_el=(0,h.button)({class:\"bk-spin-btn bk-spin-btn-up\"}),this.btn_down_el=(0,h.button)({class:\"bk-spin-btn bk-spin-btn-down\"}),this.wrapper_el.appendChild(this.input_el),this.wrapper_el.appendChild(this.btn_up_el),this.wrapper_el.appendChild(this.btn_down_el);for(const e of this.buttons())(0,h.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=m;return u(n(p(null!=e?e:0)),n(p(null!=t?t:0)),n(p(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.key){case\"ArrowUp\":return e.preventDefault(),this.increment(this.model.step);case\"ArrowDown\":return e.preventDefault(),this.increment(-this.model.step);case\"PageUp\":return e.preventDefault(),this.increment(this.model.page_step_multiplier*this.model.step);case\"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?_(0,i):0:e<0&&(this.model.value=null!=i?i:null!=t?u(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=c,c.__name__=\"SpinnerView\";class v extends r.NumericInput{constructor(e){super(e)}}i.Spinner=v,l=v,v.__name__=\"Spinner\",l.prototype.default_view=c,l.define((({Number:e,Nullable:t})=>({value_throttled:[t(e),a.unset,{readonly:!0}],step:[e,1],page_step_multiplier:[e,10],wheel_wait:[e,100]}))),l.override({mode:\"float\"})},\n", + " 612: function _(e,t,s,i,a){var l;i();const d=e(1),n=e(562),c=e(56),_=d.__importDefault(e(613));class h extends n.ToggleInputView{stylesheets(){return[...super.stylesheets(),_.default]}connect_signals(){super.connect_signals(),this.el.addEventListener(\"keydown\",(e=>{switch(e.key){case\"Enter\":case\" \":e.preventDefault(),this._toggle_active()}})),this.el.addEventListener(\"click\",(()=>this._toggle_active()))}render(){super.render(),this.bar_el=(0,c.div)({class:\"bar\"}),this.knob_el=(0,c.div)({class:\"knob\",tabIndex:0});const e=(0,c.div)({class:\"body\"},this.bar_el,this.knob_el);this._update_active(),this._update_disabled(),this.shadow_el.appendChild(e)}_update_active(){this.el.classList.toggle(\"active\",this.model.active)}_update_disabled(){this.el.classList.toggle(\"disabled\",this.model.disabled)}}s.SwitchView=h,h.__name__=\"SwitchView\";class o extends n.ToggleInput{constructor(e){super(e)}}s.Switch=o,l=o,o.__name__=\"Switch\",l.prototype.default_view=h,l.override({width:32})},\n", + " 613: function _(o,r,t,a,i){a(),t.default=\":host{cursor:pointer;}:host(.disabled){cursor:default;}:host{--switch-size:16px;--bar-height:10px;}.body{width:100%;height:var(--switch-size);}.bar{position:relative;top:calc(50% - var(--bar-height)/2);height:var(--bar-height);border-radius:calc(var(--bar-height)/2);background-color:#e5e5e5;transition-property:background-color;}.knob{position:absolute;top:0;left:0;width:var(--switch-size);height:var(--switch-size);border-radius:8px;background-color:#adadad;transition-property:left, background-color;}:host(.active) .bar{background-color:#c2d5f7;}:host(.active) .knob{left:calc(100% - var(--switch-size));background-color:#3b80f0;}\"},\n", + " 614: function _(e,t,s,n,i){var r;n();const o=e(1),l=e(550),c=e(56),p=o.__importStar(e(552));class _ extends l.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(){return this.input_el=(0,c.textarea)({class:p.input})}render(){super.render(),this.input_el.cols=this.model.cols,this.input_el.rows=this.model.rows}}s.TextAreaInputView=_,_.__name__=\"TextAreaInputView\";class u extends l.TextLikeInput{constructor(e){super(e)}}s.TextAreaInput=u,r=u,u.__name__=\"TextAreaInput\",r.prototype.default_view=_,r.define((({Int:e})=>({cols:[e,20],rows:[e,2]}))),r.override({max_length:500})},\n", + " 615: function _(e,t,i,s,c){var o;s();const a=e(1),n=e(544),l=e(52),r=a.__importStar(e(547));class _ extends n.AbstractButtonView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.active.change,(()=>this._update_active()))}render(){super.render(),this._update_active()}click(){this.model.active=!this.model.active,this.model.trigger_event(new l.ButtonClick),super.click()}_update_active(){this.button_el.classList.toggle(r.active,this.model.active)}}i.ToggleView=_,_.__name__=\"ToggleView\";class g extends n.AbstractButton{constructor(e){super(e)}}i.Toggle=g,o=g,g.__name__=\"Toggle\",o.prototype.default_view=_,o.define((({Boolean:e})=>({active:[e,!1]}))),o.override({label:\"Toggle\"})},\n", + " }, 542, {\"models/widgets/main\":542,\"models/widgets/index\":543,\"models/widgets/abstract_button\":544,\"models/widgets/control\":545,\"models/widgets/widget\":640,\"styles/buttons.css\":547,\"models/widgets/autocomplete_input\":548,\"models/widgets/text_input\":549,\"models/widgets/text_like_input\":550,\"models/widgets/input_widget\":551,\"styles/widgets/inputs.css\":552,\"styles/dropdown.css\":553,\"models/widgets/button\":554,\"models/widgets/checkbox_button_group\":555,\"models/widgets/toggle_button_group\":556,\"models/widgets/oriented_control\":557,\"models/widgets/checkbox_group\":558,\"models/widgets/toggle_input_group\":559,\"styles/widgets/checkbox.css\":560,\"models/widgets/checkbox\":561,\"models/widgets/toggle_input\":562,\"models/widgets/color_picker\":563,\"models/widgets/date_picker\":564,\"models/widgets/base_date_picker\":565,\"models/widgets/picker_base\":566,\"styles/widgets/flatpickr.css\":575,\"models/widgets/date_range_picker\":576,\"models/widgets/multiple_date_picker\":577,\"models/widgets/datetime_picker\":578,\"models/widgets/base_datetime_picker\":579,\"models/widgets/datetime_range_picker\":580,\"models/widgets/multiple_datetime_picker\":581,\"models/widgets/time_picker\":582,\"models/widgets/date_range_slider\":583,\"models/widgets/abstract_slider\":584,\"styles/widgets/sliders.css\":586,\"styles/widgets/nouislider.css\":587,\"models/widgets/date_slider\":588,\"models/widgets/datetime_range_slider\":589,\"models/widgets/div\":590,\"models/widgets/markup\":591,\"styles/clearfix.css\":592,\"models/widgets/dropdown\":593,\"styles/caret.css\":594,\"models/widgets/file_input\":595,\"models/widgets/help_button\":596,\"models/widgets/multiselect\":597,\"models/widgets/paragraph\":598,\"models/widgets/password_input\":599,\"styles/widgets/password_input.css\":600,\"models/widgets/multi_choice\":601,\"styles/widgets/choices.css\":603,\"models/widgets/numeric_input\":604,\"models/widgets/pretext\":605,\"models/widgets/radio_button_group\":606,\"models/widgets/radio_group\":607,\"models/widgets/range_slider\":608,\"models/widgets/selectbox\":609,\"models/widgets/slider\":610,\"models/widgets/spinner\":611,\"models/widgets/switch\":612,\"styles/widgets/switch.css\":613,\"models/widgets/textarea_input\":614,\"models/widgets/toggle\":615}, {});});\n", + "\n", + " /* END bokeh-widgets.min.js */\n", + " },\n", + " function(Bokeh) {\n", + " /* BEGIN bokeh-tables.min.js */\n", + " /*!\n", + " * Copyright (c) 2012 - 2023, Anaconda, Inc., and Bokeh Contributors\n", + " * All rights reserved.\n", + " * \n", + " * Redistribution and use in source and binary forms, with or without modification,\n", + " * are permitted provided that the following conditions are met:\n", + " * \n", + " * Redistributions of source code must retain the above copyright notice,\n", + " * this list of conditions and the following disclaimer.\n", + " * \n", + " * Redistributions in binary form must reproduce the above copyright notice,\n", + " * this list of conditions and the following disclaimer in the documentation\n", + " * and/or other materials provided with the distribution.\n", + " * \n", + " * Neither the name of Anaconda nor the names of any contributors\n", + " * may be used to endorse or promote products derived from this software\n", + " * without specific prior written permission.\n", + " * \n", + " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n", + " * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n", + " * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n", + " * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n", + " * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n", + " * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n", + " * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n", + " * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n", + " * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n", + " * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n", + " * THE POSSIBILITY OF SUCH DAMAGE.\n", + " */\n", + " (function(root, factory) {\n", + " factory(root[\"Bokeh\"], \"3.1.1\");\n", + " })(this, function(Bokeh, version) {\n", + " let define;\n", + " return (function(modules, entry, aliases, externals) {\n", + " const bokeh = typeof Bokeh !== \"undefined\" && (version != null ? Bokeh[version] : Bokeh);\n", + " if (bokeh != null) {\n", + " return bokeh.register_plugin(modules, entry, aliases);\n", + " } else {\n", + " throw new Error(\"Cannot find Bokeh \" + version + \". You have to load it prior to loading plugins.\");\n", + " }\n", + " })\n", + " ({\n", + " 616: function _(t,e,o,r,s){r();const _=t(1).__importStar(t(617));o.Tables=_;(0,t(7).register_models)(_)},\n", + " 617: function _(g,a,r,e,t){e();const o=g(1);o.__exportStar(g(618),r),o.__exportStar(g(621),r),t(\"DataTable\",g(624).DataTable),t(\"TableColumn\",g(642).TableColumn),t(\"TableWidget\",g(641).TableWidget);var n=g(644);t(\"AvgAggregator\",n.AvgAggregator),t(\"MinAggregator\",n.MinAggregator),t(\"MaxAggregator\",n.MaxAggregator),t(\"SumAggregator\",n.SumAggregator);var A=g(645);t(\"GroupingInfo\",A.GroupingInfo),t(\"DataCube\",A.DataCube)},\n", + " 618: function _(e,t,i,s,r){var a,l,n,u,d,o,p,_,c;s();const h=e(1),E=e(56),V=e(8),m=e(55),f=e(50),w=e(619),g=h.__importStar(e(620));class x extends m.DOMComponentView{get emptyValue(){return null}constructor(e){const{model:t,parent:i}=e.column;super(Object.assign({model:t,parent:i},e)),this.args=e,this.initialize(),this.render()}initialize(){super.initialize(),this.inputEl=this._createInput(),this.defaultValue=null}async lazy_initialize(){throw new Error(\"unsupported\")}css_classes(){return super.css_classes().concat(g.cell_editor)}render(){this.args.container.append(this.el),this.shadow_el.appendChild(this.inputEl),this.renderEditor(),this.disableNavigation()}renderEditor(){}disableNavigation(){this.inputEl.addEventListener(\"keydown\",(e=>{switch(e.key){case\"ArrowLeft\":case\"ArrowRight\":case\"ArrowUp\":case\"ArrowDown\":case\"PageUp\":case\"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[w.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=x,x.__name__=\"CellEditorView\";class v extends f.Model{}i.CellEditor=v,v.__name__=\"CellEditor\";class y extends x{get emptyValue(){return\"\"}_createInput(){return(0,E.input)({type:\"text\"})}renderEditor(){this.inputEl.focus(),this.inputEl.select()}loadValue(e){super.loadValue(e),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()}}i.StringEditorView=y,y.__name__=\"StringEditorView\";class I extends v{}i.StringEditor=I,a=I,I.__name__=\"StringEditor\",a.prototype.default_view=y,a.define((({String:e,Array:t})=>({completions:[t(e),[]]})));class N extends x{_createInput(){return(0,E.textarea)()}renderEditor(){this.inputEl.focus(),this.inputEl.select()}}i.TextEditorView=N,N.__name__=\"TextEditorView\";class b extends v{}i.TextEditor=b,l=b,b.__name__=\"TextEditor\",l.prototype.default_view=N;class C extends x{_createInput(){return(0,E.select)()}renderEditor(){for(const e of this.model.options)this.inputEl.appendChild((0,E.option)({value:e},e));this.focus()}}i.SelectEditorView=C,C.__name__=\"SelectEditorView\";class S extends v{}i.SelectEditor=S,n=S,S.__name__=\"SelectEditor\",n.prototype.default_view=C,n.define((({String:e,Array:t})=>({options:[t(e),[]]})));class D extends x{_createInput(){return(0,E.input)({type:\"text\"})}}i.PercentEditorView=D,D.__name__=\"PercentEditorView\";class k extends v{}i.PercentEditor=k,u=k,k.__name__=\"PercentEditor\",u.prototype.default_view=D;class z extends x{_createInput(){return(0,E.input)({type:\"checkbox\"})}renderEditor(){this.focus()}loadValue(e){this.defaultValue=!!e[this.args.column.field],this.inputEl.checked=this.defaultValue}serializeValue(){return this.inputEl.checked}}i.CheckboxEditorView=z,z.__name__=\"CheckboxEditorView\";class P extends v{}i.CheckboxEditor=P,d=P,P.__name__=\"CheckboxEditor\",d.prototype.default_view=z;class T extends x{_createInput(){return(0,E.input)({type:\"text\"})}renderEditor(){this.inputEl.focus(),this.inputEl.select()}remove(){super.remove()}serializeValue(){const e=parseInt(this.getValue(),10);return isNaN(e)?0:e}loadValue(e){super.loadValue(e),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()}validateValue(e){return(0,V.isString)(e)&&(e=Number(e)),(0,V.isInteger)(e)?super.validateValue(e):{valid:!1,msg:\"Please enter a valid integer\"}}}i.IntEditorView=T,T.__name__=\"IntEditorView\";class A extends v{}i.IntEditor=A,o=A,A.__name__=\"IntEditor\",o.prototype.default_view=T,o.define((({Int:e})=>({step:[e,1]})));class M extends x{_createInput(){return(0,E.input)({type:\"text\"})}renderEditor(){this.inputEl.focus(),this.inputEl.select()}remove(){super.remove()}serializeValue(){const e=parseFloat(this.getValue());return isNaN(e)?0:e}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=M,M.__name__=\"NumberEditorView\";class O extends v{}i.NumberEditor=O,p=O,O.__name__=\"NumberEditor\",p.prototype.default_view=M,p.define((({Number:e})=>({step:[e,.01]})));class F extends x{_createInput(){return(0,E.input)({type:\"text\"})}}i.TimeEditorView=F,F.__name__=\"TimeEditorView\";class L extends v{}i.TimeEditor=L,_=L,L.__name__=\"TimeEditor\",_.prototype.default_view=F;class U extends x{_createInput(){return(0,E.input)({type:\"text\"})}get emptyValue(){return new Date}renderEditor(){this.inputEl.focus(),this.inputEl.select()}destroy(){super.destroy()}show(){super.show()}hide(){super.hide()}position(){return super.position()}getValue(){}setValue(e){}}i.DateEditorView=U,U.__name__=\"DateEditorView\";class j extends v{}i.DateEditor=j,c=j,j.__name__=\"DateEditor\",c.prototype.default_view=U},\n", + " 619: function _(_,n,i,t,d){t(),i.DTINDEX_NAME=\"__bkdt_internal_index__\"},\n", + " 620: function _(e,l,t,i,r){i(),t.data_table=\"bk-data-table\",t.cell_special_defaults=\"bk-cell-special-defaults\",t.cell_select=\"bk-cell-select\",t.cell_index=\"bk-cell-index\",t.header_index=\"bk-header-index\",t.cell_editor=\"bk-cell-editor\",t.cell_editor_completion=\"bk-cell-editor-completion\",t.default=':host{--data-table-font-size:11px;}.bk-data-table{box-sizing:content-box;width:100%;height:100%;font-size:var(--data-table-font-size);}.bk-data-table input[type=\"checkbox\"]{margin-left:4px;margin-right:4px;}.bk-cell-special-defaults{border-right-color:silver;border-right-style:solid;background:#f5f5f5;}.bk-cell-select{border-right-color:silver;border-right-style:solid;background:#f5f5f5;}.slick-cell.bk-cell-index{border-right-color:silver;border-right-style:solid;background:#f5f5f5;text-align:right;background:#f0f0f0;color:#909090;}.bk-header-index .slick-column-name{float:right;}.slick-row.selected .bk-cell-index{background-color:transparent;}.slick-row.odd{background:#f0f0f0;}.slick-cell{padding-left:4px;padding-right:4px;border-right-color:transparent;border:0.25px solid transparent;}.slick-cell .bk{line-height:inherit;}.slick-cell.active{border-style:dashed;}.slick-cell.selected{background-color:#F0F8FF;}.slick-cell.editable{padding-left:0;padding-right:0;}.bk-cell-editor{display:contents;}.bk-cell-editor input,.bk-cell-editor select{width:100%;height:100%;border:0;margin:0;padding:0;outline:0;background:transparent;vertical-align:baseline;}.bk-cell-editor input{padding-left:4px;padding-right:4px;}.bk-cell-editor-completion{font-size:var(--data-table-font-size);}'},\n", + " 621: function _(t,e,r,n,a){var o,s,i,l,c,u;n();const m=t(1),_=m.__importDefault(t(173)),d=m.__importStar(t(171)),f=t(622),g=t(56),h=t(19),F=t(8),p=t(38),b=t(21),S=t(50);class x extends S.Model{constructor(t){super(t)}doFormat(t,e,r,n,a){return null==r?\"\":`${r}`.replace(/&/g,\"&\").replace(//g,\">\")}}r.CellFormatter=x,x.__name__=\"CellFormatter\";class N extends x{constructor(t){super(t)}doFormat(t,e,r,n,a){const{font_style:o,text_align:s,text_color:i}=this,l=(0,g.div)(null==r?\"\":`${r}`);switch(o){case\"normal\":break;case\"bold\":l.style.fontWeight=\"bold\";break;case\"italic\":l.style.fontStyle=\"italic\";break;case\"bold italic\":l.style.fontWeight=\"bold\",l.style.fontStyle=\"italic\"}return l.style.textAlign=s,null!=i&&(l.style.color=(0,b.color2css)(i)),l.outerHTML}}r.StringFormatter=N,o=N,N.__name__=\"StringFormatter\",o.define((({Color:t,Nullable:e,String:r})=>({font_style:[h.FontStyle,\"normal\"],text_align:[h.TextAlign,\"left\"],text_color:[e(t),null],nan_format:[r,\"-\"]})));class w extends N{constructor(t){super(t)}get scientific_limit_low(){return 10**this.power_limit_low}get scientific_limit_high(){return 10**this.power_limit_high}doFormat(t,e,r,n,a){const o=Math.abs(r)<=this.scientific_limit_low||Math.abs(r)>=this.scientific_limit_high;let s=this.precision;return s<1&&(s=1),r=null==r||isNaN(r)?this.nan_format:0==r?(0,p.to_fixed)(r,1):o?r.toExponential(s):(0,p.to_fixed)(r,s),super.doFormat(t,e,r,n,a)}}r.ScientificFormatter=w,s=w,w.__name__=\"ScientificFormatter\",s.define((({Number:t})=>({precision:[t,10],power_limit_high:[t,5],power_limit_low:[t,-3]})));class y extends N{constructor(t){super(t)}doFormat(t,e,r,n,a){const{format:o,language:s,nan_format:i}=this,l=(()=>{switch(this.rounding){case\"round\":case\"nearest\":return Math.round;case\"floor\":case\"rounddown\":return Math.floor;case\"ceil\":case\"roundup\":return Math.ceil}})();return r=null==r||isNaN(r)?i:d.format(r,o,s,l),super.doFormat(t,e,r,n,a)}}r.NumberFormatter=y,i=y,y.__name__=\"NumberFormatter\",i.define((({String:t})=>({format:[t,\"0,0\"],language:[t,\"en\"],rounding:[h.RoundingFunction,\"round\"]})));class M extends x{constructor(t){super(t)}doFormat(t,e,r,n,a){return r?(0,g.i)({class:this.icon}).outerHTML:\"\"}}r.BooleanFormatter=M,l=M,M.__name__=\"BooleanFormatter\",l.define((({String:t})=>({icon:[t,\"check\"]})));class C extends N{constructor(t){super(t)}getFormat(){switch(this.format){case\"ATOM\":case\"W3C\":case\"RFC-3339\":case\"ISO-8601\":return\"%Y-%m-%d\";case\"COOKIE\":return\"%a, %d %b %Y\";case\"RFC-850\":return\"%A, %d-%b-%y\";case\"RFC-1123\":case\"RFC-2822\":return\"%a, %e %b %Y\";case\"RSS\":case\"RFC-822\":case\"RFC-1036\":return\"%a, %e %b %y\";case\"TIMESTAMP\":return;default:return this.format}}doFormat(t,e,r,n,a){const o=(()=>{if(null==r||(0,F.isNumber)(r))return r;if((0,F.isString)(r)){const t=Number(r);return isNaN(t)?function(t){const e=/Z$|[+-]\\d\\d((:?)\\d\\d)?$/.test(t);return new Date(e?t:`${t}Z`).getTime()}(r):t}return r instanceof Date?r.valueOf():Number(r)})(),s=(()=>null==o||isNaN(o)||-9223372036854776==o?this.nan_format:(0,_.default)(o,this.getFormat()))();return super.doFormat(t,e,s,n,a)}}r.DateFormatter=C,c=C,C.__name__=\"DateFormatter\",c.define((({String:t})=>({format:[t,\"ISO-8601\"]})));class T extends x{constructor(t){super(t)}doFormat(t,e,r,n,a){const{template:o}=this;if(null==r)return\"\";return f._.template(o)(Object.assign(Object.assign({},a),{value:r}))}}r.HTMLTemplateFormatter=T,u=T,T.__name__=\"HTMLTemplateFormatter\",u.define((({String:t})=>({template:[t,\"<%= value %>\"]})))},\n", + " 622: function _(e,n,t,f,i){var o=e(623),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", + " 623: function _(r,e,n,t,a){\n", + " // (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n", + " // Underscore may be freely distributed under the MIT license.\n", + " var u={},c=Array.prototype,o=Object.prototype,l=c.slice,i=o.toString,f=o.hasOwnProperty,s=c.forEach,p=Object.keys,_=Array.isArray,h=function(){},v=h.each=h.forEach=function(r,e,n){if(null!=r)if(s&&r.forEach===s)r.forEach(e,n);else if(r.length===+r.length){for(var t=0,a=r.length;t\":\">\",'\"':\""\",\"'\":\"'\"}},y={escape:new RegExp(\"[\"+h.keys(g.escape).join(\"\")+\"]\",\"g\")};h.each([\"escape\"],(function(r){h[r]=function(e){return null==e?\"\":(\"\"+e).replace(y[r],(function(e){return g[r][e]}))}})),h.templateSettings={evaluate:/<%([\\s\\S]+?)%>/g,interpolate:/<%=([\\s\\S]+?)%>/g,escape:/<%-([\\s\\S]+?)%>/g};var j=/(.)^/,b={\"'\":\"'\",\"\\\\\":\"\\\\\",\"\\r\":\"r\",\"\\n\":\"n\",\"\\t\":\"t\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},w=/\\\\|'|\\r|\\n|\\t|\\u2028|\\u2029/g;h.template=function(r,e,n){var t;n=h.defaults({},n,h.templateSettings);var a=new RegExp([(n.escape||j).source,(n.interpolate||j).source,(n.evaluate||j).source].join(\"|\")+\"|$\",\"g\"),u=0,c=\"__p+='\";r.replace(a,(function(e,n,t,a,o){return c+=r.slice(u,o).replace(w,(function(r){return\"\\\\\"+b[r]})),n&&(c+=\"'+\\n((__t=(\"+n+\"))==null?'':_.escape(__t))+\\n'\"),t&&(c+=\"'+\\n((__t=(\"+t+\"))==null?'':__t)+\\n'\"),a&&(c+=\"';\\n\"+a+\"\\n__p+='\"),u=o+e.length,e})),c+=\"';\\n\",n.variable||(c=\"with(obj||{}){\\n\"+c+\"}\\n\"),c=\"var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\\n\"+c+\"return __p;\\n\";try{t=new Function(n.variable||\"obj\",\"_\",c)}catch(r){throw r.source=c,r}if(e)return t(e,h);var o=function(r){return t.call(this,r,h)};return o.source=\"function(\"+(n.variable||\"obj\")+\"){\\n\"+c+\"}\",o},e.exports=h},\n", + " 624: function _(e,t,i,s,o){var r;s();const n=e(1),l=e(625),d=e(629),a=e(630),h=e(631),u=e(56),c=e(38),_=e(8),m=e(10),g=e(29),f=e(9),p=e(18),w=e(640),b=e(619),v=e(641),x=e(642),z=e(59),C=n.__importStar(e(620)),y=C,A=n.__importDefault(e(643));i.AutosizeModes={fit_columns:\"FCV\",fit_viewport:\"FVC\",force_fit:\"LFF\",none:\"NOA\"};let D=!1;class N{constructor(e,t){this.init(e,t)}init(e,t){if(b.DTINDEX_NAME in e.data)throw new Error(`special name ${b.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={},{data:i}=this.source;for(const s of(0,f.keys)(i)){const o=i[s],r=this.index[e],n=(0,g.is_NDArray)(o)?o.get(r):o[r];t[s]=n}return t[b.DTINDEX_NAME]=this.index[e],t}getField(e,t){if(t==b.DTINDEX_NAME)return this.index[e];{const{data:i}=this.source,s=i[t],o=this.index[e];return(0,g.is_NDArray)(s)?s.get(o):s[o]}}setField(e,t,i){const s=this.index[e];this.source.patch({[t]:[[s,i]]})}getRecords(){return(0,m.range)(0,this.getLength()).map((e=>this.getItem(e)))}getItems(){return this.getRecords()}slice(e,t,i=1){return t=null!=t?t:this.getLength(),(0,m.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=[[b.DTINDEX_NAME,1]]);const i=this.getRecords(),s=this.index.slice();this.index.sort(((e,o)=>{for(const[r,n]of t){const t=i[s.indexOf(e)][r],l=i[s.indexOf(o)][r];if(t!==l){if((0,_.isNumber)(t)&&(0,_.isNumber)(l))return n*(t-l||+isNaN(t)-+isNaN(l));{const e=`${t}`.localeCompare(`${l}`);if(0==e)continue;return n*e}}}return 0}))}}i.TableDataProvider=N,N.__name__=\"TableDataProvider\";class M extends w.WidgetView{constructor(){super(...arguments),this._in_selection_update=!1,this._width=null}get data_source(){return this.model.properties.source}*children(){yield*super.children(),yield this.cds_view}async lazy_initialize(){await super.lazy_initialize(),this.cds_view=await(0,z.build_view)(this.model.view,{parent:this})}remove(){this.cds_view.remove(),this.grid.destroy(),super.remove()}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>{this.render(),this.after_render(),this.invalidate_layout()}));for(const e of this.model.columns)this.connect(e.change,(()=>{this.render(),this.after_render(),this.invalidate_layout()}));this.connect(this.model.view.change,(()=>this.updateGrid())),this.connect(this.model.source.selected.change,(()=>this.updateSelection())),this.connect(this.model.source.selected.properties.indices.change,(()=>this.updateSelection()))}stylesheets(){return[...super.stylesheets(),A.default,C.default]}_after_resize(){super._after_resize(),this.grid.resizeCanvas(),this.updateLayout(!0,!1)}_after_layout(){super._after_layout(),this.grid.resizeCanvas(),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.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(!1===this.model.selectable||this._in_selection_update)return;const{indices:e}=this.model.source.selected,t=(0,m.sort_by)((0,m.map)(e,(e=>this.data.index.indexOf(e))),(e=>e));this._in_selection_update=!0;try{this.grid.setSelectedRows([...t])}finally{this._in_selection_update=!1}const i=this.grid.getViewport(),s=this.model.get_scroll_index(i,t);null!=s&&this.grid.scrollRowToTop(s)}newIndexColumn(){return{id:(0,c.unique_id)(),name:this.model.index_header,field:b.DTINDEX_NAME,width:this.model.index_width,behavior:\"select\",cannotTriggerInsert:!0,resizable:!1,selectable:!1,sortable:!0,cssClass:y.cell_index,headerCssClass:y.header_index}}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(){super.render(),this.wrapper_el=(0,u.div)({class:y.data_table}),this.shadow_el.appendChild(this.wrapper_el)}_after_render(){var e;super._after_render();const t=this.model.columns.filter((e=>e.visible)).map((e=>Object.assign(Object.assign({},e.toColumn()),{parent:this})));let s=null;if(\"checkbox\"==this.model.selectable&&(s=new d.CheckboxSelectColumn({cssClass:y.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 $&&void 0!==$.fn&&\"sortable\"in $.fn||(D||(p.logger.warn(\"jquery-ui is required to enable DataTable.reorderable\"),D=!0),o=!1);let r=-1,n=!1;const{frozen_rows:u,frozen_columns:c}=this.model,m=null==c?-1:c-1;null!=u&&(n=u<0,r=Math.abs(u));const g={enableCellNavigation:!1!==this.model.selectable,enableColumnReorder:o,autosizeColsMode:this.autosize,multiColumnSort:this.model.sortable,editable:this.model.editable,autoEdit:this.model.auto_edit,autoHeight:!1,rowHeight:this.model.row_height,frozenColumn:m,frozenRow:r,frozenBottom:n,explicitInitialization:!1},f=(0,_.is_defined)(this.grid);if(this.data=new N(this.model.source,this.model.view),this.grid=new h.Grid(this.wrapper_el,this.data,t,g),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(0,_.isString)(i)&&(i=i.replace(/\\n/g,\"\\\\n\")),i},includeHeaderWhenCopying:!1};this.grid.registerPlugin(new a.CellExternalCopyManager(e)),this.grid.onSelectedRowsChanged.subscribe(((e,t)=>{this._in_selection_update||(this.model.source.selected.indices=t.rows.map((e=>this.data.index[e])))})),this.updateSelection(),this.model.header_row||this._hide_header()}this.updateLayout(f,!1)}_hide_header(){for(const e of this.shadow_el.querySelectorAll(\".slick-header-columns\"))e.style.height=\"0px\";this.grid.resizeCanvas()}get_selected_rows(){return this.grid.getSelectedRows()}}i.DataTableView=M,M.__name__=\"DataTableView\";class I extends v.TableWidget{get sort_columns(){return this._sort_columns}constructor(e){super(e),this._sort_columns=[]}update_sort_columns(e){this._sort_columns=e.map((({sortCol:e,sortAsc:t})=>({field:e.field,sortAsc:t})))}get_scroll_index(e,t){return this.scroll_to_selection&&0!=t.length?(0,m.some)(t,(t=>e.top<=t&&t<=e.bottom))?null:Math.max(0,Math.min(...t)-1):null}}i.DataTable=I,r=I,I.__name__=\"DataTable\",r.prototype.default_view=M,r.define((({Array:e,Boolean:t,Int:i,Ref:s,String:o,Enum:r,Or:n,Nullable:l})=>({autosize_mode:[r(\"fit_columns\",\"fit_viewport\",\"none\",\"force_fit\"),\"force_fit\"],auto_edit:[t,!1],columns:[e(s(x.TableColumn)),[]],fit_columns:[l(t),null],frozen_columns:[l(i),null],frozen_rows:[l(i),null],sortable:[t,!0],reorderable:[t,!0],editable:[t,!1],selectable:[n(t,r(\"checkbox\")),!0],index_position:[l(i),0],index_header:[o,\"#\"],index_width:[i,40],scroll_to_selection:[t,!0],header_row:[t,!0],row_height:[i,25]}))),r.override({width:600,height:400})},\n", + " 625: function _(e,t,n,o,r){var l=e(626),i=e(628);t.exports={RowSelectionModel:function(e){var t,n,o,r=[],c=this,u=new i.EventHandler,s={selectActiveRow:!0};function a(e){return function(){n||(n=!0,e.apply(this,arguments),n=!1)}}function f(e){for(var t=[],n=0;n=0&&r0&&t-1 in e)}w.fn=w.prototype={jquery:b,constructor:w,length:0,toArray:function(){return i.call(this)},get:function(e){return null==e?i.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(i.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(w.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(w.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|\"+M+\")\"+M+\"*\"),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)(?:\\\\(\"+M+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+M+\"*(?:([+-]|)\"+M+\"*(\\\\d+)|))\"+M+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+R+\")$\",\"i\"),needsContext:new RegExp(\"^\"+M+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+M+\"*((?:-\\\\d)?\\\\d*)\"+M+\"*\\\\)|)(?=[^-]|$)\",\"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}\"+M+\"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\",\"g\"),ne=function(e,t){var n=\"0x\"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,ie=function(e,t){return t?\"\\0\"===e?\"\\ufffd\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},oe=function(){p()},ae=be((function(e){return!0===e.disabled&&\"fieldset\"===e.nodeName.toLowerCase()}),{dir:\"parentNode\",next:\"legend\"});try{H.apply(D=O.call(w.childNodes),w.childNodes),D[w.childNodes.length].nodeType}catch(e){H={apply:D.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,l,c,f,h,y,m=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],\"string\"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;if(!i&&(p(t),t=t||d,g)){if(11!==w&&(f=Z.exec(e)))if(o=f[1]){if(9===w){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return H.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return H.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!A[e+\" \"]&&(!v||!v.test(e))&&(1!==w||\"object\"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===w&&(U.test(e)||z.test(e))){for((m=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute(\"id\"))?c=c.replace(re,ie):t.setAttribute(\"id\",c=b)),s=(h=a(e)).length;s--;)h[s]=(c?\"#\"+c:\":scope\")+\" \"+xe(h[s]);y=h.join(\",\")}try{if(n.cssSupportsSelector&&!CSS.supports(\"selector(:is(\"+y+\"))\"))throw new Error;return H.apply(r,m.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{c===b&&t.removeAttribute(\"id\")}}}return u(e.replace(B,\"$1\"),t,r,i)}function ue(){var e=[];return function t(n,i){return e.push(n+\" \")>r.cacheLength&&delete t[e.shift()],t[n+\" \"]=i}}function le(e){return e[b]=!0,e}function ce(e){var t=d.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split(\"|\"),i=n.length;i--;)r.attrHandle[n[i]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return\"input\"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return(\"input\"===n||\"button\"===n)&&t.type===e}}function ge(e){return function(t){return\"form\"in t?t.parentNode&&!1===t.disabled?\"label\"in t?\"label\"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:\"label\"in t&&t.disabled===e}}function ve(e){return le((function(t){return t=+t,le((function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))}))}))}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||\"HTML\")},p=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!=d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,g=!o(d),w!=d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener(\"unload\",oe,!1):i.attachEvent&&i.attachEvent(\"onunload\",oe)),n.scope=ce((function(e){return h.appendChild(e).appendChild(d.createElement(\"div\")),void 0!==e.querySelectorAll&&!e.querySelectorAll(\":scope fieldset div\").length})),n.cssSupportsSelector=ce((function(){return CSS.supports(\"selector(*)\")&&d.querySelectorAll(\":is(:jqfake)\")&&!CSS.supports(\"selector(:is(*,:jqfake))\")})),n.attributes=ce((function(e){return e.className=\"i\",!e.getAttribute(\"className\")})),n.getElementsByTagName=ce((function(e){return e.appendChild(d.createComment(\"\")),!e.getElementsByTagName(\"*\").length})),n.getElementsByClassName=K.test(d.getElementsByClassName),n.getById=ce((function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length})),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute(\"id\")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode(\"id\");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(\"*\"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=K.test(d.querySelectorAll))&&(ce((function(e){var t;h.appendChild(e).innerHTML=\"\",e.querySelectorAll(\"[msallowcapture^='']\").length&&v.push(\"[*^$]=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||v.push(\"\\\\[\"+M+\"*(?:value|\"+R+\")\"),e.querySelectorAll(\"[id~=\"+b+\"-]\").length||v.push(\"~=\"),(t=d.createElement(\"input\")).setAttribute(\"name\",\"\"),e.appendChild(t),e.querySelectorAll(\"[name='']\").length||v.push(\"\\\\[\"+M+\"*name\"+M+\"*=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\":checked\").length||v.push(\":checked\"),e.querySelectorAll(\"a#\"+b+\"+*\").length||v.push(\".#.+[+~]\"),e.querySelectorAll(\"\\\\\\f\"),v.push(\"[\\\\r\\\\n\\\\f]\")})),ce((function(e){e.innerHTML=\"\";var t=d.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&v.push(\"name\"+M+\"*[*^$|!~]?=\"),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)})),n.cssSupportsSelector||v.push(\":has\"),v=v.length&&new RegExp(v.join(\"|\")),y=y.length&&new RegExp(y.join(\"|\")),t=K.test(h.compareDocumentPosition),x=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType&&e.documentElement||e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},N=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==d||e.ownerDocument==w&&x(w,e)?-1:t==d||t.ownerDocument==w&&x(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==d?-1:t==d?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},d):d},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(p(e),n.matchesSelector&&g&&!A[t+\" \"]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,d,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=d&&p(e),x(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&j.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+\"\").replace(re,ie)},se.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(N),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=se.getText=function(e){var t,n=\"\",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},r=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||\"\").replace(te,ne),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=S[e+\" \"];return t||(t=new RegExp(\"(^|\"+M+\")\"+e+\"(\"+M+\"|$)\"))&&S(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($,\" \")+\" \").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(B,\"$1\"));return r[b]?le((function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))})):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}})),has:le((function(e){return function(t){return se(e,t).length>0}})),contains:le((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}})),lang:le((function(e){return V.test(e||\"\")||se.error(\"unsupported lang: \"+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute(\"xml:lang\")||t.getAttribute(\"lang\"))return(n=n.toLowerCase())===e||0===n.indexOf(e+\"-\")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:ve((function(){return[0]})),last:ve((function(e,t){return[t-1]})),eq:ve((function(e,t,n){return[n<0?n+t:n]})),even:ve((function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e})),gt:ve((function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s-1&&(o[l]=!(a[l]=f))}}else y=Te(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)}))}function Se(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[\" \"],u=a?1:0,c=be((function(e){return e===t}),s,!0),f=be((function(e){return P(t,e)>-1}),s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:\" \"===e[u-2].type?\"*\":\"\"})).replace(B,\"$1\"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,v,y=0,m=\"0\",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG(\"*\",c),S=T+=null==w?1:Math.random()||.1,E=C.length;for(c&&(l=a==d||a||c);m!==E&&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=S)}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=S,l=w),x};return n?le(o):o}(o,i)),s.selector=e}return s},u=se.select=function(e,t,n,i){var o,u,l,c,f,p=\"function\"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&\"ID\"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=G.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&xe(u)))return H.apply(n,i),n;break}}return(p||s(e,d))(i,t,!g,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split(\"\").sort(N).join(\"\")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ce((function(e){return 1&e.compareDocumentPosition(d.createElement(\"fieldset\"))})),ce((function(e){return e.innerHTML=\"\",\"#\"===e.firstChild.getAttribute(\"href\")}))||fe(\"type|href|height|width\",(function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)})),n.attributes&&ce((function(e){return e.innerHTML=\"\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")}))||fe(\"value\",(function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue})),ce((function(e){return null==e.getAttribute(\"disabled\")}))||fe(R,(function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null})),se}(e);w.find=C,w.expr=C.selectors,w.expr[\":\"]=w.expr.pseudos,w.uniqueSort=w.unique=C.uniqueSort,w.text=C.getText,w.isXMLDoc=C.isXML,w.contains=C.contains,w.escapeSelector=C.escape;var S=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},E=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=w.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function j(e,t,n){return h(t)?w.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?w.grep(e,(function(e){return e===t!==n})):\"string\"!=typeof t?w.grep(e,(function(e){return s.call(t,e)>-1!==n})):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,(function(e){return 1===e.nodeType})))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if(\"string\"!=typeof e)return this.pushStack(w(e).filter((function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,\"string\"==typeof e&&k.test(e)?w(e):e||[],!1).length}});var D,q=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/;(w.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,\"string\"==typeof e){if(!(r=\"<\"===e[0]&&\">\"===e[e.length-1]&&e.length>=3?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:v,!0)),N.test(r[1])&&w.isPlainObject(t))for(r in t)h(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=v.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):h(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,D=w(v);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter((function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?\"string\"==typeof e?s.call(w(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return S(e,\"parentNode\")},parentsUntil:function(e,t,n){return S(e,\"parentNode\",n)},next:function(e){return O(e,\"nextSibling\")},prev:function(e){return O(e,\"previousSibling\")},nextAll:function(e){return S(e,\"nextSibling\")},prevAll:function(e){return S(e,\"previousSibling\")},nextUntil:function(e,t,n){return S(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return S(e,\"previousSibling\",n)},siblings:function(e){return E((e.parentNode||{}).firstChild,e)},children:function(e){return E(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,\"template\")&&(e=e.content||e),w.merge([],e.childNodes))}},(function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return\"Until\"!==e.slice(-5)&&(r=n),r&&\"string\"==typeof r&&(i=w.filter(r,i)),this.length>1&&(H[e]||w.uniqueSort(i),L.test(e)&&i.reverse()),this.pushStack(i)}}));var P=/[^\\x20\\t\\r\\n\\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&h(i=e.promise)?i.call(e).done(t).fail(n):e&&h(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.Callbacks=function(e){e=\"string\"==typeof e?function(e){var t={};return w.each(e.match(P)||[],(function(e,n){t[n]=!0})),t}(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--})),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n=\"\",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=\"\"),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},w.extend({Deferred:function(t){var n=[[\"notify\",\"progress\",w.Callbacks(\"memory\"),w.Callbacks(\"memory\"),2],[\"resolve\",\"done\",w.Callbacks(\"once memory\"),w.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",w.Callbacks(\"once memory\"),w.Callbacks(\"once memory\"),1,\"rejected\"]],r=\"pending\",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred((function(t){w.each(n,(function(n,r){var i=h(e[r[4]])&&e[r[4]];o[r[1]]((function(){var e=i&&i.apply(this,arguments);e&&h(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+\"With\"](this,i?[e]:arguments)}))})),e=null})).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==M&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred((function(e){n[0][3].add(a(0,e,h(i)?i:R,e.notifyWith)),n[1][3].add(a(0,e,h(t)?t:R)),n[2][3].add(a(0,e,h(r)?r:M))})).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,(function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add((function(){r=s}),n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+\"With\"](this===o?void 0:this,arguments),this},o[t[0]+\"With\"]=a.fireWith})),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),o=i.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?i.call(arguments):n,--t||a.resolveWith(r,o)}};if(t<=1&&(I(e,a.done(s(n)).resolve,a.reject,!t),\"pending\"===a.state()||h(o[n]&&o[n].then)))return a.then();for(;n--;)I(o[n],s(n),a.reject);return a.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&W.test(t.name)&&e.console.warn(\"jQuery.Deferred exception: \"+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout((function(){throw t}))};var F=w.Deferred();function $(){v.removeEventListener(\"DOMContentLoaded\",$),e.removeEventListener(\"load\",$),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\",$),e.addEventListener(\"load\",$));var B=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)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,h(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each((function(){Q.remove(this,e)}))}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t);\"inprogress\"===i&&(i=n.shift(),r--),i&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete o.stop,i.call(e,(function(){w.dequeue(e,t)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return Y.get(e,n)||Y.access(e,n,{empty:w.Callbacks(\"once memory\").add((function(){Y.remove(e,[t+\"queue\",n])}))})}}),w.fn.extend({queue:function(e,t){var n=2;return\"string\"!=typeof e&&(t=e,e=\"fx\",n--),arguments.length\\x20\\t\\r\\n\\f]*)/i,ge=/^$|^module$|\\/(?:java|ecma)script/i;fe=v.createDocumentFragment().appendChild(v.createElement(\"div\")),(pe=v.createElement(\"input\")).setAttribute(\"type\",\"radio\"),pe.setAttribute(\"checked\",\"checked\"),pe.setAttribute(\"name\",\"t\"),fe.appendChild(pe),d.checkClone=fe.cloneNode(!0).cloneNode(!0).lastChild.checked,fe.innerHTML=\"\",d.noCloneChecked=!!fe.cloneNode(!0).lastChild.defaultValue,fe.innerHTML=\"\",d.option=!!fe.lastChild;var ve={thead:[1,\"\",\"
\"],col:[2,\"\",\"
\"],tr:[2,\"\",\"
\"],td:[3,\"\",\"
\"],_default:[0,\"\",\"\"]};function ye(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):void 0!==e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&A(e,t)?w.merge([e],n):n}function me(e,t){for(var n=0,r=e.length;n\",\"\"]);var xe=/<|&#?\\w+;/;function be(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d-1)i&&i.push(o);else if(l=ie(o),a=ye(f.appendChild(o),\"script\"),l&&me(a),n)for(c=0;o=a[c++];)ge.test(o.type||\"\")&&n.push(o);return f}var we=/^([^.]*)(?:\\.(.+)|)/;function Te(){return!0}function Ce(){return!1}function Se(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==(\"focus\"===t)}function Ee(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)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&(\"string\"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ce;else if(!i)return e;return 1===o&&(a=i,i=function(e){return w().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=w.guid++)),e.each((function(){w.event.add(this,t,i,r,n)}))}function ke(e,t,n){n?(Y.set(e,t,!1),w.event.add(e,t,{namespace:!1,handler:function(e){var r,o,a=Y.get(this,t);if(1&e.isTrigger&&this[t]){if(a.length)(w.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=i.call(arguments),Y.set(this,t,a),r=n(this,t),this[t](),a!==(o=Y.get(this,t))||r?Y.set(this,t,!1):o={},a!==o)return e.stopImmediatePropagation(),e.preventDefault(),o&&o.value}else a.length&&(Y.set(this,t,{value:w.event.trigger(w.extend(a[0],w.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,t)&&w.event.add(e,t,Te)}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(e);if(V(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(re,i),n.guid||(n.guid=w.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(t){return void 0!==w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||\"\").match(P)||[\"\"]).length;l--;)d=g=(s=we.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(\".\")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){for(l=(t=(t||\"\").match(P)||[\"\"]).length;l--;)if(d=g=(s=we.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d){for(f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&(\"**\"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||w.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&Y.remove(e,\"handle events\")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=w.event.fix(e),l=(Y.get(this,\"events\")||Object.create(null))[u.type]||[],c=w.event.special[u.type]||{};for(s[0]=u,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&(\"click\"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\\s*$/g;function De(e,t){return A(e,\"table\")&&A(11!==t.nodeType?t:t.firstChild,\"tr\")&&w(e).children(\"tbody\")[0]||e}function qe(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function Le(e){return\"true/\"===(e.type||\"\").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(\"type\"),e}function He(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,\"handle events\"),s)for(n=0,r=s[i].length;n1&&\"string\"==typeof v&&!d.checkClone&&Ne.test(v))return e.each((function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Pe(o,t,n,r)}));if(p&&(a=(i=be(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=a),a||r)){for(u=(s=w.map(ye(i,\"script\"),qe)).length;f0&&me(a,!u&&ye(e,\"script\")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return B(this,(function(e){return void 0===e?w.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Pe(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||De(this,e).appendChild(e)}))},prepend:function(){return Pe(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=De(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Pe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Pe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return w.clone(this,e,t)}))},html:function(e){return B(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(\"string\"==typeof e&&!Ae.test(e)&&!ve[(he.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=We(e),i=(!d.boxSizingReliable()||n)&&\"border-box\"===w.css(e,\"boxSizing\",!1,r),o=i,a=ze(e,t,r),s=\"offset\"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a=\"auto\"}return(!d.boxSizingReliable()&&i||!d.reliableTrDimensions()&&A(e,\"tr\")||\"auto\"===a||!parseFloat(a)&&\"inline\"===w.css(e,\"display\",!1,r))&&e.getClientRects().length&&(i=\"border-box\"===w.css(e,\"boxSizing\",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+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=ze(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=Ie.test(t),l=e.style;if(u||(t=Ye(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 Ie.test(t)||(t=Ye(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&\"get\"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=ze(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!Qe.test(w.css(e,\"display\"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,t,r):Fe(e,Je,(function(){return tt(e,t,r)}))},set:function(e,n,r){var i,o=We(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=Ue(d.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(ze(e,\"marginLeft\"))||e.getBoundingClientRect().left-Fe(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 B(this,(function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=We(e),i=t.length;a1)}}),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[Ye(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;o1)},removeAttr:function(e){return this.each((function(){w.removeAttr(this,e)}))}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?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 B(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;return h(e)?this.each((function(t){w(this).addClass(e.call(this,t,yt(this)))})):(t=mt(e)).length?this.each((function(){if(r=yt(this),n=1===this.nodeType&&\" \"+vt(r)+\" \"){for(o=0;o-1;)n=n.replace(\" \"+i+\" \",\" \");a=vt(n),r!==a&&this.setAttribute(\"class\",a)}})):this:this.attr(\"class\",\"\")},toggleClass:function(e,t){var n,r,i,o,a=typeof e,s=\"string\"===a||Array.isArray(e);return h(e)?this.each((function(n){w(this).toggleClass(e.call(this,n,yt(this),t),t)})):\"boolean\"==typeof t&&s?t?this.addClass(e):this.removeClass(e):(n=mt(e),this.each((function(){if(s)for(o=w(this),i=0;i-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-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()},St=/\\?/;w.parseXML=function(t){var n,r;if(!t||\"string\"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,\"text/xml\")}catch(e){}return r=n&&n.getElementsByTagName(\"parsererror\")[0],n&&!r||w.error(\"Invalid XML: \"+(r?w.map(r.childNodes,(function(e){return e.textContent})).join(\"\\n\"):t)),n};var Et=/\\[\\]$/,kt=/\\r?\\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,(function(t,i){n||Et.test(e)?r(e,i):jt(e+\"[\"+(\"object\"==typeof i&&null!=i?t:\"\")+\"]\",i,n,r)}));else if(n||\"object\"!==x(t))r(e,t);else for(i in t)jt(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)jt(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 Dt=/%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 $t(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 Bt(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?Bt(Bt(e,w.ajaxSettings),t):Bt(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\",S={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)S.always(e[S.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),E(0,t),this}};if(y.promise(S),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)),$t(Rt,d,n,S),l)return S;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(Dt,\"+\")):(p=d.url.slice(i.length),d.data&&(d.processData||\"string\"==typeof d.data)&&(i+=(St.test(i)?\"&\":\"?\")+d.data,delete d.data),!1===d.cache&&(i=i.replace(Lt,\"$1\"),p=(St.test(i)?\"&\":\"?\")+\"_=\"+Ct.guid+++p),d.url=i+p),d.ifModified&&(w.lastModified[i]&&S.setRequestHeader(\"If-Modified-Since\",w.lastModified[i]),w.etag[i]&&S.setRequestHeader(\"If-None-Match\",w.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||n.contentType)&&S.setRequestHeader(\"Content-Type\",d.contentType),S.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)S.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,S,d)||l))return S.abort();if(C=\"abort\",m.add(d.complete),S.done(d.success),S.fail(d.error),r=$t(Mt,d,n,S)){if(S.readyState=1,c&&g.trigger(\"ajaxSend\",[S,d]),l)return S;d.async&&d.timeout>0&&(s=e.setTimeout((function(){S.abort(\"timeout\")}),d.timeout));try{l=!1,r.send(b,E)}catch(e){if(l)throw e;E(-1,e)}}else E(-1,\"No Transport\");function E(t,n,a,u){var f,p,v,b,T,C=n;l||(l=!0,s&&e.clearTimeout(s),r=void 0,o=u||\"\",S.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,S,a)),!f&&w.inArray(\"script\",d.dataTypes)>-1&&w.inArray(\"json\",d.dataTypes)<0&&(d.converters[\"text script\"]=function(){}),b=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if(\"*\"===o)o=u;else if(\"*\"!==u&&u!==o){if(!(a=l[u+\" \"+o]||l[\"* \"+o]))for(i in l)if((s=i.split(\" \"))[1]===o&&(a=l[u+\" \"+s[0]]||l[\"* \"+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:\"parsererror\",error:a?e:\"No conversion from \"+u+\" to \"+o}}}return{state:\"success\",data:t}}(d,b,S,f),f?(d.ifModified&&((T=S.getResponseHeader(\"Last-Modified\"))&&(w.lastModified[i]=T),(T=S.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))),S.status=t,S.statusText=(n||C)+\"\",f?y.resolveWith(h,[p,C,S]):y.rejectWith(h,[S,C,v]),S.statusCode(x),x=void 0,c&&g.trigger(f?\"ajaxSuccess\":\"ajaxError\",[S,d,f?p:v]),m.fireWith(h,[S,C]),c&&(g.trigger(\"ajaxComplete\",[S,d]),--w.active||w.event.trigger(\"ajaxStop\")))}return S},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(\"" + ], + "text/plain": [ + ":Curve [timestamp] (temperature)" + ] + }, + "execution_count": 11, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "p1001" + } + }, + "output_type": "execute_result" + } + ], + "source": [ + "df_missing['temperature'].hvplot(width=800, height=500) " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "31d189dc", + "metadata": {}, + "outputs": [ + { + "data": {}, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "
\n", + "
\n", + "
\n", + "" + ], + "text/plain": [ + ":Curve [timestamp] (delta_temperature)" + ] + }, + "execution_count": 12, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "p1156" + } + }, + "output_type": "execute_result" + } + ], + "source": [ + "df_missing['delta_temperature'].hvplot()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "7d62b491", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": {}, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "
\n", + "
\n", + "
\n", + "" + ], + "text/plain": [ + ":Curve [timestamp] (temperature)" + ] + }, + "execution_count": 13, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "p1311" + } + }, + "output_type": "execute_result" + } + ], + "source": [ + "df_missing['temperature'].hvplot()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "cdae5138", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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hdPnKT5anwWgPk8BQH5+PoYNG4b09HRERUWhcePGmD9/vuJ52T7L/zdp0iTue6Vn4Q90CSv/+9//MGrUKLz44otYv3492rRpgz59+uDEiRMAgKNHj+Lo0aN48803sXnzZkyfPh0LFizAfffdp3jeiooKxMTEYMSIEcjJyZHc588//0SvXr0wf/58rFu3DldffTX69++PDRs2yJ73woULWL9+PV544QWsX78eP/30E3bs2IEbbrhBsN+gQYOwZcsWLFy4EHPnzsWff/6JBx54QFf74uLiMHz4cPz555/Ytm0bxowZgzFjxuCTTz6Rbd/y5cvRunVr/Pjjj/j3338xdOhQDB48GHPnzhX8hgYNGmDSpElIS0vjti9duhTDhg3DypUrsXDhQpSVlaF37944f/48AKC0tBRhYWGIjY1FbGwsli5diqNHj+Lmm28WtGHatGk4duwY969fv35V8lkUFhaid+/eqFevHtatW4c33ngD48aN8zkmMTFRcL8OHDgAQH1sTJs2Db/88gsSEhLw3HPPYfny5VizZg2GDx/OlYjYsWOH4Ny1atVCRUUF+vXrh9LSUixfvhxffvklpk+fjrFjx3JtKikpQc2aNTFmzBi0adNG9jeKUetDAPD444/jl19+wffffy/bhwDg3nvvxW233aZ4vbKyMtxxxx3o3r275jYaOa/a7+rQoQMeeOABfPvtt/jll1/QpUsXLF++HL1790ZFRQV3XvHYuOaaa1T7iNx4VcKfY4MlPz8fgwcPRs+ePVXbp2WeWrJkCe644w4sXrwYK1asQGZmJnr37o0DBw6gTZs2mDx5suz569ati7CwMNSpUwerVq1CXFwc+vTpg+LiYm6fP/74Q/As2rZtqzounD5Pseh5FlrmqdLSUvTq1Qv79+/HDz/8gB07duDTTz9F7dq1Vc8/fvx4wX1+9NFHffYRP4sOHTqontcSGB107tyZGTZsGPd3RUUFk5GRwUycOFH2mO+++46JjIxkysrKNF3jnnvuYQYMGKBp3+bNmzMvvfSSpn1ZVq9ezQBgDhw4wDAMw2zdupUBwKxZs4bb59dff2VcLhdz5MgRU+276aabmLvuuktX+6677jpm6NChkt/Vq1ePeeeddyS/O3HiBAOAWbp0KcMwDJOfn89EREQwjzzyCJOUlMQwDMNs27aNAcCsWLGCYRiGAcDMmjVL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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df_missing[\"temperature\"].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "a344c09a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "\n", + "ax.plot(df_missing.index, df_missing[\"temperature\"], color=\"blue\")\n", + "\n", + "ax.scatter(df_missing.index[df_missing[\"temperature\"] > 70.00], df_missing[\"temperature\"][df_missing[\"temperature\"] > 70.00], color=\"red\")\n", + "\n", + "ax.axhline(y=70.00, color=\"black\", linestyle=\"--\")\n", + "\n", + "\n", + "ax.set_xlabel(\"Index\")\n", + "ax.set_ylabel(\"Temperature\")\n", + "ax.set_title(\"Temperature Variation\")\n", + "\n", + "# Display the plot\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "59389be4", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "from pathlib import Path\n", + "import matplotlib\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import sklearn\n", + "import statsmodels as sm" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "e8379835", + "metadata": {}, + "outputs": [], + "source": [ + "def read_dataset(folder, file, date_col=None):\n", + " '''\n", + " folder: is a Path object\n", + " file: the CSV filename in that Path object. \n", + " date_col: specify a date_col to use as index_col \n", + " \n", + " returns: a pandas DataFrame with a DatetimeIndex\n", + " '''\n", + " df = pd.read_csv(folder / file, \n", + " index_col=date_col,sep=\"\\t\")\n", + " return df\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "d79afba7", + "metadata": {}, + "outputs": [], + "source": [ + "def plot_dfs(df1, df2, col, title=None, xlabel=None, ylabel=None):\n", + " '''\t\n", + " df1: original dataframe without missing data\n", + " df2: dataframe with missing data\n", + " col: column name that contains missing data\n", + " ''' \n", + " df_missing = df2.rename(columns={col: 'missing'})\n", + " \n", + " columns = df_missing.loc[:, 'missing':].columns.tolist()\n", + " subplots_size = len(columns)\n", + " \n", + " # subplots_size = df2.shape[1]\n", + " fig, ax = plt.subplots(subplots_size+1, 1, sharex=True)\n", + " plt.subplots_adjust(hspace=0.25)\n", + " fig.suptitle = title \n", + " \n", + " df1[col].plot(ax=ax[0], figsize=(10, 16))\n", + " ax[0].set_title('Original Dataset')\n", + " ax[0].set_xlabel(xlabel)\n", + " ax[0].set_ylabel(ylabel) \n", + " \n", + " for i, colname in enumerate(columns):\n", + " df_missing[colname].plot(ax=ax[i+1])\n", + " ax[i+1].set_title(colname)\n", + "\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "dfbc8642", + "metadata": {}, + "outputs": [], + "source": [ + "def rmse_score(df1, df2, col=None):\n", + " '''\n", + " df1: original dataframe without missing data\n", + " df2: dataframe with missing data\n", + " col: column name that contains missing data\n", + "\n", + " returns: a list of scores\n", + " '''\n", + " \n", + " df1=df1.reset_index()\n", + " df2=df2.reset_index()\n", + " df_missing = df2.rename(columns={col: 'missing'})\n", + " columns = df_missing.loc[:, 'missing':].columns.tolist()\n", + " scores = []\n", + "\n", + " \n", + " for comp_col in columns[1:]:\n", + " # print(df1[col] - df_missing[comp_col])\n", + " rmse = np.sqrt(np.mean((df1[col] - df_missing[comp_col])**2))\n", + " scores.append(rmse)\n", + " print(f'RMSE for {comp_col}: {rmse}')\n", + " return scores\n" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "76244133", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Index: 22695 entries, 02-12-2013 21:15 to 19-02-2014 15:25\n", + "Data columns (total 3 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 temperature 21410 non-null float64\n", + " 1 delta_temperature 21380 non-null float64\n", + " 2 ffillna 22695 non-null float64\n", + "dtypes: float64(3)\n", + "memory usage: 709.2+ KB\n" + ] + } + ], + "source": [ + "df_missing[\"ffillna\"]=df_missing[\"temperature\"].ffill()\n", + "df_missing.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "70ceabb0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Index: 22695 entries, 02-12-2013 21:15 to 19-02-2014 15:25\n", + "Data columns (total 4 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 temperature 21410 non-null float64\n", + " 1 delta_temperature 21380 non-null float64\n", + " 2 ffillna 22695 non-null float64\n", + " 3 bfillna 22695 non-null float64\n", + "dtypes: float64(4)\n", + "memory usage: 886.5+ KB\n" + ] + } + ], + "source": [ + "df_missing['bfillna']=df_missing[\"temperature\"].bfill()\n", + "df_missing.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "23a0d4b9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Index: 22695 entries, 02-12-2013 21:15 to 19-02-2014 15:25\n", + "Data columns (total 4 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 temperature 21410 non-null float64\n", + " 1 delta_temperature 21380 non-null float64\n", + " 2 ffillna 22695 non-null float64\n", + " 3 mean 22695 non-null float64\n", + "dtypes: float64(4)\n", + "memory usage: 886.5+ KB\n" + ] + } + ], + "source": [ + "df_missing[\"mean\"]=df_missing[\"temperature\"].fillna(df_missing[\"temperature\"].mean())\n", + "df_missing.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "17ddaf97", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperaturedelta_temperatureffillnamean
timestamp
02-12-2013 21:1573.967322NaN73.96732273.967322
02-12-2013 21:2074.9358820.96856074.93588274.935882
02-12-2013 21:2576.1241621.18828076.12416276.124162
02-12-2013 21:3078.1407072.01654678.14070778.140707
02-12-2013 21:3579.3298361.18912879.32983679.329836
\n", + "
" + ], + "text/plain": [ + " temperature delta_temperature ffillna mean\n", + "timestamp \n", + "02-12-2013 21:15 73.967322 NaN 73.967322 73.967322\n", + "02-12-2013 21:20 74.935882 0.968560 74.935882 74.935882\n", + "02-12-2013 21:25 76.124162 1.188280 76.124162 76.124162\n", + "02-12-2013 21:30 78.140707 2.016546 78.140707 78.140707\n", + "02-12-2013 21:35 79.329836 1.189128 79.329836 79.329836" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_missing.head()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "4949dc92", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Index: 22695 entries, 02-12-2013 21:15 to 19-02-2014 15:25\n", + "Data columns (total 4 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 temperature 21410 non-null float64\n", + " 1 delta_temperature 21380 non-null float64\n", + " 2 ffillna 22695 non-null float64\n", + " 3 mean 22695 non-null float64\n", + "dtypes: float64(4)\n", + "memory usage: 886.5+ KB\n" + ] + } + ], + "source": [ + "df_missing.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "0dcd0491", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperature
timestamp
02-12-2013 21:1573.967322
02-12-2013 21:2074.935882
02-12-2013 21:2576.124162
02-12-2013 21:3078.140707
02-12-2013 21:3579.329836
......
19-02-2014 15:0598.185415
19-02-2014 15:1097.804168
19-02-2014 15:1597.135468
19-02-2014 15:2098.056852
19-02-2014 15:2596.903861
\n", + "

22695 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " temperature\n", + "timestamp \n", + "02-12-2013 21:15 73.967322\n", + "02-12-2013 21:20 74.935882\n", + "02-12-2013 21:25 76.124162\n", + "02-12-2013 21:30 78.140707\n", + "02-12-2013 21:35 79.329836\n", + "... ...\n", + "19-02-2014 15:05 98.185415\n", + "19-02-2014 15:10 97.804168\n", + "19-02-2014 15:15 97.135468\n", + "19-02-2014 15:20 98.056852\n", + "19-02-2014 15:25 96.903861\n", + "\n", + "[22695 rows x 1 columns]" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_missing=pd.read_csv(path,index_col='timestamp')\n", + "df_missing= df_missing.rename(columns={'value':\"temperature\"})\n", + "\n", + "df_missing" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "46b00847", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperature
timestamp
12/2/2013 21:1573.967322
12/2/2013 21:2074.935882
12/2/2013 21:2576.124162
12/2/2013 21:3078.140707
12/2/2013 21:3579.329836
......
2/19/2014 15:0598.185415
2/19/2014 15:1097.804168
2/19/2014 15:1597.135468
2/19/2014 15:2098.056852
2/19/2014 15:2596.903861
\n", + "

22695 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " temperature\n", + "timestamp \n", + "12/2/2013 21:15 73.967322\n", + "12/2/2013 21:20 74.935882\n", + "12/2/2013 21:25 76.124162\n", + "12/2/2013 21:30 78.140707\n", + "12/2/2013 21:35 79.329836\n", + "... ...\n", + "2/19/2014 15:05 98.185415\n", + "2/19/2014 15:10 97.804168\n", + "2/19/2014 15:15 97.135468\n", + "2/19/2014 15:20 98.056852\n", + "2/19/2014 15:25 96.903861\n", + "\n", + "[22695 rows x 1 columns]" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "path1=Path(\".\\machine_temp_failure_original.csv\")\n", + "df_original=pd.read_csv(path1,sep=\"\\t\",index_col='timestamp')\n", + "df_original= df_original.rename(columns={'value':\"temperature\"})\n", + "\n", + "df_original" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "0f752d4d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperatureffillnabfillnamean
timestamp
02-12-2013 21:1573.96732273.96732273.96732273.967322
02-12-2013 21:2074.93588274.93588274.93588274.935882
02-12-2013 21:2576.12416276.12416276.12416276.124162
02-12-2013 21:3078.14070778.14070778.14070778.140707
02-12-2013 21:3579.32983679.32983679.32983679.329836
...............
19-02-2014 15:0598.18541598.18541598.18541598.185415
19-02-2014 15:1097.80416897.80416897.80416897.804168
19-02-2014 15:1597.13546897.13546897.13546897.135468
19-02-2014 15:2098.05685298.05685298.05685298.056852
19-02-2014 15:2596.90386196.90386196.90386196.903861
\n", + "

22695 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " temperature ffillna bfillna mean\n", + "timestamp \n", + "02-12-2013 21:15 73.967322 73.967322 73.967322 73.967322\n", + "02-12-2013 21:20 74.935882 74.935882 74.935882 74.935882\n", + "02-12-2013 21:25 76.124162 76.124162 76.124162 76.124162\n", + "02-12-2013 21:30 78.140707 78.140707 78.140707 78.140707\n", + "02-12-2013 21:35 79.329836 79.329836 79.329836 79.329836\n", + "... ... ... ... ...\n", + "19-02-2014 15:05 98.185415 98.185415 98.185415 98.185415\n", + "19-02-2014 15:10 97.804168 97.804168 97.804168 97.804168\n", + "19-02-2014 15:15 97.135468 97.135468 97.135468 97.135468\n", + "19-02-2014 15:20 98.056852 98.056852 98.056852 98.056852\n", + "19-02-2014 15:25 96.903861 96.903861 96.903861 96.903861\n", + "\n", + "[22695 rows x 4 columns]" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_missing[\"ffillna\"]=df_missing[\"temperature\"].ffill()\n", + "df_missing['bfillna']=df_missing[\"temperature\"].bfill()\n", + "df_missing[\"mean\"]=df_missing[\"temperature\"].fillna(df_missing[\"temperature\"].mean())\n", + "df_missing" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "fdd09730", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "RMSE for ffillna: 2.4939956524274454\n", + "RMSE for bfillna: 5.873128567455812\n", + "RMSE for mean: 3.961536496226712\n" + ] + } + ], + "source": [ + "_ = rmse_score(df_original,\n", + " df_missing, \n", + " 'temperature')" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "41f573d6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperature
timestamp
12/2/2013 21:1573.967322
12/2/2013 21:2074.935882
12/2/2013 21:2576.124162
12/2/2013 21:3078.140707
12/2/2013 21:3579.329836
......
2/19/2014 15:0598.185415
2/19/2014 15:1097.804168
2/19/2014 15:1597.135468
2/19/2014 15:2098.056852
2/19/2014 15:2596.903861
\n", + "

22695 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " temperature\n", + "timestamp \n", + "12/2/2013 21:15 73.967322\n", + "12/2/2013 21:20 74.935882\n", + "12/2/2013 21:25 76.124162\n", + "12/2/2013 21:30 78.140707\n", + "12/2/2013 21:35 79.329836\n", + "... ...\n", + "2/19/2014 15:05 98.185415\n", + "2/19/2014 15:10 97.804168\n", + "2/19/2014 15:15 97.135468\n", + "2/19/2014 15:20 98.056852\n", + "2/19/2014 15:25 96.903861\n", + "\n", + "[22695 rows x 1 columns]" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "path1=Path(\".\\machine_temp_failure_original.csv\")\n", + "df_original=pd.read_csv(path1,sep=\"\\t\",index_col='timestamp')\n", + "df_original= df_original.rename(columns={'value':\"temperature\"})\n", + "\n", + "df_original" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "749e0340", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Index: 22695 entries, 12/2/2013 21:15 to 2/19/2014 15:25\n", + "Data columns (total 2 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 temperature 22695 non-null float64\n", + " 1 delta_temperature 22694 non-null float64\n", + "dtypes: float64(2)\n", + "memory usage: 531.9+ KB\n" + ] + } + ], + "source": [ + "df_original['delta_temperature']=df_original['temperature'].diff()\n", + "df_original.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "a9db83b5", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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43uNfIXvNfIlvt/IV/heIxabICIiIiIiMogzUkRERERERAYxkCIiIiIiIjKIgRQREREREZFBDKSIiIiIiIgMYiBFRERERERkEAMpIiIiIiIigxhIERERERERGcRAioiIiIiIyCAGUkRERERERAYxkCIiIiIiIjKIgRQREREREZFBDKSIiIiIiIgMYiBFRERERERkEAMpIiIiIiIigxhIERERERERGcRAioiIiIiIyCAGUkRERERERAYxkCIiIiIiIjKIgRQREREREZFBDKSIiIiIiIgMYiBFRERERERkEAMpIiIiIiIigxhIERERERERGcRAioiIiIiIyCAGUkRERERERAYxkCIiIiIiIjKIgRQREREREZFBDKSIiCjojB8/HiaTCQcOHMADDzyAhIQEVKlSBa+//josFgsyMjIwcOBAxMfHo1q1avjggw8kP19QUIBx48ahfv36iI6ORlJSEl566SUUFBRItpsxYwZ69uyJqlWrIjo6Gk2bNsX06dMd9ic5ORk333wzVq9ejQ4dOiAmJgZ169bFrFmzvPo6EBGR/zCQIiKioHX33XfDbDZj0qRJ6NixIyZOnIgpU6agd+/euO666/DOO++gfv36eOGFF7By5UoAgNlsxq233or3338ft9xyCz7++GMMGjQIkydPxt133y15/OnTp6N27dp45ZVX8MEHHyApKQnPPPMMpk2b5rAvhw4dwh133IHevXvjgw8+QIUKFfDwww9j9+7dPnktiIjIt0wWi8Xi750gIiIyYvz48XjjjTfwxBNP4PPPPwcAlJSUIDk5GSdPnkRaWhpefvllAMDFixdRo0YN3HXXXZg5cya+//57PPTQQ1ixYgW6du1qe8zPP/8cTz31FNasWYPOnTsDAK5evYrY2FjJc/fr1w8HDx7E4cOHbbclJyfj2LFjWLlyJbp16wYAOHPmDJKSkjB8+HC8//77Xn09iIjI9zgjRUREQeuxxx6zfR0eHo527drBYrHg0Ucftd1evnx5NGrUCEeOHAEAzJ07F02aNEHjxo1x9uxZ27+ePXsCAJYtW2b7WXEQlZOTg7Nnz+KGG27AkSNHkJOTI9mXpk2b2oIoAKhSpYrkeYmIKLRE+HsHiIiIXFWrVi3J9wkJCYiJiUHlypUdbj937hwA4ODBg9i7dy+qVKmi+JinT5+2fb1mzRqMGzcOa9euxZUrVyTb5eTkICEhQXVfAKBChQq4cOGCsV+KiIiCAgMpIiIKWuHh4bpuAwAhk91sNqNFixb48MMPFbdLSkoCABw+fBi9evVC48aN8eGHHyIpKQlRUVGYP38+Jk+eDLPZbOh5iYgotDCQIiKia0q9evWwfft29OrVCyaTSXW7v/76CwUFBfjzzz8ls03i1D8iIrp2cY0UERFdU+666y6cPHkSX375pcN9V69eRV5eHgD7DJN4RiknJwczZszwzY4SEVFA44wUERFdUx588EH8/PPPeOqpp7Bs2TJ06dIFJSUl2LdvH37++Wf8+++/aNeuHfr06YOoqCjccsstePLJJ3H58mV8+eWXqFq1Kk6dOuXvX4OIiPyMgRQREV1TwsLC8Pvvv2Py5MmYNWsWfvvtN5QpUwZ169bFc889h4YNGwIAGjVqhP/973947bXX8MILL6BatWp4+umnUaVKFTzyyCN+/i2IiMjf2EeKiIiIiIjIIK6RIiIiIiIiMoiBFBERERERkUEMpIiIiIiIiAxiIEVERERERGQQAykiIiIiIiKDWP4cgNlsRmZmJuLi4jS73BMRERERUWizWCy4dOkSatSogbAw9XknBlIAMjMzkZSU5O/dICIiIiKiAJGRkYGaNWuq3s9ACkBcXBwA64sVHx/v570hIiIiIiJ/yc3NRVJSki1GUMNACrCl88XHxzOQIiIiIiIip0t+WGyCiIiIiIjIIAZSREREREREBjGQIiIiIiIiMoiBFBERERERkUEMpIiIiIiIiAxiIEVEIauguARbjl9Aidni710hIiKiEMNAiohC1rM/bsXtn/6Hz1ce9veuEBERUYhhIEVEIevf3dkAgCmLD/p5T4iIiCjUMJAiopBXWGz29y4QERFRiGEgRUREREREZBADKSK6JhSXcFaKgofFYkFWTr6/d4OIiDQwkCKia0JeYYm/d4FIt0n/7EOntCX4eWOGv3eFiIhUMJAiomtCfhEDKQoen688AgB46Zcdft4TIiJSw0CKSObilUJsSj8PiyWwew8lj56H5NHzcCD7kuL96WfzbNskj57n473zP3nvqEv5RX7aEyIiosCy+uBZtBj3r+o1BOnDQIpIpvWERbjjs7VYsCvLrcfJOH8FI3/ait2ZOW7vkzioM5stmPj3Htv3fSavdNj+h/XH0OP95ZLbLuQVur0fweRUzlXJ97d+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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_dfs(df_original, \n", + " df_missing, \n", + " 'temperature',\n", + " title=\"Temperature variation with time\",\n", + " xlabel=\"timestamp\",\n", + " ylabel=\"Temperature\")" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "id": "54fc5a71", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "from pathlib import Path\n", + "from sklearn.impute import SimpleImputer" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "id": "f11a5589", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperature
timestamp
02-12-2013 21:1573.967322
02-12-2013 21:2074.935882
02-12-2013 21:2576.124162
02-12-2013 21:3078.140707
02-12-2013 21:3579.329836
......
19-02-2014 15:0598.185415
19-02-2014 15:1097.804168
19-02-2014 15:1597.135468
19-02-2014 15:2098.056852
19-02-2014 15:2596.903861
\n", + "

22695 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " temperature\n", + "timestamp \n", + "02-12-2013 21:15 73.967322\n", + "02-12-2013 21:20 74.935882\n", + "02-12-2013 21:25 76.124162\n", + "02-12-2013 21:30 78.140707\n", + "02-12-2013 21:35 79.329836\n", + "... ...\n", + "19-02-2014 15:05 98.185415\n", + "19-02-2014 15:10 97.804168\n", + "19-02-2014 15:15 97.135468\n", + "19-02-2014 15:20 98.056852\n", + "19-02-2014 15:25 96.903861\n", + "\n", + "[22695 rows x 1 columns]" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "path=Path(\".\\machine_temp_failure_missing.csv\")\n", + "df_missing=pd.read_csv(path ,index_col='timestamp')\n", + "df_missing= df_missing.rename(columns={'value':\"temperature\"})\n", + "\n", + "df_missing" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "id": "731bcd94", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperature
timestamp
12/2/2013 21:1573.967322
12/2/2013 21:2074.935882
12/2/2013 21:2576.124162
12/2/2013 21:3078.140707
12/2/2013 21:3579.329836
......
2/19/2014 15:0598.185415
2/19/2014 15:1097.804168
2/19/2014 15:1597.135468
2/19/2014 15:2098.056852
2/19/2014 15:2596.903861
\n", + "

22695 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " temperature\n", + "timestamp \n", + "12/2/2013 21:15 73.967322\n", + "12/2/2013 21:20 74.935882\n", + "12/2/2013 21:25 76.124162\n", + "12/2/2013 21:30 78.140707\n", + "12/2/2013 21:35 79.329836\n", + "... ...\n", + "2/19/2014 15:05 98.185415\n", + "2/19/2014 15:10 97.804168\n", + "2/19/2014 15:15 97.135468\n", + "2/19/2014 15:20 98.056852\n", + "2/19/2014 15:25 96.903861\n", + "\n", + "[22695 rows x 1 columns]" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "path1=Path(\".\\machine_temp_failure_original.csv\")\n", + "df_original=pd.read_csv(path1,sep=\"\\t\",index_col='timestamp')\n", + "df_original= df_original.rename(columns={'value':\"temperature\"})\n", + "\n", + "df_original" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "35df3b0a", + "metadata": {}, + "outputs": [], + "source": [ + "strategy = [\n", + " ('Mean Strategy', 'mean'),\n", + " ('Median Strategy', 'median'),\n", + " ('Most Frequent Strategy', 'most_frequent')]" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "id": "532c2d25", + "metadata": {}, + "outputs": [], + "source": [ + "df_vals = df_missing['temperature'].values.reshape(-1,1)\n", + "for s_name, s in strategy:\n", + " df_missing[s_name] = (\n", + " SimpleImputer(strategy=s).fit_transform(df_vals))" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "id": "496bdcb6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperatureMean StrategyMedian StrategyMost Frequent Strategy
timestamp
02-12-2013 21:1573.96732273.96732273.96732273.967322
02-12-2013 21:2074.93588274.93588274.93588274.935882
02-12-2013 21:2576.12416276.12416276.12416276.124162
02-12-2013 21:3078.14070778.14070778.14070778.140707
02-12-2013 21:3579.32983679.32983679.32983679.329836
...............
19-02-2014 15:0598.18541598.18541598.18541598.185415
19-02-2014 15:1097.80416897.80416897.80416897.804168
19-02-2014 15:1597.13546897.13546897.13546897.135468
19-02-2014 15:2098.05685298.05685298.05685298.056852
19-02-2014 15:2596.90386196.90386196.90386196.903861
\n", + "

22695 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " temperature Mean Strategy Median Strategy \n", + "timestamp \n", + "02-12-2013 21:15 73.967322 73.967322 73.967322 \\\n", + "02-12-2013 21:20 74.935882 74.935882 74.935882 \n", + "02-12-2013 21:25 76.124162 76.124162 76.124162 \n", + "02-12-2013 21:30 78.140707 78.140707 78.140707 \n", + "02-12-2013 21:35 79.329836 79.329836 79.329836 \n", + "... ... ... ... \n", + "19-02-2014 15:05 98.185415 98.185415 98.185415 \n", + "19-02-2014 15:10 97.804168 97.804168 97.804168 \n", + "19-02-2014 15:15 97.135468 97.135468 97.135468 \n", + "19-02-2014 15:20 98.056852 98.056852 98.056852 \n", + "19-02-2014 15:25 96.903861 96.903861 96.903861 \n", + "\n", + " Most Frequent Strategy \n", + "timestamp \n", + "02-12-2013 21:15 73.967322 \n", + "02-12-2013 21:20 74.935882 \n", + "02-12-2013 21:25 76.124162 \n", + "02-12-2013 21:30 78.140707 \n", + "02-12-2013 21:35 79.329836 \n", + "... ... \n", + "19-02-2014 15:05 98.185415 \n", + "19-02-2014 15:10 97.804168 \n", + "19-02-2014 15:15 97.135468 \n", + "19-02-2014 15:20 98.056852 \n", + "19-02-2014 15:25 96.903861 \n", + "\n", + "[22695 rows x 4 columns]" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_missing" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "id": "517cbd8d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "RMSE for Mean Strategy: 3.961536496226712\n", + "RMSE for Median Strategy: 4.071585793081295\n", + "RMSE for Most Frequent Strategy: 20.176855010139285\n" + ] + } + ], + "source": [ + "_ = rmse_score(df_original, df_missing, 'temperature')" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "id": "8454627e", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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DEBoaChCQkLw+uuvIz09XfTcjIwMDB06FGXLlkVQUBCefPJJ3Lp1i+qICIIgvBjKAyAIgiB04/nnn0e9evUwbdo0rF27FpMnT0bp0qXxww8/oGvXrvjiiy+wePFifPTRR2jZsiU6deoke52+ffvizJkzGDJkCCIiInD79m1s3rwZN27cEO53794d5cqVw4gRIxAaGorY2FisXLlS0zife+45REZGYurUqTh27Bh++uknlC9fHl988YVwzoABA7BixQq88soraNOmDXbu3Ino6GhdPieCIAjCPZDxQxAEQehGq1at8MMPPwAABg0ahIiICHz44YeYOnUqPv30UwDAiy++iIoVK+KXX36RNX6SkpKwb98+fPnll/joo4+E4yNHjhRu79u3Dw8ePMCmTZvQokUL4fjkyZM1jbNp06b4+eefhfv37t3Dzz//LBg/x44dw4oVKzBs2DDMnDkTAPDuu+/i9ddfx4kTJ7R+HARBEISHQWlvBEEQhG68+eabwm0fHx+0aNECHMdh4MCBwvHQ0FDUqVMHV69elb1G8eLFUaxYMezYsQMPHjyQPSc0NBQA8O+//yInJ8fmcb7zzjui+x07dsS9e/eQkpICANiwYQOAfIOHZciQITa/FkEQBOE5kPFDEARB6EbVqlVF90NCQhAQEICyZctaHFcybPz9/fHFF19g/fr1CAsLQ6dOnTB9+nQkJCQI5zz66KPo27cvJkyYgLJly6JPnz5YsGABsrKy7BpnqVKlAEAY0/Xr12E0GhEZGSk6r2bNmpquTxAEQXgmZPwQBEEQuiEnVa0kX60mNjps2DBcvHgRU6dORUBAAMaOHYt69erh+PHjAPKFDP7880/s378f7733Hm7duoU33ngDzZs3R2pqql3jtDYmgiAIwvsh44cgCILwSGrUqIEPP/wQmzZtwunTp5GdnS1SiQOANm3a4PPPP8eRI0ewePFinDlzBsuWLXP4tatVqwaTyYRr166Jjl++fNnhaxMEQRDug4wfgiAIwqNIT09HZmam6FiNGjUQFBQkpLU9ePDAIkrTpEkTANCc+qZGjx49AADfffed6PicOXMcvjZBEAThPkjtjSAIgvAoLl68iG7duuG5555D/fr14evri1WrViExMREvvPACAODXX3/Fd999h6effho1atTAw4cPMX/+fAQHB6N3794Oj6F58+bo27cvZs2ahXv37glS1xcvXgSQn3ZHEARBeB9k/BAEQRAeRZUqVfDiiy9i69at+O233+Dr64u6detixYoV6Nu3L4B8wYNDhw5h2bJlSExMREhICFq1aoXFixdbiBTYy6JFixAeHo6lS5di1apViIqKwvLly1GnTh0EBATo8hoEQRCEazFwVN1JEARBEJqIiYlB06ZN8fvvv6N///7uHg5BEARhI1TzQxAEQRAyZGRkWBybNWsWjEajbHNWgiAIwvOhtDeCIAiCkGH69Ok4evQounTpAl9fX6xfvx7r16/HoEGDUKVKFXcPjyAIgrADSnsjCIIgCBk2b96MCRMm4OzZs0hNTUXVqlXxyiuvYPTo0fD1Jd8hQRCEN0LGD0EQBEEQBEEQRQKq+SEIgiAIgiAIokjglXF7k8mE+Ph4BAUFUa8FgiAIgiAIgijCcByHhw8fomLFijAa1WM7Xmn8xMfHU7EpQRAEQRAEQRACcXFxqFy5suo5Xmn8BAUFAch/g8HBwW4eDUEQBEEQBEEQ7iIlJQVVqlQRbAQ1vNL44VPdgoODyfghCIIgCIIgCEJTOQwJHhAEQRAEQRAEUSQg44cgCIIgCIIgiCIBGT8EQRAEQRAEQRQJyPghCIIgCIIgCKJIQMYPQRAEQRAEQRBFAjJ+CILwKC4mPsTd1Cx3D4MgCIIgiEKIV0pdEwRROIm9m4buM3fl354W7ebREARBEARR2KDID0EQHsPR6w/cPQSCIAiCIAoxZPwQBOExcMzt6/fS3DYOgiAIgiAKJ2T8EAThMaRn5wq33/z1iBtHQhAEQRBEYYSMH4IgPIYAPx/h9qXbqW4cCUHYzv20bGTm5Ll7GARBEIQKZPwQBOEx5Jk46ycRhAdy52EWmk3ajK5f7XD3UAiCIAgVyPghCMJjGLnylLuHQBB2sf38bQBAfHKmm0dCEARBqEHGD+H1cByHw7H3kZSe7e6hqLLvyl1EjFiL537YL/s4x3HoOWsXIkasRcSItbj9kDZRBOEt7L96z91DIAiiEJObZ0KfuXvx2ZrT7h6K10PGD+H1vP3bUfSbtx9NJm52+FrfbruEudsv6zCqfGOGJzk9By/NPwgAOHTtPpIzckTnPkjLRuTIdTif8FA41urzrbqMgyAI55OdZxJu304hxwVBEPqy9tR/OBGXhF/3X0dGNtUWOgI1OSVcRmZOHrJyTAgp4afrdTedTRRuP8zMQf+fDqJUiWL4rn8zlPTX/hVPSs/GV5suAgBebVsNQQHK4/znRDwepGfj1bYRso9/s+USZm65qPj8i4kP0TKiNN789Qi2nEtUPC85PUf3z8ubOH0rGQ0qhbh7GEQhIDUrFzsu3EaXOuVtmhe0svbkf8LtU7eS0S04QPfXIAjCs8jJM+HvmHi0iiyNKqVLOPW14u6nC7dvJaWjZvkgp75eYYYiP4TLaDdtGxpP3IR7qVm6XZONrgBAw/GbcPJmMnZevINHPtuIK3fEimFfbDiPZ7/fh6xcS69JOuNJUau7z8zJw5ClxzFuzRlcvSOvSKZm+ADAtTtp+Gn3VVXDBwAaT9yk+ri3czslE7/tj0VaVq7s44/P2ePiERGFlQ9XxOC9JcfxyV8nnf5aSek51k8iiCLIisNxiBixFqdvJbt7KLqw7HAcPvzjBDpO3+701woubnaE0troGGT8EC4hz8Thflp+Tc7CfbG6XffKHfVGmN1m7BTVAn2/4wqOXH+AjWcsjY7cPLPFIzWqWFKYlLWlh27YMlyB0iWLYfLac5rO7fDFNrtewxt47of9GLvmDD77+4y7h0IUMjiOw8CFhxExYi3SsnKF3zwbobGXrNw8/HEkDv8lZ8g+vjrmlsOvQRCuRM4h6Ax450Nh2bx/vvascNvZMvcVQ4ozr2VSPO+/5AzVPQxhh/Gza9cuPPHEE6hYsSIMBgNWr14tepzjOIwbNw4VKlRA8eLFERUVhUuXLonOuX//Pvr374/g4GCEhoZi4MCBSE2lnh6FmXtp5mgPG7p1lBNxSVbPkasFys61nDhyTOZjapLLJ2+aPVb2zi9d6pbXfO7NB/IbrMJA7L3878KfR2/SZE3oSuTIddhaoMD2yGcbdb32wr2x+PjPk2g7dRtMMnNFlsrGhCCcTU6eCW/+egTf77ii6fwRf51EnTEbMGPTBSePTEzEiLW6ZoJY42LiQzSbtBn7r9gvTnL6VrIgSpSenSsyQuqO3aD4vNSsXAxfESOoQvIkpWcL1xu1Sl3t9PZD65/VT7uvou3UbfjUBRFub8Zm4yctLQ2NGzfG3LlzZR+fPn06Zs+ejXnz5uHgwYMoWbIkevTogcxMcwFo//79cebMGWzevBn//vsvdu3ahUGDBtn/LgiPZ/Vxsye0WpmSul33wz9OaDpv45kEkWfLJLPRPnb9gXA7T2Uj/uaiI8LtJlVDNb0+y5UpveFjNKCqQn5w9/phFsfO/Zdi8+t4G9sv3LZ+EkF4AL8fvC7c3nnpDnLyxMbOAw9XniQKN2tP/oct5xLxxYbzssa5lGWH4wAAc7bpI/ZjC62muE7Yp/vMXbiflo0X5x+w+xpsxKr+OO1OlQafbcTKY7fw+sLDouOsc3bJwRtoNH4jTCYOuXmWDpS/jt0U3ZfOOwCEjJIVR25aPEaYsdn46dWrFyZPnoynn37a4jGO4zBr1iyMGTMGffr0QaNGjbBo0SLEx8cLEaJz585hw4YN+Omnn9C6dWt06NABc+bMwbJlyxAfH+/wGyI8k2PXk4TbpUsWc/nrv/3bURy4el+4bzJx+Gn3VcHjwnEcPv7T7ClRivxIF5IEG3t6XJuab/gAwLr3O1o8vnxQG/z4aguL48/NE8tj1x27HhEj1uqmTOcJvLHwiOxxqTIe4d1k5eZh45kEr470xd03R2OPxj6w8Mg+oJofwo3cZaIp1+6pp4ZL4ZUKj994IKyPzmw+7a7G1okuVGRUSo+VIyUzF9VHrUPN0flr/Ju/mo2lzrXLic6tVXBOxIi1aDd1q2xGCyGPrjU/165dQ0JCAqKiooRjISEhaN26Nfbvz9+87d+/H6GhoWjRwrzBi4qKgtFoxMGDB2Wvm5WVhZSUFNE/wrtgIy3/ntTHyNXi0WJ57ZdDwu0RK0+Jam4iR64Tnas0IadmiwvzrdXtNKocgp0fd8aW4Y8idlo0DAaD8Figvy/OTOiBjcM6YfMHnRA7LRqtq5cBAJyf1FN0nYeMIMB/yRlCqP3Lja5NU9ATrYuep/dvImyjzpgNePu3o+gxa5e7h6ILh2LvI0ey6ahWxrmqTwShxilGTODkzSTVc6UbZj4S8/R3+4RjNUatK3TzcGs7Ik5a9hxyTp22U+2v291y7rZwzQA/H8Xz4pMz0Xyy4+0+igq6Gj8JCQkAgLAwcdpOWFiY8FhCQgLKlxfXO/j6+qJ06dLCOVKmTp2KkJAQ4V+VKlX0HDbhAjoxHovDsQ9UztTOawsOyR6PnRaNvSO6OnRtk4IDJS/PNoOrX4sqqFamJGqWD5R9vKS/L+qEB6FWmFiyMsDPBw0VJJ4dmUgdJTvXhBNxSTYbnnKkZcsrvAHAwA6Rwu1p6887/FqEZ8ButC4mOq/OM1VBPdAZJKZkIlNSLN6rQbjLXp8gpKyJMTsYP1iunhp+gektx7Pn0l2LY00mbsZTc/c6NC65NC1XoYcYgRaRhsiR6zBs2XFN19Oazs6nhGdb+fweZrpu3vN2vELtbeTIkUhOThb+xcXFuXtIhI04I3Vpt2SCnvpMQ1yb2hsAUCm0OE581t3uayvV/Ng6ebevUcbuMfz9XnvRfSWhiL+Oui6394MVMegzdy++36mtkFZKnokTIj5SbznLi63MDo71p+WdIoT3seywfeqItnLqputkdDNz8pCSId50ZFH6CeElJGVYRnRe/lk+CycmLgnJDqR0pme5rzFnukxT0D+O2LaXPKvRWFnNGJ/7LlsakhzHgeM49Ppmt6br8SnhuTY6X52dBpeSmYNTN5NxNt77srF0NX7Cw/O9XYmJYhnhxMRE4bHw8HDcvi0ubM7NzcX9+/eFc6T4+/sjODhY9I/wLpydnnV1Sm+82KqqKK0spLgf2tlpfCilZOVojHgUlPWohqmtwb4XIH/jKJc7/OEfJ/Aw03HjkuM4q3KnvEzwD3YaP22nbkWNUeuQnWvChjPKRk2lUEobKoyMW+N8SfOcPBN+OxCrek73mTvtvv7th+JagcSULAuVJldGnghCytNNK2k+95Wf5TMolDgeZ3/mhlq039nIrW1sna/e8IbHSz9ZGpKJKVkWqfZa+Gn3VZvOl0akHYXjOHzy5wnMKuhjuO/yPTzx7R6MXXNa19dxBboaP5GRkQgPD8fWreZcypSUFBw8eBBt27YFALRt2xZJSUk4evSocM62bdtgMpnQunVrPYdDFALyTBxO30q2MEbuSAqMjUaxocDz6xut7H5dOdSiFTzp2blCk9TiDhg/APB8C3MEZO72K4opb5P+PSt7XAt5Jg4RI9YicuQ61BmzQVORa4od4fXcPJNQGP715ov4O0a59qt4MfnPLTMnD/3m7cPXLpZkJTwLvhh74j/i7/3DzBzUGr0e606ZDevxT9S3eP7FxFSbxUp4Dl27b3Hs8m1xCl86GT+EGylVQiwqlK6j0eGIyM47vx+1fpKTUJKft1dJtW+zyqqPq33mculzuz/pgicaV1S95kMb5xW9+w6dvpWCFUduYtaW/PY1QQG+AIBUL0y3s9n4SU1NRUxMDGJiYgDkixzExMTgxo0bMBgMGDZsGCZPnoy///4bp06dwquvvoqKFSviqaeeAgDUq1cPPXv2xFtvvYVDhw5h7969eO+99/DCCy+gYkX1PzzhvfRuaF8OfI1R6/D4nD14RRKG16rU4udjRGRZ26W1lTb+uUrFQAy7LprD3EqbeK1MeaahpvMckbU8Ey+fIrTr0h27rykHm688b+cVHJTZRFpj5bFbOBz7ALPdIMlKOIY0YuIIfDH2L3uviY6/u/iYxbnPtZSvEZWTu9fC5H+tNydOdWN6D0FIPf45ufopqt1woE/fSRemo0rJUDAEtKaeSfcEM55rLLpfR1K3y6flt69pmX1yV6a3UZXSJTDnxaaInRaNq1N648LknhbnsFyd0hvXpvbGuYnK52XIpPo5AmvQHY69j50X8/cI8Une14vQZuPnyJEjaNq0KZo2bQoAGD58OJo2bYpx48YBAD755BMMGTIEgwYNQsuWLZGamooNGzYgICBAuMbixYtRt25ddOvWDb1790aHDh3w448/6vSWCE+E9cTyHL3+AC0mb0arz7eg7tj1uPlAPKmyucX7JE3JPmdU1soF+au+9pbhjwq3A/19hdvvdq6B2GnRspOH0sYoW8MiUrmUuQuzI2lvAARZbGdyREGA4n6qvuo+B67a31iO96y7siGeJ8LnirsDR73HA2WkzO2pBbyUKC7QPhJrNqKldYAAUKKYr8UxQHtdTnJ6DpYeuiGMNUGD4yWNIj+Ei8nIzhNqUjMlm96t5xPlnmKVHR91xuHRUaJjiSneOQfzUZBKocUtHuvy1Q7ZvjosK4+pOxjf7VJDdP/vE/mZDW0ibU+9NxoN8PcV7x1MJg4RBSqSbz9aHUajAQaDAcWL+SB2WjS+699MOLdUCT8AwKNf7sBL8w/g9C1tRmfs3TSsOByHWwrGzP00857g222X8eOu/DQ8WyNSnoDNxk/nzp2FBZj9t3DhQgD5dQoTJ05EQkICMjMzsWXLFtSuXVt0jdKlS2PJkiV4+PAhkpOT8csvvyAwUF4NiyicXLubhr7f78Pd1GzcfpiFzBwTOnyxXbSxazxxk+xzI0asxX5mIz3+iUdUX8vHaMDFyb1wekIPnPysO15qXRXf9W+GT3rWBZAfnTk9oQfGRNdDUIFxpDXyI/X2AABfqhNaMAF5Oov2x8oe19vwWnVcm8T5a22rARCLHvCGMWsEe3OfGHvIM3GoPmqdkCvOcRzeXXwUy10gIrD9wm3UH7cRESPW2n2NUzIL8G47oouPzRRLZD8r6YElR4NKlnWiq6xsZngGLzmGkStP4VMN9QG1ClQd3VnbQBQ9MnPy0GjCRjw6fTsAy7Tk4Su0NQOXElG2JMoF+SN2WrTDY5TCKnrqmZanxMJ9sQCANtXL4OMedUSPXbubhpqj1+P0rWTcuJeOx77eiZ/3mKPKcffTRfVBOz/ubHH9CEnz9pSMHESMWIsZm/PrY14tWNfs5YX5B1CloDG63L6jd8MK+Oe9Dtg7oquoz9i+K/c0qdT9tj8Wnb/agU/+Ook+38qfP5VRXuWjPgDQsVZZze/DU/AKtTfC+2lRrZTofpevdsie1+nL7YrXSErPlt18RTeqYPX1i/kaEejvC6PRgClPN0TvhuLnBPr74s2O1RFaMt9g0ar2Jqf+drHAM53kJY0OY+/Zn8ZgC/+cMBs/ZQOVG932eCQ/RXLyU+aUvyUH8zf4bKQg103N8dzFjfvp4L+W5/5Lwa/7YrHuVAI+/euU+hN14PUF5kZ7evb7sLXuRum1LyY+RExcksXxuuH5mwQfo+VSp5QGI2VPgVqTmkAHDx8x3n3pLuYxoiCsIElmTh6u3nGezLcWDsfex8iVJx1S7iI8h0uJqcjJ4xCfnAmTicOWc/ZFerZ+aM6S+Emm2bYjSB2KH3Y3O8VHr3J+wTwv//3XsZv436M1ZM95fM4edPpyOy7dThXV0UojIdXKWKbSVy0tFumRpnX7+Shvt6c8LZ/e/hlTr3jo2n0hWi2NCvE0rBwiG9kCrDsLJzHpvHcVsj6UnMJyEXdPh4wfN3P7YSZ+O3C90KsDaX1/bOd0KU0mOr+Bl09B2EZR8EAiNXn1bppw/sK913DuvxR8q3M9yuwXm1oc2/1JF11fQ47g4vLpQjyOFFM2lxjDLHWEDas58nTk+gNk55rg62M+dvxGkt2vbyu3kjLw0vwD2HI2Efsu38VHOins2YIf895XHIkTLTi3UzLx+dqz+GLDeby+4BC22rn50cIcHb/f326/jE//PIlBi45oiuQpzQHdZ+6S7UGy/v2OAABfmShm+5q2eyutzWNX7qQJt6etP4/07FyMXHkKDcdvwvyCFJHxf59B1xk7sSbmls2vrxf95u3H0kNx+GIj9dDyJpYcvIFP/jxh8VthhUGVesHIOQ6P3zCnPNerEIwa5QJxbWp+LUlU/TCL8x2BT5ECgJ9fa4EAZgO/6rhrfwtKAklSMnPyUwm1JBkU81XfTqsZP88r1CX2ayE+zjt4rL2WHFFf7xTVAOWZOPx59CaOxN7HuDWnrfYQAoAB7SJsfl1PhYwfN/Pqz4cwdvVpjFnlfO+tO7E1DURvlRKt8BtuxbQ3BZ39xQevY/w/Z9Hrm92iDZAe9JZpmFiltH5S0D0eMS9yfJ8kAIi9qx4Raj7JfmN04xnlzXmZQMsarvtp2ej85Xa82KqqcOzNXw9bnOcsxqw6hX1X7uHNRUfw0k8H8efRmw4p7NkD+907ev0B7jH51898vw/zd1/D9zuuYPuFOxj4q2V9jV6w6SCOkpSeg+VH4rDpbCKu6BgNqRASgNhp0YJcvFzhrz2CB1Klqz/faat6/oxNF7H0UH7U8vN1+Z7VZYfze4vM22mbbC1LalYu9l25azFPXUh4iKFLj+Pg1XsYteoUblupT7py27URKI7jMGb1KcVUW0IZjuMwatUprDhyEzML1LZ4jIz1I9e0lCdixFqR4cRGXt95tDqA/NIFaZsFueso1chwHId1p/6z6Ev3/Q7zb+fR2uU0GyDOYuOwTlbPqTt2A3rM2qU4V/D1xIM6Vddg/Ci/X6UU8wDJNXn5bBU7SpErd9KwusDhsu/KXdQYtQ4f/XECz87bj0X7r9t+QYYlb3mfUjMZP27mfMFEVdgbOabZoH4UezcNW8/dtn4igIuTe9k7JFn4Scik2OdHfsJ3Zv8SX40zndKYrcELRgztVku06E2UbO6lxelpVpRk0rJy8dma07LSwCyvt4/QNM745EyR98weuW17WHX8JrZfsKxN0dvItQZbb3byZrIozevmA+9R23m2ubxErDSqKsUW46h/66qi+7cfWhZps69nrdiZ50GaOB1Emg7DCqoAlhKw7Oso/V7vpWYpFhzzvPbLIbw0/yAWSNTueszahb9PxOP5Hw9gycEbePUX9R4uB6/dd0m9Bcdx2HHhNn4/eAO/H7ghmi+zc00Y8ddJrD35H0wmDtvOJ+qqDCgdh7dhMnE4G5+CTEaqefZWsfHD2irj/1Ffi9j+MlvPm9fZJ63ILEt5f3mM7PF/T/6HdxcfQ8fp4hR2dr6WW9PkmoHqQVpWLhqO3yjcn1qgoMpnGFjj6p009Jfp1QMANcsHInZaNEb1ricbXWbJzjWpZjzIobT2x8SpCxjwtYdS+LX4pfny74clMycPFxIeCq0vIkasFRw4lq+n7bP0JMj48RCc1RH8flo2Zm6+aOGFcTVq6kfzXm4mut/5qx0YvMRSslYOe8K/avAeNKWaH37xZBXd1PrhOAO+cWvpkuK6GT5snZ6da7HIL9h7DW8tOiLb8fnUrfw+B8VUPFMArHqRpUxdfw6/7r+O535QL0gf3bseTo3vjgHtInBs7GOq52Y4uFFLSM7En0dvWm3myrP6+C18sFy+WDg8OED2uLOwVWXJUzd6Sr0sjl5Xb57YbYa4MSmr4ijlbUlOv1yNGR9J+3LjedT/bKOFipwcfNQGANpWL4PgALGoyU+vieskpHVpLzOS/XJzzLpT/6H55C1oP22bqnws/1ktP6zeof58wkOL74F041x/3Ea8tch5kUIA+N/vxzBgwWGMXW1Z27Hs8A0sOxyHwUuO4a9jN/HGwiMWf2s9yM41odc3u/GBwqbdU/lx91X0nr0b9cZtUDyHrT21JR2YdWhZi/awamJAvuoix3EYtuw4PitocnntbhqGLD0uOu/7HVfQ6vMtVsci1wzUUdKycvHIZxvxkDG82CiwtfXGFqx9fpk5eahuR9sNOayt1WuHdsT0vo3QQZLay9bdWoOPemlBuhfxBsj40ZEfdl7BoEVHZIvgWVIyc3D1TqpLNieT/z2Lb7ZeEvpiuIPcPJOqcdezQQWsHdrBpmv6Gg1OUaCxlvbG/8lKMP17XJGit/LddsLt3wfmh5jXDu2A6c82Eo4/SM/G1TupqD9uo8i7x3EcJvxzFpvPJmK1TG71iYIIwjIrG6mVNuRlZ+ea8PsBbSpkPkYDggL8MP7JR6xOoreSlA0wjuMwZ+slnFLpJdFm6lZ89McJfF2gwGOND1bEKD7m6jq9H3bZlia1+9Jd3NBBzMJWo1cOdq6TNgTlUXPQyEVJaip4NwHL/HqjzMaEFzyYu/0KsnNNmLFJ23eC59uXmlooOrapLpa1/UuiKHfgqjkKyn4ONx+k4/LtVFGfosOx6hFTALjEXEPJoP/kz5OYt/OKME/Jffc3n02UFZ/Qa41SE4s4xhi9/Bz00AlR3X1X7uJ8wkOX15c4yhyJscrD/73TsnLx5LeW9W5aUIrCytGwUojofouI0rhxPx2rY+Lx6/7ryM41WRi3R2Lv44sN52Ujr3LIOeccQU5YiXXE6r1pn68iEhHg5wN/P8std6vI0ja/Tv2KluqVLMV8jXiuZRX8NlDc5D2P43DQgZYTSriiJYfekPGjI1PXn8ems4lWU9gajd+ErjN2ijaozmJ3QShZrqmWq2BT3pTyXh+pGCJ7HLBMi+patzwuT+ktf7KDWDN+eNj+Pa7o6dGsaikseqMVtn/UWciVrhBSHM8xBZG5eRzeZGo9Np9NROTItaK0s0/+UpbrtZY69aPM5lupT8t3OyyL4oMD5AUUrHnMWFgFLSmT/j2HGZsv4olv91hNY/pBpd7ihR/3I2LEWjzMzEFtlXB+s6q2pTA4SkkbG+a++sshdPpyu+aULiWO3VCPyGiBdX50qVNO9pymCp/nw8wcVB8lnit/eKU5AFj0IAGAryXNBwFARuwNMzZdUBwvi1KqSplAfzSpEirct3cjdedhFjp8sR1RX4ujHSkyv63f9scqyo2fjZfvVP/H0ZuYtv486o7doOqouSiJfNUbuwGRI9c5ZbPEsjrG7I1mo3//Jeubyqm1MbanoZReXGdMfiTosa+Vo2TWGmXyTry6GlLApBvc0iWKiYyVnDyThYKiNRn6pW+1Ed2XNi12hC1nE2WNrlfbRuj2GlIeqx+GDx+rLfuYj9EgEnkAgJ6PhGP5oDay56vRuXZ5TedJ11aOA57/8YDNr1cYIeNHJ1iv2UkZyVV3YW8diJ6kFqQqFfMxWmwQlFJgWD574hHETosW/v0yoKVTxgloj/ywk8o/J/+TPbeXjFCBI3SqXQ6RMmHzoAKj4vq9dEF9DgDeWnRE18lO7jP5UKF/xD2JVGaeiXN6jc6KI+bI1XmVol8eOaPgXmqW4J1vOH4TLqikQg3tVtOOUdqPvXWBiRq9rko4aDsBEEdHq5QuIesplGtWzHEcGo637PfFy6HzPUjYf880s/Rmy0V+/pNEOjacSZA1Dv5TST8zGAzC69qTQmMycTj7n7zRMmWdpRLbWJXaQi3fD7XN5R6m5uLKnVRhI+uuzZLe6Wnsd8BTU0JthePy5a2V8Pf1Uc2QkFvPlCgpqWf7dvtlUVqntYwXHjY60qa6OOqxRyfJ5P+SM/CmQipnkMQJJ73vKOnMHML2v7n5IMMi8lO5VHGbnH887haLKAyQ8aMTbLO+igo664C+PTKkmEwcHvt6p6hA7V6a/OtxHIfRq07hyW/3OD19J73g+iX8fSzqFjztJ8xLXSupu/BH2XFXDJGv/RgdXU/HkSnDp4iw9QTWOHUz2SIayKfT2YJSP4lNZ8UbsY0aeqTIwSrRWYOV6pR7Pakj4I+jlk0utQoHnBrf3a5Fy1Yu304Vfsv28r1MFM4W/j7heJoQ67328zFaqBgBQJaM4aFXdFzpL9V1xg7R/ZkyKWFqm0tHOR6XpNh9XepFf0+mDpJ1htxXmOtZpm9Qjnaxkd1+GhrHauWl+fLGk7XoOpsiqAfs6z0oJP2NtL4PJQNIbj1TIqS4ZdNutnHxprOJiL1rXQTmMUZC22AwiFLI9Uqf2nJWWU1Uajh0qiUfibYXtq6GbUdwJPa+RX8erWJGLH2a2CZMQchDxo9OnGFSDoJlJgmeGzoKD5hMHBqN34iRK/NlsndduiPKAVeC4zhEjlyHxQdv4OTNZDT4bKPV5ziCj9GA1pGlZdOEWkSopw6tHtzeWcOSxShEfuQf5z2GBoPZY1RWxmMNAJVL6SdHrScrj93EE9/uQYvJW5CUni3ULYSHyL8PazSesMki5UZq5Cpt8PytCFZ80rOu5nGw6VRsWiKPtO5s/N+WXnS+C7g1ggKUf+N6Ik2F4vnznbZYo/G3obX2Sgk1WXKt7LggVm98r2sti3O0Nh19umklh8fDc1Wi2LfvinNTvKRk55rw5UZ5g+R/ncWiDf/KRJjZaJmeaV1aDCkt3HyQrviZao0U6MWIleZ2EjsvalMT9XSe/k57rQ/fGy6AiT6w65k9sEIiC/bGKjpb1Tg70Zya16iycvq7LdiixPmkjcbEY1b6HymJMHWoVdbCuLOmECcHW+frKh6rH4Y32kfi4x51LBQtvRUyfnSC3TSp6bmnq8gD29pte/TqU0jJzBX6SCw7pF6wnpNnwq6LdxA9e49Nr+Mo1csFYvnbbWXT1aRqJFLYnHpXwEd+chUkrVlPGa/2leMkpT5nMZxJVWsycbNQt8N7pd7vlr8xbVApGBcTLdWipCRn5KD37N2iY/UqiAsyt52X32z0a6FecCuXCsUTIEkh8GUKO+SK6g9IahdYY4h/j0rj9DRaRJRG4yqhFl3FXcX6U//ZNF9JvcZvd6pucQ4r5QsoG8x2FazrHKWrUlo5um8LatGPMJXvvgDzdD26rKv1brmU+BCjV52yKl3PsmBvrPJrFbz3FjbK/9pCSmYOvtx43qI2ke1m781cVxE0GdghUnSfd+yxXzlhPbPz58F+Xc4ppG+ynBjXXfVxvRooS+tLX2xVBXXCgmSbdIaqOKuldK1bHj8W1Bsq0btBBdH9N9pHIsDPiMFdalqk39qTviaNHlljRC/tDkQl5r/aAuOeqI/BXWpi/JOPiB5TktX2dMj4cQJq/SpeUMmfvmOjKMFSxthJSs9WVdQBgFqj1+PVXw4p5pi7Aw8oSRJRvCAEr1QYzOZI84pSOZ72JmyEf098PnKlgrTN07dS0H3mLszeavuCxOY6A8o1OIO7qNfNSKWEWaQbxwaMGtGq47csog2vL5Rvivr+suOIHLkOP+2+qijgwDKkq2trfdTY9uGjCArwhdGQvzC7iv8tPobGEzdpTpl9b4lY/lZu0Zf+5rQKEmhB7wTF7R92VnzMFmEKuVQiHmt9jwAgU6Nku1ZmbZFXFjsTn4LHZu7C4oM38NwP+zF9g2U9khxqDXGHLcv/ThyxInFuL6dvJaPR+E2Yu/0KGk8Q143dT8t2WyNtJTiOw8iVJ/GVJBJYqoR9UeZPetYR3ed/ciYZ68dg5y/E1s8wxM73YisVJKUHnz/VEBs/6GSxcQe0t8tY8mZrfP9yM6vpzs80E0emxz1RHyc/64FqZUpaNCe11fb563/trJ8kQc7RJOWVNtXw93vtsXdEV3zRt6Hquez3cfaLTbHpA+vNYj0RMn6cgL1yjY7U3nSWkXT0Bioxk9S7kjQPd1CsYHbKVtx4FKQJwBzhk/OWrhva0RnDcyq8R0lqhM/cYpsEMADNjRPLlLQv1Q6w7KEirdMasEDe2JGypkBtavJabd7gcIUaL1fB9rfx9THi1PgeuDo1GhVUxqXHRk8azQO0eXu1It3IyzWWBYDnGYVDrWjdZEiNXzbqeXBUN0HcQC1Xn90cxU6LxrWp9ilTapFjP6ki624P326Xd3Q8PkecLfDdjit4mOlY3cyWc7dFPVekVFKpnbVGVm6exZil1B2r3DfHHVxMTMXSQ3Giv0GeibO7PkkaIZCrZ+VgW9qbdF3zNAOSp5hU6l5lAlCKpJQNNK9NL7WuinY1y2qKusgZU/wxaeTHx8aQm61NUgFLMYvpfS3T5hpVDkGjyqGoFFocPSWRKymdapvTy7vXD3NJ7aszIOPHCdi7KDgykSQ5WMCptgjpyS8DxDr4xRkv6Sc962Lh685TctMCP0lZS2UzGMzFinJSpDXK69PMzJXw9TdyNQjXmELWod1qoZuVKENWjjYHgCNNajkO+P3AdUGKOVfGYP1TRtTAUfo1t33zrUZOnkkQNXhZQ6M/pf420t42LGtiHBctkDN0+s3bLxJYYf8tK0jH3X5BPpVQ6tE+cPU+LiU+xPbzty0EHsYw4iHs4qsVdoE+OV459UZak8l+77Uu8bw0f1S98sJr8/UWUnIU0msB7TVQ83ZesVluf86LTW06X46G4zdh8cHraD9tm+Ym2v0kfWW+UehhAwBNqobaPKbs3PzfEi8DbY2IEWud2gbiUuJDrD5+S5O6nNy+Yd8Vcypjx1plUbN8IBbYuUYaDDJpb0LkRxv1KwZjJJNGpZdYUtOCv7VeDlA5aXsllNYgX6MBmz7ohBG96mLc4/W1X4+ZhyPKiNOS9Uh7swc+mjPz+cai6FvjyiHoWKusqO4ppLgfhkVZ1mTy+PkYcWhUN+wf2VW2ttZbKByVSx5A32aVhYZ2U9efR5XSJdC7Yb4FnZmTh2I+RqvFgHp6Uea82NSi07Ia99KyULmY8+sHutQpj9WD2+P0rWT0lZGkVWtc6AqEVDbF3Hfzbb5YUa4JpK15uY7wYquqQt2XI/CTdnCAr4UsNdt/Y0C7CGw5l4itKvUxak1tm1UNxTEbupCrMaagqV7stGjZOq2P/jiB8OAAdKilXlumlY+613bIYJOj6cTNwu09l+8iO9ckvMaC11ti2rrzGNG7Lk7EJeGtjsopDPVlIjM899Psc46wdT3lg/w1NysE8gvMVx67hUMKzTqPj+uOa3fTMGfbJaw8dgv/nIhX7ED+SttqQmRu45kERDdS905KYbcYwQF+2PFRZ0zfeB7rTolThZtJNtxsHZJWD+f73WqhXY2ywoYOyJf3ZqletiSu3k2TbTrMo7X54bT153GbERjxMRqw46PO6Dh9OwDgzQ6RGNSpOjp/tQODu9TEY/XDUDssCI83qoCbDzKQlJ6DJ761rw509Kr831/H6dutNp0+PaEHAv19RSqLan277Mmg+N/vR21+Tq9vdsv2i9KDx2buApAvE22tUJ5Nc+Q4DgaDAauPm38PC19vpUkNbf/Irhay1IBYSc1k4mA0GszrmQ3ee3YDfyRWPWXxrY6RmL/beu+euuHBOH4jSbd1k3W+SYVDpCgZpiaOQ+2wINQOs94DiYX9nPs0qaT4mNx9OSb1eQRj15zBtGfU09HUeL5lVfRpUgkBfj6i/llr3pNvLj8sqjYW7I1VTAMvH+ze7Ac9oMiPTkilfflO3Q/SslF37AY88e0exD1Q945JC37VuKTSf6R2WKBgeGnFmuyoXhgMBjSpEoqX21QTRX149N5Y2kox3/zJSGnhNQseGOBbkPbGbvS71i2Pf4fITyjOwppi2hvt8wtfpV4oKbwXavnbbS0e28pIWpco5oPSJcT9mqQpV2obl6WD2uDr5xojZpy2vihaNrq3H2YqFsueT1BOzbK1AWjVMvpH9KTeUzb9q0ud8tj4QSd0qVMew6Jqy25qhHNVonFfbDgv6kXGYzJxOH0rWdHYZ6M2k55qoHh9JZQMH57IsiURpEE9iPWmxqv03VFCureLKFsSnz9luZmQCtJwjKKAXHd2OXx9jGhbo4yqV5Tf9Czaf13xnEPX7mPWlovIzTMhhYkKyBUwS/v3sGP9X+caKB8cgLMTe2Jwl5rCZs5gMKBK6RJoKFHYctZaYE0lStqQMyfPhOSMHOy7/H/2zjs+iqrr47/ddNKAACkQSGjSewtdiLSAoKCi2Av4PFgAXxEUUREFGyKKIhYsD9g7CAgIKL1JR3roCTUJLXXn/WMzs3dmp+7O1pyvn8ju7Ozs3dmZe++555zfOa+7Xp3agowS59ysg6UE2+aZOkKH2fPOP2RLCeiVgU6Oj5LNlWTfzoe+GZG65mnLKLQePievLjvj9pbo2zQR/+2pLz+Sv73LTKq/xJY9eEJGWZKF9Zi/eoujT3C1JRHMfS+dz0h/Qj0/6T0ZacienoXhHWq72CI7fH+UHB+F5eO6Y9OzvVX314ruCHTI+DGJywoFHMd9ux2APWGUHeQXP+mcE1KkI3mV4zikTVgkrCjJMaJjHV0dJVuU704FIYatxy7hvk83ea86NtPj1K3u/dAx3Z4fi2MFjA0ZnJTVWJR47w20DMbJg5oge3oWFurMQ6osk5TKFlAMtVrQu7G4Y5R6LZVCnQC7V+zWNrVQWWJAKfH27a3w8+gu+Pflftj0bG/8+7Jz1fJx38gXW+W5wIS2sPKieqThWep54Zq83cUaK1qJ0Z2mrXDaNuevwxj47hpM+GEXVu4/i63HLmLNwfNIm7AIL/yyWyRU0adJIt6+o6VLbVNDWmxUDtbrcqcLkwC5hG45sQFp3hhrwKiJbxhF73U3c/lB1H9uMUZ85AiHHNAsWXViUqdqJVQKd4w1oUZigOB5Cer3R7SR3R4RGoJlY7sLilwlZTbcNmcd7vp4I77Zoq5kCvhHQW8Wdk6w57TyAgwPO2Yv3Gn3+CitvN8sKQ7+dF+7uIGad4C9h3gjwxWpa7ZkhZyQTbcG1XBrm1r48J52qBKtr4/nr1GzfkN+8W1wqxTZRVaWtGrRGNwqBbe3q4W7OtYWhGNcyS0ExEa+lhqnXPFlb1C/Rqym98a/7ibzIePHBNTiedmkXV57vnpsBBolxTp1OHrC3jbqkBnVKoK1f2o/ZE/PQlWmYzqdX+hUqwUAhn6wDqsPnEPvt+TrjZgN2ya9dUzMJExD8IBjBA/4SXTedUc4o1qBW08hTe5UQrryunZCL9n9ojTieENDrE4hQNL8BKWwNznDRYvwUCtapVZGZFgIasRFyhr2fN4P4Kxuw3FA26nLheds0ugLMrV+ACCjboLw+GFGMrZpiucNWyVlPC2k50WuHo40l+adcnWvH7adxAPzNmPoB+uFYrmfrz+GPxgFSYvFglta19IMb1JDLt/mD5WChADw4iBxvL1LFdll5hhy8fanJEVueUOArWfiKZaP64Hb29XCI93SnV5ji0mmVo3C1FuUvXBHzl9FTEQoXhzUBM8PbGJYYetsgWueEOk4yE5k2UUDtaiEBomx6Fge7ldcasOBXLuR+MIv8vcpi5KBNFLSHxjJ33AHPcqRLOzl+LlGvTHpdxp9Y33smNxH1TvA9g/8T+WK50eL9+4SG7d/j78R/+lZT9XTwBsBUhEbV/mtvCaW3rpd7wxvjdeH2Rd2Zg5vhY/vbYcnVfJetJh2a3MMbVNLMwLHrKKunkBPnlogQ8aPCSjlL3wn6Yz5WMtQqwUWi8Vpkqkn7E26MimH1oq6UlyttFYLi1mJjVqEhlhxYGp/HHylv9cKSbLo9fxYLI6Oiy0i6YsEQKnnZ87d6nUIeGpWjsJXj3QCAHz5UAdhu9646xEdHQNtYYlNtrNkjYhP7mtnyvmRU8hh7wtpGKD0nmHDw5RqlrCy0VqFeN2ltQuJ3XKwBukXD3bA23e0kt2PDUnUWuVX8rK46gFzxXtyX7knYGL/RshqkYzejdVzJ+TQO8eQipeUlNqvHTUxCTOoWz0a9WvE4PVhLaHVxVssFlVvDr/6f3+XdKdaL0rcxdzLH/6lnIez4OGO+POpHrKvsSqRNhuHus/+Ljw/ZSBUMVRmAapYhzdqIlPElOePsd3xf33Eks8Pdk3H+onihR9PqJbNUTmPcrA5P1o5kbVlQpi1jFzZsDemdINZVJJ4WlKrVsIz/Rqpehr420vP/EYPUeVhn0bDmgF7H5XZJNGte/7ODrXx1u0tnYwb6bfzleeHIOPHFJQ69qe/3yl6zlcT58M8pJ2EnurIx1WKmkkZaDAp2F8ID7V6fLKh+NnleTyKxk/5vxZY/KbjWiqp79SvWRLWPHMj5j3QHkdeFcvsSuVjM+olIHt6Fro1cChoSYuHKvHKLc1FeTust4efHD+Z2QAbJvbGvin9XJq0ymG1Wpwms+zCgVSGWDqhfVhjQtgkOQ5/HXR4bOvXiMGXD3XAr495xhPZwgNhkrxwiFwoXNupDoEFrYVW3jsirV2TXs0hTJIcH4mj0wZg75S+2PliH2ydJJ88blTy+e/xN+LotAHCxGxUj3qYfVcbl1ZLXa1jwquxmdEf8f19verRwqIAX4yxb9MkYT+1vC4eNU+UK/WeujOCIPM32hdz5KrPd65fDXWry4vSzGZy7qTCGPPu7yDdXRE+l/KMhsF09nIhpi/+V1FpbsukTDRMjJUNC06OF/eDasVYXWXBRmMiNEfPi0Mh1VbeXVlEYMcrR36RI5LBLFy5V0LKjXmz8s1uKM9ru7tTHVOO5ym8pfbmCsHt9yHjxxQm/LBTeycAX24QJ7dKV8FnrTgoyMRmMxKrLGpF46SM7+teZV9/1fD3JFqeHx671LV/dFxy8eS1qlTCjTfUcOpc107ohbfvaInfFFReAPsq4O6X+uKn/2oXVGMnauz1whtCkWEhSIqP1Iy7Norayrd0cjxLIqerVKOlVWplNKgRg18f64K/DzokZqMjQtGtQXW0qFXZ9QarYGaqwqr/64lfRncRwi+3THIWlbhcWKp7RfTlhXsBOMsOs1Lui5/sBovFgkrhoYiLDENCTASyp2eJPNvjbmqouLqsVM8ltWol01aklQ6zRcZQ+2CVY8Wez+fLu6a9MKXFj//tjMGtUvDJfe2F++FyuUedNS711PJQOy96jCcpcgsT0hCkutUcv/nBV/o77f/PiTzhsfQe7FRXrFz3hEqh4LDye1tqQH275QTaTV0mCF50eGUF5qw+jG6vr3TKSd32/E2iOi1ytU3Ysguv6Sza6irVY7XrmT0vCe3bcEQ7xB2wq4HpgTV++J+WjWTwJYLggUmdIb8Y5m9SzFJ71midH28S5FFvZPyYgVQhSC9quRo931yFPaedC9hJE2Wl3iOW2gmVsPPFPqKOrecN4hoZ425qqPh+rbjjYITPXVGS8GRX4/zF85Np0KNyS+taTgpPUmIiQtG6dhWhkKsS7CpfbkEROI4Dx3GC8aOlROcqajncejwDcrv8PLoLlo3rgdAQK7oxK+Fs8rgnMCvUA7An77ZMrSw8D7Fa8N2jzup9TSYvNRTTLb3W2YRrpfOz7+V++O2xrpg6pBlG36g82V0hE0bVrKaybLcrKN2q1WIisPDxrkJtHkA8EeY9AlLpd1dolBSHd4a3Rlq1aOEa5X8C9hx2rpcg93YA6v01jyvGj9Jq/QeMOAF73LAQK45OG4Dl4xzV3XeezBeuqZUS1TWpsTZOEorGemeUFpXGf78T568Uo/P0P51e6/iqWMyjqiTR/vb2qXhneCuREmevRuZ4ovXgiqLcf+c7ZLvl8veOThuAf56/CfdkpOk6HtvncU5qb74dy8z2/PBhknrzYb2FtM/1s+ZVKOjUe5H08pWzGuWrQEcUvDs8WbPUay9kT89yGgylIQ9xkWGoxKx+rJJUTX+it3JS3wITascEGu+Xr/pqqTFZLPBocTwjDG/vUKVRW1F1BSMhRoPeXYP0ib8jfeLvQtFFTxk/ap4fqwXo3yxJ9rVZ5cUdtcZY9r6ShnyZjadFqtqnVUUfSY2R4jIbzl/R782QJsE3TIxFo6RY9G+WpKo22LxWPO7upK4+GRkWguzpWaIQyhm3t9LdNj2oTe6a1YxHuzryNXVYqWEzkYaUsf1NaIgV2dOzkD09Cyv/r6dov8dUjEhPwNYnkgqmWCwW1K8hroHCh8yN1xkNwfMKI6OuteACuFaUe3Crml5X4nSHS0yNLbnwLYvFoltNDRD35byRwaqXmsELg1wTk+A9IGZJXdtcULHzBtJvZ2auldkEueOHjB9vwicam5lA3bmeuHjjJ/e1c9pHy/U743aHfC0bPnDMQH5RsKAlb+moiG3RHZbgadiVUrPrJIVJjIzuDasr7ClOSua9oREeCjtQm0xbLRbF/LlBOvPgWtSqjE51q+KOdqmKYXJmwa8GshLjriTqqjH3Xud+4ZvN+hc39kvqioWFWLH4yW74QKe4hh4qVwrHpKzGeGFQE8OFBbXQmmMoeRsaeKjosvT6LZMp0AvYF8z40LwnejfwaI7A4zILJ6yynh6P0qSfdwsLHzxK6pFsTiob+qhHmrvx5CWKr/2oI1xXjkMGZe/NZNrifaqvK4WGGsEiF/bmYs5PpqTUwbRbm2PmHa3wQBd9AhtSBMEDk1aCPCHk4An8JXpEDlJ7M0hZWRmef/55pKenIyoqCvXq1cPLL78sOpEcx2Hy5MlITk5GVFQUMjMzcfDgQZWj+i+7GQlSLXjpS7OqGANAkxRxeIjcza5l/LCVxF0N4QsWOte3h5x0qS8feiIMFn7UZ7EhK2YLRUgnhR8o1OhQwnOeH+UfwGKxoI5CfQW9g2GI1YKvR2bgtWHOuQJmw69SPtA5HX2aJGLK4KYeMbik0vFv/qFdeFENT0wsHu5W1+UJlBpabVXyNtzWrhYAoGmKuWF40uv3nk5pivtWK8+hknr5zZbf5idivOBJzxuqi8YOvV4wNmcKAPa81Fd2P9YAZI06d3Mp2To0WqQwxZmPXVCPxHAXNW/Vh6uPqL43KV69Jote+HPurPZm7Dh518Qy3s1S4jFEJjRPf7vK1dnMMn7K//WjYRqAcx6Nv7WvImH6CPvaa6/hgw8+wHvvvYd9+/bhtddew+uvv453331X2Of111/HrFmzMGfOHGzcuBHR0dHo27cvCgu9VEjTROb+5ei0mmu41Hm56J/+OaX7+EorwM8NaKz7GFrqXWx89H4DNUbyr5dg9spDhhTo/B1B8KBUoc6PHy6GsJMIsz0/IZJVWKMJpJ7L+VHz/ABjZXIj2PopcoVcfQU/3keEWTH33na4V2cMv1HYXKAaOhKwWdJkpHUDiUiN61DqbeAr139WnvOjp0ilEaTXrysT/lducS5oKQ1vNALfj/CSy6FWi0v373srD4meK92rbLI324d5U+nzcSbsmxf38BSfrFE3cFjM8PTIwZ9mm5s5P1IjxV2D1WzPD48/LVICzqFkfjidEPDntpmB6b3MunXrMHjwYGRlZSEtLQ3Dhg1Dnz59sGnTJgB2r8/MmTMxadIkDB48GC1atMAXX3yB06dP4+effza7OR7n1x2nhccfy4ScuYtSwcNXfld3k7OwE1a5HB9xNXD9vcV/52/FG0v3o/sbK3W/x9/hv3+JQhiKmjt99I31PNYuNcI8GfYmGdTkws0aJiqHBpnp5WRRu06tFgtSKkehhyRE71lmwcDI6rCn4Sci3lA95b0HRmXHM1SS8AMBrQm1dPLGF3U+ne+ZBTnp9asmXKNE36ZJTrLiZqgq8vkgIVaL6f0JC2sUseE/RsYgKeP73aC9E0MWE3qXbXAR78KVItw5dwN+2W5fzNySfVG1npGRhbNzHson5ccth9qba5EMjZPFnlA9eVpqWE3O+fHXkC1/bZccT93UENHhIT6b13ga03u2zp07Y8WKFThwwB5SsWPHDqxZswb9+9ulMY8ePYqcnBxkZjo67fj4eHTs2BHr16+XPWZRUREKCgpEf/5IFY3iolLeGd4KgEMIgWfBwx2FxwWF8lWiWW8O34G/NtR5JRCwS9vyaBVUrBHnWBGurRA6xLP2kL7qyYFEWKhOqWuZbX2ayCfZexrWO+PpsDc5GiUphwS5OygqoZ7zY/83OkI8EWQN1tsluV33ZfiuHgSbR+Zp+N+ztMymKr8rrRHmz5XI9aDVfm/XFZN6VCtHuRbClhAj/g3d8bT+xizkAeXGj5vn5dY2yqFQIQoGjzu/xajuxiZqrtTL4Xlj6X6sP3IBT369HU0nL8GwOevRpVyJTq72kLTemBpsIeKpjBiEu/DnXOphMWr8SBdD3FVD5H9/s9Te/DXsLZCoWz0GO17og6fdLJnir5je40+YMAHDhw9Ho0aNEBYWhtatW2PMmDEYMWIEACAnx16QMTFRvPKYmJgovCZl2rRpiI+PF/5SU9WT0n1FeKgVB6b2RzuNOg28jO7gVjWRPT0LH0mSkdOZ6ukF1+WNH1YNafZdbXDolf64o718NfbjTEccoTGw/LrdMQDqqU0QbPAJ/qVlCmFvKu+V5l95C3biYHaYmZ7kY7XVYU8lnGrl/Nj3UW5XP4ka3Ph+vuvgXV19dYUwJra+b1N5709W82RMGSyecOm5DvwZLW+C0usJ5SHBjZLMFWBw+jw3fvuHmKK97nhqpF6LEKtVlHumlAepRr+mygtCrOeHNU7VFlyeHaB+n3rTSGfPl9Sw2SWTC7zndD5W7j+Lnm+sxOZs/WI53Rsoi8wYxSnszcWFF2kYrDveOsDxuymNu4bxU8EDqePH3z1Bnhb78SWmf7Nvv/0W8+fPx4IFC7Bt2zZ8/vnnePPNN/H555+7fMyJEyciPz9f+Dtx4oSJLXaPYW1riZ6Hh1o1kxOlk+R61cWen8RY9v2Om5f1RnSRqLzpvUjDNAbHNYccxR2l9Ud2n8pXjMk1O1bXV/CeCqVwQ7WJqrdXj3lEam9me350DGoXfCD5raX2Bmj/HtnTs3Dwlf7Inp7lUm0Us+BvHW8o/wieHxsHOedmnYRKmD2ijVOdFH9WJdKDq56fPuUGotQTZnZ73Jk7JjLeejPDTKX3fvOalQ0fo1jFg86ecnHYm/J9O9KgZ0cPr9xiN/RvMpgvxRZCliI3fvx98DwemLcZ2Reu4bY5jigXrbEzMd68RUje4HRSezN4/dWtLg51dreYKD9/MS3szQ+FiQBHuxzPCV9h+mzt6aefFrw/zZs3xz333IOxY8di2rRpAICkJPtKUG6uWDkmNzdXeE1KREQE4uLiRH/+QlKc3VC5v3OasE1r9U06kZCuTlitFmTUta+yFZWWCaIH14ocq0sRGiIGLHd2cHjKtCaErGiDtE8e+O4azFMofGpWp+VrlCSSeZTc6e1NlC83ilkhI7LH1nG8lZLaUTzSuiBmoifsTU/Ina8MVhZv5vyECiusNnwlU8drmkwSPQBcL3G/yKcv0TJ+lLwNfBiO2SvI0va4c3x2wcPMHB1pG11Zpe5UV9lbpCx44N0ZK98HmCkvv+Gw/pBwNr9UupgKmGvQCrk10jo/BpH+RtLQfaOEmB32Jni0/IsgmSYFBaaP/NeuXYNVsnITEhICW/kNnp6ejqSkJKxY4ajIXFBQgI0bNyIjw7kSub8jVBJmBh2t1fcQHQMdn7i68ehFNHlhKT766whOXGLC1wwMclFhbGVu9c/ee8aRTyU32H3yt0Oxhq2BYVan5WvYOkeyg72CO92XK+Ns/oDZCcrhzPWiFsIih9lSvCzSnAkW/rdwV4HIW/CXmSdruPDwxmyJQnhJ5/rVZLcH+qDNy/BKvew8Sh5OvlszO5xK+nnuHD6cmRwXlrheqkDah0nHKVYYRy9KNX4AadibY7vWgkv29Cx8M7ITXlUw1I3Cj4lK94QSavLnfWRCSm9VkIJmQ73iozyrQsmfcs5J6trYBSit/6ZnTqOGIDRkkgHqKN4aGGMA4X1MN34GDRqEV155BYsWLUJ2djZ++uknzJgxA7fccgsA+002ZswYTJ06Fb/++it27dqFe++9FykpKRgyZIjZzfE4fGJiuEKtFTnRAD2THF7QYMHG4yguteGV3/eJCs4Z6axOMkaTlmHGSrpKw94AsfoRa/CYpc/va6oxCcRyg6FSUThfJoSzEynzpa4dx75XQRQgq7l8SJAnJ/PqOT/2f6OZydoTMgUc/QVHNXLPX0OnLtnzFJbvy0WvRjU09nYQ6IsbneomYPm47vjt8a6yryuFWvEhSWZfys5hb254fph73h1JbuliQUj58xcGNUG7OlXwQNc0w8dU6xfFnh/Hd1C6t9ljdaybgLs6yue4GkUob2Bw4q12rtm28rLyiQrh8Ozn9rxBnN8jp87qDoKHxUnq2hjSvt3drstszw+P35s+gd2tBjSmx6W8++67eP755/Hf//4XZ8+eRUpKCkaNGoXJkycL+4wfPx5Xr17FyJEjkZeXh65du2LJkiWIjDSnkJc34T0/rMHD9gufP9gB037fhz/25sq+rkSkjKub7xhYI0gP7GfrmRx/s/k4utSvBgW1Z4Ej5x1F4crMSlT0MZmMBHBxmc3pfCkVhfOl8ePJGhnbjucJj5VCLfs1S8KiXWec2+XBybyenB/WO9oo2X9CZaV4M+zt74OOEEW5xQ0lgmFxo34NZdECJS+h47fxrOfHHYxEHaghNQD5Nj7QJV1X4dnUqlE4cVEsmqD2PXeczBMeKym/AXZZ5bjIUDzTX13s4OaWKZptlIP/3iVlNhw+dwXbj+fhltY1XV684ThONInn+82V/56V3Z9dZJMqxlYxuR6ZIHVdPrabJbbi7sJNqOlFTv2zvwqCbjRoMN3zExsbi5kzZ+LYsWO4fv06Dh8+jKlTpyI83HFTWywWTJkyBTk5OSgsLMTy5cvRsKFzUcJAQPD8MAPQ/lxHsmON2AinooVyk0JpsqXcRJMfiI1OtNsw8tZ6JsfP/LALmTNWG5ocBUvODzthLtIIIZl5RyvhsS/D3jyp9saidO3kKSgSetIgVDV+rPy/fr/uB8C7ggf/6Wn3gIVaLYYG4mvFgZ3zo4XSte2p30YatumW50cUdeD6cfTU9JLjswfao1nNOMy9x7nOndoxNmdfEh6zp0P6nuY14/DNqAzN2lw3uKjIx/eZxWU29H5rNZ76boeofp9RbJw4TJT/fZREdEpt/AKqxdn7ZnIfJkhdu+n5MRv+e5ue8+PrLyYhLkq8cO2vRlpFwPfZvgGOnPHDdnwhVouTISM3KZt5RysMa1sLP4/uAkA+yZH3jhtdUWeNL72egcISm6E4/1ItN1GAYGVqWxSVOn8nxymxiAbjYPX8sCgde/neXNntngzjylcwuADHRJKVb/WzMVAE50XPDy9CUb9GjCGFxkAPe9NC7vutPnBOCEkyP+xN/NydW4UdX+T6LL1IFQ/1jjM9b6iBhY93cyp8abWo9wG3Mcn9bB9msVhEhphew5CV/DYCP3aztXX+OX5JaXdNSm02XGcWzrT65JJS+7UXarU6nXOz+1Cp1LW/SEKzQixm4DDq/KvnH9a2FvozZRb8rX0VCTJ+3IQfHNnEcHYQiQwLcdKul+vMoyNC8eZtLdEqtbLwPin8AG10RZsNLzASFmHE8xMkjh8A8oMhD7uiFOrCAO0J2HAVT4qXKYVMnlaoau7Jthw6e0XxNbmBPDLcPMUks7F5cQLCxtZX1PtbjsS4SKdaPvd9ugmLd9trz5ntRTTT88PWbtt4VH/9GCkvS2o7hbgpGKJVG0op7E36Xr33hatyy3L9vTuXe5mNw4xlB4TnFzUURM9dsefRXi8pc1pEMzt0WAh7k0pdm/opxhHq/AS55yciNAQf3N1WeO5v7atIkPHjJnKenz8lsb0Hz4rd3XomhZEyYW+88WO0Q9x4xDEghoXKv3dk97pO27QmR/x3XjehFxLjAi9fSwk+DELe8+MYLNhwM18qJrNzjPAQcyf5fZhwTCXD+dY2zvKsgGdzftTgfxb2480sFGg2nsorkcOI8ZPA1PoxYigFIiFWCxY90U3xdU/n/Lin9ua4L/kC2q4gVcJzNy9JKxT6QK5jAaNEMullF5bUTn3LWvHKL+qE79dExo8bl3veNbFXWivP9tkfdwuPzaz/JAd/fKcipy58jpm3BG/smudh9g+jTgtfe9wqMmT8uImc4IEUqaqSnoFUNuzNxZyfgS0dalxK7fxqo3PND60BgPPipM2b6PX8sL+Dv3h+YgyKYWjRgplcKA3ijZPlY+191bHzoQR3d6qD6rERuDejjk/DErUQPD9e+Cx2hVUrUpVTeBys6BHR8NRnuVXnh7kv3TFYnLwOGp4bOdiQHiMTWWlZASUBISk//bcL5t7TFvun9tPfSAl82CBbkNXGcbhaVIq7PtqAz9YeNXS8UxJPeJLMwiC7kMTmCEuvM7OvOyHsja/zI7xi/HPMXNxiiy+bgb96fqQkKygAEp7Hd2XNg4TRN9bH0Da10LaOcjKmtD6Cng5N1fNjcIBjwzmUBsfLRc4JzUordxzHwWKxOMLw/LyDMYrD8+MseMDGErNGhy8XxqPCQ/DioCYo44Cq0ebW1glTkHBnaVZTfvXVlaKIeunfLEkISZLCX49Vo8OxcWJvvxc+EBYRvLAUFari+bmnk7yUOQD0NiCLHYyYfQnp9WzogR1PtELN1JC+15XJrRGp/YhQq+Bdlxp/oToXlqxWC/oYrD8mRS7H08Zx+GrTcaw7fAHrDl/A/RK1O7W+TSo6U0mm2LPSGO5pwQOr4PmxP3fHSAixWkwzVszO+eHx15yaj+9th/25l9G5nnIRYMKzkPHjJnIVrFvWiseOk/nCc+cVNe0bUm6iebXcQDGqEHKt2DGJN7LCqFQw7+zlIiTGRTqUkPx8cmkU3usm5/nhkeb8+Fq1RTo4m0WoDiUpJel1TyoAqqnasdd4IFybQpFTL4a9ldpswu/z7IBGCA+x4h6JKmViXKSQr3C3imFUETD7OmJ/a3d/d/b9YW6oPUrtJleKBBuZrH81shNufX8dACBFsgIu9vx49r7gDbbLhY4FwNIyTlU8Qs2rVVJmw+3tauHbLScBAElxEU77KH0lqcFpuvFjcSx+AO7l/IRaLSgyqV2m5/yYchTPkdkkEZlNnAvhEt6Dwt48wDejMtAytTLmlCe2SSeNevqzrzc7h6E9tmAbADjVUtCiW/3qCLFaVOOj+8msnrFGE8v0xf+KOv9gDXuTHfyYCT07MAVrSoSohojCxIoN0Wyf5vCAulNzxEi7pASAvSPCm0VOWUlZ/hauWy0G93dJd5pozb6rNTLqJmD+wx0rfGy6J3N+3D0ya7R0re/6SrL0N3Zl4q22YCSlTe0q2DulL7KnZzl7ftwUWzCC3G9bxnGq/ZfaJP1acZlIRr6rTL6h0reTGtnmGz/2fzkTcn7MXBAwO+dH8MxV7G6LUIE8Px4gMiwEv5RLVgPO4QR6Oo1LV52lfAsKXau1EV8pDLte7CObR8TzSPd0LNkjDiO6Xm78PD+wCV5euFfY/tM/p7Du8HnheaBNNrXQFfZmEU9glGo4BDphrIy2wZAaV9WX9KCWjxBoE3VvFjkNZVZYtcLt6laPwVcjO3m+UQGApxLP7cd27+A1K0cJj29rm+rycaTeVFfyhxbudC52rIY0JFzusz29uCYtLArYJ+Fq47Sa8fPJmqOoWn5M3quqF+k595Tnx6H2ZseV8DAzC/V6yvMTWCMB4U3I8+MFnIrH6ejM2cRRM6gUHqrakbatU9Vp8OM7onYy+Uy5BQ6Hd6BNNrVQ8/w4FpQsovN5/OI1r7TN24jCT3QMduzg5UlvmNrA68lcI0/gzSKnvNFYVuaoQh9s968nMHsSuvdMgeOJm4eOjQzDyv/rifUTe7m1Gh8WYsW0W5sLz33p0dcreGAGcr9tmY1T/NwyG4fP12UrHm/V/nNCSKnVYpHtq5TuOU97fvhFupwCu7w2BK+z8WOFmujZ5+dIptX58ZP6RYT/QsaPF5DegHoGlQaJMZ5qjiL/TL5JdrtWkbbg9fzIGT8Od3pF6FiNJDADENW0Wn/kgtnNEVCbFARaPU5vFjnlJ2KXi0qF8+QrSfJAwux7nQ1dNuN3T68WjeT4KO0dNWjCFCp1JfTsJpPyGEQ11Dx8Y8gZJ3bjR/5zv996Am8s3a94vP/2rCda0Dhy3rkmmdI3cvL8eOjenL54HwBxJINRzl02K+OHPD+E9yHjxwfo6cyHKtRO8SRKIQhWK3B02gDF9wWbEaAqdV3+b3B9Y2XSq0Vr78Rg1uClhZrxE6ieH2/cR5euOQouFly3h9YGW86eO7Dhyixmz7/v7lSbObb/nH/W6HDF68AaT261gy1yasoRlbFaLU6Tf2k/dvZyofB4JyNmJEeN2AhBSjrEapEPKVP4UtIQOU9J9MdFhgEQRzL4Ek/l/PjRrUX4GWT8eInKlcKEx3q8xWa6lN3FarGoTsyCzfOzdE8uAOCDVYedXqto7vRmNePx+rAWWPBwR137my1VqoRa2FugeX68WeS0YaJD9r60vNCPNyS2A4WWqZURJZOrZvYKPPsZ/tSTXC1y5Dm6ktNh1mQ9TCQF7vkzJL33bExOHOBYKLC3R/1Y+ddLRWUg5MpWKK3PuKIMa4T4KPs8hFdvdEcYwGhUgBohJtf54akgwzThAjTseYloxqviTyt9eigqUZ/Q+nrVyFNIi9WxSL9xx/Sqnm2MD7m9XSo619dXOZ5duWPrS5mNethbYFk//xzPAwBcuGJeGIkS7MpySVlwFil2l+syEv9mT8DZiaM/nf+0apXcer9Zk3WxIIQph1RF6nEotYmLF7CTcq3x7u3lBxwLGlYLqsc6F7K8IlNXD7BfZ+zlYLbx061BtfLPsT93J5KhrsGoADV4YR1vLZ4RBBk/XiLCTwc7KSv/r6fTthKNUvB+/HVMR2la3UalyG1FYGxmQwDAlMHNhJXOrObJHvu8YDJ+eE6rGNtmwYb4lJSHdfpzf+QvmD0BP3r+quOJH53+GKYgpyur8De3TDGlHd6s8yOHjeNEapU5+Y6wNz3N4fugEIsFfRTyoEoUJvqsl9Fs4+dseZ7OqUv2vsadSAYzFU7572njIIQMuoO/hPMR/gsZP16CXenzVByvGcjleHiyXkugoRRLXNGTxp/MbIB9U/qha4NqWD6uB14b2hyjetTzSVsC1PaRrQTvCXjJ8qLyyRfd3mJkw95M7rMTYhyFL/3J+GT7elfyL1Kruuc54hHVQfLB6fn74HnRudiSfUl4rPV7dW9YXSR4oJTjq1RHjzU6zb7uNh29CAD4eM1RAP6Tw8rmeJlRHFso3urrL0b4LTTseQlxmIO+99zeTix6UL+GXQFu6pBmprVLD7UT1Ae0itjBSL+yH9uzXiMq3D5prFWlEu5oX9vUmHApc/86ovhaoHl+pg5php43VMd9GWle+Tx+QsULelSU/DW9yKmcmW2gNE52hIT60+kPddP48UQ7vHF9yoXospPwQiYUUssgqVIpzJHzo7Kv9PxmNnb2EJlt/NQpH8vblkcquCMMcGcH12tKSQlh7jlWMdRVAmwIIHwAGT9egnczA/oH0pTKYunSQ2ftkpme9sRIBwJeGUYJf1q5NBupC14pTMDTcqyEGDkZcp5AEzy4u1MdfPZAB8F49DTSRPZgvn9dQW7CafYpighx/NZmhPl4AjMmoa7CCh54o2uVK+cw4YedwuO2daoI+ShKpR8e7JIOAPhl+2lH2Fv5rre0rinsx19f0rC3tjKh02ZHFAxsYQ9Fbl4zXrTdlU+RK8TuKmyftP1EntvHq2jCRIRxyPjxEheuOiRm9a7mtK4tn0cynumUPYFSLO+krMay24Ote2F/n7zr4g5ecKdL3lM12rlKOOE5nujdQHj87p2tRa8FmufH21yWJFtX9JBNKXLnw+wVeNYrWuJDI0ONYh8mn7NhUN4wzuW8faxN+vwvu9H+leXIu1YsMszqVY/GC4Oa4NtRGfjfxmPMe8ViIm8Ma4HYiFAMbpUieHykdXKkRcYBD1x35UY3v3jkjpFQRyMixAis8fPp2qNuH09pnCYIHjJ+fIDezjyjboKHW2KMh7vVxebnMp22B9vqyl0dHDU4rhWLJ4qcJEj6taHN0b9ZEu5ob14IAGGMlMpiNSV/XUn3V4Ls9nUbdqGKx+wJOGv8lGoIyvgKNe+qGtXK85l6N6rh8mezxog3Ls8wDb3381eKcelaCeasPiIyzMJCrHigSzo6pFfF8wObCNsdUtf21oeGWLHrpb54Z7hjoeaTNeJJfkS5UEyLWg6vjKeMbj7k1R0j4em+N2Bk97r4/tEMt9vFfs9le3PdPh4P9W2EEmT8+AC9IVJhChW22ZpBnqAxU6ju/RFtRK9Vj42Q7h50qyv/6elI1C+Ukb0FHCoyd7SvjQ/ubouIUO+ELBF2ft91RngsPfd9miZ5uzkBjT8LsPgLZk+i2HPur56fGjJ9vR5++E8GHruxPl4f1sLlz2aNEW9MYPV+xpzVh5HPRAOwURL1qtvFghomxoC3Z9XurUW7zohqCUWW92ORTH/mKeOHD7mTLuYZITTEimcHNEa7NPfLPJi9gErOf0IL78gLESL0hpkodQgT+zcyszlOVItxhHDxIgtqBNvqCptrdb1YvPpJfap/ULNylJADx8bg35dRh0IQDUI5P9pUpNDAefe3x+oD53B7O9e82XUSovF/fW9wqw2hXi5yurFcBU2LTnWrIr26fH0bPhe3uNTGhL0pH6u41CYSPeA9PxFMUVTPe37sBJskdLB+L8I8yPPjA4z0Z+8Mb+W0rUdD18MJ9NCjYXXhca0qUSp72gm2sDeWX3ecEj13xEj7oDGEwKjudYXHbP7xyv3nfNCawKKBZEGDHD/aVCRBkxsb1cCLNzf1qFqjFkqiAr5mw5GLToIhPHybS8o4QSlObWFhUlZjkaIc78FmPdlmG90R5W3ki6wG7XgWrN+LMA3/7GGCHCMD6eBWNUUxwIDnw1Tu75yGxLgI3NwyBZXCnZ2DHdPdd3MHCh/9LY7LpkRK/6BqDOvdcfwa0iRiwplQycSyIk3s9fD7E92ctilNeAnP4Os6P2oohVTxxk9xmU3IO5QbqzMb2xcvYyJCwaZ78YIHkR70/Ow+nQ8AWHPoPAD/Gs/k5MZdxZ++F+GfkPHjJdxJYpSugnna+AkNsWLjs5mYJVHR4nnZy3WG/ImgXSkLMEIVcgKuK+RoEQ7YyRVAYW9SmqTEIXt6lmjbwdwrPmpNxYS9j/0tdIlVk2QXAsNDHfWzisvzuOQ8WCv+PQsAWLX/HEoY6yeyvLhuZJjncn7YYq2Af41nTVIcucYv/rrHrWP50/ci/BOPGD+nTp3C3XffjYSEBERFRaF58+bYsmWL8DrHcZg8eTKSk5MRFRWFzMxMHDx40BNN8RsGNE8WHhvtz87kXRc993X8Oa2C+t+AXNGgJH3XkUrq0qmUJzk+UnsnwiN8u+WE8Njbw93TGvlKrPFjkwlbKygsQXGp3XiTCx3k33LhahHKGLELflHi+60nhW1m93Njb2oou90fxrPxfR25zJ+ty3brWI6z6vvvRfgnphs/ly5dQpcuXRAWFobFixdj7969eOutt1CliqNmzeuvv45Zs2Zhzpw52LhxI6Kjo9G3b18UFhaa3Ry/oU8TR/Vmoyutp/PF5yVEQQXOW9SIq7iTAncqYhPmcZWpVVPAqC9lMYsMhDzsyjJAnh8lcgoc/W5YqPnniE67MqzYgjdO0+FXB+DrkZ1w5NUBuHDFWeqcpajE4a1h5cB5oQKOg6AIJ1e7Z1QPe75io6Q4Wc8PS6TJKqIF0rp1fjSeuaouqIY/fC/CPzHd+HnttdeQmpqKefPmoUOHDkhPT0efPn1Qr55dPpjjOMycOROTJk3C4MGD0aJFC3zxxRc4ffo0fv75Z7Ob4zfERDhyZ9ydbPja88N+l2DltaHNVV+nTtW3RDPXIDtpkJtAEGKcPD/k+pGFze1omGhePgKPr/txf6ZlrcrCY2+cphCrBZ3qJsBqteDWNjVV971W7AjJ23kyX3gcxfQ958sNKLmwt23H7KFnX244JpI5lzOUosLN7c8uXRMbdv4UHmZmP8SR1jWhgenGz6+//op27drhtttuQ40aNdC6dWt89NFHwutHjx5FTk4OMjMdxTLj4+PRsWNHrF+/XvaYRUVFKCgoEP0FGpWYyZq7rmyNemyECWw/kSe7nfpU/yCNqS4eRQaPW9AkXJ77O6cJj+tV15b8NwqddmUimUm/t0OymtWMx51MoWsp10pKZbfHRjrX3zslCVkHgM1M3k0x4zniDaWsFg7vtdmKe/2aOWqgnbtcFLThYW6ULyIqCKZPo48cOYIPPvgADRo0wNKlS/Gf//wHTzzxBD7//HMAQE5ODgAgMTFR9L7ExEThNSnTpk1DfHy88Jea6lr9AV9SiZmgJbkZSx5K1o/H2SxJDOUJ1sEi0LBYLHiydwPc3zkNadUcdTc4qsSkydI94grq5PiRZ1jbWsJjT+SY+WtxU38gzMdqb//XRz43BgCuFyuLqkjzxLQ80fuZIqm88VM9xvzwLx527jBn9WG/8vyYieN7BdkXI0zD9Fm0zWZDmzZt8Oqrr6J169YYOXIkHnnkEcyZM8flY06cOBH5+fnC34kTJ7Tf5GdYrRZ8OyoDXzzYAdUMdm5z7m4rPhbdzx6nbW1Hjhpb0TtYB4tAZOxNDfHizU0B2IueApTz4wo0QZCnQWIMkuIiUa96tN/WnQlWpHLs3iZBZozmw72vqRg/UmNHTr65cbJD1ezR/20VHoeV5/J6MgePXTfddvySX0tCrz98weX3kueH0ML0HiY5ORlNmjQRbWvcuDGOHz8OAEhKsrtdc3PFq4+5ubnCa1IiIiIQFxcn+gtEOqRXRXemgKhepDUPaLLieSYNbCw8Xn3AUTjTnweLisySMd3w22Nd0auRZwsAByOknCdPRGgIVj3dE0vHdPd1UyocoSHsmOfb67NlrXgsG9tdyMlh1dikHD1/VfRcbqFTSUWQN7D7NLVHxSR5QFgojgnN++d4nt8t5j07wKH4dudHG1w/kB8JORD+ienGT5cuXbB//37RtgMHDqBOnToAgPT0dCQlJWHFihXC6wUFBdi4cSMyMjLMbk5QIOd58DXjFCQzgwVW1OGJr/4RHvvbYEHYiY0MQ/Na8T6fKAUiZPsoExkW4nMvREWEzUPz1eXZqW5VRIZZ8cWDHdEgMVY2/+bzBzuoHkNuYUEpR5E3+DqmV8VP/+2MxU86F9t1F6lnyuEh8Y9O4MEu6aYcR/he/vG1CD/EdNmusWPHonPnznj11Vdx++23Y9OmTZg7dy7mzp0LwL6KM2bMGEydOhUNGjRAeno6nn/+eaSkpGDIkCFmNycoqGSy4osZPNG7Ac5eLkT7tKraOwcgWpNofxksCMIojZJi8S+Ta0AGo294YVATvPTbXgxoLh/xUJFZe/i88NhXl+eChzuhuMwmGAxyamw9XIjkyKiXgEW7zjhtDy83si0WC1ozYdcexc88JGYvNNA4TShhuvHTvn17/PTTT5g4cSKmTJmC9PR0zJw5EyNGjBD2GT9+PK5evYqRI0ciLy8PXbt2xZIlSxAZWXHrx6jRPt0/DYypQ9TloIMFtv6AnzjeCMJlHuyajvHf7xSeU9ibb3igSzqGtq2F2ApQOsAo14oceTW+ujqtVgsirY6FR7OU125qkohJP+922u6LRQgbH8ng9U/2LP4SIUP4Lx7pdQcOHIiBAwcqvm6xWDBlyhRMmTLFEx8fdBgVSCDMoVpMOM5fKRar8/nZShlBGCUhOlz0nGwf3xEnI49MAOevFAmPbX4ykY0wqeCoXOHSNc/caMqxjXLhqr3uj796f68Xl7lU60hQ/fTPr0X4ARTMTBAK8IXq2EJ2pCJDBDqd6iaInntSXYogXOGW1o5Co4Wlyupq3kQa9rZ8nLMQhp5bKSJMfJyq0eGoVaWSwt7mwy52nLh4zWuf6wpjvvlHeycZOLJ9CA3I+CEIA1D9ACLQkeYQkvFD+Bud6jkM9EIVaWlvwnqjACApPsppn//2rKd5HKnogLeLNE8e6FDjXXPInlvlT13A0DaO+lrSmmR6oXGa0IKMH4IwABXRJAId6YSAwt4If4MNB7xe4h/GT/YFsZckRiZXiw1pa1krXtdxpZ4gTzO4VU2nbf4kDDBOpcCsXihCg9CCjB+CUGBgC0fBTFt54DlJXRPBBgkeEP6Mvxg/emC9Olkt9BVcDveylHoVSc4f4F/jGV+w2h04ys0lNCDjJ0BgFccI73DjDY6CmcVlNtFr/rRSRhDuQKEhhD9z5NxV7Z38BNaLE6Zi1LAiRqzsvK8I1h6AxmlCCTJ+AoT7Oqf5ugkVDnblLregEABJXRMEQXgTfzAO9MKGvalJYzdOjvVGc3Tjz+sf5y4Xae9EEAYh4ydAeKRbXYzqXhdfPdLJ102pMLDhCAt32ovSUdgbEQy8fUdLAECHIC1STAQPDRNjfN0E3bCen7xrJYr7NaupLx/IW/ib95dtzsp/zxp+P43ThBZk/AQI4aFWTBzQGBn1ErR3JkzByuRC8B0wL3hAfSoRyNzSuhY2Ptsb34yixRTCv7HZtPfxF9haQL9sP6W439A2zqID3mTO3W1Fz/1tPJtyc1Ph8Ud/HzH8fhqnCS3I+CEIHWw5dsn+gFaUiCAhMS7S71Z8CYJnUlZjxEeF4aXBTbV39gKsRPSdHVJl94lkPD/9miYpHqtqtCPn54528sfyJE1T4sQb/Kwb6N04UXh88OwVw+/nSO6N0MBZq5EgCFnO5F93SGjSpJEgCMJjPNytLh7ski7ywPuSB7umY2DLZISHWFG5krNiGiD2/GS1SFE8Fquw+PfBc+Y1UifSgq3+JgyQ4qbim8P28a/vRfgP5PkhCJ3c9+kmh4Smj9tCEAQR7PiL4cNTIzZS0fABgItXi4XHV4tLFfcLZb6XL75jdYl6bLCt5ZHUNaEFGT8EoZMDuVfInU4QBEHIwtoxVpWZd6VwfapwnkIaueDvw9n14sCp9UQEBmT8EIQB+IJ75E4nCIIgWNqmVREet0qtrLgfa3z4Qx0jf/eQGJW7pjVKQgsyfghChbUTeomez994HID/DxYEQRCEd6kRG4k1z9yIHZP76H5PNOMF8hUlZf5Xwe7Pp3oIj+etO2rszYIwEQ3UhDxk/BCECjUVEi+pSyUIgiCk1KpSCfGVwnTv725yv6vcl1FHeFxU4n9hZXUSooXH89ZmG3qvQ5jIvPYQwQUZPwShwbC2tZy2UadKEARBuIuN843XJSbSIfb7x95cn7RBjRA3hCBImIjQgowfgtDgjWEtnLZRzg9BEAThKt0bVgcA3Nc5zSef3zQlXnh8Jr/QJ23wFOT5IbSgOj8EoYFc3DB1qgRBEISrfHRvWxzMveJccNRLqBVh9Uc4jnMhh4cGakIe8vwQhA4WPdFV9Jy6VIIgCMJVIkJD0KxmvM+S8v2thpIWby8/qHtfH0USEgEEGT8EoQM2RAAAuX4IgiAIwoNkNU8WHs9aYcD4ARU5JdQh44cgdNKtQTXhMfWpBEEQBOE53rjNOd9WD7znh8ZpQgkyfghCJ2zFblpRIgiCIAKZN4a1QGxkKL4dleHrpshSKdy1tHSO6vwQGpDxQxA6YaU3f991xoctIQiCIAj3uK1dKnZM7oMO6VV93RSPQKYPoQQZPwShEzY/9EDuFd81hCAIgiBMINCED/Qg1PkJvq9GmITHjZ/p06fDYrFgzJgxwrbCwkKMHj0aCQkJiImJwdChQ5Gb639FtgiCxUo9KUEQBEH4hCPnjC06Uj0+QgmPGj+bN2/Ghx9+iBYtxElrY8eOxW+//YbvvvsOq1evxunTp3Hrrbd6sikE4Tas8TO+3w0+bAlBEARBBD8NasQIj0d8vFHXe0jpmtDCY8bPlStXMGLECHz00UeoUqWKsD0/Px+ffPIJZsyYgV69eqFt27aYN28e1q1bhw0bNniqOQThNmzOT91q0T5sCUEQBEEEP5892EF4fCa/UNd7HIIHnmgREQx4zPgZPXo0srKykJmZKdq+detWlJSUiLY3atQItWvXxvr162WPVVRUhIKCAtEfQXgbcUdKvSpBEARBeJLkuEjD7+HI90No4JqOoAZff/01tm3bhs2bNzu9lpOTg/DwcFSuXFm0PTExETk5ObLHmzZtGl566SVPNJUgdMN6fmhFiSAIgiA8iyuCDOT5IbQw3fNz4sQJPPnkk5g/fz4iI41b7HJMnDgR+fn5wt+JEydMOS5BGIEEDwiCIAjCv+H9PiR4QChhuvGzdetWnD17Fm3atEFoaChCQ0OxevVqzJo1C6GhoUhMTERxcTHy8vJE78vNzUVSUpLsMSMiIhAXFyf6Iwhvw9o+1KUSBEEQhHe5WlSquQ95fggtTDd+evfujV27dmH79u3CX7t27TBixAjhcVhYGFasWCG8Z//+/Th+/DgyMvyzyjBBAECIhQ17o16VIAiCIDxN53oJwuOft5/S/T4apgklTM/5iY2NRbNmzUTboqOjkZCQIGx/6KGHMG7cOFStWhVxcXF4/PHHkZGRgU6dOpndHIIwDTbsjfpUgiAIgvA8nz3QAQ0nLQYAPPfTbozoWEfjHSR4QKjjEcEDLd5++21YrVYMHToURUVF6Nu3L95//31fNIUgdGMlwQOCIAiC8CrhocaClISwN1qmJBTwivGzatUq0fPIyEjMnj0bs2fP9sbHE4QpuCA6QxAEQRCEh7hcWILmL/6B6rER2PycvYSKIHhAYzahgMfq/BBEsEFS1wRBEAThW2w2R1hb8xf/AACcu1yEnPIiqFy564eGaUIJMn4IQifinB/qVgmCIAjC2xSWlslu7zTNLqRVVm4cuVIjiKgYkPFDEDqxktY1QRAEQXidUMaQee/PQwCAQ2evOO3HcRx4x1AIhWgQCpDxQxA6oUUkgiAIgvA+G5/tLTx+f9VhAEDmjNVO+322LhulNhsAcag6QbCQ8UMQOhHl/PiwHQRBEARRkUiIiRA9L1IIfXvpt70ot33I+CEUIeOHIHRioSKnBEEQBOFzbpi0RPG14jLy/BDqkPFDEDoJYe4W6lIJgiAIwn8h44dQgowfgtCJSO2N+lSCIAiC8FtomCaUIOOHIHRiJYuHIAiCIHxCqIInZ8PE3rLbOdmtBEHGD0Hohur8EARBEIRv2DrpJtntSfGR2Pa8/GsEIQcZPwShE1HOD9k+BEEQBOE14iuFOW3b/FwmAKBqdLjTawky2wgCIOOHIHQjUnvzYTsIgiAIggCqxzoksL98qIPoNVJlJZQI9XUDCCJQIOUYgiAIgvBPujWojk/vb4dtx/IwJrOBr5tD+DFk/BCETkS2D9lBBEEQBOFX9GqUiF6NEn3dDMLPobA3gtAJCR4QBEEQhO+YlNXY100gggAyfghCJ1TnhyAIgiB8x42Navi6CUQQQMYPQeiEDXsj24cgCIIgvEt6QrSvm0AEAWT8EIROSPCAIAiCIHyHlRmHpw5p5sOWEIEMCR4QhE5EUtcU90YQBEEQXueje9th2/FLuKtDbV83hQhQyPghCJ2wnh+yfQiCIAjC+9zUJBE3NSFFN8J1KOyNIHRCOT8EQRAEQRCBDRk/BKETUnsjCIIgCIIIbMj4IQidhIaQxUMQBEEQBBHIkPFDEDqxitw9ZAgRBEEQBEEEGqYbP9OmTUP79u0RGxuLGjVqYMiQIdi/f79on8LCQowePRoJCQmIiYnB0KFDkZuba3ZTCMJUQq2O24XC3giCIAiCIAIP042f1atXY/To0diwYQOWLVuGkpIS9OnTB1evXhX2GTt2LH777Td89913WL16NU6fPo1bb73V7KYQhKmEMHcL2T4EQRAEQRCBh+lS10uWLBE9/+yzz1CjRg1s3boV3bt3R35+Pj755BMsWLAAvXr1AgDMmzcPjRs3xoYNG9CpUyezm0QQpmAldw9BEARBEERA4/Gcn/z8fABA1apVAQBbt25FSUkJMjMzhX0aNWqE2rVrY/369bLHKCoqQkFBgeiPILwNK3hARU4JgiAIgiACD48aPzabDWPGjEGXLl3QrFkzAEBOTg7Cw8NRuXJl0b6JiYnIycmRPc60adMQHx8v/KWmpnqy2QQhi0jq2oftIAiCIAiCIFzDo8bP6NGjsXv3bnz99dduHWfixInIz88X/k6cOGFSCwlCPyR4QBAEQRAEEdiYnvPD89hjj2HhwoX466+/UKtWLWF7UlISiouLkZeXJ/L+5ObmIikpSfZYERERiIiI8FRTCUIXVpHgAVk/BEEQBEEQgYbpnh+O4/DYY4/hp59+wp9//on09HTR623btkVYWBhWrFghbNu/fz+OHz+OjIwMs5tDEKYRQu4egiAIgiCIgMZ0z8/o0aOxYMEC/PLLL4iNjRXyeOLj4xEVFYX4+Hg89NBDGDduHKpWrYq4uDg8/vjjyMjIIKU3wq+xWlnBAx82hCAIgiAIgnAJ042fDz74AADQs2dP0fZ58+bh/vvvBwC8/fbbsFqtGDp0KIqKitC3b1+8//77ZjeFIEyFpK4JgiAIgiACG9ONH47jNPeJjIzE7NmzMXv2bLM/niA8BuP4Ic8PQRAEQRBEAOLxOj8EESyEWMniIQiCIAiCCGTI+CEInYjr/JAhRBAEQRAEEWiQ8UMQOhEZP2T7EARBEARBBBxk/BCETkR1fsj4IQiCIAiCCDjI+CEInYRQ2BtBEARBEERAQ8YPQejEQu4egiAIgiCIgIaMH4LQSQgVOSUIgiAIgghoyPghCJ2I6vz4rhkEQRAEQRCEi5DxQxA6IbU3giAIgiCIwIaMH4LQiZWKnBIEQRAEQQQ0ZPwQhE5CRO4eMoQIgiAIgiACDTJ+CEInopwfsn0IgiAIgiACDjJ+CEInbNgb2T4EQRAEQRCBBxk/BKETVvCA82E7CIIgCIIgCNcg44cgdMLm/HAcmT8EQRAEQRCBBhk/BKETC3O3kO1DEARBEAQReJDxQxA6YT0/NjJ+CIIgCIIgAg4yfghCJ+KcH7J+CIIgCIIgAg0yfghCJ1bmbrHZfNcOgiAIgiAIwjXI+CEInVhFYW/k+SEIgiAIggg0yPghCJ2I1d582BCCIAiCIAjCJcj4IQidMLYP5fwQBEEQBEEEIGT8EIROLKT2RhAEQRAEEdCQ8UMQLkA5PwRBEARBEIGHT42f2bNnIy0tDZGRkejYsSM2bdrky+YQhG5S4qN83QSCIAiCIAjCID4zfr755huMGzcOL7zwArZt24aWLVuib9++OHv2rK+aRBCaLH6yG74dlYGk+EhfN4UgCIIgCIIwiIXjfBO/07FjR7Rv3x7vvfceAMBmsyE1NRWPP/44JkyYoPregoICxMfHIz8/H3Fxcd5oLkEQBEEQBEEQfogR28Annp/i4mJs3boVmZmZjoZYrcjMzMT69eud9i8qKkJBQYHojyAIgiAIgiAIwgg+MX7Onz+PsrIyJCYmirYnJiYiJyfHaf9p06YhPj5e+EtNTfVWUwmCIAiCIAiCCBICQu1t4sSJyM/PF/5OnDjh6yYRBEEQBEEQBBFghPriQ6tVq4aQkBDk5uaKtufm5iIpKclp/4iICERERHireQRBEARBEARBBCE+8fyEh4ejbdu2WLFihbDNZrNhxYoVyMjI8EWTCIIgCIIgCIIIcnzi+QGAcePG4b777kO7du3QoUMHzJw5E1evXsUDDzzgqyYRBEEQBEEQBBHE+Mz4ueOOO3Du3DlMnjwZOTk5aNWqFZYsWeIkgiAHr85Nqm8EQRAEQRAEUbHhbQI9FXx8VufHHU6ePEmKbwRBEARBEARBCJw4cQK1atVS3ScgjR+bzYbTp08jNjYWFovFp20pKChAamoqTpw4QQVXCY9D1xvhLehaI7wFXWuEt6BrLXjhOA6XL19GSkoKrFZ1SQOfhb25g9Vq1bTqvE1cXBzdSITXoOuN8BZ0rRHegq41wlvQtRacxMfH69ovIOr8EARBEARBEARBuAsZPwRBEARBEARBVAjI+HGTiIgIvPDCC1SElfAKdL0R3oKuNcJb0LVGeAu61gggQAUPCIIgCIIgCIIgjEKeH4IgCIIgCIIgKgRk/BAEQRAEQRAEUSEg44cgCIIgCIIgiAoBGT8EQRAEQRAEQVQIyPghCIIgCIIgCKJCQMYPQRAEQRAEQRAVAjJ+CIIgCIIgCIKoEJDxQxAEQRAEQRBEhYCMH4IgCIIgCIIgKgRk/BAEQRAEQRAEUSEg44cgCIIgCIIgiAoBGT8EQRAEQRAEQVQIyPghCIIgCIIgCKJCQMYPQRAEQRAEQRAVAjJ+CIIgCIIgCIKoEJDxQxAEQRAEQRBEhYCMH4IgCIIgCIIgKgRk/BAEQRAEQRAEUSEg44cgCIIgCIIgiAoBGT8EQRAEQRAEQVQIyPghCIIgCIIgCKJCQMYPQRAEQRAEQRAVAjJ+CIIgCIIgCIKoEJDxQxAEEWR89tlnsFgssFgsWLNmjdPrHMchNTUVFosFAwcO9EEL9VNcXIx33nkHrVu3RlxcHCpXroymTZti5MiR+Pfff4X91q1bhxdffBF5eXkeacerr76Kn3/+2SPHJgiCILwHGT8EQRBBSmRkJBYsWOC0ffXq1Th58iQiIiJ80CpjDB06FE899RSaNWuG6dOn46WXXkL37t2xePFibNiwQdhv3bp1eOmll8j4IQiCIFQJ9XUDCIIgCM8wYMAAfPfdd5g1axZCQx3d/YIFC9C2bVucP3/eh63TZvPmzVi4cCFeeeUVPPvss6LX3nvvPZcNHZvNhuLiYkRGRprQSoIgCCKQIM8PQRBEkHLnnXfiwoULWLZsmbCtuLgY33//Pe666y7Z99hsNsycORNNmzZFZGQkEhMTMWrUKFy6dEm03y+//IKsrCykpKQgIiIC9erVw8svv4yysjLRfj179kSzZs2wd+9e3HjjjahUqRJq1qyJ119/XbP9hw8fBgB06dLF6bWQkBAkJCQAAF588UU8/fTTAID09HQh5C87OxsAYLFY8Nhjj2H+/Plo2rQpIiIisGTJEgDAm2++ic6dOyMhIQFRUVFo27Ytvv/+e9FnWSwWXL16FZ9//rlw7Pvvv194/dSpU3jwwQeRmJiIiIgING3aFJ9++qlTm48dO4abb74Z0dHRqFGjBsaOHYulS5fCYrFg1apVAIAXXngBYWFhOHfunNP7R44cicqVK6OwsFDz3BEEQRDykOeHIAgiSElLS0NGRga++uor9O/fHwCwePFi5OfnY/jw4Zg1a5bTe0aNGoXPPvsMDzzwAJ544gkcPXoU7733Hv755x+sXbsWYWFhAOx5RTExMRg3bhxiYmLw559/YvLkySgoKMAbb7whOualS5fQr18/3Hrrrbj99tvx/fff45lnnkHz5s2FdslRp04dAMD8+fPRpUsXkfeK5dZbb8WBAwfw1Vdf4e2330a1atUAANWrVxf2+fPPP/Htt9/iscceQ7Vq1ZCWlgYAeOedd3DzzTdjxIgRKC4uxtdff43bbrsNCxcuRFZWFgDgyy+/xMMPP4wOHTpg5MiRAIB69eoBAHJzc9GpUyfBwKpevToWL16Mhx56CAUFBRgzZgwA4OrVq+jVqxfOnDmDJ598EklJSViwYAFWrlwp+i733HMPpkyZgm+++QaPPfaYsJ03WocOHUoeK4IgCHfgCIIgiKBi3rx5HABu8+bN3HvvvcfFxsZy165d4ziO42677Tbuxhtv5DiO4+rUqcNlZWUJ7/v77785ANz8+fNFx1uyZInTdv54LKNGjeIqVarEFRYWCtt69OjBAeC++OILYVtRURGXlJTEDR06VPV72Gw24f2JiYncnXfeyc2ePZs7duyY075vvPEGB4A7evSo02sAOKvVyu3Zs8fpNen3KC4u5po1a8b16tVLtD06Opq77777nN7/0EMPccnJydz58+dF24cPH87Fx8cLx3/rrbc4ANzPP/8s7HP9+nWuUaNGHABu5cqVwvaMjAyuY8eOouP9+OOPTvsRBEEQxqGwN4IgiCDm9ttvx/Xr17Fw4UJcvnwZCxcuVAx5++677xAfH4+bbroJ58+fF/7atm2LmJgYkZciKipKeHz58mWcP38e3bp1w7Vr10QqbAAQExODu+++W3geHh6ODh064MiRI6ptt1gsWLp0KaZOnYoqVargq6++wujRo1GnTh3ccccdhnJ+evTogSZNmjhtZ7/HpUuXkJ+fj27dumHbtm2ax+Q4Dj/88AMGDRoEjuNE56xv377Iz88XjrNkyRLUrFkTN998s/D+yMhIPPLII07Hvffee7Fx40Yh7A+we79SU1PRo0cP3d+ZIAiCcIaMH4IgiCCmevXqyMzMxIIFC/Djjz+irKwMw4YNk9334MGDyM/PR40aNVC9enXR35UrV3D27Flh3z179uCWW25BfHw84uLiUL16dcHAyc/PFx23Vq1asFgsom1VqlRxyiOSIyIiAs899xz27duH06dP46uvvkKnTp2EEDa9pKeny25fuHAhOnXqhMjISFStWhXVq1fHBx984PQd5Dh37hzy8vIwd+5cp/P1wAMPAIBwzo4dO4Z69eo5nYf69es7HfeOO+5AREQE5s+fD8B+PhcuXIgRI0Y4vZ8gCIIwBuX8EARBBDl33XUXHnnkEeTk5KB///6oXLmy7H42mw01atQQJt1S+ByavLw89OjRA3FxcZgyZQrq1auHyMhIbNu2Dc888wxsNpvofSEhIbLH4zjO0PdITk7G8OHDMXToUDRt2hTffvstPvvsM8VcIBbWw8Pz999/4+abb0b37t3x/vvvIzk5GWFhYZg3b56sRLgU/nvefffduO+++2T3adGiheZxpFSpUgUDBw7E/PnzMXnyZHz//fcoKioSec8IgiAI1yDjhyAIIsi55ZZbMGrUKGzYsAHffPON4n716tXD8uXL0aVLF1ljgWfVqlW4cOECfvzxR3Tv3l3YfvToUVPbrURYWBhatGiBgwcP4vz580hKSnLJI/LDDz8gMjISS5cuFdU8mjdvntO+csevXr06YmNjUVZWhszMTNXPqlOnDvbu3QuO40THOnTokOz+9957LwYPHozNmzdj/vz5aN26NZo2bar3qxEEQRAKUNgbQRBEkBMTE4MPPvgAL774IgYNGqS43+23346ysjK8/PLLTq+VlpYKOTa8J4f13BQXF+P99983td0HDx7E8ePHnbbn5eVh/fr1qFKliuCNio6OFl7TS0hICCwWi0ieOzs7W7aYaXR0tNOxQ0JC1PvRKgABAABJREFUMHToUPzwww/YvXu303tYueq+ffvi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foiIiIiIqExg8ENERERERGUCgx8iIiIiIioTGPwQEREREVGZwOCHiIiIiIjKBAY/RERERERUJjD4ISIiIiKiMoHBDxERGZaSkoIHHnhA+nn16tWwWCxYvXp1wNpERERkFIMfIqIQM2vWLFgsFlgsFqxbt87hcUEQkJycDIvFgptvvjkALfQPm82Gr776Ch07dkSlSpUQFxeH6667DiNGjMDGjRul7fbt24eJEyciLS3NJ+348MMPMWvWLJ/sm4iIzMXgh4goREVHR2POnDkO969ZswYnT55EVFSUz9vQvXt3XL16Fd27d/f5c6k9+eSTuP/++1G9enVMnDgRr7/+Ovr374+NGzdiyZIl0nb79u3DpEmTGPwQERHCA90AIiLyzIABAzBv3jy89957CA+3H87nzJmDtm3b4ty5cz5vg9VqRXR0tM+fRy0zMxMffvghRo4ciU8++UTx2PTp03H27FmP9isIAvLy8hATE2NGM4mIKMhw5IeIKEQNGzYM58+fx7Jly6T7CgoK8MMPP2D48OGav2Oz2TB9+nQ0a9YM0dHRSExMxKOPPoqLFy8qthMEAVOmTEGtWrVQrlw59OrVC3v37nXYn9acnz/++AN33nknateujaioKCQnJ2PMmDG4evWq4ncfeOABxMbG4tSpUxgyZAhiY2NRtWpVPPvssyguLnb62o8ePQpBENClSxeHxywWC6pVqwagJEXwzjvvBAD06tVLShcU25uSkoKbb74ZS5cuRbt27RATE4P//e9/AICZM2eid+/eqFatGqKiotC0aVN89NFHiudKSUnB3r17sWbNGmnfPXv2lB6/dOkSRo8ejeTkZERFRaFBgwZ4/fXXYbPZFPs5f/487rvvPsTHx6NChQq4//77sWvXLlgsFmlUaebMmbBYLNixY4fDa37ttdcQFhaGU6dOOX3fiIjKOgY/REQhKiUlBZ06dcK3334r3bd48WJkZWVh6NChmr/z6KOP4rnnnkOXLl3w7rvv4sEHH8Ts2bPRr18/FBYWStuNHz8eL7/8Mlq2bIn//ve/qFevHvr27YucnByX7Zo3bx5yc3Pxn//8B++//z769euH999/HyNGjHDYtri4GP369UPlypXx5ptvokePHnjrrbccRnPU6tSpo3guPd27d8eTTz4JAHjhhRfw9ddf4+uvv0aTJk2kbQ4cOIBhw4bhxhtvxLvvvotWrVoBAD766CPUqVMHL7zwAt566y0kJyfjsccew4wZM6TfnT59OmrVqoXGjRtL+37xxRcBALm5uejRowe++eYbjBgxAu+99x66dOmCcePG4emnn5b2YbPZMGjQIHz77be4//778eqrr+L06dO4//77Fa/ljjvuQExMDGbPnu3wOmfPno2ePXuiZs2aTt83IqIyTyAiopAyc+ZMAYCwZcsW4YMPPhDi4uKE3NxcQRAE4c477xR69eolCIIg1KlTRxg4cKD0e3/88YcAQJg9e7Zif0uWLFHcf+bMGSEyMlIYOHCgYLPZpO1eeOEFAYBw//33S/etWrVKACCsWrVKuk9si9zUqVMFi8UiHDt2TLrv/vvvFwAIkydPVmzbunVroW3bti7fhxEjRggAhIoVKwq33nqr8Oabbwp///23w3bz5s1zaKOoTp06AgBhyZIlDo9pvY5+/foJ9erVU9zXrFkzoUePHg7bvvLKK0L58uWFgwcPKu4fO3asEBYWJhw/flwQBEH48ccfBQDC9OnTpW2Ki4uF3r17CwCEmTNnSvcPGzZMqFGjhlBcXCzdt337doftiIhIG0d+iIhC2F133YWrV69i4cKFuHz5MhYuXKib8jZv3jwkJCTgxhtvxLlz56R/bdu2RWxsLFatWgUAWL58OQoKCvDEE0/AYrFIvz969GhDbZLPl8nJycG5c+fQuXNnCIKgmbL173//W/Fzt27dcOTIEZfPM3PmTHzwwQeoW7cufv75Zzz77LNo0qQJ+vTp41b6V926ddGvXz+nryMrKwvnzp1Djx49cOTIEWRlZbnc77x589CtWzdUrFhR8X6npqaiuLgYa9euBQAsWbIEERERGDlypPS7VqsVo0aNctjniBEjkJ6eLv2tgJJRn5iYGNx+++2GXzMRUVnFggdERCGsatWqSE1NxZw5c5Cbm4vi4mLccccdmtseOnQIWVlZ0nwYtTNnzgAAjh07BgBo2LChw3NVrFjRZZuOHz+O8ePHY8GCBQ5zidRBQ3R0NKpWraq4r2LFig6/p0UMEEaNGoXz589j/fr1+Pjjj7F48WIMHToUf/zxh8t9ACXBj5b169djwoQJ2LBhg0NqXVZWFhISEpzu99ChQ/jrr78cXp9I/n5Xr14d5cqVUzzeoEEDh9+58cYbUb16dcyePRt9+vSBzWbDt99+i8GDByMuLs5pe4iIiMEPEVHIGz58OEaOHImMjAz0798fFSpU0NzOZrOhWrVqmnNGAOhepLujuLgYN954Iy5cuID/+7//Q+PGjVG+fHmcOnUKDzzwgMNE/7CwMK+fEwAqV66MW265Bbfccgt69uyJNWvW4NixY9LcIGe0Krv9888/6NOnDxo3boy3334bycnJiIyMxG+//YZ33nnH4XVosdlsuPHGG/H8889rPn7ddde5fmEqYWFhGD58OD799FN8+OGHWL9+PdLT03Hvvfe6vS8iorKIwQ8RUYi79dZb8eijj2Ljxo347rvvdLerX78+li9fji5dujgt5SwGDIcOHUK9evWk+8+ePetyRGb37t04ePAgvvzyS0WBA3lFOl9r164d1qxZg9OnT6NOnTqK1D2jfv31V+Tn52PBggWoXbu2dL883Uykt//69evjypUrSE1NdfpcderUwapVq5Cbm6sY/Tl8+LDm9iNGjMBbb72FX3/9FYsXL0bVqlU10/aIiMgR5/wQEYW42NhYfPTRR5g4cSIGDRqku91dd92F4uJivPLKKw6PFRUV4dKlSwCA1NRURERE4P3334cgCNI206dPd9kWcSRH/nuCIODdd981+GqMycjIwL59+xzuLygowIoVK2C1WqW0sfLlywOA9PqM0HodWVlZmDlzpsO25cuX19z3XXfdhQ0bNmDp0qUOj126dAlFRUUAIFXa+/TTT6XHbTaboqqcXIsWLdCiRQt89tln+PHHHzF06FDFOk9ERKSPR0siolJAXRZZS48ePfDoo49i6tSp2LlzJ/r27YuIiAgcOnQI8+bNw7vvvos77rhDWmtn6tSpuPnmmzFgwADs2LEDixcvRpUqVZw+R+PGjVG/fn08++yzOHXqFOLj4/Hjjz8amsPjjpMnT6JDhw7o3bs3+vTpg6SkJJw5cwbffvstdu3ahdGjR0ttbdWqFcLCwvD6668jKysLUVFR0vo9evr27YvIyEgMGjQIjz76KK5cuYJPP/0U1apVw+nTpxXbtm3bFh999BGmTJmCBg0aoFq1aujduzeee+45LFiwADfffDMeeOABtG3bFjk5Odi9ezd++OEHpKWloUqVKhgyZAg6dOiAZ555BocPH0bjxo2xYMECXLhwAYD2yNKIESPw7LPPAgBT3oiI3BHQWnNEROQ2ealrZ9SlrkWffPKJ0LZtWyEmJkaI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EREREVGZwOCHiIiIiIjKBAY/RERERERUJjD4ISIiIiKiMoHBDxERERERlQkMfoiIiIiIqExg8ENERERERGUCgx8iIiIiIioTGPwQEREREVGZwOCHiIiIiIjKBAY/RERERERUJjD4ISIiIiKiMoHBDxERERERlQkMfoiIiIiIqExg8ENERERERGUCgx8iIiIiIioTGPwQEREREVGZwOCHiIiIiIjKBAY/RERERERUJjD4ISLywqxZs2CxWGCxWLBu3TqHxwVBQHJyMiwWC26++WaftCE9PR0TJ07Ezp07DW0vb7P639ixY33SxmA1Z84cTJ8+3fD2BQUFePfdd9G6dWvEx8ejQoUKaNasGR555BHs379f2u7PP//ExIkTcenSJfMbDeC1117D/PnzfbJvIqLSLDzQDSAiKg2io6MxZ84cdO3aVXH/mjVrcPLkSURFRfnsudPT0zFp0iSkpKSgVatWhn9v8uTJqFu3ruK+5s2bm9y64DZnzhzs2bMHo0ePNrT97bffjsWLF2PYsGEYOXIkCgsLsX//fixcuBCdO3dG48aNAZQEP5MmTcIDDzyAChUqmN7u1157DXfccQeGDBli+r6JiEozBj9ERCYYMGAA5s2bh/feew/h4fZD65w5c9C2bVucO3cugK3T1r9/f7Rr187Qtnl5eYiMjITVWnYTBrZs2YKFCxfi1VdfxQsvvKB47IMPPvB4lMdms6GgoADR0dEmtJKIiJwpu2cxIiITDRs2DOfPn8eyZcuk+woKCvDDDz9g+PDhmr+Tk5ODZ555BsnJyYiKikKjRo3w5ptvQhAExXbLli1D165dUaFCBcTGxqJRo0bSxffq1avRvn17AMCDDz4opa/NmjXL49eyevVqWCwWzJ07Fy+99BJq1qyJcuXKITs7GwCwadMm3HTTTUhISEC5cuXQo0cPrF+/3mE/69atQ/v27REdHY369evjf//7HyZOnAiLxSJtk5aWpttei8WCiRMnKu47deoU/vWvfyExMRFRUVFo1qwZvvjiC832f//993j11VdRq1YtREdHo0+fPjh8+LC0Xc+ePbFo0SIcO3ZMet9SUlJ035d//vkHANClSxeHx8LCwlC5cmUAwMSJE/Hcc88BAOrWrSvtOy0tTXpdjz/+OGbPno1mzZohKioKS5YsAQC8+eab6Ny5MypXroyYmBi0bdsWP/zw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O4TbbrtNqFy5shAVFSXUqVNHuOuuu4QVK1YotluzZo3Qtm1bITIyUqhXr57w8ccfCxMmTBDUp57c3FzhoYceEhISEoS4uDjhrrvuEs6cOeNQ6loQBCEzM1MYNWqUkJycLERERAhJSUlCnz59hE8++cRl+7XKal+5ckUYPny4UKFCBQGA07LXmZmZwrRp04QePXoI1atXF8LDw4WKFSsKvXv3Fn744QeH7V955RWhZs2agtVqVZS9BiCMGjVK8zk+//xzoWHDhkJUVJTQuHFjYebMmZrv2f79+4Xu3bsLMTExAgBF2Wsj75EgCMKRI0eEgQMHCjExMULVqlWFZ555Rvjxxx8FAMLGjRsd2rZ582YBgNC3b1/d94iIKNhZBMGkmZ9EREQuTJw4EZMmTTKt6ACZa/r06RgzZgxOnjyJmjVrKh7btWsXWrVqha+++gr33XdfgFpIROQdzvkhIiIqg65evar4OS8vD//73//QsGFDh8AHAD799FPExsbitttu81cTiYhMxzk/REREZdBtt92G2rVro1WrVsjKysI333yD/fv3Y/bs2Yrtfv31V+zbtw+ffPIJHn/8cafzloiIgh2DHyIiojKoX79++OyzzzB79mwUFxejadOmmDt3Lu6++27Fdk888QQyMzMxYMAATJo0KUCtJSIyB+f8EBERERFRmcA5P0REREREVCaEZNqbzWZDeno64uLi/LayORERERERBR9BEHD58mXUqFEDVqvzsZ2QDH7S09ORnJwc6GYQEREREVGQOHHiBGrVquV0m5AMfuLi4gCUvMD4+PgAt4aIiIiIiAIlOzsbycnJUozgTEgGP2KqW3x8PIMfIiIiIiIyNB2GBQ+IiIiIiKhMYPBDRERERERlAoMfIiIiIiIqExj8EBERERFRmcDgh4iIiIiIygQGP0QUVA5mXsa5K/mBbgYRERGVQiFZ6pqISqe0czno+87aktvTBga4NURERFTacOSHiILGtmMXA90EIiIiKsUY/BBR0BBkt4+dzwlYO4iIiKh0YvBDREEjt6BIuv3wl1sD2BIiIiIqjRj8EFHQiI4Ik24fOnMlgC0hct+FnALkFRYHuhlEROQEgx8iChrFNsH1RkRB6OzlfLR5ZRl6v7k60E0hIiInGPwQUdAY99PuQDeByCOr9p8BAKRn5QW4JURE5AyDHwp5giBgS9oFXMotCHRTnPrzn3NIGbsId/1vg+bjgiDgpulrkTJ2EVLGLsKZy7yIIgoVG46cD3QTiKgUKyq2YfCM9Zjwy55ANyXkMfihkPfo19tw58cb0GryMq/39cHKQ5ix6rAJrSoJZkRZuYUY/ukmAMDmoxeQdbVQse3FnALUHfcb9mdclu7r8OoKU9pBRL5XUGyTbp/JZscFEZlr0e7T2HXiEr7ccAxXCzi30Btc5JT8Jq+wGPmFNiSUizB1v7/vy5RuX84rxD2fbULFcpH48J42KB9l/CN+KbcAb/5+EAAwolMdxEXrt/PXXem4mFuAEZ1SNB9/d/khvLP8oNPnSoiJwMNfbsXyvzN1t8vKLTT9/Qole05loXnNhEA3g0qBK/lFWH3gDHo1qubWccGoRX+dlm7vPpWFPvHRpj8HEQWXwmIbFuxMR4e6lZBcqZxPn+vEhVzp9qlLuWhQLc6nz1eaceSH/KbztJVoOfl3nL+Sb9o+5aMrAHD9xN/x18ksrDl4Fs0mLMU/Z5UVw15fsh93fPQn8osce01yZT0pzubd5xUW44lvd2D8L3tx5Kx2RTJngQ9QspjnZ38ccRr4AEDLyb87fTzUncnOw9cb0pCTX6T5+M3vr/Nzi6i0eub7nXh8zg48/+NfPn+uS7mFrjciKoO+33ICKWMXYc+prEA3xRRzt5zAM/N2odsbq3z+XPEx9o5Qnhu9w+CH/KLYJuBCTsmcnFl/ppm233/OOl8Is89baxRzgT5a/Q+2HruIpXsdg46iYnvEow6q5LJlKWvfbj7uTnMlh89cwZRFfxvatuvrKz16jlBw1/824OVf9mLCgr2BbgqVMoIg4KFZW5AydhFy8ouk77x8hMZT+UXFmLf1BE5nXdV8fP7OU14/B5E/aXUI+oLY+VBaLt5fXbRPuu3rMvc1EmJkz2XT3e501lWn1zDkQfCzdu1aDBo0CDVq1IDFYsH8+fMVjwuCgPHjx6N69eqIiYlBamoqDh06pNjmwoULuOeeexAfH48KFSrgoYcewpUrXNOjNDufYx/tkQ/demvXiUsut9GaC1RQ5HjgKLTZ73NWcvmvk/YeK0+PLz0bVTO87cmL2hdYpUHa+ZLPwg/bTvJgTaaqO+43rLhWga3ZhKWm7nvW+jQ898Nf6DR1JWwax4p8JxcmRL5WWGzDw19uxUer/zG0/dgf/0Kjl5bgrd8P+LhlSiljF5maCeLKwczLaPPKMmz4x/PiJHtOZUlFiXILihRBSOOXl+j+3pX8Ijz9/U6pKqToUm6BtL8XfnZe7fTMZdfv1Wd/HEGnqSvxf34Y4Q5lbgc/OTk5aNmyJWbMmKH5+BtvvIH33nsPH3/8MTZt2oTy5cujX79+yMuzTwC95557sHfvXixbtgwLFy7E2rVr8cgjj3j+Kijozd9h7wmtU7m8aft9Zt4uQ9st3Zuh6NmyaVxobz92Ubpd7ORC/OGvtkq3W9WuYOj51cKsQOMk7Xzdvk0THe77+3S2R88TSlYdOON6I6Ig8M2mY9LtNYfOorBYGexcDPLKk1S6LfrrNJb/nYnXl+zXDM7V5m45AQB4f6U5xX7c0eE1/xX26fvOWlzIKcCwTzd6vA/5iFXT8cY7VZpPWIqftp/Cg7O2KO6Xd87O2XQcLSYuhc0moKjYsQPlx+0nFT+rjzsApIyS77eedHiM7NwOfvr3748pU6bg1ltvdXhMEARMnz4dL730EgYPHowWLVrgq6++Qnp6ujRC9Pfff2PJkiX47LPP0LFjR3Tt2hXvv/8+5s6di/T0dK9fEAWn7ccuSbcrlY/0+/M/+vU2bDxyQfrZZhPw2R9HpB4XQRDw3A/2nhK9kR/1iSTDzTU96lS2T4gcc+N1Do9/98gN+GREO4f77/pYWR678cuLkTJ2kWmV6YLBv2Zt1bxfXRmPQlt+UTGW7s0I6ZG+Exfso7Hb0i469Mhe5JwfCqBzstGUo+edp4ariZUKdxy/KJ0ffbn4dKAWts70Y0VGvfRYLdl5Raj3wm9o8GLJOf7hL+3BUs/rqiq2bXhtm5Sxi9B56grNjBbSZuqcn6NHjyIjIwOpqanSfQkJCejYsSM2bCi5eNuwYQMqVKiAdu3sF3ipqamwWq3YtGmT5n7z8/ORnZ2t+EehRT7SsvAvc4JcIz1acvd/sVm6Pfan3Yo5N3XH/abYVu+AfKVAOTHf1bydFrUSsOa5nlj+dA+kTRsIi+yxWFnFqWVjuiNt2kB0rFcZALD/lZsU+7ksKwhwOuuqNNT+36X+TVMwk9GTXrCv30TuafTSEjz69Tb0m7420E0xxea0CyhUXXTIOzmI/G23rJjAXycvOd1WfcEsjsTc+uGf0n31X/it1B2HO3ow4mTkmkOrU6fTVM/n7S7/+4y0z+iIMN3t0rPy0HaK98t9lBWmBj8ZGRkAgMREZdpOYmKi9FhGRgaqVVPOdwgPD0elSpWkbdSmTp2KhIQE6V9ycrKZzSY/6C7rsdiSdtHJlsbdP3Oz5v1p0wZi/djeXu3bptOBUlzsXsB1Z7tk1KlcHg2qxSrulx8fGyXGoWGiMgUuOiIM1+uUePbmQOqtgiIbdp245HbgqSWnQLvCGwA81LWudHva4v1ePxcFB/mF1sFM383zvKJTPdAXMrPzkKeaLN6/eZLfnp9I7Zed9g7GMd85Tw0/IFtbTrTu0DmH+1pNXoYhM9Z71S6tNC1/MWNdHCNFGuqO+w2j5+4wtD+j6exiSniBi/fvcp7/jnuhLiSqvY0bNw5ZWVnSvxMnTgS6SeQmX6Qu/aE6QE+97XocnToAAFCzQgx2Tejr8b715vy4e/DuUr+y4meLxaKzpaMFj3dR/KxXKOLHbf7L7R3z/U4MnrEeH60xNpFWrdgmSCM+6t5yuWEd7B0ci/dod4pQ6Jm7xbPqiO7afdJ/ZXTzCouRfVV50ZHP9BMKEZeuOo7o3Pu5dhbOzhOXkOVFSmdufuAW5szOc2z3vK3uXUvuMxiszJcFn38edgwkBUGAIAjo/+4fhvYnpoQXudn56o80uAs5BSGZbmdq8JOUVNLblZmpLCOcmZkpPZaUlIQzZ5QTm4uKinDhwgVpG7WoqCjEx8cr/lFo8XV61pHXBmBYh9qK4CIhJgKdVcGHUXopWYUGRzys15rhbJja1ZQHdaA0d8txzdzhZ+btwmWNA7u7BEFwWe5ULBP8Pw+Dn05TV6D+C7+hoMiGJXv1g5qaFZg2VBqN/8X3Jc0Li234emOa0236vrPG4/2fuaycK5CZne9QpcmfI09Eare2rml42/s+186g0LPjhOeZG85G+31Nq0NEPs/XbGJAMPwzx0AyMzvfIdXeiM/+OOLW9uoRaW8JgoDnf9iF6dfWMUw7l4N2U5bhoS+3uPjN4GNq8FO3bl0kJSVhxQp7LmV2djY2bdqETp06AQA6deqES5cuYdu2bdI2K1euhM1mQ8eOHc1sDpUCxTYBe05lOQQjZ1UTjK1W7RGVL//VwePn1eJstEKUW1AkLZIa4yT4ETkbDLq7nX0EZMaqf3RT3l5ZuE/zfiOKbQJSxi5C3XG/odFLSwxNcs32YHi9qNgmTQx/e9lBLNipP/crJlL7fcsrLMadH/+Jt/1ckpWCizgZe/Kvys/95bxCNHxxMX7bbQ+sJw5q6vD7BzOvuF2sRLT56AWH+w6fUabw5TL4oQCqWE5ZVCjXxKDDmyI7//5mm+uNfKRCuQjN+z2tpHp7m1pOH3f2nmulz/3xfC8MalnD6T4vu3lcMXvdoT2nsvH91pOYvrxk+ZrFezJgExyzcEKB28HPlStXsHPnTuzcuRNASZGDnTt34vjx47BYLBg9ejSmTJmCBQsWYPfu3RgxYgRq1KiBIUOGAACaNGmCm266CSNHjsTmzZuxfv16PP744xg6dChq1HD+h6fQNeB6z3Lg67/wG25+fx3uUw3DG63UEhFmRd0q7pfW1rvwL9KbDCSz9qD9QKB3EW/Ua7ddb2g7b8pa7k3XThFae+isx/vUIs9X/njNP9ikcRHpyk/bT2FL2kW8F4CSrOQd9YiJN8TJ2F+sP6q4/7HZ2x22vau99hxRrXL3RkxZ6Hpx4isBTO8hUvf4FxaZV1HtuBfr9P3lx3RUteoVYjTvN5p6pr4meOuuloqfG6nm7YoBQZcGjtkn5zTWNkquVA7vD2uNtGkDceS1ATgw5SaHbeSOvDYAR6cOwN+T9bczY56TnDyg25J2Ab+E8GLObgc/W7duRevWrdG6dWsAwNNPP43WrVtj/PjxAIDnn38eTzzxBB555BG0b98eV65cwZIlSxAdHS3tY/bs2WjcuDH69OmDAQMGoGvXrvjkk09MekkUjOQ9saJtxy6i3ZRl6PDqcjR+eTFOXlQeVOW5xX+qFiV7VVZlrWpclNPnXv50D+m2vMLaYz3rI23aQM2Dh96FUYGBk0itivaDrF7am9FTUZjOiJaZtuoUoLhwxdzqPhuPeL6wnNiz7s8F8YKRmCseCN72Hj+kUcrck7mAhzKVE7S3ptmDaK0eyHKR4Q73Acbn5WTlFuLbzceltmYY6HjJ4cgP+dnVgmJpTmqe6qJ3xf5MrV9xafWzPbHlxVTFfZnZoX0MjgxzvOzt9eZqzXV15H7a7ryD8bFe9RU/L9hVktlwQ133U++tVguiwpXXDjabgJRrVSQf7VEPVqsFFosFMZFhSJs2EB/e00batuK1Ua4e/12N4Z9uxJ5TxoLOtHM5+H7LCZy6pF2a+0KO/Zrgg5WHsV+jWEaocDv46dmzp3QClv+bNWsWgJJ5CpMnT0ZGRgby8vKwfPlyXHedcj2TSpUqYc6cObh8+TKysrLwxRdfIDY2VuPZqLQ6ei4Ht3/0J85dKcCZy/nIK7Sh6+urFBd2LSf/rvm7KWMXYYPsQnrioGZOnyvMasHBKf2xZ1I//DWhL4Z3rI0P72mD529qDKBkdGbPpH54aWATxF0LjoyO/Kh7e/6/vfMOj6Lq/vh3N71DgBRqAtJ7DaFLLyIoKgKKoL6igojoq6JUBUFRwQYoKujvFVFUEBVBehEIXXongEBCTUJL3fn9kczsndmZ2dndmS3Z83keHja7s7N3Z+/ce88953wPYA1jU3KzexvfbkuXfV5vw2vpXm0S50+kVgMgFj3gDWPWCPblOjHOUGThUP2NFUKsOMdxeP673fjBDSIC649dRr2Jq5D0+h9On+OAzAS82QnvYrdZYonshyQ1sORoUMk2T3SpncUMz8hFezDulwN4TUN+QM0SVUdP5jYQ/kduQREaTVmFju+tB2Abljz2R23FwKUklY9AhagQpM/o43IbpbCKnnqG5Snx1eZiL3F+kQX/7VFb9NqZq7dxz5t/4uCFbJy7dgfdPtyIr7ZYvcrnr98R5Qdt/G8nm/MnSYq359wtQNLrf+CD1cX5MUNL5jVneXT+dlSJLTZ+5NYdvRsm4rdR7fD3651Fdca2nrqmSaXu/7alo9P7G/Dqz/vR71P546czyqsbj+sbGeJufELtjSh93Pv+BtnnO8xcr/ierDv5souvPo0S7X5ecKAZkSGBMJtNeOeBhujdUPyeyJBAPN2+OspEFBssWtXe5NTfjpfsTGfJqOIY78dxnPRrzocxOMJv/1iNn/KRyoVue9QvDpGc2t8a8rcorXiBz3oKCj1UHM9TnLt+RxDJOHIpB99sTceKAxl47ecD6m/UgeELrAmtetb7cDTvRumzj2fexL7zWTbP10koXiQEmG2nursa4+G3lKg1qQl08PAe480nrmIeIwrCCpLkFhTh9BXjZL61sDP9Osb9st8l5S7CeziReQsFRRwuZufCYuGw5ohznp61L1ujJL6UKbbtCtINxZe7WzfF31x6UNfPkoMNkX2uYw3ZY+77ZAs6zFyPE5dvifJopZ6QauVsQ+mrxopFeqRh3UEyHieedx6QD2+fxOQr7jhzXfBWS71CPA0rx6CSQnifvc3Ct5lw3qsKUR+eKkhrBGT8eJjLN3Pxf9vPkjpQCWzldClN3jK+gFdAidtGUfBAIjV5+upt4fiFf5/BkUs5+FTnfJSPBzW1eW7zq/fq+hlyRIfJhwvxuJJM2bxaWcXXagsLVqupuOvsDeQXWhAYYH1u77kspz/fEab+fhj/XfIPBs/fjjWHM7H15FW8opPCniMEMd/9x13nRSFel3NyMe2Pw3h35VEMX7ADa51c/GjhEx3796frT+K1n/bjmW93afLkKY0B3Wdtkq1B8ueL7QEAgTJezLb3lHewtfZV3E5duS08nvHnUdzJL8S4Xw6g4eS/MH9TsVLT5OWH0PmDjR6Nl3943jZ8v+M83l1FNbR8iUVp5/DqT//Y3CusaI5SLRi5jcO956whz3UTo1GjQiTOTC/OJelaL97meFf4YpNVqeyrJ1oglFnAL93r3ntBSSBJSm5BEfIKi+wqswLFG6xqqBk/AxXyEh9uIX6e3+Cx91lydJu1SZQDZLFw+Gn3v9iVfh0Tfz1ot4YQAAxrk+Tw53orZPx4mKFf7cCEZQcxfqnxu7e+hN4qJVrhF9yKYW8KOvvfpZ3F5N8Oo9dHm0ULIDU4jZk/vWUKJlaJ1U8Kukd96yTH10kCgPSr6h6h5m87b4yuOqS8OC8XaZvDdf12PjrNXI9BraoKzz3tBnnN89fv4MstZ7Bk97/Yeuoanv52FwZ/mYafdv+rKfFdT9i+t/vsDVxj4q8fnLsV8zefwdwNp7D+2BU89Y1tfo1esOEgrpJ1pwA/7DqPvw5n4pSO3pDEmFCkz+gjyMXLJf46I3ggVbr66dlU1eM/+Os4vt9R7LWctqK4vyzeWVxbZN5Gx2RrWW7lFWLrqas249SxjJsY/f1epJ2+hjeWHsBlO/lJpy671wPFcRzGLzugGGpLKMNxHN5YegA/7voXs0rUtnjMjPUjV7SUJ+n1P0SGE+t5fbZjdQDFqQv26tElvf6HYo4Mx3FYceCSTV26uRus907HWhU0GyBGsWpMB7vH1JmwEg/O2ao4VvD5xM90qK7B+FH+vkoh5qGSc/Ly2Sp2lCInL9/CigPFpSq2nrqK6m+swCtL/sFD87bh221nHT+hj0PGj4fhE8ZKcyFHi4Ou0vSrt7H2yGX7BwI4PrWXM01ShB+ElNpcoKD2ZmT9kkCNI52j15mHF4wY3aWmaNJ7SyKfLU1Ov21HSeZ2XiEm/XpQVhqYZXjbJE3tvJidK9o9c0Zu21HkCuPx/PNvluGfz8Lmm+3/N1sU5vXvDWWPqbfxUHN5iVipV1WKI8bRkJSqor8v37RN0mY/z16yM8+N2+JwEGk4DCuoAgC3JH2U/Ryl+/XarTzFhGOeJ77egcHz07BAonbXY/YmLP/nIgZ+sR2L0s5h6NfqNVzSzlx3S74Fx3HYcOwy/pd2Dv/bfk40XuYXWvD6z/vxx/5LsFg4rDuaqasyoLQdvobFwuHwxRzkFlj7zsdrxcYPa6tM/k19LmLry6w9ap1n77cjsyzlxR/2yT7/+/5LeP67PWj/njiEnR2v5eY0uWKgenA7rxANJ6+yeZ6PMLDHoYs5GCJTqwcA7omLRPqMPnijd11Z7zJLfqFFNeJBDqW5f995dQEDPvdQCm/EDZ4v/31YcguKcCzjplD6Iun1P4QNnNIAGT9eglEVwa/fzses1cdtdmHcyS07k+u8x5qJ/u70/gaMXGQrWSuHM+5fNfgdNKWcH37yZBXdnImDdWUO5gu3xkaI82Z4t/Wd/EKbSX7B32fwn293yVZiPnChuM5BsMrOFAC7u8hSpv95BN9sO4tHPldPSH+zd10cmNwdw9okYc+EbqrH3nVxoZaRnYufdv9rt5grzxIVCXF3K904qrLkrQs9pVoWu8+qF0/s8oG4MCmr4ihlhCSmXy7HjPekzVx1FPUmrbJRkZOD99oAQGr1cogOFYuafPmEOE9Cmpf2GCPZLzfGrDhwCc2nrkHbGetwUcUA4q/VDzvVK9Qfzbhp0w+kC+d6E1fhP98a5ykEgOf+twfDFuzEhGW2uR2Ld57D4p3nMXLRHvy85188uXCXzW+tB/mFFvT6aDNeUli0eytfbD6N3h9vRt2JKxWPYXNPHQkHZje07Hl7WDUxoFh1keM4jFm8F5N+Lf5dz1y9jRe+3ys6bu6GU2g1bY3dtsgVA3WV23mFqD9pFW4qbJTZm28cwd71yy0oQnUnym7IYW+u/mN0e7w3oBHaSUJ7zXbayFJnwkr0mL3J/oE+Chk/OvL5xlN45ttdsknwLDm5BTh95ZZbFidTfz+Mj9aeEOpieIJ/VfJ4AKBng0T8MbqdQ+cMNJsMUaCxF/bG/2ThTP0eh0L0nPT0//J8G+Hx/54qLgb8x+h2eO+hRsLzN+7k4/SVW6g3cZVod4/jOEz57TBWH87EMpnY6n9KPAiL7SykfnEgLju/0IL/bdemQhZgNiEqNAiT769vY9BJuZClbIBxHIdP1p6QreTN03r6Wryy5B98WKLAY4+FW9M1HecOPt/kWJjU5hNXcU4HMQtHjV452LFOWhCUR22DRs5Lco/C7iZgG18vN+nzggefrT+F/EILPvhLW5/g+XRwUxtFx9bVxbK2P0sU5baftnpB2evw7407OHn5lqhO0c50dY8pAJxgzqFk0L/6037M23hKGKfk+v7qw5my4hN6zVFqYhF7GKOXH4OUFquusPXUVRzNuOn2/BJX+URirPLwv/ftvELc/6ltvpsWlLywcjSsFCP6u0VSLM5dv4Nl+y7im21nkV9osTFud6Vfx7srj8p6XuWQ25xzBSVhJR57842jzFcRiQgNCkBIkO2Su1VyrMOfU6+irXolS3CgGY+0rIL/e0pc5D392m2kuVByojRBxo+OTP/zKP46nGk3hK3R5L/Q+YONogWqUWwucSXLFdVyF+wCIVyh6Gf9ijGyzwO2YVGd68Th5Du95Q92EXvGDw9bv8cdNT2aVS2Lb59shfWvdBJipRNjwvAIkxBZWMThaSbXY/XhTCSP+0MUdvbqz8pyvfZCp76QWXwr1WmZs8E2KT46VF5Awd6OGQuroCXl7d+P4IPVx9H30y12w5g+V8m3ePSLbUh6/Q/czC2wUfBhUVOsM4IIBwvmDv16BzrMXK85pEuJPefUPTJaYD3b99auIHtM06ryISE3cwtQ/Q3xWPn5480BwKYGCQB8KCk+CAAyYm/44K9jiu1lUQpVKRcZgiZVygh/O7uQunIzD+3eXY+uH4q9HTky99b/bUtXlBs/fFG+Uv2S3f9ixp9HUWfCStWNmuMSz1fdCSuRPG6F4YulZfusKpCs9+9Str6hnFoLY3sbSuHFtccXe4K6fajsJbNXKJOfj+toCAGT5qXEhgeLjJWCIouNgqI9Gfrv/9Na9Le0aLErrDmcqdno0otu9eLxcrdasq8FmE0ikQcA6Fk/AT8801r2eDU61YrTdJx0bv1k3UkM/GK7w59XGlGXcyI0w+6a7T+f5XD8rFE4mwdiBMEBZkSFBuIOM5grhcCwTOpbH5Ps1PLRC62eH3ZQ+W3/Jdlje8kIFbhCh1ryi8ao0EDczC3E2Wt3BPU5AEIoi16Dndw1efnHf2xCfQDgmkQqs8jCGZ6j8+Muq+fqaMZNNKikbFADxfkX0pjqa7fyhN35hpPl60zxvNC5ppMtdQ5n8wIzb+Ypyp9qwUXbCYDYO1olNhwBZpNNf5IrVsxxnOzvwMuha61BIuf5uSTxdKw8lIHcgiKbwsSXVMLPTCbXPNAWC4fDl+SNlndWHMXjqUmi5yao5BZq6R9qi8stJ68KY8ypK7eEhezAL7Yb4mW3x0s/7MPiZ9QFJRyB7QMcxzm06eKtcFyxvLUSIYHFBTCVDGa5+UyJCEk+26frT4rKTNiLeOFhvSOtq4u9HltOXMWzCjLUjnAp+y6e1hjKyc+fenFHYYPh3xt3USVWPA5XLhvmVD/0tFhEaYA8PzrBFuurqLLQ0LNGhhSLhUO3DzeKEtSu3Zb/PI7j8ObSA7j/0y1uldmW5i142y3MS10rqbvwz7LtrhgTKnvsm33q6tgyZfiBm80nsMeBf7NtvIF8OJ0jKNWT+OuweCG2SkONFDlYJTp7sFKdcp8n3QhYsts2n8fbhANOXr4l3MvOMlfGC+cIy/9xPUyI3b0OCjDbqBgBQJ7MokEv77jSONP5gw2iv2fJhISpLS5dZe/5LMXq69Jd9FEyeZDJTA7BdYWxnuW9lcreLtaz+7CGwrFaGTxffvPFnnedDRHUA/bzbpSS+kZav4eS8So3nykRE2ZbtJstXPzX4UykX7WvdNqNkdA2mUyiaBC9CmuvOaxd6r9DTflNRWdh69mx7Eq/blOfR6uYEUu/Jt6xse7rkPGjE4eYkINomUGC55yOwgMWC4dGk1dh3C/FMtmbTlwRxYArwXEcksetwHdp57D/32w0mGSrhOIuWiSpq58sG9nWTS0pxix4fuRf52PgTabiHSMAKC+zYw0AlcvqJ0etJ7/s+Rd9P92CFlPXIOtOvhCWmBAj/z3s0XjKXzYhN1IjV2mBF2JHsOLVnnU0t4MNp5Lu3gO2oiKTl9vuontTjg8Am1Aonp+eTcWvGu8NrblXSqjJkmtlwzGxeuMoGa+Z1qKjDzSt5HJ7eE5LZOm3nnJvPHx+oQUzV8kbJM91Eu+A/y7jYWa9ZXqGdWkxpLTw7407itdUq6dAL17/xVpOYuNxbWqi3s4Dc7Tn+vC14UKZvBN2PnMGNvR3wd/piputahx+yxqa16iyurdeK1rLTQDA/Q4aE93s1D9SEmFqV7O8jXFnTyFODjbP1110qxePJ9sm4789atsoWvoqZPzoBLtoUtNzv6MiD+xote03lx1ATm6hUEdi8Q71hPWCIgs2Hb+CPh9vcehzjESqRiKFjal3B7znp1BB0prdKUuILvb4FDiRpMlxnEMhB3oy9sd/hMdN3lot5O3wu1IvdilemDaoFI3jmbZqUVKy7xag98ebRc/VTRQnZK47Kr/YeLiFesKtXCgUT6gkeTSQSeyQS6rfLsldYI0h/jsqtdPbaJEUi8ZVyqjmJBnJnwcuOTReSXeNR3SobnMMK+ULKBvMTiWs63yPScNXnEXN+xGv0vcFmLezRW+dRa12y4nMm3hz6QG70vUsC/5OV/6sku/ewkH5X0fIyS3AzFVHbXIT33ZzjS6jOKsiaPJUu2TR3/zGHtvlhPnMyduD7S5HFMI3Wf6Z2F31db0KKEvzSwe1ki8iCgBlVDarpXSuE4cvSvINlejdINHmudAgM0bee49N+K0z4WtS75E92NBEZ5k/tAUm9q2Hkffeg8n3uycFwWjI+DEAtXoVj6rkX1xxUJTge8bYybqTr6qoAwA13/wTQ7/eoRhjbhRqS2cvSkkCAISVuOCVEoNZg4VXlCpw4Et4W5gfYP1OvBINnx9y8EIOus/ahI/XOj4hta8pNmqVZKFH3nuP6nmkUsIs0oUjm+OzdO8FG2/D8IXyRVFfXLwXyeNW4MvNpxUFHLyVdS93RFRoIMym4onZXTz33R40fusvzSGzoxaJ5W/lJn3pPadVkEALet9361/upPiaI8IUcqFEPPbqHgFArkbJdq3MXiOvLHboYg66zdqE79LO4ZHPt+G9lUc1nU+tIO6YxcV9YpcdiXNnOXghG40m/4XP1p9C4ynivLHrt/M9VkhbCY7jMO6X/Xhf4gksG659cc7yas/aor/5W84iY/2YnLxDHL2GMU5+F0dJlKQeTOvfEF0Uxket5TIWPZ2CuY81s7tZ+WAzsWe6c5047J/UA9XKRdgUJ3XU9vn5uTb2D5Igt9Ek5fHW1bB8VFv8/XpnvDugoeqxzvZHb4OMHwNwVq7RldybTnYkHb0CmRudTcR+vpPriY6uElwyOuUrLjxKwgRg9fDJ7ZauGN3eiOYZCr+jJDXCZ61xTAIYgObCieUinAu1A2xrqEjztIYtkDd2pPxaojY19Q/f2A1m69sEBphxYHIPnJ7eB4kKuWeA44sUOaTePEDbbq9WpAv59ceuyB43sIXyLq4SWhcZUuOX9XqmvdEF6TP6IH1GH9VYfXZxlD6jD85Md06ZUosc+34VWXdn+HS9/EbHfZ+IowXmbDiFmyoFgLWw5shl3FWJhHBFpCOvsMimzVLqTFCum+MJjmfewvc7zot+gyIL53R+ktRDIJfPyvHzmcb7QzqveZsByRMslbpXGQC0eFIGp1RFm3vKazpWakyZmOeknp8AB11ujhZJLf58+5/RqHIMGlUug0plwtBTxnPFoiS85GuQ8WMAzk4KrgwkWS4mcKpNQnry9TCxMlgYs0v6as86WDi8pVvaoQQ/SNkLZTOZrMmKclKkNeL0KWbmTvj8G7kchDNMIuvoLjUVd9F48gq0bQC4UqSW44D/bT8rSDEXyhisP8mIGrhK95KYb71qoBQUWQRRg8ckhf6kdWQA5fo20to2LL/uc120QM7QeXjeNpHACvtvcUk47vpj8qGE0h3E7aev40TmTaw/etlG4GE8Ix7izOTLGiT7JyuH3khzMtl+r3WZwkvzd60bJ3w2n28hpUAhvBbQngM1b+Mph+X2PxnU1KHj5Wg4+S98l3YWbWes01xE+2FJXZmPFGrYAECTqmUcblN+YfG9xMtA2yPp9T8MLQNxIvMmlu29oGmskFs3bD1lDWVsX7M87omLxAIn50iTSSbsTfD8aKNexWiM62XNw9RLLKlpyW+t1waonLS9ElrmoIn31dN+Psk4zP7yeoS9uUKqpA4ZD5v3FBMWhDFdlZVMgwLM2PFGF2wb11nvaGK3QsaPTgxoZh3Up/95FCsOWJNTcwuKYLFwuGJHc17PXRRHJ7drt92jh39v7TgsG9kWU/s3wJG3bGsQqBUudAdCKJti7Lv1MZ+sKFcE0tG4XFcY1KqqLufhB225ejxs/Y1hbZLQw46Mt1RcgKWZE4saJcYvO4gHSwr4yuVpvbLkH2zRIRdCOF/3Wi4ZbHI0fWu18HjLyasizzEfyvZoyyoY07UmDk3poXieejKeGZ7rt53bHGHzeuK05KAwvP7LATwybxuGK3jg9k7sjvWvdBLCRH775yK6zdokG574eGo14bEzyoHsHB0dGoQNr3RC74a2fVjaN9k8JK25eS92qYnv/9Manw5uJjxXRZKbxVd6lys6zKO1+OGMP4+KCrQGmMXG1tPtkrHjjS4IDw7Af3vUxl8vdUDfxhVxZnpvbH71Xvw2yrEC0yxvLj2IC1l30f699XaPPTilB2Y+LK7BpFa3y5kIiuf+t9vh9/T6aLP9g5yk26xNGPPDPqw5Yj+XkA1z5I2lZXutymELh7fCmrEdcW9t9Y2nbeM6yxr4bLI9H/omzGcOrGLZBfyudH1CFuskFI9des2b7OabVDhEihbDVE5ARwk1xTrpa1rU7d7uV5xjM+NB9XA0LcgpxQWaTTbXfUzXWqohuXHRoUiM0Sfv0VOQ8aMTUmlfvlL3jdv5qDNhJfp+ugXnb6jvjkkTftU4kSmfQwEAteIj0buhY0lu9mRH9cJkMqFJlTJ4rHU1kdeHR++FpaMEBxYPRkoTr1XwwITAkrC3PMli9fcX7C8m9Lza9hTTnmxbnPiaVE49OZ7fhfphhG1tjbWMpHV4cABiw8UFHaUhV2oLl++faY0PH2mMfRO7qbaHR0vC5uWbuYrJskczlEOzHC0AWrWc/h496e6pXB5H9QoRGNO1lk2tDZZ7Vbxx7648KqpFxmOxcDh4IVvR2Ge9Nm/3b6B4fiV2pKsnxyeXj0CUBvUgdjf1okrdHSWka7uk8hGY1t92MSEVpOGYO1WuOrscgQFmpNYop7pg4hc93247q3jMjjPXMXvNcRQWWZDDeAVe72WrgCit38O29blONRAXHYrDb/XEyHvvQa344oKWJpMJVWLD0VCisGXUXGBPJUpakLOgyILsuwXYevKq5np1a50QLLG3KeksbJtnawgdZq87/5AtJaBVBjoxJkw2V5J9Ox/65ojUNU9zRqH11BV5dVm5QsNq8Ld3kU7edLbswWg79dhYj/k7D7huYISo3PfSn1DLT/p4ahLSZ/TBo05ucnJOrjbsRXf4OmT86IRSkayxP+4DUJwwyk7yf75omxOSpyF5leM4JL3+B7rN2qR4zJCUapoGyj0TrIvPQQpCDLvP3sATX+9wX3Vs5j6tXsH9oWOaPT8m6w4YGzI4vk9du8U19caewTixbz2kz+iD3zXmIcmFWrEFFAPNJnSpKx4YpV5LpVAnoHh378FmlVFGYkApMeuRJlg2si2Ovt0TO97ogqNv23oMx/7wj8w7rVxjQltYeVEt0vAsNdzQJx9ha6w4MG/ZS0RtPX2tzXPzNp3CfZ9swes/H8D6Y5ex++x1bDlxFUmv/4FJvx4UCVV0rxePWQMdW9RoQVpsVA7W6+KMp1Mu7l1uZ1OaN8YaMGriG46itd/NXnMC97z5J4bMt4ZD9m6QqLowqRYbjvBg61wT6EgMEIyXoJ4zpJns8yGBAVj9UgcMa5MktOPheVsx+Ms0/LBLXckU8K6C3oB4TXDoovIGDA87Z/++v9jjoyTAIi2i/t8exeIGat4B9h7ijQxnpK6bVbUaP3JCNu1rlseDzSqjfKR2TzHfR/X6DfnNt35NKspusrIklY9AvyYV8UiLyhicUtVl4RhHpKDlii8biSMf5113k/6Q8aMDam5TNmmX156vEBWCOglRNh1RS9hbmgaZUXtFsI5N7Yn0GX0QG2FdfF7MzrWp1QIAA+ZuxcbjV9DlA/l6I3rDtklrHRM9CbIjeMAxggf8IjrrrrW2gVqBW8AYWWtpjLES0kH579c7yx4XZsfFHxhgtvke0vwEpbA3OcPFHsGBZjSpUgahQQGIiw6VNez5vB/AVt2G44DmU9cIf7NJo5Nkav0AyrHR9Ssab9jKLSi0JK1Kr4tcPRxpLs1HJepeP+/5F8MX7MSAuduEYrnfbDuLv5gQM5PJhAeaVlYsmKgFuXCcv+wUJJzcVxxvHyUTlmkXmcsnF29/QVLkljcE2HomRrFmbEc80qIy/tM+2eY1tphkldgwTH1A2Qt3+uptRIYEYnLfephwXz2HFbYu5zjnCZHOg+xClt00UItKqBkfhZSScL/8QguOZxYbiZN+lb9PWZQMpGck44Ej+Ruu4KhyJNsdv7FTb0z6nUbeew/+mdhd1TvAjg/8T+WM58cebLgnz3OdamDHG10U38MbAVIRG2f5raQmlta6XR892hTvPVS8sTP70Sb4cmgLO+9QZzpjhKpdW72KuhqBXjmt3goZPzqw51yW7PNLJIPxpeziiTXQbILJZLJZZGoJe5PuTMphb0ddKa5WWquFxZXERkduosAAM45P7YUT03ohSsedVq1o9fyYTNaBiy0i6UhssF4Tj9TzM+8x9ToEPJXKhOH7/7QGAPzfU62E57XGXQ9JsU60uQUW2d+ZNSK+eqKFQ9dHCTmFHPa+kIYBSu8ZNjxMqWaJlt0/vaYGvWpZsQbpt0+2wqyBTWSPY0MS7e3yK3lZnPWAOeM9eaLEEzCuVx30aZSILnXViwzKoXWNIRUvKSgs/pXVxCT0oHqFCNwTF4n3HmoMe8OlyWRS9ebwu//D2ibb1HpRYjBzL3++STkPZ9HTKVj3ckfZ11iVSIuFQ/U3Vgh/X3AgVDFQZgMqX4M3ahxTxJTnr5c64JXuYsnnJ9slY9s48caPEapl81Suoxxszo/SmoKnqkwIsz0jVzbszYBac+EynpbXetZBXLSyGiV/e2lZ32ghrCTs09GwZqB4jOpqp5CpPdhxk/1G0m/nbs+PHKXbxFGGjB8dUBrY//vTftHffDVxPsxDOkhoqY58TqWomZT7dChupSdab/PgQLPhiw3Fzy7J41E0fkr+N8HkFQMXYJsA3rNBAra8di8WDG+J0++IZXal8rGpNcohfUYftK9pVdCSFg9VYtoDDUV5O6y3h18cv9i1JraP64Ijb/V0atEqh9lsslnMshsHUhli6YL2aTsLwnqJ0dh0Ql5mGdDfe6dXVXMWXjhELhSu+VSrwIK9jVbeOyKtXZNc3ipMkhgTijPTe+PwWz2wf3J37B7fVfZcjko+b371XpyZ3lu43iM61sBng5s5tVvqbB0TXo1Nj/GIH+9rVIgQNgV4cZEe9a3iC2p5XTxqnihnwnY6MHW5vksr3syRqz7f5p7yqF5BXpTmMybn7rIkj2bBsFbSwxXhcykv2TGYLt/MxYw/jyoqze0a3xW14qNkw4KlydpqxVidZVHaOfsHMZy5Kg6FVNs0dGYTgZ2vrPlF1kgGveDvFUeGyYASY16vfLPaJXltj7WuZudIz+JutTdHKO1GERk/OvD6z/vtHwTg/7aLk1ulu+Afrz0hyMSmMxKrLGpF46S82sM2MdYRvFXD30jseX54iqWuvWPgkosnr1w2HPfWjrMZXP9+vTNmDWysqvBkMplwcEoPLH3efkE1dqHG9hfeEAoNCkBCTKjduGtHUdv5li6OP5bI6SrVaGlSpQxqxkVi+ai22KyjQpw99NrtBIANr3TCryPbCuGXu8bbikrczC3UvCP69u+HAdjKDrNS7n++2B4mkwnhwYGIDg1CucgQpM/oI/Jsj+1WS9FoVKrnUiU2XDdDU+k0u2QMtbkbrDv2fD5f1h37G1P2+OX5NujXpCK+eqKlcD/cLPGos8allloeatdFi/EkRW5jQhqCxCvUAcCJab1sjt97Pkt4LL0HW1cXK9eN7qxc3Dio5N6WGlA/7jqPFlNXC4IXraatxbyNp9D+vfU2Oal7JnQT5Zy8N6CRzeewZRfe1Vi01VkqaFBKnCAJ7dt+2n6IO2BVA7MHa/zwPy0byaA3jgxrguCBTsYPvxmmR6SBnkiviaN1fvT+fEDZ8C3lUW9k/OiBVCFIK2q5Gp3e34BDF20L2EkTZeVczDxVy4Vj/+TuooGtU21xjYyx3Wopvt9e3HFphM9dUZLwZHfjXPH86DmwdHXQo/JA08o2Ck9SIkMC0bRqWaGQqxLsjnhmTh44jgPHcYLxY0+JzlnUcri1eAbkDlk2si1Wj+2IwAAz2jM74UajZ552UvkINGbC6ALMJix51la9r97EVQ6Fo0r7OptwzSbXsxx5uyd+G9UOU/s3wMh7lRe7a2XCqBpUUpbtdgalW7V8ZAh+f6GdUJsHEC+EeY9AjoKgjSPUSYjGR482RVL5CKGP8j8Bew3b1JDPNwPUx2seZ4wfJc/WXEacgD1vUIAZZ6b3xpqxHYTn9v+bLfSp9RLVNamxNlYSisZ6Z5Q2lV79aT+u3spHmxnrbF5LeUcs5sHmjgLAIy2r4KNHm4iUODvX0ccTrQVnFOWe/84q2y2Xv3dmem/sndANj6cmaTofO+bxvxMbyeBJ9Pb88GGSWvNh3YV0zPWy5vkVdOndSHLJzhlfL+O0gneHp8/H6hWq02f0sZkMpSEP0aFBCGd2PzZIqqaP7qIsA7loh2Nu+9LAnJJdX3tqTCYTnCqOZ8QU82hLa8V7tR1VZ3AkxKjvJ1uQPG4FksetEIouGmX8qHl+zCagl0Idoo9L6l/Zm2O1LDL1Qs0I0WMp0DIpVijMypNfZMHVW9q9GdIk+FrxUaiTEIVeDRJU1QYbVo7BY63V1SdDgwKQPqOPKITyw0eaaG6bFtQWdw0qxaBFNfmaOqzUsJ5IQ8rY8SYwwIz0GX2QPqMP1r/SSXTcKBUj0gjY+kRSwRSTyYR74qJEz/Ehc69qjIbgmcbIqNvbcAGcK8rdr0kltytxusINpsaWXPiWyWRC2QjtQhzsPVhkU+fHuTZKmdTXOTEJ3gOil9Q17033ksh0Aem3M0IASS+0/BLe23r7kPHjRvhE4xaMTr6rtKkh3qH+6glblRJ7rl9Wk58NHzjrQH5RaWFgiyqqr1srYps0hyUYDbtTqnedpCCJkdGhVgWFI8VJybw3VK3mgSuoLabNJpNi/lxfjXlwjSqXQevqsehaVzl/Qi/vHV+bVZpXw+LqHPmFjHrRDzu1b24ck9QVCwow488X22OuRnENLZQJD8b4PnUxqW89oRaNXti7fkrehpoGFV2W9t8imQK9QPGGGR+aN7pLTUNzBF6Q2ThhlfW0eJTGLzsobHzwKKlHsjmpbOijFmnuuhNXKr72i4ZwXTlOOih7ryfT/zyi+rpSaKgjmOTC3pzM+ZGOi9MfbIjZA5tgeFttAhtSBMEDnTw/Rgg5GIE35A0rXXFSe3OQoqIiTJgwAcnJyQgLC0ONGjXw9ttviy4kx3GYOHEiEhMTERYWhq5du+LEiRMqZ/VeDjISpPbgpS/1qmIMAPUqisND5G52e8YPW0nc2RC+0kKbe4pDTtreIx96IkwWnh+zBNiQFb2FIqSLwrkKNTqUMM7zo/wDmEwmVIuVL+iqdTIMMJuw+JlUTH/QNldA75+e36V8sFllnc8sRiod//5f9gsvqmHEwuLp9tWdXkCpYa+tSt6Gh1sU/yb1K+obhiftv4+3TlI8tnxJDpXUG6m3/Da/EOMFTzrVriCaO7R6wdicKQA4NKWH7HGsAcgada7mUrJ1aOxRkSnOfPaaeiSGq6h5qz7feFr1vQkxykppjsBfc1u1N8fOk3VHLOPdoGIM+ktC85wRPNBL6toICW89kNoT3tY+f0L3lcm7776LuXPn4tNPP8WRI0fw7rvv4r333sMnn3wiHPPee+/h448/xrx585CWloaIiAj06NEDubluKqSpI19ssg5aDe241Hm56KV7L2g+v1Ji8pu962o+hz31LjY++phMjRElsu8W4LP1J+0q0BmZVKk3guBBoUKdHx03Q5wpMCcHu4jQ2/MTINmFdTSB1LicHzXPD/CSTNgaWz9FrpCrp+Dne/5aGbW5z+YCxWlIwGZJkpHW9SVC7fRDqbeBr1y/sCTnR0uRSkeQ9l9nFvzTZKrRS8MbHYEfR3jJ5UCzyan799P1J0V/K92rbLI3O4a5U+nzBSbsmxf3MIqvtqgbOCx6eHrk4C+zxcWcH6mR4qrBqrfnh8fb1hzSb+cNvhVFwQO3tsL96D7KbN26Ff369UOfPn2QlJSEhx56CN27d8eOHTsAFC/4Zs+ejfHjx6Nfv35o1KgRvv32W1y8eBHLli3TuzmGs/yfi8LjL2VCzlxFruAhAExboe4mZ2EXrHI5PuJq4NpHi+e/242Zq46hw8z1mt/j7fDfv0AhDEXNnT7y3hqGtUuNICPD3iSTmly4Wa145dAgPb2cLGr91GwyoWKZMHSUhOi9wWwYOLI7bDS8EewO2VPee+Co7HiqShK+L2BvQS1dvPFFnS9mG7MhJ+2/asI1SvSon2AjK66HqiKfDxJgNuk+nrCw/Z0N/3FkDpLyas/a9g9i6MOE3qU7GOZ97VYeBn2xHb/uK97M3JV+XbWekSMbZ1ecyCfVAj9vWdXenNuAq5so9oTKeU4d+b5mnXN+vDVky9PtcuR3frlbLUQEB3hsXWM0uo9sbdq0wdq1a3H8eHFIxT///IMtW7agV69iacwzZ84gIyMDXbtaB+2YmBikpKRg27ZtsufMy8tDTk6O6J83UtZOcVEpHz3aBIBVCIFn0dMpwuOcXPkq0aw3hx/A3x1guxMIFEvb8jSVSNZKiYu27ghXVQgd4vn7pLbqyb5EUKBGqWuZ57rXk0+yl4PTcV+F9c4YHfYmR50E5ZAgLcnLzqCe81P8f0SIeCHIGqyPSHK7nkj1XD0IaXKukdMj/3sWFllU5XelNcK8uRK5Fuy13911xaQe1TJhzoWwlYsU/4aueFp/YzbygBLjx8Xr8mAzW5Uy4fwKBo8rv8WIDo4t1Jypl8Mzc9UxbDt9DS8u3of6E1fioXnb0LZEiU6u9pC03pgabCHiqYwYhKvw11zqYXHU+JFuhriqhsj//nqpvXlr2JsvUb1CJP6Z1B3/VSmZ4u05VWroPuK//vrrePTRR1GnTh0EBQWhadOmGDNmDIYMGQIAyMgoLsgYHy/eeYyPjxdekzJ9+nTExMQI/6pUUU9K9xTBgWYcn9oLLezUaeBldPs1qYT0GX0wX5KMnMxUT8+5K2/8sGpInw1uhpPTemFgS/lq7OeYgTjEzsSyfJ91AtRSm6C0wSf4FxYphL2pvFeafyWHEWMFu3DQO8xMS/Kx2u6wUYOjvZyf4mOU29VTogb3ak/Ha2LpZaTw871czQe9dwqDmNj6HvXlvT99GibirX7iBZeWfuDN2PMmKL1eriQkuE6CvgIMNp/nwm3yFFO01xVPjdRrEWA2i2piKeVBqtGzvvKGEOv5YY1TtQ2XN3qr36fuNNLZ6yU1bA7I5AIfupiN9ccuo9PM9diZrl0sp0NNZZEZR7EJe2MEfBxBGgbrircOsP5uSvOuw3ip4IF0OHe3J0jud1ZrgVJNvNKA7t/sxx9/xHfffYdFixZhz549+Oabb/D+++/jm2++cfqc48aNQ3Z2tvDv/PnzOrbYNR5qLk5SDg40201OlC6Sa1QQe37io9j3Wzsr641oK1F509pJg+xMjltOWos7SosvHryQrRiTq3esrqfgPRVK4YZqYQLu3j3mEam96e350TCpXTMoREMNe2pvgP3fI31GH5yY1gvpM/o4VBtF7/mUv8/cofwjeH4sHOScm9XKheOzIc1s6qR4gyqRKzjr+eleYiBKPWF6t8eVtWM8463XM8xUeu83rFTG4XPkq3jQ2UsuDntTvm+fcdCzo4VpDxQb+t0czJdSK4QsN39sPnEVwxfsRPq1O3h4njXKxd7cGR+j3yYkb3DaqL052P+qVxCHOsvlgjpyTn79olvYmxcKEwG2ER/uXjXpGXHi6+i+Wvvvf/8reH8aNmyIxx9/HC+99BKmT58OAEhIKN4JyswUK8dkZmYKr0kJCQlBdHS06J+3kBBdbKgMa5MkPGdv9026kJDuTpjNJqRWL95lyyssEkQP7uRZd5dC7IgYsAxqZfWU2VsQsqIN0jH5vk+2YIFC4VO9Bi1PoySRzKPkTm+po3y5o+gVMiJ7bg3nWy+pHcUjrQuiJ1rC3rSE3HnKYGXhbx13bFoHCjusFnwvU8drukwSPQDcLXC9yKcnsWf8KHkb+DAcvXeQpe1x5fzshoeeOTrSNjqzS926urK3SFnwwL0rVn4MUBIXcobtp7SHhLP5pdLNVEBfg1bIrZHW+XEQ6W8kDd13lAC9w94Ej5Z3UUqWSaUC3Wf+O3fuwCzZuQkICICl5AZPTk5GQkIC1q61VmTOyclBWloaUlNtK5F7O0IlYWbSsbf7LhfeIoVPXE07cx31Jq3C/E2ncf4GE77mwCQXFsRW5lb/7MOXrPlUcpPdV5utijVsDQy9Bi1Pw9Y5kp3sFdzpntwZZ/MH9E5QDmb6i1oIixx6S/GySHMmWPjfwlUFIndhzfkpbq+REyRvzBYohJe0uae87PO+PmnzMrxSLzuPkodTCEnU2TKVfp4rpw9mFse5Bc6XKpCOYdJ5ihXG0YpSjR9AGvZmfd7ehkv6jD744ZnWeEfBUHcUfk5UuieUUJM/7y4TUvpgU/n8JzbUKybMWBVK/pJz0rA3B+cvaf03LWsaNQShIZ0MUGvxVt+YAzyJv14h3Y2fvn37Ytq0afjjjz+Qnp6OpUuX4sMPP8QDDzwAoPgmGzNmDKZOnYrly5fjwIEDGDp0KCpWrIj+/fvr3RzD4RMTgxVqrciJBmhRdeIFDRalnUN+oQXTVhwRFZxzZLD6lzGa7BlmrKSrNOwNEKsfsQaPFn1+R+OKPUF5JoFYbjJUKgrn8OKIObWr4zO7kNJf6tp67qEKogB9GsqHBBmpXqae81P8fwSzWBstU8DRW3Bn2NuFG8V5CmuOZKJzHeUCrlJ8fXOjdfVyWDO2A357oZ3s60qhVnxIkt5d2TbszQXPD3PPuyLJLd0sCCj5e1LfemhRrSyGt0ty+Jxq46LY82P9Dkr3NnuulOrlMDhFPsfVUYTyBg4uvNWuNdtWXlY+XiEcnv3cTrXF+T1y6qyuIHhYbKSuHUM6tutVrkHvcYZtllfaQb49rPrAik4Z3eNSPvnkE0yYMAHPP/88Ll++jIoVK2LEiBGYOHGicMyrr76K27dv45lnnkFWVhbatWuHlStXIjRUn0Je7oT3/LAGDzsufPNkK0xfcQR/Hc6UfV2JUBlXNz8wsEaQFtjP1rI4/mHnObS9pzwU1J4FTl+1FoUr0itR0cN0ZSSA84ssNtdLqWaRMzvDel0xI2tk7DmXJTxWCrXs2SABfxy4ZNsuA2cbLTk/rHe0TqL+obJ6JatavQu6nE6VzSesIYpymxtK6FV80JPcE6csWqDkJTTKMHU1QZzFkagDNaQGIN/G4W2TNRWerRIbhvPXxaIJat/zn3+zhMdKym9AsaxydGggXuulLnZwf+OKdtsoB/+9C4osOHXlFvady8IDTSs5vXnDcZxoEc+Pm+uPXpY9nt1kkyrGltW5HpkgdV0yt+tVa87VsNBA3YucymxcesEQ5o3DqBc2yS3oPt1GRUVh9uzZOHv2LO7evYtTp05h6tSpCA623tQmkwlvvfUWMjIykJubizVr1qBWLduihL6A4PlhJqBjmdZkx7ioEAxNTRK9R25RKE22lFto8hOxowvtZoy8tZbF8Ws/H0DXDzc6tDgqLTk/7II5z04IyeyBTYTHWhdHRni/jFR7Y1HqO1kKioRGKi+pGj9m/n/f2JfiJGFvRvJcp2IPWKDZ5NBEfCfft3N+7KHUt/lrpLfxIw3bdMnzI4o6cP48Wmp6ybFweEs0qBSNLx63rXOndo6d6TeEx+zlkL6nYaVo/DAi1W5trtpOKvLxY2Z+kQVdPtiIl5f8I6rf5ygWTrzQ5n8fJRGdQgu/gWqy9b7pPIYJUtcuen70hv/euuf8ePqLSYgOE29ckwCB5/B8tq+PI2f8sANfgNlkY8jILcpmD2yCh5pXxrKRbQHIJzny3nFHd9RZ40urZyC3wOLQTomeyaKexMzUtsgrtP1O1ktiEk3GnqyD4q7q6ErnXnM4U/Z5Ixfz2QoGF2BdSLKGpp4t0ftbqS2w9Z4aeRGKe+IiHVJo9PWwN3vIfb+Nx68IIUn6h72J/3blVmHnF7kxSytSxUOt80yn2nH4/YX2NoUvzSb1MeBhJrmfHcNMJpPIENNqGLKS347Az91sbZ29524oHW6XQosFd5mNM3tjckFhcd8LNJttrrneY6hU6tpbJKFZIRY9sBp13mX9PNS8MnoxZRbc0b5Ssi+tO2T8uAg/ObKJ4ewkEhoUYKNdLzeYR4QE4v2HG6NJlTLC+6TwE7SjO9pseIEjYRGOeH5K0/0lNxnysDtKgU5M0EbAhqsYGTqlFDJ5UaGquZFtOXn5luJrchN5aLB+ikl6Yw2tUj5Gr8UJG1vv0P1dmm5wGeKjQ21q+Tzx9Q78ebC49pzeXkQ9PT9s7ba0M9rrx0h5W1LbKcBFwRB7taGUwt6k79Xa9+XmTC3IjfeudPciC4cPVx8X/r5uR0H0yq3iPNq7BUU2m2h6hw4LYW9SqWtdP8VxhDo/pdzzExIYgLmPNRf+dnf75IwtL7tEboOMHxeR8/ysk8T2nrgsdndrWRSGyoS98caPowNi2mnrhBgUKP/eZzpUt3nO3uJI7+R6b4EPg5D3/FgnCzbczJOKyewaIzhA30V+dyYcU8lwfrCZrTwrYGzOjxr8z8J+vJ6FAvXGKEUxORwxfsoxtX4cMZR8kQCzCX+Mbq/4utE5P66pvVnvS76AtjNIlfBczUuyFwp9PNO6gVEgWfSyG0tql75x5RjlFzXCj2si48eF7p51R+yVtjdPvvHLQeGxnvWf5ODPb1Pk1InP0fOW4I1d/TzMtkadtxlCgOc9bv5M6Vy9uhE5wQMpUlUlLROpbNibkzk/9zW2qnEptfP7NNuaH/YmAHdXJ3YXWj0/7O/g6OJIzyvH7pJGOiiGYY9GzOJCaRKvmygfa++pgZ3f3XqsdTVUiArB0NRqHg1LtIc7c37YHVZ7giacwuPSihYRDaM+y6U6P8x96YrBYuN1sOO5kYMN6XFkISudS5QEhKQsfb4tvni8OY5N7am9kRL4sEG2IKuF43A7rxCD52/Hwr/POHS+CxJPOF8LkIXdSGJzhKX9TO9+J4S98XV+hFcc/xx7m1uOnJEtvqwHckadNy5XEhUUAN2JF14Wt2BcFUI/YeS992BAs8poXk05GVNaH0HLgKbq+XFwgmPDOZQmx5t5tgnNSjt3HMfBZDKJJje1gcVbXdBKWD0/toIHbCwxa3RoHViNuAZhwQGY3LceijggNkLf2jpBChLuLA0qye++Gmkc92qQIIQkSeG7eGxEMNLGdfF64YMig+SU5QhU8fw83lpeyhwAujggi10a0fu30erZ0AI7n9gLNVND+l5nPLeORAOEBJoF77rU+AvUuLFkNpvQ3cH6Y1LkcjwtHIfvd5zD1lPXsPXUNQyTqN2pjW1S0ZlwmWLPSnO40YIHZsHzU/y3K3NzgNmkaqw4MvrrnfPD4205PzxfDm2BY5k30aaGchFgIyCBBStk/LiIXAXrxpVj8M+/2cLftjtq9m9IuYXm7RIDxdEOfCffuoh3ZIdRqWDe5Zt5iI8O9UrZRj3gvW5ynh8eac6PK4OKHgO0dHLWi0ANSlJK0utGKgCqqdqxfdwIw0dvD42zKo7OYPX8WITf543edRAcYMbjElXK+OhQIV/hMRXDyB/Qux+xC3pXd/fZ9we5EIostZucKRLsSB/+/pnWeHDOVgBARckOuNjzY+x9wRtsN3OtG4CFRZyqeISaV6ugyIJHWlTGj7v+BQAkRIfYHKP0laQGp+7Gj8m6+QG4lvMTaDYhT6d26Z7zo8tZjKNrvXh0rWdbCJdwHxT2ZgA/jEhF4yplMK8ksU26aNQyni3eaRuGNmrRHgCwqaVgj/b3VECA2aQaH91TZveMNZpYZvx5tFSrPwWr5PywLh52YnJqne8Dl1BUQ0RhYcWGaLZMsnpAXak54ki7pHi5o8cGi7D7yvYncUy+XrCSsvznVi8fiWFtk20WWp8NborU6uXw3dMpfh+bbmTOj6tnZo2Wdvc4v5Ms/Y2dWXirbRhJaVa1LA6/1QPpM/rYen5cFFtwBLnftojjVMcvtUX6nfwi0cZgO5l8Q6VvJzWy9Td+iv+Xji/OdG89NwT0zvkRPHP+PWxpwl8vEXl+DCA0KAC/lkhWA7bhBFoGjRu3baV8c3Kdq7UREx6EA5O7y+YR8fynQzJWHhKHEd0tMX4m3FcPb/9+WHh+6d4L2HrqqlNt8QU0hb2ZxAsYpRoOvk4QK6PtYEiNs+pLWlDLR/C1hTo/UauFGen1jQKZHVb+c5UuZfUKkfj+mdY6fbJvY1TiefG5XTt5pTJhwuOHm1dx+jxSb6oz+UO/77ctdqyGNCRc7rON9vxIC4sCxYtwtXlazfj5assZxJack/eqakV6zY3y/FjV3opxJvpAz0K9Rnl+vF3wgPAc5PlxAzbF4zTchWziqB6EBweqDqTNq8XaTH78QNRCJp8pM0fs8C5NsaRqnh/rhpJJdD3PXb/jlra5G1H4iYbJrlBjHpirqE28vibEYXFh99VReKOxqMhahd7XjEVPoPci9PClHOsfLp46KjQI61/phG3jOru0Gx8UYMb0BxsKf3tSvl+r4IEeyP22RRZO8XOLLBy+2ZqueL4Nx64IIaVmk0l2rFK654z2/PCbdBk5xfLaEMRWHD9XoB2jzpFT8msk3er8eEn9Il/AldnSly8vGT9uQHoDaplUasZHGtUcRfZO7Cb7vJGFM70RValrxp3uysDqK+tzR+XM2ZpW205f07s5AmqLAndFZOr9G7pjHuEXYjfzCq0S2748g7kJvRdRbOiyHuvb5PIRSIwJs3+gHeoxhUqdCT3rplMeg6iGmsHWj5xxUmz8yH/uT7vPY+aqY4rne75TDVHh4tNXbWuSKX0jG8+PQffmjD+PABBHMjjKlZt6Zfy4x/PjK3Mu4R78a1XrJWgZzAco1E4xEqUQBLMZODO9t8vn95UllqrUdcn/vvJdXCW5fIT9gxj0mrzsoWb8GO35ccdvb9RXuHHHWnAx525xaK0nd/i9DTZcmUXv9fdjrasy5/ae688aHc54HVjjyaV2sEVOdTmjMmazyWbxLx3HLt/MFR7vZ8SM5IiLChGkpAPMJvmQMoUvJQ2RM0oEJTo0CIA4ksGTGJXz40W3FuFlkPHjJsqEBwmPtThS7LmU3YnZZHLNy+FjIXGrDmUCAOZuOGXzmr+50xtUisF7DzXCoqdTNB2vt1SpEmphb76qxeGOLlUr3ip7X1hS6McFdeRSR+MqZRAmk6um9w48+xneNJLczrPmOTqT06HXYj1IJAVu/BWSGqAWJicOsG4UFLdH/VzZdwtF8vVyZSuUNjecUYZ1hJiw4nUIr97oijCAvagAR4bhAJ3r/PD4yTStGTkj118vEU17biKC8ap4006fFvIK7C9oS6NLWVqsjkX6C6Ykxzr9Od7eHR5pUQVt7tFWOZ7duWPrS+mNetibb3VGd+YosTvLBUXWvATCyl0ZiX+9F+DswtGbrn9S+XCX3q/XYl0sCKHLKVWRehwKLeItO3ZRbs9LMmvNcWEMMptNqBBlW8jylkxdPaC4n7HdQW/jp33N8iWfU/y3K5EM1R2MClCDF9YxcvPMi24zzyFzDXxrttQPMn7cRIiXTnZS1r/Syea5Anul4P0IpYGimUqRW+VzlZ5h56WutQAAb/VrIOx09mmYaNjnlSbjh0duUaX3N2FDfApKwjq9eTzyFvRegJ+5etv6hxdd/kimIKczu/D3N66oSzvcWedHDgvHidQqM7KtYW9ammNhFBy7K+RBFSgs9Fkvo97Gz+WSPJ0LN4o39lyJZLCncOrIGfnvaeEghAy6greE83kduuep+u71JePHTbA7fe4oZugscjkeRtZr8TWUYokdDYspTYYPALzYtSaOvNUT7WqWx5qxHfHugIYY0bGGR9riLtvHnb+hnus/XrI8r2TxRbe3GNmwN53H7HKR1sKX3mR8smO9M/kXVWJd8xzxiOogeeDybD5xVXQtdqXfEB7b+7061KogEjxQyvFVqqPHGp1697sdZ64DAL7ccgaA9+SwsjleehTHFoq3Ml/MR/fECIOgac9NiMMctL3nkRZi0YN74ooV4Kb2b6Bbu7RQtZw+E1ppQvoTerE96zbCgosXjZXLhmNgy6oOK8U5whebTiu+ZrjnR+ffWq61Rn4DfkHFC3r4S/6aVuRUzvQ2UOomWkNCvenyB7po/BjRDnf0T7kQXXYRnsuEQtozSMqGB1lzflSOlV7frnVtPUR6Gz/VSuby5iWRCq4IAwxq5XxNKSkBzD3HKoY6Cxk6hD3I+HETvJsZ0D6RViwjli49eblYMtNoT4x0IuCVYdQorWON1AWvFCagVY6VFpr6ICdDzuOrggfu2n6VJrJ7k+fBG5BbcOp9iUICrN4lPcJ8jECPRaizsIIH7thYkivn8PrP+4XHzauVFfJRlEo/PNk2GQDw676L1rC3kkMfaFpJOI7vX9Kwt+YyodN6C23c16g4FLlhpRjR8858ilwhdmdhx6R957NcPp+/CRO5gr9eITJ+3MS121aJWa27OU2ryueRvMoMykagFMs7vk9dl87rKwMR+/tk3RUP8II7XfKe2AjbKuGEcYzuUlN4/MmgpqLXfDfnxz3clCRbU50fMXLXQ+8deNYrWuBBI0ONfDcpN8rBhkG5wziX8/axNumEXw+i5bQ1yLqTLzLMalSIwKS+9fDjiFT8L+0s816xmMjMhxohKiQQ/ZpUFDw+0jo50iLjgAH9rsTo5jePXDESqukYEcIaP1//fcbl88nN0zTMyeOdo4/xkPHjAbQO5qnVyxncEsd4un117Hyzq8Pv87W16OBW1hocd/LFC0Xhu5T8hO8OaIheDRIwsKV+IQCEY1QsI1ZT8taddG+FFgVi2I0qHr0X4KzxU+ilgjJq3lU1ypfkM3WpE+f0Z7PGiDu6Z5Advfert/Jx404B5m08LTLMggLMGN42Ga2SYzHhvnrC81ap6+LWBwaYcWBKD3z0qHWj5qst4kV+SIlQTKPKVq+MUUY3H/KqtJmnhf/2qI1nOlTHT8+mutwu9nuuPpzp8vl4aGwzGB++vmT8eACtIVJBChW22ZpBRlCXKVQ3Z0gz0WsVokKkh5c6nutkTdTPlZG9BawqJwNbVsXcx5ojJNA2SVorPjx+eIwVBy4Jj6XXvnv9BLe0QS+jXu48fCy+O2SwvVmAxVvQexHFXnNv9fzEOTnW//xcKkbdew/ee6iR05/NGiPuWMBq/Yx5G08hm4kGYKMkalQoFguqFR8J3p5Vu7f+OHBJdH+Hloxjocx4ZpTxw4fcSTfzHCEwwIw3etdFiyTnyzzw6B0V4msbroT7CbR/CKE3WsNMlAaEcb3q6NkcG8pHWkO4eJEFe7izVonRsLlWd/PFu596fctSdLk8QqUyYUIOHBuD/0RqNcNDEI2S91RbABi5/qOcH/v4U2jggmEtsfH4FTzSwjlvdrVyEXilR22X2hDo5iKnaSUqaPZoXT0WyRXk69vwubj5hRYm7E35XPmFFpHoAe/5CWGKohrv+SnGlyWL5ZD7Xv465/rp17YLeX48gCPj2UePNrF5rmMt58MJtNCxVgXhceWyYSpHln6W/3NB9Lc1Rtr1c/vrYKwHIzpUFx6z+cfrj13xQGv0wV3Lj5qSDQ1y/NhHq7e+NHBvnThMvr++oWqN9lASFfA0209ftxEM4eHbXFDECUpxahsL4/vUFSnK8R5s1pOtt9EdUtJGvsiqnvOZV1Fav5eryFwPf71E3jnClHIcmUj7NakkigEGjA9TGdYmCfHRIbi/cUWEB9s6B1OSXXdz+wrzN4vjsl2JkXblfYSY2EjWu2O9qtIkYsKWQMnC0p8W9lpYMbq9zXNKC17CGDxd50cNpU0r3vjJL7IIeYdyc3XXusWbl5EhgWDTvXjBg1ADPT8HL2YDALacvArA9flMT+Tkxp3Fm76Xt+Ove7Bk/LgJV5IYpbtgRhs/gQFmpL3RFR9LVLR43nZznSFvotTulPkYgQo5AXcVcrS8GXdPPuziCqCwNyn1KkYjfUYf0XMnMm95qDX+CXsfe1tIFqsmyW4EBgda62fll+RxyXmw1h69DADYcOwKChjrJ7SkuG5okHE5P2yxVsDY+czRc9araM01nrz8kEufLfe9aJiD7pONL19SQ4yfCxcu4LHHHkO5cuUQFhaGhg0bYteuXcLrHMdh4sSJSExMRFhYGLp27YoTJ04Y0RSvoXfDROGxo+PZpay7or89HX8utwuqJYTLl28UKd42Ifsb3pCkr7fRIqpGrvO5WaSSul5wKb2SxJhQ+wcRhvDjrvPCY3dPd/+1k6/EGj8WmbC1nNwC5BcWG29yoYP8W67dzkMRI3bBb0r8tPtf4Tm9x7mXutWSfd6I+czRsO5Xe1hzmRduTXfts4VHNLgZiS97jXQ3fm7cuIG2bdsiKCgIf/75Jw4fPowPPvgAZctaa9a89957+PjjjzFv3jykpaUhIiICPXr0QG5urt7N8Rq617NWb3Z0p/Vitvi6BCiowLmLuGjHFgW+fINIcaUiNqEft5laNTmM+lIfZpPB15DrU0bcO+zOMkCeHyUycqzjblCg/teILrsyrNiCOy7TqXd6Y/EzrXH6nd64dstW6pwlr8DqrWHlwHmhAo6DoAgnV7tnRMfifMU6CdGynh+WUBdUROXIkdat86L5zFl1QTVEG0qlaSFCuIzuxs+7776LKlWqYMGCBWjVqhWSk5PRvXt31KhRLB/McRxmz56N8ePHo1+/fmjUqBG+/fZbXLx4EcuWLdO7OV5DZIg1d8bVxYanPT/sdymtvDugoerrrv4ENA67RgTTB9lFg9wCQm+8YaHgCjaeH3L9yMIulmrF65ePwOPpcdybaVy5jPDYHZcpwGxC6+rlYDab8GCzSqrH3sm3huTt/zdbeBzGjD1XSwwoubC3PWeLQ8/+b/tZkcy5nKEUFqzveHbjjtiw86Ywbj3HodKkPksYg+7Gz/Lly9GiRQs8/PDDiIuLQ9OmTTF//nzh9TNnziAjIwNdu1qLZcbExCAlJQXbtm2TPWdeXh5ycnJE/3yNcGax5qor2049NkIH9p3Pkn3e1TFVdpLxhpnHx0hiqouHucHgMRQNncpIuV9ahMszrE2S8LhGBW2S/45Al12ZUGbR7+4Q4waVYjCIKXQt5U5BoezzUaG29fcuSELWAWAnk3eTz3iOeEOpTyOr91pvxb2eDaw10K7czCu14WEulC8i/ATdl9GnT5/G3LlzUbNmTaxatQrPPfccRo8ejW+++QYAkJGRAQCIj48XvS8+Pl54Tcr06dMRExMj/KtSxbn6A54knFmgJbgYSx5I1o/h7JQkhvKU1snC1zCZTHixS00Ma5OEpPLWuhucD/vU3FWTYtUhcQV1cvzI81DzysJjI3LMvLW4qTcQ5GG1t1e6y+fGAMDdfGVRFWmemD1P9DGmSCpv/FSINK6QOLt2mLfxlFcJHuiJ9Xt5r2pgacCXL6nuq2iLxYJmzZrhnXfeQdOmTfHMM8/gP//5D+bNm+f0OceNG4fs7Gzh3/nz5+2/ycswm034cUQqvn2yFco7OLjNe6y5+Fy+3ON8hOZVrTlqbEVvqvPjPbzUrRYm318fQHHRU8C9OT96/36empzdUUTSF6kZH4mE6FDUqBDhtXVnSitSOXZ3U05mjubDve+oGD9SY0dOvrluolXV7Nn/7RYeB5Xk8hqZg8fum+45d8OrJaG3nbrm9HvJ80PYQ/cRJjExEfXq1RM9V7duXZw7dw4AkJBQ7HbNzBTvPmZmZgqvSQkJCUF0dLTony/SKjkWHZgColqR1jzw2cWKDzV7/H11hccbj1sLZ3rzZOHPrBzTHr+NaofOdYwtAGwEnraBvUE5zxsJCQzAhv92wqoxHTzdFL8jMICd8zzbPxtXjsHqlzoIOTmsGpuUM1dvi/6W2+hUUhHkDezu9YujYhIcFBbSQjQTmrf3XJZX5fwAwBu9rYpvg+Zvd/5EXiTkQHgnuhs/bdu2xbFjx0TPHT9+HNWqVQMAJCcnIyEhAWvXrhVez8nJQVpaGlJTU/VuTqlAzvPgacYqSGbK4YvJh6yow+jv9wqP9ZosfPGaeDNRoUFoWDnGLQul0jafku2jTGhQgMe9EP4Im4fmqe7ZunosQoPM+PbJFNSMj5LNv/nmyVaq55DbWFDKUeQNvpTkWCx9vg3+fNG22K6rSD1TVg+J56WuAeDJtsn6fHbJ/6T2JoHGegHdR/WXXnoJ27dvxzvvvIOTJ09i0aJF+OKLLzBy5EgAxbs4Y8aMwdSpU7F8+XIcOHAAQ4cORcWKFdG/f3+9m1MqCNdZ8UUPRnepicdaW5NCS9vAYm8RTXV+CLdgwH0lDcXx9M66vzKpb3GERO+G8hEP/szfp64Kjz3VPRc93Rr7JnZHTHixt0ROja2jE5EcqTXKyT4fXGJkm0wmNK1aFmUjgh0+t8N4mYdE740GmqfF0NWworvx07JlSyxduhTff/89GjRogLfffhuzZ8/GkCFDhGNeffVVvPDCC3jmmWfQsmVL3Lp1CytXrkRoKBWVk6MlU0Xam5jav6FXGmZ6w9YfcHUt6i2TDOHdSIUb9Ow3T7YT765S2JtnGN42Gfsnd8dng5t5uilex508a16Np3qn2WwSeUr0Ul7rVi9e9nlPbEJY+EgGA87tDYIHLDT3GluY29cwpGDLfffdh/vuu0/xdZPJhLfeegtvvfWWER9f6nBUIMGd+HDft0v5yGBcvZUvVuczYKesNF9Dwj5yykRGUk6yo0y2j+eIlpFHJoCrt/KExxYviSoI0angqFzh0i2v3avLuR3l2u3iuj/e6v29m1/kVK0jYfPIO78W4QVQMDNBKMAXqmML2ZGKDMHjq7LarauLw26MVJciCGd4oKm10GhuobK6mjuRhr2tGWsrhKHlVgoJEp8nNiIYlcuGKxytP+xmx/nrd9z2uc4w5oe99g+SgSPbh7ADGT+ELvjqQtBR9Nyl948rVvowylZw10QtDVUl44fwNlozeTG5KtLS7oT1RgFAQkyYzTHPd6ph9zxS0QF3F2meeJ9VjXfLyeLcKm8dAqQ1ybQiN0+XtrxkwjXI+CHchpeOrw6hl5FH4zChhpETtdRwp7A3wttgwwHvFniH8ZN+TewlYRVBediQtsaVYzSdV+oJMpp+TSrZPFfahAEoQoOwBxk/hEto8YD46kL/vkbWgpmWksBzb6uLQPg+aga1OzyqJHhAeDPeYvxogfXq9GmkreBysJul1OVU5ErbfMbJ5OaWtu/oDfiy0UzGj4/AKo4R7uHe2taCmflFFtFrzt70vjxYEMbiqcnZW5OdCQIATl+5bf8gL4H14gSpGDWsiNHRjJuGtkkLpXUEoPmWUIKMHx/hiTZJnm6CKqUxnpbducvMyQXgu14sQn/07vNqEzVN4YS/4g3GgVbYsDc1aey6iVGKr3kCb97/uHIzz/5BhCJUUF0eMn58hP+0r44RHarj+/+09nRT/AY2HOH3/ZcAUNgbUTp2E2cNbAwAaJXknTXECIKnVnykp5ugGdbzk3WnQPG4BpW05QO5C2/2/q4/etnh98jN02QD0CYaCxk/PkJwoBnjetdVrA7tKUrzzWRmciH4AZjPwdDze3vxvEO4AU9Myg80rYy0N7rghxG0mUJ4NxaL/WO8BbYW0K/7LigeN6CZreiAO5n3WHPR34YUOdXprPM3n3b4PUbM06UBsv+skPFDEBrYdfZG8QO9PD80ChES3G0Ex0eHevWOL+HfjO9TFzFhQZjSr76nmwJALBE9qFUV2WNCGc9Pz/oJiueKjbDm/AxsIX8uI6lfMVr8hBcPAycu33L4PZyM3BsNdfrjy9fUVquRIJxAy1re1xdal7LvWiU0nfwuYjc8WUCEFd++OwhCX55uXx1Ptk0WeeA9yZPtknFf40QEB5hRJtxWMQ0Qe376NKqoeC5WYXHziSv6NVIj0oKtRoTyerL2n9X28Y6+Q3gf5PkhDKe0rPGf+HqHVULTw20hSg9q90dpuXcIwhm8xfDhiYsKVTR8AOD67Xzh8e38QsXjApnv5YnvWEGiHuvj+5I2yEldE/rjy/MTGT+Ea/jR4HI885asO50g9MZmUqFZnCC8HtaOMavcs+HB2lThjEIaueDto8vdfN+p9UT4BmT8EIQD8AX3yJ3uvxhlh5B9QxC+TfOkssLjJlXKKB7HGh/eUMfIiLFHzznSUblr2qMk7EHGD6ELpTV/5e/XO4v+/i7tHADXJwtPxkMT3gpN1QThy8RFhWLLa/fin4ndNb8ngvECeYqCIu+bj2rGWSXOF2w949ibBWEiGlONxJcvLxk/BKFCpTJhss/rKnWt47kI38P7lh0EQThL5bLhiAkP0nx8RYU5xmieSK0mPM4r8L6wsmrlwoXHC/5Od+i9VmEi/dpDlC7I+CFcwpGxxVcHooeaV7Z5ztnv4qOXgJChtHo7CYJwHxYPjSORoVax378OZ+p+flejG1zx2pAwEWEPMn4Iwg4zH2pk85we8cy0dCZYRDLoJb2D7CuCKJ10qFUBAPBEmySPfH79ijHC40vZuR5pg1GQ54ewB9X5IXRBfY3m2ys4uR0oGlT9F8MED4w5LUEQXsj8oc1xIvOWbcFRN6FWhFUP9BYF4jjOCW8QjaqEPOT5IQgN/DG6nehvGlIJvdASPkf9jSBKFyGBAWhQKcZjSfneVkNJinRYnLXmhNPvJYzBu3uQOmT8EC7hL2oqbIgAAJe3/2lwJgiCIAhl+jRMFB5/vNYB4wdU5JRQh4wfgtBI+5rlhcc0phJGGrBkHBME4e/MfNg231YL/PhJ8zShBBk/hC74w2KNrdjt9I6SbP4QDdEE9QOCINzLzIcaISo0ED+OSPV0U2QJD3YuLZ2jOj+a8VfVUjJ+CLfh68NQABMjveLAJQ+2hPAsxvRkubNSMVyCIIzi4RZV8M/E7miVHOvpphiCr685COMg44dwCX/aWGHzQ49n3vJcQwiCIAhCB7xd+MAZhDo/pe+r6Y6/escMN35mzJgBk8mEMWPGCM/l5uZi5MiRKFeuHCIjIzFgwABkZupfZIvwDkqLV9Ws8yBRWq4LYTx+Oj8RBOG32E6Qp684tumot9w2IcaXDSdDjZ+dO3fi888/R6NG4qS1l156Cb/99huWLFmCjRs34uLFi3jwwQeNbAphOKV/Jc8aP6/2rO3SucjwIXis8enMc55pCkEQhFdRMy5SeDzkyzRN76Hx0wpdC3kMM35u3bqFIUOGYP78+ShbtqzwfHZ2Nr766it8+OGH6Ny5M5o3b44FCxZg69at2L59u1HNIQiXYXN+qpePcOocvrtPQkjRe1Lx4U00giAIQ1j4ZCvh8aXsXE3vkdtQIuQhwQOdGTlyJPr06YOuXbuKnt+9ezcKCgpEz9epUwdVq1bFtm3bZM+Vl5eHnJwc0T/CO/CnsUU8kPrTNydYaEIlCIJQR69xMjE61OH3kFCMAnRZBJzTEbTD4sWLsWfPHuzcudPmtYyMDAQHB6NMmTKi5+Pj45GRkSF7vunTp2PKlClGNJVwI74cHwqIPT8+/lUIgiAIwjD0cig4I8hAnh/t+Pq6zFl09/ycP38eL774Ir777juEhjpuscsxbtw4ZGdnC//Onz+vy3kJ/fAHz6neggc8/jn0EDxCNXKmJ/ChCP5wXxEEQegJP2yS4IGx+PLV1d342b17Ny5fvoxmzZohMDAQgYGB2LhxIz7++GMEBgYiPj4e+fn5yMrKEr0vMzMTCQkJsucMCQlBdHS06B9BuBvW9nH1pqc1LeEINIkTBOFPKG383M4r1PxeP3VqEBrQ3fjp0qULDhw4gH379gn/WrRogSFDhgiPg4KCsHbtWuE9x44dw7lz55Ca6p1VhglltLhMS8tCP8DEhr3RqOrv6O6VoS5FEARhQ5sa5YTHy/Zd0Pw+mqbt44rggS+v7XTP+YmKikKDBg1Ez0VERKBcuXLC80899RTGjh2L2NhYREdH44UXXkBqaipat26td3MIQjfYsDdnx1TxYOzLQ4f/YtR8SvM0QRClBT0Nj4XDW6HW+D8BAG8uPYghKdXsvIPmVkIdQwQP7DFr1iyYzWYMGDAAeXl56NGjB+bMmeOJphA64Q9DjZkEDwgDoLwegiAIZYIDHQtSEsLeaEvJLv4axeIW42fDhg2iv0NDQ/HZZ5/hs88+c8fHE4QuOCE6QxBOQfYQQRCEfW7mFqDh5L9QISoEO98sLqEiCB7QnG0ovnx5DavzQ/gHjnR+X75RAJK6JoxFbgeOjCCCIHwRIz3aFov15A0n/wUAuHIzDxklRVD5PBaapgklyPghCI2Ic35cG1bZJEMypHwTvQvpUTcgCIIoRm10zS0skn2+9fRiIa2iEuPImRpB/oYrgge+DBk/hC74w/1j1lPrmiBK0HLrkIFMEIQvofeYFcgYMp+uOwkAOHn5ls1xHMeBdwwF0MBJKEDGD2E4pcUw0mMTiYZi38cd82lpuWcIgiD0IO2NLsLjORtOAQC6frjR5riFW9NRaLEAEIeqE/L4q+ABGT+ES/jTfSPK+dHhfLTAJVj86V4iCIJwhHKRIaK/8xRC36b8dhgltg8ZP0bjw5eXjB+C0IiJipwSBmBNzqU+RRAEoYXa41cqvpZfRJ4fQh0yfghd0Dv52xsJYO4WGlIJ8twRBEHI4w1zJBk/9iHBA4IwGF93lojU3lz8Lv453BCO4qfzEkEQPo6rQ5cei3IfX3IQBkLGD+Ei/jO8mA2y3ijcybdwy+8lmfephxAE4e8EKnhyto/rIvs87R3Zx19D+Mn4IQiN6FHnx18HGkIZqkZOEARhn93ju8k+nxATij0T5F+z4p8DrJHRA758Rcn4IXRB7QYrLflAopwfX77rCa+EuhRBEIQyMeFBNs/tfLMrACA2ItjmtXKi50rHOkRvKOeHIAhVRGpvHmwH4R3455RBEARhH3fNkRWirBLY//dUK3EbaJdSRGnZiNaDQE83gPBt/Gls0Vs5hoYhgiAIgtCH9jUr4OthLbDnbBbGdK3p6eYQXgwZP4Qb8W1LSWT7uKr2RpaPz6K7wS8k/bBPcZIXCYIgfAeX1d6cfF/nOvHoXCfexU/3H/zVO0Zhb4Qu+MNiXhfBA70aQ5Q6SPWPIAhCnfF96jr5Thpf9caXDScyfghCI3rW+SEIR6D+RhAEAdxbJ87Jd/rBDq0TkOABQTiBP63J2LA3Xb+3P13E0oSfThoEQRD2MGpaSy4XYdCZCX+CjB/CcErLGlFvwQOCAOTr/JSWe4YgCEJPzMw8PLV/Aw+2hPBlrxEJHhC64A8SiiKpa5fjkEr/9SqtkAlMEAThOeYPbYE9525gcKuqnm4K4aOQ8UMQGmE9P5SDQeiNXJfy4Y01giAIp1Eb+7rVi0e3eo4qutGkLYcrG7kkeED4LY70fR++TwDok/NDoU2EFF8OHSAIgiB8F3+df8j4IQiNkNobYSRqu2gkg00QBOEK/rnIJ+Qh44fQBX/YPAgMoAUoYcXILu8HtxNBEARBeAQyfgjDKS2GkVm0M6+fIUQmlW9hVJwzeRMJgiAIwnh0N36mT5+Oli1bIioqCnFxcejfvz+OHTsmOiY3NxcjR45EuXLlEBkZiQEDBiAzM1PvphBuwJ/CcQLN1tvF1YVqaTEICdehrkAQBGE0/rNWcQTXBA90bIib0d342bhxI0aOHInt27dj9erVKCgoQPfu3XH79m3hmJdeegm//fYblixZgo0bN+LixYt48MEH9W4KQehKAHO3+PA9T3gp1KcIgiAId+Kvgge6S12vXLlS9PfChQsRFxeH3bt3o0OHDsjOzsZXX32FRYsWoXPnzgCABQsWoG7duti+fTtat26td5MIQhfMOmxz+JOnjHAefkLyz2mJIAh/R/+xj0ZTworhOT/Z2dkAgNjYWADA7t27UVBQgK5duwrH1KlTB1WrVsW2bdtkz5GXl4ecnBzRP8L38PVlPyt4oEfehz8Uhi3N+OmGGUEQBEH4NIYaPxaLBWPGjEHbtm3RoEEDAEBGRgaCg4NRpkwZ0bHx8fHIyMiQPc/06dMRExMj/KtSpYqRzSYcwJdjPh1FJHXtwXYQpQveiFK9l6jDEQRBEIQuGGr8jBw5EgcPHsTixYtdOs+4ceOQnZ0t/Dt//rxOLSQI7egpeEAQtlCnIgiCMAZ/HV/VQxRcEjxw+p2eR/ecH55Ro0bh999/x6ZNm1C5cmXh+YSEBOTn5yMrK0vk/cnMzERCQoLsuUJCQhASEmJUUwkdUAsBKi3hXWaR4IFrtz17RciQIgiCIAjCSOTWaf4qeKC754fjOIwaNQpLly7FunXrkJycLHq9efPmCAoKwtq1a4Xnjh07hnPnziE1NVXv5hCEbgToYaWQoUNowD+nI4IgSgtG1UMjCD3Q3fMzcuRILFq0CL/++iuioqKEPJ6YmBiEhYUhJiYGTz31FMaOHYvY2FhER0fjhRdeQGpqKim9+SD+NLyZzazggQcbQngFenk01c7jr7tyBEH4N/qPfTSWElZ0N37mzp0LAOjUqZPo+QULFmDYsGEAgFmzZsFsNmPAgAHIy8tDjx49MGfOHL2bQngZvm4w6CF1TRBKUPciCKK0QBs3hDeju/GjpcOHhobis88+w2effab3xxMeorTk9ajBOH5ooerHeOK3p+5GEAThCjSKyuGS4IEPL4QMr/NDEKWFALN+NzrHUZ0Yohj5JFT3t4MgCILwL/zVQ0fGD+ESvmz5O4q4zo//fG/CPVCPIgiitOBPawPC9yDjhzCc0rKxIDJ+nBzXaTooPRjRr2m9QBAEYQSlZCFC6AIZP4QulBYDRw1RnR8dF6nkRSIIgiAIgnAPZPwQhEYCKOyNgP6/vXqBYIIgCMJ1aM4mrJDxQ7gNXzcYKIaZMBK2f/mDeiJBEARBeAIyfghCIwE6FjmlxS3hCGR4EwRBEIQ+kPFD6II/LOVFdX481wzCSzCiz1O/IgiCMAJ/WKUQWiHjhyA0oovaG/M+GooJgiAIgiDcCxk/hEv4UzSOWccip4TvYlSfF52WLGOCIPwYf1CQJTwHGT8EoZEA0apXvxWwPxmQhGPQAoAgCEIPaKLVG1++omT8ELrA+cEqTZTz48t3PeG1kLABQRAEQRgLGT+E2/D1dR0b9ubqV/EDW7HUo9dvqGXjwMdvHYIgCILwGsj4IVzC1w0aRzCL6rA4h6/XOiKMw5/uJYIgCPdCO46EFTJ+CEIjbM6PP4T5EfK4w0ah3kUQBEG4CrtUoXnFChk/hC74w01lYu4WPWwfMqAIwD/uHYIgCEfQvxA4udb1xpejFcj4IQyntKzxWc+PpZR8J8K7kM4l1M0IgiAIQl/I+CFcwp9yWMQ5P64tS2lRS0jxp3uJIAiCIDwFGT+E2/D1pZ2ZuVssFv3O68uuY39G/7AM5tySU1MfIQiCcAXaciSskPFD6EJpCW1TwywKe3PuC9MilpDiD/cOQRAEQXgLZPwQhEbEam8ebAjhUYw0YMk4JgiCMAIaXPXHd68pGT+ES/jTYo39rkaGPBH+iT/dSwRBEGrQBiNhJGT8EIRGTKT2RhAEQRAE4dMEeroBROlg1urjKBsRLPta1p18N7fGeJzN+eFZ+PcZnVpCeIo1hzNxMSvX5fPckLk/xi87iLDgABy5lOPy+QmCIAiCsOJR4+ezzz7DzJkzkZGRgcaNG+OTTz5Bq1atPNkkwkHKhgfj7LU72HLyqt1jy4TLG0e+SMWYMKfexxuIe85lCc+VputS2ogMsR0i+d/w1JXbOHXltm6fFRMWhLLhwbh8Mw9rjmSKP5P6CEEQPsTDLSpj9poT6FS7gkPva109FttPX8d9jSrq2p7W1WOx5kgmqpeP0HT88LZJWPB3Ovo1ca4djSrHYP+/2bi3TpxT79eLymXDhccNKsbYvD6sTbLT5+7TMAHfbDuLVkmxTp/DU5g4D5WZ/+GHHzB06FDMmzcPKSkpmD17NpYsWYJjx44hLk69s+Tk5CAmJgbZ2dmIjo52U4sJOc5eu431Ry/bzYAxAehYOw7JGgceb+XIpRzczC1Eq2TnbvbLOblYdTgThUXFWtmBAWb0qBePuOhQPZtJ6MjnG09h+p9H8cfodqhfMQa38wrxx4FLuJ1XqNtn1KgQiQ61KuDIpRxsP31N9FqFqBD0apCIADMlBREE4RvkFhRh1aEMtKlRHhWiQjS/73JOLnadvYFu9eIRFKBfZkZeYRFWHsxA0yplUbVcuN3jb+UVYu2RTHSsVcGpDcqLWXex59wN9KifoOv3cIYdZ64jKjQQdROjsfnEFeTcLURwoBl38gvRpW687CafFm7mFuCvQ5loV7M84r1gDeOIbeAx4yclJQUtW7bEp59+CgCwWCyoUqUKXnjhBbz++uuq7yXjhyAIgiAIgiAIwDHbwCPmaH5+Pnbv3o2uXbtaG2I2o2vXrti2bZvN8Xl5ecjJyRH9IwiCIAiCIAiCcASPGD9Xr15FUVER4uPjRc/Hx8cjIyPD5vjp06cjJiZG+FelShV3NZUgCIIgCIIgiFKCT0hdjxs3DtnZ2cK/8+fPe7pJBEEQBEEQBEH4GB5ReytfvjwCAgKQmSlWNMrMzERCQoLN8SEhIQgJ0Z4wRxAEQRAEQRAEIcUjnp/g4GA0b94ca9euFZ6zWCxYu3YtUlNTPdEkgiAIgiAIgiBKOR6r8zN27Fg88cQTaNGiBVq1aoXZs2fj9u3bGD58uKeaRBAEQRAEQRBEKcZjxs/AgQNx5coVTJw4ERkZGWjSpAlWrlxpI4IgB6/OTapvBEEQBEEQBOHf8DaBlgo+Hqvz4wr//vsvKb4RBEEQBEEQBCFw/vx5VK5cWfUYnzR+LBYLLl68iKioKJhMnq16npOTgypVquD8+fNUcJUwHOpvhLugvka4C+prhLugvlZ64TgON2/eRMWKFWE2q0saeCzszRXMZrNdq87dREdH041EuA3qb4S7oL5GuAvqa4S7oL5WOomJidF0nE/U+SEIgiAIgiAIgnAVMn4IgiAIgiAIgvALyPhxkZCQEEyaNImKsBJugfob4S6orxHugvoa4S6orxGAjwoeEARBEARBEARBOAp5fgiCIAiCIAiC8AvI+CEIgiAIgiAIwi8g44cgCIIgCIIgCL+AjB+CIAiCIAiCIPwCQ4yfzz77DElJSQgNDUVKSgp27NghvHb9+nW88MILqF27NsLCwlC1alWMHj0a2dnZqufMzc3FsGHD0LBhQwQGBqJ///42x/zyyy/o1q0bKlSogOjoaKSmpmLVqlWq5y0oKMBrr72Ghg0bIiIiAhUrVsTQoUNx8eJF0XHXr1/HkCFDEB0djTJlyuCpp57CrVu3HGrfli1b0LZtW5QrVw5hYWGoU6cOZs2apdq+DRs2oF+/fkhMTERERASaNGmC7777TnTMoUOHMGDAACQlJcFkMmH27Nmq5+SZNm0a2rRpg/DwcJQpU0b2GJPJZPNv8eLFms7vDqZPn46WLVsiKioKcXFx6N+/P44dOyY6Jjc3FyNHjkS5cuUQGRmJAQMGIDMzU/W8/trfAGD//v1o3749QkNDUaVKFbz33nui1xcuXGjTJ0JDQ+2e115f2rBhg+wxGRkZds/tLtTGNp5t27ahc+fOiIiIQHR0NDp06IC7d++qnvfcuXPo06cPwsPDERcXh//+978oLCwUXr906RIGDx6MWrVqwWw2Y8yYMZraq9f9MXr0aDRv3hwhISFo0qSJ6meePHkSUVFRimOKO847YsQI1KhRA2FhYahQoQL69euHo0ePio7x5rFNy++m5TvKYe/+dmY+cee4xvL3338jMDDQbt/RMo/Onz8f7du3R9myZVG2bFl07dpV9v6WYq8Pp6eny/a17du32z23O9i0aRP69u2LihUrwmQyYdmyZTbHcByHiRMnIjExEWFhYejatStOnDhh99z2xjVvn0NZtPY1wP49BgBZWVkYOXIkEhMTERISglq1amHFihWq5+XvSfbfjBkzhNe9va95E7obPz/88APGjh2LSZMmYc+ePWjcuDF69OiBy5cvAwAuXryIixcv4v3338fBgwexcOFCrFy5Ek899ZTqeYuKihAWFobRo0eja9eussds2rQJ3bp1w4oVK7B7927ce++96Nu3L/bu3at43jt37mDPnj2YMGEC9uzZg19++QXHjh3D/fffLzpuyJAhOHToEFavXo3ff/8dmzZtwjPPPONQ+yIiIjBq1Chs2rQJR44cwfjx4zF+/Hh88cUXiu3bunUrGjVqhJ9//hn79+/H8OHDMXToUPz++++i71C9enXMmDEDCQkJiueSkp+fj4cffhjPPfec6nELFizApUuXhH/2Bgl3snHjRowcORLbt2/H6tWrUVBQgO7du+P27dvCMS+99BJ+++03LFmyBBs3bsTFixfx4IMPqp7XX/tbTk4OunfvjmrVqmH37t2YOXMmJk+ebPOe6OhoUZ84e/as4jlZtPSlY8eOiY6Ji4vTdG6jsTe2AcWGT8+ePdG9e3fs2LEDO3fuxKhRo2A2Kw+1RUVF6NOnD/Lz87F161Z88803WLhwISZOnCgck5eXhwoVKmD8+PFo3Lix5jbreX88+eSTGDhwoOrnFRQUYNCgQWjfvr3mNhpx3ubNm2PBggU4cuQIVq1aBY7j0L17dxQVFYmO89axTcvvpvU7smi5v52ZT9w5rvFkZWVh6NCh6NKli932aZlHN2zYgEGDBmH9+vXYtm0bqlSpgu7du+PChQt2z6+lD69Zs0bU15o3b273vO7g9u3baNy4MT777DPFY9577z18/PHHmDdvHtLS0hAREYEePXogNzdX8T1axjVvn0N5HOlrWu6x/Px8dOvWDenp6fjpp59w7NgxzJ8/H5UqVbJ7/rfeekvUj1544QWbY7y1r3kVnM60atWKGzlypPB3UVERV7FiRW769OmK7/nxxx+54OBgrqCgQNNnPPHEE1y/fv00HVuvXj1uypQpmo7l2bFjBweAO3v2LMdxHHf48GEOALdz507hmD///JMz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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_dfs(df_original, df_missing, 'temperature')" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "id": "f67b1844", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "from pathlib import Path\n", + "import matplotlib.pyplot as plt\n", + "\n", + "from sklearn.experimental import enable_iterative_imputer\n", + "from sklearn.impute import IterativeImputer\n", + "from sklearn.ensemble import ExtraTreesRegressor, BaggingRegressor\n", + "from sklearn.linear_model import ElasticNet, LinearRegression, BayesianRidge\n", + "from sklearn.neighbors import KNeighborsRegressor" + ] + }, + { + "cell_type": "code", + "execution_count": 351, + "id": "591b8035", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperature
timestamp
2013-02-12 21:15:0073.967322
2013-02-12 21:20:0074.935882
2013-02-12 21:25:0076.124162
2013-02-12 21:30:0078.140707
2013-02-12 21:35:0079.329836
......
2014-02-19 15:05:0098.185415
2014-02-19 15:10:0097.804168
2014-02-19 15:15:0097.135468
2014-02-19 15:20:0098.056852
2014-02-19 15:25:0096.903861
\n", + "

22695 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " temperature\n", + "timestamp \n", + "2013-02-12 21:15:00 73.967322\n", + "2013-02-12 21:20:00 74.935882\n", + "2013-02-12 21:25:00 76.124162\n", + "2013-02-12 21:30:00 78.140707\n", + "2013-02-12 21:35:00 79.329836\n", + "... ...\n", + "2014-02-19 15:05:00 98.185415\n", + "2014-02-19 15:10:00 97.804168\n", + "2014-02-19 15:15:00 97.135468\n", + "2014-02-19 15:20:00 98.056852\n", + "2014-02-19 15:25:00 96.903861\n", + "\n", + "[22695 rows x 1 columns]" + ] + }, + "execution_count": 351, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "path=Path(\".\\machine_temp_failure_missing.csv\")\n", + "df_missing=pd.read_csv(path)\n", + "df_missing['timestamp'] = pd.to_datetime(df_missing['timestamp'],format= \"mixed\")\n", + "df_missing= df_missing.rename(columns={'value':\"temperature\"})\n", + "df_missing.set_index(df_missing['timestamp'],inplace=True)\n", + "del df_missing['timestamp']\n", + "df_missing" + ] + }, + { + "cell_type": "code", + "execution_count": 352, + "id": "fdf23cad", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperature
timestamp
2013-12-02 21:15:0073.967322
2013-12-02 21:20:0074.935882
2013-12-02 21:25:0076.124162
2013-12-02 21:30:0078.140707
2013-12-02 21:35:0079.329836
......
2014-02-19 15:05:0098.185415
2014-02-19 15:10:0097.804168
2014-02-19 15:15:0097.135468
2014-02-19 15:20:0098.056852
2014-02-19 15:25:0096.903861
\n", + "

22695 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " temperature\n", + "timestamp \n", + "2013-12-02 21:15:00 73.967322\n", + "2013-12-02 21:20:00 74.935882\n", + "2013-12-02 21:25:00 76.124162\n", + "2013-12-02 21:30:00 78.140707\n", + "2013-12-02 21:35:00 79.329836\n", + "... ...\n", + "2014-02-19 15:05:00 98.185415\n", + "2014-02-19 15:10:00 97.804168\n", + "2014-02-19 15:15:00 97.135468\n", + "2014-02-19 15:20:00 98.056852\n", + "2014-02-19 15:25:00 96.903861\n", + "\n", + "[22695 rows x 1 columns]" + ] + }, + "execution_count": 352, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "path1=Path(\".\\machine_temp_failure_original.csv\")\n", + "df_original=pd.read_csv(path1,sep=\"\\t\")\n", + "\n", + "df_original['timestamp'] = pd.to_datetime(df_original['timestamp'],format= \"mixed\")\n", + "df_original= df_original.rename(columns={'value':\"temperature\"})\n", + "df_original.set_index(df_original['timestamp'],inplace=True)\n", + "del df_original['timestamp']\n", + "df_original" + ] + }, + { + "cell_type": "code", + "execution_count": 353, + "id": "936583e0", + "metadata": {}, + "outputs": [], + "source": [ + "estimators = [\n", + " ('bayesianRidge', BayesianRidge()),\n", + " ('extra_trees', ExtraTreesRegressor(n_estimators=10)),\n", + " ('bagging', BaggingRegressor(n_estimators=10)),\n", + " ('elastic_net', ElasticNet()),\n", + " ('linear_regression', LinearRegression()),\n", + " ('knn', KNeighborsRegressor(n_neighbors=3))\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 354, + "id": "c6953576", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "DatetimeIndex: 22695 entries, 2013-02-12 21:15:00 to 2014-02-19 15:25:00\n", + "Data columns (total 1 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 temperature 21410 non-null float64\n", + "dtypes: float64(1)\n", + "memory usage: 354.6 KB\n" + ] + } + ], + "source": [ + "df_missing.iloc[:,0:1].info()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 364, + "id": "96072fdb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(22695, 1)\n", + "22695\n" + ] + } + ], + "source": [ + "df_vals = df_missing.iloc[:,0:1].values.reshape(-1,1)\n", + "print(df_vals.shape)\n", + "print(len(df_vals))\n", + "for e_name, e in estimators:\n", + " est = IterativeImputer(\n", + " random_state=10,\n", + " estimator=e).fit(df_vals)\n", + " df_missing[e_name] = est.transform(df_vals)[: , 0]\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 359, + "id": "1c813455", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperaturebayesianRidgeextra_treesbaggingelastic_netlinear_regressionknn
timestamp
2013-02-12 21:15:0073.96732273.96732273.96732273.96732273.96732273.96732273.967322
2013-02-12 21:20:0074.93588274.93588274.93588274.93588274.93588274.93588274.935882
2013-02-12 21:25:0076.12416276.12416276.12416276.12416276.12416276.12416276.124162
2013-02-12 21:30:0078.14070778.14070778.14070778.14070778.14070778.14070778.140707
2013-02-12 21:35:0079.32983679.32983679.32983679.32983679.32983679.32983679.329836
........................
2014-02-19 15:05:0098.18541598.18541598.18541598.18541598.18541598.18541598.185415
2014-02-19 15:10:0097.80416897.80416897.80416897.80416897.80416897.80416897.804168
2014-02-19 15:15:0097.13546897.13546897.13546897.13546897.13546897.13546897.135468
2014-02-19 15:20:0098.05685298.05685298.05685298.05685298.05685298.05685298.056852
2014-02-19 15:25:0096.90386196.90386196.90386196.90386196.90386196.90386196.903861
\n", + "

22695 rows × 7 columns

\n", + "
" + ], + "text/plain": [ + " temperature bayesianRidge extra_trees bagging \n", + "timestamp \n", + "2013-02-12 21:15:00 73.967322 73.967322 73.967322 73.967322 \\\n", + "2013-02-12 21:20:00 74.935882 74.935882 74.935882 74.935882 \n", + "2013-02-12 21:25:00 76.124162 76.124162 76.124162 76.124162 \n", + "2013-02-12 21:30:00 78.140707 78.140707 78.140707 78.140707 \n", + "2013-02-12 21:35:00 79.329836 79.329836 79.329836 79.329836 \n", + "... ... ... ... ... \n", + "2014-02-19 15:05:00 98.185415 98.185415 98.185415 98.185415 \n", + "2014-02-19 15:10:00 97.804168 97.804168 97.804168 97.804168 \n", + "2014-02-19 15:15:00 97.135468 97.135468 97.135468 97.135468 \n", + "2014-02-19 15:20:00 98.056852 98.056852 98.056852 98.056852 \n", + "2014-02-19 15:25:00 96.903861 96.903861 96.903861 96.903861 \n", + "\n", + " elastic_net linear_regression knn \n", + "timestamp \n", + "2013-02-12 21:15:00 73.967322 73.967322 73.967322 \n", + "2013-02-12 21:20:00 74.935882 74.935882 74.935882 \n", + "2013-02-12 21:25:00 76.124162 76.124162 76.124162 \n", + "2013-02-12 21:30:00 78.140707 78.140707 78.140707 \n", + "2013-02-12 21:35:00 79.329836 79.329836 79.329836 \n", + "... ... ... ... \n", + "2014-02-19 15:05:00 98.185415 98.185415 98.185415 \n", + "2014-02-19 15:10:00 97.804168 97.804168 97.804168 \n", + "2014-02-19 15:15:00 97.135468 97.135468 97.135468 \n", + "2014-02-19 15:20:00 98.056852 98.056852 98.056852 \n", + "2014-02-19 15:25:00 96.903861 96.903861 96.903861 \n", + "\n", + "[22695 rows x 7 columns]" + ] + }, + "execution_count": 359, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_missing" + ] + }, + { + "cell_type": "code", + "execution_count": 365, + "id": "95a7c645", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "RMSE for bayesianRidge: 3.961536496226712\n", + "RMSE for extra_trees: 3.961536496226712\n", + "RMSE for bagging: 3.961536496226712\n", + "RMSE for elastic_net: 3.961536496226712\n", + "RMSE for linear_regression: 3.961536496226712\n", + "RMSE for knn: 3.961536496226712\n" + ] + } + ], + "source": [ + "_ = rmse_score(df_original, df_missing, 'temperature')" + ] + }, + { + "cell_type": "code", + "execution_count": 317, + "id": "126d13f3", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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cK0XwrVeljckdIoJUlzAcc6PaTHBNXeT58mezbBi51l0bV4329DqcGTCA52NT3XBhWu3MDyhIkmAn6cbLhcph7GdfsX8GjfGgubhCQ2xI/uKwfO63sWGgd44NLtvjQTc+vvU9fw4y/2PexobDwytxWFvZAmDn1qgc2wDyxvZmburi0FGpHqBd5Solkvp3RwT1x6UfmbPj2PMHNgSU7o3g9abp2F9VworgwxHzYy6p3GQ4mLcx0hCgqpkY+vewnBobt9WYYrAxF49jb//mcXQWXs28wvvVOmmVrnguDcyj8PeaoGaTm1N6vGOEtV2XZopexo458dxAnzcnfbC05EmdI2VHhfdueu4gshcLVKmO//66W4G24RrLY/S0M+2CACrxnWqesGsJE+o8OH+CwCc62aev+zvk/RqWpX24WzD+cj58KqayAqmFrgjqi083ZR3sLnODzkb+aT/QidZYDav8I7i55YRhskM/n5fjMX96C982izU164B8KKH2hs850zDuLdMu7/a+2DCA7LE5me9efPmQaPRKP61bFmZMvTOnTtISUlBcHAw/Pz8MHLkSOTn59u6GETVNr1PC+mxbj0GwWxvVMew44ecWXZ+kaOLYJSxgEW+gPBLD7ZWtR/5nFJ7UCwN8CdnagP059mJKtxw5Do/ZEmN3PJr06YNLl26JP37/vvvpdeeeeYZfPnll9iwYQN27dqFixcv4qGHHqqJYtQp745JcHQR6p0nezSTHv9w5ioADnujuofDrsiZXSkyXCvHWfnJFjo1d1SZWkfOUZx57b4sM6nFLeF5mkypkeDHzc0NERER0r+QkBAAwPXr1/Hvf/8bb775Jnr37o3ExESsXbsWe/fuxb59+2qiKHXG4HaR+M+kzjjwYh9HF6XekC9GO2ndIQBw6nURiNTa///6oHEDH6x/4j5HF4XIrNgazLhna/Keny+PXjS53VO9mtujOCbJ17ACnO98ltKr8sbjQ8v3Wv1+nqfJkhoJfnJychAVFYWmTZti7NixuHChYlJdZmYmSktL0bdvX2nbli1bonHjxsjIyDC5v+LiYhQWFir+1TcajQbd40IR5s90vvaif0f8ctEdqeuHN5SoNgvXemH3871wXx1NVU+138pHEpHUpAHmDFE3fKymyW8ULHqondFt5JP15SMH9DUP9ZMet4nSmtyupkztrQy+nK3398me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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_dfs(df_original, df_missing, 'temperature')" + ] + }, + { + "cell_type": "code", + "execution_count": 390, + "id": "1c465d3f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
temperatureffill
timestamp
2013-02-12 21:15:0073.96732273.967322
2013-02-12 21:20:0074.93588274.935882
2013-02-12 21:25:0076.12416276.124162
2013-02-12 21:30:0078.14070778.140707
2013-02-12 21:35:0079.32983679.329836
.........
2014-02-19 15:05:0098.18541598.185415
2014-02-19 15:10:0097.80416897.804168
2014-02-19 15:15:0097.13546897.135468
2014-02-19 15:20:0098.05685298.056852
2014-02-19 15:25:0096.90386196.903861
\n", + "

22695 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " temperature ffill\n", + "timestamp \n", + "2013-02-12 21:15:00 73.967322 73.967322\n", + "2013-02-12 21:20:00 74.935882 74.935882\n", + "2013-02-12 21:25:00 76.124162 76.124162\n", + "2013-02-12 21:30:00 78.140707 78.140707\n", + "2013-02-12 21:35:00 79.329836 79.329836\n", + "... ... ...\n", + "2014-02-19 15:05:00 98.185415 98.185415\n", + "2014-02-19 15:10:00 97.804168 97.804168\n", + "2014-02-19 15:15:00 97.135468 97.135468\n", + "2014-02-19 15:20:00 98.056852 98.056852\n", + "2014-02-19 15:25:00 96.903861 96.903861\n", + "\n", + "[22695 rows x 2 columns]" + ] + }, + "execution_count": 390, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "path=Path(\".\\machine_temp_failure_missing.csv\")\n", + "df_missing=pd.read_csv(path)\n", + "df_missing['timestamp'] = pd.to_datetime(df_missing['timestamp'],format= \"mixed\")\n", + "df_missing= df_missing.rename(columns={'value':\"temperature\"})\n", + "df_missing.set_index(df_missing['timestamp'],inplace=True)\n", + "del df_missing['timestamp']\n", + "\n", + "df_missing[\"ffill\"] = df_missing['temperature'].ffill()\n", + "\n", + "df_missing" + ] + }, + { + "cell_type": "code", + "execution_count": 392, + "id": "b1f7ba65", + "metadata": {}, + "outputs": [], + "source": [ + "del df_missing['temperature']" + ] + }, + { + "cell_type": "code", + "execution_count": 393, + "id": "573cb5c0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "DatetimeIndex: 22695 entries, 2013-02-12 21:15:00 to 2014-02-19 15:25:00\n", + "Data columns (total 1 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 ffill 22695 non-null float64\n", + "dtypes: float64(1)\n", + "memory usage: 354.6 KB\n" + ] + } + ], + "source": [ + "df_missing.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 385, + "id": "4c2bd2ff", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2013-02-12 21:15:00', '2013-02-12 21:20:00',\n", + " '2013-02-12 21:25:00', '2013-02-12 21:30:00',\n", + " '2013-02-12 21:35:00', '2013-02-12 21:40:00',\n", + " '2013-02-12 21:45:00', '2013-02-12 21:50:00',\n", + " '2013-02-12 21:55:00', '2013-02-12 22:00:00',\n", + " ...\n", + " '2014-02-19 14:40:00', '2014-02-19 14:45:00',\n", + " '2014-02-19 14:50:00', '2014-02-19 14:55:00',\n", + " '2014-02-19 15:00:00', '2014-02-19 15:05:00',\n", + " '2014-02-19 15:10:00', '2014-02-19 15:15:00',\n", + " '2014-02-19 15:20:00', '2014-02-19 15:25:00'],\n", + " dtype='datetime64[ns]', name='timestamp', length=22695, freq=None)" + ] + }, + "execution_count": 385, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_missing.index\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 386, + "id": "d4a11423", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 386, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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2iVCQ0PFzp073VNxCWx934UQIicnR/Tr10+MHz/eXdWVhsc5j3Me5649zhmgSPDhhx+KXr16idzcXCGEEIWFheLmm28WQ4cOFbt37xZCCDFr1iwxcuRIcfXVV4uoqCixcOFCkZSUJO6//37z72lNY+3et2+fEKLmQBai6uTdq1cvkZOT45b6ypKRkSHuu+8+MWvWLPHPf/5TREVFia1bt1o9p6ioSNxyyy2id+/e5pOaEFWvUWhoqNVFTWtsed9NJ2ohhPj++++tTuI//fSTOHbsmOsr7iQe5zzOeZy79jjnEI8EaWlp8PPzQ0hICICqsdknnngCAQEBeP311wEAUVFROHjwIDp06ICdO3di5syZePvtt/H+++9j+/bt7qy+wxpr96uvvgoA8PHxMXf3hYWFoaSkBAaDQdNd/eHh4bjhhhswbdo0vPTSS4iJicFbb72F3Nxc83OCg4Px6quvIjU1FXPnzsXRo0cBAKtXr0a7du0wZMgQN9Xeeba8776+vub3eNSoUZg4cSImT56Mq666CuPHj7d6rbSCxzmPcx7nLj7OnQpvSAghxJw5c8SgQYPEuXPnrO5//fXXRffu3cW2bdtEVlaWOHToUJ0uz7fffluUlpa6srrSNNbuXr16ifXr1wshaqLsI0eOCJ1OJ/bv3+/yuipp/fr1QqfTiVWrVpnfX9P/3377rejWrZuIjY0VN998s/D39xf//Oc/zd3hWmTr+25q44kTJ8S1114rdDqduP/++0V+fr7L6ywDj3Me5zzOXXucM0CxQUPjqKY3xnRArly50urxffv2iQEDBohXX321zu9adomqlTPtHjhwoHjllVes7t+6dat48MEHxYULF1Q/Nm1r/UyvxdixY8XAgQNFRkZGneccP35cfPzxx+K5557T9Enbkff96NGjon///qJr167izz//dGV1pfH047wh3nCc24rHeQ1XHucMUJpw5coVUV5ebr5tGRFbjr/dcccdonfv3nXGXQcOHCgeffRRIYS2JozJbLfWvkXY2nbL22fOnBF6vV4sWrTI/Pz6TmJqd/LkSXHy5EkhRMNtFcK2910IIfLz883j1Woms91aOs5ltltrx7mtbbe87SnH+cGDB8XXX39dbwCtpuOcc1AaUF5ejunTp2Ps2LG48cYb8eqrr8JoNEKv16OiogJA1fhbeXk5Tp48iddffx1H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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df_missing.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 394, + "id": "a84a419a", + "metadata": {}, + "outputs": [], + "source": [ + "df_missing = df_missing.resample('H').mean()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 396, + "id": "a676292f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "DatetimeIndex: 15795 entries, 2013-02-12 21:00:00 to 2014-12-02 23:00:00\n", + "Freq: H\n", + "Data columns (total 1 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 ffill 1891 non-null float64\n", + "dtypes: float64(1)\n", + "memory usage: 246.8 KB\n" + ] + } + ], + "source": [ + "df_missing.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 401, + "id": "6d49fe6f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 401, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABPAAAAEmCAYAAADsnG6WAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAfj0lEQVR4nO3de4xcZf0/8M/sbtktZbfb3aYtta2CIQGhFUoJAiZWJdamISkYFditqHhJbJHSFkRNkYjKTYnXCEgj+JVLNLEoxJoQRYgp1hao8UKKd1CsxJa6rdoKnfP7g99MZqYzu9NlOvPs7uuVkO7Meeacz3nOeZ6ZeTNzJpdlWRYAAAAAQJLaWl0AAAAAAFCbAA8AAAAAEibAAwAAAICECfAAAAAAIGECPAAAAABImAAPAAAAABImwAMAAACAhAnwAAAAACBhHaN9YD6fj+eeey66u7sjl8s1siYAAAAAGPeyLIu9e/fG7Nmzo62t9ufsRh3gPffcczF37tzRPhwAAAAAiIhnn3025syZU3P5qAO87u7u4gZ6enpGuxoAAAAAmJCGhoZi7ty5xZytllEHeIWvzfb09AjwAAAAAGCURro8nR+xAAAAAICECfAAAAAAIGECPAAAAABImAAPAAAAABImwAMAAACAhAnwAAAAACBhAjwAAAAASJgADwAAAAASJsADAAAAgIQJ8AAAAAAgYQI8AAAAAEiYAA8AAAAAEibAAwAAAICECfAAAAAAIGECPAAAAABImAAPAAAAABImwAMAAACAhAnwAAAAACBhHa0uAAAAgFcuy7LYv39/q8sYt7IsiwMHDkRERGdnZ+RyuRZX1HxdXV0Tcr8hBQI8AACAcWD//v2xdOnSVpfBOLZp06aYPHlyq8uACclXaAEAAAAgYT6BBwAAMM7sO/WiyNq83Wuogy9G9y/vi4iIva+/MKJ9UosLao5c/qU4Zvu9rS4DJjwzOgAAwDiTtXVMmICpJdonTZj+zVpdABARvkILAAAAAEkT4AEAAABAwgR4AAAAAJAwAR4AAAAAJEyABwAAAAAJE+ABAAAAQMIEeAAAAACQMAEeAAAAACRMgAcAAAAACRPgAQAAAEDCBHgAAAAAkDABHgAAAAAkTIAHAAAAAAkT4AEAAABAwgR4AAAAAJAwAR4AAAAAJEyABwAAAAAJE+ABAAAAQMIEeAAAAACQMAEeAAAAACRMgAcAAAAACRPgAQAAAEDCBHgAAAAAkDABHgAAAAAkTIAHAAAAAAkT4AEAAABAwgR4AAAAAJAwAR4AAAAAJEyABwAAAAAJE+ABAAAAQMIEeAAAAACQMAEeAAAAACRMgAcAAAAACRPgAQAAAEDCBHgAAAAAkDABHgAAAAAkTIAHAAAAAAkT4AEAAABAwgR4AAAAAJAwAR4AAAAAJEyABwAAAAAJ62h1AQAAjB9ZlsX+/fsjIqKrqytyuVyLKwIAxiKvKcr5BB4AAA2zf//+WLp0aSxdurT4ohsA4HB5TVFOgAcAAAAACRPgAQAAAEDCBHgAAAAAkDABHgAAAAAkTIAHAAAAAAkT4AEAAABAwgR4AAAAAJAwAR4AAAAAJEyABwAAAAAJE+ABAAAAQMIEeAAAAACQMAEeAAAAACRMgAcAAAAACRPgAQAAAEDCBHgAAAAAkDABHgAAAAAkTIAHAAAAAAkT4AEAAABAwgR4AAAAAJAwAR4AAAAAJEyABwAAAAAJE+ABAAAAQMIEeAAAAACQMAEeAAAAACRMgAcAAAAACRPgAQAAAEDCBHgAAAAAkDABHgAAAAAkTIAHAAAAAAkT4AEAAABAwgR4AAAAAJAwAR4AAAAAJEyABwAAAAAJE+ABAAAAQMIEeAAAAACQMAEeAAAAACRMgAcAAAAACRPgAQAAAEDCBHgAAAAAkDABHgAAAAAkTIAHAAAAAAkT4NWwefPmePe73x2bN29OYj1jXT390Kg2jaqntO2yZcvizW9+cyxbtiyuvfbaeMtb3hIbNmyo+ZgNGzYU22zevDmWL18ey5cvjw0bNhT/3rx58yF1lN4u/F1re4XlGzZsKPu3dJ8q21RbNtJ99Wj2447Ueka7zuGO45Ha5pFebyNqqdUvled0Pedi6Tgaqabhat+wYUNxLI+0vWo1lY7lwrxQa2xW2/5wY3KkOmr1QbV1Hs7jKvt42bJlxX2sXF/lftfa11pzYLX+XLJkSdV+LD1WhXNm1apV8Za3vCWuvfbaYY/X4TyfVO5nYf+WLFlS1heF+ws1VHsOqDy/Cv1w7bXXHvI8UK2fS/ut1jGptp5zzz03Fi9eHKtWrSpb1+LFi2Px4sWxZMmSWL58ebEfh+u/yuO1efPmWLJkSXE91Z6TvNYBADjyclmWZaN54NDQUEydOjX+9a9/RU9PT6Praqn9+/fH4OBg/POf/4zp06fHt7/97ejq6mrZesa6evqhUW0aVU9p24svvjh27959yLK2trb43ve+F729vWX379mzJy644ILI5/ORy+Wit7c3XnjhhYiIyOVyURhyfX19kcvlYteuXTF9+vS444474gMf+ED885//jP7+/oiI2LVrV9Xtle5DW1tb5PP54r+FfYqIQ9pUWzbcffX072iPS8rj7HDPkdK2pcexFf3RiPU2opbh+qWgra0t7r333li5cuWw5+Idd9wRl156aXE89Pf3x9133121puFq37NnT5x//vllY/Cee+6pur3KYxgRMTAwUKyhdCzncrnYuHHjIWOzcvvVxm1pm+H6rL+/P7IsK85FhT4orb2wztL5o57HVevj0n2sNh8Vlk+bNi12795dth+Vc2ChTeX2S/uzsh8rj1Ut1Y5XPWOw2rHo7++PfD5fnK9HUvkcUFnztGnTYs+ePYfsQ+m5U3q7r68vXnjhhciyrDg2PvKRjxzS7/Xo6+ur+rxVqZ7z7ODBg7Fnz56a+9/V1XXIOZ9lWSxdujQiIjZt2hSTJ08+7H0ARue///1vcfztXbgion1SiysaZw6+GN1P/F9ETLD+Ldlv8zrNVDqnjedzr958zSfwqrj77ruLL5h37dpVfIPXqvWMdfX0Q6PaNKqe0ra13gTl8/m45pprDrl//fr1kc/nIyIiy7KyN4Olb9p2795dVsf69evLble+aSvdXuk+FLZV+LewT9XaVFs23H31aPbjjtR6RrvOyraVx7HZ/dGI9TailuH6pSCfz8dll1024rlY+djhahqu9vXr1x8yBkfaXrWaIsrHcpZlVcdm5faHG5Mj9dmuXbvK5qKRxvnhPK7W8SnsY7X5qLC8sO7S/aicA0fafrV+rDxWtVTrp3rGYK1+qze8Kzyu9DmgsuZCGFep8r7C7d27dxf/rhwbh6ue8C6ivvOsWnhXqPGaa67xWgcAoEl8Aq/CX//617jkkkvi4MGDxfs6OjrizjvvjDlz5jR9PWNdPf3QqDaNqqe07Xve857im7taPv/5z8eiRYsiImLbtm2xbt26uusZjauvvjpuvvnmsn2o1N7eHlmWVa292rL29vaIiMPu39Eel5TH2eGeI5VtKzWzPxqx3kbUUk+/1DLcuVvZ7q677iqrabjad+7cWXVs5nK5aGtrG/V4KlVtbBa2HxE1+6SjoyNuuOGG+NjHPnZYfVZvXY163Eg6Ojpi3bp1ccMNNwzbrq3t5f93WGv7H/7wh+O2225raF0jPZ+8Ep///OcjIo743J+qyk8UdnR0xK233hof+MAHIiJi48aNE/LbB9Aq+/fvj/PPPz8iIvaeNhjRcVSLKxpnJuon8F76X3Q/+fI3EszrNFPpnPbDH/4wjj766BZXdGTUm6/VHeAdOHAgDhw4ULaBuXPnjqsAL8uyuOqqq+KJJ54oe2Hf3t4eCxcujJtuuilyuVzT1jPW1dMPEdGQNo0+LlmWxZVXXhnbtm0bcb09PT1x//33R0TE8uXLY2hoaMTHvBJH6s13te0M17+jPc9THmeHe45Ua1upWf3RiPU2opZ6+6URFi1aFDfffHMxQKhV+2mnnRZPP/10U8ZmPp8vCzMK28/lcjX7pK2tLY455pjYt2/fER/XR1K1/xGQgnqeT16Jnp6eyOfzsW/fvoasb6xrb2+P+fPnx/bt21tdCkx4e19/YcRR4/PNbstM1ADvf/+J7l/e1+oqmOA2btwY06ZNa3UZR0TDv0J7/fXXx9SpU4v/zZ07tyGFpuSZZ56JrVu3HvKi/uDBg7F169Z45plnmrqesa6efmhUm0bVU9q2nvAu4uXBtmXLltiyZcsRDwgiXq63GW/yR+rf0R6XlMfZ4Z4j1dpWalZ/NGK9jail3n5phG3bthVrGq72bdu2NW1sVv4/scL2h+uTfD4fQ0NDYzq8i3h5X1ML7yLqez55JYaGhoR3JQ4ePCi8AwA4Ajrqbfjxj3881qxZU7xd+ATeeDJv3rw444wzqn6C4/TTT4958+Y1dT1jXb390Kg2jaqn0HbRokV1hXhTp06NM888MyJe/iTGePoE3nD9O9rzPOVxdrjnSLW2lZrVH41YbyNqqbdfGuGMM84o1jRc7QsXLowdO3a07BN4CxcujIjwCbwWqef55JXwCbxy7e3tceqpp8bjjz8eEb5qBc1W+nWzaKv7rR4Mr+RcMq/TTKVzWmdnZ4uraT3XwKtQ6xpKd911V7zqVa9q+nrGunr6oVFtGlVPadt6roF3yy23FN+gN+MaeB//+Mfjpptuaso18Ebq39Eel5TH2eGeI/VcA69Z/dGI9TailmZdA+9b3/pWWU3D1f73v//9iF8Dr9rYLGw/y7Jhr4F34403xlVXXeUaeHFkroE30vPJK3HLLbdEPp93Dbz/r6OjI2677ba49NJLI2J8/2IcpMiv0B5hE/UrtH6FlhbxK7Tl/ApthTlz5sTFF19cvM5TLpeLiy+++LDfRDdqPWNdPf3QqDaNqqe07cDAwLDrW7BgQTG8i3j5mlzz588/rJoKdcyfP3/E64stWLAglixZUrYP1dY1MDAQAwMDh7Sptqxw32j6d7THJeVxdrjnSGXb0uPY7P5oxHobUctI/VJqxowZh5yLledntTE1MDBwSE3D1V5rbK5YsWLEY1ioaTjVxmbp9itrKyi0Of300+vus9I+qDbOR1JvHx+Own68/e1vH3Fdg4ODNftzwYIFcdFFF9VdT7XjNdIYrHUsRqPwHDDauX84M2bMaOj6qqn3uaeWBQsWxODg4CH9PXv27EaWCQBACPCqGhgYiP7+/oiImD59elx88cUtXc9YV08/NKpNo+opbdvX11d1WVtbW3z6058+5P7rrruu+AmTtra2sgttlr5J6u/vL6vjuuuuK7td+Lva9kr3oXRbpftUrU21ZcPdV49mP+5IrWe066xsW3kcm90fjVhvI2oZrl8K2tra4itf+cqI52LlY4erabjar7vuukPG4Ejbq1ZTRPlYrjU2K7c/3Jgcqc+mT59eNheNNM4P53G1jk9hH6vNR4XtFdZduh+lc2Aulxtx+9X6sfJY1VKtn+oZg7X67XAujFz5HFBZc19fX9V9qLyvsP3+/v7issqxUe2xw/VPteNVzUjnWX9/f/T29lZ9bGH/vdYBAGgOAV4VXV1dsWbNmpg5c2ZcccUVo/6Of6PWM9bV0w+NatOoekrbrlu3LqZMmRK5XC6mTJkSixcvjra2thgYGKj6xqa3tzcGBgaKba688sro7e2N3t7eGBwcLP69du3aWLt2bbGO3t7eYl1r1qwpLqu2vdJ9GBgYKPu3sE/V2lRbNtx9je7PRjzuSK1ntOusbFt6HFvRH41YbyNqGa5fSs/pwvk+3LlYGC+FsbNmzZqaNQ1Xe2EMFsby2rVra26vWk2lNQwODhbnhVpjs3L7w43JkfpszZo1sW7dukP6oNo6S+ePeh5X2cdTpkwp7mPl+lasWFG23+vWrTtkP0rnwMHBwZrbL2yvs7PzkH6sPFaFc+aUU06Jtra2WLx4cc3jVc8YrNVvV155ZXH/Ojs7i31Rut+FGiqfAyprXrduXQwODhbrrXweKKy7sP21a9cW25feV3lMqq2no+PlaxOdcsopxcetWLGiWFtnZ2f09vYW+7FW/1WeL2vXro2rrrqqeM2Zzs7OQ56TvNYBAGgO18ADAKBhJsr1aiBFroF3hLkGnnmdppoorylcAw8AAAAAxgEBHgAAAAAkTIAHAAAAAAkT4AEAAABAwgR4AAAAAJAwAR4AAAAAJEyABwAAAAAJE+ABAAAAQMIEeAAAAACQMAEeAAAAACRMgAcAAAAACRPgAQAAAEDCBHgAAAAAkDABHgAAAAAkTIAHAAAAAAkT4AEAAABAwgR4AAAAAJAwAR4AAAAAJEyABwAAAAAJE+ABAAAAQMIEeAAAAACQMAEeAAAAACRMgAcAAAAACRPgAQAAAEDCBHgAAAAAkDABHgAAAAAkTIAHAAAAAAkT4AEAAABAwgR4AAAAAJAwAR4AAAAAJEyABwAAAAAJE+ABAAAAQMIEeAAAAACQMAEeAAAAACRMgAcAAAAACRPgAQAAAEDCBHgAAAAAkDABHgAAAAAkTIAHAAAAAAkT4AEAAABAwjpaXQAAAONHV1dXbNq0qfg3AMBoeE1RToAHAEDD5HK5mDx5cqvLAADGOK8pyvkKLQAAAAAkTIAHAAAAAAkT4AEAAABAwgR4AAAAAJAwAR4AAAAAJEyABwAAAAAJE+ABAAAAQMIEeAAAAACQMAEeAAAAACRMgAcAAAAACRPgAQAAAEDCBHgAAAAAkDABHgAAAAAkTIAHAAAAAAkT4AEAAABAwgR4AAAAAJAwAR4AAAAAJEyABwAAAAAJE+ABAAAAQMIEeAAAAACQMAEeAAAAACRMgAcAAAAACRPgAQAAAEDCBHgAAAAAkDABHgAAAAAkTIAHAAAAAAkT4AEAAABAwgR4AAAAAJAwAR4AAAAAJEyABwAAAAAJE+ABAAAAQMIEeAAAAACQMAEeAAAAACRMgAcAAAAACRPgAQAAAEDCBHgAAAAAkDABHgAAAAAkTIAHAAAAAAkT4AEAAABAwgR4AAAAAJAwAR4AAAAAJEyABwAAAAAJ62h1AQAAADRWLv9SZK0uYrw5+GL1v8e5XP6lVpcAhAAPAABg3Dlm+72tLmFc6/7lfa0uAZhgfIUWAAAAABLmE3gAAADjQFdXV2zatKnVZYxbWZbFgQMHIiKis7Mzcrlciytqvq6urlaXABOWAA8AAGAcyOVyMXny5FaXMa4dffTRrS4BmKB8hRYAAAAAEibAAwAAAICECfAAAAAAIGECPAAAAABImAAPAAAAABImwAMAAACAhAnwAAAAACBhAjwAAAAASJgADwAAAAASJsADAAAAgIQJ8AAAAAAgYQI8AAAAAEiYAA8AAAAAEibAAwAAAICECfAAAAAAIGECPAAAAABImAAPAAAAABImwAMAAACAhAnwAAAAACBhHaN9YJZlERExNDTUsGIAAAAAYKIo5GqFnK2WUQd4e/fujYiIuXPnjnYVAAAAADDh7d27N6ZOnVpzeS4bKeKrIZ/Px3PPPRfd3d2Ry+VGXWCrDA0Nxdy5c+PZZ5+Nnp6eVpcDJMLcAFRjbgCqMTcAtZgfqFeWZbF3796YPXt2tLXVvtLdqD+B19bWFnPmzBntw5PR09NjMAGHMDcA1ZgbgGrMDUAt5gfqMdwn7wr8iAUAAAAAJEyABwAAAAAJm7ABXmdnZ3zqU5+Kzs7OVpcCJMTcAFRjbgCqMTcAtZgfaLRR/4gFAAAAAHDkTdhP4AEAAADAWCDAAwAAAICECfAAAAAAIGECPAAAAABI2LgO8K6//vo444wzoru7O2bMmBHLly+PHTt2lLXZv39/rFy5Mvr7++OYY46Jd7zjHfGPf/yjRRUDrXDDDTdELpeL1atXF+8zN8DE9Le//S0GBwejv78/Jk+eHPPnz49t27YVl2dZFtdcc00ce+yxMXny5Dj33HPjd7/7XQsrBprh4MGDsX79+jjuuONi8uTJ8drXvjauu+66KP09QPMDjH+PPvponHfeeTF79uzI5XJx//33ly2vZx7YvXt3DAwMRE9PT/T29sall14a+/bta+JeMFaN6wDvkUceiZUrV8bPf/7zeOihh+LFF1+Mt73tbfHvf/+72OaKK66IBx54IL773e/GI488Es8991xccMEFLawaaKatW7fGbbfdFgsWLCi739wAE88LL7wQ55xzTkyaNCk2bdoUv/3tb+MLX/hCTJs2rdjmpptuii9/+ctx6623xpYtW2LKlCmxZMmS2L9/fwsrB460G2+8Mb7+9a/HV7/61XjqqafixhtvjJtuuim+8pWvFNuYH2D8+/e//x2vf/3r42tf+1rV5fXMAwMDA/Gb3/wmHnrooXjwwQfj0UcfjQ996EPN2gXGsmwCef7557OIyB555JEsy7Jsz5492aRJk7Lvfve7xTZPPfVUFhHZY4891qoygSbZu3dvdsIJJ2QPPfRQ9qY3vSm7/PLLsywzN8BE9bGPfSx74xvfWHN5Pp/PZs2ald18883F+/bs2ZN1dnZm9957bzNKBFpk2bJl2fvf//6y+y644IJsYGAgyzLzA0xEEZFt3LixeLueeeC3v/1tFhHZ1q1bi202bdqU5XK57G9/+1vTamdsGtefwKv0r3/9KyIi+vr6IiLi8ccfjxdffDHOPffcYpsTTzwx5s2bF4899lhLagSaZ+XKlbFs2bKyOSDC3AAT1Q9+8INYtGhRvPOd74wZM2bEaaedFt/4xjeKy//0pz/Fzp07y+aGqVOnxplnnmlugHHu7LPPjh//+Mfx9NNPR0TEL3/5y/jZz34WS5cujQjzA1DfPPDYY49Fb29vLFq0qNjm3HPPjba2ttiyZUvTa2Zs6Wh1Ac2Sz+dj9erVcc4558Qpp5wSERE7d+6Mo446Knp7e8vazpw5M3bu3NmCKoFmue++++KJJ56IrVu3HrLM3AAT0x//+Mf4+te/HmvWrIlPfOITsXXr1vjoRz8aRx11VFxyySXF8T9z5syyx5kbYPy7+uqrY2hoKE488cRob2+PgwcPxmc/+9kYGBiIiDA/AHXNAzt37owZM2aULe/o6Ii+vj5zBSOaMAHeypUr49e//nX87Gc/a3UpQIs9++yzcfnll8dDDz0UXV1drS4HSEQ+n49FixbF5z73uYiIOO200+LXv/513HrrrXHJJZe0uDqglb7zne/E3XffHffcc0+cfPLJsX379li9enXMnj3b/ABAU0yIr9CuWrUqHnzwwXj44Ydjzpw5xftnzZoV//vf/2LPnj1l7f/xj3/ErFmzmlwl0CyPP/54PP/887Fw4cLo6OiIjo6OeOSRR+LLX/5ydHR0xMyZM80NMAEde+yx8brXva7svpNOOimeeeaZiIji+K/8RWpzA4x/V155ZVx99dVx4YUXxvz582PFihVxxRVXxPXXXx8R5gegvnlg1qxZ8fzzz5ctf+mll2L37t3mCkY0rgO8LMti1apVsXHjxvjJT34Sxx13XNny008/PSZNmhQ//vGPi/ft2LEjnnnmmTjrrLOaXS7QJG9961vjV7/6VWzfvr3436JFi2JgYKD4t7kBJp5zzjknduzYUXbf008/Ha9+9asjIuK4446LWbNmlc0NQ0NDsWXLFnMDjHP/+c9/oq2t/K1Te3t75PP5iDA/APXNA2eddVbs2bMnHn/88WKbn/zkJ5HP5+PMM89ses2MLeP6K7QrV66Me+65J77//e9Hd3d38TvlU6dOjcmTJ8fUqVPj0ksvjTVr1kRfX1/09PTEZZddFmeddVa84Q1vaHH1wJHS3d1dvBZmwZQpU6K/v794v7kBJp4rrrgizj777Pjc5z4X73rXu+IXv/hF3H777XH77bdHREQul4vVq1fHZz7zmTjhhBPiuOOOi/Xr18fs2bNj+fLlrS0eOKLOO++8+OxnPxvz5s2Lk08+OZ588sm45ZZb4v3vf39EmB9goti3b1/8/ve/L97+05/+FNu3b4++vr6YN2/eiPPASSedFG9/+9vjgx/8YNx6663x4osvxqpVq+LCCy+M2bNnt2ivGDNa/TO4R1JEVP3vm9/8ZrHNf//73+wjH/lINm3atOzoo4/Ozj///Ozvf/9764oGWuJNb3pTdvnllxdvmxtgYnrggQeyU045Jevs7MxOPPHE7Pbbby9bns/ns/Xr12czZ87MOjs7s7e+9a3Zjh07WlQt0CxDQ0PZ5Zdfns2bNy/r6urKjj/++OyTn/xkduDAgWIb8wOMfw8//HDVjOGSSy7Jsqy+eWDXrl3ZRRddlB1zzDFZT09P9r73vS/bu3dvC/aGsSaXZVnWouwQAAAAABjBuL4GHgAAAACMdQI8AAAAAEiYAA8AAAAAEibAAwAAAICECfAAAAAAIGECPAAAAABImAAPAAAAABImwAMAGIOyLIsPfehD0dfXF7lcLp588smy29u3b4/FixfH6tWri495zWteE1/84heLt3O5XNx///1Nrx0AgMPT0eoCAAA4fD/60Y/izjvvjJ/+9Kdx/PHHx9atW8tuT58+Pb73ve/FpEmTWl0qAACvkAAPAGAM+sMf/hDHHntsnH322RER8Ze//KXsdkREX19fq8oDAKCBBHgAAGPMe9/73rjrrrsi4uWvwb761a+Ov/zlL2W3//znP8fixYvj1FNPLfvaLAAAY48ADwBgjPnSl74Ur33ta+P222+PrVu3xoEDB+Jb3/pW8XZ7e3urSwQAoIEEeAAAY8zUqVOju7s72tvbY9asWRERh9wGAGD88Cu0AAAAAJAwAR4AAAAAJEyABwAAAAAJE+ABAAAAQMIEeAAAAACQsFyWZVmriwAAAAAAqvMJPAAAAABImAAPAAAAABImwAMAAACAhAnwAAAAACBhAjwAAAAASJgADwAAAAASJsADAAAAgIQJ8AAAAAAgYQI8AAAAAEiYAA8AAAAAEibAAwAAAICECfAAAAAAIGH/D6qFc6Mx6w10AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import seaborn as sns\n", + "plt.rcParams[\"figure.figsize\"] = 16, 3\n", + "sns.boxplot(x=df_missing['ffill'], whis=1.5)" + ] + }, + { + "cell_type": "code", + "execution_count": 403, + "id": "2fe8c3ad", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 403, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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OjqaVD/NrpZxqFebWhxNP6OjozE8PFxeZ3h4eMZ1KtuMjo6W1638vlod1ZZNtb3KPqv1VeuymZ6rRaPXm6t+ZtvndO/jXG1zrvutRy1TjcvkfbqWfXHysXM0261UeSzXUutUNYzPC0e7fQAAOBavvvpqDA0Nlc9Hh4eHY2hoKF555ZUYGhoqn+++8sor5fPX8a+nn366/P2+ffsmLJutel0LTdW3c+tfEOBNYffu3fFbv/Vb8fjjjyfRT7OrZRzq1aZe9VS2Xb16daxatSpWr14dt956a6xatSruueeeKde5++67y212794d73vf++J973tf3HPPPeXvH3/88SPqqHw8/v1U2xtffs8990z4t/I1TW5TbdlMz9Wi0evNVT+z7XO693GutjnX/dajlqnGZfI+Xcu+WHkczVTTdLWPH5urV6+ecXvVaqo8lsfnhamOzXaf9wEAmBvr1q2LNWvWxIUXXhirVq2KVatWxZo1a2L16tWxZs2aWLVqVbzrXe+acB27evXqWLlyZVx66aWxcuXKuPDCC+Oiiy6KCy+8MFavXl3TeXY19boWmqrvWq8B2oEAr4rR0dH4zGc+EwcPHozPfOYzx3QnTT36aXa1jEO92tSrnsq2t9xyS4yMjERExMjISNx7770REbFt27aqf/2nVCrFbbfdVm5z8803R6lUilKpVF6nVCrFzTffPKGOUqk04fEtt9wSBw8erLq9ytewbdu2Cf+Ov6Zqbaotm+65eo9nPdabq35m2+fktpPfx0aPRz36rUct041L5T594MCBGffF8XXHj51bbrllypqmq73y2BwZGSn3U8t7OD4XjNfwN3/zN+V5Yapjc/L22/VnAAAAcyPLsimXjY2NRUTE4cOHY2RkpHzuOnndLMtiZGRkxvPsaup1LTRV35Xn3+2cqYwT4FVx7733xk9/+tOIiNizZ0/s3Lkz136aXS3jUK829aqnsu1zzz1Xddno6Ghs3br1iOc//vGPT/iI3d69eyesM+65556bUMfWrVsnPJ683crtVb6GyR+RHX9N1dpUWzbdc7Vo9Hpz1c9s+5zcdvL72OjxqEe/9ahlunEZNzo6GlddddWM++LkdX/6059OWdN0tVcem5X91PIeTp4LDh8+POF1VDs2J2//61//+swDBwAAOZnuPLuael0LTdV35fl3O2cq4wR4k7z00kvxd3/3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gKmYH6jFdHfejfNHLAAAAAAgYQI8AAAAAEhY2wZ4vb298Rd/8RfR29ubdylAQswNQDXmBqAacwMwFfMD9TbrP2IBAAAAAMy9tr0DDwAAAACagQAPAAAAABImwAMAAACAhAnwAAAAACBhLR3g3XjjjfHWt7415s+fHyeddFJcdNFF8eSTT05oUyqVYuPGjXHCCSfEvHnz4rd/+7fjhRdeyKliIA+f/vSno1AoxObNm8vPmRugPT333HPxO7/zO3HCCSdEX19fvOlNb4p///d/Ly/Psiw+9rGPxcknnxx9fX2xcuXK+M///M8cKwYa4fDhw7Fly5Y49dRTo6+vL17/+tfH1q1bo/LvAZofoPV997vfjTVr1sTSpUujUCjEfffdN2F5LfPAz372s1i/fn0sWLAgjj/++LjsssviwIEDDXwVNKuWDvAeeuih2LhxY/zbv/1b3H///XHo0KF417veFQcPHiy3ueaaa+Ib3/hG3HXXXfHQQw/F3r17Y926dTlWDTTSrl274m//9m/jV37lVyY8b26A9vPzn/88zj///Oju7o5vfetb8aMf/Sj+8i//Ml7zmteU29x8881x6623xm233RaPPPJIHHfccbFq1aoolUo5Vg7MtZtuuim2bdsWn//85+OJJ56Im266KW6++eYYGBgotzE/QOs7ePBg/Oqv/mp84QtfqLq8lnlg/fr18cMf/jDuv//++OY3vxnf/e5344orrmjUS6CZZW3kxRdfzCIie+ihh7Isy7J9+/Zl3d3d2V133VVu88QTT2QRkT388MN5lQk0yNDQUPaGN7whu//++7O3v/3t2dVXX51lmbkB2tVHP/rR7Dd+4zemXD42NpYtWbIku+WWW8rP7du3L+vt7c2+8pWvNKJEICfvfe97s0svvXTCc+vWrcvWr1+fZZn5AdpRRGQ7d+4sP65lHvjRj36URUS2a9eucptvfetbWaFQyJ577rmG1U5zauk78CZ7+eWXIyJi0aJFERHx6KOPxqFDh2LlypXlNqeffnqsWLEiHn744VxqBBpn48aN8d73vnfCHBBhboB29fWvfz3OOeec+MAHPhAnnXRSnH322bFjx47y8h//+Mfx/PPPT5gbFi5cGG9729vMDdDizjvvvHjggQfiqaeeioiIxx9/PL73ve/Fe97znogwPwC1zQMPP/xwHH/88XHOOeeU26xcuTI6OjrikUceaXjNNJeuvAtolLGxsdi8eXOcf/750d/fHxERzz//fPT09MTxxx8/oe3ixYvj+eefz6FKoFG++tWvxg9+8IPYtWvXEcvMDdCenn766di2bVtce+218ad/+qexa9eu+MM//MPo6emJSy65pHz8L168eMJ65gZofTfccEPs378/Tj/99Ojs7IzDhw/HJz/5yVi/fn1EhPkBqGkeeP755+Okk06asLyrqysWLVpkrmBGbRPgbdy4MQYHB+N73/te3qUAOduzZ09cffXVcf/990exWMy7HCARY2Njcc4558SnPvWpiIg4++yzY3BwMG677ba45JJLcq4OyNOdd94Z//iP/xhf/vKX48wzz4zdu3fH5s2bY+nSpeYHABqiLT5Ce9VVV8U3v/nNePDBB2PZsmXl55csWRIjIyOxb9++Ce1feOGFWLJkSYOrBBrl0UcfjRdffDHe/OY3R1dXV3R1dcVDDz0Ut956a3R1dcXixYvNDdCGTj755PjlX/7lCc+dccYZ8eyzz0ZElI//yX+R2twAre/666+PG264IS6++OJ405veFB/+8IfjmmuuiRtvvDEizA9AbfPAkiVL4sUXX5ywfHR0NH72s5+ZK5hRSwd4WZbFVVddFTt37ozvfOc7ceqpp05Y/pa3vCW6u7vjgQceKD/35JNPxrPPPhvnnntuo8sFGuSCCy6I//iP/4jdu3eXv84555xYv359+XtzA7Sf888/P5588skJzz311FPxute9LiIiTj311FiyZMmEuWH//v3xyCOPmBugxb3yyivR0THx0qmzszPGxsYiwvwA1DYPnHvuubFv37549NFHy22+853vxNjYWLztbW9reM00l5b+CO3GjRvjy1/+cnzta1+L+fPnlz9TvnDhwujr64uFCxfGZZddFtdee20sWrQoFixYEJs2bYpzzz03fv3Xfz3n6oG5Mn/+/PLvwhx33HHHxQknnFB+3twA7eeaa66J8847Lz71qU/FBz/4wfj+978f27dvj+3bt0dERKFQiM2bN8cnPvGJeMMb3hCnnnpqbNmyJZYuXRoXXXRRvsUDc2rNmjXxyU9+MlasWBFnnnlmPPbYY/HZz342Lr300ogwP0C7OHDgQPzXf/1X+fGPf/zj2L17dyxatChWrFgx4zxwxhlnxLvf/e7YsGFD3HbbbXHo0KG46qqr4uKLL46lS5fm9KpoGnn/Gdy5FBFVv/7+7/++3ObVV1/NPvKRj2Svec1rsl/6pV/K1q5dm/3P//xPfkUDuXj729+eXX311eXH5gZoT9/4xjey/v7+rLe3Nzv99NOz7du3T1g+NjaWbdmyJVu8eHHW29ubXXDBBdmTTz6ZU7VAo+zfvz+7+uqrsxUrVmTFYjE77bTTsj/7sz/LhoeHy23MD9D6HnzwwaoZwyWXXJJlWW3zwP/+7/9mH/rQh7J58+ZlCxYsyH7/938/GxoayuHV0GwKWZZlOWWHAAAAAMAMWvp34AEAAABAsxPgAQAAAEDCBHgAAAAAkDABHgAAAAAkTIAHAAAAAAkT4AEAAABAwgR4AAAAAJAwAR4AQBPKsiyuuOKKWLRoURQKhXjssccmPN69e3e84x3viM2bN5fXOeWUU+Jzn/tc+XGhUIj77ruv4bUDAHB0uvIuAACAo/dP//RP8Q//8A/xz//8z3HaaafFrl27Jjw+8cQT4957743u7u68SwUA4BgJ8AAAmtB///d/x8knnxznnXdeRET85Cc/mfA4ImLRokV5lQcAQB0J8AAAmszv/d7vxRe/+MWI+MXHYF/3utfFT37ykwmPn3nmmXjHO94RZ5111oSPzQIA0HwEeAAATeav//qv4/Wvf31s3749du3aFcPDw3HHHXeUH3d2duZdIgAAdSTAAwBoMgsXLoz58+dHZ2dnLFmyJCLiiMcAALQOf4UWAAAAABImwAMAAACAhAnwAAAAACBhAjwAAAAASJgADwAAAAASVsiyLMu7CAAAAACgOnfgAQAAAEDCBHgAAAAAkDABHgAAAAAkTIAHAAAAAAkT4AEAAABAwgR4AAAAAJAwAR4AAAAAJEyABwAAAAAJE+ABAAAAQMIEeAAAAACQMAEeAAAAACRMgAcAAAAACft/HiMGawC7GugAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.boxenplot(x=df_missing['ffill'],k_depth=4)" + ] + }, + { + "cell_type": "code", + "execution_count": 404, + "id": "e1d4cd2d", + "metadata": {}, + "outputs": [], + "source": [ + "from pandas.plotting import lag_plot\n" + ] + }, + { + "cell_type": "code", + "execution_count": 405, + "id": "cb53dbcc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 405, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABSMAAAEmCAYAAACZNIUcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABvA0lEQVR4nO3dfXyT9b3/8XdaekMLTVuQpig3VXFSiwI6BOs8RyzKZKhTtwPCjqI/dnSwCbpN3IbIUFHPNp1z4mAO3RA8u1NBHBs3ToUVQSpqLVPEggoNSgspFFpKk98f9QpNm5vrSnPbvp6Ph4+tyZUr36RpaN/5fD8fm8fj8QgAAAAAAAAAoiwl3gsAAAAAAAAA0D0QRgIAAAAAAACICcJIAAAAAAAAADFBGAkAAAAAAAAgJggjAQAAAAAAAMQEYSQAAAAAAACAmCCMBAAAAAAAABAThJEAAAAAAAAAYqJHvBeQCNxut/bt26fevXvLZrPFezkAAAAAAABAUvF4PDp8+LD69++vlJTA9Y+EkZL27dunAQMGxHsZAAAAAAAAQFL75JNPdNpppwW8njBSUu/evSW1Plk5OTlxXg0AAAAAAACQXOrr6zVgwABvzhYIYaTk3Zqdk5NDGAkAAAAAAACEKVQLRAbYAAAAAAAAAIgJwkgAAAAAAAAAMcE2bQAAAAAAACSVFrdHW6rr9NnhRvXrnalRRflKTQm+PTgekmWdsUQYCQAAAAAAgKSxprJG81dVqcbV6L2s0J6peROLNb6kMI4r85Us64w1tmkDAAAAAAAgKayprNFtyyp8Aj5JcroadduyCq2prInTynwlyzrjgTASAAAAAAAACa/F7dH8VVXy+LnOuGz+qiq1uP0dETvJss54IYwEAAAAAABAwttSXdeh0rAtj6QaV6O2VNfFblF+JMs644UwEgAAAAAAAAnvs8OBA75wjouWZFlnvBBGAgAAAAAAIOH1650Z0eOixez97z5wNMorSUyEkQAAAAAAAEh4o4rylZuVFvSY3Kw0jSrKj9GK/BtVlC9HTkbI457b+nG37BtJGAkAAAAAAICIaHF7VL6rVi9u36vyXbXesC3Q5WbPuenDA/r5P95X4/GWoMc2n3Brs8XzR1pqik2TRw0MeVx37RvZI94LAAAAAAAAQPJbU1mj+auqfIa3FNozddV5hVr5dk2Hy+dNLNb4kkLvZS1ujzbvqlX5RwfkkWTPSFPFJ3X65/sH1HjCbWoNDcdbNOWpN/ye36wWt0dbquv02eFG9eudqVFF+UpNsVk6x+C+2aaO6459IwkjAQAAAAAAoiwSAVcir2FNZY1uW1ah9vWINa5G/ea16g7H17gadeuyCs26bIi+e9kQ/b3SqR/8+W01hKh8NKvG1ajbllVo0dSRlgLJQIGq1WAzWfpbxoPN4/F0v83p7dTX18tut8vlciknJyfeywEAAAAAAF1IpAKucLW4PXp8w04t3bRbh441R3wNLW6PLn5og8/jSxSF9kxtvGusqdA1UKBq3NJKsGk8J05XY4fzGed0WFhbMjCbr9EzEgAAAAAAIEqMgKt9UOf8onJvTWVN1O///PvW6pF1O32CSOlkdeL3//i2jpvYBt3i9mjTzgP62d//rZ/9/X1t+vCAt9oyEYNIyVxfRqMn5Zy/vOs3ODQum7+qynQvytQUm+ZNLJZ0Msw0GF/Pm1jcZYJIK9imDQAAAAAAEAUtbo/mr6oKGHDZ1BpwjSt2mAql2m6z7pudIdmkA0eavFuuW9we/aF8t/bUHdWg/CwV9M7Ud597y+/9t/Xnik/117c+1fSvFOnuK4v9HrOmskZz/vquDh09GWg+/sqH6pXRQxcMyg259ngK1pfRX9WqPx6dDDbHnNHH1P2OLynUoqkjO5zfEcOq2EREGAkAAAAAABAFoSoGrQRcoUKzrPRUHWtuUbjN+NweeXs7tg8k11TW6NZlFX5vd6TphP75wYHw7jRGAvVlDLQtOxirA2fGlxRqXLEj7v1CEwlhJAAAAAAAQBSYDa5CHWcmNDsaocEvv3mtWh63dEpOpvpkp+vAkSb97O//jsi54yE/O02jivI7XB6sajWYcAbOpKbYTFdTdgdx7Rn52muvaeLEierfv79sNpteeOEFn+s9Ho/uueceFRYWqmfPniorK9POnTt9jqmrq9OUKVOUk5Oj3Nxc3XLLLTpy5EgMHwUAAAAAAOiuWtwele+q1Yvb96p8V61PT8FITFRucXt078r3LIdmnbF4Y7Xuf3mH7vjT23rgb//W8dDtJBPWfVeX+K1CtNrn0qbWYTj+gk1YE9fKyIaGBp133nm6+eabde2113a4/uGHH9Zjjz2mZ555RkVFRZo7d66uuOIKVVVVKTOz9Qd1ypQpqqmp0dq1a9Xc3Kxp06bp29/+tpYvXx7rhwMAAAAAALqYtn0a22+xDTUle1RRvgrtmSEnKhsBl7/7enzDh3LWN8XgkXY9/3NJka48t7/f66xst+7uA2cizebxhNtNILJsNpuef/55XXPNNZJaqyL79++vO++8U9///vclSS6XSwUFBXr66ac1adIk7dixQ8XFxdq6dasuuOACSdKaNWt05ZVX6tNPP1X//v5fcO2ZHT0OAAAAAAC6D39hY352uu67ukQpKfK7ddqIqhZNHanxJYV6+Z19+s7ytzqcu/1x/u4rNyvNZ2AMzOmV0UMPX3eurjw38ICY8l21mrxks6nzFXbzgTNmmc3XErZnZHV1tZxOp8rKyryX2e12XXjhhSovL9ekSZNUXl6u3NxcbxApSWVlZUpJSdEbb7yhr3/96/FYOgAAAAAAPoJV1yExBerTWNdwXN9ZXqGs9NSAU7Il6d6V78ntlhas3uH3/A57puZOKJa9Z7oWrHpPT23a3eEYgkhrLi/upxsvKtLo0/uE/PkKVbUqtYbBv548UqPPCH0+mJewYaTT6ZQkFRQU+FxeUFDgvc7pdKpfv34+1/fo0UP5+fneY/xpampSU9PJEuf6+vpILRsAAAAAAB+htvIi/tqHxecPygs53CTUwBhnfZO+s9z/BGpJOn9grn760ntswY6gaaWnmx4Uk5pi07yJxbptWYVsks/32ogdH7x2mEqH9I30Mru9hA0jo2nhwoWaP39+vJcBAAAAAOjiAlXXOV2Num1ZhXeLrlXdodIyFo+xxe3R4xs+1NJN1Tp07GQVYn52uuoajkf0vtp76d3ARVTwldszTc0tLWoIMEmnfe9Ns8aXFGrR1JEdPixw8GFBVCVsGOlwOCRJ+/fvV2HhyW/+/v37NXz4cO8xn332mc/tTpw4obq6Ou/t/bn77rt1xx13eL+ur6/XgAEDIrh6AAAAAEB31+L2BKyu86g1QJm/qkrjih2WQrbuUGkZi8e4prJGc/76rt+t0NEOImGOt0LxumGSpFuXdaw07exwmfElhRpX7Ojy4X4iSYn3AgIpKiqSw+HQ+vXrvZfV19frjTfe0JgxYyRJY8aM0aFDh7Rt2zbvMRs2bJDb7daFF14Y8NwZGRnKycnx+Q8AAAAAgEjaUl3nE6a155FU42rUluo60+c0Ki3bn9eotFxTWRPuchNGLB7jmsoa3bqsgp6MCSQrPVWOnEyfyxz2TG/18PiSQj05daQK7YGPCVdqik1jzuijq4efqjH0h4y6uFZGHjlyRB9++KH36+rqam3fvl35+fkaOHCgZs2apfvuu09DhgxRUVGR5s6dq/79+3snbg8dOlTjx4/X9OnT9eSTT6q5uVkzZ87UpEmTTE/SBgAAAAAgGj47HDiIDOe4aFVaJhKrj7HtVu6+vTIkj3SgoSlodZtxH0gs/3PJGZo59sygFYpUMXYNcQ0j33zzTV166aXer42t0zfeeKOefvpp/fCHP1RDQ4O+/e1v69ChQ7r44ou1Zs0aZWaeTMGfffZZzZw5U5dddplSUlJ03XXX6bHHHov5YwEAAAAAoK1+vTNDH2ThOCuVlmaHeCQaK4/Rdey47l0ZeABMoG3doe4D8TG4b5a3QjEYM8cgscU1jPzP//xPeTyBZ1PZbDb99Kc/1U9/+tOAx+Tn52v58uXRWB4AAEhw3aF5PwAgeY0qylduVlrQrcB5WWmmh25EutIyWvz9+yzJ1L/ZZtf+jyqnlm7aHfSYmgBDgtZWMTgmmmw2KUjUE5DZUB7JL2EH2AAAAATTHZr3AwC6PiuZTaQrLaPB37/PuVlpkuQTygb6N9vs2kMFkQaPpLv/+q7GFbcOuX18w4f6ncnbwpr/vf5cnZaXpfMH5WnbnoP6W2WNfl++x9RtC8OYhI3kRRgJAACSjtHYvv0fcM4AFRAAAMTDluq6kANSDh1tNr2telRRvgrtmXK6Gv2GmDa1DvOIV6gT6N9nf8+B09WoW5dV6ObSwRpX7PBWStZGoarz4NFmTfntZu3YVy9X44mInx/S/1xSpG9cMMD7tfF6NhtGhjsJG8mJMBIAACSV7tC8HwASGS0yzDO7Hdjs1uTUFJvmTSzWbcsqZJNvVaXxHYhXqBPs32d/jON+t2m3frdpt/Kz0/T1Ef311EZz4ZVVmz8yP7Ec5qXYpOlfKdLdVxZ3uC5UeG7c/vHJI/gQuZshjAQAAEmlOzTvB4BERYsM81rcHr2wfZ+pY61sqx5fUqhFU0d2+D44IvB9aB80G9ttzQTPnR0KU9fQHLUgEtEx5cIBmjexROk9UvxeHyw8Nzw+eaSuPJf3ju6GMBIAACSVZGneDwDJJlTFIy0yrNlSXae6huMhj7NJOn9QnqVzjy8p1Lhih7ZU18lZ36gDh5t08GiTKvfWq3dmmkaf3sdydeTL7+zTT16sVF3DyS3V7QeRtA+e275m/l5ZY+n+kJgK7Zn6xshT9dgru0Iee+Ww/gGDSEOg8JwPMbo3wkgAAJBUkqF5PwAkm1AVj7TIsM7sh2IeSdv2HLRczZ+aYpPr2HHNX/WeT0/Gx1/5ULlZaXrw2mGmg56FL1fpN69Vd1xbu2942+nUkjq8ZpD4emWk6khTi/frQnumJn15oAb3zfJ+CPHSO+Yqeg8caTJ1XNvwnPYOkAgjAQBAkkn05v0AkGzMVDzae6bTIsMiKx+KhVPNv6ayRrcuq/B73aGjzbp1WYVuv2yIWtxuSTaNOaOP34rJl9+p8RtEBuKRdPuKt9TUYmUOOOLN+P3o1R9cqq2761S+q1aSR2NO76vRZ/i+LqLxwW9qio33BngRRgIAgKSSyM37ASDZmK14/OEVXzJ1vki0yOgqA3JGFeUrPzvd1FZtq9X8LW6P7l35Xsjjfrl+p/f/+6uYbHF79JMXKy3dtySCyCTT9vejDf/e71PR+vgruzpsmY72B79d5Wcc4SOMBAAASSeazfsBoDsxOxTMTKAmdb5FRrQG5MQj/EhNsem+q0v0neX+qxcNhSZCnfbrd7s9ctab2yLbllEx+dUSh6aOHiRJpr+3SF7G70eSTPV9jeYHvwzBgiTZPJ72XSC6n/r6etntdrlcLuXk5MR7OQAAwCQ+WQeAznlx+17d/tz2kMc98l/D9fCaf4eslNp419iw34cDbRc3zhbugJx4hx+B+jFKrY8t1OPyt/7cnmk6dKw54G3Myki1UeXYRV0/8lR95axTvL8fSdLFD20I+OGDv5/hSP/sROtnHInDbL5GZSQAAEha9B8CgM4xW8noyMmMaouMaA3ISYQJ4HdfWazzTsvtMKnaTKjz8js1fisrIxFESmy3Tlbtfwbby8tK00PXn+fzs1K+q9Zy39dIDp5hCBbaIowEAAAAgG7KSm+41BRb1FpkmN0ubmVATiKFH1ee219XlBT6DXXaVvn37ZUheaQDDU366PMG/WrDztAnR7cx89IzVXpmXx1saNKM5W9J6hhK2iQtvHZYh9e02X6u7Y+L1Ae/0fgZR/IijAQAAADQLdHqwfpQsEhWSrUVblASTDzCj2CvqdQUm0YV5Xuv31Jdp4MNTVqwekfQdQLGhwKzx53lfT0tSrFZ2kIdjQnZVkTjZxzJizASAAAAQLcT7z6CicTqULBotMiIRlASTvjRmYA61GvK3/VAe2bbIFj9YCDaE7JDiXcYisRCGAkAAACgW0mEPoKJJloVj2aNKspXblaaDh0N3AsxNyvNUlBiNtTYfeCopMCDYqaVDtbMsUOCPheBXlM1rkbduqxC079SpN++Xh20zx9wc+lg/a3SaboNgpUPBqI5IduMeIehSCxM0xbTtAEAAIDuosXtsTxRFtHX4vbo/PvWBg0j87LS9MaPyrRtz0FTganxvQ4Ufhhskr59SZEWvxY4LMzNStOD1w7zGwiFek2h6xp/ToFe23lAR4+3ROR8K6aP9tnKH40PBeJZFW6E9pL/MLQ7fhDU1ZjN1wgjRRgJAAAAdBflu2o1ecnmkMetmD6aIQoxZPb7kp+drrqG496vQ4UoayprdOuyjtOo27JJstkkd4i/jG06GZYcP+HWH8p3q7q2QftdjVq747OQa0fX4sjJ0M+/OVxTfvuGqeOz01PVECC0jPWHIPHsl0uLjK7NbL7GNm0AAAAA3UY8hygwMCcws8932yBSCr21fnxJoWaXDdEj6wJPpfZIMlOi41Hr9O1te+r029d3s+W6mzJ+Yu+96hwdONJk+nbfvuR0PfrF6zDWW6Tbi0bfV7Pi3RICiYEwEgAAAEC3Ea8hClQDBRfu8+1Ra5gzf1WVxhU7/AYarmOBt35bVeNq1JLXd0fsfEg+bXs4lu+qNXWb/Ow0zRw7RF9y9DY9KKori2cYisRAGAkAAACg24jHEAUG5oR2sMF8hVl7HrWGhFuq67wBh1GFurbKqd9t2h2ZRaJbu6V0sMqKHT5VfMb7Sah+ofddXaLUFBtVgcAXCCMBAAAAdBuxnijb4vZo/qoqv8Gnmaq+7qDF7dGC1Ts6fR5jq7e/KtRQUkz0jET3FKyCue37SaCXz/9cUqQrz+3vcxuqAtHdpcR7AQAAJKMWt0flu2r14va9Kt9Vqxb+ggGApDG+pFCLpo6Uw+67Ndhhz4x4leKW6rqgoVjbqr7uKtRzZNbO/Yf1y3Uf6NZlFZbPN/w0e6fvH/GXltr5QN84w82lg7Vi+mhtvGts0PcE4/2ksN37SZ/sdD1xw0jdfWVxp9cEdDVURgIAYBF9vwAg+RnbJTfvqlX5RwcktVYrjT49shVL8RyYEw3BhvCEO6AnUo/98Vd2hX3bik9cEVkD4qtsaIH+Vuns1DnC6eHI9mvAGsJIAAAsoO8XAHQda6ucPh8uPf7KhxH/cCleA3OiIdiHcZI6DubIydDkUQM1uG+2+vXO1PmD8rRtz8EOYU0yPHbET3Z6qk643Wo6EXoXytTRg1T+Ua0OHTU3tKjQnqm5E4YqLzuj0yEi268B82wej6fb7yurr6+X3W6Xy+VSTk5OvJcDAEhQLW6PLn5oQ8CtX8bQg413jeWTcADopHCr7MwK9OGScQ+R+nDJ+Lcj1MCcRP+3I9jzZfYPyvZ9GR05mbrna8Wy90zTt//wphqOt4Q8R352uuoajptdNpLc3AlDdVNpkVrcHo1euD7g977tz9HaKqduXVbh9xiPpOtHnqqsjB4alJ+lb40ZrPQedK8DIsVsvkZlJAAAJlnp+8Un4wAQvmi3w4jlUJlIDMyJdjAbSqjny6z27ZWd9Y36zvKOoVEwXx9RqOe2fqqGptDBJZJbVnqKzna0hhnpPVL0wNdLdNsXIWOwn6PxJYV6curIDu8h9qw0SdKfK/Z6L/vtxmra7ABxQGWkqIwEAJjz4va9uv257SGP++Wk4bp6+KnRXxAAdEGxqFgs31WryUs2hzxuxfTREftwKdyANRH6FJt9voBoaPt6t/Lz0DbE333gqB5d90HUK6GB7o7KSAAAIqwr9f0CgEQUq4rFeAyVaT/gom+vDMkjHWhoUvmuWr/VjoGC2RpXo25dVqFbSgerrNgR9UrJZBmug8SRnZ6iFrfUeMLd6XO178ttdlCM0cPRaJUQi0rozoh3BTQQS4SRAACYNKooX4X2zJB9v0YV5cd6aQDQJcSqHUa8PlwywpE1lTX6/p/eDlrdFSyYNTy1abee2rS7U5WSZgKQ3QcaLJ8X3dfssrM0c+yZWlvl9BumW+UvMLTy858MbXYSoQIaiCU6tQIAYJLR90s6ua3HYLbvFwAgsFhVLBofLgV6t7apNQiIxodLRrVj+3DEqP5aU1kjKXSAEuy2VtZy8UMbNHnJZt3+3HZNXrJZFz+0wec8LW6PVmz52NJ50X3ZJD23tfX1Mr6kUIumjlR+dlqnz9s2MLQqHpXQVph9TwC6EsJIAAAsMH6xdth9q2Uc9kz6DQFAJ8WqYjFeHy6ZGQQzf1WVWtweS8FI+9uaYSUUddY3mV4Lurf2oeH4kkJtvrtM+dnpAW9jk5SbZS6wDCcwTOQ2O1beE4CuhG3aAABYZKVfEQB0V223//bNzpBs0oEjTUHfM2PZDsP4cKn91khHhKd2t/23wu3xmN4uajUYsbLV1EpvTvpFdh29M1J1/fmn6cW3a3Sw4Xint08H0/Z1Y2YS9rSLivTIug9CnjecwDDU+4oUvUroUJJhCzkQDYSRAACEwWq/IgDoTvz1P2srUC80o2LxtmUVssl/aBHJisVofrjk7znI7Wm++utr5/YPGaD446xvVPmu2qCPx0oA0jc7w8K9I5Fdf/5pmndViS48vY/fn7FIah8ahgr/xxU79NzWj6MSGLZ9XwnkqvMK4/KhcqJvIQeihTASAAAAQMQEmgDdVvvpuG3FomKxrXA/XAo2+CXQc3DoWLOpc/frnRk0mA1mwUvvqa7h5P0Utgl7jPXu3H/E1LmefHWX3t3rMnnPSHRL/7VHF57eJ+DPmM0meYK80G4pHayxQwt05x+3a399k+Xq5VDhf6jX+7HmFq2tcob1HjC+pFDfvqRIv3mt2u/1i1+r1oiBeTFvt5PIW8iBaLJ5PMHebrqH+vp62e12uVwu5eTkxHs5AAAA3Y6Zib7JpKs9HrNa3B5d/NAGU4NXjNBi411j/T43gZ5Dq5dHQ7DJt+OKHaafg/b8PSehqkzNnNOj1p58h46aC0PRdTlyMrRpzmU+PzNrq5z63abdAW+Tm5WmB68d5g3qjLBd8l+9bKaHdqCf1zWVNZrz13f9vlatnN/f/QX7uQz1fhQtxrpCtaaI9bqAcJnN16iMBAAAQFwFC3aScShUV3s8VliZAB2qF5q/isVAz+1V5xVq5ds1MXnOA1U9GtWes8qGhB1ESh23obetJjNCI39b2ANVmBiXE0QmtmhumW7LWd/k/ZlLTbFpVFG+7vjj9qC36ZmWqnHFDu/Xna1eDhXm37vyPb+3a9/P1Eo4l6i9GWPdmgJIFISRAAAAiJtQwU6yTanvao/HqnD6mpm9TaDntsbV6HfrpdXn/PgJt/5Qvlu7a49K8mj4abnqn5flU2FpZvDL0iAVZm21Dx78BTntq8d+PKFYo4ryOwQ5+dnpqm04bup+kZgc9kxN+vJAU0NcOqvtz5yZDxBqXI16elO1biot8v4shNtvNXSYf1bQ6e3hhoaJ3Jsx1q0pgERAGAkAAIC4sDLRNxmqQrra4wlHOH3N+vXODLnFOthzG4iV53zhy1Va8nq13G3u4A/6WJJvhaWZ6iqzfSGNu7qldLDKih0dtpuvq3Lq+e17/fZ/3HjXWG3eVavyjw5IsmnnZ4f19/f2m7pfRJ49s4cWXnuufvrSe0GDNH+y01O1+L8v0OjTW4O1UENcIqHtz6nZ8G3B6h367cZqn3DMar9VU2H+v/z3dGzPamiY6L0ZozlMC0hECR1GtrS06N5779WyZcvkdDrVv39/3XTTTfrJT34im631h9Lj8WjevHlasmSJDh06pNLSUi1atEhDhgyJ8+oBAEAy6649/2IpUbfNhSvZH08kXvOjivJNT4A2eqEdbGjq0Mut/RZrK9u/2zLznC98uSrgUAt9cXujwrLphNvU/eb2TJPrWLOpQOnlSqd+NKHY2y8vWH9Io3rs25cUddiWjvhxNZ5QXna6Ns25zPsz1Dc7Q7JJG3bs11MBqmVtkn7+zfNUemZf72XhDC2SWntBNp5wh9yO78jJ8BkuYyV862yFt6kw32Q7AauhYaj3pmCDd2Il3GFaQDJK6DDyoYce0qJFi/TMM8/onHPO0Ztvvqlp06bJbrfre9/7niTp4Ycf1mOPPaZnnnlGRUVFmjt3rq644gpVVVUpM5OJUwAAwLru3PMvlsxWtqyrcibFH2iJvA0wlEi95s1OgDYizqvOK9SM5W+F3Nbe2ecs0O2Pn3BryeuhK7E8aq2w/Nk3zjN1fxcP6avV79SYOtYIS13HjoecQm5cFyw8RXx8drjRb5hUemZffdnP1vpAP1+Btuz60ysjVf91wQBvZe3aKqdu/WKwTCD3XnWOz4cMVj5A6GyFt9mf42BhfrihIb0ZgcSSEu8FBPOvf/1LV199tSZMmKDBgwfr+uuv1+WXX64tW7ZIaq2KfPTRR/WTn/xEV199tc4991z9/ve/1759+/TCCy/Ed/EAACApGf2s2v8RaIQjayrNBQwIzWxly/Pb96rFHc1Ni5Fh9vH0zc6I8kp8tbg9Kt9Vqxe371X5rtoOz2WkX/NGmOKwB34+HPZM/fqGkVr5dk3ALZtSa+jR4vZ0eutk+9sbz8kP//y2zL60alyNkqc1RAoVV7z0To0mnGs+xHW6jlneho7EEuw1Or6kUBvvGqsV00frl5OGa8X00dp419iAQf/4kkK9+oNLlZ+dHvQ+e2em6UcTir3DaMaXFOrJqSOVm5XW4djcrDQ96aei0QjpJIV8XUu+1cZWmf05nlY62O96OhsaBnpvctgzu3w/XyDRJHRl5EUXXaTFixfrgw8+0FlnnaW3335bGzdu1C9+8QtJUnV1tZxOp8rKyry3sdvtuvDCC1VeXq5JkybFa+kAACAJ0fMvtkYV5Ss/O111IQZv1DU0J+zW5rbMVhjd+ae3de9VsamyDVXxGK3XfPv+Z8aW1QNHmtSvd6bOH5SnP5TvNr2t3Ur1Vlv+qqhCbYUOZv2/92vexOKQ1Wc2SRv+/Znp89Y1HGfLdQLrlZGqhqaWTlXqWd2Cu23PwZDvjf5aEBg/e5s/qlX5rlpJHo05va9GfxFY+mOlGtMQTrWy2a3SM8cO0ZccvaMy0IXejEBiSOgwcs6cOaqvr9fZZ5+t1NRUtbS06P7779eUKVMkSU6nU5JUUFDgc7uCggLvdf40NTWpqelkY+H6+voorB4AACSbZO/5l2xSU2y6Znh//c7E9OFE3NrcntktyvvrYzNZ28xkb3vP9Ki95gOFL2sqa/Qf//uKpdDDeG5DhYBt+auiCvScmPW7TbuVlmpTr4weOtJ0IuBxHklHj7eYOmef7HTl94pttSzMc+Rk6J6vFWvG8rdiur23M20fUlNsKj2zr08vylCMkO7pTdVasHpHyOPDqVa2slU6mqEhvRmB+Evobdp//OMf9eyzz2r58uWqqKjQM888o5/97Gd65plnOnXehQsXym63e/8bMGBAhFYMAACSWTL3/EtW44odpo6L14RTq4wKo4KcwOFS+y3I0RCq4lGSfvx8pRb9c6ep80XqNR9oS3gwZr/3WempPl/be6ZpVtkQ72ssnInc/vzmteqgQaRV9151jhw5yfH67m5sav3+XHlu/5hv743H9OfUFJtuKi0K2orAptbq6nAHvVjZKm2EhlcPP9W7FR1A15DQlZE/+MEPNGfOHO9262HDhmnPnj1auHChbrzxRjkcrb9Y7N+/X4WFJ9+09u/fr+HDhwc8791336077rjD+3V9fT2BJAAAiMsff92dsW0vUDiVCBNOrRpfUqjemWma8ts3Ah5jVBw+valafXtnRHyroJkq39qG43ptZ62p80XiNW81DGz7vTduG4xRiWhUXB061qxH1u3Uc1s/0byJxSGrQOOlb6+MsLehd3dWJ05bNavsLG84FuvtvfGa/hyLQS9slQaQ0JWRR48eVUqK7xJTU1PldrslSUVFRXI4HFq/fr33+vr6er3xxhsaM2ZMwPNmZGQoJyfH5z8A4QvVGB8AkoXxx1+0KkLQkfGHr02RH1YQTweONIU+SNKC1Tt0+3PbNXnJZl380IaIDUiKVCWjmde82d8DQgWk7e9XOvm9t3LbQNvS11YFbuMUT223oUvBh4gU2jP1P5cUxWZhUWSTOlUNmpuVpv+5pCjokKRIGNw3y+frWFbqBXtNRPu9MRaDXqh6BLq3hK6MnDhxou6//34NHDhQ55xzjt566y394he/0M033yxJstlsmjVrlu677z4NGTJERUVFmjt3rvr3769rrrkmvosHuolQjfEBIJnEoiIEHQUanhCJYQXxEk4lYdtejp19zJGq3vUo+GvezO8BLW6PtlTX6W8Wgtb23/vOhKvGIJ4Xt+8L+xzRZHyvAv0c9MlO19XD+2tcscNbPXbeaXmauaLC9CTwaLq5dLDsPdO1YsvHctabD4wvGJyn1e/4n6Yeiutosxa/Vq1f3zBCedkZ3uq6v1fW6OnyPWGc0b94V8HH872R6kUA0WTzeDwJ8E+Yf4cPH9bcuXP1/PPP67PPPlP//v01efJk3XPPPUpPT5ckeTwezZs3T4sXL9ahQ4d08cUX64knntBZZ51l+n7q6+tlt9vlcrmokgQsCNQE3vgVJdqN+QEgWvigJT6M0Kor/OHb4vbo4oc2hD39eeNdYzv12F9+Z5++s/ytsG9vuLl0sO6ZeI7f68z8HiDJ8uTquROG6qbSIp/HX76rVpOXbLaydL/ys9N0sKE5qlt7e2em6nCjueE1hX6+12Z/Du5f/Z6WvL47UssOy1dLHFo09XxJvqHz700GghOGObT63fAqVv39rETqdRKpn8NI6UrvjQC6NrP5WkKHkbFCGAlYZ/yRFarHV6L8EgcAVvHHX/JKlO+dEdZJ1vvazZ0wNOxekqH+jbZixfTRfqfOmvk9IDcrTQePNlu6P0dOhjbNuazD4w033G3vltLB3unt0fgjqE92un505VDd+ae3TR3/pIkPbv29niWZ+h73ykjVqMF52vD+AXMPwKJZl52pWeO+5HOZlUAwOyNVDU3mgttA2r5GI/Ha50N1AAif2XwtobdpA0hcZhrj17gataW6zu8fMQCQ6Ix+VsEkSuiFkxKpqjXQFkszFqze4f3/Ztbf9rV44HBTp4PIUMMxzPweYDWIlKRJXx7g92coWAsFK8qKHfpyUb7m/PVdHQpjfYEYK/7vMYNVfeCIqdvMLhsS8jXp7/Wcn52mC4v6mPoeL5pyvn74l3dMrSccj67/UGcV9PbZKn3+oLygQ6na6mwQKflu4W/7OpHMvU5ys9J8XgvJ3B4CAJIFYSSAsJjt3RSpBvoAkGgSKfRCq0DbhiPZi9Gq9n3XDhxu8gkazQi1fn+vxc4w0x81Wv++n3D7v7zF7ZG9Z7qmlQ7WC9v3qa7huOVztx3Ec+/K9zqzzA5ys9LkkfTIug9Mr2Xm2CEBr29xe/T4hp16ZN3ODtfVNTTrb5Xmtjb/peLTqE8Qb98OoNCeqavOK9RvXquO6v0a2vd1DPQhQPsQ23i/pi8iAMQeYSSAsJht6B3vxt8AEA2JGHp1dy1uj+avqvJbCWUMMJm/qkrjih0xDxraVtm2uD367cZqS9uNg60/0GuxM8xUhkXv3/eOjyRQdeCIAbla/+/PTZ/ZCFfLd9XKWW9u2nkoMy89U2mpNr+hoT9mgt41lTW6d2WV6WEwwbwQh6E9TlejFr9WrfMH5WrbnkNRv7+DfoJpf8NXzh+Up217DvoNHdnFAwCxRRgJICyjivJVaM8M+MdUqO1dAJCsEjn06s5i3T4k3C364W439rf+YK/FUFJs8pnEnJ+dpq8PP1VlbSY2BxPq94BwjTm9r8/XgcLWgw3N2vDvzzXxXIdWvRO6SnB22VkRmczdXkPTCa15z/wAFntWmqZdVKRxxQ6/10cjXI41Y+2xCCIlacHqKl1R0vH91l+rDUJHAEgMhJEAwhLsjykzn/oDQLKiZ25iimX7kM5u0e9ML8m26w/1WvTH+Ff58ckjlZedHvbWVDO/B9iz0uQ6an5ydW5Wmka3+ZkxE/xv3X1QjpzMoFWEjpwMzRx7pvfrSFZ1Lv3XblPHGYNaDh1t1iPrPtBzWz/u8Ho5fsKtHz1fmdRBZDzwfgsAyScl3gsAkLyMP6Ycdt9f6h32TLYoAuiy6JmbmGLVPsSoXGsfAhpb9NdU1pg6z/iSQm28a6xWTB+tX04arrkThpq6Xdv1h/May8tO069vGKErzy3UmDP66Orhp2rMGX3C+vAw1O8BD147TNLJcDKUB68d5rMOM8G/s75Jk0cNlM3P/RiX3XvVOT7nNao6Y/lxaftBLe1fL2sqazR64bqwemEmq1mXDYnY94H3WwBILlRGAugUfz15aPwNoCujZ27sWNkKHYv2IZHeom+ll6S/9Zt9jWWlp+ro8dYwrK6hWQtW71BKii0iHxoG+z2gxe3RrLKztHRTtQ4dOzmtuH0lpSMnQ/dedU6H9ZgNmAb2yfJbaRqo92WkJnN3RtvXi9vt0Yzlb3W7isiiU7Ij9n3g/Ta5hdv2AkDyIowE0Gn+evIAQFdFz9zYsLoVOhbtQyK1Rd/fH96SNOnLA/wOQgm0frN9G40g0lATxqClYGGBv98DWoewvOczKMae2UM3X1yk2/7zzICDRNre1879h02t7aer3tNNFw3WD6/4kuoajiu/V4YcOcEDjc5slY8U4/XykxdjtzV77oShys9O14LVO3Sw4XhcA9C+vTKUYrPp5tLBen77XtU1nAys2/c0DYT32+TX2bYXAJKTzePxdLcP4Tqor6+X3W6Xy+VSTk5OvJcDAAASnLFVV/IfetGqonMCDfEw8/xG8w/bF7fv1e3PbQ953C8nDdfVw081vb5eGT3UI0U6dOyE39sEW3+g16IZeVlpevMn40IGtFaf0zWVNbr1izX58+QX3z8jdHTWN+rA4SYdPNqk6gNHtfmjWh082hzw9qFY+X63DVnNfG+TlRHabbxrrFJTbJ163URiLblZacrokeITVudnp+ua4f01rtjhM/l694GjenTdBx3WGov3Wyr2oqsz7/UAEpPZfM1SGOl2u/Xqq6/q9ddf1549e3T06FGdcsopGjFihMrKyjRgwICILD7WCCMBAIBVXbWaI95/fLe4Pbr4oQ0Bq9XahyqBzhGNx1C+q1aTl2wOedyK6aP9VkaGMyl5dtlZmjn2zKDr9/daNLvtdXbZEN1edlbQc1sJC1rcHp1/31odChIm5mal6YFrhmnB6uhUJXYmyBg8Z7Xl+3LYM3XR6X30l7f2WrptrAR6Pvy9boLJ7JGixhPuKKywVbDvWzzeb7vqe3yiiMR7PYDEE9Ew8tixY/r5z3+uRYsWqa6uTsOHD1f//v3Vs2dP1dXVqbKyUvv27dPll1+ue+65R6NHj47og4k2wkgAABCOeAd3kZYIf3x3NvCLpuMn3Dp77t+Cbh9NsUn/XvBVpffwnRMZ6g9vf6z8Md72tXjgcJMWrN5h6j5ye6Zp21z/1ZHhhAWbdh7QlKfeMHXf0RTquQv0s9vi9mjx+g/10PoPvMfO/MoZ+vXruyR1rMzzqDVcDRa+BpOflaa6MG/bO7OHDjf6r6ZtK9jPcIvbo0fWvq/HX9kV8jy5PdP0q0kj9MbuWu36vCGsCtb87HS5PZ6Az1ew71ss32+p2Iu+RH6vBxA+s/maqZ6RZ511lsaMGaMlS5Zo3LhxSktL63DMnj17tHz5ck2aNEk//vGPNX369PBXDwAAkAS6Us/cQH98O8PoL9gZiTytfNuegyH72Lk9rce1f12E6jfpj9kelJLva3HBqvdM38ehY80Bzx9Oj8zyjw6Yvu9oCvbcBQrdrzqvUCvfrulweckguxYN6thfMjujh440nQg7iJSk/x4zWP/35ich+362ZQR2cycUa8Zy/+0iPJJuLh2sccWOoKFdaopNpWeeYiqMPHSsWT16pOj7V5wtyTcc7JudoTv/9Lb21wd+HPnZafrlfw3Xt363JeB9BPu+xer9tsXt0Zy/vhuxQVXwL5Hf6wFEX0roQ6R//OMf+uMf/6grr7zSbxApSYMGDdLdd9+tnTt3auzYsRFdJAAAAKIn1JRoqfWP7xYzEyU6KZGnlZv9o3jThwf04va9Kt9V633OOvMHtZXbtrg9en67te3Cgc4fTliQaM3o2z8GI3RvH7LWuBr1m9eqO1xuhPGStPGusVoxfbRuKR2svKw0HWkKXZUYStEp2Zo7odhSECm1DjO68tzWITwOu+/PgsOeqSenjtQ9E8/RmDP6hAzMRhXlK7en/7/x2mv7fBrh4NXDT1XpkL6696pinzW2XbNN0gNfH6a6o8ct30+sPb5hZ9CAuW1givAl8ns9gOgzVRk5dOhQ0ydMS0vTGWecEfaCAAAAEFuRmhIdCYk4rdzqdOfHX/nQ+/+NLbKd+YPaym23VNf5TCXuzPmthgVrKmu0/I2PLd13tLV9DMFC90DaV8K5jh3X7zbtjljo+tHnR/THNz81fbyj3Zbr8SWFGlfs6NT25dQUm6aVDvY7yb29YK+JQBPK2665fFetqTXFK4BqcXu0dNNuU8dSsdc5ifheDyB2TIWRZjQ0NGjbtm265JJLInVKAAAAREH73mtO1zFTt4vGH9/++sDNm1is25ZVdBjC0rYqLFb95KwO+WjPqKz79Q0jlJ+drroGc5VhUnh/jFv9HuVnp8lZ36jyXbUdnrNQYYHUOpH7/EF5+uW6D0yFWeEyJjAfPNpsajiPv+cunK3y0skwfvOuWsthZii/XP9h6IO+EGiYUSS2L88cO0RL/7U7ZC/HUK/FUOFoogdQW6rrdOiYuTCfir3OSU2xhfVeD6BriFgY+eGHH+rSSy9VS0tLpE4JAACACPMXruVnp5u6baT/+A42MCdUhZXZ83Smz2U406/bMyrrFqzeoflXnaPvrnjL1O3C/WPc6veorqFZs/9vuyTJkZOpyaMGanDfLJ9g+NYvtin7c/Bos0Y9sM5S38ReGT3U0HTCcoXiTRcNVv2xZj2/fW/Q6s9Az11nw/Q/bfskKtO/zbBJem7rx5o59syonD81xaYHrx0WdGiL2ddisHC0bQAVSDwDKLOvkdysNCr2IsBMNS2AriliYSQAAAASW6Bw7WCIar1oVCuZGZiz8a6xIasdozV4J5wtvYEYlXV9e2Xofy4p0m9eqw55m9ysNC28dpjltRuVZ+GEZs76Rj2y7uQU6UJ7puZOGBpyWrTVAS7h9FrMSk/1qbzMz07XNcP7y94zXSu2fCxnfeggo7Nh+gvb93Xq9p0Ri1YJsQqGxpcU6tuXFGnJ69U+A6FSbNL0rxTFNYAy+xqZdlERFXsREolWAwCSj+kwMj8/+C+fVEQCAAAkLjNDavyJxna5UGtp26MvWPBi5TxW1252S+/MS8+U5DE1jfizw426+8piDeufq+8+91bQ5z2jR4rGFTvML/gLRuVZsGpGs2pcjfrOcnOVnNF29Ljv3xoHG45r6abdWjR1pDbNCR1aS+a2nSe6aPcpjEUwtKayRotfq+7wPfB4pMWvVWvEwLy4BZJmXiO5WWlRq1DtrmI1KR1A4jAdRjY1Nem2227TsGHD/F6/Z88ezZ8/P2ILAwAAQOSYDdfys9N8tsBGY7tcpAbmRHPwjtnQZ0hBL/XtlWEqjDSqrvr0zggZhjnrm8KughtfUqjpX2mtPOuqrITWhmA96pLFgcNNanF7olo1Fs1gKJofIESCmdfIg9cOo2oPADrJdBg5fPhwDRgwQDfeeKPf699++23CSAAAgARlNlyb+7Vz5MjJDFoV1dlhMWbXEuq4SJ3HH7PbNXcfaNDCl3cEPab9NvdIrDvY96DF7dGqt2tM3UcyCydsHlfs0Kyys7R0U7XPoJL2IXyiWrB6h367sTou/fQiMSQqmh8gREqg7eqR6EMLAGhlOoycMGGCDh06FPD6/Px8/fd//3ck1gQAAIAQrAYDZsM1R05m0BAgEsNizK4l1HGROo8/ZrZr9spIDTlB2t82986ue01lje5dWeXbJzEnU/de1fo9eHzDTp/rujqz4a6/125uzzRNKx2sgX2yvYN8El1n+6GGI1JDoqL5AUIk0ccQAKLLdBj5ox/9KOj1AwYM0NKlSzu9IAAAAAQXTjAQKlwzM6Qm0LCYGlejbl1WoSduGKkrzw0dTERiLZE8jz9mtmseaQrdM93fNnezQ2b8DRZaU1njtx+ks771e2B2QE5XYibcDfTadR1r1qPrdmpW2ZCIrMUmqSAnQ7dcfLruD1ExGy6z25kjUckoRXZIVDQ/QIg0+hgCQPSkxHsBAAAAMM8IBtoHWUYwsKaydXtui9uj8l21enH7XpXvqpXUWp0nnazWM5gZUmNmuvTMFRV6+Z3QE4eNoM/MWto/jpY243cjdZ5AjO2aDnv4wcjPrj+vQ1CTmmLT3AlDQ952weoqn3W2uD2a89d3g95mcQL1iZx12RDlZaVF7fw2tYbwocJmM8ObVmz5WI6czA6vI6vrkaR7rzpH/XIyOnGm0NpuZ/ZnTWWNLn5ogyYv2azbn9uuyUs26+KHNnjfH8wy89zNX1Vl6udJOhnEB3qezX5PAQDJzXRlJAAAAKyLVHWScS4zwx/c7tYgy1/lpL9eaGaG1JgZgOP2SN9Z/paeTLGFrJQK1Jet7VrMVIBG6jzB1mls13S6jmnB6h2q81OxGMiBhia/l+dlhw6r2vfO2/xRrQ4dDd7X0BPjqSy5WWmSRz79F43Lzy7srfuvKYnKRG4rU97N9Cl01jdpdtlZenTdB2EPt2n7mjM+AIg2f9uZI1nJGOkej8Eqjq18TwEAyY0wEgAAIEoi1WfNYDYY+M5yP9t42wQRG+8aazkgtdLDzew03GB92awEKpE6TyDGds3yXbWWgkgp8HbTcHrnRTPgyuiRoqYTbtPHG9/Z/7rgNC32sy3cdbRZty2r0K9vGKmvnVuol97p3ECd3Kw0nyDWypR3s8/14L5ZfoPtvKw0eSSf+y+0Z2ruhKHKy87w+3M0qihfjpwMOev9h9GR0v71Felp1dHo8WjmAwQAQNdGGAkAABAFkaxOMnRmqEP7IMJqLzQrPdysVkq1Py6cQCVS5wnGyvMfql9leL3zolf2mJWe6jeMNKrX/IWBcycM1YLVO4Ju4Z25okImd/D61SsjRT/7xnCNPbtAfyjfrT11RzUoP0vfGjNY6T3MdZyy8lyPOaOP32BbkqUAPzXFpnuvOsdvf08zbJJsNgV87gK9viJdyRitHo8MiAGA7o0wEgAAIMIiHYIZOjvUwWoQ0ZbZoSuGtsGd1a3qkQpUInUeY/079x8OeIw/Rj/L8l21HR57qMo5f2HTmNP76vFXdllag1kHjzZrdtkQPbf1E7/Vav6CI7Nb9zsjxZaitz4+2KGK7rcbq01X0VkddBRocInVn5nxJYV6cupIzfnrux221+dlpembbapK/W1Xnv6VoqDX+9vOHOlKxmgPiWJADAB0T4SRAAAAEWY2BHt6U7X69s4wXRUUKhgwK5wKS6PXm9lKLyM4DWereqQCFSvnCRSY+lt/KCm21iBJki5+aIPfxy5JjQG2RQcKm0af0adDhWIkDe6bHXQLf/vgqDOVumbVN57wOx3c6jb7ePUpNCoAN++qVflHByS1BnCjT++j1BSbRgzMC7pdOdT17UW6kpEejwCAaOhUGDlhwgT99re/VWEhfT0AAAAMZkOaBat3eP+/mV6SoYIBswFluBWW40sK9cQNI4NuvW1bKRXuVvVIBSpmz7P7wFG/oeFV5xVq8WvVloNfj0dfBGj+Q7RQga49K00PXjvM7xTuB68dFvbW31D69c60VK3W2UrdzrBaYRzPPoWpKTaVDumr0iF9/a4r2HZlq9uZo1HJSI9HAECk2Tye8Gfu9e7dW2+//bZOP/30SK4p5urr62W32+VyuZSTkxPv5QAAgCT3y3U79ci6DyzdxogWzFR6Bao2NHr4hQoiNt41tlOVTC+/s8/vhOS2j2FcsaNDwGd2LS1uj0of3CBnvfXbtj/PxQ9tCPp82LPS5Dra3OH6cCcqR0JhkMfW4vborj+/oz9XfBqz+wwk1PMbKyumjzYdoEZyun2iMj4EkPxXMobTr1bqHs8dAKBzzOZrbNMGAACIoDWVNXrUYhApWav0ClYtlZJiC1o5+dWS1tt1Jki48tz+ejLFFrRSqnxXramt6ps/qlWKzebzONZWOdV4oiXobedOGBoyGAm1tdzT7n/9XRcPgfpYrqms0b0rqwKGtJ1hdautEUx9tcSh323aHdfw1sp28e7QpzBalYzd4bkDAMRGp8NIm41PwwAAAKTgg2vM8AZ0u2r9bulsK1AwECiIsNlatw//btNu/W7TblPbwoMJtX10bZXT1HlmPFuhQ8dO9kA02xPxRy9U+hwX6PG89fHBoOeJVv/FzjICNiP0W1vl1O827Q7rXMaW8/9781O/g1QW+tkSHoy/ylzj9WVICTEJ2p6VpsweqREJVuO5XTxRMa0aAJDILG3TTklJCRg+ejwe2Ww2tbQE/hQ7UbFNGwAAREL5rlpNXrK50+fJ7ZmmB6+zFhC1Z4RY66qcespPiGV2y2Y4WzNb3B59+f51qms4Hvb6rfL3eI6fcOvsuX/r9ETneJhdNkRfcvS2PDwnPztNV593qk7L66n87HQ57D2937MWtyfgIBWzAvUBNdxSOlhlxQ4dbGjSjC+28gfaKmyEZU7XMS1YvUMHG45bCvIj1XYAAABERlS2aVdXn2zC7fF4VFJSopdfflmDBg0Kf6UAAABdRKSmCx861mx6UnAgqSk2jSrK1x1/3O73ejPbwsOZhC21ThOPZRAp+T6esWcXaNueg/q/rR8nZRApSY+s22n5Nr0ze6iuoVlL/7Vb0snvlfG9DTZIxYxQlb82SS9XOvWjCa33uSjEVn7p5ITunumpftsLBMIkZwAAkpelMLJ96Giz2XTaaacRRgIAACjy20XNTgoOZEt1nam+jYH6E4YzCVuKXChrlfF4Ri9cp7qGxNx+Hc3eiocbT/h8beZ7ZYXV15OVrcKB2gsYW8xXvl3DJGcAALoIBtgAAABEyKiifBXaM8Oa3txesKDQLLOh4Noqp/c+jK28c/7ybsDBLqEqKuPdwy8SQaTxqL59SVGHIMyK9r0TjRDtfecRyxPXrTLutrOhtsHs66ntcVaGngQLL384PvTAIgAAkBw6FUYOGjRIaWlpkVoLAABAUjOmNweaZi1JD147TJI05y/v+gxuCaQzVYZ9szNMHfe7Tbs1qihfkkz1KAwWlLa4PXJ7PMrtmWbq8SWqtpV3Pxw/VI+s/UCPv/Kh5fMY3dlvLh2sccUOb4jWdGJvhFccWI2rUY9v2Knby87q1HnMhsydCaMDhZdMcgYAoOvoVBhZWVkZqXUAAAB0CYG2m7bfVto7M01TfvtGyPOFG+ysqazRvSurTB1rkzTnr++aqthsy9/E5xe27wvaL9IIadN7pOj4CbeFe4uN/x4zSF8tKfSpvEtNsan0zL7hhZFqfcx/q3TqxxNO9jeMdfXoI+t26kuO3p3a1mym8tdhz/QG2wAAAP6wTRsAACDCzPTKG316n6gFO6EmHrfnkXToqPUqxn69M/0OuQnGZmutFkzEIFKSvlpSqDFn9FGL26PyXbXe79/5g/KCfr+C8VdJGirYi4bObtc2U/nLQBkAABBKSrwXEMrevXs1depU9enTRz179tSwYcP05ptveq/3eDy65557VFhYqJ49e6qsrEw7d1qfPggAABBJxrbSq4efqjFn9OkQ0BjBjnQyyDF0JtgJNfE4Uhw5GTrYcFy3LaswFURmp6dKUkJPty78IvxdU1mjix/aoMlLNuv257Zr8pLN+o//fUVXnddaVRhu1Na+l2Ko778ZBb3TlZtlrm2SEYh2hlH567D7VnY67JkRG5QDAAC6toSujDx48KBKS0t16aWX6m9/+5tOOeUU7dy5U3l5ed5jHn74YT322GN65plnVFRUpLlz5+qKK65QVVWVMjPj2zwdAAAgGLNbuq0INfE4Uo4db9EP//KO6dCz4XhLVNcjSbk90+Q6Zm2reVtXnVeotVXOgFPEF79W3amBNu23Zgf6/tuz0oJWqn7t3EKNKy7wVtyurXLq1mUVptYQiUnnVqZkAwAAtGfzeDwJ+/n0nDlztGnTJr3++ut+r/d4POrfv7/uvPNOff/735ckuVwuFRQU6Omnn9akSZNM3U99fb3sdrtcLpdycnIitn4AAAAzjJ6LkQh2Xty+V7c/tz2yC0wSs8uG6NF1rTtkwvkFt9CeKY/HI2d9k9/rja3zr/7gUm3bc1CbPvxcj7+yy/S5N9411u/3te33v292hu7809ty1vsPDY01tD/XL9ftNDWde8X00QyCAQAAUWE2X0vobdorV67UBRdcoG984xvq16+fRowYoSVLlnivr66ultPpVFlZmfcyu92uCy+8UOXl5QHP29TUpPr6ep//AAAAosnoQfji9r0q31Wrljb7lUNt6bbC6mAU455sCVrUlpWeIjNPhyMnQzPHDvG7hdisGldjwCBSOtn7cduegxpzRh/NHvclFdozQ26rtin4lvu23/+UFFvAILLtGtpvt5459kw5cgJPT7fp5DZ0AACAeLIcRp5++umqra3tcPmhQ4d0+umnR2RRho8++kiLFi3SkCFD9Pe//1233Xabvve97+mZZ56RJDmdTklSQUGBz+0KCgq81/mzcOFC2e12738DBgyI6LoBAED8BAv94sVfD8KLH9qgNZU1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vaZvf/vbsXoISGI2T9uPwZA0Pv/8c/Xr10+vvvqqLrnkErlcLp1yyilavny5rr/+eknSv//9bw0dOlTl5eUaPXp0nFcMIJqOHDmikSNH6oknntB9992n4cOH69FHH+W9Aeim5syZo02bNun111/3e73H41H//v1155136vvf/74kyeVyqaCgQE8//bQmTZoUy+UCiJGvfe1rKigo0FNPPeW97LrrrlPPnj21bNky3huAbspms+n555/XNddcI8nc7wk7duxQcXGxtm7dqgsuuECStGbNGl155ZX69NNP1b9//3g9HCQBKiOTlMvlkiTl5+dLkrZt26bm5maVlZV5jzn77LM1cOBAlZeXx2WNAGJnxowZmjBhgs97gMR7A9BdrVy5UhdccIG+8Y1vqF+/fhoxYoSWLFnivb66ulpOp9PnvcFut+vCCy/kvQHowi666CKtX79eH3zwgSTp7bff1saNG/XVr35VEu8NAFqZeS8oLy9Xbm6uN4iUpLKyMqWkpOiNN96I+ZqRXHrEewGwzu12a9asWSotLVVJSYkkyel0Kj09Xbm5uT7HFhQUyOl0xmGVAGLlueeeU0VFhbZu3drhOt4bgO7po48+0qJFi3THHXfoRz/6kbZu3arvfe97Sk9P14033uj9+S8oKPC5He8NQNc2Z84c1dfX6+yzz1ZqaqpaWlp0//33a8qUKZLEewMASebeC5xOp/r16+dzfY8ePZSfn8/7BUIijExCM2bMUGVlpTZu3BjvpQCIs08++US333671q5dq8zMzHgvB0CCcLvduuCCC/TAAw9IkkaMGKHKyko9+eSTuvHGG+O8OgDx8sc//lHPPvusli9frnPOOUfbt2/XrFmz1L9/f94bAAAxwzbtJDNz5ky99NJLeuWVV3Taaad5L3c4HDp+/LgOHTrkc/z+/fvlcDhivEoAsbJt2zZ99tlnGjlypHr06KEePXro1Vdf1WOPPaYePXqooKCA9wagGyosLFRxcbHPZUOHDtXHH38sSd6f//379/scw3sD0LX94Ac/0Jw5czRp0iQNGzZM3/rWtzR79mwtXLhQEu8NAFqZeS9wOBz67LPPfK4/ceKE6urqeL9ASISRScLj8WjmzJl6/vnntWHDBhUVFflcf/755ystLU3r16/3Xvb+++/r448/1pgxY2K9XAAxctlll+ndd9/V9u3bvf9d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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "lag_plot(df_missing, lag=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 406, + "id": "fc655a69", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 406, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABRAAAAESCAYAAACFG/mcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACi2ElEQVR4nOzdeXzUhZ0//tfcR65JZiAETGBgotwYREEmQUFbRVBE6q7IbxeI1raItHWtgIIK3rXbukC11YLS7wrtWgUUr1XpagJ4IKncmkBKUI6QITOTZO7j90f4DHN85jNJmIQkvJ6Pxz62zPmZz0yEvOZ9yMLhcBhEREREREREREREIuQX+gCIiIiIiIiIiIio+2KASEREREREREREREkxQCQiIiIiIiIiIqKkGCASERERERERERFRUgwQiYiIiIiIiIiIKCkGiERERERERERERJQUA0QiIiIiIiIiIiJKSnmhD6AjQqEQjh8/jqysLMhksgt9OERERERERERERD1KOBxGU1MT+vfvD7lcusawRwaIx48fR2Fh4YU+DCIiIiIiIiIioh7t2LFjuOSSSyRv0yMDxKysLACtLzA7O/sCHw0REREREREREVHP4nQ6UVhYGMnZpPTIAFFoW87OzmaASERERERERERE1EFtGQ/IJSpERERERERERESUFANEIiIiIiIiIiIiSooBIhERERERERERESXFAJGIiIiIiIiIiIiS6pFLVIiIiIiIiIiIqGdxuHxoaPbB6fEjW6eCKUONHL36Qh9Wgp5ynF2JASIREREREREREXWq43Y3Fr+xBxXVDZHLJhWb8Mys0ehv0F3AI4vVU46zq7GFmYiIiIiIiIiIOo3D5UsI5QDg0+oGLHljDxwu3wU6slg95TgvBAaIRERERERERETUaRqafQmhnODT6gY0NHePYK6nHOeFwBZmIiIiIiIiIiLqNE6PH3q1AuWlZpQUGuANhKBVKbC7rhHrKmvR5PFf6EME0HqcAJIea4u3exznhcAAkYiIiIiIiIiIOk2OToVVs0vwyvZarNlWE7ncajFi1ewSZOtUF/DozsnWqqBXK5Ie64/GXnIBj+7CYgszERERERERERF1mgyNEq9sr8X2GlvM5dtrbHh1ey0yNN2jvs2Uqcby6cOTHusjW/ZdtHMQGSASEREREREREVGnafYEEgI5QWWNDY0uX7cI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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "y = df_missing[1:].values.reshape(-1)\n", + "x = df_missing[:-1].values.reshape(-1)\n", + "sns.scatterplot(x=x, y=y)" + ] + }, + { + "cell_type": "code", + "execution_count": 411, + "id": "a995c8b7", + "metadata": {}, + "outputs": [], + "source": [ + "def iqr_outliers(data):\n", + " q1, q3 = np.percentile(data, [25, 75])\n", + " IQR = q3 - q1\n", + " lower_fence = q1 - (1.5 * IQR)\n", + " upper_fence = q3 + (1.5 * IQR)\n", + " return data[(data['ffill'] > upper_fence) | (data['ffill'] < lower_fence)]" + ] + }, + { + "cell_type": "code", + "execution_count": 412, + "id": "ac4a3ec1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Empty DataFrame\n", + "Columns: [ffill]\n", + "Index: []\n" + ] + } + ], + "source": [ + "outliers = iqr_outliers(df_missing)\n", + "print(outliers)" + ] + } + ], + "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.10.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}